Skip to content

[SCA] Security upgrade @org.springframework:spring-web from 3.2.6.RELEASE to 6.2.17 #175

Open
gwnlng wants to merge 1 commit into
mainfrom
snyk-fix-a53214564167b60e92234b2185fd7125
Open

[SCA] Security upgrade @org.springframework:spring-web from 3.2.6.RELEASE to 6.2.17 #175
gwnlng wants to merge 1 commit into
mainfrom
snyk-fix-a53214564167b60e92234b2185fd7125

Conversation

@gwnlng
Copy link
Copy Markdown
Owner

@gwnlng gwnlng commented Apr 21, 2026

snyk-top-banner

This is a PR from Snyk, initiated by the Security team, to fix 6 vulnerabilities in the dependencies of this project.

Snyk changed the following file(s):

  • todolist-goof/pom.xml

Important

  • This PR was automatically generated by our security tool to help you fix known vulnerabilities in your project's third-party libraries more efficiently. However, there is a possibility that these changes could introduce functional regressions or breakages. Please ensure you test this PR thoroughly before merging.
  • If you have any questions or concerns, please seek support in the #sca-support Slack channel.

References:

  1. Latest project report in Snyk
  2. How to access Snyk via SSO?
  3. Snyk knowledge base

@gwnlng
Copy link
Copy Markdown
Owner Author

gwnlng commented Apr 21, 2026

Merge Risk: High

This is a major version upgrade from Spring Framework 3.2 to 6.2, which is a massive leap spanning three major versions (v4, v5, v6) and over a decade of evolution. This upgrade introduces substantial breaking changes that will require significant code and configuration refactoring.

Key Breaking Changes:

  • Java Version Requirement: Spring Framework 6.0 requires Java 17 as a minimum baseline. This is a significant jump from Spring 3.2, which was compatible with Java 6.
  • Jakarta EE Namespace Migration: Spring 6 has migrated from Java EE to Jakarta EE. This means all javax.* package imports (like javax.servlet and javax.persistence) must be changed to jakarta.*. This is a codebase-wide change that is mandatory.
  • Removal of Deprecated Classes: Many classes and methods deprecated in versions 4 and 5 have been removed in Spring 6. This includes several RPC-style remoting features and the org.springframework.orm.hibernate3 package.
  • Spring MVC Changes:
    • Trailing slash matching is now disabled by default. A request to GET /endpoint/ will no longer match a @GetMapping("/endpoint").
    • HttpMethod is now a class, not an enum, which may affect switch statements.
    • RestTemplate and its HttpComponentsClientHttpRequestFactory now require Apache HttpClient 5.
  • Core Messaging Abstractions Moved: In the upgrade to v4, core messaging abstractions like Message and MessageChannel were moved to the spring-messaging module, requiring import changes.
  • Environment and Dependency Upgrades: The upgrade requires newer versions of dependent libraries, such as Tomcat 10+, Jetty 11+, and Hibernate 6.1+.

Recommendation: This is a very high-effort migration that should be treated as a major project, not a simple dependency bump. A phased approach is recommended:

  1. First, migrate the application from Spring 3.2 to the latest Spring 4.3 release.
  2. Then, migrate from 4.3 to the latest Spring 5.3 release, which requires a Java 8 baseline.
  3. Finally, undertake the migration from 5.3 to 6.x, which includes the Java 17 and Jakarta EE changes.

Automated refactoring tools like OpenRewrite can assist with some of the mechanical changes like package renaming.

Sources:

Notice 🤖: This content was augmented using artificial intelligence. AI-generated content may contain errors and should be reviewed for accuracy before use.

@gwnlng
Copy link
Copy Markdown
Owner Author

gwnlng commented Apr 21, 2026

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants