-
Notifications
You must be signed in to change notification settings - Fork 278
-
Hi all, I’m happy to announce that the first release candidate for version 2.5 is available. It diverges from the first milestone released in 2020 by reverting the minimum Java requirement back to Java 8 to be consistent with the 2.4 version launched last June.
Our main objectives for 2.5 are to facilitate installation of the framework, reduce the maintenance burden by transitioning the community away from 2.4 as smoothly and as quickly as possible due its heavier maintenance cost. To achieve those objectives, we reduced the scope of work to achieve only three key results.
First, we have completely moved the complicated, multi-editions Ant build to Maven only, keeping just two formal editions, each with a different code base, one for Java (compatible with Java SE/EE, GAE, Android and OSGi environments) and one for GWT (compatible with major browsers).
Second, we are now publishing the snapshots to GitHub Packages, using the current "2.5-SNAPSHOT" artifact version.
Finally, tagged releases are now published directly into Maven Central, a long time request from the community that we could only achieve after deeply refactoring the code base and the build itself.
Big thanks to Thierry Boileau who has done most of the heavy lifting in the code base, build refactoring and publishing. Yurii Serhiichuk and Cyprien Quilici have also significantly contributed to the Mavenization of the build, while Thomas J. Taylor and Tim Peierls have provided key contributions. Several other persons have contributed useful feedback, reported issues and helped with hosting related tasks.
We encourage you to test this 2.5 RC1 version in the next two weeks and to report any issue. We have a few additional tests we want to do and additional documentation to update (incl. the hosted Javadocs) and look forward to releasing 2.5.0 early in December.
For additional details about this release, please consult those documents:
In parallel, we will soon create a 2.6 branch with the objectives to facilitate long term support including of our key dependencies (Java 17, Jakarta EE 9, Jetty 12 and Spring 6.1 and GWT 1.12 in particular), to further reduce the heritage scope to maintain, and to facilitate community contributions. We plan to release 2.6.0 in January as some key dependencies will go out of free OSS support at that time.
Once 2.5 and 2.6 versions are released, we plan to resume work on a 3.0 version with a renewed focus on innovation rather than maintenance. We will continue to refine the roadmap in this wiki page. Feedback is always welcome.
Best regards,
Jerome Louvel
Beta Was this translation helpful? Give feedback.
All reactions
-
🎉 2
Replies: 2 comments 3 replies
-
Congratulations!
Is this the right place to make comments on 2.5.0-rc1, or should I be creating an issue for each question/concern that comes up?
This is motivated by a question I have about why org.restlet.ext.guice extension depends on Guice 6.0.0:
restlet-framework-java/pom.xml
Line 73 in 3559c76
It works with Guice 4 and probably earlier.
Beta Was this translation helpful? Give feedback.
All reactions
-
Hi @Tembrel Yes, it's great to discuss here.
While @thboileau managed the update of those dependent libraries, I think the general approach has been to upgrade as much as possible to the latest stable versions in order to get supported libraries, especially from a security standpoint. Guice 7.0 being dependent on Jakarta APIs, it didn't look that it would be consistent with the other dependencies still based on Java EE APIs, hence going one version down with Guice 6.0 was the result.
What would you recommend us doing? I guess it is always possible to override the dependency version in your own POM, but the idea would be to suggest the best default version.
Beta Was this translation helpful? Give feedback.
All reactions
-
I use Java 8 and Guice 4.1.0, because I have other dependencies that prevent me from moving to Guice 5, but Java 9+ users will want at least Guice 5.
But I don't know enough about library management or Maven to recommend anything to you. I was able to override the dependency in my Ivy dependency file, so maybe it's fine as it is.
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
Beta Was this translation helpful? Give feedback.
All reactions
-
I don't know what the right answer is here. Guice 6 is the last major version to support javax.inject, on which the Guice extension is based. It probably would be easy to write a jakarta.inject version of the extension.
It was very easy for me to modify my build to use 4.1.0 instead of 6, so I'm fine with leaving things as they are.
Beta Was this translation helpful? Give feedback.