Skip to content

Releases: spring-projects/spring-security

5.2.0.M4

01 Oct 16:07
be23fd6
Compare
Choose a tag to compare
5.2.0.M4 Pre-release
Pre-release

⭐ New Features

  • Update to Reactor Dysprosium-M3 #7186
  • Update to Spring Data Moore RC2 #7185
  • Update to Spring Framework 5.2.0.RC1 #7184
  • Downgrade modifier from public to protected #7180
  • AuthenticationFilter#attemptAuthentication should be protected #7177
  • Use org.mockito.ArgumentMatchers in favor of org.mockito.Matchers #7176
  • Migrate VersionsResourceTasks groovy->java #7173
  • Add support for allowedHostnames in StrictHttpFirewall #7158
  • Upgrade org.springframework.boot:spring-boot-xxx to 2.2.0.M4 #7143
  • Remove exceptions from lambda security configuration #7131
  • Remove exception from security configuration methods #7128
  • Support nested builder in DSL for reactive apps #7121
  • Prevent disabled user from logging in on reactive applications #7113
  • Oauth2 BearerTokenAuthenticationFilter logging issue #7110
  • Add support for nested builders in the DSL for reactive apps #7107
  • Error description by BearerTokenAccessDeniedHandler is misleading #7089
  • Throws exception when passed IP address with too long mask #7084
  • Allow configuration of SessionAuthenticationStrategy for CSRF #7083
  • Add Chinese Traditional localized messages. #7082
  • Changed docs to reflect that init should apply configurers #7080
  • Update to Gradle 5.5.1 #7078
  • Migrate TrangPlugin groovy->java #7077
  • Cleanup redundant type casts #7073
  • Allow upgrading between different SCrypt encodings #7057
  • DSL nested builder for HTTP security #7046
  • Add @nullable to UsernamePasswordAuthenticationFilter #7043
  • Allow upgrading between different BCrypt encodings #7042
  • Can't use a custom authorization grant type in a ClientRegistration #7040
  • Add Generic AuthenticationFilter #7025
  • Migrate DefaultLoginPageConfigurerTests groovy->java #6956
  • Add generic getClaim() method in ClaimAccessor #6947
  • Mock Jwt Support should accept a fully-configured Jwt #6896
  • OpenID Connect Userinfo not fetched for custom claims #6886
  • OAuth2LoginAuthenticationFilter sets AuthenticationDetails #6884
  • OAuth2LoginAuthenticationFilter should set AuthenticationDetails #6866
  • Introduce OAuth2AuthorizedClient Manager/Provider #6845
  • Replace strange hashCode() implementations #6542
  • Add Generic AuthenticationFilter #6506
  • Allow in-memory authorized client services to be constructed with a map #5994
  • Please add support for nested builders in the DSL #5557
  • Allow configuration of added SessionAuthenticationStrategy for CsrfConfigurer #5300

🪲 Bug Fixes

  • Basic authentication scheme is not case-insensitive #7163
  • Fix CSRF session authentication strategy since version #7127
  • Incorrect Javadoc for methods in HeadersConfigurer #7123
  • Loggin Fix for printing the full stack trace, spring-projects/spring-… #7111
  • Fix infinite loop in role hierarchy resolving #7106
  • Fixed typo in documentation. #7092
  • Fix typo in documentation #7050
  • Allow custom ReactiveAuthenticationManager for basic and form auth #7048
  • Fixed validation in ClientRegistration.Builder #7047
  • Fix blocking in ServletOAuth2AuthorizedClientExchangeFilterFunction #7037
  • Infinite loop in role hierarchy resolving #7035
  • ServerBearerTokenAuthenticationConverter Handles Empty Tokens #7020
  • Reactive OAuth2 using query parameters for access_token can cause HTTP 500s #7011
  • OAuth2Login should process authenticated requests #6890
  • Ensure ServletOAuth2AuthorizedClientExchangeFilterFunction is non-blocking #6589
  • ServerHttpSecurity can't set multiple authentication managers #5660
  • SCryptPasswordEncoder constructor javadoc needs to be fixed #4004
  • SEC-2576: ArrayIndexOutOfBoundsException in IpAddressMatcher #2790

❤️ Contributors

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

5.2.0.M3

01 Oct 16:05
Compare
Choose a tag to compare
5.2.0.M3 Pre-release
Pre-release

