For full release notes, see What's New in Strategy.
See the following list of upgraded third party libraries used in Strategy Library and Web that effects customizations:
Library Name | Upgrade Notes |
|---|---|
Spring Framework
| 6.2.18 > 7.0.8 |
Spring Boot
| 3.5.14 > 4.1.0 |
Spring Security
| 6.5.10 > 7.1.0 |
Spring Session
| 3.3.3 > 4.1.0 |
Spring AMQP
| 3.0.10 > 4.1.0 |
Eclipse Jersey
| 3.1.5 > 4.0.2 |
OpenSAML
| 4.1.0 > 5.2.2 |
Jackson 3
| Newly added 3.2.0 Used by Spring Boot. Co-exists with Jackson 2. |
| 6.0.0 > 6.1.0 Strategy no longer supports JBoss EAP due to a lack of Servlet 6.1 support |
| 3.1.1 > 4.0.0 |
| 3.0.2 > 3.1.1 |
| 2.1.1 > 3.0.0 |
| 3.3.0 > 3.6.0 Upgraded to Spring Security 7 equivalent: |
Several third-party dependencies are upgraded to match the Spring 7 update. This version includes system breaking changes, so direct use of these dependencies in customization code may require updates. See the Spring component migration guide or each dependency's release notes for the required changes.
See the following common changes in the new third-party dependencies.
Spring Framework 7 removed support for javax.annotation and javax.inject APIS. Migration involves replacing them with the Jakarta equivalents. See the following example:
Prior Migration:
import javax.annotation.Resource;
Updated Migration:
import jakarta.annotation.Resource;
AntPathRequestMatcher and MvcRequestMatcher reached end-of-life in Spring Security 7. In most cases, replace these values with PathPatternRequestMatcher.
Note: PatPatternRequestMatcher supports different patterns than AntPathRequestMatcher. For example, PathPatternRequestMatcher does not support ** in the middle of a pattern, such as /plugins/**/*.js. For supported patterns, see the PathPattern java doc.
Some changes were made to the Spring Security XML configuration due to class deprecation and updates. Review the following bean items to check they are overwritten during customization. If so, corresponding changes must be applied.
Strategy now uses Spring Security SAML provider with OpenSAML 5. See the following list of updated beans:
Bean Name | Changes |
|---|---|
| Original:
Updated:
|
| Original:
Updated:
|
| Original:
Updated:
|
Strategy replaced deprecated Spring Security OAuth2 classes from Library web and Strategy Web OIDC bean definitions:
Original:
<bean id="oidcTokenResponseClient" class="org.springframework.security.oauth2.client.endpoint.DefaultAuthorizationCodeTokenResponseClient">
<property name="requestEntityConverter" ref="requestEntityConverter"/>
</bean>
<bean id="requestEntityConverter" class="com.microstrategy.auth.oidc.OidcResponseMessageConverterWithPkce"/>Updated:
<bean id="oidcTokenResponseClient" class="org.springframework.security.oauth2.client.endpoint.RestClientAuthorizationCodeTokenResponseClient">
<property name="parametersConverter" ref="requestParametersConverter"/>
</bean>
<bean id="requestParametersConverter" class="com.microstrategy.auth.oidc.OidcResponseMessageConverterWithPkce"/>On Library Web authentication/authorization, Strategy replaced the deprecated use of access decision manager with a new MstrAuthorizationManager:
Original:
<security:http auto-config="false" entry-point-ref="mstrLoginEntryPoint" access-decision-manager-ref="mstrAccessDecisionManager" use-authorization-manager="false" authentication-manager-ref="namespaceAuthenticationManager">
...
</security:http>
<bean id="mstrAccessDecisionManager" class="com.microstrategy.auth.MstrAccessDecisionManager" />Updated:
<security:http auto-config="false" entry-point-ref="mstrLoginEntryPoint" authorization-manager-ref="mstrAuthorizationManager" authentication-manager-ref="namespaceAuthenticationManager">
...
</security:http>
<bean id="mstrAuthorizationManager" class="com.microstrategy.auth.MstrAuthorizationManager" />