Releases: spring-projects/spring-boot
v3.1.0-RC2
⭐ New Features
- Provide a Gradle task for running an application using the test source set's output and runtime classpath #35248
- Support import of idomatic testcontainer declaration classes #35245
- Change DockerComposeProperties shutdown default to stop #35239
- Reduce the volume of Logback's output before the logging system is initialized #35238
- Improve testcontainers lifecycle to Initialize containers first and destroy them last #35223
- Apply TestcontainersLifecycleApplicationContextInitializer automatically for context tests #35222
- Don't call close methods for reusable testcontainers #35210
- Add manifest entry to indicate that a jar has been built for native image #35205
- SpringApplication.from(...) should provide access to the created context #35203
- Provide a Maven goal for running an application using a main class from src/test/java and the test runtime classpath #35202
- Allow testcontainer beans to also contribute properties #35201
- Remove service connection support for InfluxDB #35189
- Support Brave's joint spans #35165
- Reinstate dependency management for io.r2dbc:r2dbc-mssql #35159
- Add SSL bundle support to Elasticsearch auto-configuration #35155
- Allow Couchbase SSL to be enabled without custom trust material #35147
- Add Docker Compose service connection support for SQL Server using JDBC #35146
- Add Docker Compose service connection support for Oracle Database using JDBC #35145
- Add Docker Compose service connection support for SQL Server using R2DBC #35144
- Add Docker Compose service connection support for Oracle Database using R2DBC #35143
- Add Docker Compose service connection support for Liquibase #35141
- Add Docker Compose service connection support for Flyway #35138
- Add Docker Compose service connection support for Cassandra #35136
- Deprecate Couchbase SSL keystore properties #35135
- Add service connection from Testcontainers Zipkin #35107
- Add SSL bundle support to Redis auto-configuration #34815
🐞 Bug Fixes
- Webflux server gracefulshutdown throws NullPointerException #35270
- Health actuator mail details does not show default port #35255
- SessionRepositoryFilterConfiguration can cause early initialization of SessionRepository beans including Redis #35242
- Liveness and readiness probes return down when lazy initialization is enabled #35237
- Devtools main method search algorithm can find incorrect main method #35221
- TestTypeExcludeFilter is not applied when using SpringApplication.from #35206
- When a WebFlux app is deployed to Cloud Foundry some metrics are lost and numerous beans are ineligible for post-processing #35171
@ServiceConnection
annotation causes early bean initialization #35168@ServletComponentScan
causes AOT processing to fail with "Code generation is not supported for bean definitions declaring an instance supplier callback" #35160- Treating a null Flyway-specific password as an empty string prevents the use of PGPASS for authentication #35132
- Containers managed by TestcontainersLifecycleBeanPostProcessor are closed twice #35120
- spring-boot-testcontainers does not add org.testcontainers:testcontainers to the compile classpath of consumers #35119
- Testcontainers JDBC URL doesn't work with Spring Boot 3.1.0-RC1 #35109
- Kafka autoconfiguration fails to resolve spring.kafka.bootstrap-servers when using Testcontainers' KafkaContainer #34770
📔 Documentation
- Add reference to Tor Spring Boot Starter #35272
- Correct list of annotations that are equivalent to
@SpringBootApplication
#35231 - Harmonize references to application.yaml files in reference docs #35130
- Fix typo in testing docs #35128
- Add Kotlin samples to SSL bundle documentation #35105
- Consider reworking documentation around efficient deployment #32905
- Update getting started with alternative gradle instructions #32779
🔨 Dependency Upgrades
- Upgrade to Elasticsearch Client 8.7.1 #35274
- Upgrade to Hibernate 6.2.2.Final #35275
- Upgrade to Infinispan 14.0.9.Final #35276
- Upgrade to Jackson Bom 2.15.0 #35277
- Upgrade to Jakarta Activation 2.1.2 #35278
- Upgrade to JUnit Jupiter 5.9.3 #35279
- Upgrade to Kotlin 1.8.21 #35280
- Upgrade to MariaDB 3.1.4 #35281
- Upgrade to Mockito 5.3.1 #35282
- Upgrade to Netty 4.1.92.Final #35283
- Upgrade to R2DBC MySQL 1.0.1 #35284
❤️ Contributors
Thank you to all the contributors who worked on this release:
@aasaru, @deejay1, @eddumelendez, @ivandimitrov8080, @jonatan-ivanov, @quaff, and @theborakompanioni
v3.1.0-RC1
⭐ New Features
- Reintroduce support for ActiveMQ #35048
- Add SSL bundle support to MongoDB auto-configuration #35042
- Allow maven to filter spring-boot-docker-compose module #35027
- Allow LogLevel to be used easily with commons logging #35024
- Provide auto-configuration for testcontainer service connections #35022
- Support testcontainers lifecycle methods when used as Spring beans #35021
- Add SpringApplication.from(...) support #35019
- Refactor
@ServiceConnection
so that technology specific annotations are not required #35017 - Add aggregation temporality to OtlpProperties #34958
- Add properties to support device grant with Spring Authorization Server #34957
- Allow to customize opentelemetry SdkTracerProvider #34945
- Reinstate dependency management for R2DBC MySQL driver #34927
- Add Testcontainers integration for OracleContainer with R2DBC #34852
- Allow MockServerRestTemplateCustomizer to configure MockRestServiceServer's content buffering #34833
- Provide centralized configuration of SSL properties #34814
- Add SSL bundle support to Couchbase auto-configuration #34811
- Add SSL bundle support to RestTemplateBuilder auto-configuration #34810
- Fail more gracefully when a service connection is configured on a non-static field #34795
- Allow the application directory in an image built with buildpacks to be configurable #34786
- Add service connection from Testcontainers Redpanda #34780
- Auto-configure property-based
?ConnectionDetails
beans when there is no existing?ConnectionDetails
bean #34776 - Offer a way to customize the converters used by Spring Batch without extending DefaultBatchConfiguration #34769
- Create dedicated spring-boot-testcontainers module #34757
- Add support for additional colors in Log4j2 and Logback #34749
- Provide support for auto-configuring service connections from Docker Compose #34747
- Rename OAuth2ClientPropertiesRegistrationAdapter to align with PropertyMapper name #34714
- Allow components that are called before context refresh to use SpringApplication's shutdown handlers #34627
- Reinstate dependency management for org.mariadb:r2dbc-mariadb as it now supports R2DBC 1.0 #34625
- Add auto-configuration for OTLP span exporter #34508
- Prevent startup if a health indicator referenced in a health group does not exist #34360
- Allow docker image creation timestamp to be configurable #28798
- Add SSL bundle support to Cassandra auto-configuration #25602
- Provide a mechanism for customising the auto-configured NimbusJwtDecoders #20750
- Add SSL bundle support to WebClient auto-configuration #18556
🐞 Bug Fixes
- CloudFoundry integration does not use endpoint path mappings #35087
- ApplicationAvailability bean is auto-configured even if a custom one is already present #35069
- Gradle Spring Boot plugin with Kotlin DSL does not support includeProjectDependencies in bootJar > layered > dependencies configuration #35036
- Hints for including Liquibase changelogs in a native image are unnecessarily narrow #34936
- Unlike
@EnableBatchProcessing
, auto-configuration for Spring Batch does not enable observability of steps and jobs #34867 - Cassandra default configuration substitutions don't resolve against configuration derived from spring.data.cassandra properties #34800
- Banner placeholders use default values too soon #34793
- Service connections from a test class's enclosing class are not found #34790
- spring-boot-starter-oauth2-authorization-server is missing from spring-boot-dependencies #34785
- Nested test classes don't inherit properties from slice test annotations on enclosing class #34782
- DataSource auto-configuration does not use the driver class name from JdbcConnectionDetails #34777
- Maven compiler plugin configuration should not include source and target as maven.compiler.release is already set #34761
📔 Documentation
- Improve documentation of tracing dependencies and configuration properties #35040
- Add missing containers configuration reference to code snippet #35031
- Document docker compose support #35026
- Move testcontainers documentation from howto to features #35018
- Use current Neo4j version in Testcontainers-based examples #34941
- BatchProperties has an outdated reference to JPA #34937
- Document that optional dependencies are included by default in fat jars built with Maven #34789
- Document requirement for Maven 3.6.3 or later #34759
🔨 Dependency Upgrades
- Upgrade to Brave 5.15.1 #34999
- Upgrade to Byte Buddy 1.14.4 #34873
- Upgrade to Caffeine 3.1.6 #34931
- Upgrade to Couchbase Client 3.4.5 #35060
- Upgrade to Elasticsearch Client 8.7.0 #34979
- Upgrade to Flyway 9.16.3 #34990
- Upgrade to GraphQL Java 20.2 #34987
- Upgrade to Groovy 4.0.11 #34874
- Upgrade to Hazelcast 5.2.3 #34875
- Upgrade to Hibernate 6.2.1.Final #35000
- Upgrade to Infinispan 14.0.8.Final #34932
- Upgrade to Jackson Bom 2.15.0-rc3 #35061
- Upgrade to Jaxen 2.0.0 #35001
- Upgrade to Jaybird 5.0.1.java11 #35002
- Upgrade to Jetty 11.0.15 #34981
- Upgrade to jOOQ 3.18.3 #34982
- Upgrade to Json Path 2.8.0 #34878
- Upgrade to Kotlin 1.8.20 #34879
- Upgrade to Lettuce 6.2.4.RELEASE #35062
- Upgrade to Logback 1.4.7 #35093
- Upgrade to Maven Deploy Plugin 3.1.1 #34880
- Upgrade to Mav...
v3.0.6
🐞 Bug Fixes
- CloudFoundry integration does not use endpoint path mappings #35086
- ApplicationAvailability bean is auto-configured even if a custom one is already present #35068
- Gradle Spring Boot plugin with Kotlin DSL does not support includeProjectDependencies in bootJar > layered > dependencies configuration #35035
- Cassandra default configuration substitutions don't resolve against configuration derived from spring.data.cassandra properties #34799
- Banner placeholders use default values too soon #34792
- Nested test classes don't inherit properties from slice test annotations on enclosing class #34781
- Hints for including Liquibase changelogs in a native image are unnecessarily narrow #34729
- Unlike
@EnableBatchProcessing
, auto-configuration for Spring Batch does not enable observability of steps and jobs #34305
📔 Documentation
- Improve documentation of tracing dependencies and configuration properties #34991
- Use current Neo4j version in Testcontainers-based examples #34940
- BatchProperties has an outdated reference to JPA #34844
- Document that optional dependencies are included by default in fat jars built with Maven #34788
🔨 Dependency Upgrades
- Upgrade to Caffeine 3.1.6 #34928
- Upgrade to Couchbase Client 3.4.5 #35050
- Upgrade to GraphQL Java 19.5 #34996
- Upgrade to Groovy 4.0.11 #34911
- Upgrade to Infinispan 14.0.8.Final #34929
- Upgrade to Jetty 11.0.15 #35051
- Upgrade to jOOQ 3.17.12 #35052
- Upgrade to Lettuce 6.2.4.RELEASE #35053
- Upgrade to Logback 1.4.7 #35088
- Upgrade to Maven Resources Plugin 3.3.1 #34913
- Upgrade to Micrometer 1.10.6 #34858
- Upgrade to Micrometer Tracing 1.0.4 #34859
- Upgrade to MySQL 8.0.33 #35054
- Upgrade to Native Build Tools Plugin 0.9.21 #35055
- Upgrade to Neo4j Java Driver 5.7.0 #34930
- Upgrade to Netty 4.1.91.Final #34914
- Upgrade to Reactor Bom 2022.0.6 #34860
- Upgrade to SAAJ Impl 3.0.1 #35056
- Upgrade to Spring AMQP 3.0.4 #34950
- Upgrade to Spring Data Bom 2022.0.5 #34903
- Upgrade to Spring Framework 6.0.8 #34861
- Upgrade to Spring Integration 6.0.5 #35012
- Upgrade to Spring Kafka 3.0.6 #34951
- Upgrade to Spring LDAP 3.0.2 #34904
- Upgrade to Spring Security 6.0.3 #34952
- Upgrade to Spring WS 4.0.3 #34953
- Upgrade to Tomcat 10.1.8 #35089
- Upgrade to Undertow 2.3.5.Final #34915
- Upgrade to Yasson 3.0.3 #34916
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Ferioney, @RobertRad, @SeasonPanPan, @acktsap, @benelog, @dreis2211, @kdomo, @krzyk, @marbon87, and @meistermeier
v2.7.11
🐞 Bug Fixes
- CloudFoundry integration does not use endpoint path mappings #35085
- Gradle Spring Boot plugin with Kotlin DSL does not support includeProjectDependencies in bootJar > layered > dependencies configuration #35033
- Banner placeholders use default values too soon #34764
- Cassandra default configuration substitutions don't resolve against configuration derived from spring.data.cassandra properties #34643
- ApplicationAvailability bean is auto-configured even if a custom one is already present #34347
- Nested test classes don't inherit properties from slice test annotations on enclosing class #33317
📔 Documentation
- Use current Neo4j version in Testcontainers-based examples #34775
- Clarify servlet container compatibility #34697
- Document that optional dependencies are included by default in fat jars built with Maven #34636
🔨 Dependency Upgrades
- Upgrade to DB2 JDBC 11.5.8.0 #34906
- Upgrade to GraphQL Java 18.5 #34995
- Upgrade to Groovy 3.0.17 #34907
- Upgrade to Logback 1.2.12 #34908
- Upgrade to Micrometer 1.9.10 #34855
- Upgrade to MySQL 8.0.33 #35057
- Upgrade to Netty 4.1.91.Final #34909
- Upgrade to Reactor Bom 2020.0.31 #34856
- Upgrade to Spring AMQP 2.4.12 #34947
- Upgrade to Spring Data Bom 2021.2.11 #34902
- Upgrade to Spring Framework 5.3.27 #34857
- Upgrade to Spring Security 5.7.8 #34948
- Upgrade to Spring WS 3.1.6 #34949
- Upgrade to Tomcat 9.0.74 #35058
- Upgrade to Undertow 2.2.24.Final #34910
❤️ Contributors
Thank you to all the contributors who worked on this release:
@SeasonPanPan, @acktsap, @dreis2211, @jgslima, @krzyk, and @meistermeier
v3.1.0-M2
⭐ New Features
- Provide dependency management for Testcontainers #34712
- Configure support for GraphQL pagination and sorting #34677
- Reduce the boilerplate that's required in tests that use a service in a Testcontainers-managed container #34658
- Allow auto-configuration to consume service connection information from sources other than configuration properties #34657
- Add SanitizableData withSanitizedValue #34615
- Configure exception resolver for
@GraphQlExceptionHandler
methods #34526 - Switch from single topic for fixed delays to single topic for same intervals in Spring Kafka retry configuration. #34504
- Remove final from ProblemDetailsExceptionHandler classes to allow proxying #34503
- Rename version property for Git Commit ID Maven plugin from git-commit-id-plugin.version to git-commit-id-maven-plugin.version #34397
- Add build-info skip support #34393
- Add support for CNB platform API 0.11 #34383
- Configure maven.compiler.release in spring-boot-starter-parent to prevent impossible JDK API usage #34365
- Revert support for allowing JoranConfigurators to be passed ahead of time to Logback #34361
- Add management.wavefront.application.custom-tags property #34223
- Add RabbitTemplateCustomizer to allow customization of RabbitTemplates #34050
- Add Spring Authorization Server support #34003
🐞 Bug Fixes
- Use of
@EntityScan
causes AOT instance supplier code generation error #34731 - EmbeddedWebServerFactoryCustomizerAutoConfiguration should not run when embedded web server is not configured #34660
- StandardConfigDataResource can import the same file twice if the classpath includes '.' #34618
@ConfigurationProperties
no longer works on a mutable Kotlin data classes #34611- Loading application.yml fails with NoSuchMethodError when using SnakeYAML 2.0 #34516
- Image builds with podman fail when image buildpacks are configured #34496
- Maven plugin uses timezone-local timestamps when outputTimestamp is used #34431
- Spring Boot 3 does not provide a configuration property for configuring red metrics custom tag keys #34425
- org.springframework.boot.web.embedded.jetty.GracefulShutdown uses the wrong class to create its logger #34420
@ConfigurationProperties
with initialized nested record properties values no longer bind #34411- Custom ConfigDataLocationResolver/ConfigDataLoader fails in 3.0.x when combined with spring-boot-devtools #34375
- defaultTracingObservationHandler is not ordered as documented #34370
📔 Documentation
- Document support for Java 20 #34727
- Typo in Batch documentation: content instead of context #34707
- Clarify conventions for custom error pages in WebFlux #34706
- Fix Javadoc in JobLauncherApplicationRunner #34604
- Update two references to old APIs #34603
- Document how to get socket location for image building configuration with podman #34476
- Document support for Gradle 8 #34463
- Update Batch documentation #34456
- Add link to Failover starter #34423
- Fix typo in OpenTelemetry section #34416
- Fix typo in Encrypting Properties #34415
- Use plugins DSL consistently in Spring Boot Gradle Plugin docs #34392
🔨 Dependency Upgrades
- Upgrade to Byte Buddy 1.14.2 #34679
- Upgrade to Caffeine 3.1.5 #34571
- Upgrade to Couchbase Client 3.4.4 #34680
- Upgrade to Dropwizard Metrics 4.2.18 #34681
- Upgrade to Flyway 9.15.2 #34573
- Upgrade to GraphQL Java 20.1 #34715
- Upgrade to Groovy 4.0.10 #34683
- Upgrade to Infinispan 14.0.7.Final #34684
- Upgrade to Jedis 4.3.2 #34700
- Upgrade to Jetty 11.0.14 #34575
- Upgrade to Jetty Reactive HTTPClient 3.0.8 #34574
- Upgrade to jOOQ 3.18.1 #34701
- Upgrade to Json-smart 2.4.10 #34685
- Upgrade to Liquibase 4.20.0 #34578
- Upgrade to Logback 1.4.6 #34686
- Upgrade to MariaDB 3.1.3 #34716
- Upgrade to Maven Compiler Plugin 3.11.0 #34579
- Upgrade to Maven Help Plugin 3.4.0 #34687
- Upgrade to Micrometer 1.11.0-M2 #34546
- Upgrade to Micrometer Tracing 1.1.0-M2 #34547
- Upgrade to Netty 4.1.90.Final #34688
- Upgrade to OpenTelemetry 1.24.0 #34581
- Upgrade to Oracle R2DBC 1.1.1 #34723
- Upgrade to Postgresql 42.6.0 #34689
- Upgrade to Rabbit AMQP Client 5.17.0 #34702
- Upgrade to Reactor Bom 2022.0.5 #34553
- Upgrade to Selenium HtmlUnit 4.8.1.1 #34690
- Upgrade to SLF4J 2.0.7 #34691
- Upgrade to Spring AMQP 3.0.3 #34610
- Upgrade to Spring Data Bom 2023.0.0-M3 #34548
- Upgrade to Spring Framework 6.0.7 #34554
- Upgrade to Spring GraphQL 1.2.0-M1 #34550
- Upgrade to Spring HATEOAS 2.1.0-M1 #34703
- Upgrade to Spring Integration 6.1.0-M2 #34552
- Upgrade to Spring Kafka 3.0.5 #34555
- Upgrade to Spring Retry 2.0.1 #34556
- Upgrade to Spring Security 6.1.0-M2 #34549
- Upgrade to Spring Session 3.1.0-M1 #34551
- Upgrade to SQLite JDBC 3.41.2.0 #34725
- Upgrade to Tomcat 10.1.7 #34582
- Upgrade to UnboundID LDAPSDK 6.0.8 #34583
❤️ Contributors
Thank you to all the co...
v3.0.5
🐞 Bug Fixes
- EmbeddedWebServerFactoryCustomizerAutoConfiguration should not run when embedded web server is not configured #34659
- StandardConfigDataResource can import the same file twice if the classpath includes '.' #34617
- Loading application.yml fails with NoSuchMethodError when using SnakeYAML 2.0 #34515
@ConfigurationProperties
no longer works on a mutable Kotlin data classes #34500- Image builds with podman fail when image buildpacks are configured #34495
- Use of
@EntityScan
causes AOT instance supplier code generation error #34371
📔 Documentation
- Document support for Java 20 #34726
- Clarify conventions for custom error pages in WebFlux #34705
- Add documentation tip showing how to configure publishRegistry Maven properties from the command line #34704
- Typo in Batch documentation: content instead of context #34646
- Update two references to old APIs #34602
- Fix Javadoc in JobLauncherApplicationRunner #34596
- Document how to get socket location for image building configuration with podman #34475
🔨 Dependency Upgrades
- Upgrade to Caffeine 3.1.5 #34662
- Upgrade to Couchbase Client 3.4.4 #34663
- Upgrade to Dropwizard Metrics 4.2.18 #34664
- Upgrade to GraphQL Java 19.4 #34718
- Upgrade to Groovy 4.0.10 #34665
- Upgrade to Infinispan 14.0.7.Final #34666
- Upgrade to Jedis 4.3.2 #34698
- Upgrade to Jetty Reactive HTTPClient 3.0.8 #34667
- Upgrade to jOOQ 3.17.10 #34699
- Upgrade to Json-smart 2.4.10 #34669
- Upgrade to Logback 1.4.6 #34670
- Upgrade to Micrometer 1.10.5 #34536
- Upgrade to Micrometer Tracing 1.0.3 #34537
- Upgrade to Netty 4.1.90.Final #34671
- Upgrade to Reactor Bom 2022.0.5 #34538
- Upgrade to SLF4J 2.0.7 #34672
- Upgrade to Spring AMQP 3.0.3 #34608
- Upgrade to Spring Data Bom 2022.0.4 #34539
- Upgrade to Spring Framework 6.0.7 #34540
- Upgrade to Spring GraphQL 1.1.3 #34541
- Upgrade to Spring HATEOAS 2.0.3 #34673
- Upgrade to Spring Integration 6.0.4 #34542
- Upgrade to Spring Kafka 3.0.5 #34543
- Upgrade to Spring Retry 2.0.1 #34544
- Upgrade to Spring Session 3.0.1 #34545
- Upgrade to Tomcat 10.1.7 #34674
- Upgrade to UnboundID LDAPSDK 6.0.8 #34675
❤️ Contributors
Thank you to all the contributors who worked on this release:
@1993heqiang, @anthonydahanne, @benelog, @dsyer, @izeye, @swapy, and @terminux
v2.7.10
🐞 Bug Fixes
- Some of the deprecated spring.security.saml2.relyingparty.registration.*.identityprovider.* properties are ignored #34525
- Maven plugin uses timezone-local timestamps when outputTimestamp is used #34424
- Loading application.yml fails with NoSuchMethodError when using SnakeYAML 2.0 #34405
- EmbeddedWebServerFactoryCustomizerAutoConfiguration should not run when embedded web server is not configured #34332
- Image builds with podman fail when image buildpacks are configured #34324
- org.springframework.boot.web.embedded.jetty.GracefulShutdown uses the wrong class to create its logger #34220
- StandardConfigDataResource can import the same file twice if the classpath includes '.' #34212
📔 Documentation
- Document support for Java 20 #34642
- Update two references to old APIs #34567
- Clarify conventions for custom error pages in WebFlux #34534
- Add documentation tip showing how to configure publishRegistry Maven properties from the command line #34517
- Document support for Gradle 8 #34458
- Document how to get socket location for image building configuration with podman #34435
- Fix typo in Encrypting Properties #34386
- Use plugins DSL consistently in Spring Boot Gradle Plugin docs #34048
- Add link to Failover starter #32943
🔨 Dependency Upgrades
- Upgrade to Dropwizard Metrics 4.2.18 #34648
- Upgrade to GraphQL Java 18.4 #34717
- Upgrade to Groovy 3.0.16 #34649
- Upgrade to Jetty 9.4.51.v20230217 #34651
- Upgrade to Jetty Reactive HTTPClient 1.1.14 #34650
- Upgrade to Json-smart 2.4.10 #34652
- Upgrade to Micrometer 1.9.9 #34528
- Upgrade to Netty 4.1.90.Final #34653
- Upgrade to Reactor Bom 2020.0.30 #34529
- Upgrade to Spring AMQP 2.4.11 #34607
- Upgrade to Spring Data Bom 2021.2.10 #34530
- Upgrade to Spring Framework 5.3.26 #34531
- Upgrade to Spring GraphQL 1.0.4 #34532
- Upgrade to Spring HATEOAS 1.5.4 #34654
- Upgrade to Spring Integration 5.5.17 #34722
- Upgrade to Spring Session Bom 2021.2.1 #34533
- Upgrade to Tomcat 9.0.73 #34655
- Upgrade to UnboundID LDAPSDK 6.0.8 #34656
❤️ Contributors
Thank you to all the contributors who worked on this release:
@1993heqiang, @anandmnair, @anthonydahanne, @dsyer, @izeye, @jongwooo, and @terminux
v3.0.4
🐞 Bug Fixes
- Maven plugin uses timezone-local timestamps when outputTimestamp is used #34430
- org.springframework.boot.web.embedded.jetty.GracefulShutdown uses the wrong class to create its logger #34419
@ConfigurationProperties
with initialized nested record properties values no longer bind #34407- Custom ConfigDataLocationResolver/ConfigDataLoader fails in 3.0.x when combined with spring-boot-devtools #34372
- defaultTracingObservationHandler is not ordered as documented #34216
- Spring Boot 3 does not provide a configuration property for configuring red metrics custom tag keys #34194
📔 Documentation
- Document support for Gradle 8 #34462
- Update Batch documentation #34437
- Add link to Failover starter #34422
- Fix typo in external-config.adoc #34414
- Fix typo #34398
- Use plugins DSL consistently in Spring Boot Gradle Plugin docs #34391
🔨 Dependency Upgrades
- Upgrade to Couchbase Client 3.4.3 #34445
- Upgrade to Dropwizard Metrics 4.2.17 #34446
- Upgrade to Jetty 11.0.14 #34447
- Upgrade to Reactor Bom 2022.0.4 #34444
- Upgrade to Spring Data Bom 2022.0.3 #34439
- Upgrade to Spring Framework 6.0.6 #34440
- Upgrade to Spring Kafka 3.0.4 #34441
❤️ Contributors
Thank you to all the contributors who worked on this release:
@1993heqiang, @anandmnair, @dalbani, @fmbenhassine, @izeye, @jongwooo, and @ttddyy
v3.1.0-M1
⭐ New Features
- Auto-configure Spring Kafka ContainerCustomizer #34033
- Add property
headers
inOtlpProperties
#34004 - Add Micrometer Tracing's CompositeSpanExporter #34002
- Prevent Servlet and Filter re-registration #33911
- Allow JoranConfigurators to be passed ahead of time in logback #33643
- Add max http response header size configuration for tomcat and jetty #33553
- Remove dependency management for Apache HttpClient 4 #33535
- Improve log message of spring-boot-maven-plugin:repackage by specifying the involved files #33350
- Support setting more properties of KafkaAdmin through external configuration #33288
- Add a configuration property to control auto-startup of listener containers #33082
- Auto-configure BatchInterceptor on the default ConcurrentKafkaListenerContainerFactory #32951
- Add Nomad to cloud platforms #32880
- Allow JMX Registration Policy to be set #32573
- Allow different log level for FILE and CONSOLE appender #32076
🐞 Bug Fixes
- ClassNotFoundException during AOT processing of Logback XML that references a variable when defining a component's class #34341
- Dependency management for Spring LDAP includes spring-ldap-core-tiger which no longer exists #34325
- Logback configuration errors are not reported when running as a native image #34320
- Kotlin ConfigurationProperties default values are not picked up when nativeRun is used #34174
- ObservationFilter beans are not registered automatically #34121
- Manifests of jars built with Gradle do not have a Implementation entries #34120
- Maven Plugin's PropertiesMergingResourceTransformer closes InputStream when it should not do so #34073
- Actuator Health web endpoint broken with Gson and Java 17 #34071
- ElasticsearchClientAutoConfiguration causes global ObjectMapper to be overwritten #34068
- Spies are not reset after test execution when using
@SpyBean
#34045 - jOOQ DefaultConfiguration does not use TransactionProvider #34040
- Using devtools with Reactive application results in slower restarts #34038
- spring-boot-dependencies manages mysql:mysql-connector-java which no longer exists #34022
- Dependency management for Mongo's Java Driver is incomplete #34020
- Properties Migrator does not detect properties of Map type that are marked as deprecated #33964
- Dependency management for some Angus Mail modules uses the wrong artifact ID #33948
- Hazelcast auto-configuration loads configuration from custom locations without overriding and from default locations with overriding #33687
📔 Documentation
- Updated documentation for
@ConfigurationProperties
bean naming rules #34193 - Document additional configuration that is required for spring.mvc.throw-exception-if-no-handler-found=true to be effective #34191
- Use Maven Central for release downloads in CLI installation documentation #34162
- Update Customizing Sanitization documentation as built-in key-based sanitization is no longer performed #34074
- Add Redis application properties example #34042
🔨 Dependency Upgrades
- Upgrade to Angus Mail 1.1.0 #33956
- Upgrade to Artemis 2.28.0 #34076
- Upgrade to AssertJ 3.24.2 #33711
- Upgrade to Brave 5.15.0 #34077
- Upgrade to Byte Buddy 1.14.0 #34274
- Upgrade to Caffeine 3.1.4 #34275
- Upgrade to Dropwizard Metrics 4.2.16 #34277
- Upgrade to Elasticsearch Client 8.6.2 #34079
- Upgrade to Flyway 9.15.1 #34348
- Upgrade to Glassfish JAXB 4.0.2 #34279
- Upgrade to GraphQL Java 19.3 #34081
- Upgrade to Groovy 4.0.9 #34280
- Upgrade to Gson 2.10.1 #34083
- Upgrade to Hazelcast 5.2.2 #34281
- Upgrade to Hibernate 6.1.7.Final #34282
- Upgrade to HtmlUnit 2.70.0 #34085
- Upgrade to HttpClient5 5.2.1 #34086
- Upgrade to HttpCore5 5.2.1 #34087
- Upgrade to Jackson Bom 2.14.2 #34088
- Upgrade to Jaybird 4.0.9.java11 #34089
- Upgrade to Jersey 3.1.1 #34090
- Upgrade to jOOQ 3.17.8 #34283
- Upgrade to Kafka 3.4.0 #34284
- Upgrade to Kotlin 1.8.10 #34285
- Upgrade to Lettuce 6.2.3.RELEASE #34286
- Upgrade to Liquibase 4.19.0 #34091
- Upgrade to Log4j2 2.20.0 #34349
- Upgrade to Lombok 1.18.26 #34092
- Upgrade to MariaDB 3.1.2 #34093
- Upgrade to Maven Assembly Plugin 3.5.0 #34350
- Upgrade to Maven Dependency Plugin 3.5.0 #34094
- Upgrade to Maven Deploy Plugin 3.1.0 #34287
- Upgrade to Maven Enforcer Plugin 3.2.1 #34095
- Upgrade to Maven Install Plugin 3.1.0 #34096
- Upgrade to Maven Invoker Plugin 3.5.0 #34288
- Upgrade to Maven Javadoc Plugin 3.5.0 #34289
- Upgrade to Micrometer 1.11.0-M1 #34016
- Upgrade to Micrometer Tracing 1.1.0-M1 #34290
- Upgrade to Mockito 4.11.0 #34098
- Upgrade to MongoDB 4.9.0 #34291
- Upgrade to Native Build Tools Plugin 0.9.20 #34292
- Upgrade to Neo4j Java Driver 5.5.0 #34293
- Upgrade to Netty 4.1.89.Final #34294
- Upgrade to Oracle Database 21.9.0.0 #34295
- Upgrade to Oracle R2DBC 1.1.0 [#34102](https://github.com/spring-projects/spring-bo...
v3.0.3
🐞 Bug Fixes
- ClassNotFoundException during AOT processing of Logback XML that references a variable when defining a component's class #34336
- Logback configuration errors are not reported when running as a native image #34315
- Dependency management for Spring LDAP includes spring-ldap-core-tiger which no longer exists #34299
- Kotlin ConfigurationProperties default values are not picked up when nativeRun is used #34157
- Maven Plugin's PropertiesMergingResourceTransformer closes InputStream when it should not do so #34072
- Actuator Health web endpoint broken with Gson and Java 17 #34070
- Manifests of jars built with Gradle do not have a Implementation entries #34059
- Spies are not reset after test execution when using
@SpyBean
#34044 - Using devtools with Reactive application results in slower restarts #34036
- spring-boot-dependencies manages mysql:mysql-connector-java which no longer exists #34021
- Dependency management for Mongo's Java Driver is incomplete #34019
- jOOQ DefaultConfiguration does not use TransactionProvider #33979
- ObservationFilter beans are not registered automatically #33968
- Properties Migrator does not detect properties of Map type that are marked as deprecated #33963
- Dependency management for some Angus Mail modules uses the wrong artifact ID #33947
- ElasticsearchClientAutoConfiguration causes global ObjectMapper to be overwritten #33426
📔 Documentation
- Updated documentation for
@ConfigurationProperties
bean naming rules #34192 - Document additional configuration that is required for spring.mvc.throw-exception-if-no-handler-found=true to be effective #34190
- Use Maven Central for release downloads in CLI installation documentation #34161
- Update Customizing Sanitization documentation as built-in key-based sanitization is no longer performed #34051
- Add Redis application properties example #34041
- Restore "Use Jedis Instead of Lettuce" how-to documentation #33995
- Actuator section is missing from documentation overview #33933
- Add Javadoc since to OperationParameter.getAnnotation() #33919
🔨 Dependency Upgrades
- Upgrade to Byte Buddy 1.12.23 #34255
- Upgrade to Caffeine 3.1.4 #34256
- Upgrade to Dropwizard Metrics 4.2.16 #34258
- Upgrade to Glassfish JAXB 4.0.2 #34259
- Upgrade to Groovy 4.0.9 #34260
- Upgrade to Hibernate 6.1.7.Final #34261
- Upgrade to Jackson Bom 2.14.2 #34262
- Upgrade to Jaybird 4.0.9.java11 #34263
- Upgrade to Jersey 3.1.1 #34264
- Upgrade to jOOQ 3.17.8 #34265
- Upgrade to Lettuce 6.2.3.RELEASE #34266
- Upgrade to Lombok 1.18.26 #34267
- Upgrade to Micrometer 1.10.4 #34148
- Upgrade to Micrometer Tracing 1.0.2 #34160
- Upgrade to Native Build Tools Plugin 0.9.20 #34268
- Upgrade to Neo4j Java Driver 5.4.0 #34344
- Upgrade to Netty 4.1.89.Final #34269
- Upgrade to Postgresql 42.5.4 #34270
- Upgrade to R2DBC Postgresql 1.0.1.RELEASE #34271
- Upgrade to Reactor Bom 2022.0.3 #34149
- Upgrade to Spring AMQP 3.0.2 #34322
- Upgrade to Spring Batch 5.0.1 #34150
- Upgrade to Spring Data Bom 2022.0.2 #34151
- Upgrade to Spring Framework 6.0.5 #34152
- Upgrade to Spring GraphQL 1.1.2 #34323
- Upgrade to Spring HATEOAS 2.0.2 #34272
- Upgrade to Spring Integration 6.0.3 #34039
- Upgrade to Spring Kafka 3.0.3 #34153
- Upgrade to Spring LDAP 3.0.1 #34154
- Upgrade to Spring Security 6.0.2 #34155
- Upgrade to Spring WS 4.0.2 #34156
- Upgrade to Undertow 2.3.4.Final #34273
❤️ Contributors
Thank you to all the contributors who worked on this release:
@Anubhav-2000, @artembilan, @ath0s, @enimiste, @izeye, @jprinet, @krzyk, @marcel-wollschlaeger, @mhalbritter, @michaldo, and @sannanansari