⭐ New Features

  • Move log statement in SessionRegistryImpl #6979
  • Fix RoleHierarchy Javadoc #6973
  • Disable bean proxying in configuration classes #6970
  • Make Spring web configuration classes use proxyBeanMethods=false by default #6967
  • Migrate JeeConfigurerTests groovy->java #6957
  • Update to nohttp 0.0.2.RELEASE #6955
  • RoleHierarchy Comments are misleading #6954
  • Migrate RememberMeConfigurerTests groovy->java #6951
  • Migrate CorsConfigurerTests groovy->java #6946
  • Migrate ChannelSecurityConfigurerTests groovy->java #6944
  • Add success handler modification of OAuth2LoginSpec #6938
  • Migrate SessionManagementConfigurerTests groovy->java #6937
  • JenkinsFile should always indicate the JDK in use #6928
  • Add @transient to OAuth2IntrospectionAuthenticationToken #6918
  • Added null checks and tests to constructors #6915
  • Updates OAuth2ResourceServer configuration tests #6904
  • Migrate LogoutConfigurerTests from groovy to java #6902
  • Finer variables for OAuth2 redirectUriTemplate expansion #6900
  • Add null checks to constructors #6892
  • Fix JavaDoc for defaultSuccessUrl #6878
  • Add constructor to JwtAuthenticationToken that takes a principal name #6865
  • Add OAuth2LoginSpec.authenticationSuccessHandler #6863
  • Add Multi-tenancy support for Reactive Resource Server #6861
  • Git ignore .attach_pid* files #6860
  • Translate messages.properties into Japanese #6855
  • Replace bean method calls with injection #6853
  • Make scheduler configurable on ReactiveAuthenticationManagerAdapter #6852
  • Introduce Jwt.Builder #6851
  • OpaqueToken DSL should accept an AuthenticationManager #6849
  • Jwt DSL Configuration should accept an AuthenticationManager #6832
  • OAuth2IntrospectionAuthenticationToken should be marked as @transient #6829
  • Reactive JwkSource Builder Parameter Type Changed the parameter type from JWT to SignedJWT Fixes: gh-6771 #6827
  • Fix javadoc typo #6825
  • Support JwtValidationException on JwtReactiveAuthenticationManager #6823
  • Switch to proxy-less configuration by leveraging @configuration(proxyBeanMethods = false) #6818
  • Opaque Token Support for Custom Parameters #6798
  • Fix no check if the parameter is null. #6775
  • Expose bean setters in @configuration used by @EnableWebFluxSecurity #6761
  • Multi-tenancy for Reactive Resource Server #6727
  • Introduce ReactiveAuthenticationManagerResolver #6723
  • Introduce JWT Flow API in Test Support #6634
  • Opaque Token Intermediate Type #6632
  • Make it possible to use Spring Security with functional bean registration #6624
  • OAuth2ResourceServer configuration tests use deprecated extractAuthorities #6516
  • X509 Reactive Support #6336
  • Improve ClaimAccessor and externalize coercion #6245
  • Add scheme/protocol variable for OAuth2 redirectUriTemplate #6239
  • AccountStatusUserDetailsChecker implements MessageSourceAware #6151
  • Support Path Variables in Message Expressions #6110
  • WebSocket matchers ignore parameters #4469

🪲 Bug Fixes

  • ID Token validation should use JwtTimestampValidator #6964
  • Fix HttpSecurity Javadoc for jee() method #6959
  • Fix HttpSecurity jee() Javadoc example for mappableRoles #6958
  • DefaultServerOAuth2AuthorizationRequestResolver should use fromUri #6952
  • WebClientReactiveClientCredentialsTokenResponseClient should not set Authorization header when ClientAuthenticationMethod.POST #6911
  • Documentation fixes #6889
  • java.lang.IllegalAccessError when resource server introspect token from oauth2 server #6843
  • oauth2Login does not auto-redirect for XHR request #6812

🔨 Dependency Upgrades

  • Update to Spring 5.2.0.M2 #6869

❤️ Contributors

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

5.2.0.M2

01 Oct 16:09
Compare
Choose a tag to compare
5.2.0.M2 Pre-release
Pre-release

