You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shiro.apache.org by lp...@apache.org on 2026/01/18 20:22:36 UTC
(shiro) 01/01: Merge branch 'main' into 3.x
This is an automated email from the ASF dual-hosted git repository.
lprimak pushed a commit to branch 3.x
in repository https://gitbox.apache.org/repos/asf/shiro.git
commit ebd1d1e3bb65da331e1fd68fc9fc6b8749cb9ea3
Merge: 809b74bb4 fb2af26cf
Author: lprimak <le...@flowlogix.com>
AuthorDate: Sun Jan 18 14:22:16 2026 -0600
Merge branch 'main' into 3.x
.asf.yaml | 10 +-
.../maven-wrapper.properties => .editorconfig | 18 +++-
.github/ISSUE_TEMPLATE/bug_report.yml | 2 +-
.github/ISSUE_TEMPLATE/documentation_related.yml | 2 +-
.github/ISSUE_TEMPLATE/enhancement_request.yml | 2 +-
.github/ISSUE_TEMPLATE/feature_request.yml | 2 +-
.github/ISSUE_TEMPLATE/question.yml | 2 +-
.github/dependabot.yml | 16 ++-
.../labeler.yml | 23 +++-
.../linters/.markdown-lint.yml | 21 +++-
.../linters/.yaml-lint.yml | 15 ++-
.github/linters/codespell.txt | 16 +++
.github/pull_request_template.md | 5 +-
.github/workflows/codeql.yml | 10 +-
.../workflows/dependency-review.yml | 18 +++-
.../workflows/labeler.yml | 21 +++-
.github/workflows/maven.yml | 16 +--
.github/workflows/pre-commit.yml | 60 +++++++++++
.github/workflows/scorecards.yml | 8 +-
.github/workflows/stale.yml | 2 +-
.jenkins.groovy | 32 +++++-
.mvn/{maven.properties => maven-user.properties} | 0
.mvn/wrapper/maven-wrapper.properties | 20 +---
.pre-commit-config.yaml | 114 ++++++++++++++++++++
CONTRIBUTING.md | 8 +-
LICENSE | 2 +-
README.md | 13 ++-
RELEASE-NOTES | 4 +-
bom/pom.xml | 2 +-
cache/pom.xml | 2 +-
config/core/pom.xml | 2 +-
config/ogdl/pom.xml | 2 +-
.../org/apache/shiro/config/ogdl/SimpleEnum.groovy | 2 +-
config/pom.xml | 3 +-
core/pom.xml | 2 +-
.../org/apache/shiro/aop/MethodInvocation.java | 1 -
.../credential/AllowAllCredentialsMatcher.java | 7 ++
.../shiro/authc/credential/CredentialsMatcher.java | 12 +++
.../shiro/authc/credential/PasswordMatcher.java | 7 +-
.../authc/credential/SimpleCredentialsMatcher.java | 34 ++++++
.../shiro/mgt/AbstractRememberMeManager.java | 2 +-
.../apache/shiro/realm/AuthenticatingRealm.java | 84 ++++++++++++---
.../activedirectory/ActiveDirectoryRealm.java | 17 +--
.../apache/shiro/realm/ldap/AbstractLdapRealm.java | 9 ++
.../org/apache/shiro/session/package-info.java | 2 +-
.../shiro/subject/support/DelegatingSubject.java | 2 +-
.../java/org/apache/shiro/util/ThreadContext.java | 1 -
.../shiro/realm/AuthenticatingRealmTest.groovy | 1 +
.../apache/shiro/aop/AnnotationResolverTest.java | 1 -
.../shiro/realm/AuthenticatingRealmJavaTest.java | 120 +++++++++++++++++++++
.../activedirectory/ActiveDirectoryRealmTest.java | 28 ++++-
.../shiro/config/IniSecurityManagerFactoryTest.ini | 2 +-
.../AdRealm.withPrincipalSuffix.ini | 14 ++-
.../shiro/realm/text/IniRealmTest.simple.ini | 1 -
core/src/test/resources/test.shiro.ini | 2 +-
crypto/cipher/pom.xml | 2 +-
crypto/core/pom.xml | 2 +-
crypto/hash/pom.xml | 2 +-
.../org/apache/shiro/crypto/hash/HashService.java | 2 +-
.../org/apache/shiro/crypto/hash/Sha512Hash.java | 1 -
.../shiro/crypto/hash/SimpleHashProvider.java | 2 +-
.../shiro/crypto/hash/format/HexFormatTest.groovy | 2 -
crypto/pom.xml | 3 +-
crypto/support/hashes/argon2/pom.xml | 2 +-
.../crypto/support/hashes/argon2/Argon2Hash.java | 5 +-
crypto/support/hashes/bcrypt/pom.xml | 2 +-
.../crypto/support/hashes/bcrypt/BCryptHash.java | 39 +++++--
crypto/support/pom.xml | 2 +-
event/pom.xml | 2 +-
integration-tests/guice3/pom.xml | 2 +-
.../guice3/src/main/webapp/WEB-INF/shiro.ini | 6 +-
.../guice3/src/main/webapp/account/index.jsp | 2 +-
.../guice3/src/main/webapp/include.jsp | 2 +-
integration-tests/guice3/src/main/webapp/index.jsp | 2 +-
integration-tests/guice3/src/main/webapp/style.css | 2 +-
integration-tests/guice4/pom.xml | 2 +-
.../guice4/src/main/webapp/WEB-INF/shiro.ini | 6 +-
.../guice4/src/main/webapp/account/index.jsp | 2 +-
.../guice4/src/main/webapp/include.jsp | 2 +-
integration-tests/guice4/src/main/webapp/index.jsp | 2 +-
integration-tests/guice4/src/main/webapp/style.css | 2 +-
integration-tests/jakarta-ee-support/pom.xml | 4 +-
integration-tests/jakarta-ee/pom.xml | 45 +-------
.../src/main/resources/setPayaraPort.groovy | 52 +++++++++
.../main/webapp/shiro/auth/unauthenticated.xhtml | 1 -
.../jakarta-ee/src/main/webapp/shiro/form.xhtml | 2 +-
.../main/webapp/shiro/unprotected/manybeans.xhtml | 2 +-
integration-tests/jaxrs/app/pom.xml | 6 +-
.../resources/META-INF/resources/WEB-INF/shiro.ini | 4 +-
.../jaxrs/app/src/main/webapp/WEB-INF/shiro.ini | 4 +-
integration-tests/jaxrs/meecrowave/pom.xml | 2 +-
integration-tests/jaxrs/openliberty/pom.xml | 2 +-
integration-tests/jaxrs/pom.xml | 2 +-
integration-tests/jaxrs/tests/pom.xml | 7 +-
integration-tests/meecrowave-support/pom.xml | 29 ++++-
integration-tests/pom.xml | 2 +-
integration-tests/support/pom.xml | 9 +-
.../support/src/main/resources/createKeyStore.sh | 3 +-
lang/pom.xml | 2 +-
.../org/apache/shiro/lang/io/XmlSerializer.java | 2 +-
mvnw | 50 +++++++--
mvnw.cmd | 56 ++++++++--
pom.xml | 74 +++++++------
samples/aspectj/pom.xml | 2 +-
samples/guice/pom.xml | 2 +-
samples/guice/src/main/webapp/WEB-INF/shiro.ini | 6 +-
samples/guice/src/main/webapp/account/index.jsp | 2 +-
samples/guice/src/main/webapp/include.jsp | 2 +-
samples/guice/src/main/webapp/index.jsp | 2 +-
samples/guice/src/main/webapp/style.css | 2 +-
samples/pom.xml | 2 +-
samples/quickstart-guice/pom.xml | 4 +-
samples/quickstart/pom.xml | 4 +-
samples/servlet-plugin/pom.xml | 2 +-
.../src/main/webapp/WEB-INF/shiro.ini | 6 +-
.../src/main/webapp/account/index.jsp | 2 +-
samples/servlet-plugin/src/main/webapp/include.jsp | 2 +-
samples/servlet-plugin/src/main/webapp/index.jsp | 2 +-
samples/servlet-plugin/src/main/webapp/style.css | 2 +-
samples/spring-boot-3-web/pom.xml | 32 +++++-
.../src/main/resources/application.properties | 2 +-
.../src/main/resources/log4j2.properties | 49 +++++----
.../src/main/resources/templates/account-info.html | 2 +-
.../src/main/resources/templates/error.html | 4 +-
.../main/resources/templates/fragments/head.html | 2 +-
.../src/main/resources/templates/hello.html | 2 +-
.../src/main/resources/templates/login.html | 2 +-
samples/spring-boot-web/pom.xml | 18 +++-
.../src/main/resources/application.properties | 2 +-
.../src/main/resources/templates/account-info.html | 2 +-
.../src/main/resources/templates/error.html | 4 +-
.../main/resources/templates/fragments/head.html | 2 +-
.../src/main/resources/templates/hello.html | 2 +-
.../src/main/resources/templates/login.html | 2 +-
samples/spring-boot/README.md | 1 -
samples/spring-boot/pom.xml | 2 +-
.../src/main/resources/application.properties | 2 +-
samples/spring-hibernate/pom.xml | 2 +-
.../shiro/samples/sprhib/dao/HibernateUserDAO.java | 1 -
.../apache/shiro/samples/sprhib/model/Role.java | 2 -
.../apache/shiro/samples/sprhib/model/User.java | 2 -
.../shiro/samples/sprhib/security/SampleRealm.java | 1 -
.../src/main/resources/ehcache.xml | 2 +-
.../src/main/resources/hibernate.cfg.xml | 2 +-
.../src/main/webapp/WEB-INF/jsp/editUser.jsp | 2 +-
.../src/main/webapp/WEB-INF/jsp/login.jsp | 2 +-
.../src/main/webapp/WEB-INF/jsp/signup.jsp | 2 +-
samples/spring-hibernate/src/main/webapp/index.jsp | 2 +-
.../src/main/webapp/styles/sample.css | 2 +-
samples/spring-mvc/pom.xml | 2 +-
.../src/main/webapp/WEB-INF/resources/include.jsp | 2 +-
.../main/webapp/WEB-INF/resources/sampleIndex.jsp | 2 +-
samples/spring-mvc/src/main/webapp/logo.png | Bin 10883 -> 9480 bytes
samples/spring-mvc/src/main/webapp/shiro.css | 2 +-
samples/spring/pom.xml | 4 +-
.../src/main/resources/application.properties | 1 -
samples/web-jakarta/pom.xml | 41 ++++++-
.../web-jakarta/src/main/webapp/WEB-INF/shiro.ini | 5 +-
samples/web/pom.xml | 2 +-
samples/web/src/main/webapp/WEB-INF/shiro.ini | 5 +-
samples/web/src/main/webapp/account/index.jsp | 2 +-
samples/web/src/main/webapp/include.jsp | 2 +-
samples/web/src/main/webapp/index.jsp | 2 +-
samples/web/src/main/webapp/style.css | 2 +-
shiro.doap.rdf | 2 +-
src/japicmp/postAnalysisScript.groovy | 2 +-
src/license/header.txt | 2 +-
src/license/header_format.xml | 2 +-
src/site/resources/images/apache-shiro-logo.png | Bin 20928 -> 11859 bytes
src/site/resources/images/asf_logo.png | Bin 18372 -> 12191 bytes
src/site/site.xml | 2 +-
support/aspectj/pom.xml | 2 +-
.../org/apache/shiro/aspectj/package-info.java | 3 -
support/aspectj/src/main/resources/META-INF/NOTICE | 6 +-
support/cdi/pom.xml | 2 +-
support/ehcache/pom.xml | 2 +-
.../org/apache/shiro/cache/ehcache/EhCache.java | 2 +-
support/ehcache/src/main/resources/META-INF/NOTICE | 6 +-
.../org/apache/shiro/cache/ehcache/ehcache.xml | 2 -
support/features/pom.xml | 2 +-
support/guice/pom.xml | 7 +-
.../org/apache/shiro/guice/web/ShiroWebModule.java | 2 +-
support/guice/src/main/resources/META-INF/NOTICE | 4 +-
support/hazelcast/pom.xml | 2 +-
.../hazelcast/src/main/resources/META-INF/NOTICE | 6 +-
support/jakarta-ee/pom.xml | 6 +-
support/jaxrs/pom.xml | 2 +-
support/jcache/pom.xml | 2 +-
.../apache/shiro/cache/jcache/JCacheManager.java | 2 +-
support/jcache/src/main/resources/META-INF/NOTICE | 4 +-
support/pom.xml | 2 +-
support/quartz/pom.xml | 2 +-
support/quartz/src/main/resources/META-INF/NOTICE | 4 +-
support/servlet-plugin/pom.xml | 4 +-
support/spring-boot/pom.xml | 10 +-
support/spring-boot/spring-boot-starter/pom.xml | 32 +++++-
.../src/main/resources/META-INF/NOTICE | 6 +-
.../additional-spring-configuration-metadata.json | 2 +-
.../src/main/resources/META-INF/spring.factories | 2 +-
.../src/main/resources/META-INF/spring.provides | 2 +-
...rk.boot.autoconfigure.AutoConfiguration.imports | 2 +-
.../spring-boot/spring-boot-web-starter/pom.xml | 39 ++++++-
support/spring/pom.xml | 2 +-
support/spring/src/main/resources/META-INF/NOTICE | 4 +-
.../SchemaAuthorizationAnnotationTest-context.xml | 2 +-
test-coverage/pom.xml | 1 -
tools/hasher/pom.xml | 2 +-
.../java/org/apache/shiro/tools/hasher/Hasher.java | 20 ++--
.../org/apache/shiro/tools/hasher/HasherTest.java | 15 +++
tools/pom.xml | 3 +-
web/pom.xml | 2 +-
.../apache/shiro/web/env/EnvironmentLoader.java | 2 +-
.../shiro/web/filter/AccessControlFilter.java | 2 +-
.../web/filter/authc/HttpAuthenticationFilter.java | 33 ++++--
.../apache/shiro/web/servlet/AbstractFilter.java | 1 -
.../shiro/web/servlet/AbstractShiroFilter.java | 4 +-
.../apache/shiro/web/servlet/IniShiroFilter.java | 12 +--
.../org/apache/shiro/web/servlet/ShiroFilter.java | 2 +-
.../java/org/apache/shiro/web/util/CorsUtils.java | 69 ++++++++++++
.../BearerHttpFilterAuthenticationTest.groovy | 41 ++++++-
.../authc/BasicHttpFilterAuthenticationTest.java | 34 ++++++
.../org/apache/shiro/web/util/CorsUtilsTest.java | 71 ++++++++++++
web/src/test/resources/IniShiroFilterTest.ini | 1 -
223 files changed, 1574 insertions(+), 486 deletions(-)
diff --cc core/src/test/java/org/apache/shiro/aop/AnnotationResolverTest.java
index f96ade82f,d493aa6d9..c46b15f07
--- a/core/src/test/java/org/apache/shiro/aop/AnnotationResolverTest.java
+++ b/core/src/test/java/org/apache/shiro/aop/AnnotationResolverTest.java
@@@ -71,7 -72,6 +71,6 @@@ public class AnnotationResolverTest
expect(methodInvocation.getMethod()).andReturn(method);
expect(methodInvocation.getThis()).andReturn(null);
replay(methodInvocation);
- assertNull(annotationResolver.getAnnotation(methodInvocation, RequiresUser.class));
+ assertThat(annotationResolver.getAnnotation(methodInvocation, RequiresUser.class)).isNull();
}
}
-
diff --cc pom.xml
index 79cffb4ff,aeb4f185d..6c5b299a9
--- a/pom.xml
+++ b/pom.xml
@@@ -66,17 -66,15 +66,16 @@@
</distributionManagement>
<properties>
- <shiro.previousVersion>2.0.0</shiro.previousVersion>
+ <!-- *** Remove the line below when 3.0.0 is released -->
- <japicmp.skip>true</japicmp.skip>
+ <shiro.previousVersion>3.0.0</shiro.previousVersion>
<!-- Replaced by the build number plugin at build time: -->
<buildNumber>${user.name}-${maven.build.timestamp}</buildNumber>
- <project.build.outputTimestamp>2024-08-12T08:14:05Z</project.build.outputTimestamp>
+ <project.build.outputTimestamp>2026-01-15T21:40:21Z</project.build.outputTimestamp>
<jacoco.skip>true</jacoco.skip>
<!--suppress CheckTagEmptyBody -->
- <surefire.argLine></surefire.argLine>
+ <surefire.argLine/>
<!--suppress CheckTagEmptyBody -->
- <failsafe.argLine></failsafe.argLine>
+ <failsafe.argLine/>
<junit5.parallel.tests.enabled>true</junit5.parallel.tests.enabled>
<junit5.parallel.tests.mode>concurrent</junit5.parallel.tests.mode>
<nexus.deploy.skip>false</nexus.deploy.skip>