Skip to content

Releases: spring-projects/spring-security

5.3.1.RELEASE

31 Mar 23:52
Compare
Choose a tag to compare

⭐ New Features

  • SpringTestContext returns ConfigurableWebApplicationContext #8237
  • OAuth2LoginAuthenticationProvider uses OAuth2AuthorizationCodeAuthenticationProvider #8234
  • SwitchUserFilter vulnerable to CSRF #8222
  • Clarify use case for ServerBearerExchangeFilterFunction #8221
  • Update Encryptors documentation for standard and stronger #8211
  • Document JwtGrantedAuthoritiesConverter #8183
  • userNameAttribute case style is different others #8179
  • Document AuthNRequest POST binding support #8165
  • Polish SAML 2.0 Login Sample #8164
  • OpenSamlImplementation should not use reflection #8161
  • Document AuthorizedClientServiceOAuth2AuthorizedClientManager #8153
  • Assign sensible default for OAuth2AuthorizedClientProvider #8151
  • Document OAuth2Authorization success and failure handlers #8146
  • Document Jackson serialization support for OAuth 2.0 Client #8145
  • Document OAuth 2.0 Authorization Request improvements #8133
  • Document OAuth 2.0 Login XML Support #8132
  • Document OAuth 2.0 Client XML Support #8131
  • Basic auth header without user results in exception #8122
  • Document AuthenticationEventPublisher improvements #8103
  • Typo 'properites' -> 'properties' in documentation #8098
  • Document OAuth 2.0 Resource Server XML Support #8094
  • Provide spring-security-5*.xsd for https://www.springframework.org/schema/security/ #8091
  • Document OIDC Logout Success Handler Improvements #8088
  • Add OAuth 2.0 Test Support Docs #8087
  • Update test to have comment about secure salt length #8084
  • Document JwtClaimValidator #8076

🪲 Bug Fixes

  • HttpServletRequest.logout() not functioning #8238
  • OAuth2 ClientRegistrations NPE when UserInfo endpoint missing #8209
  • oauth2Login WebFlux should not auto-redirect for XHR request #8201
  • Fix OAuth2AuthorizationRequest additionalParameters/attributes Consumer #8178
  • RSocket test should throw AccessDeniedException #8160
  • Make OAuth2ErrorHttpMessageConverter more resilient #8158
  • Fix typo in Javadoc of HttpSecurity#csrf() #8134
  • NPE thrown when token response contains a null value #8121
  • Google's top result for "Spring Security Reference" returns a 404 #8086
  • 5.3.0 Documentation What's New has some broken links #8069

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

5.3.0.RELEASE

04 Mar 19:24
747d881
Compare
Choose a tag to compare

