Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discussion: Upgrade to Spring Boot 3 #143

Closed
timonback opened this issue Feb 3, 2023 · 6 comments
Closed

Discussion: Upgrade to Spring Boot 3 #143

timonback opened this issue Feb 3, 2023 · 6 comments
Labels
question Further information is requested

Comments

@timonback
Copy link
Member

Spring Boot 3 has been released recently, and you have started to ask us if/when a springwolf release officially supporting Spring Boot 3 will be released.
This issue exists to discuss the approach we want to take and understand the needs of the community.

Right now, springwolf uses Spring Boot 2.7 and Java 1.8.
We like to upgrade, but also want to support users, who cannot update to Spring Boot 3 (yet).

I see multiple paths moving forward:

  1. We upgrade to Spring Boot 3 (and Java 17) - with no further (bugfix) releases for older versions.
  2. We upgrade in X weeks/months, so that new features can still come in and then upgrade.
  3. We branch off a Spring Boot 2.7 branch and upgrade to Spring Boot 3 on the master branch. We release versions from both branches (i.e. springwolf-0.0.0 and springwolf-0.0.0-springboot2). Development happens with Spring Boot 3, with the option to backport/cherry-pick changes to the branched off Spring Boot 2.7 branch - purely on best effort.
  4. (Support both Spring Boot version including new features. Likely not possible due to limited time.)

To me, option 2 seems like a good tradeoff, although I wouldn't want to wait too long as people are already upgrading. Option 3 might be possible with more support.
@stavshamir What are your thoughts?

@timonback timonback added the question Further information is requested label Feb 3, 2023
@sam0r040
Copy link
Collaborator

sam0r040 commented Feb 6, 2023

Not sure if it's a good idea, but I could think of another flavor of option 3: Develop on main using Spring Boot 2.x and have a Spring Boot 3 Branch which gets rebased on main to get new features and only adapt for usage with Spring Boot 3. Of course this might/will break at some point (too many changes for boot 3, feature only possible in boot 3), but until then it might work with reasonable efforts. So I would see it as an option to buy us some time ...

@geigervlad
Copy link

Maybe some helpful information from our team:

We get a critical security issue with springboot 2.7.6 therefore we decided to upgrade to 3.0.2.

org.springframework:spring-web (spring-web-5.3.25.jar)
CVE-2016-1000027
CRITICAL
version: 5.3.25
fixed in: 6.0.0

We also think security updates for springboot 2.x.x will go downwards from here on.

@nielssiebert
Copy link

nielssiebert commented Feb 12, 2023

We also ended up not waiting for SpringWolf to upgrade to Spring Boot 3 and and upgraded our project despite Springwolf not working and using the vm-option --add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED" to get the project booting. Thanks for the hint @timonback :)
In the end we made SpringWolf running by overriding all SpringWolf Beans (e.g. DefaultChannelsService) neccessary for our use case that had a @javax.annotation.PostConstruct annotation. Basically copying the code, fixing the imports and adding the @Primary annotation to the new Class.

@timonback
Copy link
Member Author

Relates to: #146

@timonback
Copy link
Member Author

Update: We will move forward with option 1.
The next release will support spring boot 3 and requires at least java 17

Also, springwolf-amqp:0.6.0, springwolf-cloud-stream:0.1.0 and springwolf-kafka:0.10.3 are going to be the last version supporting spring boot 2.X

@timonback timonback moved this to In Progress in Springwolf Mar 15, 2023
@timonback
Copy link
Member Author

The new version of springwolf has been released, including Spring Boot 3 support.

  • springwolf-amqp:0.7.0
  • springwolf-cloud-stream:0.2.0
  • springwolf-kafka:0.11.0

As mentioned before, if you can't upgrade to Spring Boot 3, stick to the previous versions springwolf-amqp:0.6.0, springwolf-cloud-stream:0.1.0 and springwolf-kafka:0.10.3

@github-project-automation github-project-automation bot moved this from In Progress to Done in Springwolf Apr 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
Status: Done
Development

No branches or pull requests

4 participants