Skip to content

Releases: spring-projects/spring-security

5.3.0.RELEASE

04 Mar 19:24
747d881

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

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

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

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

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

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

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

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

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

5.2.0.RELEASE

01 Oct 14:36

Choose a tag to compare

⭐ New Features

  • Add Hello RSocket Sample #7504
  • Add RSocket Reference #7502
  • CookieServerCsrfRepositoryTests should not start domain with a dot #7500
  • Add OAuth2 Resource Server to Modules Section #7498
  • Initial saml2 login docs #7495
  • SAML 2 Assertion - Always require signature validation #7490
  • Add Reactive Messaging CurrentSecurityContextPrincipalArgumentResolver #7488
  • CurrentSecurityContextArgumentResolver polishes #7487
  • Add ClientRegistration.withClientRegistration(ClientRegistration) #7486
  • Add hasAuthority method to RSocketSecurity #7478
  • Align Servlet ExchangeFilterFunction CoreSubscriber #7476
  • WebFluxSecurityConfiguration does not configure oauth2Client #7470
  • Allow to customize OAuth2AuthorizationRequestRedirectWebFilter in OAuth2LoginSpec #7467
  • Add ability to customize OAuth2AuthorizationRequestRedirectWebFilter in OAuth2LoginSpec #7466
  • Document Clear-Site-Data Support #7463
  • Document RFC 8414 Support #7462
  • Document Bearer Token Propagation #7461
  • Document Reactive Mock Jwt Testing #7460
  • Fixed typo in comment #7458
  • Use Schedulers.boundedElastic() #7457
  • AbstractUserDetailsReactiveAuthenticationManager uses newParallel #7456
  • Add hasAnyAuthority method in AuthorizePayloadsSpec.Access #7455
  • Add denyAll method in AuthorizePayloadsSpec.Access #7451
  • AuthenticationFilter's methods should be private #7447
  • AuthenticationFilter should provide session fixation protection #7446
  • Use Jwt.Builder #7443
  • Add AuthorizePayloadsSpec.Access denyAll, hasAnyRole, hasAnyAuthority #7437
  • Add AuthorizePayloadsSpec.Access hasAuthority #7435
  • Document Resource Server User-Info Usage #7431
  • Document Reactive Opaque Token Usage #7430
  • Document NimbusReactiveJwtDecoder #7425
  • Document Mock Jwt Testing #7424
  • Servlet ExchangeFilterFunctions should align #7422
  • Document Opaque Token Usage #7420
  • ServletBearerExchangeFilterFunction should propagate Authentication #7418
  • Document NimbusJwtDecoder #7408
  • Document Jwt.Builder #7407
  • Document OAuth2AuthenticatedPrincipal #7406
  • DefaultReactiveOAuth2AuthorizedClientManager should default ServerWebExchange #7390
  • Make OAuth2User extends OAuth2AuthenticatedPrincipal #7383
  • OAuth2User should extend OAuth2AuthenticatedPrincipal #7378
  • SamlAuthenticationProvider should propagate actual validation errors #7375
  • Add Reactive Messaging AuthenticationPrincipalArgumentResolver #7363
  • Allow Custom PayloadInterceptor to be Added #7362
  • Default RSocketSecurity #7361
  • Add nonce to OIDC Authentication Request #7337
  • Introduce LogoutSuccessEvent #7306
  • Mock Jwt should ensure that CSRF is not required #7170
  • Document BearerTokenResolver in reference #6254
  • Consider adding nonce to OIDC Authentication Request #4442
  • SEC-2680: Fire an event when logout has finished #2900

🪲 Bug Fixes

  • Correctly populate the AuthNRequest attributes #7496
  • AuthNRequest#Destination contains the SP entity ID, not the IDP SSO URI #7494
  • AbstractUserDetailsReactiveAuthenticationManager default Scheduler should be disposed #7492
  • Always validate saml2 signatures #7491
  • CurrentSecurityContext Javadoc should be about SecurityContext #7489
  • Fix AuthorizationPayloadInterceptor order using PayloadInterceptorOrd… #7450
  • SAML Response Skew is using the wrong type #7448
  • Jwt.Builder should keep notBefore as an Instant #7442
  • AuthorizePayloadsSpec uses AUTHENTICATION for AuthorizationPayloadInterceptor #7434
  • RSocketMessageHandlerITests could hang #7415
  • RSocketSecurity anyRequest delegates to anyExchange #7414
  • OpenSamlAuthenticationProvider should not throw AuthenticationServiceException #7377
  • OpenSamlAuthenticationProvider should propagate validation errors #7376
  • OAuth2AuthorizationCodeGrantWebFilter should not restrict redirect-uri #7036

🔨 Dependency Upgrades

  • Update to Spring Data Moore-RELEASE #7506
  • Remaining dependency upgrades for 5.2.0 #7505
  • Upgrade JSON jackson library to 2.10.0 #7480
  • Release/dependencies for 5.2 ga #7471
  • Update the AspectJ Gradle Plugin to 4.0.2 #7427
  • Update to Gradle 5.6.2 #7412
  • Upgrade to OpenSaml 3.4.3 #7392
  • Upgrade embedded Apache Tomcat to 9.0.24 #7384

❤️ Contributors

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