⭐ New Features

  • Update What's New Section #8062
  • Document JdbcOAuth2AuthorizedClientService #8061
  • Add oauth2login xml sample #8060
  • Update doc diagram palette to use sans-serif font #8057
  • Add SecurityFilterChain Figure #8055
  • oauth2Client Test Support should allow configuration of principal name #8054
  • Add Kotlin Configuration section to docs #8051
  • Add anchors to SAML 2.0 documentation #8049
  • Update UserDetailsService Docs #8048
  • Add Figures to Basic Authentication Docs #8039
  • Add Link to DispatcherServlet in Filter Review Doc #8036
  • Add Figures to Form Log In Docs #8035
  • Add Figure for AuthenticationEntryPoint Docs #8030
  • Add ProviderManager to Docs #8029
  • Custom ServerHttpHeadersWriter to HeaderSpec #8028
  • Add hasRole(String) to authorizeRequests in Kotlin DSL #8023
  • Add missing @FunctionalInterface in oauth2 modules #8020
  • Provide configurable Clock in OidcIdTokenValidator #8019
  • Add OAuth2AuthorizeRequest.Builder.principal(String) #8018
  • Extract AuthenticationManager Docs #8006
  • Extract SecurityContextHolder, SecurityContext, Authentication, and GrantedAuthority Docs #8005
  • Add AbstractAuthenticationProcessingFilter Docs #8004
  • Extract AuthenticationEntryPoint Docs #8003
  • Extract ExceptionTranslationFilter Docs #8002
  • Extract FilterSecurityInterceptor Docs #8001
  • Use Color Palette that is Accessible for Color Blind #8000
  • Create a palette.odg #7999
  • Add Numbers Icons #7998
  • Instantiate exceptions lazily #7996
  • JwtIssuerReactiveAuthenticationManagerResolver eagerly creates Exceptions #7995
  • OAuth2AuthorizationRequest.Builder should configure additional parameters with a consumer #7993
  • Add OAuth2Authorization success/failure handlers #7986
  • Refactor Duplicate Security Filter Chain Doc #7979
  • Fix Asciidoctor Warnings #7973
  • Use Kotlin DSL Marker Annotations to prevent scope leaking #7971
  • Add JwtClaimValidator #7962
  • Support custom filter in Kotlin DSL #7951
  • Option for default event in DefaultAuthenticationEventPublisher #7937
  • DefaultAuthenticationEventPublisher is now configurable via a Map #7925
  • Add oauth2Client WebTestClient Test Support #7910
  • Nimbus OpaqueTokenIntrospectors should differentiate token and service errors #7902
  • OAuth 2.0 Client supports application clustering #7889
  • Add JwtIssuerReactiveAuthenticationManagerResolver #7887
  • Consider adding JwtClaimValidator #7860
  • Add ReactiveJwtIssuerAuthenticationManagerResolver and Reactive Multi Tentant Examples #7857
  • Add JDBC implementation of OAuth2AuthorizedClientService #7855
  • Set default redirect in OidcClientInitiatedServerLogoutSuccessHandler #7842
  • Introduce OAuth2Authorization success/failure handlers #7840
  • Add Opaque Token Reactive Test Support #7827
  • DefaultAuthenticationEventPublisher should allow configuring a default event #7825
  • DefaultAuthenticationEventPublisher should be configurable via Map #7824
  • Oauth2login xmlconfig implementation #7821
  • OAuth 2.0 Resource Server XML Support #7775
  • SAML AuthNRequest Signatures - Step 2 #7759
  • SAML AuthNRequest Signatures - Step 1 #7758
  • Simplify customizing OAuth2AuthorizationRequest #7748
  • SAML2 HTTP-Redirect: Missing Signature and SigAlg parameters in SAMLRequest Url (AuthNRequest) #7711
  • Consider adding switch to enable or disable OIDC nonce #7696
  • Getting OAuth2AuthenticationException when Bearer token is empty #7668
  • Provide JDBC implementation of OAuth2AuthorizedClientService #7655
  • Add custom ServerHttpHeadersWriter to HeadersSpec #7636
  • RefreshTokenOAuth2AuthorizedClientProvider does not handle expired refresh token #7583
  • Fix typo 'is' -> 'if' in javadoc #7559
  • Saml2LoginConfigurer should expose AuthenticationManager setter #7374
  • Provide XML namespace support for OAuth 2.0 Resource Server #5185
  • Provide XML namespace support for OAuth 2.0 Client #5184
  • Migrate Groovy to Java #4939
  • Provide XML namespace support for OAuth2Login #4557

