Spring Boot

Overview

Spring Boot Build Status Chat Revved up by Gradle Enterprise

Spring Boot helps you to create Spring-powered, production-grade applications and services with absolute minimum fuss. It takes an opinionated view of the Spring platform so that new and existing users can quickly get to the bits they need.

You can use Spring Boot to create stand-alone Java applications that can be started using java -jar or more traditional WAR deployments. We also provide a command line tool that runs Spring scripts.

Our primary goals are:

  • Provide a radically faster and widely accessible getting started experience for all Spring development.

  • Be opinionated, but get out of the way quickly as requirements start to diverge from the defaults.

  • Provide a range of non-functional features common to large classes of projects (for example, embedded servers, security, metrics, health checks, externalized configuration).

  • Absolutely no code generation and no requirement for XML configuration.

Installation and Getting Started

The reference documentation includes detailed installation instructions as well as a comprehensive getting started guide.

Here is a quick teaser of a complete Spring Boot application in Java:

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;

@RestController
@SpringBootApplication
public class Example {

	@RequestMapping("/")
	String home() {
		return "Hello World!";
	}

	public static void main(String[] args) {
		SpringApplication.run(Example.class, args);
	}

}

Getting help

Are you having trouble with Spring Boot? We want to help!

Reporting Issues

Spring Boot uses GitHub’s integrated issue tracking system to record bugs and feature requests. If you want to raise an issue, please follow the recommendations below:

  • Before you log a bug, please search the issue tracker to see if someone has already reported the problem.

  • If the issue doesn’t already exist, create a new issue.

  • Please provide as much information as possible with the issue report. We like to know the Spring Boot version, operating system, and JVM version you’re using.

  • If you need to paste code or include a stack trace, use Markdown. ``` escapes before and after your text.

  • If possible, try to create a test-case or project that replicates the problem and attach it to the issue.

Building from Source

You don’t need to build from source to use Spring Boot (binaries in repo.spring.io), but if you want to try out the latest and greatest, Spring Boot can be built and published to your local Maven cache using the Gradle wrapper. You also need JDK 1.8.

$ ./gradlew publishToMavenLocal

This will build all of the jars and documentation and publish them to your local Maven cache. It won’t run any of the tests. If you want to build everything, use the build task:

$ ./gradlew build

Modules

There are several modules in Spring Boot. Here is a quick overview:

spring-boot

The main library providing features that support the other parts of Spring Boot. These include:

  • The SpringApplication class, providing static convenience methods that can be used to write a stand-alone Spring Application. Its sole job is to create and refresh an appropriate Spring ApplicationContext.

  • Embedded web applications with a choice of container (Tomcat, Jetty, or Undertow).

  • First class externalized configuration support.

  • Convenience ApplicationContext initializers, including support for sensible logging defaults.

spring-boot-autoconfigure

Spring Boot can configure large parts of typical applications based on the content of their classpath. A single @EnableAutoConfiguration annotation triggers auto-configuration of the Spring context.

Auto-configuration attempts to deduce which beans a user might need. For example, if HSQLDB is on the classpath, and the user has not configured any database connections, then they probably want an in-memory database to be defined. Auto-configuration will always back away as the user starts to define their own beans.

spring-boot-starters

Starters are a set of convenient dependency descriptors that you can include in your application. You get a one-stop-shop for all the Spring and related technology you need without having to hunt through sample code and copy paste loads of dependency descriptors. For example, if you want to get started using Spring and JPA for database access, include the spring-boot-starter-data-jpa dependency in your project, and you are good to go.

spring-boot-cli

The Spring command line application compiles and runs Groovy source, allowing you to write the absolute minimum amount of code to get an application running. Spring CLI can also watch files, automatically recompiling and restarting when they change.

spring-boot-actuator

Actuator endpoints let you monitor and interact with your application. Spring Boot Actuator provides the infrastructure required for actuator endpoints. It contains annotation support for actuator endpoints. This module provides many endpoints, including the HealthEndpoint, EnvironmentEndpoint, BeansEndpoint, and many more.

spring-boot-actuator-autoconfigure

This provides auto-configuration for actuator endpoints based on the content of the classpath and a set of properties. For instance, if Micrometer is on the classpath, it will auto-configure the MetricsEndpoint. It contains configuration to expose endpoints over HTTP or JMX. Just like Spring Boot AutoConfigure, this will back away as the user starts to define their own beans.

spring-boot-test

This module contains core items and annotations that can be helpful when testing your application.

spring-boot-test-autoconfigure

Like other Spring Boot auto-configuration modules, spring-boot-test-autoconfigure provides auto-configuration for tests based on the classpath. It includes many annotations that can automatically configure a slice of your application that needs to be tested.

spring-boot-loader

Spring Boot Loader provides the secret sauce that allows you to build a single jar file that can be launched using java -jar. Generally you will not need to use spring-boot-loader directly, but instead work with the Gradle or Maven plugin.

spring-boot-devtools

The spring-boot-devtools module provides additional development-time features, such as automatic restarts, for a smoother application development experience. Developer tools are automatically disabled when running a fully packaged application.

Samples

Groovy samples for use with the command line application are available in spring-boot-cli/samples. To run the CLI samples, type spring run <sample>.groovy from the samples directory.

Guides

The spring.io site contains several guides that show how to use Spring Boot step-by-step:

License

Spring Boot is Open Source software released under the Apache 2.0 license.

Comments
  • Allow the embedded web server to be shut down gracefully

    Allow the embedded web server to be shut down gracefully

    We are using spring-boot and spring-cloud to realize a micro service archtecture. During load tests we are facing lots of errors such as "entitymanager closed and others" if we shut the micro service down during load. We are wondering if there is an option to configure the embedded container to shut its service connector down and waits for an empty request queue before shutting down the complete application context.

    If there is no such option, I did not find any, then it would be great to extend the shutdownhook of spring to respect such requirements.

    type: enhancement theme: kubernetes 
    opened by LutzStrobel 109
  • Log a warning on startup when spring.jpa.open-in-view is enabled but user has not explicitly opted in

    Log a warning on startup when spring.jpa.open-in-view is enabled but user has not explicitly opted in

    Considering OSIV/OEMIV is widely considered an anti-pattern, OpenEntityManagerInViewInterceptor should IMO not be enabled by default. Rather than that it should be opt-in.

    If this proposal isn't accepted at the very least the default behavior should be stressed properly in the documentation. Currently the only reference is in configuration properties appendix.

    type: enhancement 
    opened by vpavic 96
  • Upgrade to SLF4J 2.0 and Logback 1.4

    Upgrade to SLF4J 2.0 and Logback 1.4

    With thanks to @rwinch, I've just learned that Boot doesn't work with Logback 1.3 (still in alpha). It fails on launch with the following exception:

    java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
        at org.springframework.boot.logging.logback.LogbackLoggingSystem.getLoggerContext(LogbackLoggingSystem.java:273)
        at org.springframework.boot.logging.logback.LogbackLoggingSystem.beforeInitialize(LogbackLoggingSystem.java:99)
        at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationStartingEvent(LoggingApplicationListener.java:191)
        at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:170)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
        at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:68)
        at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:48)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:313)
    

    StaticLoggerBinder was removed in this commit which appears to be part of a broader effort to provide Jigsaw modules for SLF4J and Logback.

    type: dependency-upgrade 
    opened by wilkinsona 70
  • @SpyBean does not work when used to spy on a Spring Data Repository

    @SpyBean does not work when used to spy on a Spring Data Repository

    Version: Spring Boot 1.4.1 Subject: @SpyBean on Data Jpa Repository bean isn't working Exception thrown:

    UnsatisfiedDependencyException: Error creating bean with name 'cityService' defined in file [...\target\classes\com\example\CityService.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cityRepository': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Object of class [org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean] must be an instance of interface com.example.CityRepository
    

    Demonstration project: https://github.com/igormukhin/spring-boot-issue-6871 USE BRANCH: spybean-on-jparepository

    type: bug 
    opened by igormukhin 64
  • Support Thymeleaf 3

    Support Thymeleaf 3

    Spring boot does not seem to play well with Thymeleaf 3 beta.

    java.lang.IllegalStateException: Could not evaluate condition on org.springframework.boot.autoconfigure.security.FallbackWebSecurityAutoConfiguration due to internal class not found. 
    
    This can happen if you are @ComponentScanning a springframework package (e.g. if you put a @ComponentScan in the default package by mistake) 
    

    ....

     Caused by: java.lang.NoClassDefFoundError: org/thymeleaf/resourceresolver/IResourceResolver
    

    Thymeleaf 3 is supported by Spring 4 but not Spring Boot (http://www.thymeleaf.org/doc/articles/thymeleaf3migration.html)

    Can we please add support for Thymeleaf 3 in the next version?

    type: enhancement 
    opened by ganeshkrishnan1 63
  • Ascii art banner generated from an image

    Ascii art banner generated from an image

    Add new ImageBanner class that generates ascii art with color based on an image file (banner.gif, banner.jpg or banner.png). There are configuration settings that go along with this:

    • banner.image.dark: whether to invert image for a dark background. (default is false).
    • banner.image.max-width: maximum width in characters of banner (default is 72).
    • banner.image.aspect-ratio: correction to makes sure height is correct to accomodate the fact that fonts are taller than they are wide. (default is 0.5)
    opened by craigburke 60
  • Allow @ConfigurationProperties binding for immutable POJOs

    Allow @ConfigurationProperties binding for immutable POJOs

    Currently, it seems we are forced to use Kotlin classes with mutable nullable properties and default constructor with @ConfigurationProperties while idiomatic Kotlin code would be using classes with immutable properties initialized via constructor. I think there is a way to supporting that by leveraging kotlin-reflect library like jackson-module-kotlin do.

    More concretely, in MiXiT app I would like to be able to convert this MixitProperties class implementation to:

    @ConfigurationProperties("mixit")
    class MixitProperties(
        val baseUri: String,
        val admin: Credential,
        val drive: Drive
    )
    
    class Credential(
        val username: String,
        val password: String
    )
    
    class Drive(
        val fr: DriveDocuments,
        val en: DriveDocuments
    )
    
    class DriveDocuments(
        val sponsorform: String,
        val sponsor: String,
        val speaker: String,
        val press: String
    )
    
    

    We could imagine to support optional properties by using nullable types, like val sponsorform: String? for example.

    I will be happy to help. I have also already worked with @apatrida who maintains Jackson Kotlin module, he may provide us some guidance I think.

    type: enhancement theme: config-data 
    opened by sdeleuze 58
  • Overriding logging properties like FILE_LOG_PATTERN

    Overriding logging properties like FILE_LOG_PATTERN

    Feature request for adding support for overriding logging properties via application.properties/yaml.

    E.g. I want to easily override the FILE_LOG_PATTERN property. To define this in the application.properties/yaml also gives the benefit that I can change it per environment.

    Boot already offers

    # LOGGING
    logging.path=/var/logs
    logging.file=myapp.log
    logging.config= # location of config file (default classpath:logback.xml for logback)
    logging.level.*= # levels for loggers, e.g. "logging.level.org.springframework=DEBUG" (TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF)
    

    Something like below maybe?

    logging.property.FILE_LOG_PATTERN=
    

    Reference: http://stackoverflow.com/questions/26629197/overriding-the-file-log-pattern-if-possible-per-env

    type: enhancement 
    opened by marceloverdijk 55
  • Add Quartz Scheduler support

    Add Quartz Scheduler support

    Spring Framework has had Quartz Scheduler support for a very long time - it would be nice to make use of it in Spring Boot.

    This PR adds:

    • auto-configuration for SchedulerFactoryBean
    • spring-boot-starter-quartz
    • spring-boot-sample-quartz
    • relevant documentation updates

    Please review, comments are welcome. If this PR is accepted I'd also like to add Actuator support in a separate PR.

    I've signed the CLA.

    type: enhancement 
    opened by vpavic 48
  • Spring Boot 2.5.0 and InvalidDefinitionException: Java 8 date/time type `java.time.Instant` not supported by default

    Spring Boot 2.5.0 and InvalidDefinitionException: Java 8 date/time type `java.time.Instant` not supported by default

    After update from Spring Boot 2.4.5 to Spring 2.5.0 I noticed the following exceptions in the application logs:

    Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type `java.time.Instant` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling (through reference chain: org.telegram.telegrambots.meta.api.objects.Update["my_chat_member"]->org.telegram.telegrambots.meta.api.objects.ChatMemberUpdated["new_chat_member"]->org.telegram.telegrambots.meta.api.objects.ChatMember["untilDateAsInstant"])
    	at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1276) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ser.impl.UnsupportedTypeSerializer.serialize(UnsupportedTypeSerializer.java:35) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:770) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:770) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:728) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:770) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1514) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ObjectWriter._writeValueAndClose(ObjectWriter.java:1215) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1059) ~[jackson-databind-2.12.3.jar!/:2.12.3]
    	at org.springframework.jms.support.converter.MappingJackson2MessageConverter.mapToTextMessage(MappingJackson2MessageConverter.java:279) ~[spring-jms-5.3.7.jar!/:5.3.7]
    	at org.springframework.jms.support.converter.MappingJackson2MessageConverter.toMessage(MappingJackson2MessageConverter.java:184) ~[spring-jms-5.3.7.jar!/:5.3.7]
    	... 37 common frames omitted
    

    this is my pom.xml:

    	<dependency>
    		<groupId>com.fasterxml.jackson.datatype</groupId>
    		<artifactId>jackson-datatype-jsr310</artifactId>
    	</dependency>
    
    	<dependency>
    		<groupId>com.fasterxml.jackson.core</groupId>
    		<artifactId>jackson-core</artifactId>
    	</dependency>
    	<dependency>
    		<groupId>com.fasterxml.jackson.core</groupId>
    		<artifactId>jackson-annotations</artifactId>
    	</dependency>
    	<dependency>
    		<groupId>com.fasterxml.jackson.core</groupId>
    		<artifactId>jackson-databind</artifactId>
    	</dependency>
    

    I reverted to Spring Boot 2.4.5 and not everything works fine. What may be wrong with Spring Boot 2.5.0 ?

    UPDATED

    The same issue exists in Spring Boot 2.5.1

    Corresponding question on StackOverflow https://stackoverflow.com/questions/67874510/spring-boot-2-5-0-and-invaliddefinitionexception-java-8-date-time-type-java-ti

    status: invalid for: stackoverflow 
    opened by Artgit 45
  • Apply TomcatConnectorCustomizer and TomcatContextCustomizer beans automatically

    Apply TomcatConnectorCustomizer and TomcatContextCustomizer beans automatically

    Hi, this is a first-timers-only issue. This means we've worked to make it more legible to folks who either haven't contributed to our codebase before, or even folks who haven't contributed to open source before.

    If that's you, we're interested in helping you take the first step and can answer questions and help you out as you do. Note that we're especially interested in contributions from people from groups underrepresented in free and open source software!

    If you have contributed before, consider leaving this one for someone new, and looking through our general ideal-for-contribution issues. Thanks!

    Background

    Spring Boot provides a number of callback interfaces that can be used to customize the web server. For Tomcat, a TomcatConnectorCustomizer can be used to customize a Tomcat Connector and a TomcatContextCustomizer can be used to customize a Tomcat Context.

    Problem

    The customizers can be configured via the addConnectorCustomizers() and addContextCustomizers() methods on the ConfigurableTomcatWebServerFactory. This is bit tedious as can be seen from the example below:

    @Bean
    public WebServerFactoryCustomizer<TomcatServletWebServerFactory> connectorCustomizer() {
    	return (tomcat) -> {
    		tomcat.addConnectorCustomizers(
    			(connector) -> ((AbstractHttp11Protocol<?>) connector
    				.getProtocolHandler()).setProcessorCache(250)); // example connector customization
    	};
    }
    

    Instead, if we applied TomcatConnectorCustomizer and TomcatContextCustomizer beans automatically, that would simplify the configuration to the following:

    @Bean
    public TomcatConnectorCustomizer processorCacheCustomizer() {
    	return (connector) ->  (connector) -> ((AbstractHttp11Protocol<?>) connector
    				.getProtocolHandler()).setProcessorCache(250)); // example connector customization
    }
    

    Solution

    Beans of both the TomcatContextCustomizer and TomcatConnectorCustomizer types should be applied automatically to TomcatServletWebServerFactory and TomcatReactiveWebServerFactory. For TomcatServletWebServerFactory, this can be done here and the configuration for the reactive one can be found here.

    The ObjectProvider interface can be used for injecting a dependency. Here is an example that can be used to inject customizers when there can be 0..n of them.

    Tests for the servlet and reactive versions are here and here respectively.

    Steps to Fix

    • [x] Claim this issue with a comment below and ask any clarifying questions you need
    • [ ] Set up a repository locally following the Contributing Guidelines
    • [ ] Try to fix the issue following the steps above
    • [ ] Commit your changes and start a pull request.
    type: enhancement status: first-timers-only status: superseded 
    opened by philwebb 45
  • Fix invalid link in Spring Boot 3.0 Migration Guide (wiki)

    Fix invalid link in Spring Boot 3.0 Migration Guide (wiki)

    dependency management for 3.0.x is an invalid URL.

    The link below seems correct. https://docs.spring.io/spring-boot/docs/3.0.x/reference/html/dependency-versions.html#appendix.dependency-versions

    status: waiting-for-triage 
    opened by hjjae2 0
  • Error response body does not match Content-Type

    Error response body does not match Content-Type

    Describe the bug In an application (using Spring Boot 3.0.1) the response body does not match the Content-Type header for a 403 Forbidden response if the request contains the header Accept: application/problem+json, application/json:

    Content-Type: application/problem+json
    
    {"timestamp":"2022-12-23T07:44:25.247+00:00","status":403,"error":"Forbidden","path":"/secret"}
    

    Note: I'm using the shown mime type order because of https://github.com/spring-projects/spring-framework/issues/29588

    To Reproduce

    • Setup an application with
      • basic auth configuration and
      • an endpoint that needs specific privileges (e.g. @Secured("ROLE_ADMIN"))
    • Send a request to that endpoint
      • with a valid user/auth but insufficient privileges and
      • specify a request header Accept: application/problem+json, application/json

    Expected behavior

    • The Content-Type response header must reflect the actual type of the content
    • When Problem Details are enabled, I'd expect that all errors (including 403 Forbidden) are returned as a Problem Detail response (RFC 7807). Also note that 401 Unauthorized does not contain a response body at all – I don't know if this is intended or another bug.

    Sample

    @SpringBootApplication
    @RestController
    @EnableWebSecurity
    @EnableMethodSecurity
    public class Application {
    
        @Bean
        public UserDetailsService userDetailsService() {
            return new InMemoryUserDetailsManager(User.withDefaultPasswordEncoder()
                .username("user").password("password").roles("USER").build());
        }
    
        @PreAuthorize("hasRole('ROLE_ADMIN')")
        @GetMapping("/secret")
        public String secret() {
            return "Secret";
        }
    
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    
    }
    

    Request:

    curl -i http://localhost:8080/secret \
         -u "user:password" \
         -H "Accept: application/problem+json, application/json"
    

    I already opened this issue as https://github.com/spring-projects/spring-security/issues/12450 but learned that is related to Spring Boot, not Spring Security.

    status: waiting-for-triage 
    opened by osiegmar 0
  • CSRF token not avaialble to freemarker templates in SpringBoot 3

    CSRF token not avaialble to freemarker templates in SpringBoot 3

    Hi Team!

    After upgrading to SpringBoot 3 a freemarker form no longer renders because the _csrf attribute is null.

    Sample app (technically it's not rendering _csrf in a form, but it's the same problem): https://github.com/ardetrick/springboot3-freemarker-csrf-issue

    There is a work-around where setting spring.freemarker.expose-request-attributes=true resolves the issue, however, this does not seem like the correct fix.

    I recognize that there have been a few changes to Spring Security and CSRF as part of upgrading Spring Security from 5 to 6, however, the spring security team does not believe this issue is related. https://github.com/spring-projects/spring-security/issues/12462#issuecomment-1373957266.

    In addition, at least one other person has also noted this issue: https://github.com/spring-projects/spring-security/issues/12462#issuecomment-1373911441.

    Thanks for the help!

    status: waiting-for-triage 
    opened by ardetrick 0
  • SDKMAN should not use repo.spring.io for releases

    SDKMAN should not use repo.spring.io for releases

    As mention in #33705 , I have replace repo url to maven url. While going through the https://github.com/spring-projects/spring-boot/issues/33702 and Jan 2023 spring notice. Let me know If any issue. Sorry for previous commit

    type: bug 
    opened by sannanansari 0
  • Drop scoop manifest creation

    Drop scoop manifest creation

    It looks like https://github.com/ScoopInstaller/Extras/blob/master/bucket/springboot.json is maintained interdependently and the version we generate is not required.

    type: task for: team-meeting 
    opened by philwebb 0
Releases(v3.0.1)
  • v3.0.1(Dec 22, 2022)

    :lady_beetle: Bug Fixes

    • Fix typo in LocalDevToolsAutoConfiguration logging #33615
    • No warning is given when <springProfile> is used in a Logback <root> block #33610
    • Auto-configure PropagationWebGraphQlInterceptor for tracing propagation #33542
    • WebClient instrumentation fails with IllegalArgumentException when adapting to WebClientExchangeTagsProvider #33483
    • Reactive observation auto-configuration does not declare order for WebFilter #33444
    • Web server fails to start due to "Resource location must not be null" when attempting to use a PKCS 11 KeyStore #33433
    • Actuator health endpoint for neo4j throws NoSuchElementException and always returns Status.DOWN #33428
    • Anchors in YAML configuration files throw UnsupportedOperationException #33404
    • ZipkinRestTemplateSender is not customizable #33399
    • AOT doesn't work with Logstash Logback Encoder #33387
    • Maven process-aot goal fails when release version is set in Maven compiler plugin #33382
    • DependsOnDatabaseInitializationPostProcessor re-declares bean dependencies at native image runtime #33374
    • @SpringBootTest now throws a NullPointerException rather than a helpful IllegalStateException when @SpringBootConfiguration is not found #33371
    • bootBuildImage always trys to create a native image due to bootJar always adding a META-INF/native-image/argfile to the jar #33363

    :notebook_with_decorative_cover: Documentation

    • Improve gradle plugin tags documentation #33617
    • Improve maven plugin tags documentation #33616
    • Fix typo in tomcat accesslog checkExists doc #33512
    • Documented Java compiler level is wrong #33505
    • Fix typo in documentation #33453
    • Update instead of replace environment in bootBuildImage documentation #33424
    • Update the reference docs to document the need to declare the native-maven-plugin when using buildpacks to create a native image #33422
    • Document that the shutdown endpoint is not intended for use when deploying a war to a servlet container #33410
    • Reinstate GraphQL testing documentaion #33407
    • Description of NEVER in Sanitize Sensitive Values isn't formatted correctly #33398

    :hammer: Dependency Upgrades

    • Upgrade to AspectJ 1.9.19 #33586
    • Upgrade to Byte Buddy 1.12.20 #33587
    • Upgrade to Couchbase Client 3.4.1 #33588
    • Upgrade to Dropwizard Metrics 4.2.14 #33589
    • Upgrade to Elasticsearch Client 8.5.3 #33590
    • Upgrade to Hibernate 6.1.6.Final #33591
    • Upgrade to HttpClient 4.5.14 #33592
    • Upgrade to HttpCore 4.4.16 #33593
    • Upgrade to Infinispan 14.0.4.Final #33594
    • Upgrade to Jaybird 4.0.8.java11 #33595
    • Upgrade to Jetty 11.0.13 #33596
    • Upgrade to jOOQ 3.17.6 #33597
    • Upgrade to Kotlin 1.7.22 #33598
    • Upgrade to Lettuce 6.2.2.RELEASE #33599
    • Upgrade to MongoDB 4.8.1 #33600
    • Upgrade to MSSQL JDBC 11.2.2.jre17 #33601
    • Upgrade to Native Build Tools Plugin 0.9.19 #33602
    • Upgrade to Netty 4.1.86.Final #33603
    • Upgrade to Reactor 2022.0.1 #33475
    • Upgrade to SLF4J 2.0.6 #33604
    • Upgrade to Spring for GraphQL 1.1.1 #33477
    • Upgrade to Spring Framework 6.0.3 #33476
    • Upgrade to Spring Integration 6.0.1 #33605
    • Upgrade to Spring Kafka 3.0.1 #33480
    • Upgrade to Spring Security 6.0.1 #33479
    • Upgrade to Thymeleaf 3.1.1.RELEASE #33486
    • Upgrade to Thymeleaf Extras SpringSecurity 3.1.1.RELEASE #33606
    • Upgrade to Tomcat 10.1.4 #33167
    • Upgrade to UnboundID LDAPSDK 6.0.7 #33607
    • Upgrade to Undertow 2.3.2.Final #33608

    :heart: Contributors

    Thank you to all the contributors who worked on this release:

    @Artur-, @aksh1618, @candrews, @cdanger, @currenjin, @izeye, @jprinet, @lishangbu, @ohdaeho, @peter-janssen, and @shekharAggarwal

    Source code(tar.gz)
    Source code(zip)
  • v2.7.7(Dec 22, 2022)

    :lady_beetle: Bug Fixes

    • Fix typo in LocalDevToolsAutoConfiguration logging #33569
    • Web server fails to start due to "Resource location must not be null" when attempting to use a PKCS 11 KeyStore #32179

    :notebook_with_decorative_cover: Documentation

    • Improve gradle plugin tags documentation #33614
    • Improve maven plugin tags documentation #33609
    • Fix typo in tomcat accesslog checkExists doc #33460
    • Document that the shutdown endpoint is not intended for use when deploying a war to a servlet container #17398

    :hammer: Dependency Upgrades

    • Upgrade to Byte Buddy 1.12.20 #33570
    • Upgrade to Dropwizard Metrics 4.2.14 #33571
    • Upgrade to Elasticsearch 7.17.8 #33572
    • Upgrade to HttpClient 4.5.14 #33573
    • Upgrade to HttpCore 4.4.16 #33574
    • Upgrade to Infinispan 13.0.14.Final #33575
    • Upgrade to Jaybird 4.0.8.java8 #33576
    • Upgrade to Jetty 9.4.50.v20221201 #33577
    • Upgrade to MSSQL JDBC 10.2.2.jre8 #33578
    • Upgrade to Neo4j Java Driver 4.4.11 #33579
    • Upgrade to Netty 4.1.86.Final #33580
    • Upgrade to Reactor 2020.0.26 #33543
    • Upgrade to Spring Integration 5.5.16 #33581
    • Upgrade to Spring Security 5.7.6 #33544
    • Upgrade to Thymeleaf Extras SpringSecurity 3.0.5.RELEASE #33582
    • Upgrade to Tomcat 9.0.70 #33583
    • Upgrade to UnboundID LDAPSDK 6.0.7 #33584
    • Upgrade to Undertow 2.2.22.Final #33585

    :heart: Contributors

    Thank you to all the contributors who worked on this release:

    @Artur-, @aksh1618, @cdanger, @currenjin, @jprinet, and @shekharAggarwal

    Source code(tar.gz)
    Source code(zip)
  • v3.0.0(Nov 24, 2022)

    See the Release notes for 3.0 for upgrade instructions and details of new features.

    :star: New Features

    • Provide a configuration property for the observation patterns of Spring Integration components #33099

    :lady_beetle: Bug Fixes

    • io.micrometer.tracing.Tracer on the classpath breaks AOT processing for tests #33298
    • Tracer library HTTP instrumentation is auto-configured unnecessarily #33287
    • Auto-configuration ignores user-provided ObservationConventions #33285
    • ScheduledBeanLazyInitializationExcludeFilter is auto-configured even when annotation-based scheduled has not been enabled #33284
    • SpringBootContextLoader prints banner twice when using a @ContextHierarchy #33263
    • Properties migrator causes an application to fail to start if it tries to map a property whose metadata data entry contains an invalid configuration property name #33250
    • Wavefront MeterRegistryCustomizer is not applying application tags from application.properties #33244
    • Actuator responses no longer format timestamps as ISO-8601 #33236
    • Configuration property is not bound in a native image when property has get, set, and is methods #33232
    • Configuration property binding does not deal with bridge methods #33212
    • Contribute missing resource hints for GraphQL schema files and GraphiQL HTML page #33208
    • Hints for ClientHttpRequestFactory should only be generated for matching methods #33203
    • Native profile should configure execution in pluginManagement #33184
    • Configuring management.server.port via a config tree results in a ConverterNotFoundException when the management context is refreshed #33169
    • JBoss logging does not route directly to SLF4J when using Logback #33155
    • Test with UseMainMethod.Always do not work with Kotlin main functions #33114
    • Maven process-aot does not specify source and target release when compiling generated sources #33112
    • Some Actuator beans are ineligible for post-processing #33110
    • AOT-generated source fails to compile when Actuator is enabled on a WebFlux project #33106
    • @ContextHierarchy should never be used with main method #33078
    • Maven process-aot fails when compiler plugin has been configured with --enable-preview #33012
    • Wavefront application tags differ from those used in a Spring Boot 2.x application #32844
    • Maven goal spring-boot:build-image runs package phase twice #26455

    :notebook_with_decorative_cover: Documentation

    • Document observation for R2DBC #33335
    • Align Tomcat multiple connectors example with recommendation to configure SSL declaratively #33333
    • Actuator document is misleading about k8s startup probe #33327
    • Update documented for @Timed to reflect narrower support #33282
    • Update reference documentation to replace mentions of tags providers and contributors with their Observation-based equivalents #33281
    • Link to Micrometer's @Timed documentation #33266
    • Clarify use of the spring.cache.type property with Hazelcast #33258
    • Example git.commit.time in the Actuator API documentation is thousands of years in the future #33256
    • Update Spring Security filter dispatcher types docs to reflect change in default value #33252
    • Documentation for nested configuration properties in a native image uses @NestedConfigurationProperty too widely #33239
    • Document that the jar task should not be disabled when building a native image #33238
    • Document nesting configuration properties using records or Kotlin data classes and how and when to use @NestedConfigurationProperty #33235
    • Links to Features describes sections that have moved elsewhere #33214
    • Fix broken links in docs #33209
    • Document the need for compilation with -parameters when targeting a native image #33182
    • Remove outdated native image documentation #33109
    • Mention @RegisterReflectionForBinding in the docs #32903

    :hammer: Dependency Upgrades

    • Upgrade to Byte Buddy 1.12.19 #33302
    • Upgrade to Caffeine 3.1.2 #33339
    • Upgrade to Dropwizard Metrics 4.2.13 #33303
    • Upgrade to Ehcache3 3.10.8 #33304
    • Upgrade to Elasticsearch Client 8.5.1 #33225
    • Upgrade to Glassfish JSTL 3.0.1 #33305
    • Upgrade to Hazelcast 5.1.5 #33187
    • Upgrade to HttpClient5 5.1.4 #33306
    • Upgrade to HttpCore5 5.1.5 #33188
    • Upgrade to Jackson 2.14.1 #33289
    • Upgrade to Jackson Bom 2.14.0 #33189
    • Upgrade to Janino 3.1.9 #33307
    • Upgrade to Jaybird 4.0.7.java11 #33190
    • Upgrade to Kotlin 1.7.21 #33191
    • Upgrade to Logback 1.4.5 #33308
    • Upgrade to MariaDB 3.0.9 #33192
    • Upgrade to Micrometer 1.10.2 #33334
    • Upgrade to MongoDB 4.8.0 #33193
    • Upgrade to Native Build Tools 0.9.18 #33301
    • Upgrade to Netty 4.1.85.Final #33194
    • Upgrade to Postgresql 42.5.1 #33340
    • Upgrade to R2DBC H2 1.0.0.RELEASE #33195
    • Upgrade to R2DBC Pool 1.0.0.RELEASE #33196
    • Upgrade to R2DBC Postgresql 1.0.0.RELEASE #33197
    • Upgrade to R2DBC Proxy 1.0.1.RELEASE #33309
    • Upgrade to REST Assured 5.2.1 #33310
    • Upgrade to SLF4J 2.0.4 #33311
    • Upgrade to Spring AMQP 3.0.0 #33141
    • Upgrade to Spring Batch 5.0.0 #33148
    • Upgrade to Spring Data 2022.0.0 #33140
    • Upgrade to Spring Framework 6.0.0 #33136
    • Upgrade to Spring Framework 6.0.2 #33286
    • Upgrade to Spring GraphQL 1.1.0 #33145
    • Upgrade to Spring HATEOAS 2.0.0 #33137
    • Upgrade to Spring Integration 6.0.0 #33146
    • Upgrade to Spring Kafka 3.0.0 #33142
    • Upgrade to Spring LDAP 3.0.0 #33138
    • Upgrade to Spring REST Docs 3.0.0 #33143
    • Upgrade to Spring Retry 2.0.0 #33149
    • Upgrade to Spring Security 6.0.0 #33144
    • Upgrade to Spring Session 3.0.0 #33147
    • Upgrade to Spring WS 4.0.0 #33139
    • Upgrade to SQLite JDBC 3.39.4.1 #33312
    • Upgrade to Thymeleaf 3.1.0.RELEASE #33313
    • Upgrade to Thymeleaf Extras SpringSecurity 3.1.0.RELEASE #33314
    • Upgrade to Yasson 3.0.2 #33201

    :heart: Contributors

    Thank you to all the contributors who worked on this release:

    @artembilan, @dreis2211, @hpoettker, @izeye, @jonatan-ivanov, @oppegard, @sdeleuze, @ttddyy, @tumit, and @vpavic

    Source code(tar.gz)
    Source code(zip)
  • v2.7.6(Nov 24, 2022)

    :lady_beetle: Bug Fixes

    • ScheduledBeanLazyInitializationExcludeFilter is auto-configured even when annotation-based scheduled has not been enabled #33283
    • SpringBootContextLoader prints banner twice when using a @ContextHierarchy #33262
    • Properties migrator causes an application to fail to start if it tries to map a property whose metadata data entry contains an invalid configuration property name #33249
    • Configuration property binding does not deal with bridge methods #33211
    • Configuring management.server.port via a config tree results in a ConverterNotFoundException when the management context is refreshed #33168
    • Dependency management for XMLUnit is incomplete #32999
    • Spring Boot's Lettuce metrics enable histrograms by default and it's hard to switch them off #32989
    • Dependency management for Selenium is incomplete #32861
    • NumberFormatException when configuring spring.redis.sentinel.nodes with an IPv6 address #32836

    :notebook_with_decorative_cover: Documentation

    • Align Tomcat multiple connectors example with recommendation to configure SSL declaratively #33331
    • ConditionalOnClass not working for Bean methods on Java 8 #33328
    • Actuator document is misleading about k8s startup probe #33326
    • Link to Micrometer's @Timed documentation #33265
    • Clarify use of the spring.cache.type property with Hazelcast #33257
    • Example git.commit.time in the Actuator API documentation is thousands of years in the future #33255
    • Links to Features describes sections that have moved elsewhere #33213
    • Fix kafka streams auto start description typo in reference docs #33101
    • OAuth 2 configuration example uses unrecognized value for authorization grant type #33068
    • Fix typos in logging.adoc #32820
    • Harmonize code sample in the "Type-safe Configuration Properties" section #32818

    :hammer: Dependency Upgrades

    • Upgrade to Byte Buddy 1.12.19 #33272
    • Upgrade to Dropwizard Metrics 4.2.13 #33321
    • Upgrade to Ehcache3 3.10.8 #33322
    • Upgrade to Elasticsearch 7.17.7 #33171
    • Upgrade to Hazelcast 5.1.5 #33172
    • Upgrade to Hibernate 5.6.14.Final #33173
    • Upgrade to HttpClient5 5.1.4 #33323
    • Upgrade to HttpCore5 5.1.5 #33174
    • Upgrade to Janino 3.1.9 #33274
    • Upgrade to Jaybird 4.0.7.java8 #33175
    • Upgrade to MariaDB 3.0.9 #33176
    • Upgrade to Micrometer 1.9.6 #33129
    • Upgrade to Netty 4.1.85.Final #33177
    • Upgrade to Postgresql 42.3.8 #33338
    • Upgrade to Reactor 2020.0.25 #33130
    • Upgrade to Spring AMQP 2.4.8 #33223
    • Upgrade to Spring Data 2021.2.6 #33132
    • Upgrade to Spring Framework 5.3.24 #33131
    • Upgrade to Spring GraphQL 1.0.3 #33150
    • Upgrade to Spring Kafka 2.8.11 #33133
    • Upgrade to Spring REST Docs 2.0.7.RELEASE #33134
    • Upgrade to Spring Security 5.7.5 #33178
    • Upgrade to Spring WS 3.1.4 #33179
    • Upgrade to Tomcat 9.0.69 #33180

    :heart: Contributors

    Thank you to all the contributors who worked on this release:

    @EricGao888, @biergit, @dreis2211, @eurythmia, @hpoettker, @iamgd67, @izeye, @jamessoun93, and @sdeleuze

    Source code(tar.gz)
    Source code(zip)
  • v2.6.14(Nov 24, 2022)

    :lady_beetle: Bug Fixes

    • ScheduledBeanLazyInitializationExcludeFilter is auto-configured even when annotation-based scheduled has not been enabled #33276
    • Configuration property binding does not deal with bridge methods #33105
    • SpringBootContextLoader prints banner twice when using a @ContextHierarchy #33079
    • Dependency management for XMLUnit is incomplete #32998
    • Spring Boot's Lettuce metrics enable histrograms by default and it's hard to switch them off #32985
    • Configuring management.server.port via a config tree results in a ConverterNotFoundException when the management context is refreshed #32941
    • NumberFormatException when configuring spring.redis.sentinel.nodes with an IPv6 address #32762
    • Properties migrator causes an application to fail to start if it tries to map a property whose metadata data entry contains an invalid configuration property name #32729
    • Dependency management for Selenium is incomplete #32721

    :notebook_with_decorative_cover: Documentation

    • Link to Micrometer's @Timed documentation #33264
    • Clarify use of the spring.cache.type property with Hazelcast #33245
    • Example git.commit.time in the Actuator API documentation is thousands of years in the future #33237
    • Links to Features describes sections that have moved elsewhere #33207
    • Fix kafka streams auto start description typo in reference docs #33098
    • OAuth 2 configuration example uses unrecognized value for authorization grant type #32931
    • Fix typos in logging.adoc #32812
    • Harmonize code sample in the "Type-safe Configuration Properties" section #32644
    • Align Tomcat multiple connectors example with recommendation to configure SSL declaratively #28707
    • Actuator document is misleading about k8s startup probe #28432
    • ConditionalOnClass not working for Bean methods on Java 8 #27846

    :hammer: Dependency Upgrades

    • Upgrade to Dropwizard Metrics 4.2.13 #33319
    • Upgrade to Hibernate 5.6.14.Final #33157
    • Upgrade to HttpClient5 5.1.4 #33320
    • Upgrade to HttpCore5 5.1.5 #33158
    • Upgrade to Janino 3.1.9 #33271
    • Upgrade to Jaybird 4.0.7.java8 #33159
    • Upgrade to MariaDB 2.7.7 #33160
    • Upgrade to Micrometer 1.8.12 #33122
    • Upgrade to Netty 4.1.85.Final #33161
    • Upgrade to Postgresql 42.3.8 #33337
    • Upgrade to Reactor 2020.0.25 #33123
    • Upgrade to Spring AMQP 2.4.8 #33222
    • Upgrade to Spring Data 2021.1.10 #33125
    • Upgrade to Spring Framework 5.3.24 #33124
    • Upgrade to Spring Kafka 2.8.11 #33126
    • Upgrade to Spring REST Docs 2.0.7.RELEASE #33127
    • Upgrade to Spring Security 5.6.9 #33162
    • Upgrade to Spring WS 3.1.4 #33163
    • Upgrade to Tomcat 9.0.69 #33164

    :heart: Contributors

    Thank you to all the contributors who worked on this release:

    @EricGao888, @dreis2211, @eurythmia, @hpoettker, @iamgd67, @jamessoun93, and @sdeleuze

    Source code(tar.gz)
    Source code(zip)
  • v3.0.0-RC2(Nov 11, 2022)

    :star: New Features

    • Switch to the Eclipse Angus Jakarta Mail Reference Implementation #33059
    • Remove dependency management for unused EL-related dependencies #33035
    • Unify actuator descriptor class names #33022
    • Rename spring-session.bom.version property to spring-session.version to align with changes to Spring Session's version scheme and bom #32952
    • Add support for CNB platform API 0.10 #32949
    • Rename httptrace endpoint and related classes to httpexchanges #32885
    • Support isolated actuator ObjectMapper #20291

    :lady_beetle: Bug Fixes

    • When replacing any database, @AutoConfigureTestDatabase does not work in a native test #33100
    • Auto-configured OtelTracer does not back off when another kind of Tracer bean is defined #33097
    • Auto-configured BraveTracer does not back off when another kind of Tracer bean is defined #33095
    • Unnecessary javax Servlet and JSTL dependencies in spring-boot-dependencies #33094
    • NullPointerException in LazyTracingSpanContextSupplier when TraceContext.sampled() returns null #33093
    • Default security filter dispatcher types are not aligned with Spring Security's defaults #33090
    • Inner classes of a @JsonComponent are ignored in a native image #33089
    • Unlike Spring Cloud Sleuth tracing auto-configuration does not provide span customizer beans #33087
    • Configuring spring.jackson.property-naming-strategy fails in a native image #33080
    • Dependency management for Selenium is incomplete #33076
    • management.endpoints.jmx.exposure.include meta-data json contains incorrect default value #33072
    • Context refresh may deadlock when using Prometheus Exemplars #33070
    • ConfigurationProperties constructor @Autowired detection fails for proxy classes #33061
    • Logback <if> blocks cannot read spring properties #33028
    • Spring Boot 3.0 no longer logs guidance to enable debug logging to see the condition evaluation report when the app fails to start #33027
    • Dependency management for XMLUnit is incomplete #33000
    • Spring Boot's Lettuce metrics enable histrograms by default and it's hard to switch them off #32990
    • Spring Boot's auto-configuration for Lettuce metrics enables histograms by default #32986
    • management.observations.http.server.requests.name is ignored when auto-configuring meter filters for maximum allowable uri tags #32973
    • The version of Hazelcast Hibernate is managed unnecessarily #32953
    • @JsonMixin not working in native-image #32929
    • Missing runtime hints for default Liquibase migration file #32926
    • Build failures caused by using a version of GraalVM that does not meet our minimum requirements are hard to diagnose #32924
    • Execution optimizations have been disabled for task processAot with kapt Gradle Plugin #32919
    • Logging hostname at startup can take a prohibitively long time #32908
    • Micrometer Tracer not available in integration tests #32907
    • Auto configuration for data-elasticsearch does not configure mapper that can handle MapDocument payload #32906
    • OTel W3C doesn't propagate remote fields #32898
    • Missing resource hint for banner.txt #32882
    • HttpGraphQlTesterContextCustomizer runs twice when using AOT #32872
    • OutputCaptureExtension fails in native image tests: NoSuchMethodException: OutputCapture.<init> #32870
    • @RestClientTest fails in native image tests: Failed to instantiate SimpleRequestExpectationManager #32867
    • EmbeddedDatabaseConnection was unintentionally initialized at build time when using @DataJpaTest #32865
    • Cyclic dependency between @JsonComponents and ObjectMapper causes JsonComponents to be ignored #32863
    • Properties not available when using SpringBootTest.UseMainMethod.ALWAYS #32860
    • Native testing of a WebFlux-based app using a random or defined port fails with "Runtime reflection is not supported for WebTestClientContextCustomizer$WebTestClientRegistrar" #32859
    • JsonTesters do not work in native tests #32858
    • Setting a RestTemplateBuilder read timeout results in an IllegalStateException due to deprecations in HttpComponentsClientHttpRequestFactory #32857
    • Package-private ResourceProviderCustomizer prevents external usage of FlywayAutoConfiguration class #32849
    • TestRestTemplate is not compatible with Native Image #32848
    • Native image built with Gradle fails to start when spring-boot-devtools is included as developmentOnly dependency #32843
    • When building with Maven, only resources generated beneath META-INF/native-image are available for inclusion in a native image #32841
    • Configuring com.github.loki4j.logback.Loki4jAppender in logback.xml does not work in a native image #32839
    • NumberFormatException when configuring spring.redis.sentinel.nodes with an IPv6 address #32837
    • Manifests of jars built with Gradle do not have a Build-Jdk-Spec entry #32829
    • Application Context initialized twice during test when exception thrown during initialization #31793
    • MeterBinder beans that directly or indirectly depend on MeterRegistry beans cause a cycle #30636

    :notebook_with_decorative_cover: Documentation

    • Fix kafka streams auto start description typo in reference docs #33102
    • OAuth 2 configuration example uses unrecognized value for authorization grant type #33069
    • Reference documentation refers to artemis-jms-server but artemis-jakarta-server should now be used instead #33065
    • Remove legacy cookie processor documentation #33021
    • Change references to Spring Cloud Sleuth for SpanContextSupplier to Micrometer Tracing #32994
    • Remove Infinispan's Spring Boot Starter in README #32974
    • Document how to observe JDBC project with Spring Boot and micrometer-observations #32912
    • Remove mention of MetricsWebFilter from reference documentation #32909
    • Remove note about Infinispan's Spring Boot Starter as it is not yet 3.0-compatible #32896
    • Delete WebSecurityConfigurerAdapter from Javadoc in SpringBootWebSecurityConfiguration / SecurityProperties #32879
    • Add documentation for micrometer observation #32833
    • Update docs to final GraalVM 22.3 #32813
    • Add documentation for micrometer-tracing #30658

    :hammer: Dependency Upgrades

    • Upgrade to Couchbase Client 3.4.0 #32955
    • Upgrade to DB2 JDBC 11.5.8.0 #32956
    • Upgrade to Elasticsearch Client 8.5.0 #33005
    • Upgrade to Flyway 9.5.1 #32957
    • Upgrade to Glassfish JAXB 4.0.1 #33055
    • Upgrade to Glassfish JSTL 3.0.0 #33036
    • Upgrade to Hibernate 6.1.5.Final #32958
    • Upgrade to Hibernate Validator 8.0.0.Final #33056
    • Upgrade to HSQLDB 2.7.1 #32959
    • Upgrade to Infinispan 14.0.2.Final #32960
    • Upgrade to Jackson Bom 2.14.0-rc3 #32961
    • Upgrade to Jakarta Activation 2.1.0 #33045
    • Upgrade to Jakarta Annotation 2.1.1 #33046
    • Upgrade to Jakarta JMS 3.1.0 #33047
    • Upgrade to Jakarta Json 2.1.1 #33048
    • Upgrade to Jakarta Json Bind 3.0.0 #33049
    • Upgrade to Jakarta Mail 2.1.0 #33050
    • Upgrade to Jakarta Persistence 3.1.0 #33051
    • Upgrade to Jakarta Servlet 6.0.0 #33037
    • Upgrade to Jakarta Servlet JSP JSTL 3.0.0 #33038
    • Upgrade to Jakarta WebSocket 2.1.0 #33039
    • Upgrade to Jakarta WS RS 3.1.0 #33040
    • Upgrade to Jakarta XML Bind 4.0.0 #33052
    • Upgrade to Jakarta XML SOAP 3.0.0 #33053
    • Upgrade to Jakarta XML WS 4.0.0 #33054
    • Upgrade to Jaybird 4.0.6.java11 #32954
    • Upgrade to Jedis 4.3.1 #32962
    • Upgrade to Jersey 3.1.0 #33041
    • Upgrade to jOOQ 3.17.5 #33006
    • Upgrade to Liquibase 4.17.2 #33007
    • Upgrade to Maven Shade Plugin 3.4.1 #32964
    • Upgrade to Micrometer 1.10.0 #32936
    • Upgrade to Micrometer Tracing 1.0.0 #32937
    • Upgrade to Native Build Tools Plugin 0.9.17 #32923
    • Upgrade to Neo4j Java Driver 5.2.0 #33008
    • Upgrade to Reactor Bom 2022.0.0 #32939
    • Upgrade to SAAJ Impl 3.0.0 #33057
    • Upgrade to Selenium 4.5.3 #32965
    • Upgrade to Selenium HtmlUnit 4.5.2 #32966
    • Upgrade to Spring Batch 5.0.0-RC2 #32935
    • Upgrade to Spring Data 2022.0.0-RC2 #32938
    • Upgrade to Spring Framework 6.0.0-RC4 #33023
    • Upgrade to Spring Integration 6.0.0-RC2 #33009
    • Upgrade to Spring Kafka 3.0.0-RC2 #32934
    • Upgrade to Spring Security 6.0.0-RC2 #33063
    • Upgrade to Spring Session 3.0.0-RC2 #33034
    • Upgrade to Tomcat 10.1.1 #33043
    • Upgrade to Undertow 2.3.0.Final #33042
    • Upgrade to Yasson 3.0.0 #33058

    :heart: Contributors

    Thank you to all the contributors who worked on this release:

    @EricGao888, @biergit, @dreis2211, @iamgd67, @izeye, @making, @marcingrzejszczak, @sdeleuze, and @ueberfuhr

    Source code(tar.gz)
    Source code(zip)
  • v3.0.0-RC1(Oct 21, 2022)

    :star: New Features

    • Use GraphQL Observation instrumentation #32794
    • Make consistent use of Property for Gradle task configuration #32769
    • When the GraalVM Native Image Gradle plugin is applied, configure bootBuildImage to build a native image #32768
    • When the native Maven profile is enabled, configure build-image to build a native image #32764
    • Process logback.xml ahead-of-time to allow its configuration to be used in a native image #32756
    • When using Brave, auto-configure a CompositeSpanHandler with span exporting predicates, filters, and reporters #32753
    • Generate native-image argfile containing reachability metadata excludes for buildpacks to use #32738
    • When the GraalVM Native Image Gradle plugin is applied, configure bootJar to contain the output of collectReachabilityMetadata #32737
    • Provide maven configuration for native-build-tools reachability metadata goal #32736
    • Log4J2 configuration URLs should respect system settings #32735
    • Support profile specific Log4j2 configuration #32734
    • Add Log4J2 PropertySource backed by the Spring Environment #32733
    • Add Log4j2 StrLookup backed by the Spring Environment #32732
    • Add Spring Environment to Log4j2 LoggerContext #32731
    • Add support 'log4j.configurationFile' system property #32730
    • Relocate @ConstructorBinding to bind package and update default behavior #32660
    • Remove spring.webflux.multipart.streaming property #32658
    • Auto-configure ProblemDetails support for Spring MVC and Spring WebFlux #32634
    • Make auto-configured Brave Tracer more compliant with OTel tracer #32615
    • Allow the auto-configured Rabbit Stream Environment to be customized #32580
    • Add support for specifying application arguments when application is processed ahead-of-time #32579
    • Provide extensions that remove the need for the log4j-spring-boot log4j2 module #32578
    • Allow user to replace auto-configured Spring Data JDBC beans with their own #32571
    • Remove remaining properties and APIs that were deprecated in Spring Boot 2.x #32548
    • Move WebFlux metrics auto-configuration to the new Observation instrumentation #32539
    • Move MVC metrics auto-configuration to the new Observation instrumentation #32538
    • Prefer WebClient to RestTemplate when creating the Zipkin Sender #32529
    • Update WebClient metrics auto-configuration to the new Observation instrumentation #32518
    • Require micrometer-tracing-bridge-otel to auto-configure OpenTelemetry #32503
    • Require micrometer-tracing-bridge-brave to auto-configure Brave #32502
    • Update RestTemplate metrics auto-configuration to the new Observation instrumentation #32484
    • MDC & Baggage AutoConfiguration for Micrometer Tracing with Brave and OpenTelemetry #32480
    • Allow a Rabbit Stream Environment and Template to be auto-configured when not using a streaming listener container factory #32477
    • Adapt to HttpComponentClientHttpRequestFactory changes #32461
    • Add auto-configuration for Prometheus Exemplars #32415
    • Auto-configure a TracingAwareMeterObservationHandler to make tracing interoperable with metrics #32399
    • Add logging at INFO level if AOT is enabled and working #32396
    • Output auto-configuration report for context processed ahead-of-time #32109
    • Add native-image support for Flyway #31999
    • Allow "native" Maven profile to support both NBT and buildpacks #31770
    • Change phases of WebServer start-stop and graceful shutdown lifecycles to allow other smart lifecycles to run before graceful shutdown #31714
    • Allow ThreadDumpEndpoint to call ThreadMXBean in a native image #31680
    • Deprecate server.max-http-header-size in favor of new server.max-http-request-header-size property #29382
    • Make the runScripts method on AbstractScriptDatabaseInitializer more extensible #29137

    :lady_beetle: Bug Fixes

    • Multi-Document-Separators "#---" comment checks do not account for '!' prefixed comments #32778
    • Actuator configprops endpoint does not display DataSize properties correctly #32776
    • @Bean methods in KafkaAutoConfiguration provide less type information than they could #32774
    • PEM formatted elliptic-curve TLS keys are an unrecognized private key format #32682
    • Auto-configuration of ObservationRestTemplateCustomizer fails when micrometer-core is not on the classpath #32676
    • Correct configuration of native and AOT-related tasks depends on plugin application order #32661
    • ConstructorBinding default detection is considered with a private constructor #32639
    • ConfigDataProperties is missing RuntimeHints #32608
    • Killing mvn spring-boot:run does not kill child process #32607
    • Assertion calls on CapturedOutput with Kotlin are very slow #32576
    • Classpath scanning of Jackson mixin modules does not work in a native image #32567
    • Empty @DefaultValue cannot be used on collections, maps, arrays or optional values #32564
    • Native tests fail when using @SpringBootTest with RANDOM_PORT or DEFINED_PORT #32542
    • Use of reflection in AbstractCompositeHealthContributorConfiguration can cause an app using actuator to fail to start in a native image #32541
    • WebClient- and RestTemplate-based Zipkin senders can cause a bean dependency cycle #32528
    • AOT processing does not work when Devtools is on the classpath #32517
    • CouchbaseReactiveHealthIndicator uses blocking API to retrieve the cluster diagnostics #32514
    • BootBuildImage's archiveFile property is annotated as an @Input but should be annotated as an @InputFile #32500
    • Response from loggers endpoint is incomplete in a native image #32486
    • Logging beans are missing during AOT processing #32483
    • EmbeddedLdapContextConfiguration LdapContextSource bean creation not populating base property #23030

    :notebook_with_decorative_cover: Documentation

    • Fix typos in logging.adoc #32821
    • Harmonize code sample in the "Type-safe Configuration Properties" section #32819
    • Update getting started documentation to use @SpringBootApplication #32780
    • Check documentation version links #32772
    • Add AOT section to Gradle Plugin #32750
    • Switch Java version displayed in documentation #32746
    • Fix typo "Elastixsearch" #32656
    • Add Graal Native documentation #32582
    • Add Javadoc since for UseMainMethod #32568
    • Provide since and for removal information on @Deprecated APIs #32549
    • Remove redundant @ExtendWith(SpringExtension.class) from MyJmxTests example #32516
    • Limit modules in the aggregated javadoc to those that we expect an application to depend upon #31955
    • Document management.tracing.enabled property #31656

    :hammer: Dependency Upgrades

    • Upgrade to Artemis 2.26.0 #32701
    • Upgrade to Byte Buddy 1.12.18 #32702
    • Upgrade to Cassandra Driver 4.15.0 #32670
    • Upgrade to Dependency Management Plugin 1.1.0 #32760
    • Upgrade to Ehcache3 3.10.2 #32703
    • Upgrade to Elasticsearch Client 8.4.3 #32671
    • Upgrade to Flyway 9.5.0 #32796
    • Upgrade to Groovy 4.0.6 #32797
    • Upgrade to Hazelcast 5.1.4 #32705
    • Upgrade to Hibernate 6.1.4.Final #32672
    • Upgrade to HtmlUnit 2.65.1 #32706
    • Upgrade to Infinispan 14.0.1.Final #32798
    • Upgrade to Jackson 2.14.0-rc2 #32771
    • Upgrade to Jackson Bom 2.13.4.20221013 #32725
    • Upgrade to Jedis 4.3.0 #32673
    • Upgrade to Jetty Reactive HTTPClient 3.0.7 #32707
    • Upgrade to Kafka 3.3.1 #32574
    • Upgrade to Kotlin 1.7.20 #32708
    • Upgrade to Lettuce 6.2.1.RELEASE #32674
    • Upgrade to Liquibase 4.17.0 #32709
    • Upgrade to Log4j2 2.19.0 #32498
    • Upgrade to Logback 1.4.4 #32710
    • Upgrade to Micrometer 1.10.0-RC1 #32598
    • Upgrade to Micrometer Tracing 1.0.0-RC1 #32616
    • Upgrade to Mockito 4.8.1 #32799
    • Upgrade to MongoDB 4.8.0-beta0 #32684
    • Upgrade to MySQL 8.0.31 and extend dependency management to new Maven identifiers #32782
    • Upgrade to Native Build Tools Plugin 0.9.16 #32800
    • Upgrade to Neo4J Java Driver 5.0.0 #32620
    • Upgrade to Neo4j Java Driver 5.1.0 #32711
    • Upgrade to Netty 4.1.84.Final #32712
    • Upgrade to OpenTelemetry 1.19.0 #32713
    • Upgrade to Rabbit Stream Client 0.8.0 #32714
    • Upgrade to Reactor 2022.0.0-RC1 #32599
    • Upgrade to Selenium 4.5.0 #32715
    • Upgrade to Selenium HtmlUnit 4.5.0 #32716
    • Upgrade to SLF4J 2.0 and Logback 1.4 #12649
    • Upgrade to SLF4J 2.0.3 #32717
    • Upgrade to SnakeYAML 1.33 #32522
    • Upgrade to Spring AMQP 3.0.0-RC1 #32602
    • Upgrade to Spring Batch 5.0.0-RC1 #32618
    • Upgrade to Spring Data 2022.0.0-RC1 #32601
    • Upgrade to Spring Framework 6.0.0-RC2 #32696
    • Upgrade to Spring GraphQL 1.0.0-RC1 #32605
    • Upgrade to Spring HATEOAS 2.0.0-RC1 #32652
    • Upgrade to Spring Integration 6.0.0-RC1 #32619
    • Upgrade to Spring Kafka 3.0.0-RC1 #32603
    • Upgrade to Spring LDAP 3.0.0-RC1 #32624
    • Upgrade to Spring RESTDocs 3.0.0-RC1 #32623
    • Upgrade to Spring Retry 2.0.0-RC2 #32600
    • Upgrade to Spring Security 6.0.0-RC1 #32604
    • Upgrade to Spring Session 3.0.0-RC1 #32606
    • Upgrade to Spring WS 4.0.0-RC1 #32621
    • Upgrade to Thymeleaf 3.1.0.RC1 #32628
    • Upgrade to Thymeleaf Extras SpringSecurity 3.1.0.RC1 #32718
    • Upgrade to Tomcat 10.0.27 #32719
    • Upgrade to Undertow 2.2.20.Final #32720

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.7.5(Oct 20, 2022)

    :lady_beetle: Bug Fixes

    • Multi-Document-Separators "#---" comment checks do not account for '!' prefixed comments #32777
    • Actuator configprops endpoint does not display DataSize properties correctly #32775
    • @Bean methods in KafkaAutoConfiguration provide less type information than they could #32773
    • PEM formatted elliptic-curve TLS keys are an unrecognized private key format #32681
    • Assertion calls on CapturedOutput with Kotlin are very slow #32575
    • Empty @DefaultValue cannot be used on collections, maps, arrays or optional values #32563
    • CouchbaseReactiveHealthIndicator uses blocking API to retrieve the cluster diagnostics #32513
    • BootBuildImage's archiveFile property is annotated as an @Input but should be annotated as an @InputFile #32499

    :notebook_with_decorative_cover: Documentation

    • Remove redundant @ExtendWith(SpringExtension.class) from MyJmxTests example #32515

    :hammer: Dependency Upgrades

    • Upgrade to Byte Buddy 1.12.18 #32697
    • Upgrade to Dependency Management Plugin 1.0.15.RELEASE #32786
    • Upgrade to Ehcache3 3.10.2 #32663
    • Upgrade to Embedded Mongo 3.4.11 #32664
    • Upgrade to Glassfish JAXB 2.3.7 #32787
    • Upgrade to Hazelcast 5.1.4 #32698
    • Upgrade to Hibernate 5.6.12.Final #32665
    • Upgrade to Infinispan 13.0.12.Final #32788
    • Upgrade to Jackson Bom 2.13.4.20221013 #32724
    • Upgrade to Jetty Reactive HTTPClient 1.1.13 #32699
    • Upgrade to Lettuce 6.1.10.RELEASE #32666
    • Upgrade to Micrometer 1.9.5 #32591
    • Upgrade to MySQL 8.0.31 and extend dependency management to new Maven identifiers #32781
    • Upgrade to Netty 4.1.84.Final #32700
    • Upgrade to Reactor 2020.0.24 #32592
    • Upgrade to Spring Data 2021.2.5 #32595
    • Upgrade to Spring Kafka 2.8.10 #32596
    • Upgrade to Spring Retry 1.3.4 #32594
    • Upgrade to Spring Security 5.7.4 #32597
    • Upgrade to Tomcat 9.0.68 #32667
    • Upgrade to Undertow 2.2.20.Final #32668

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.6.13(Oct 20, 2022)

    :lady_beetle: Bug Fixes

    • @Bean methods in KafkaAutoConfiguration provide less type information than they could #32770
    • PEM formatted elliptic-curve TLS keys are an unrecognized private key format #32646
    • Actuator configprops endpoint does not display DataSize properties correctly #32645
    • Empty @DefaultValue cannot be used on collections, maps, arrays or optional values #32559
    • Multi-Document-Separators "#---" comment checks do not account for '!' prefixed comments #32521
    • CouchbaseReactiveHealthIndicator uses blocking API to retrieve the cluster diagnostics #32505
    • BootBuildImage's archiveFile property is annotated as an @Input but should be annotated as an @InputFile #32495
    • Assertion calls on CapturedOutput with Kotlin are very slow #32033

    :notebook_with_decorative_cover: Documentation

    • Remove redundant @ExtendWith(SpringExtension.class) from MyJmxTests example #32476

    :hammer: Dependency Upgrades

    • Upgrade to Dependency Management Plugin 1.0.15.RELEASE #32784
    • Upgrade to Ehcache3 3.9.10 #32648
    • Upgrade to Glassfish JAXB 2.3.7 #32785
    • Upgrade to Hibernate 5.6.12.Final #32649
    • Upgrade to Jackson Bom 2.13.4.20221013 #32722
    • Upgrade to Jetty Reactive HTTPClient 1.1.13 #32723
    • Upgrade to Lettuce 6.1.10.RELEASE #32669
    • Upgrade to Micrometer 1.8.11 #32586
    • Upgrade to MySQL 8.0.31 and extend dependency management to new Maven identifiers #32747
    • Upgrade to Netty 4.1.84.Final #32695
    • Upgrade to Reactor 2020.0.24 #32587
    • Upgrade to Spring Data 2021.1.9 #32588
    • Upgrade to Spring Kafka 2.8.10 #32589
    • Upgrade to Spring Retry 1.3.4 #32593
    • Upgrade to Spring Security 5.6.8 #32590
    • Upgrade to Tomcat 9.0.68 #32650
    • Upgrade to Undertow 2.2.20.Final #32651

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v3.0.0-M5(Sep 22, 2022)

    :star: New Features

    • Update Gradle plugin to skip processAot when there is no main source and to skip processTestAot when there is no test source #32424
    • Provide GraalVM metadata repository files in Spring Boot jar built with Gradle #32408
    • Configure Batch with the auto-configured PlatformTransactionManager #32330
    • Add reflection hints to allow the configured and actual ports to be retrieved when using Undertow in a native image #32303
    • Provide a public API for SpringApplication hooks #32301
    • Allow application listeners to register additional listeners in early events #32300
    • Make EventPublishingRunListener package private #32299
    • Remove grab, install, jar, run, uninstall, and war commands from the CLI #32263
    • Add NINETEEN to JavaVersion enum #32261
    • Remove AnsiColors #32209
    • Add support for configuring Spring Session Redis repository #32205
    • Add Gradle plugin support for processing test contexts ahead-of-time #32192
    • Add Maven plugin support for processing test contexts ahead-of-time #32191
    • Refine ConfigurationPropertiesReflectionHintsProcessor #32186
    • Remove ANTLR 2 dependency management #32149
    • Avoid proxy in ValidationAutoConfiguration #32134
    • Allow multiple hosts to be set in MongoProperties #32125
    • Add native hints for default LDIF file #32084
    • Add native-image support for Freemarker #32052
    • Add socketKeepAlive configuration property for Elasticsearch #32051
    • Simplify Flway auto-configuration by dropping support for older versions #32036
    • Remove use of reflection in MustacheViewResolver #32030
    • Align default JMX endpoint exposure with default web endpoint exposure #32005
    • Add disk space health indicator's path to its details and log message #31998
    • Update SpringBootContextLoader to support AOT #31965
    • Harmonize AOT goal/task names #31918
    • Add native-image support for RestTemplateBuilder #31888
    • Remove custom classifier in the native profile in favor of configuring NBT's classesDirectory #31848
    • Avoid creating compileAotJava and processAotResources tasks at configuration time #31844
    • Reinstate Spring for GraphQL auto-configuration #31809
    • Add support for customizing WebJars resource handler path pattern #31769
    • Migrate to AuthorizationFilter in Spring Security auto-config #31255
    • Support Mongo's Stable API in MongoHealthIndicator #30849
    • Reinstate support for Jersey #28637
    • Rework HeapDumper strategy interface to be less HotSpot-specific #27533
    • Make it easier to apply customisations to the SpringApplication created by @SpringBootTest #22405
    • Update data properties to make it clear which stores do and do not require Spring Data #11574

    :lady_beetle: Bug Fixes

    • Execution optimisations are disabled for generateResourcesConfigFile and nativeCompile #32465
    • Tracing and metrics handlers are registered in the wrong order #32463
    • Auto-configured DefaultMeterObservationHandler does not back off when the user defines their own MeterObservationHandler #32462
    • Generated classes are not available with nativeTest #32428
    • Constructor binding of @ConfigurationProperties to a Kotlin Data Class with default values doesn't work any more #32416
    • DataSource logging in H2 console auto-configuration causes Hikari's threads to have the wrong thread context class loader #32407
    • IntelliJ IDEA cannot resolve references to AOT-generated classes in AOT-generated source #32395
    • ConnectionFactoryBuilder does not map minIdle #32332
    • Generated classes are not available in the compiler's classpath #32304
    • Hazelcast auto-configuration recognizes hazelcast.xml and hazelcast.yaml files but not hazelcast.yml #32248
    • Hazelcast shutdown logs are not available out-of-the-box #32246
    • Detection of PeriodStyle.ISO8601 does not support lower-case input #32245
    • Detection of DurationStyle.ISO8601 does not support lower-case input #32232
    • YAML timestamps not handled properly with SnakeYaml 1.31 #32230
    • Netty 'spring.netty leak detection' default property value is always applied to resource leak detector #32146
    • Error "/var/run/docker.sock: connect: permission denied" occurs when building an image using podman on Fedora with SELinux enabled #32122
    • Misleading error message when using JarMode Layertools and the source is not an archive #32098
    • ClassNotFoundException can be thrown for classes in nested jars when under GC pressure #32086
    • Flyway Callbacks and JavaMigrations configured in FlywayConfigurationCustomizer are overwritten by beans of the same type #32070
    • BasicJsonParser does not protect against deeply nested maps #32032
    • OptionalLiveReloadServer logs the wrong port number when it is configured to use an ephemeral port #31985
    • When building with Gradle, transitive runtime dependencies are not available during AOT processing #31970
    • Servlet WebServerStartStopLifecycle doesn't set running to false on stop #31968
    • JUL-based logging performed during close of application context is lost #31964
    • Wrong timeunit for timeouts in Zipkins URLConnectionSender #31957
    • WavefrontSenderConfiguration is ineffective #31954
    • The hash of spring-boot-jarmode-layertools.jar that's added to a fat jar doesn't match the hash of the equivalent published artifact #31950
    • management.endpoint.health.probes.add-additional-paths has no effect when configuration properties have already created the liveness and/or readiness groups #31927
    • UnsupportedDataSourcePropertyException is thrown when attempting to set jdbcUrl for C3P0 #31922
    • Dev Tools restart failures caused by a too short quiet period are hard to diagnose #31907
    • HealthContributor beans managed by a CompositeHealthContributor are recreated on each call #31880
    • Dependency management for REST Assured is incomplete #31878
    • Jar Handler never clears PROTOCOL_HANDLER system property #31876
    • BasicJsonParser can fail with a timeout or stackoverflow with malformed map JSON #31874
    • BasicJsonParser can fail with a stackoverflow exception #31872

    :notebook_with_decorative_cover: Documentation

    • Document classpath* location for looking up GraphQL schemas across modules #32471
    • Document support for JDK 19 #32403
    • Clarify documentation of config sub-directory from which external application properties are read #32292
    • Remove out-of-date link from auto-configuration documentation #32217
    • Clarify documentation on disabling web client request metrics #32199
    • Kotlin sample is missing for constructor binding #32197
    • Improve @ConditionalOnClass javadoc regarding use on @Bean methods #32168
    • Review Git contribution documentation #32100
    • Documentation for Maven Plugin classifier has an unresolved external reference #32044
    • Update Static Content reference documentation to reflect the DefaultServlet no longer being enabled by default #32027
    • Example log output is out-of-date and inconsistent #31988
    • Document that Undertow's record-request-start-time server option must be enabled for %D to work in access logging #31977
    • Update documentation on using H2C to consider running behind a proxy that's performing TLS termination #31975
    • Some properties in the Common Application Properties appendix have no description #31972
    • Fix links in documentations #31952
    • External configuration documentation uses incorrect placeholder syntax #31944
    • server.reactive.session.cookie properties are not listed in the application properties appendix #31915
    • Remove documentation and metadata references to ConfigFileApplicationListener #31902
    • Metadata for 'spring.beaninfo.ignore' has incorrect SourceType #31900
    • Remove reference to nitrite-spring-boot-starter #31894
    • Remove reference to Azure Application Insights #31891
    • Fix typos in code and documentation #31866

    :hammer: Dependency Upgrades

    • Upgrade to Artemis 2.25.0 #32333
    • Upgrade to Byte Buddy 1.12.17 #32455
    • Upgrade to Couchbase Client 3.3.4 #32335
    • Upgrade to Dependency Management Plugin 1.0.14.RELEASE #32460
    • Upgrade to Dropwizard Metrics 4.2.12 #32336
    • Upgrade to Ehcache3 3.10.1 #32337
    • Upgrade to Elasticsearch Client 8.3.3 #32338
    • Upgrade to Flyway 9.3.1 #32446
    • Upgrade to GraphQL Java 19.2 #32430
    • Upgrade to Groovy 4.0.5 #32340
    • Upgrade to Gson 2.9.1 #32341
    • Upgrade to Hazelcast 5.1.3 #32342
    • Upgrade to Hibernate 6.1.3.Final #32343
    • Upgrade to Hibernate Validator 7.0.5.Final #32344
    • Upgrade to HSQLDB 2.7.0 #32345
    • Upgrade to HtmlUnit 2.64.0 #32346
    • Upgrade to Jackson Bom 2.13.4 #32347
    • Upgrade to Janino 3.1.8 #32348
    • Upgrade to Jersey 3.0.8 #32349
    • Upgrade to Jetty 11.0.12 #32447
    • Upgrade to jOOQ 3.17.4 #32350
    • Upgrade to JUnit Jupiter 5.9.1 #32448
    • Upgrade to Kafka 3.2.3 #32449
    • Upgrade to Liquibase 4.16.1 #32450
    • Upgrade to MariaDB 3.0.8 #32451
    • Upgrade to Maven Assembly Plugin 3.4.2 #32356
    • Upgrade to Maven Help Plugin 3.3.0 #32357
    • Upgrade to Maven Install Plugin 3.0.1 #32358
    • Upgrade to Maven Jar Plugin 3.3.0 #32456
    • Upgrade to Maven Javadoc Plugin 3.4.1 #32359
    • Upgrade to Maven Resources Plugin 3.3.0 #32360
    • Upgrade to Maven Shade Plugin 3.4.0 #32384
    • Upgrade to Micrometer 1.10.0-M6 #32238
    • Upgrade to Micrometer Tracing 1.0.0-M8 #32239
    • Upgrade to Mockito 4.8.0 #32361
    • Upgrade to MongoDB 4.7.1 #32362
    • Upgrade to MSSQL JDBC 11.2.1.jre17 #32363
    • Upgrade to MySQL 8.0.30 #32364
    • Upgrade to Netty 4.1.82.Final #32365
    • Upgrade to OpenTelemetry 1.18.0 #32366
    • Upgrade to Oracle Database 21.7.0.0 #32367
    • Upgrade to Postgresql 42.5.0 #32368
    • Upgrade to Rabbit AMQP Client 5.16.0 #32369
    • Upgrade to Rabbit Stream Client 0.7.0 #32370
    • Upgrade to Reactor Bom 2022.0.0-M6 #32240
    • Upgrade to REST Assured 5.2.0 #32371
    • Upgrade to RSocket 1.1.3 #32385
    • Upgrade to Selenium 4.4.0 #32372
    • Upgrade to Selenium HtmlUnit 3.64.0 #32373
    • Upgrade to SnakeYAML 1.32 #32386
    • Upgrade to Spring AMQP 3.0.0-M4 #31861
    • Upgrade to Spring Batch 5.0.0-M6 #32237
    • Upgrade to Spring Data 2022.0.0-M6 #32254
    • Upgrade to Spring Framework 6.0.0-M6 #31834
    • Upgrade to Spring GraphQL 1.1.0-M1 #32294
    • Upgrade to Spring HATEOAS 2.0.0-M6 #31855
    • Upgrade to Spring Integration 6.0.0-M5 #32096
    • Upgrade to Spring Kafka 3.0.0-M6 #31925
    • Upgrade to Spring LDAP 3.0.0-M4 #32105
    • Upgrade to Spring Retry 2.0.0-M1 #32293
    • Upgrade to Spring Security 6.0.0-M7 #32255
    • Upgrade to Spring Session 2022.0.0-M3 #32427
    • Upgrade to SQLite JDBC 3.39.3.0 #32387
    • Upgrade to Tomcat 10.0.23 #32388
    • Upgrade to UnboundID LDAPSDK 6.0.6 #32389
    • Upgrade to Undertow 2.2.19.Final #32390
    • Upgrade to Versions Maven Plugin 2.12.0 #32391

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.7.4(Sep 22, 2022)

    :star: New Features

    • Add NINETEEN to JavaVersion enum #32260

    :lady_beetle: Bug Fixes

    • DataSource logging in H2 console auto-configuration causes Hikari's threads to have the wrong thread context class loader #32406
    • Hazelcast auto-configuration recognizes hazelcast.xml and hazelcast.yaml files but not hazelcast.yml #32247
    • Detection of PeriodStyle.ISO8601 does not support lower-case input #32244
    • Detection of DurationStyle.ISO8601 does not support lower-case input #32231
    • YAML timestamps not handled properly with SnakeYaml 1.31 #32229
    • Hazelcast shutdown logs are not available out-of-the-box #32184
    • Netty 'spring.netty leak detection' default property value is always applied to resource leak detector #32145
    • Error "/var/run/docker.sock: connect: permission denied" occurs when building an image using podman on Fedora with SELinux enabled #32000

    :notebook_with_decorative_cover: Documentation

    • Document support for JDK 19 #32402
    • Clarify documentation of config sub-directory from which external application properties are read #32291
    • Clarify documentation on disabling web client request metrics #32198
    • Kotlin sample is missing for constructor binding #32177
    • Remove out-of-date link from auto-configuration documentation #32174
    • Improve @ConditionalOnClass javadoc regarding use on @Bean methods #32167
    • Document classpath* location for looking up GraphQL schemas across modules #31772

    :hammer: Dependency Upgrades

    • Upgrade to Byte Buddy 1.12.17 #32454
    • Upgrade to Couchbase Client 3.3.4 #32315
    • Upgrade to Dependency Management Plugin 1.0.14.RELEASE #32459
    • Upgrade to Dropwizard Metrics 4.2.12 #32316
    • Upgrade to Ehcache3 3.10.1 #32317
    • Upgrade to Elasticsearch 7.17.6 #32318
    • Upgrade to Embedded Mongo 3.4.9 #32319
    • Upgrade to Groovy 3.0.13 #32443
    • Upgrade to Hibernate 5.6.11.Final #32320
    • Upgrade to Hibernate Validator 6.2.5.Final #32321
    • Upgrade to Infinispan 13.0.11.Final #32322
    • Upgrade to Jackson Bom 2.13.4 #32323
    • Upgrade to Janino 3.1.8 #32324
    • Upgrade to Jetty 9.4.49.v20220914 #32444
    • Upgrade to Johnzon 1.2.19 #32325
    • Upgrade to Kafka 3.1.2 #32326
    • Upgrade to MariaDB 3.0.8 #32445
    • Upgrade to Micrometer 1.9.4 #32272
    • Upgrade to Netty 4.1.82.Final #32327
    • Upgrade to Postgresql 42.3.7 #32243
    • Upgrade to R2DBC Bom Borca-SR2 #32328
    • Upgrade to Reactor 2020.0.23 #32273
    • Upgrade to RSocket 1.1.3 #32380
    • Upgrade to Spring AMQP 2.4.7 #32276
    • Upgrade to Spring Batch 4.3.7 #32278
    • Upgrade to Spring Data 2021.2.3 #32275
    • Upgrade to Spring Framework 5.3.23 #32274
    • Upgrade to Spring GraphQL 1.0.2 #32426
    • Upgrade to Spring HATEOAS 1.5.2 #32378
    • Upgrade to Spring Integration 5.5.15 #32453
    • Upgrade to Spring Kafka 2.8.9 #32277
    • Upgrade to UnboundID LDAPSDK 6.0.6 #32329

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.6.12(Sep 22, 2022)

    :star: New Features

    • Add NINETEEN to JavaVersion enum #32226

    :lady_beetle: Bug Fixes

    • DataSource logging in H2 console auto-configuration causes Hikari's threads to have the wrong thread context class loader #32382
    • Detection of PeriodStyle.ISO8601 does not support lower-case input #32235
    • YAML timestamps not handled properly with SnakeYaml 1.31 #32228
    • Detection of DurationStyle.ISO8601 does not support lower-case input #32223
    • Netty 'spring.netty leak detection' default property value is always applied to resource leak detector #32144
    • Hazelcast auto-configuration recognizes hazelcast.xml and hazelcast.yaml files but not hazelcast.yml #32142

    :notebook_with_decorative_cover: Documentation

    • Document support for JDK 19 #32259
    • Clarify documentation of config sub-directory from which external application properties are read #32224
    • Improve @ConditionalOnClass javadoc regarding use on @Bean methods #32166
    • Clarify documentation on disabling web client request metrics #32136

    :hammer: Dependency Upgrades

    • Upgrade to Dependency Management Plugin 1.0.14.RELEASE #32458
    • Upgrade to Dropwizard Metrics 4.2.12 #32305
    • Upgrade to Groovy 3.0.13 #32440
    • Upgrade to Hibernate 5.6.11.Final #32306
    • Upgrade to Hibernate Validator 6.2.5.Final #32307
    • Upgrade to Jackson Bom 2.13.4 #32308
    • Upgrade to Janino 3.1.8 #32309
    • Upgrade to Jetty 9.4.49.v20220914 #32441
    • Upgrade to Johnzon 1.2.19 #32310
    • Upgrade to Kafka 3.0.2 #32311
    • Upgrade to Micrometer 1.8.10 #32265
    • Upgrade to Netty 4.1.82.Final #32312
    • Upgrade to Postgresql 42.3.7 #32242
    • Upgrade to Rector 2020.0.23 #32266
    • Upgrade to RSocket 1.1.3 #32379
    • Upgrade to Spring AMQP 2.4.7 #32269
    • Upgrade to Spring Batch 4.3.7 #32271
    • Upgrade to Spring Data 2021.1.7 #32268
    • Upgrade to Spring Framework 5.3.23 #32267
    • Upgrade to Spring HATEOAS 1.4.5 #32400
    • Upgrade to Spring Integration 5.5.15 #32452
    • Upgrade to Spring Kafka 2.8.9 #32270

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.7.3(Aug 18, 2022)

    :lady_beetle: Bug Fixes

    • Misleading error message when using JarMode Layertools and the source is not an archive #32097
    • ClassNotFoundException can be thrown for classes in nested jars when under GC pressure #32085
    • Flyway auto-configuration fails with Flyway 9 #32034
    • BasicJsonParser does not protect against deeply nested maps #32031
    • OptionalLiveReloadServer logs the wrong port number when it is configured to use an ephemeral port #31984
    • Servlet WebServerStartStopLifecycle doesn't set running to false on stop #31967
    • JUL-based logging performed during close of application context is lost #31963
    • The hash of spring-boot-jarmode-layertools.jar that's added to a fat jar doesn't match the hash of the equivalent published artifact #31949
    • management.endpoint.health.probes.add-additional-paths has no effect when configuration properties have already created the liveness and/or readiness groups #31926
    • UnsupportedDataSourcePropertyException is thrown when attempting to set jdbcUrl for C3P0 #31921
    • Dev Tools restart failures caused by a too short quiet period are hard to diagnose #31906
    • HealthContributor beans managed by a CompositeHealthContributor are recreated on each call #31879
    • Dependency management for REST Assured is incomplete #31877
    • Jar Handler never clears PROTOCOL_HANDLER system property #31875
    • BasicJsonParser can fail with a timeout or stackoverflow with malformed map JSON #31873
    • BasicJsonParser can fail with a stackoverflow exception #31871

    :notebook_with_decorative_cover: Documentation

    • Review Git contribution documentation #32099
    • Documentation for Maven Plugin classifier has an unresolved external reference #32043
    • Update Static Content reference documentation to reflect the DefaultServlet no longer being enabled by default #32026
    • Example log output is out-of-date and inconsistent #31987
    • Document that Undertow's record-request-start-time server option must be enabled for %D to work in access logging #31976
    • Update documentation on using H2C to consider running behind a proxy that's performing TLS termination #31974
    • Some properties in the Common Application Properties appendix have no description #31971
    • Fix links in documentations #31951
    • External configuration documentation uses incorrect placeholder syntax #31943
    • server.reactive.session.cookie properties are not listed in the application properties appendix #31914
    • Remove documentation and metadata references to ConfigFileApplicationListener #31901
    • Metadata for 'spring.beaninfo.ignore' has incorrect SourceType #31899
    • Remove reference to nitrite-spring-boot-starter #31893
    • Remove reference to Azure Application Insights #31890
    • Fix typos in code and documentation #31865

    :hammer: Dependency Upgrades

    • Upgrade to Byte Buddy 1.12.13 #32013
    • Upgrade to Couchbase Client 3.3.3 #32014
    • Upgrade to Dependency Management Plugin 1.0.13.RELEASE #32056
    • Upgrade to Dropwizard Metrics 4.2.11 #32015
    • Upgrade to Embedded Mongo 3.4.8 #32016
    • Upgrade to GraphQL Java 18.3 #31945
    • Upgrade to Groovy 3.0.12 #32017
    • Upgrade to Gson 2.9.1 #32018
    • Upgrade to Hazelcast 5.1.3 #32019
    • Upgrade to Hibernate Validator 6.2.4.Final #32020
    • Upgrade to MariaDB 3.0.7 #32021
    • Upgrade to Maven Javadoc Plugin 3.4.1 #32089
    • Upgrade to Micrometer 1.9.3 #32022
    • Upgrade to MySQL 8.0.30 #32023
    • Upgrade to Reactor 2020.0.22 #32038
    • Upgrade to Spring Security 5.7.3 #32040
    • Upgrade to Undertow 2.2.19.Final #32090

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.6.11(Aug 18, 2022)

    :lady_beetle: Bug Fixes

    • BasicJsonParser does not protect against deeply nested maps #32029
    • Misleading error message when using JarMode Layertools and the source is not an archive #31997
    • OptionalLiveReloadServer logs the wrong port number when it is configured to use an ephemeral port #31983
    • Servlet WebServerStartStopLifecycle doesn't set running to false on stop #31966
    • UnsupportedDataSourcePropertyException is thrown when attempting to set jdbcUrl for C3P0 #31920
    • Jar Handler never clears PROTOCOL_HANDLER system property #31870
    • BasicJsonParser can fail with a timeout or stackoverflow with malformed map JSON #31869
    • BasicJsonParser can fail with a stackoverflow exception #31868
    • Dependency management for REST Assured is incomplete #31864
    • The hash of spring-boot-jarmode-layertools.jar that's added to a fat jar doesn't match the hash of the equivalent published artifact #31862
    • ClassNotFoundException can be thrown for classes in nested jars when under GC pressure #31853
    • HealthContributor beans managed by a CompositeHealthContributor are recreated on each call #31676
    • Dev Tools restart failures caused by a too short quiet period are hard to diagnose #31579
    • management.endpoint.health.probes.add-additional-paths has no effect when configuration properties have already created the liveness and/or readiness groups #30612
    • JUL-based logging performed during close of application context is lost #9457

    :notebook_with_decorative_cover: Documentation

    • Update Static Content reference documentation to reflect the DefaultServlet no longer being enabled by default #32004
    • External configuration documentation uses incorrect placeholder syntax #31941
    • Some properties in the Common Application Properties appendix have no description #31916
    • server.reactive.session.cookie properties are not listed in the application properties appendix #31912
    • Review Git contribution documentation #31904
    • Metadata for 'spring.beaninfo.ignore' has incorrect SourceType #31898
    • Remove documentation and metadata references to ConfigFileApplicationListener #31895
    • Remove reference to nitrite-spring-boot-starter #31892
    • Remove reference to Azure Application Insights #31889
    • Fix links in documentations #31887
    • Fix typos in code and documentation #31734
    • Document that Undertow's record-request-start-time server option must be enabled for %D to work in access logging #31103
    • Documentation for Maven Plugin classifier has an unresolved external reference #29171
    • Example log output is out-of-date and inconsistent #28208
    • Update documentation on using H2C to consider running behind a proxy that's performing TLS termination #25855

    :hammer: Dependency Upgrades

    • Upgrade to Dependency Management Plugin 1.0.13.RELEASE #32055
    • Upgrade to Dropwizard Metrics 4.2.11 #32007
    • Upgrade to Groovy 3.0.12 #32008
    • Upgrade to Hibernate Validator 6.2.4.Final #32009
    • Upgrade to Micrometer 1.8.9 #32010
    • Upgrade to MySQL 8.0.30 #32011
    • Upgrade to Netty tcNative 2.0.54.Final #32012
    • Upgrade to Reactor 2020.0.22 #32037
    • Upgrade to Spring Security 5.6.7 #32039
    • Upgrade to Undertow 2.2.19.Final #32087

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v3.0.0-M4(Jul 21, 2022)

    :star: New Features

    • Auto-configure Spring Data's new ReactiveElasticsearchClient in place of the old one #31755
    • Add auto-configuration for JdkClientHttpConnector #31709
    • Drop support for String path matching for MVC endpoint handler mappings #31700
    • Enable GraalVM reachability metadata repository #31687
    • Add config property for KafkaAdmin modifyTopicConfigs #31679
    • Reinstate support for Hibernate metrics #31675
    • AOT support for Actuator #31671
    • Upgrade to Spring REST Docs 3.0.0-M4 #31621
    • Support deriving a DataSourceBuilder from a wrapped DataSource #31605
    • Add a configuration property for the trusted proxies of Tomcat's Remote IP valve #31576
    • Remove --allow-incomplete-classpath from native-image arguments #31568
    • Adapt to change in default strategy for URL path matching in Spring MVC #31547
    • Allow Jackson's lazily created standard JDK serializers to be used in a native image #31537
    • Add support for property binding in SpringApplication when running in native-image #31534
    • Add resource hints for schema and data scripts #31533
    • Add native-image support for JavaLoggingSystem #31531
    • Allow HTTP message converters to be auto-configured in a native image that is not a web app #31528
    • Remove YamlJsonParser #31498
    • Raise the minimum supported version of Kotlin to 1.7 #31391
    • Add PropertyMapper.to(...) API designed for immutable instances #31323
    • Do not auto-configure a ReactiveUserDetailsService when an AuthenticationManagerResolver bean is present #31317
    • Add resource hints for application properties #31311
    • Add resource hints for default templates location #31310
    • Disable tracing in integration tests #31308
    • Add Runnable variant of TestPropertyValues.applyToSystemProperties #31303
    • Add a method to ApplicationContextRunner that prepares but does not refresh the context #31302
    • Apply initializers and bean registrations before registering classes in ApplicationContextRunner #31280
    • Add resource hints for serving static web content #31278
    • Add AOT support for immutable configuration properties #31247
    • Register runtime hints for @ConfigurationProperties annotation #31227
    • Raise the minimum supported version of Gradle to 7.5 #31215
    • Remove redundant throws declarations from public APIs #31179
    • Support management contexts with AOT #31163
    • Auto-configure JvmCompilationMetrics #31151
    • Allow Prometheus PushGateway to be configured to perform a PUT on shutdown #31104
    • Add WebClient based sender for Zipkin #30792
    • Remove support for Elasticsearch's RestHighLevelClient #30647
    • Support new ElasticsearchClient #28597
    • Move auto-configuration for reactive Elasticsearch client into o.s.b.autoconfigure.elasticsearch #28068
    • Allow configuring WebDriver with TestNG #27947
    • Remove spring.session.store-type in favor of a defined order for which implementation will win when multiple are available #27756
    • Remove support for running multiple Spring Batch jobs #25373

    :lady_beetle: Bug Fixes

    • Publishing a docker image to a private registry fails without authentication #31825
    • In a non-reactive application, health indicators in a parent context are not found #31819
    • Dependency management for Derby is incomplete #31815
    • A router function with attributes causes /actuator/mappings to return a 500 response due to an UnsupportedOperationException #31807
    • InstanceAlreadyExistsException when using Actuator with multiple context and JMX enabled #31805
    • A project dependency on a Java library does not make the library's resources visible to AOT source generation #31803
    • Using 'ImportAutoConfigurationImportSelector' in the jar package loaded by a custom class loader throws ClassNotFoundException #31802
    • Trailing whitespace in the value of a property is hard to identify in failure analysis descriptions #31781
    • Log4j2's shutdown hook is not disabled when using Log4j 2.18 or later #31733
    • spring-boot-starter-jetty does not use the official Jakarta Servlet and WebSocket APIs #31720
    • HTTP Server and Data repositories metrics record null for the description #31707
    • Deprecation hint for spring.data.mongodb.grid-fs-database is located in the wrong section #31691
    • Image building fails with latest Paketo base builder and additional buildpacks configured #31559
    • Tomcat fails to start when PEM files are used and key-store-password is not specified #31529
    • Values in a spring.data.cassandra.config file can't override some defaults defined in CassandraProperties #31504
    • @RestControllerAdvice @ExceptionHandler Inconsistent behavior with @RestControllerEndpoint #31502
    • Malformed json causes BasicJsonParser to throw a NullPointerException #31500
    • Metadata generated by the configuration properties annotation processor can miss inherited properties from nested classes #31485
    • OAuth2 Resource Server Auto-Configuration can only configure a single JWS algorithm #31404
    • JarFile implementation calls close early which breaks verification of signed unpacked nested jars on Oracle JDK #31396
    • Health indicators that take a long time to respond are difficult to diagnose #31385
    • Maven shade plugin configuration in spring-boot-starter-parent does not append META-INF/spring/*.imports files #31368
    • ZipkinConfigurations.SenderConfiguration uses @ConditionalOnClass on a @Bean method #31353
    • Custom Converter annotated with @ConfigurationPropertiesBinding does not get selected if targetType has a static factory method different return type #31342
    • Zipkin auto-configuration should not back off on custom SpanHandler #31273
    • Micrometer tracing auto-configuration doesn't register all ObservationHandlers #31272
    • spring-boot-dependencies manages spring-ldap-ldif-batch which no longer exists #31256
    • ConfigurationPropertiesBeanFactoryInitializationAotProcessor does not handle singleton #31248
    • When building with Maven, classes generated by AOT are not included in final artifact #31245
    • Base packages are not contributed with AOT #31223
    • Prevent main method to continue once the AOT context has been optimized #31219
    • Dependency task can fail due to BootJar and BootWar afterResolve hooks #31214
    • spring-configuration-metadata.json is missing for additional-spring-configuration-metadata.json after switching from @Configuration to @AutoConfiguration #31191
    • MimeMappings does not include application/wasm #31189
    • Dependency management for mimepull is redundant and the managed version is incompatible with Java 8 #31187
    • Binder(ConfigurationPropertySource... sources) does not assert that sources contains only non-null elements #31184
    • WebMvcMetricsFilter stopped working since 2.7.0 #31152

    :notebook_with_decorative_cover: Documentation

    • Clarify how docker image publishing registry is determined #31827
    • Fix deprecations in javadocs #31713
    • Remove Jolokia references from the documentation #31549
    • Make SpringApplication Kotlin samples idiomatic #31466
    • Harmonize Kotlin example #31461
    • Remove duplicate content from "The Spring WebFlux Framework" section #31382
    • Document that property placeholders should use the canonical property name form #31370
    • Fix typos in the reference documentation #31367
    • Enable Links for the Javadoc of the Gradle Plugin #31363
    • Remove "earlier in this chapter" from places where content is now elsewhere in the documentation #31361
    • Restore custom favicon documentation #31359
    • Document that when using Lombok it must be configured to run before spring-boot-configuration-processor #31357
    • Use Lambda-based API in Spring Security examples #31355
    • Fix typo in name of imports file in javadoc of ImportCandidates.from #31340
    • Update Dynatrace Micrometer registry documentation #31339
    • Typos in documentation ("spring-factories" instead of "spring.factories") #31207
    • Fix Custom Layers Configuration section title in Maven plugin docs #31181
    • Add link to 'Error Handling Spring Boot Starter' #31156

    :hammer: Dependency Upgrades

    • Upgrade to Artemis 2.23.1 #31583
    • Upgrade to AssertJ 3.23.1 #31331
    • Upgrade to Byte Buddy 1.12.12 #31625
    • Upgrade to Caffeine 3.1.1 #31626
    • Upgrade to Couchbase Client 3.3.2 #31627
    • Upgrade to Dependency Management Plugin 1.0.12.RELEASE #31557
    • Upgrade to Derby 10.16.1.1 #31584
    • Upgrade to Dropwizard Metrics 4.2.10 #31628
    • Upgrade to Flyway 9.0.1 #31723
    • Upgrade to Groovy 4.0.3 #31631
    • Upgrade to H2 2.1.214 #31632
    • Upgrade to Hazelcast 5.1.2 #31633
    • Upgrade to Hibernate 6.1.1.Final #31674
    • Upgrade to HtmlUnit 2.63.0 #31758
    • Upgrade to HttpCore5 5.1.4 #31759
    • Upgrade to InfluxDB Java 2.23 #31635
    • Upgrade to Jakarta Json 2.0.2 #31636
    • Upgrade to Jakarta Validation 3.0.2 #31637
    • Upgrade to Jedis 4.2.3 #31586
    • Upgrade to Jetty 11.0.11 #31639
    • Upgrade to Jetty Reactive HTTPClient 3.0.6 #31638
    • Upgrade to jOOQ 3.17.2 #31640
    • Upgrade to JsonAssert 1.5.1 #31641
    • Upgrade to Kotlin 1.7.10 #31642
    • Upgrade to Kotlin Coroutines 1.6.4 #31760
    • Upgrade to Lettuce 6.2.0.RELEASE #31761
    • Upgrade to Liquibase 4.13.0 #31762
    • Upgrade to Log4j2 2.18.0 #31589
    • Upgrade to MariaDB 3.0.6 #31644
    • Upgrade to Maven Assembly Plugin 3.4.1 #31645
    • Upgrade to Maven Deploy Plugin 3.0.0 #31832
    • Upgrade to Maven Enforcer Plugin 3.1.0 #31591
    • Upgrade to Maven Install Plugin 3.0.0 #31833
    • Upgrade to Maven Invoker Plugin 3.3.0 #31592
    • Upgrade to Micrometer 1.10.0-M3 #31617
    • Upgrade to Micrometer Tracing 1.0.0-M6 #31657
    • Upgrade to Mockito 4.6.1 #31332
    • Upgrade to MongoDB 4.7.0-beta0 #31763
    • Upgrade to Neo4j Java Driver 4.4.9 #31764
    • Upgrade to Netty 4.1.79.Final #31765
    • Upgrade to OkHttp 4.10.0 #31593
    • Upgrade to OpenTelemetry 1.16.0 #31766
    • Upgrade to Oracle Database 21.6.0.0.1 #31595
    • Upgrade to Postgresql 42.4.0 #31596
    • Upgrade to Prometheus Client 0.16.0 #31597
    • Upgrade to R2DBC 1.0 and adapt to r2dbc-bom no longer being published #31702
    • Upgrade to Rabbit AMQP Client 5.15.0 #31598
    • Upgrade to Reactive Streams 1.0.4 #31649
    • Upgrade to Reactor 2022.0.0-M4 #31609
    • Upgrade to REST Assured 5.1.1 #31333
    • Upgrade to RxJava3 3.1.5 #31650
    • Upgrade to Selenium HtmlUnit 3.62.0 #31600
    • Upgrade to SendGrid 4.9.3 #31652
    • Upgrade to Spring Batch 5.0.0-M4 #31623
    • Upgrade to Spring Data 2022.0.0-M5 #31619
    • Upgrade to Spring Framework 6.0.0-M5 #31241
    • Upgrade to Spring HATEOAS 2.0.0-M5 #31683
    • Upgrade to Spring Integration 6.0.0-M4 #31624
    • Upgrade to Spring Kafka 3.0.0-M5 #31620
    • Upgrade to Spring Security 6.0.0-M6 #31622
    • Upgrade to Tomcat 10.0.22 #31653
    • Upgrade to Undertow 2.2.18.Final #31654
    • Upgrade to Versions Maven Plugin 2.11.0 #31601
    • Upgrade to WebJars Locator Core 0.52 #31602

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.7.2(Jul 21, 2022)

    :lady_beetle: Bug Fixes

    • Publishing a docker image to a private registry fails without authentication #31824
    • In a non-reactive application, health indicators in a parent context are not found #31818
    • Dependency management for Derby is incomplete #31814
    • ApplicationPid doesn't log a warning if it takes a long time to return #31810
    • A router function with attributes causes /actuator/mappings to return a 500 response due to an UnsupportedOperationException #31806
    • InstanceAlreadyExistsException when using Actuator with multiple context and JMX enabled #31804
    • Using 'ImportAutoConfigurationImportSelector' in the jar package loaded by a custom class loader throws ClassNotFoundException #31801
    • GraphQL auto-configuration does not configure the GrapQlSource with SubscriptionExceptionResolver beans #31794
    • Trailing whitespace in the value of a property is hard to identify in failure analysis descriptions #31780
    • Log4j2's shutdown hook is not disabled when using Log4j 2.18 or later #31732
    • HTTP Server and Data repositories metrics record null for the description #31706
    • Deprecation hint for spring.data.mongodb.grid-fs-database is located in the wrong section #31690
    • Image building fails with latest Paketo base builder and additional buildpacks configured #31558
    • Tomcat fails to start when PEM files are used and key-store-password is not specified #31253

    :notebook_with_decorative_cover: Documentation

    • Clarify how docker image publishing registry is determined #31826
    • Fix typo in "HTTP and WebSocket" section of GraphQL documentation #31518

    :hammer: Dependency Upgrades

    • Upgrade to AppEngine SDK 1.9.98 #31790
    • Upgrade to Byte Buddy 1.12.12 #31735
    • Upgrade to Couchbase Client 3.3.2 #31736
    • Upgrade to Dependency Management Plugin 1.0.12.RELEASE #31556
    • Upgrade to Embedded Mongo 3.4.7 #31830
    • Upgrade to GraphQL Java 18.2 #31812
    • Upgrade to Hibernate 5.6.10.Final #31738
    • Upgrade to HttpCore5 5.1.4 #31739
    • Upgrade to Jetty Reactive HTTPClient 1.1.12 #31740
    • Upgrade to JsonAssert 1.5.1 #31741
    • Upgrade to Kotlin Coroutines 1.6.4 #31742
    • Upgrade to Lettuce 6.1.9.RELEASE #31743
    • Upgrade to MariaDB 3.0.6 #31744
    • Upgrade to Micrometer 1.9.2 #31614
    • Upgrade to Neo4j Java Driver 4.4.9 #31745
    • Upgrade to Netty 4.1.79.Final #31746
    • Upgrade to Reactor 2020.0.21 #31608
    • Upgrade to SendGrid 4.9.3 #31747
    • Upgrade to Spring Data 2021.2.2 #31615
    • Upgrade to Spring Framework 5.3.22 #31613
    • Upgrade to Spring GraphQL 1.0.1 #31616
    • Upgrade to Spring Integration 5.5.14 #31800
    • Upgrade to Spring Kafka 2.8.8 #31786
    • Upgrade to Tomcat 9.0.65 #31831

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.6.10(Jul 21, 2022)

    :lady_beetle: Bug Fixes

    • Using 'ImportAutoConfigurationImportSelector' in the jar package loaded by a custom class loader throws ClassNotFoundException #31798
    • A router function with attributes causes /actuator/mappings to return a 500 response due to an UnsupportedOperationException #31784
    • Log4j2's shutdown hook is not disabled when using Log4j 2.18 or later #31719
    • InstanceAlreadyExistsException when using Actuator with multiple context and JMX enabled #31718
    • Deprecation hint for spring.data.mongodb.grid-fs-database is located in the wrong section #31689
    • ApplicationPid doesn't log a warning if it takes a long time to return #31572
    • Trailing whitespace in the value of a property is hard to identify in failure analysis descriptions #31571
    • Dependency management for Derby is incomplete #31570
    • HTTP Server and Data repositories metrics record null for the description #31516
    • Image building fails with latest Paketo base builder and additional buildpacks configured #31233
    • Publishing a docker image to a private registry fails without authentication #28844
    • In a non-reactive application, health indicators in a parent context are not found #27308

    :notebook_with_decorative_cover: Documentation

    • Clarify how docker image publishing registry is determined #31820

    :hammer: Dependency Upgrades

    • Upgrade to AppEngine SDK 1.9.98 #31788
    • Upgrade to Dependency Management Plugin 1.0.12.RELEASE #31555
    • Upgrade to Hibernate 5.6.10.Final #31724
    • Upgrade to HttpCore5 5.1.4 #31725
    • Upgrade to Jetty Reactive HTTPClient 1.1.12 #31726
    • Upgrade to JsonAssert 1.5.1 #31727
    • Upgrade to Lettuce 6.1.9.RELEASE #31728
    • Upgrade to MariaDB 2.7.6 #31729
    • Upgrade to Micrometer 1.8.8 #31612
    • Upgrade to Neo4j Java Driver 4.4.9 #31730
    • Upgrade to Netty 4.1.79.Final #31731
    • Upgrade to Reactor 2020.0.21 #31607
    • Upgrade to Spring Data 2021.1.6 #31611
    • Upgrade to Spring Framework 5.3.22 #31610
    • Upgrade to Spring Integration 5.5.14 #31799
    • Upgrade to Spring Kafka 2.8.8 #31785
    • Upgrade to Tomcat 9.0.65 #31829

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.7.1(Jun 23, 2022)

    :lady_beetle: Bug Fixes

    • Values in a spring.data.cassandra.config file can't override some defaults defined in CassandraProperties #31503
    • @RestControllerAdvice @ExceptionHandler Inconsistent behavior with @RestControllerEndpoint #31501
    • Malformed json causes BasicJsonParser to throw a NullPointerException #31499
    • Metadata generated by the configuration properties annotation processor can miss inherited properties from nested classes #31484
    • JarFile implementation calls close early which breaks verification of signed unpacked nested jars on Oracle JDK #31395
    • Health indicators that take a long time to respond are difficult to diagnose #31384
    • Custom Converter annotated with @ConfigurationPropertiesBinding does not get selected if targetType has a static factory method different return type #31341
    • Tomcat server.max-http-header-size property is ignored when using HTTP/2 #31329
    • OAuth2 Resource Server Auto-Configuration can only configure a single JWS algorithm #31321
    • Maven shade plugin configuration in spring-boot-starter-parent does not append META-INF/spring/*.imports files #31316
    • GraphQL RouterFunctions are unordered which prevents other functions from being ordered after them #31314
    • spring-boot-dependencies manages spring-ldap-ldif-batch which no longer exists #31254
    • Dependency task can fail due to BootJar and BootWar afterResolve hooks #31213
    • MimeMappings does not include application/wasm #31188
    • spring-configuration-metadata.json is missing for additional-spring-configuration-metadata.json after switching from @Configuration to @AutoConfiguration #31186
    • Binder(ConfigurationPropertySource... sources) does not assert that sources contains only non-null elements #31183
    • WebMvcMetricsFilter stopped working since 2.7.0 #31150
    • Dependency management for mimepull is redundant and the managed version is incompatible with Java 8 #31145
    • layers.xsd is out of sync with the documentation and implementation for including and excluding module dependencies #31128

    :notebook_with_decorative_cover: Documentation

    • Make SpringApplication Kotlin samples idiomatic #31463
    • Harmonize Kotlin example #31458
    • Remove duplicate content from "The Spring WebFlux Framework" section #31381
    • Document that property placeholders should use the canonical property name form #31369
    • Fix typos in the reference documentation #31366
    • Enable Links for the Javadoc of the Gradle Plugin #31362
    • Remove "earlier in this chapter" from places where content is now elsewhere in the documentation #31360
    • Restore custom favicon documentation #31358
    • Document that when using Lombok it must be configured to run before spring-boot-configuration-processor #31356
    • Use Lambda-based API in Spring Security examples #31354
    • Fix typo in name of imports file in javadoc of ImportCandidates.from #31277
    • Typos in documentation ("spring-factories" instead of "spring.factories") #31206
    • Fix Custom Layers Configuration section title in Maven plugin docs #31180
    • org.springframework.boot.actuate.autoconfigure.metrics.graphql has no package info #31140
    • Update Dynatrace Micrometer registry documentation #31132

    :hammer: Dependency Upgrades

    • Upgrade to AppEngine SDK 1.9.97 #31421
    • Upgrade to Byte Buddy 1.12.11 #31508
    • Upgrade to Couchbase Client 3.3.1 #31422
    • Upgrade to Dropwizard Metrics 4.2.10 #31488
    • Upgrade to Elasticsearch 7.17.4 #31423
    • Upgrade to Embedded Mongo 3.4.6 #31424
    • Upgrade to Flyway 8.5.13 #31425
    • Upgrade to Groovy 3.0.11 #31426
    • Upgrade to H2 2.1.214 #31427
    • Upgrade to Hazelcast 5.1.2 #31428
    • Upgrade to Jetty 9.4.48.v20220622 #31509
    • Upgrade to jOOQ 3.14.16 #31429
    • Upgrade to Kotlin Coroutines 1.6.3 #31490
    • Upgrade to MariaDB 3.0.5 #31431
    • Upgrade to Micrometer 1.9.1 #31372
    • Upgrade to MongoDB 4.6.1 #31432
    • Upgrade to Neo4j Java Driver 4.4.6 #31433
    • Upgrade to Netty 4.1.78.Final #31434
    • Upgrade to Postgresql 42.3.6 #31435
    • Upgrade to Reactive Streams 1.0.4 #31436
    • Upgrade to Reactor 2020.0.20 #31371
    • Upgrade to Solr 8.11.2 #31491
    • Upgrade to Spring AMQP 2.4.6 #31376
    • Upgrade to Spring Data 2021.2.1 #31374
    • Upgrade to Spring Framework 5.3.21 #31319
    • Upgrade to Spring HATEOAS 1.5.1 #31465
    • Upgrade to Spring Integration 5.5.13 #31483
    • Upgrade to Spring Kafka 2.8.7 #31377
    • Upgrade to Spring LDAP 2.4.1 #31373
    • Upgrade to Spring Security 5.7.2 #31375
    • Upgrade to Tomcat 9.0.64 #31437
    • Upgrade to Undertow 2.2.18.Final #31438

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.6.9(Jun 23, 2022)

    :lady_beetle: Bug Fixes

    • @RestControllerAdvice @ExceptionHandler Inconsistent behavior with @RestControllerEndpoint #31495
    • Tomcat server.max-http-header-size property is ignored when using HTTP/2 #31322
    • Malformed json causes BasicJsonParser to throw a NullPointerException #31301
    • Values in a spring.data.cassandra.config file can't override some defaults defined in CassandraProperties #31238
    • Health indicators that take a long time to respond are difficult to diagnose #31231
    • layers.xsd is out of sync with the documentation and implementation for including and excluding module dependencies #31127
    • MimeMappings does not include application/wasm #30885
    • Binder(ConfigurationPropertySource... sources) does not assert that sources contains only non-null elements #30878
    • Dependency task can fail to BootJar and BootWar afterResolve hooks #30586
    • JarFile implementation calls close early which breaks verification of signed unpacked nested jars on Oracle JDK #29356
    • Custom Converter annotated with @ConfigurationPropertiesBinding does not get selected if targetType has a static factory method different return type #28592
    • Metadata generated by the configuration properties annotation processor can miss inherited properties from nested classes #21626

    :notebook_with_decorative_cover: Documentation

    • Remove duplicate content from "The Spring WebFlux Framework" section #31378
    • Fix typos in the reference documentation #31328
    • Document that property placeholders should use the canonical property name form #31309
    • Enable Links for the Javadoc of the Gradle Plugin #31279
    • Remove "earlier in this chapter" from places where content is now elsewhere in the documentation #31276
    • Restore custom favicon documentation #31224
    • Typos in documentation ("spring-factories" instead of "spring.factories") #31203
    • Document that when using Lombok it must be configured to run before spring-boot-configuration-processor #31190
    • Fix Custom Layers Configuration section title in Maven plugin docs #31172
    • Use Lambda-based API in Spring Security examples #31143

    :hammer: Dependency Upgrades

    • Upgrade to AppEngine SDK 1.9.97 #31410
    • Upgrade to Dropwizard Metrics 4.2.10 #31486
    • Upgrade to Groovy 3.0.11 #31411
    • Upgrade to Infinispan 12.1.12.Final #31412
    • Upgrade to Jetty 9.4.48.v20220622 #31507
    • Upgrade to jOOQ 3.14.16 #31413
    • Upgrade to Micrometer 1.8.7 #31347
    • Upgrade to Neo4j Java Driver 4.4.6 #31414
    • Upgrade to Netty 4.1.78.Final #31415
    • Upgrade to Netty tcNative 2.0.53.Final #31416
    • Upgrade to Postgresql 42.3.6 #31417
    • Upgrade to Reactive Streams 1.0.4 #31418
    • Upgrade to Reactor 2020.0.20 #31346
    • Upgrade to Spring AMQP 2.4.6 #31348
    • Upgrade to Spring Data 2021.1.5 #31349
    • Upgrade to Spring Framework 5.3.21 #31318
    • Upgrade to Spring HATEOAS 1.4.4 #31464
    • Upgrade to Spring Integration 5.5.13 #31482
    • Upgrade to Spring Kafka 2.8.7 #31350
    • Upgrade to Spring Security 5.6.6 #31351
    • Upgrade to Tomcat 9.0.64 #31419
    • Upgrade to Undertow 2.2.18.Final #31420

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v3.0.0-M3(May 19, 2022)

    :star: New Features

    • Remove auto-configuration for Apache Solr until it is compatible with Jetty 11 #31054
    • Allow basic usage of Logback in applications compiled to a native image #30975
    • Update started log message to reflect that the application may not be running on the JVM #30974
    • Use AOT-generated context initialization when running in a native image #30915
    • Reinstate support for pooled-jms as it is now JMS 3.0 compatible #30865
    • Remove support for Embedded Mongo in favour of its new built-in Spring Boot support #30863
    • Add a profile to spring-boot-starter-parent for building a native image from an application #30830
    • Add OtlpMeterRegistry auto-configuration #30825
    • Auto-configure Micrometer's JVM info metrics #30823
    • Auto-configure http tracing for Micrometer Tracing #30784
    • Provide a configuration property for Kafka's async acks #30776
    • Remove deprecated properties in Saml2RelyingPartyProperties #30751
    • Remove dependency management for AppEngine SDK #30638
    • Integrate AOT generation in Spring Boot Gradle Plugin #30527
    • Integrate AOT generation in Spring Boot Maven Plugin #30525
    • Remove the ability to run an application in the Maven process #30501
    • Simplify main class name resolution in Gradle projects #30467
    • Move metrics export properties #30381
    • Add support for Micrometer tracing #30156
    • Use Log4jBridgeHandler to route JUL-based logging into Log4j 2 #30003
    • Add auto-configuration for Micrometer 2.0 Observation API #29666
    • Reinstate support for REST Assured #29543
    • Provide a callback mechanism for customizing LocalValidatorFactoryBean's configuration #29429
    • To fully align with ISO-8601, use yyyy-MM-dd'T'HH:mm:ss.SSSXXX as the default logging date format #28654

    :lady_beetle: Bug Fixes

    • App fails to start when it depends on thymeleaf-extras-springsecurity6 but does not have Spring Security on the classpath #31033
    • BatchDataSourceScriptDatabaseInitializer does not find the Oracle schema scripts #30564

    :notebook_with_decorative_cover: Documentation

    • Fix references to JDK 1.8 in READMEs #30447
    • Manual metadata has an outdated reference to spring.datasource.initialization-mode #30435

    :hammer: Dependency Upgrades

    • Upgrade to Artemis 2.22.0 #30943
    • Upgrade to AspectJ 1.9.9.1 #30944
    • Upgrade to Byte Buddy 1.12.10 #30945
    • Upgrade to Caffeine 3.1.0 #30946
    • Upgrade to Cassandra Driver 4.14.1 #30947
    • Upgrade to Couchbase Client 3.3.0 #30948
    • Upgrade to Elasticsearch 7.17.3 #30949
    • Upgrade to Embedded Mongo 3.4.5 #30547
    • Upgrade to Flyway 8.5.11 #31056
    • Upgrade to Groovy 4.0.2 #30951
    • Upgrade to Hibernate 5.6.9.Final #31049
    • Upgrade to HtmlUnit 2.61.0 #30952
    • Upgrade to Jackson Bom 2.13.3 #31050
    • Upgrade to Jakarta Transaction 2.0.1 #30953
    • Upgrade to Jaybird 4.0.6.java8 #30954
    • Upgrade to JBoss Logging 3.5.0.Final #30955
    • Upgrade to Jetty 11.0.9 #30956
    • Upgrade to jOOQ 3.16.6 #30957
    • Upgrade to Kafka 3.2.0 #31084
    • Upgrade to Liquibase 4.10.0 #30958
    • Upgrade to Maven AntRun Plugin 3.1.0 #30959
    • Upgrade to Micrometer 1.10.0-M2 #30800
    • Upgrade to Micrometer Tracing 1.0.0-M5 #31028
    • Upgrade to Mockito 4.5.1 #30960
    • Upgrade to MSSQL JDBC 10.2.1.jre17 #31052
    • Upgrade to MySQL 8.0.29 #30961
    • Upgrade to Netty 4.1.77.Final #30962
    • Upgrade to OpenTelemetry 1.14.0 #30964
    • Upgrade to Postgresql 42.3.5 #30965
    • Upgrade to Reactor Bom 2022.0.0-M2 #31053
    • Upgrade to REST Assured 5.0.1 #30967
    • Upgrade to Selenium 4.1.4 #30968
    • Upgrade to Spring AMQP 3.0.0-M3 #31066
    • Upgrade to Spring Batch 5.0.0-M3 #30459
    • Upgrade to Spring Data 2022.0-M4 #30634
    • Upgrade to Spring Framework 6.0.0-M4 #30624
    • Upgrade to Spring HATEOAS 2.0.0-M3 #30632
    • Upgrade to Spring Integration 6.0.0-M3 #31063
    • Upgrade to Spring Kafka 3.0.0-M4 #30645
    • Upgrade to Spring LDAP 3.0.0-M2 #31029
    • Upgrade to Spring REST Docs 3.0.0-M3 #30424
    • Upgrade to Spring Security 6.0.0-M5 #31101
    • Upgrade to Spring Session 2022.0.0-M2 #30639
    • Upgrade to Thymeleaf 3.1.0.M2 #31110
    • Upgrade to Tomcat 10.0.21 #31055
    • Upgrade to UnboundID LDAPSDK 6.0.5 #30970

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.7.0(May 19, 2022)

    See the Release notes for 2.7 for upgrade instructions and details of new features.

    :star: New Features

    • Revert to using "application/json" as default MIME type for GraphQL while remaining compatible with "application/graphql+json" #30860
    • Allow customization of single logout in auto-configured SAML relying party registration #30128

    :lady_beetle: Bug Fixes

    • Default properties configured on SpringApplication have higher precedence than properties configured with @PropertySource #31093
    • A failure when an instrumented WebClient records metrics causes the request to fail #31089
    • Dependency management for Artemis is incomplete #31079
    • Configuration properties for Statsd's buffered and step properties are missing #31059
    • Debug logging for requests to WebFlux-based Actuator endpoints does not identify the endpoint #30887
    • @ConditionalOnProperty meta annotation with @AliasFor does not work #30874
    • Event handling in JobExecutionExitCodeGenerator is not thread-safe #30846
    • Hibernate service loading logs HHH000505 warnings for ServiceConfigurationError with Gradle-built jars since 2.5.10 when using Java 11 or later #30791
    • Cryptic startup failure with bare LOGGING_LEVEL environment variable #30789
    • SearchStrategy argument of MethodValidationExcludeFilter byAnnotation(Class, SearchStrategy) is not used #30787
    • spring.security.saml2.relyingparty.registration..asserting-party. properties contain unwanted hyphen in asserting-party #30785
    • DevTools sets deprecated spring.mustache.cache property #30774

    :notebook_with_decorative_cover: Documentation

    • Extend documentation on Datadog metrics #30997
    • Fix link to Upgrading From 1.x in multi-page documentation #30995
    • Document support for Java 18 #30782

    :hammer: Dependency Upgrades

    • Upgrade to ActiveMQ 5.16.5 #30927
    • Upgrade to Byte Buddy 1.12.10 #30928
    • Upgrade to Cassandra Driver 4.14.1 #30929
    • Upgrade to Couchbase Client 3.2.7 #30930
    • Upgrade to Couchbase Client 3.3.0 #31031
    • Upgrade to Elasticsearch 7.17.3 #30931
    • Upgrade to Flyway 8.5.11 #31080
    • Upgrade to GraphQL Java 18.1 #30859
    • Upgrade to Hibernate 5.6.9.Final #31081
    • Upgrade to Infinispan 13.0.10.Final #30933
    • Upgrade to Jackson Bom 2.13.3 #31046
    • Upgrade to Jaybird 4.0.6.java8 #30934
    • Upgrade to Johnzon 1.2.18 #30935
    • Upgrade to Kafka 3.1.1 #31047
    • Upgrade to Micrometer 1.9.0 #31013
    • Upgrade to Mockito 4.5.1 #30936
    • Upgrade to MSSQL JDBC 10.2.1.jre8 #31048
    • Upgrade to MySQL 8.0.29 #30937
    • Upgrade to Netty 4.1.77.Final #30938
    • Upgrade to Postgresql 42.3.5 #30939
    • Upgrade to Reactor Bom 2020.0.19 #30940
    • Upgrade to Selenium 4.1.4 #30941
    • Upgrade to Selenium HtmlUnit 3.61.0 #30855
    • Upgrade to SendGrid 4.9.2 #31116
    • Upgrade to Spring AMQP 2.4.5 #31022
    • Upgrade to Spring Batch 4.3.6 #31020
    • Upgrade to Spring Data 2021.2.0 #31015
    • Upgrade to Spring for GraphQL 1.0.0 #30858
    • Upgrade to Spring Framework 5.3.20 #31014
    • Upgrade to Spring HATEOAS 1.5.0 #31016
    • Upgrade to Spring Integration 5.5.12 #31062
    • Upgrade to Spring Kafka 2.8.6 #31018
    • Upgrade to Spring LDAP 2.4.0 #31017
    • Upgrade to Spring Security 5.7.1 #31100
    • Upgrade to Spring Session Bom 2021.2.0 #31021
    • Upgrade to Tomcat 9.0.63 #31082
    • Upgrade to UnboundID LDAPSDK 6.0.5 #30942

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.6.8(May 19, 2022)

    :lady_beetle: Bug Fixes

    • Default properties configured on SpringApplication have higher precedence than properties configured with @PropertySource #31092
    • A failure when an instrumented WebClient records metrics causes the request to fail #31088
    • Dependency management for Artemis is incomplete #31078
    • Configuration properties for Statsd's buffered and step properties are missing #31058
    • Debug logging for requests to WebFlux-based Actuator endpoints does not identify the endpoint #30886
    • @ConditionalOnProperty meta annotation with @AliasFor does not work #30873
    • Event handling in JobExecutionExitCodeGenerator is not thread-safe #30845
    • Hibernate service loading logs HHH000505 warnings for ServiceConfigurationError with Gradle-built jars since 2.5.10 when using Java 11 or later #30790
    • Cryptic startup failure with bare LOGGING_LEVEL environment variable #30788
    • SearchStrategy argument of MethodValidationExcludeFilter byAnnotation(Class, SearchStrategy) is not used #30786

    :notebook_with_decorative_cover: Documentation

    • Extend documentation on Datadog metrics #30996
    • Fix link to Upgrading From 1.x in multi-page documentation #30994
    • Document support for Java 18 #30781

    :hammer: Dependency Upgrades

    • Upgrade to ActiveMQ 5.16.5 #30917
    • Upgrade to Couchbase Client 3.2.7 #30918
    • Upgrade to Hazelcast 4.2.5 #30919
    • Upgrade to Hibernate 5.6.9.Final #31041
    • Upgrade to Jackson Bom 2.13.3 #31042
    • Upgrade to Jaybird 4.0.6.java8 #30920
    • Upgrade to Johnzon 1.2.18 #30921
    • Upgrade to Micrometer 1.8.6 #31007
    • Upgrade to MySQL 8.0.29 #30922
    • Upgrade to Netty 4.1.77.Final #30923
    • Upgrade to Netty tcNative 2.0.52.Final #30924
    • Upgrade to Postgresql 42.3.5 #30925
    • Upgrade to Reactor Bom 2020.0.19 #30926
    • Upgrade to Spring AMQP 2.4.5 #31009
    • Upgrade to Spring Batch 4.3.6 #31011
    • Upgrade to Spring Framework 5.3.20 #31043
    • Upgrade to Spring HATEOAS 1.4.3 #31008
    • Upgrade to Spring Integration 5.5.12 #31061
    • Upgrade to Spring Kafka 2.8.6 #31010
    • Upgrade to Spring LDAP 2.3.8.RELEASE #31044
    • Upgrade to Spring Security 5.6.5 #31102
    • Upgrade to Tomcat 9.0.63 #31071

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.5.14(May 19, 2022)

    :lady_beetle: Bug Fixes

    • Dependency management for Artemis is incomplete #31077
    • Default properties configured on SpringApplication have higher precedence than properties configured with @PropertySource #31068
    • A failure when an instrumented WebClient records metrics causes the request to fail #30978
    • Configuration properties for Statsd's buffered and step properties are missing #30898
    • Debug logging for requests to WebFlux-based Actuator endpoints does not identify the endpoint #30880
    • Event handling in JobExecutionExitCodeGenerator is not thread-safe #30705
    • SearchStrategy argument of MethodValidationExcludeFilter byAnnotation(Class, SearchStrategy) is not used #30631
    • @ConditionalOnProperty meta annotation with @AliasFor does not work #30505
    • Hibernate service loading logs HHH000505 warnings for ServiceConfigurationError with Gradle-built jars since 2.5.10 when using Java 11 or later #30413
    • Cryptic startup failure with bare LOGGING_LEVEL environment variable #30281

    :notebook_with_decorative_cover: Documentation

    • Fix link to Upgrading From 1.x in multi-page documentation #30890
    • Extend documentation on Datadog metrics #30879
    • Document support for Java 18 #30548

    :hammer: Dependency Upgrades

    • Upgrade to ActiveMQ 5.16.5 #30906
    • Upgrade to Hazelcast 4.1.9 #30907
    • Upgrade to Jaybird 4.0.6.java8 #30908
    • Upgrade to Johnzon 1.2.18 #30909
    • Upgrade to Micrometer 1.7.12 #31001
    • Upgrade to MySQL 8.0.29 #30910
    • Upgrade to Netty 4.1.77.Final #30911
    • Upgrade to Netty tcNative 2.0.52.Final #30912
    • Upgrade to Reactor Bom 2020.0.19 #30913
    • Upgrade to Spring Batch 4.3.6 #31003
    • Upgrade to Spring Framework 5.3.20 #31002
    • Upgrade to Spring Integration 5.5.12 #31060
    • Upgrade to Spring Kafka 2.7.14 #31004
    • Upgrade to Spring LDAP 2.3.8.RELEASE #31039
    • Upgrade to Spring Security 5.5.8 #31096
    • Upgrade to Tomcat 9.0.63 #31069

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.7.0-RC1(Apr 21, 2022)

    :star: New Features

    • Use auto-configured JSON codecs in GraphQlTesterAutoConfiguration #30646
    • Change identityprovider to assertingparty in Saml2RelyingPartyProperties #30642
    • Update initialization of WebSocket handler in GraphQlWebMvcAutoConfiguration #30641
    • Allow disabling the Dynatrace instruments in Micrometer #30637
    • Make ServletWebServerFactory and ReactiveWebServerFactory extend the WebServerFactory marker interface #30579
    • Add support for CNB platform API 0.9 #30566
    • Align tag and metric names with Micrometer?s recommendations #30536
    • Deprecate running an application in the Maven process #30479
    • Add support for Prometheus Exemplars #30472
    • Support Ordered and @Order for exit code generation #30457
    • Configure RSocket support in GraphQL #30453
    • Support "application/graphql+json" media type in GraphQL HTTP mapping #30407
    • Perform failure analysis when a web application cannot be started due to a missing web server factory bean #30358
    • Simplify registration of Jackson mixin types #30152
    • Deprecate DatabaseDriver.GAE #29984
    • Add auto-configuration for Kafka Retry Topics #29812
    • Relocate @Local*Port to spring-boot-test #29589
    • Move core Maven artifacts to the provided scope for the maven plugin #29520
    • Provide autoconfiguration to enable TLS for Web Server using PEM files instead of Keystore #29273
    • Validate the aud claim in OAuth2 resource server #29084
    • Deprecate Elasticsearch RestHighLevelClient #28598
    • Support Elasticsearch RestClientBuilder auto-configuration without RestHighLevelClient #28496

    :lady_beetle: Bug Fixes

    • bootBuildInfo fails with a NullPointerException when an additional property has a null value #30671
    • @SpringBootTest(webEnvironment = WebEnvironment.NONE) is overridden by spring.main.web-application-type in application.properties #30667
    • Spring Boot does not respect WebApplicationType.REACTIVE in tests with a mock web environment #30665
    • NullPointerException is thrown when accessing /actuator/configprops if a class annotated with both @Configuration and @ConfigurationProperties has a static @Bean method #30582
    • ApplicationAvailabilityBean is not thread-safe #30554
    • Incorrect Neo4j username property replacement hint by spring-boot-properties-migrator #30552
    • Add Tomcat locale mapping for Japanese to preserve UTF-8 charset #30542
    • MustacheAutoConfiguration in a Servlet web application fails with a ClassNotFoundException when Spring MVC is not on the classpath #30476
    • DataSource metrics are not auto-configured when using lazy initialization #30282

    :notebook_with_decorative_cover: Documentation

    • Update doc samples to reflect AdoptOpenJDK move to the Eclipse Foundation #30750
    • Fix incorrect link in kafka.adoc #30740
    • Move Jetty 9 specific exclusions to the correct dependency #30584
    • Add missing configuration metadata for "management.endpoint.health.probes.add-additional-paths" #30573
    • Update list of default internal proxies in Web Server howto #30545
    • Polish documentation #30528
    • Javadoc of org.springframework.boot.gradle.plugin.ResolveMainClassName.setClasspath(Object) is inaccurate #30470
    • Document that @DefaultValue can be used on a record component #30466
    • Remove redundant Javadoc #30450
    • Move JsonComponent documentation from Spring MVC to general Jackson section #30405

    :hammer: Dependency Upgrades

    • Upgrade to AppEngine SDK 1.9.96 #30710
    • Upgrade to Byte Buddy 1.12.9 #30711
    • Upgrade to Elasticsearch 7.17.2 #30712
    • Upgrade to Embedded Mongo 3.4.5 #30546
    • Upgrade to Flyway 8.5.9 #30766
    • Upgrade to GraphQL Java 18.0 #30464
    • Upgrade to H2 2.1.212 #30714
    • Upgrade to Hibernate 5.6.8.Final #30715
    • Upgrade to Infinispan 13.0.9.Final #30767
    • Upgrade to Jackson 2.13.2.1 #30741
    • Upgrade to Janino 3.1.7 #30768
    • Upgrade to Jetty 9.4.46.v20220331 #30717
    • Upgrade to Kotlin 1.6.21 #30769
    • Upgrade to Kotlin Coroutines 1.6.1 #30719
    • Upgrade to Liquibase 4.9.1 #30720
    • Upgrade to Lombok 1.18.24 #30721
    • Upgrade to MariaDB 3.0.4 #30722
    • Upgrade to Maven Clean Plugin 3.2.0 #30723
    • Upgrade to Maven Javadoc Plugin 3.4.0 #30770
    • Upgrade to Maven Shade Plugin 3.3.0 #30724
    • Upgrade to Micrometer 1.9.0-RC1 #30605
    • Upgrade to MIMEPull 1.10.0 #30725
    • Upgrade to Mockito 4.5.0 #30759
    • Upgrade to MongoDB 4.6.0 #30746
    • Upgrade to Netty 4.1.76.Final #30726
    • Upgrade to Pooled JMS 1.2.4 #30727
    • Upgrade to Postgresql 42.3.4 #30728
    • Upgrade to Reactor 2020.0.18 #30604
    • Upgrade to RSocket 1.1.2 #30729
    • Upgrade to Spring AMQP 2.4.4 #30703
    • Upgrade to Spring Data 2021.2.0-RC1 #30610
    • Upgrade to Spring for GraphQL 1.0.0-RC1 #30463
    • Upgrade to Spring Framework 5.3.18 #30493
    • Upgrade to Spring Framework 5.3.19 #30518
    • Upgrade to Spring HATEOAS 1.5.0-RC1 #30745
    • Upgrade to Spring Integration 5.5.11 #30704
    • Upgrade to Spring Kafka 2.8.5 #30608
    • Upgrade to Spring LDAP 2.4.0-RC1 #30606
    • Upgrade to Spring Retry 1.3.3 #30607
    • Upgrade to Spring Security 2.7.0-RC1 #30609
    • Upgrade to Spring Session 2021.2.0-RC1 #30611
    • Upgrade to Tomcat 9.0.62 #30731
    • Upgrade to Undertow 2.2.17.Final #30732

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.6.7(Apr 21, 2022)

    :lady_beetle: Bug Fixes

    • bootBuildInfo fails with a NullPointerException when an additional property has a null value #30670
    • @SpringBootTest(webEnvironment = WebEnvironment.NONE) is overridden by spring.main.web-application-type in application.properties #30666
    • Spring Boot does not respect WebApplicationType.REACTIVE in tests with a mock web environment #30664
    • NullPointerException is thrown when accessing /actuator/configprops if a class annotated with both @Configuration and @ConfigurationProperties has a static @Bean method #30581
    • ApplicationAvailabilityBean is not thread-safe #30553
    • Incorrect Neo4j username property replacement hint by spring-boot-properties-migrator #30551
    • Add Tomcat locale mapping for Japanese to preserve UTF-8 charset #30541

    :notebook_with_decorative_cover: Documentation

    • Update doc samples to reflect AdoptOpenJDK move to the Eclipse Foundation #30749
    • Fix incorrect link in kafka.adoc #30674
    • Move Jetty 9 specific exclusions to the correct dependency #30583
    • Add missing configuration metadata for "management.endpoint.health.probes.add-additional-paths" #30562
    • Update list of default internal proxies in Web Server howto #30544
    • Polish documentation #30526

    :hammer: Dependency Upgrades

    • Upgrade to AppEngine SDK 1.9.96 #30682
    • Upgrade to Hibernate 5.6.8.Final #30683
    • Upgrade to Jackson 2.13.2.1 #30743
    • Upgrade to Janino 3.1.7 #30755
    • Upgrade to Jetty 9.4.46.v20220331 #30684
    • Upgrade to Kotlin 1.6.21 #30756
    • Upgrade to Lombok 1.18.24 #30757
    • Upgrade to Micrometer 1.8.5 #30597
    • Upgrade to Netty 4.1.76.Final #30686
    • Upgrade to Pooled JMS 1.2.4 #30687
    • Upgrade to Postgresql 42.3.4 #30758
    • Upgrade to Reactor 2020.0.18 #30596
    • Upgrade to RSocket 1.1.2 #30688
    • Upgrade to Spring AMQP 2.4.4 #30701
    • Upgrade to Spring Data 2021.1.4 #30602
    • Upgrade to Spring Framework 5.3.19 #30517
    • Upgrade to Spring HATEOAS 1.4.2 #30744
    • Upgrade to Spring Integration 5.5.11 #30702
    • Upgrade to Spring Kafka 2.8.5 #30600
    • Upgrade to Spring LDAP 2.3.7 #30598
    • Upgrade to Spring Retry 1.3.3 #30599
    • Upgrade to Spring Security 5.6.3 #30601
    • Upgrade to Spring Session 2021.1.3 #30603
    • Upgrade to Tomcat 9.0.62 #30689
    • Upgrade to Undertow 2.2.17.Final #30690

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.5.13(Apr 21, 2022)

    :lady_beetle: Bug Fixes

    • bootBuildInfo fails with a NullPointerException when an additional property has a null value #30654
    • Incorrect Neo4j username property replacement hint by spring-boot-properties-migrator #30550
    • Add Tomcat locale mapping for Japanese to preserve UTF-8 charset #30535
    • ApplicationAvailabilityBean is not thread-safe #30489
    • NullPointerException is thrown when accessing /actuator/configprops if a class annotated with both @Configuration and @ConfigurationProperties has a static @Bean method #30068
    • @SpringBootTest(webEnvironment = WebEnvironment.NONE) is overridden by spring.main.web-application-type in application.properties #29695
    • Respect WebApplicationType.REACTIVE in tests with a mock web environment #29170

    :notebook_with_decorative_cover: Documentation

    • Update doc samples to reflect AdoptOpenJDK move to the Eclipse Foundation #30748
    • Move Jetty 9 specific exclusions to the correct dependency #30522
    • Polish documentation #30498
    • Update list of default internal proxies in Web Server howto #30461

    :hammer: Dependency Upgrades

    • Upgrade to AppEngine SDK 1.9.96 #30675
    • Upgrade to Janino 3.1.7 #30752
    • Upgrade to Jetty 9.4.46.v20220331 #30676
    • Upgrade to Lombok 1.18.24 #30753
    • Upgrade to Micrometer 1.7.11 #30588
    • Upgrade to Netty 4.1.76.Final #30677
    • Upgrade to Pooled JMS 1.2.4 #30678
    • Upgrade to Reactor 2020.0.18 #30587
    • Upgrade to RSocket 1.1.2 #30679
    • Upgrade to Spring AMQP 2.3.16 #30699
    • Upgrade to Spring Data 2021.0.11 #30594
    • Upgrade to Spring Framework 5.3.19 #30516
    • Upgrade to Spring Integration 5.5.11 #30700
    • Upgrade to Spring Kafka 2.7.13 #30592
    • Upgrade to Spring LDAP 2.3.7 #30589
    • Upgrade to Spring Retry 1.3.3 #30590
    • Upgrade to Spring Security 5.5.6 #30593
    • Upgrade to Spring Session 2021.0.6 #30595
    • Upgrade to Tomcat 9.0.62 #30680
    • Upgrade to Undertow 2.2.17.Final #30681

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.6.6(Mar 31, 2022)

    :lady_beetle: Bug Fixes

    • MustacheAutoConfiguration in a Servlet web application fails with a ClassNotFoundException when Spring MVC is not on the classpath #30475

    :notebook_with_decorative_cover: Documentation

    • Javadoc of org.springframework.boot.gradle.plugin.ResolveMainClassName.setClasspath(Object) is inaccurate #30469
    • Document that @DefaultValue can be used on a record component #30465
    • Remove redundant Javadoc #30446

    :hammer: Dependency Upgrades

    • Upgrade to Jackson Bom 2.13.2.20220328 #30478
    • Upgrade to Spring Framework 5.3.18 #30492

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.5.12(Mar 31, 2022)

    :lady_beetle: Bug Fixes

    • MustacheAutoConfiguration in a Servlet web application fails with a ClassNotFoundException when Spring MVC is not on the classpath #30456

    :notebook_with_decorative_cover: Documentation

    • Javadoc of org.springframework.boot.gradle.plugin.ResolveMainClassName.setClasspath(Object) is inaccurate #30468
    • Document that @DefaultValue can be used on a record component #30460

    :hammer: Dependency Upgrades

    • Upgrade to Jackson Bom 2.12.6.20220326 #30477
    • Upgrade to Spring Framework 5.3.18 #30491

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v3.0.0-M2(Mar 24, 2022)

    :star: New Features

    • Reinstate support for Ehcache 3 #30002
    • Reinstate support for H2 Console #29755
    • Raise the minimum supported version of Gradle to 7.4 #29674
    • Raise the minimum supported version of Kotlin to 1.6 #29660
    • Remove values from JavaVersion enum for Java versions less than 17 #29503
    • Remove image banner support #28883
    • Provide dependency management for RxJava 3 in place of 1.x and 2.x #28212
    • Allow @ConstructorBinding to be optional #23216

    :lady_beetle: Bug Fixes

    • spring-boot-dependencies contains dependency management for spring-boot-starter-jta-atomikos which no longer exists #29653
    • spring-boot-dependencies contains dependency management for spring-boot-starter-activemq which no longer exists #29645

    :notebook_with_decorative_cover: Documentation

    • Update documentation about Spock to reflect Groovy 4.0 requirement #30318
    • Add reference to Casdoor Spring Boot Starter #30220
    • Document that the minimum supported version of Kotlin is now 1.6 #30197

    :hammer: Dependency Upgrades

    • Upgrade to AspectJ 1.9.9 #30418
    • Upgrade to Caffeine 3.0.6 #30363
    • Upgrade to Groovy 4.0.1 #30279
    • Upgrade to Hibernate Validator 7.0.4.Final #30364
    • Upgrade to Jetty 11.0.8 #30367
    • Upgrade to Jetty EL 10.0.14 #30365
    • Upgrade to Jetty Reactive HTTPClient 3.0.5 #30366
    • Upgrade to jOOQ 3.16.5 #30368
    • Upgrade to Kotlin 1.6.20-RC2 #30369
    • Upgrade to Micrometer 2.0.0-M3 #29753
    • Upgrade to MongoDB 4.5.1 #30419
    • Upgrade to RxJava3 3.1.4 #30370
    • Upgrade to SendGrid 4.9.1 #30420
    • Upgrade to Spring AMQP 3.0.0-M2 #30201
    • Upgrade to Spring Batch 5.0.0-M2 #30232
    • Upgrade to Spring Data 2022.0.0-M3 #30361
    • Upgrade to Spring Framework 6.0.0-M3 #29957
    • Upgrade to Spring HATEOAS 2.0.0-M2 #30371
    • Upgrade to Spring Integration 6.0.0-M2 #30204
    • Upgrade to Spring Kafka 3.0.0-M3 #30089
    • Upgrade to Spring REST Docs 3.0.0-M2 #29544
    • Upgrade to Spring Security 6.0.0-M3 #30202
    • Upgrade to Spring WS 4.0.0-M2 #30203
    • Upgrade to Thymeleaf Layout Dialect 3.1.0 #30312
    • Upgrade to Tomcat 10.0.18 #30320

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
  • v2.7.0-M3(Mar 24, 2022)

    :star: New Features

    • Align indices options of auto-configured ReactiveElasticsearchTemplate with Spring Data Elasticsearch's default #30378
    • Rework spring.mustache properties to make it clear which are Servlet-specific #30273
    • Remove support for spring.mongodb.embedded.features #30219
    • Support podman for building images #30196
    • Add EIGHTEEN to JavaVersion enum #30133
    • Allow spring.data.mongodb.uri to override separate host, port, etc properties #30067
    • Refine GraphQL server auto-configuration #30035
    • Support overriding the default key-based sanitization #30006
    • Configure FormattingConversionService in GraphQlAutoConfiguration #29638
    • Add option to pass configured Docker host to the image builder container #29384
    • Add configuration property for supported media types with reactive Mustache views #28858
    • Add support for cache2k in memory caching #28498

    :lady_beetle: Bug Fixes

    • ConfigurationPropertyName#equals is not symmetric when adapt has removed trailing characters from an element #30393
    • Thymeleaf auto-configuration in a reactive application can fail due to duplicate templateEngine beans #30386
    • server.tomcat.keep-alive-timeout is not applied to HTTP/2 #30322
    • Setting spring.mustache.enabled to false has no effect #30257
    • bootWar is configured eagerly #30215
    • Actuator @ReadOperation on Flux cancels request after first element emitted #30162
    • Unnecessary allocations in Prometheus scraping endpoint #30126
    • No metrics are bound for R2DBC ConnectionPools that have been wrapped #30101
    • Condition evaluation report entry for a @ConditionalOnSingleCandidate that does not match due to multiple primary beans isn't as clear as it could be #30099
    • DataFetcherExceptionResolver beans are not considered in GraphQlTester slice tests #30078
    • Generated password are logged without an "unsuitable for production use" note #30071
    • Files in META-INF are not found when deploying a Gradle-built executable war to a servlet container #30037
    • Dependency management for Apache Kafka is incomplete #30032
    • spring-boot-configuration-processor fails compilation due to @DefaultValue with a long value and generates invalid metadata for byte and short properties with out-of-range default values #30023
    • Naming strategy and MBean exporter are configured inconsistently in JmxAutoConfiguration #29968

    :notebook_with_decorative_cover: Documentation

    • Add Apache Kafka to the description of the Messaging section #30394
    • Default value of spring.thymeleaf.reactive.media-types is not documented #30388
    • Clarify type matching that is performed when using @MockBean and @SpyBean #30383
    • Fix links to Spring Security Reference Guide in Accessing the H2 Console in a Secured Application #30380
    • Document how to access the H2 Console in a secured web application #30347
    • Add Netty in "Enable HTTP Response Compression" #30345
    • Fix JsonSerializer example in reference guide #30331
    • WebSockets section missing in reference guide #30275
    • Include default Dev Tools properties in the reference documentation #30167
    • Document the WebSocket-related exclusions that are required to use Jetty 10 #30150
    • Fix typo #30121
    • Anchor tag for Spring HATEOAS does not redirect properly #30119
    • Add documentation for spring.profiles.include #30116
    • Document when config data properties are invalid #30115
    • Document the scalar types supported by MapBinder #30112
    • Document how to rely on ServletContext with an embedded container setup #30110
    • Clarify that build plugins or the CLI does not have an auto-compile feature #30094
    • Document how to structure configurations so that @Bean methods are included in slice tests #30092
    • Remove non-existent spring.data.cassandra.connection.connection-timeout property from the documentation #30081
    • Use Gradle's task configuration avoidance APIs in the main reference docs #30060
    • Use Gradle's task configuration avoidance APIs in the Gradle Plugin's reference docs #30058
    • Document plugging in custom sanitisation rules with a SanitizingFunction bean #30054
    • Improve property placeholder documentation to mention environment variables and default values #30051
    • Polish web examples in reference doc #30049
    • Add links to Spring Boot for Apache Geode to the reference documentation #30019

    :hammer: Dependency Upgrades

    • Upgrade to Awaitility 4.2.0 #30284
    • Upgrade to Cassandra Driver 4.14.0 #30285
    • Upgrade to Couchbase Client 3.2.6 #30286
    • Upgrade to Dropwizard Metrics 4.2.9 #30287
    • Upgrade to Ehcache3 3.10.0 #30288
    • Upgrade to Elasticsearch 7.17.1 #30289
    • Upgrade to Embedded Mongo 3.4.3 #30341
    • Upgrade to Flyway 8.5.4 #30290
    • Upgrade to Groovy 3.0.10 #30291
    • Upgrade to Hazelcast 5.1.1 #30292
    • Upgrade to Hibernate 5.6.7.Final #30293
    • Upgrade to Hibernate Validator 6.2.3.Final #30294
    • Upgrade to HtmlUnit 2.60.0 #30390
    • Upgrade to Infinispan 13.0.8.Final #30296
    • Upgrade to Jackson Bom 2.13.2 #30297
    • Upgrade to Lettuce 6.1.8.RELEASE #30342
    • Upgrade to Liquibase 4.9.0 #30298
    • Upgrade to Log4j2 2.17.2 #30299
    • Upgrade to Logback 1.2.11 #30305
    • Upgrade to Maven Compiler Plugin 3.10.1 #30300
    • Upgrade to Maven Dependency Plugin 3.3.0 #30301
    • Upgrade to Micrometer 1.9.0-M4 #30014
    • Upgrade to Mockito 4.4.0 #30302
    • Upgrade to MongoDB 4.5.1 #30416
    • Upgrade to Neo4j Java Driver 4.4.5 #30303
    • Upgrade to Netty 4.1.75.Final #30306
    • Upgrade to R2DBC Bom Borca-SR1 #30307
    • Upgrade to Rabbit Stream Client 0.5.0 #30308
    • Upgrade to Reactor 2020.0.17 #30187
    • Upgrade to Selenium HtmlUnit 3.60.0 #30391
    • Upgrade to SendGrid 4.9.1 #30417
    • Upgrade to Spring AMQP 2.4.3 #30189
    • Upgrade to Spring Data 2021.2.0-M4 #30185
    • Upgrade to Spring for GraphQL 1.0.0-M6 #29637
    • Upgrade to Spring Framework 5.3.17 #30188
    • Upgrade to Spring Integration 5.5.10 #30193
    • Upgrade to Spring Kafka 2.8.4 #30352
    • Upgrade to Spring Retry 1.3.2 #30311
    • Upgrade to Spring Security 5.7.0-M3 #30191
    • Upgrade to Spring WS 3.1.3 #30192
    • Upgrade to Tomcat 9.0.60 #30313
    • Upgrade to UnboundID LDAPSDK 6.0.4 #30314
    • Upgrade to Versions Maven Plugin 2.10.0 #30315

    :heart: Contributors

    We'd like to thank all the contributors who worked on this release!

    Source code(tar.gz)
    Source code(zip)
Spring Framework

Spring Framework This is the home of the Spring Framework: the foundation for all Spring projects. Collectively the Spring Framework and the family of

Spring 50.4k Jan 9, 2023
循序渐进,学习Spring Boot、Spring Boot & Shiro、Spring Batch、Spring Cloud、Spring Cloud Alibaba、Spring Security & Spring Security OAuth2,博客Spring系列源码:https://mrbird.cc

Spring 系列教程 该仓库为个人博客https://mrbird.cc中Spring系列源码,包含Spring Boot、Spring Boot & Shiro、Spring Cloud,Spring Boot & Spring Security & Spring Security OAuth2

mrbird 24.8k Jan 6, 2023
Spring Boot Login and Registration example with MySQL, JWT, Rest Api - Spring Boot Spring Security Login example

Spring Boot Login example with Spring Security, MySQL and JWT Appropriate Flow for User Login and Registration with JWT Spring Boot Rest Api Architect

null 58 Jan 5, 2023
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。

Spring Boot 学习示例 Spring Boot 使用的各种示例,以最简单、最实用为标准,此开源项目中的每个示例都以最小依赖,最简单为标准,帮助初学者快速掌握 Spring Boot 各组件的使用。 Spring Boot 中文索引 | Spring Cloud学习示例代码 | Spring

纯洁的微笑 28.3k Jan 1, 2023
spring boot 实践学习案例,是 spring boot 初学者及核心技术巩固的最佳实践。另外写博客,用 OpenWrite。

推荐工具: 微信公众号 Markdown 编辑器 - OpenWrite:Markdown 微信编辑器是一款专业强大的微信公众平台在线编辑排版工具,提供手机预览功能,让用户在微信图文 、文章、内容排版、文本编辑、素材编辑上更加方便。 - 更多介绍 博客群发平台 一、支持泥瓦匠 Spring Boot

泥瓦匠BYSocket 15.2k Jan 5, 2023
Spring-Boot-Plus is a easy-to-use, high-speed, high-efficient,feature-rich, open source spring boot scaffolding

Everyone can develop projects independently, quickly and efficiently! What is spring-boot-plus? A easy-to-use, high-speed, high-efficient, feature-ric

geekidea 2.3k Dec 31, 2022
Two Spring-boot applications registering themselves to an spring-boot-admin-server application as separate clients for the purpose of monitoring and managing the clients

Spring-boot-admin implementation with 1 Server and 2 clients Creating a Server application to monitor and manage Spring boot applications (clients) un

null 6 Dec 6, 2022
The Spring Boot Sample App on K8S has been implemented using GKE K8S Cluster, Spring Boot, Maven, and Docker.

gke-springboot-sampleapp ?? The Spring Boot Sample App on K8S has been implemented using GKE K8S Cluster, Spring Boot, Maven, and Docker. Usage To be

KYEONGMIN CHO 1 Feb 1, 2022
Spring Boot Migrator (SBM) - a tool for automated code migrations to upgrade or migrate to Spring Boot

Spring Boot Migrator uses and is compatible to OpenRewrite, a powerful mass refactoring ecosystem for Java and other source code.

Spring Projects Experimental 231 Jan 2, 2023
一个涵盖六个专栏:Spring Boot 2.X、Spring Cloud、Spring Cloud Alibaba、Dubbo、分布式消息队列、分布式事务的仓库。希望胖友小手一抖,右上角来个 Star,感恩 1024

友情提示:因为提供了 50000+ 行示例代码,所以艿艿默认注释了所有 Maven Module。 胖友可以根据自己的需要,修改 pom.xml 即可。 一个涵盖六个主流技术栈的正经仓库: 《Spring Boot 专栏》 《Spring Cloud Alibaba 专栏》 《Spring Clou

芋道源码 15.7k Dec 31, 2022
参考 DDD/Clean Architecture 设计理念,整合 Spring Boot/Spring Security/Mybatis Plus/Vavr 的 Spring Realworld 应用案例

Demo · 更多项目 · 参考资料 ms-spring-ddd-examples Unified Domain-driven Layered Architecture for MicroService Apps,试图探索一套切实可行的应用架构规范,可以复制、可以理解、可以落地、可以控制复杂性的指导

王下邀月熊 19 Sep 23, 2022
Spring Kurulumundan Başlayarak, Spring IOC ve Dependency Injection, Hibernate, Maven ve Spring Boot Konularına Giriş Yapıyoruz.

Spring Tutorial for Beginners File Directory Apache Tomcat Apache Tomcat - Eclipse Bağlantısı Spring Paketlerinin İndirilmesi ve Projeye Entegrasyonu

İbrahim Can Erdoğan 11 Apr 11, 2022
Spring Boot JdbcTemplate example with SQL Server: CRUD Rest API using Spring Data JDBC, Spring Web MVC

Spring Boot JdbcTemplate example with SQL Server: Build CRUD Rest API Build a Spring Boot CRUD Rest API example that uses Spring Data Jdbc to make CRU

null 7 Dec 20, 2022
Spring Boot & MongoDB Login and Registration example with JWT, Spring Security, Spring Data MongoDB

Spring Boot Login and Registration example with MongoDB Build a Spring Boot Auth with HttpOnly Cookie, JWT, Spring Security and Spring Data MongoDB. Y

null 15 Dec 30, 2022
Spring Boot JWT Authentication example with Spring Security & Spring Data JPA

Spring Boot JWT Authentication example with Spring Security & Spring Data JPA

null 1 Jan 26, 2022
Flexible framework for workflow and decision automation with BPMN and DMN. Integration with Spring, Spring Boot, CDI.

Camunda Platform - The open source BPMN platform Camunda Platform is a flexible framework for workflow and process automation. It's core is a native B

Camunda BPM 3k Dec 30, 2022
mall-swarm是一套微服务商城系统,采用了 Spring Cloud Hoxton & Alibaba、Spring Boot 2.3、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。文档齐全,附带全套Spring Cloud教程。

mall-swarm 友情提示 快速体验项目:在线访问地址。 全套学习教程:《mall学习教程》。 Spring Cloud全套教程:《SpringCloud学习教程》。 专属学习路线:学习不走弯路,整理了套非常不错的《mall专属学习路线》。 项目交流:想要加群交流项目的朋友,可以加入mall项目

macro 9.7k Jan 3, 2023
芋道 mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba 。

[toc] 友情提示:近期在升级和优化该项目,建议先 Star 本项目。主要在做几个事情: 1、微服务技术选型以 Spring Cloud Alibaba 为中心。 2、修改项目分层,并合并部分服务,简化整体服务的复杂性。 3、将管理后台从 React 重构到 Vue 框架。 交流群:传送门 前言

芋道源码 7k Jan 6, 2023
Spring Boot基础教程,Spring Boot 2.x版本连载中!!!

Spring Boot基础教程 本项目内容为《Spring Boot基础教程》的程序样例。 专题目标:打造全网内容最全,比收费教程更好的Spring Boot免费教程! 加入社群:如果你正在学习Spring Boot,不妨加入我们的Spring技术交流群,一起成长! 如何支持: 关注我的公众号”程序

程序猿DD 14.9k Jan 6, 2023
Not only Spring Boot but also important knowledge of Spring(不只是SpringBoot还有Spring重要知识点)

在线阅读 : https://snailclimb.gitee.io/springboot-guide (上面的地址访问速度缓慢的建议使用这个路径访问) 重要知识点 基础 Spring Boot 介绍 第一个 Hello World 第一个 RestFul Web 服务 Spring 如何优雅读取配

Guide哥 4.7k Jan 3, 2023