⭐ New Features

  • Add JDK 12 Build #6774
  • Update Gradle version to 5.3.1 #6747
  • Align JavaDoc in SecureRandomFactoryBean #6734
  • Fix a typo #6725
  • Introduce AuthenticationManagerResolver #6722
  • Defer downstream filter execution if no OAuth2AuthorizedClient is found #6719
  • Make UnAuthenticatedServerOAuth2AuthorizedClientRepository threadsafe #6717
  • URL Cleanup #6662
  • URL Cleanup #6655
  • Simplify MediaTypeRequestMatcher construction #6648
  • Polish #6635
  • Introduced placeholder support for headers tag attributes #6623
  • Allowing for a @bean of type OAuth2AccessTokenResponseClient<OAuth2Cl… #6606
  • Throw exception that was created but not thrown #6604
  • documentation: remove out-of-date #6603
  • OAuth2LoginSpec discovers ReactiveOAuth2AccessTokenResponseClient @bean #6587
  • OAuth2ClientConfiguration discovers client_credentials OAuth2AccessTokenResponseClient #6572
  • Multi tenancy for Resource Server #6563
  • Introduce @CurrentSecurityContext for method arguments #6562
  • Fix Broken Documentation Link #6555
  • Broken URL in documentation #6553
  • Add Support for Clear Site Data on Logout #6550
  • Introduce @CurrentSecurityContext for method arguments #6546
  • Reactive Opaque Token Support #6519
  • OidcIdTokenValidator ensures clockSkew is positive number #6514
  • Add Reactive Opaque Token Support to Resource Server #6513
  • Properties should reference scope not scopes #6510
  • HeaderWriterFilter writes headers at beginning #6509
  • Introduce OAuth2AuthorizationRequest.attributes #6508
  • Introduce Support for Reading RSA Keys #6505
  • NimbusReactiveJwtDecoder Takes Reactive Processor #6499
  • Support symmetric key for JwtDecoder #6495
  • Add RSA Key Converters #6494
  • Improve formatting of LDAP snippets in Reference Documentation #6486
  • Add client support for PKCE #6485
  • OAuth2LoginSpec discovers ReactiveOAuth2AccessTokenResponseClient @bean #6477
  • Add new configuration options for OAuth2LoginSpec #6462
  • Update to nimbus-jose-jwt:6.7 #6459
  • Consider having HeaderWriters check before writing #6456
  • Added CompositeHeaderWriter #6455
  • Consider having HeaderWriters check before writing #6454
  • Add a composite HeaderWriter class #6453
  • Support PKCE for Client #6446
  • OidcIdTokenValidator ensures clockSkew is positive number #6443
  • Save original request on oauth2Client filter #6418
  • Add Support for Opaque OAuth2 Tokens to Resource Server #6352
  • Add preload support to Strict-Transport-Security #6312
  • Remove Servlet Spec 2.5 and 3.0 support #6220
  • OAuth2ResourceServerConfigurerTests should avoid MockWebServer #6104
  • OAuth2AuthorizationRequest.additionalParameters should not contain registration_id #5940
  • NimbusReactiveJwtDecoder should accept a custom processor #5937
  • Improve OAuth2LoginSpec with more configuration options #5598
  • Provide support for symmetric key verification via JwtDecoder #5465
  • Support for OIDC Logout #5356
  • Multi-tenancy support for OAuth2 #5351
  • Support RP (Client) initiated logout #5350
  • Provide support for OAuth 2.0 Token Introspection #5200
  • Add Clear Site Data to Log Out #4187

🪲 Bug Fixes

  • ServletOAuth2AuthorizedClientExchangeFilterFunction supports chaining #6526
  • Update resource-server.adoc #6523
  • Fixed broken link #6522
  • Fix broken link in README.adoc #6521
  • Preserve existing refresh token if new refresh token not returned #6504
  • Refreshing access token may remove refresh token from AuthorizedClient #6503
  • ServletOAuth2AuthorizedClientExchangeFilterFunction Does Not Work For Chained Reactive Methods #6483
  • Missing spring: prefix on jwk-set-uri example #6479
  • Improve CsrfBeanDefinitionParser xml parsing #6451
  • HTML markup fixed in DefaultLoginPageGeneratingFilter #6448
  • XML configuration with multiple security:http register multiple requestDataValueProcessor #6423
  • Invalid html in default login page #6417
  • Webflux Oauth2 .oauth2Client() doesn't redirect back to the original request after authenticating in the auth server #6341
  • Fix OAuth2 Client with Ditributed Session #6215

❤️ Contributors

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

Read more

5.2.0.M1

01 Oct 16:10
Compare
Choose a tag to compare
5.2.0.M1 Pre-release
Pre-release