🪲 Bug Fixes

  • Typo fix #8059
  • Fix typo in AntPathRequestMatcher contructor comment #8042
  • Docs Should Style Links that are Code as Link #8038
  • An AuthenticationManager is required. Oauth2ResourceServer + anonymous disable #8031
  • Tab switching does not work in documentation code samples #8025
  • Build failure with NoClassDefFoundError on javax/mail/internet #7994
  • Remove Duplicate Runtime Environment From Docs #7980
  • OAuth2AuthorizationCodeGrantWebFilter should also match on query parameters #7966
  • OAuth2AuthorizationCodeGrantFilter should also match on query parameters #7963
  • fix #7952 Don't force downcasting of RequestAttributes to ServletRequestAttributes #7953
  • ClassCastException for ServletRequestAttributes #7952
  • Prevent double-escaping of authorize URL parameters [#7881](https://gi...
Read more

4.2.14.RELEASE

06 Feb 14:05
Compare
Choose a tag to compare

⭐ New Features

  • Build 4.2.x on Jenkins #7940
  • Remove Dependency on Bamboo #7939

🔨 Dependency Upgrades

  • Update to Thymeleaf 3.0.11.RELEASE #7948
  • Update to Spring Boot 1.5.22.RELEASE #7947
  • Update to Spring Session 1.3.5.RELEASE #7946
  • Update to Spring Data Redis 1.8.23.RELEASE #7945
  • Update to Spring Data JPA 1.11.23.RELEASE #7944
  • Update to Spring Data Commons 1.13.23.RELEASE #7943
  • Update to CGLIB 3.2.12 #7942
  • Update to Spring Framework 4.3.26.RELEASE #7941

5.3.0.RC1

05 Feb 15:27
Compare
Choose a tag to compare
5.3.0.RC1 Pre-release
Pre-release

⭐ New Features

  • Add RSocket Authentication Extension Support #7935
  • SecurityEvaluationContextExtension.getRootObject() Specific Type #7891
  • Add oauth2Client MockMvc Test Support #7886
  • Nimbus JwtDecoders should differentiate token and service errors #7885
  • Remove redundant branches from SessionManagementConfigurer #7879
  • AuthenticationWebFilter's ReactiveAuthenticationManagerResolver should take a ServerWebExchange #7872
  • SAML2: Wrong IdP response URL throws NPE (for non-existing "RelyingParty") #7865
  • Typo in doc #7830
  • Add oauth2Login Reactive Test support #7828
  • Improve Bearer Token Error Handling #7826
  • Add BearerTokenErrors #7823
  • Add InvalidBearerTokenException #7822
  • Make OAuth2AccessToken converters public #7815
  • AuthenticationEventPublisher Lookup #7802
  • Modernize Documentation Styling #7801
  • Invalid OAuth2 login attempts don't emit a corresponding ApplicationEvent #7793
  • Set secure on cookie when logging out #7764
  • Introduce Reactive OAuth2Authorization success/failure handlers #7756
  • ProviderManager should have a varargs constructor #7713
  • Introduce Reactive OAuth2Authorization success/failure handlers #7699
  • Migrate LDAP integration tests groovy->java #7691
  • WebSecurityConfigurerAdapter: Unable to use custom AuthenticationEventPublisher #7515
  • Add Jackson support to OAuth2 session related classes #4886

🪲 Bug Fixes

  • Build failing with NoSuchMethodError #7888
  • cassample integration tests are failing #7874
  • Form login requiresAuthenticationMatcher is not used in WebFlux #7863
  • BasicAuthenticationFilter ignores credentials charset #7835
  • Default LDIF file not picked up in LDAP "unboundid" mode #7833
  • Incorrect LDIF file example in LDAP documentation #7832
  • OpaqueTokenRequestPostProcessor should respect configuration order #7800
  • Form Login authenticationFailureHandler is not used in ServerHttpSecurity #7782

🔨 Dependency Upgrades

  • Update to Gradle 6.1.1 #7936
  • Update to GAE 1.9.78 #7893
  • Update to Spring Boot 2.2.4.RELEASE #7892
  • Update Gradle 6.1 #7838

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

5.2.2.RELEASE

05 Feb 19:17
Compare
Choose a tag to compare

⭐ New Features

  • Don't cache requests with Accept: text/event-stream by default. #7744
  • Provide reactive implementation of AuthorizedClientServiceOAuth2AuthorizedClientManager #7717
  • Remove redundant validation for redirect-uri #7707
  • Polish oauth2-client Error-handling Tests #7647
  • Remove unnecessary code in SecurityExpressionRoot #7635
  • Extract HTTPS Documentation #7626
  • Remove unnecessary code in SecurityExpressionRoot #7601
  • Make jwks_uri optional for RFC 8414 and required for OpenID Connect #7573

🪲 Bug Fixes

  • Form login requiresAuthenticationMatcher is not used in WebFlux #7867
  • Form Login authenticationFailureHandler is not used in ServerHttpSecurity #7866
  • BasicAuthenticationFilter ignores credentials charset #7859
  • Default LDIF file not picked up in LDAP "unboundid" mode #7852
  • Incorrect LDIF file example in LDAP documentation #7849
  • Use the custom ServerRequestCache that the user configures #7753
  • RequestCacheSpec not used on RedirectServerAuthenticationEntryPoint for OAuth2LoginSpec.configure #7751
  • Disabling logout in WebFlux does nothing #7742
  • Saml2Authentication isn't serializable #7739
  • Docs ServerRSocketFactoryCustomizer->ServerRSocketFactoryProcessor #7738
  • CompositeServerHttpHeadersWriter Should Execute Sequentially #7732
  • DelegatingServerAuthenticationSuccessHandler Should Execute Sequentially #7729
  • DelegatingServerLogoutHandler Should Execute Sequentially #7725
  • WebFlux oauth2Login returns 500 when bad client credentials #7703
  • Correctly configure authorization requests repository for OAuth2 login #7690
  • Correctly configure authorization requests repository for OAuth2 login #7689
  • DefaultReactiveOAuth2AuthorizedClientManager never calls UnAuthenticatedServerOAuth2AuthorizedClientRepository #7684
  • Update @MessageMapping to match input/output cardinality #7669
  • Add http and https spring.schema mappings #7623
  • Avoid toString in favor of getName in order to extract sid #6354

🔨 Dependency Upgrades

  • Update to Spring Boot 2.2.4 #7909
  • Update to org.slf4j 1.7.30 #7908
  • Update to org.powermock 2.0.5 #7907
  • Update to hibernate-validator 6.1.2.Final #7906
  • Update to hibernate-entitymanager 5.4.10.Final #7905
  • Update to org.aspectj 1.9.5 #7904
  • Update to httpclient 4.5.11 #7903
  • Update to commons-codec 1.14 #7899
  • Update to com.squareup.okhttp3 3.14.6 #7898
  • Update to Jackson 2.10.2 #7897
  • Update to Reactor Dysprosium SR4 #7896
  • Update to Spring Data Moore SR3 #7895
  • Update to Spring Framework 5.2.3 #7894
  • Update nimbus-jose-jwt because of CVE-2019-17195 #7570

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

5.1.8.RELEASE

05 Feb 19:28
Compare
Choose a tag to compare

⭐ New Features

  • Remove redundant validation for redirect-uri #7708
  • WebClient support should get new access token when expired and client_credentials #7685

🪲 Bug Fixes

  • Default LDIF file not picked up in LDAP "unboundid" mode #7853
  • CompositeServerHttpHeadersWriter Should Execute Sequentially #7735
  • DelegatingServerAuthenticationSuccessHandler Should Execute Sequentially #7730
  • DelegatingServerLogoutHandler Should Execute Sequentially #7727
  • WebFlux oauth2Login returns 500 when bad client credentials #7704

🔨 Dependency Upgrades

  • Update to Spring Boot 2.1.12 #7923
  • Update to org.slf4j 1.7.30 #7922
  • Update to org.powermock 2.0.5 #7921
  • Update to hibernate-validator 6.0.18.Final #7920
  • Update to hibernate-entitymanager 5.3.15.Final #7919
  • Update to org.bouncycastle:bcpkix-jdk15on 1.64 #7918
  • Update to org.aspectj 1.9.5 #7917
  • Update to httpclient 4.5.11 #7916
  • Update to com.squareup.okhttp3 3.12.8 #7915
  • Update to Jackson 2.9.10 #7914
  • Update to Reactor Californium-SR15 #7913
  • Update to Spring Data Lovelace SR15 #7912
  • Update to Spring Framework 5.1.13 #7911

5.0.14.RELEASE

05 Feb 19:32
Compare
Choose a tag to compare

🪲 Bug Fixes

  • Default LDIF file not picked up in LDAP "unboundid" mode #7854
  • CompositeServerHttpHeadersWriter Should Execute Sequentially #7736
  • SEC-2980: Possible race condition in SessionRegistryImpl #7227

🔨 Dependency Upgrades

  • Update to org.slf4j 1.7.30 #7934
  • Update to org.powermock 2.0.5 #7933
  • Update to hibernate-validator 6.0.18.Final #7932
  • Update to org.bouncycastle:bcprov-jdk15on 1.64 #7931
  • Update to org.bouncycastle:bcpkix-jdk15on 1.64 #7930
  • Update to org.aspectj 1.9.5 #7929
  • Update to httpclient 4.5.11 #7928
  • Update to com.squareup.okhttp3 3.12.8 #7927
  • Update to Jackson 2.9.10 #7926
  • Update to Spring Framework 5.0.16 #7924

5.3.0.M1

08 Jan 21:45
Compare
Choose a tag to compare
5.3.0.M1 Pre-release
Pre-release

⭐ New Features

  • Allow disabling dependency locking #7799
  • Build task "snapshots" should not use locked dependencies #7798
  • Add oauth2Login MockMvc Test Support #7789
  • Manage Versions using Version Locking #7788
  • Use Gradle Platform / Constraints #7787
  • Idiomatic Kotlin DSL for configuring HTTP security in servlet based applications #7785
  • Fix description of PasswordEncoder #7784
  • Fix unchecked assignment and possible NPE #7773
  • Resolve JavaType only once for whitelisted class #7755
  • Set secure when cancelling remember-me cookie #7726
  • Add JwtIssuerAuthenticationManagerResolver #7724
  • Add opaque token test support #7712
  • Remove redundant validation for redirect-uri #7706
  • Reactive Implementation of AuthorizedClientServiceOAuth2AuthorizedClientManager #7702
  • Incomplete Documentation for Setting Up MockMvc and Spring Security #7688
  • Add Oidc Login Reactive Test Support #7680
  • Remove consecutive-word duplications in Javadocs #7673
  • Fix InitializeAuthenticationProviderBeanManagerConfigurer Javadoc #7666
  • Fix minor typo in HttpSecurity documentation #7663
  • Check BCrypt hashed value of a byte array #7661
  • Allow configuration of AuthenticationManager in saml2Login() #7654
  • Add oidcLogin MockMvc Test Support #7618
  • Add OidcUserInfo.Builder #7593
  • Add OidcIdToken.Builder #7592
  • Provide reactive implementation of AuthorizedClientServiceOAuth2AuthorizedClientManager #7569
  • Specify return type in InitializeUserDetailsBeanManagerConfigurer method Javadoc #7557
  • In Test @AuthenticationPrincipal is null because ServerWebExchange is not wrapped #6598
  • Make MethodSecurityEvaluationContext Delegates to MethodBasedEvaluationContext #6249
  • Override the key to avoid CookieTheftException #5509
  • Add resource server support for multiple trusted JWT access token issuers #5385
  • RememberMeConfigurer does not use the key from RememberMeServices #4140
  • Option in BasicAuthenticationFilter to log more exception info #3308

🪲 Bug Fixes

  • OidcLoginRequestPostProcessor should respect configuration order #7794
  • Fix var typo and code readability in resource server documentation #7772
  • Docs ServerRSocketFactoryCustomizer->ServerRSocketFactoryProcessor #7737
  • Use the custom ServerRequestCache for Oauth2LoginSpec #7734
  • CompositeServerHttpHeadersWriter Should Execute Sequentially #7731
  • DelegatingServerAuthenticationSuccessHandler Should Execute Sequentially #7728
  • DelegatingServerLogoutHandler Should Execute Sequentially #7723
  • RequestCacheSpec not used on RedirectServerAuthenticationEntryPoint for OAuth2LoginSpec.configure #7721
  • Disabling logout in WebFlux does nothing #7682
  • Saml2Authentication isn't serializable #7681
  • Correctly configure authorization requests repository for OAuth2 login #7675
  • Error in javadoc for oauth2ResourceServer #7670
  • DefaultReactiveOAuth2AuthorizedClientManager never calls UnAuthenticatedServerOAuth2AuthorizedClientRepository #7544
  • WebFlux oauth2Login returns 500 when bad client credentials #5562

🔨 Dependency Upgrades

  • Update to Spring Boot 2.2.2.RELEASE #7797
  • Upgrade com.nimbusds:nimbus-jose-jwt dependency #7720

⏪ Non-passive

  • UsernamePasswordAuthenticationTokenDeserializer doesn't deserialize details to correct type #7482

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

5.2.1.RELEASE

04 Nov 20:53
Compare
Choose a tag to compare

⭐ New Features

  • Fix variable reference in sample code #7571
  • spring-security-saml2-service-provider impossible to use different format of assertionConsumerServiceUrlTemplate #7565
  • Add Resource Server Multi-tenancy Documentation #7532
  • Update SAML sample to use boot auto config #7521
  • Add Reactive CSRF Documentation #6487

🪲 Bug Fixes

  • Restore Removed Throws Clauses #7580
  • CsrfWebFilter should handle multipart/form-data #7576
  • Make saveAuthorizedClient save the authorized client #7551
  • DefaultReactiveOAuth2AuthorizedClientManager.saveAuthorizedClient does not save authorized client #7546
  • throws Exception was removed from WebSecurityConfigurerAdapter#configure(WebSecurity) #7541
  • SAML2 Provider SubjectConfirmation validation failure #7514
  • SAML2 Provider AuthNRequest Hardcoded Protocol Binding #7513
  • Clock skew to check access token expiration has wrong sign #7511

🔨 Dependency Upgrades

  • Upgrade to Spring Boot 2.2.0.RELEASE #7566

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

5.1.7.RELEASE

04 Nov 20:54
Compare
Choose a tag to compare

⭐ New Features

  • CookieServerCsrfRepositoryTests should not start domain with a dot #7501
  • Fix docs typo WebSecurityConfigurationAdapter->WebSecurityConfigurerAdapter #7225

🪲 Bug Fixes

  • OAuth2AuthorizationCodeGrantWebFilter should not restrict redirect-uri #7469
  • RequestContextSubscriber could put null value in Reactor Context #7410
  • OAuth2AuthorizationRequest not removed from session #7369
  • InMemoryReactiveClientRegistrationRepository should not use ConcurrentReferenceHashMap #7359
  • NimbusJwtDecoderJwkSupport only sets 'application/json' Accept header #7340
  • SEC-2971: Footnotes are messed up in online docs #7326
  • Confusing example - WebMvcConfigurer vs WebSecurityConfigurerAdapter #7303
  • OnCommittedResponseWrapper fails on static resources served by Tomcat 8.5 #7297
  • Fix WebClient Memory Leaks #7294
  • Ensure filter order is maintained when using springSecurity() along with other filters #7267
  • SessionAuthenticationStrategy make HttpSecurity.sessionManagement().maximumSessions(1) unavailability #7262
  • SEC-2980: Possible race condition in SessionRegistryImpl #7226