A big announcement was made at SpringOne: Spring Framework 6 and Spring Boot 3 are scheduled to reach production-ready release standards by the fourth quarter of 2022.

The complete release roadmap for Spring 6.0 is as follows:

A brief explanation of the differences between the different versions:

  • M1 M2 M3 M4 M stands for Milestone. The representation function may not be complete, and there may be some problems.
  • RC1 RC2 RC3 RC is short for Release Candidate, which translates to Release Candidate. Represents a complete and relatively stable function, mainly for problem solving.
  • GA stands for General Availability. It stands for stable, production-ready versions.

Spring Framework 6 can be said to be the next major project of Spring planning, marking the new era of Spring, to a large extent, Spring can continue to the past glory.

In terms of Framework design, Spring Framework 6 is relatively radical. Spring Framework 6 and Spring Boot 3 require at least JDK 17 at runtime, and at least Tomcat 10 / Jetty 11 (for compatibility with Jakarta EE 9).

Jakarta EE : Java EE, Java Platform Enterprise Edition, formerly known as Java 2 Platform, Enterprise Edition (J2EE), It was renamed Jakarta EE in March 2018

This was also agreed upon by Spring officials after much deliberation.

JDK 17 will replace JDK 11 as the next long-supported JDK release before its release in the fourth quarter of 2022. It’s also in preparation for JDK 18 and JDK 19, Jakarta EE 10.

While JDK 11 is officially considered an interim version of the JDK, JDK 17 is an almost entirely new programming language that enhances and improves the API and JVM, making upgrading JDK 17 a more attractive option.

The exact words are as follows: “In comparison, JDK 11 is a transitional release. Also, JDK 17 provides an expanded budget of recent language, API and JVM Enhancements, making it a more compelling upgrade.”

Spring Framework 5.3.x and Spring Boot 2.x are still under active development for the time being, and Spring Boot 2.6 and Spring Boot 2.7 will still be based on Spring Framework 5.3.x.

Spring Boot 2.6 is expected in November and Spring Boot 2.7 in May.

SpringOne also gave a detailed look at Spring Native and the latest developments.

What is Spring Native? The official description is as follows:

“Spring Native provides beta support for compiling Spring Boot applications to Native executables with GraalVM, Providing a new way to deploy Spring Boot applications that then run extremely efficiently.”

Simply put, this is a technique for compiling Spring applications into native images using GraalVM, which you can think of as a new way to deploy Spring Boot applications more efficiently and quickly!

Spring Native usually takes longer to build, but has significant advantages in container image size, memory footprint, and startup time.

I strongly suggest you find the corresponding PPT (I have sorted it out, you can get it at the end of the paper) and watch the video. The explanation is very clear.

In response to the challenges of other programming languages in the cloud native era, Spring says it is doing its best to build a robust Java cloud native ecosystem. Wait and see!

Related information:

  • From Spring Framework 5.3 to 6.0
  • A Java 17 and Jakarta EE 9 baseline for Spring Framework 6