Skip to content

Conversation

@teetangh
Copy link
Contributor

@teetangh teetangh commented Jan 6, 2026

Summary

  • Upgrades Spring Boot from 3.5.7 to 4.0.1
  • Upgrades springdoc-openapi from 2.8.14 to 3.0.1
  • Fixes all breaking changes from Spring Boot 4 migration

Changes

  • build.gradle: Updated Spring Boot to 4.0.1 and springdoc-openapi to 3.0.1, added test dependencies
  • Application.java: Removed SecurityAutoConfiguration exclusion (class moved in Spring Boot 4)
  • RestResponsePage.java / RestResponseSlice.java: Fixed Jackson 3 compatibility (replaced JsonNode with Object)
  • Test files: Updated TestRestTemplate import to new package and added @AutoConfigureTestRestTemplate
  • application.properties / README.md: Updated version references to Spring Boot 4.0+

Test plan

  • All 18 integration tests pass locally with Java 17
  • CI passes with Java 17 and Java 21

Related PRs

This PR supersedes:

- Upgrade Spring Boot from 3.5.7 to 4.0.1
- Upgrade springdoc-openapi from 2.8.14 to 3.0.1
- Remove SecurityAutoConfiguration exclusion (class moved in Spring Boot 4)
- Add spring-boot-starter-webmvc-test and restclient dependencies for tests
- Update TestRestTemplate import to new package location
- Add @AutoConfigureTestRestTemplate annotation to test classes
- Fix Jackson 3 compatibility in RestResponsePage and RestResponseSlice
- Update version references in README.md and application.properties
- Enable springdoc API docs (disabled by default in 3.x)

All 18 integration tests passing with Java 17 and 21.
@gemini-code-assist
Copy link

Summary of Changes

Hello @teetangh, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily focuses on a significant upgrade of the application's core frameworks, moving from Spring Boot 3.5.7 to 4.0.1 and updating springdoc-openapi to version 3.0.1. This modernization effort involves resolving various breaking changes, updating build configurations, and ensuring continued functionality and test coverage with the new versions. The goal is to leverage the latest features and maintain compatibility with the evolving Spring ecosystem.

Highlights

  • Spring Boot Upgrade: The project has been upgraded from Spring Boot 3.5.7 to 4.0.1, incorporating the latest features and improvements from the new major version.
  • springdoc-openapi Update: The springdoc-openapi library has been updated from version 2.8.14 to 3.0.1, aligning with the new Spring Boot version and enabling API documentation by default.
  • Breaking Change Resolution: All identified breaking changes resulting from the Spring Boot 4 migration have been addressed, ensuring application compatibility and smooth operation.
  • Test Infrastructure Modernization: Test dependencies and configurations have been updated, including the TestRestTemplate import and the addition of @AutoConfigureTestRestTemplate for improved testing practices.
  • Jackson Compatibility Fixes: RestResponsePage and RestResponseSlice models were updated to use Object instead of JsonNode to maintain compatibility with Jackson 3, which is a dependency of Spring Boot 4.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@teetangh teetangh self-assigned this Jan 6, 2026
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request upgrades Spring Boot to 4.0.1 and springdoc-openapi to 3.0.1, including necessary code changes to address breaking changes. The dependency updates, configuration changes, and test adjustments seem correct for the migration. However, I found a potential issue in the updated deserialization logic for RestResponseSlice that could lead to incorrect pagination behavior on the client-side. My review includes a specific suggestion to fix this.

@teetangh teetangh merged commit 496aebc into main Jan 6, 2026
5 checks passed
@teetangh teetangh deleted the fix/spring-boot-4-upgrade branch January 6, 2026 08:50
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