Skip to content

Upgrade/spring boot3 jdk25 - #160

Open
GSAlex wants to merge 3 commits into
lcomplete:mainfrom
GSAlex:upgrade/spring-boot3-jdk25
Open

Upgrade/spring boot3 jdk25#160
GSAlex wants to merge 3 commits into
lcomplete:mainfrom
GSAlex:upgrade/spring-boot3-jdk25

Conversation

@GSAlex

@GSAlex GSAlex commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

upgrade to Spring Boot 3.5.11 + JDK 25

  • Spring Boot 2.6.14 → 3.5.11, Java 11 → 25
  • javax.persistence/servlet/validation → jakarta.*
  • Springfox → Springdoc OpenAPI
  • Custom SQLiteDialect → hibernate-community-dialects
  • Spring Security 6.x lambda DSL (requestMatchers)
  • Logback: fix springProfile nesting + %M() pattern
  • Restore ant_path_matcher for SPA routing
  • Dockerfiles updated to eclipse-temurin:25
  • Lombok 1.18.44, SQLite-JDBC 3.51.3.0

Verified the server build, tests, package output, Docker image startup and normal usage.
已验证服务端构建、测试、打包产物以、 Docker 镜像启动及正常使用。

GSAlex added 3 commits June 13, 2026 17:23
- Spring Boot 2.6.14 → 3.5.11, Java 11 → 25
- javax.persistence/servlet/validation → jakarta.*
- Springfox → Springdoc OpenAPI
- Custom SQLiteDialect → hibernate-community-dialects
- Spring Security 6.x lambda DSL (requestMatchers)
- Logback: fix springProfile nesting + %M() pattern
- Restore ant_path_matcher for SPA routing
- Dockerfiles updated to eclipse-temurin:25
- Lombok 1.18.44, SQLite-JDBC 3.51.3.0
Rename the legacy DocketConfig class to OpenApiConfig after migrating from
Springfox to springdoc. The OpenAPI bean behavior remains unchanged.
Permit ASYNC and ERROR dispatcher types in the Spring Security chain so SSE
requests are not re-authorized after the response has already been committed.
Regular API requests remain protected by the existing /api/** rules.
@augmentcode

augmentcode Bot commented Jun 13, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Upgrades the Huntly server stack to Spring Boot 3.5.11 and JDK 25, modernizing the framework baseline and aligning the codebase with Jakarta EE APIs.

Changes:

  • Upgraded Spring Boot 2.6.14 → 3.5.11 and Java 11 → 25 across the multi-module Maven build.
  • Migrated `javax.*` (servlet/validation/persistence) imports to `jakarta.*` throughout interfaces, JPA, and server modules.
  • Replaced Springfox (Swagger) with Springdoc OpenAPI; removed the old `DocketConfig` and added a Springdoc `OpenAPI` bean.
  • Removed the custom SQLite dialect/initializer and switched Hibernate to `hibernate-community-dialects` with `org.hibernate.community.dialect.SQLiteDialect` configured.
  • Updated Spring Security configuration to the Spring Security 6 lambda DSL using `requestMatchers`.
  • Adjusted Logback configuration (profile scoping + method token) and kept Ant-style path matching for SPA forwarding.
  • Updated Docker build/runtime images to Eclipse Temurin 25.

Technical Notes: This is a large baseline upgrade; dialect and security matcher behavior changes are the primary areas to re-validate during rollout.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

.requestMatchers("/api/health").permitAll()
.requestMatchers("/swagger-ui/**").permitAll()
.requestMatchers("/v3/api-docs/**").permitAll()
.requestMatchers("/api/**").authenticated()

@augmentcode augmentcode Bot Jun 13, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.anyRequest().permitAll() makes every non-/api/** endpoint publicly accessible; please double-check there aren’t any sensitive or state-changing controllers mounted outside the /api namespace (e.g., management endpoints) that should remain authenticated.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

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.

1 participant