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

Plan to update for Spring Boot 3 #125

Closed
hamidsafdari opened this issue Dec 19, 2022 · 5 comments
Closed

Plan to update for Spring Boot 3 #125

hamidsafdari opened this issue Dec 19, 2022 · 5 comments

Comments

@hamidsafdari
Copy link

Hi,

Are there are any plans to update this library for Spring Boot 3? It looks like a lot have changed with the new version of Spring Boot. For example, the minimum Java version is 17, javax support has been removed and jakarta libraries have replaced them and there are breaking changes with how security is configured. Many dependencies have also been updated to their most recent versions.

Trying to upgrade a project to Spring Boot 3 with graphql-spqr-spring-boot-starter as a dependency seems like a no-go for the moment. It also takes considerable effort for a project that heavily depends on this library to use a different solution like Spring GraphQL or GraphQL Java. Please correct me if I've got that wrong.

It's also true that updating this library to accommodate for those changes will mean that the projects depending on older versions of Spring Boot cannot benefit from bug fixes and improvements. Perhaps this library could finally graduate to a major version, or maybe a branch could hold the 0.0.6 improvements.

@kaqqao
Copy link
Member

kaqqao commented Dec 24, 2022

The just released version 0.0.7 will likely be the last version based on Spring Boot 2. But also likely the last version of this starter in its current form.

When I first made this project, there was nothing in Spring to support GraphQL. So this starter had to implement all the network/infrastructure level stuff on its own (e.g. implement the de facto standard GraphQL-over-HTTP/WS/SSE etc specifications, across Spring's MVC and WebFlux stacks). This is a ton of work to maintain, chasing each version of Spring Boot and graphql-java, that no longer makes sense.

For these reasons, going forward, I'll rebase the project onto Spring GraphQL, benefitting from all the development on that project instead of playing catch-up with it. This will be a major breaking change (Spring Boot 3 being the new base, for one) but it will leave the project in a much healthier shape. And since I don't foresee too much migration pain for the end-user (I doubt many users reconfigured protocol-level stuff that is now being replaced with Spring GraphQL's equivalents), I think this is more than worth it in the long run.

@EronAlves1996
Copy link

EronAlves1996 commented Dec 29, 2022

Actually, I'm playing around with 0.0.7 release with spring boot 3.0.0, is likely working right now, going with some few bugs to launch GraphiQL, requiring obligatory configuration. I'll see the cause for this and open an issue.

EDIT:

Just get the problem. It gonna be solved only with update to Spring Boot 3 (@PostConstruct annotation is imported on javax.annotation. Spring boot 3 uses Servlet API 6.0.0, so the import for this version is jakarta.annotation).

@mdtamim
Copy link

mdtamim commented Jan 31, 2023

@kaqqao when are you planning to release spqr with support for Java 17 and Spring boot 3?We are planning to migrate to Spring boot 3 asap as all spring web 5.x.x versions are impacted by vulnerability to Remote Code Execution https://mvnrepository.com/artifact/org.springframework/spring-web) .

@ErtugrulSener
Copy link
Contributor

ErtugrulSener commented Jun 27, 2023

The update to Spring Boot 3 has been done already, a new version "1.0.0" will be released soon. See here for more details: #133

I think we should create a new issue for the Spring GraphQL Starter stuff (which was mentioned above but in my point of view: It's out of scope for this issue).,

@kaqqao
Copy link
Member

kaqqao commented Jun 27, 2023

v1.0.0 is out

@kaqqao kaqqao closed this as completed Jun 27, 2023
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

No branches or pull requests

5 participants