⭐ New Features

  • Update to spring-build-conventions 0.0.23.RELEASE #6440
  • customization support for StrictHttpFirewall #6439
  • Update to Spring Data Lovelace SR4 #6438
  • Update to Spring Framework 5.1.4 #6437
  • Update to Reactor Californium-SR4 #6436
  • Update to Spring Boot 2.1.2 #6435
  • Update to htmlunit-driver 2.33.3 #6434
  • Update to org.powermock 2.0.0 #6433
  • Update to hibernate-entitymanager 5.4.0.Final #6432
  • Update to ehcache 2.10.6 #6431
  • Update to com.squareup.okhttp3 3.12.1 #6430
  • Update to oauth2-oidc-sdk 6.5 #6429
  • Update to nimbus-jose-jwt 6.5.1 #6428
  • Update to jackson.core 2.9.8 #6427
  • Update to cglib-nodep 3.2.10 #6426
  • Update JwtTimestampValidator.java #6416
  • Extract the ID Token JwtDecoderFactory to enable user customization #6415
  • Expose ID Token JwtDecoderFactory #6379
  • ID Token validation supports clock skew #6375
  • Polish oauth2 client ExchangeFilterFunction's #6355
  • Improve error messages in OidcIdTokenValidator #6349
  • Polish tests #6346
  • Removed isServlet30 check #6331
  • Fixes typo in x,rnc files #6326
  • Typo in Spring Security spring-security-x.y.rnc Files #6325
  • Improve error messages in OidcIdTokenValidator #6323
  • Add hasAnyAuthority() and hasAnyRole() in AuthorizeExchangeSpec #6310
  • JdbcUserDetailsManager handles extra UserDetails attributes #6309
  • Add WebFlux support for spring security web jackson module. #6305
  • Add WebFlux support for spring security web jackson module #6303
  • authorization_uri Supports Query Parameters #6299
  • Extract OidcTokenValidator to an OAuth2TokenValidator #6298
  • Remove check for method HttpServletRequest#getHeader and related test #6290
  • Remove Servlet Spec 2.5 Support for HttpSessionSecurityContextRepository #6289
  • Validate Scopes in ClientRegistration.Builder #6285
  • Allow setting realm for Http Basic #6279
  • Add cookieDomain to CookieCsrfTokenRepository #6276
  • Add Anonymous Support to AuthenticatedReactiveAuthorizationManager #6267
  • Remove Servlet 3.0 Support in CacheControlHeadersWriter #6265
  • Remove Servlet 3.0 Support in AbstractRequestMatcherRegistry #6264
  • Remove Servlet 2.5 and 3.0 Support for Remember Me #6263
  • Remove Servlet Spec 2.5 and 3.0 Support for CSRF #6262
  • Remove Servlet Spec 2.5 Support for HttpSessionSecurityContextRepository #6261
  • Remove Servlet Spec 2.5 Support for SecurityContextHolderAwareRequestFilter #6260
  • Remove Servlet 2.5 Support for Session Fixation #6259
  • Add DelegatingSecurityContextTaskScheduler #6257
  • Validate ClientRegistration.scopes #6256
  • RoleVoter Configuration Defaults Prefix Using GrantedAuthorityDefauts #6241
  • Improve error message for Chinese #6240
  • Add WebClientReactiveAuthorizationCodeTokenResponseClient.setWebClient #6238
  • AuthenticatedReactiveAuthorizationManager support for AnonymousAuthenticationToken #6235
  • JwtDecodersTests and ClientRegistrationsTest should explicitly test for trailing slash #6234
  • Add Reactive Support for UserDetailsChecker #6229
  • SessionRegistryImpl uses computeIfAbsent #6221
  • Accept a case-insensitive "Bearer" keyword #6210
  • Restored Jacoco default task dependence #6200
  • Added support for Anonymous Authentication #6198
  • Update to Gradle 5.0 #6197
  • Make CachingUserDetailsService Public #6196
  • Bearer should be case-insensitive in ServerBearerTokenAuthenticationConverter #6195
  • Use SpringUtils to check scheme #6185
  • BasicAuthenticationFilter could check the scheme more efficiently #6183
  • ReactiveOAuth2AccessTokenResponseClients should support setting a custom WebClient #6182
  • According to RFC 2617 #1.2, the "Bearer" keyword should be case-insensitive #6150
  • Update to Gradle 5.0 #6148
  • Update com.squareup.okhttp3 deps to 3.12.0 #6142
  • Add GenericConversionService with support for UUID and Strings #6141
  • Remove unused dependency slf4j-api in javaconfig x509 sample application #6131
  • Remove unused compile dependency in javaconfig x509 sample #6130
  • Replace deprecated Gradle Task method in AspectJPlugin.groovy #6129
  • Replace deprecated Gradle Task.deleteAllActions() method in AspectJPlugin.groovy #6128
  • WebClient support should get new access token when expired and client_credentials #6127
  • AesBytesEncryptorTests should check available key strengths before running #6121
  • CookieClearingLogoutHandler enhancement #6116
  • Update to Gradle 4.10.2 #6114
  • Update to oauth2-oidc-sdk:6.2 #6101
  • Update webflux-form sample to use Built in CSRF Support #6097
  • Update to nimbus-jose-jwt:6.3 #6095
  • Updated Spring Boot version from 2.1.0.M4 to 2.1.0.RELEASE #6084
  • Update to Spring Boot 2.1.0.RELEASE #6082
  • Make AesBytesEncryptor public #6079
  • CookieClearingLogoutHandler for differen...
Read more