Spring Security v5.2.0.RC1 Release Notes

Release Date: 2019-09-06 // 18 days ago
  • 🍱 ⭐️ New Features

    • βž• Add attributes Consumer to OAuth2AuthorizationContext #7385
    • πŸ‘Œ Improve DefaultReactiveOAuth2UserService handling IOException #7370
    • βž• Add RSocket Support #7360
    • πŸ’… Polish Server|ServletBearerExchangeFilterFunction #7355
    • ♻️ Refactor Servlet/Server BearerExchangeFilterFunction #7353
    • πŸ”’ OAuth2AuthorizeRequest supports attributes #7352
    • πŸ”’ Grant Individual Authorities From Claims #7351
    • πŸ”’ DefaultOAuth2AuthorizedClientManager and DefaultServerOAuth2AuthorizedClientManager Alignment #7350
    • πŸ”’ Align Servlet ClearSiteData expression of directives #7347
    • βž• Add Adapter to Translate Jwt to BearerTokenAuthentication #7346
    • πŸ”’ Opaque Token Introspector should return an Authenticated Principal #7345
    • πŸ”’ Opaque Token Introspection Strategy Flexibility #7344
    • βž• Add BearerTokenAuthentication #7343
    • βž• Add OAuth2AuthenticatedPrincipal #7342
    • πŸ”’ OAuth2AuthorizeRequest supports attributes #7341
    • πŸ”’ DefaultOAuth2UserService should extract authorities #7339
    • πŸ”’ InMemoryReactiveClientRegistrationRepository should check for duplicates #7338
    • βž• Add Servlet and ServerBearerExchangeFilterFunction #7330
    • ⚑️ Update to Gradle 5.6.1 #7323
    • πŸ”’ Simplify and improve the buildSrc gradle plugin #7302
    • ⚑️ Update to Gradle 5.6 #7300
    • βž• Add Catalan localization messages #7288
    • βž• Add Catalan localization messages #7287
    • πŸ”’ Resource Server should support WebClient Bearer Token propagation #7284
    • πŸ”’ Sample should use UserDetailsService bean instead of configureGlobal method #7283
    • πŸ”’ Mock Jwt Test Samples #7278
    • πŸ‘ Allow to set default securityContextRepository for each authenticatio… #7275
    • πŸ”’ Resource Server Multi-tenancy Sample Should Manage Its Own Jwt Decoder #7272
    • βž• Add setter for authorities claim name in JwtGrantedAuthoritiesConverter #7271
    • πŸ”’ Jwk Set Uri Nimbus Jwt Decoder builders should take SignatureAlgorithm #7270
    • βž• Add setContentLengthLong detection to OnCommittedResponseWrapper. #7264
    • πŸ”’ Consolidate shared code between JwtDecoders and ReactiveJwtDecoders #7263
    • βœ‚ Remove MultiTenantAuthenticationManagerResolver #7259
    • βž• Add setter for authority prefix in JwtGrantedAuthoritiesConverter #7256
    • πŸ”’ Prevent IntelliJ IDEA from generating spaces for indentation #7253
    • πŸ”’ TokenBasedRememberMeServices.processAutoLoginCookie (TokenBasedRememberMeServices.java:134) java.lang.NullPointerException #7251
    • πŸ”’ Authentication Mechanisms Should Default their ServerSecurityContextRepository #7249
    • πŸ”’ Rename OAuth2TokenIntrospectionClient #7246
    • πŸ”’ Consider renaming OAuth2TokenIntrospectionClient #7245
    • βž• Add OAuth2LoginSpec#securityContextRepository #7244
    • πŸ’… Cleanup Code Style Issues #7238
    • βž• Add Checkstyle configuration for IntelliJ IDEA #7237
    • πŸ”’ Expose getPort in ApacheDsContainer #7236
    • πŸ”’ OAuth2LoginConfigurer should discover OAuth2UserService beans #7232
    • πŸ”’ Make ldap integration tests independent #7231
    • βœ‚ Remove unused imports #7229
    • πŸ”’ ServerHttpSecurity: oauth2Login() ignores securityContextRepository() #7222
    • πŸ”’ Use the 'io.freefair.aspectj' gradle plugin #7183
    • βž• Add RequestMatcher.matcher(HttpServletRequest) #7172
    • πŸ”’ ignore Multipart requests in HttpSessionRequestCache.requestMatcher #7167
    • βž• Add test examples for Oauth2 Resource Server sample #7159
    • βž• Add unbounid support in xml #7149
    • πŸ”’ OAuth2AuthorizedClientManager implementation works outside of request #7122
    • πŸ‘Œ Improve OAuth2 Resource Server tests #7118
    • πŸ”’ Introduce Reactive OAuth2AuthorizedClient Manager/Provider #7116
    • πŸ‘ Allow configurable Clock in OAuth2AuthorizedClientProvider impls #7114
    • πŸ”’ JwtGrantedAuthoritiesConverter should allow configuring the authority prefix #7101
    • πŸ”’ JwtGrantedAuthoritiesConverter should allow configuring the authorities claim name #7100
    • βž• Add authenticationFailureHandler method in OAuth2LoginSpec #7071
    • πŸ”’ v5.2.0.M3 docs contain Deprecated example code #7062
    • πŸ”’ Multipartfile request with no authentication is still consumed even after an AccessDeniedException is thrown #7060
    • βž• Add OAuth2LoginSpec.authenticationFailureHandler #7051
    • βž• Add Argon2PasswordEncoder #7045
    • πŸ›  Fix docs typo WebSecurityConfigurationAdapter->WebSecurityConfigurerAdapter #7026
    • βž• Add support for Resource Owner Password Credentials grant #7013
    • πŸ”’ Jwt decoding should support multiple algorithms #6883
    • πŸ’… Polish Resource Server DSL Error Messaging #6876
    • βœ‚ Remove Invalid WebMvcConfigurer from Sample Documentation #6822
    • πŸ”’ Align code in oauth2-client extensions for WebClient #6811
    • πŸ”’ OAuth2 Client Credentials Flow: Getting access tokens in the service/data tier #6780
    • πŸ”’ Provide Servlet equivalent of UnAuthenticatedServerOAuth2AuthorizedClientRepository #6683
    • πŸ”’ Spring Boot + spring-security-oauth2-resource-server should not throw a ClassNotFoundException once it supports more than one token format #6209
    • πŸ‘Œ Support Resource Owner Password Credentials grant #6003
    • βž• Add Argon2PasswordEncoder #5354
    • βž• Add BearerExchangeFilterFunction #5334

    🍱 🐞 Bug Fixes

    • βœ‚ Remove package tangle in headers #7380
    • βœ‚ Remove OAuth2AuthorizationRequest when a distributed session is used #7334
    • πŸ”’ OAuth2AuthorizationRequest not removed from session #7327
    • πŸ”’ Use ConcurrentHashMap in InMemoryReactiveClientRegistrationRepository #7308
    • πŸ›  fix footnotes markup #7305
    • βž• add media type jwk-set+json to accept header #7304
    • πŸ”’ InMemoryReactiveClientRegistrationRepository should not use ConcurrentReferenceHashMap #7299
    • πŸ›  Fix WebClient Memory Leaks #7293
    • πŸ”’ NimbusJwtDecoderJwkSupport only sets 'application/json' Accept header #7290
    • πŸ›  Fix typo in docs #7277
    • πŸ›  Fix UserDetailsPasswordService JavaDoc #7266
    • πŸ”’ Ensure filter order is maintained when using springSecurity() along with other filters #7265
    • πŸ”’ OnCommittedResponseWrapper fails on static resources served by Tomcat 8.5 #7261
    • πŸ”’ Expire as many sessions as exceed maximum allowed #7258
    • πŸ”’ Use UTF-8 for compilation #7254
    • πŸ›  Fix NPE in RequestContextSubscriber #7235
    • πŸ”’ RequestContextSubscriber could put null value in Reactor Context #7228
    • πŸ›  Fix docs typo WebSecurityConfigurationAdapter->WebSecurityConfigurerAdapter #7181
    • πŸ”’ SessionRegistryImpl uses Map.compute #7178
    • πŸ”’ SessionAuthenticationStrategy make HttpSecurity.sessionManagement().maximumSessions(1) unavailability #7166
    • πŸ“š Misleading documentation for websocket security #4845
    • πŸ”’ SEC-2980: Possible race condition in SessionRegistryImpl #3189
    • πŸ”’ SEC-2971: Footnotes are messed up in online docs #3180

    ⬆️ πŸ”¨ Dependency Upgrades

    • ⚑️ Update to Gretty 2.3.1 #7389
    • ⚑️ Update to OpenSaml 3.3.1 #7388
    • ⚑️ Update to cglib 3.3.0 #7387
    • ⚑️ Update to Spring Data Moore RC3 #7386
    • ⚑️ Update to Spring Framework 5.2.0.RC2 #7371
    • ⚑️ Update to Spring Boot 2.2.0.M5 #7320
    • ⚑️ Update to org.seleniumhq.selenium:htmlunit-driver 2.36.0 #7319
    • ⚑️ Update to hibernate-entitymanager 5.4.4.Final #7318
    • ⚑️ Update to net.sourceforge.htmlunit:htmlunit 2.36.0 #7317
    • ⚑️ Update to commons-codec 1.13 #7316
    • ⚑️ Update to nimbus-jose-jwt 7.8 #7315
    • ⚑️ Update to GAE 1.9.76 #7314

    🍱 ❀️ Contributors

    πŸš€ We'd like to thank all the contributors who worked on this release!