Skip to content

Spring Initializr 0.9 Release Notes

Stéphane Nicoll edited this page Jan 21, 2022 · 2 revisions

Upgrading from Initializr 0.8

Metadata refresh

By default, the metadata are no longer refreshed automatically and only the platform versions defined in configuration are used. If you were previously relying on that feature to get the latest Spring Boot versions, a bean should be configured explicitly:

@Bean
public SaganInitializrMetadataUpdateStrategy initializrMetadataUpdateStrategy(
		RestTemplateBuilder restTemplateBuilder, ObjectMapper objectMapper) {
	return new SaganInitializrMetadataUpdateStrategy(restTemplateBuilder.build(), objectMapper);
}
Note
Defining this strategy means that a large number of requests can be issued to spring.io to check if a new Spring Boot version is available. Make sure to configure caching before enabling this feature.

New and Noteworthy

Support for SemVer format

A number of Spring projects have moved to semantic versioning format. This release provides support for this new format, serving backward compatible format for clients that do not support it yet.

A new metadata version (application/vnd.initializr.v2.2+json) is available to serve those versions as is.

Maven build improvements

The MavenBuild support has been improved with the ability to configure and write a number of additional elements:

  • License information

  • Developers

  • Distribution management

  • finalName

Warning section in HELP.md

A HelpDocumentCustomizer can register "warning" items that are rendered at the top of the document.

Gradle 6 support

Support for Gradle 6 is available and automatically used for Spring Boot 2.2+ projects.

Platform compatibility range

It is possible to prevent the generation of a project that does not meet a configurable compatibility range. To use this feature, set the initializr.env.platform.compatibility-range property.

Repository mapping

A dependency can provide an alternative repository using a mapping.

Dependency classifier

A dependency can define a classifier.

ProjectDescription diff

It is possible to "diff" the original ProjectDescription as specified by the user with the one effectively used to generate the project. This can be useful to warn users that some settings where changed.

Dependency Upgrades

Spring Initializr 0.9 moves to Spring Boot 2.3.

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

  • Apache Maven 3.6.3

  • Gradle 6.4.1

Miscellaneous

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

  • Package name containing reserved keywords are cleaned up.

  • Fix line separator in cURL and HTTPie examples.

Deprecations in Spring Initializr 0.9

None.