Skip to content

Spring Initializr 0.20 Release Notes

Stéphane Nicoll edited this page Jul 11, 2023 · 2 revisions

Upgrading from Initializr 0.13

Initializr 0.20 uses Spring Boot 3, and therefore requires Java 17.

ProjectGenerationContext disables proxyBeanMethods by default

Configuration classes annotated with @ProjectGenerationContext do not proxy bean methods by default anymore. If you were relying on 'inter-bean references' via direct method calls, you will need to set the attribute to true explicitly.

New and Noteworthy

Improved Code Generation Support

Code generation has been improved in the following areas:

  • Method bodies can now define arbitrary statements using CodeBlock.

  • Annotations support has been greatly improved, with namely support of nested annotations.

Gradle Build

Arbitrary code snippets can be added to a Gradle build.

Maven Build

Add support of Maven extensions.

Support for Gradle 8

Support for Gradle 8 is available.

Dependency Upgrades

Spring Initializr 0.20 moves to Spring Boot 3.1.

Numerous third-party dependencies have also been updated, some of the more noteworthy of which are the following:

  • Gradle 7.6.2

  • Maven 3.9.3

Miscellaneous

Apart from the changes listed above, there have also been lots of minor tweaks and improvements including:

  • Support for resolving plugin versions from a POM.

  • Improved build and raw text test assertions.

Deprecations in Spring Initializr 0.20

  • Support for Gradle 6.

  • [Java|Kotlin|Groovy] expressions are deprecated in favor of CodeBlock.

  • A number of methods on Annotation have been deprecated in favor of the container and Annotation#of.

  • A Parameter should be created using the builder and its public constructor is now deprecated.