On January 20, 2022, Spring officially released the first milestone release of Spring Boot 3.0.0, M1.

Here are some of the major changes to Spring Boot 3.0.0 M1:

The Java baseline was upgraded from Java 8 to Java 17

This was already known in the earliest Spring Boot 3-related teaser that Java 17 would be the mainstream version of the future. So the question is, are Java 17 upgrades on everyone’s agenda?

From Java EE APIs to Jakarta EE

Starting with Spring Boot 3, all Java EE apis need to be migrated to Jakarta EE.

Most users replace Javax with Jakarta when they need to modify the import related API. For example, javax.servlet.Filter needs to be replaced with jakarta.servlet.filter.

However, there are also third-party libraries that rely on Java EE apis that are not yet well supported, so support for such components will be removed in Spring Boot 3 for the time being (EhCache 3, Infinispan, Jolokia, Pooled JMS, etc.).

Therefore, the current M1 version will have some features missing compared to the 2.x version. Of course, most of them will be temporary, with Spring Boot officially reintroducing them after the release of the Jakarta compatible library.

This support has been removed

Support for these features has been removed and Hazelcast 3 has been added compared to the previous SNAPSHOT release

  • Apache ActiveMQ
  • Atomikos
  • EhCache 2
  • Hazelcast 3

Depend on the upgrade

Dependent versions of related Spring projects:

  • Micrometer 2.0.0 – M1
  • Spring AMQP 3.0.0-M1
  • Spring Batch 5.0.0 – M1
  • Spring Data 2022.0.0 – M1
  • Spring Framework 6.0.0 – M2
  • Spring Integration 6.0.0 – M1
  • Spring bases for 2.0.0 – M1
  • Spring Kafka 3.0.0 – M1
  • Spring LDAP 3.0.0 – M1
  • Spring REST Docs 3.0.0 – M1
  • Spring Security 6.0.0 – M1
  • The Spring Session 2022.0.0 – M1
  • Spring Web Services 4.0.0 – M1

Dependent versions of third-party libraries:

  • Artemis 2.20.0
  • Hazelcast 5.0
  • Hibernate Validator 7.0
  • The Jakarta Activation 2.0
  • The Jakarta Annotation 2.0
  • The Jakarta JMS 3.0
  • The Jakarta JSON 2.0
  • The Jakarta JSON Bind 3.0
  • The Jakarta Mail 2.0
  • The Jakarta Persistence 3.0
  • The Jakarta Servlet 5.0
  • Jakarta Servlet JSP JSTL 2.0
  • The Jakarta Transaction 2.0
  • The Jakarta Validation 3.0
  • The Jakarta WebSocket 2.0
  • The Jakarta WS RS 3.0
  • Bind the Jakarta XML 3.0
  • The Jakarta XML Soap 2.0
  • Jetty 11
  • JOOQ 3.16
  • Tomcat 10

Future plans

The Spring Boot team will be releasing a new milestone release every two months, so the M2 release is expected on March 24th and the GA release is expected in late November.

The resources

Spring. IO/blog / 2022/0…