Skip to content

Releases: spring-projects/spring-boot

v3.4.0-RC1

26 Oct 05:25
Compare
Choose a tag to compare
v3.4.0-RC1 Pre-release
Pre-release

⭐ New Features

  • Update web services support to make use of ClientHttpRequestFactoryBuilder #42886
  • Add requestFactorySettings method to RestTemplateBuilder #42885
  • Rename RestTemplateBuilder 'set' methods #42884
  • Unify default HTTP client redirect behavior and provide configuration option #42879
  • Add Testcontainers and docker compose support for ClickHouse #42837
  • Support ResourceLoader delegation from ApplicationResourceLoader #42835
  • Add support for ClickHouse JDBC driver in enum DatabaseDriver #42815
  • Add property to control export of OTLP logs #42813
  • Remove remaining functionality that has been deprecated for removal in 3.4.0 #42780
  • Add support for auto-configuring an indexed reactive session repository #42604
  • Detect accidental misconfiguration of JsonMixin annotation #42592
  • Support Reactor Netty in ClientHttpRequestFactories #42587
  • Add property to specify Docker Compose flags #42571
  • Rename OtlpAutoConfiguration to OtlpTracingAutoConfiguration #42529
  • Add connect timeout properties for OTLP logging and tracing #42528
  • Add management.otlp.logging.transport property #42527
  • Use builder-jammy-java-tiny when using Buildpacks #42508
  • Allow structure logging JSON to be customized #42486
  • Raise the minimum supported version of Gradle 8 to 8.4 #42481
  • Harmonize configuration properties that accept a comma-separated list of values #42478
  • Allow common messages to be specified for message sources #42472
  • Provide a configuration property for configuring Jetty's max form keys #42448
  • Provide service connection support for Hazelcast #42416
  • Make OtlpMeterRegistry virtual thread aware #42407
  • Improve SpringEnvironmentLookup exception to hint that the log4j2 file must have '-spring' suffix #42405
  • Allow auto-configured org.jooq.Configuration to be used to create a custom DSLContext #42400
  • Add support for partitioned cookies #42316
  • Deprecate support for injecting DynamicPropertyRegistry in favor of DynamicPropertyRegistrar beans #41996
  • Warn when the user provides volume mounts with sensitive targets when building images #41643
  • Shut down management server only once main server is shut down #41002
  • Export SBOM contained in native-image #40630
  • Introduce @BatchTaskExecutor to make it easier to configure Spring Batch to use a custom task executor #40040
  • Restrict actuator access based on read/write/delete operations via configuration #39046
  • Provide a way to further customize underlying ClientHttpRequestFactory components #39035
  • Autoconfigure Undertow/XNIO for virtual thread support #38819
  • Provide a mechanism for easily configuring global client HTTP request factory settings #36266

🐞 Bug Fixes

  • Running mvn spring-boot:run with classpaths that exceeds Windows' length limits leaves temporary files #42845
  • ClassNotFoundException is thrown when loading protocol resolvers from ForkJoinPool task #42839
  • Report produced by ConditionReportApplicationContextFailureProcessor is always empty in a failed test #42786
  • Case-insensitive comparisons may be adversely affected by the user's locale #42736
  • server.tomcat.reject-illegal-header has been deprecated since 2.7.12 and should have been removed in 3.3.0 #42731
  • DataSourceProperties#driverClassIsLoadable should not print a stacktrace to the error stream when it fails #42684
  • Some @ControllerEndpoint and @RestControllerEndpoint infrastructure remains undeprecated #42499
  • Auto-configuration for Rabbit Streams doesn't consider RabbitConnectionDetails #42491
  • @ConditionalOn(Missing)Bean(annotation = …) infers the type to match when used on a @Bean method #42484
  • ActiveMQ Artemis Connection Factory creation fails in native image #42422
  • Duplicate meter binding when context contains multiple registries, none are primary, and one or more is a composite #42398
  • Profiles are not active when the environment is prepared with an AOT-optimized application #41562

📔 Documentation

  • Update HttpWebServiceMessageSenderBuilder javadoc #42894
  • Document HttpClientAutoConfiguration updates #42888
  • Update web services documentation following HTTP client changes #42887
  • Move default value descriptions to "description" in logging property metadata #42882
  • Document that embedded Tomcat must be at least 10.1.25 #42869
  • Update documentation where we recommend a @Qualifier on one bean and @Primary on another to suggest a single bean with defaultCandidate=false #42831
  • Fix systemd example configuration #42806
  • Document that the exact behavior of the maximum HTTP request header size property is server-specific #42790
  • Clarify why @Primary is recommended when defining your own ObjectMapper that replaces JacksonAutoConfiguration's #42788
  • Polish javadoc for Binder#bindOrCreate(String, Class) #42779
  • Document that Tomcat's maxQueueCapacity need to be greater than 0 #42727
  • Remove stale link to jar-to-war getting started guide #42722
  • Fix typos and formatting errors in documentation #42721
  • Fix case used for examples in "Sanitize Sensitive Values" #42703
  • Fix Regex javadoc links #42686
  • Document how Map properties are bound from environment variables #42673
  • Improve classpath index documentation for reproducible builds #42644
  • Improve documentation for CycloneDX integration #42629
  • Remove links to Spring Data GemFire #42597
  • Documentation is missing MyCustomFormat.kt example #42594
  • Link to Framework's docs about @Bean's autowireCandidate and defaultCandidate #42586
  • Order alphabetically the sections in Common Application Properties #42521
  • Improve the javad...
Read more

v3.3.5

24 Oct 13:34
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Running mvn spring-boot:run with classpaths that exceeds Windows' length limits leaves temporary files #42841
  • Report produced by ConditionReportApplicationContextFailureProcessor is always empty in a failed test #42785
  • Case-insensitive comparisons may be adversely affected by the user's locale #42735
  • DataSourceProperties#driverClassIsLoadable should not print a stacktrace to the error stream when it fails #42683
  • Some @ControllerEndpoint and @RestControllerEndpoint infrastructure remains undeprecated #42498
  • Auto-configuration for Rabbit Streams doesn't consider RabbitConnectionDetails #42490
  • ClassNotFoundException is thrown when loading protocol resolvers from ForkJoinPool task #42468
  • ActiveMQ Artemis Connection Factory creation fails in native image #42421
  • Duplicate meter binding when context contains multiple registries, none are primary, and one or more is a composite #42397

📔 Documentation

  • Document that embedded Tomcat must be at least 10.1.25 #42849
  • Fix systemd example configuration #42805
  • Document that the exact behavior of the maximum HTTP request header size property is server-specific #42789
  • Clarify why @Primary is recommended when defining your own ObjectMapper that replaces JacksonAutoConfiguration's #42787
  • Polish javadoc for Binder#bindOrCreate(String, Class) #42778
  • Document that Tomcat's maxQueueCapacity need to be greater than 0 #42726
  • Remove stale link to jar-to-war getting started guide #42723
  • Fix typos and formatting errors in documentation #42718
  • Fix case used for examples in "Sanitize Sensitive Values" #42702
  • Fix Regex javadoc links #42685
  • Document how Map properties are bound from environment variables #42672
  • Improve classpath index documentation for reproducible builds #42643
  • Remove links to Spring Data GemFire #42596
  • Order alphabetically the sections in Common Application Properties #42520
  • Improve the javadoc describing when @ConditionalOn(Missing)Bean will infer the type to match #42505
  • Document how to handle MANIFEST.MF in native image with Maven #42476
  • Fix links to Micrometer reference doc #42467
  • Polish documentation #42454
  • Add Javadoc since for PrometheusScrapeEndpoint(PrometheusRegistry, Properties) #42406
  • Remove note about graceful shutdown with Tomcat requiring 9.0.33 or later as we now require 10.1.x #42382
  • Document support for Java 23 #42380
  • Improve documentation for CycloneDX integration #41506

🔨 Dependency Upgrades

  • Prohibit upgrades to Undertow 2.3.18.Final #42756
  • Upgrade to CycloneDX Maven Plugin 2.8.2 #42631
  • Upgrade to GraphQL Java 22.3 #42757
  • Upgrade to Infinispan 15.0.10.Final #42632
  • Upgrade to Jaybird 5.0.6.java11 #42752
  • Upgrade to Jersey 3.1.9 #42633
  • Upgrade to Jetty 12.0.14 #42635
  • Upgrade to Jetty Reactive HTTPClient 4.0.8 #42634
  • Upgrade to jOOQ 3.19.14 #42818
  • Upgrade to JUnit Jupiter 5.10.5 #42637
  • Upgrade to Logback 1.5.11 #42753
  • Upgrade to Micrometer 1.13.6 #42543
  • Upgrade to Micrometer Tracing 1.3.5 #42544
  • Upgrade to Neo4j Java Driver 5.25.0 #42628
  • Upgrade to Netty 4.1.114.Final #42639
  • Upgrade to Pooled JMS 3.1.7 #42640
  • Upgrade to Pulsar Reactive 0.5.8 #42819
  • Upgrade to R2DBC Pool 1.0.2.RELEASE #42754
  • Upgrade to R2DBC Postgresql 1.0.7.RELEASE #42755
  • Upgrade to Reactor Bom 2023.0.11 #42545
  • Upgrade to Spring Authorization Server 1.3.3 #42546
  • Upgrade to Spring Data Bom 2024.0.5 #42547
  • Upgrade to Spring Framework 6.1.14 #42548
  • Upgrade to Spring GraphQL 1.3.3 #42742
  • Upgrade to Spring Integration 6.3.5 #42549
  • Upgrade to Spring LDAP 3.2.7 #42550
  • Upgrade to Spring Pulsar 1.1.5 #42551
  • Upgrade to Spring RESTDocs 3.0.2 #42743
  • Upgrade to Spring Retry 2.0.10 #42552
  • Upgrade to Spring Security 6.3.4 #42553
  • Upgrade to Spring Session 3.3.3 #42554
  • Upgrade to Tomcat 10.1.31 #42642

❤️ Contributors

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

@IMWoo94, @arefbehboudi, @izeye, @jeonghyeon00, @ngocnhan-tran1996, @nosan, and @quaff

v3.2.11

24 Oct 10:50
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Case-insensitive comparisons may be adversely affected by the user's locale #42719
  • DataSourceProperties#driverClassIsLoadable should not print a stacktrace to the error stream when it fails #42681
  • Auto-configuration for Rabbit Streams doesn't consider RabbitConnectionDetails #42489
  • ActiveMQ Artemis Connection Factory creation fails in native image #42414
  • Duplicate meter binding when context contains multiple registries, none are primary, and one or more is a composite #42396
  • Report produced by ConditionReportApplicationContextFailureProcessor is always empty in a failed test #42185

📔 Documentation

  • Fix systemd example configuration #42795
  • Polish javadoc for Binder#bindOrCreate(String, Class) #42777
  • Remove stale link to jar-to-war getting started guide #42691
  • Fix Regex javadoc links #42645
  • Clarify why @Primary is recommended when defining your own ObjectMapper that replaces JacksonAutoConfiguration's #42598
  • Remove links to Spring Data GemFire #42575
  • Improve the javadoc describing when @ConditionalOn(Missing)Bean will infer the type to match #42504
  • Polish documentation #42445
  • Document how to handle MANIFEST.MF in native image with Maven #42412
  • Document support for Java 23 #42374
  • Remove note about graceful shutdown with Tomcat requiring 9.0.33 or later as we now require 10.1.x #42373
  • Improve classpath index documentation for reproducible builds #41265
  • Document how Map properties are bound from environment variables #40936
  • Document that the exact behavior of the maximum HTTP request header size property is server-specific #40798

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 5.18.6 #42612
  • Upgrade to Dropwizard Metrics 4.2.28 #42613
  • Upgrade to Infinispan 14.0.32.Final #42614
  • Upgrade to Jaybird 5.0.6.java11 #42747
  • Upgrade to Jersey 3.1.9 #42615
  • Upgrade to Jetty 12.0.14 #42617
  • Upgrade to Jetty Reactive HTTPClient 4.0.8 #42616
  • Upgrade to jOOQ 3.18.21 #42816
  • Upgrade to JUnit Jupiter 5.10.5 #42619
  • Upgrade to Micrometer 1.12.11 #42531
  • Upgrade to Micrometer Tracing 1.2.11 #42532
  • Upgrade to Neo4j Java Driver 5.25.0 #42626
  • Upgrade to Netty 4.1.114.Final #42620
  • Upgrade to Pooled JMS 3.1.7 #42621
  • Upgrade to Pulsar Reactive 0.5.8 #42817
  • Upgrade to R2DBC Pool 1.0.2.RELEASE #42748
  • Upgrade to R2DBC Postgresql 1.0.7.RELEASE #42749
  • Upgrade to Reactor Bom 2023.0.11 #42533
  • Upgrade to Spring Authorization Server 1.2.7 #42534
  • Upgrade to Spring Framework 6.1.14 #42536
  • Upgrade to Spring GraphQL 1.2.9 #42740
  • Upgrade to Spring Integration 6.2.10 #42537
  • Upgrade to Spring LDAP 3.2.7 #42538
  • Upgrade to Spring Pulsar 1.0.11 #42539
  • Upgrade to Spring RESTDocs 3.0.2 #42741
  • Upgrade to Spring Retry 2.0.10 #42540
  • Upgrade to Spring Security 6.2.7 #42541
  • Upgrade to Spring Session 3.2.6 #42542
  • Upgrade to Tomcat 10.1.31 #42623

❤️ Contributors

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

@IMWoo94, @arefbehboudi, @jeonghyeon00, @ngocnhan-tran1996, @nosan, and @quaff

v3.4.0-M3

19 Sep 15:40
Compare
Choose a tag to compare
v3.4.0-M3 Pre-release
Pre-release

⭐ New Features

  • Allow additional interfaces to be defined on AssertableApplicationContext and ApplicationContextRunners #42369
  • Add spring.jms.listener.max-messages-per-task property for configuring max messages per task #42341
  • Support @DependsOn, @Description, @Fallback, @Lazy, @Primary, and @Role on @ConfigurationProperties beans #42289
  • Add Pulsar container factory customizers #42182
  • Use @EnableConfigurationProperties to define the MessageSourceProperties bean #42181
  • Add OpenTelemetry Logging service connection support from LgtmStackContainer and Docker Compose #42174
  • Add transport selection to OtlpLoggingConnectionDetails #42171
  • Add Graylog Extended Log Format (GELF) for structured logging #42158
  • Add consistent scope support ConfigurationProperties beans #42073
  • Apply spring.pulsar.consumer.subscription.name to auto-configured Pulsar listener container #42067
  • Add support for configuring Pulsar listener container concurrency #42062
  • Add support for configuring Pulsar client IO and listener threads #42052
  • Add support for Log4j2's MultiFormatStringBuilderFormattable in structured logging #42034
  • Use early static registration of EventPublishingContextWrapper in tests #42005
  • Add configuration support for ExponentialHistogram in OTLP Registry #41837
  • Support testcontainers-redis #41450
  • Support Otlp Tracing's GRPC port from service connections #41333
  • Add service connection from Opentelemetry Collector for Logging #41324
  • Add auto-configuration for OTLP gRPC format when using tracing #41213
  • Add a configuration property for Spring Data Web's serialization mode #39797
  • Reinstate support for auto-configuring an embedded ActiveMQ broker #38404
  • Enable graceful shutdown by default #37495
  • Allow the configuration of active profiles in SpringApplication.Augmented #36660
  • Reduce the need for @AutoConfigureTestDatabase(replace=NONE) when using a test-provided database #35253
  • Remove setting BP_NATIVE_IMAGE environment variable when building images #32884
  • Provide support for deprecated auto-configuration classes #14860

🐞 Bug Fixes

  • management.health.db.ignore-routing-datasources=true has no effect when an AbstractRoutingDataSource has been wrapped #42323
  • Missing details in OAuth2ClientProperties validation error message #42280
  • FileNotFoundException from unused mis-configured SSL bundles #42170
  • ZipkinHttpClientSender fails with "Failed to introspect Class" when spring-web is not on the classpath #42160
  • @RestartScope can cause 'Recursive update' exceptions when used with container beans #42108
  • JarLauncher fails to load large jar files #42080
  • PropertiesMigrationListener wrongly reports property as deprecated when has group #42072
  • Using an empty string MongoDB 'replica-set-name' property will result in ClusterType=REPLICA_SET #42060
  • Binding spring.main.* properties doesn't work in a native image #42038
  • Default Logback config uses deprecated "converterClass" attribute #42008
  • Health endpoint additional paths are not available by default when Spring Security is used #40962
  • Application yaml file is not processed after spring boot migration #35403

📔 Documentation

  • Document that spring.jmx.enabled is not intended for third-party libraries #42286
  • Update link to Log4j2 system properties #42264
  • Links to GraphQL in the reference guide redirect to the root instead of specific sections #42209
  • Syntax error in "Receive a message reactively section" of the reference guide #42201
  • Deprecation reason for the autotime enabled, percentiles, and percentiles-historgram properties is confusing #42194
  • Replace RFC 7807 by RFC 9457 in property documentation #42191
  • Document that configuration property binding to a Kotlin value class with a default is not supported #42177
  • Update documentation to reflect new no handler found exception behavior #42168
  • Polish configuration property reference #42166
  • Improve docker without buildpacks documentation #42114
  • Fix StatsD link typo on Metrics documentation page #42113
  • Remove link to “Converting a Spring Boot JAR Application to a WAR” as the guide is no longer available #42112
  • Improve documentation in "Command-line Completion" #42104
  • Kotlin code examples are missing from the Testing section #42096
  • Fix incorrect command in Docker configuration for Colima #42083
  • Add tip to correlation IDs documentation referencing spring.reactor.context-propagation=auto #42054
  • Gradle Plugin AOT documentation has sample error #42051
  • Add documentation for configuring OpenTelemetry SDK logs #41825

🔨 Dependency Upgrades

Read more

v3.3.4

19 Sep 11:03
Compare
Choose a tag to compare

🐞 Bug Fixes

  • management.health.db.ignore-routing-datasources=true has no effect when an AbstractRoutingDataSource has been wrapped #42322
  • Missing details in OAuth2ClientProperties validation error message #42279
  • FileNotFoundException from unused mis-configured SSL bundles #42169
  • ZipkinHttpClientSender fails with "Failed to introspect Class" when spring-web is not on the classpath #42161
  • @RestartScope can cause 'Recursive update' exceptions when used with container beans #42107
  • JarLauncher fails to load large jar files #42079
  • PropertiesMigrationListener wrongly reports property as deprecated when has group #42071
  • Using an empty string MongoDB 'replica-set-name' property will result in ClusterType=REPLICA_SET #42059
  • Default Logback config uses deprecated "converterClass" attribute #42006

📔 Documentation

  • Document that spring.jmx.enabled is not intended for third-party libraries #42285
  • Update link to Log4j2 system properties #42263
  • Links to GraphQL in the reference guide redirect to the root instead of specific sections #42208
  • Syntax error in "Receive a message reactively section" of the reference guide #42200
  • Deprecation reason for the autotime enabled, percentiles, and percentiles-historgram properties is confusing #42193
  • Replace RFC 7807 by RFC 9457 in property documentation #42190
  • Document that configuration property binding to a Kotlin value class with a default is not supported #42176
  • Update documentation to reflect new no handler found exception behavior #42167
  • Polish configuration property reference #42165
  • Remove link to “Converting a Spring Boot JAR Application to a WAR” as the guide is no longer available #42111
  • Fix StatsD link typo on Metrics documentation page #42109
  • Improve docker without buildpacks documentation #42106
  • Improve documentation in "Command-line Completion" #42103
  • Kotlin code examples are missing from the Testing section #42094
  • Fix incorrect command in Docker configuration for Colima #42078
  • Gradle Plugin AOT documentation has sample error #42046

🔨 Dependency Upgrades

  • Upgrade to Groovy 4.0.23 #42292
  • Upgrade to Hibernate 6.5.3.Final #42365
  • Upgrade to Infinispan 15.0.8.Final #42253
  • Upgrade to Jakarta Servlet JSP JSTL 3.0.2 #42254
  • Upgrade to Jetty 12.0.13 #42256
  • Upgrade to Jetty Reactive HTTPClient 4.0.7 #42255
  • Upgrade to Logback 1.5.8 #42257
  • Upgrade to Micrometer 1.13.4 #42129
  • Upgrade to Micrometer Tracing 1.3.4 #42130
  • Upgrade to MSSQL JDBC 12.6.4.jre11 #42258
  • Upgrade to Native Build Tools Plugin 0.10.3 #42205
  • Upgrade to Netty 4.1.113.Final #42259
  • Upgrade to Postgresql 42.7.4 #42260
  • Upgrade to R2DBC MariaDB 1.2.2 #42326
  • Upgrade to Reactor Bom 2023.0.10 #42131
  • Upgrade to SendGrid 4.10.3 #42366
  • Upgrade to Spring Data Bom 2024.0.4 #42132
  • Upgrade to Spring Framework 6.1.13 #42133
  • Upgrade to Spring HATEOAS 2.3.3 #42282
  • Upgrade to Spring Integration 6.3.4 #42134
  • Upgrade to Spring Kafka 3.2.4 #42135
  • Upgrade to Spring Pulsar 1.1.4 #42136
  • Upgrade to Spring Retry 2.0.9 #42327
  • Upgrade to Tomcat 10.1.30 #42346
  • Upgrade to Undertow 2.3.17.Final #42303
  • Upgrade to Zipkin Reporter 3.4.2 #42364

❤️ Contributors

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

@Alchemik, @arefbehboudi, @einarpehrson, @izeye, @martinfrancois, @mushroom528, @nosan, and @quaff

v3.2.10

19 Sep 07:42
Compare
Choose a tag to compare

🐞 Bug Fixes

  • management.health.db.ignore-routing-datasources=true has no effect when an AbstractRoutingDataSource has been wrapped #42313
  • Missing details in OAuth2ClientProperties validation error message #42278
  • FileNotFoundException from unused mis-configured SSL bundles #42119
  • PropertiesMigrationListener wrongly reports property as deprecated when has group #42068
  • Using an empty string MongoDB 'replica-set-name' property will result in ClusterType=REPLICA_SET #42055
  • JarLauncher fails to load large jar files #42012
  • @RestartScope can cause 'Recursive update' exceptions when used with container beans #41571

📔 Documentation

  • Document that spring.jmx.enabled is not intended for third-party libraries #42272
  • Update link to Log4j2 system properties #42262
  • Links to GraphQL in the reference guide redirect to the root instead of specific sections #42207
  • Fix links to Spring Data's reference documentation #42203
  • Update documentation to reflect new no handler found exception behavior #42164
  • Polish configuration property reference #42162
  • Remove link to “Converting a Spring Boot JAR Application to a WAR” as the guide is no longer available #42110
  • Improve documentation in "Command-line Completion" #42091
  • Deprecation reason for the autotime enabled, percentiles, and percentiles-historgram properties is confusing #41745
  • Document that configuration property binding to a Kotlin value class with a default is not supported #41693
  • Replace RFC 7807 by RFC 9457 in property documentation #41260
  • Explain difference between OTel agent and Micrometer instrumentations #41227

🔨 Dependency Upgrades

  • Upgrade to Groovy 4.0.23 #42291
  • Upgrade to Infinispan 14.0.31.Final #42245
  • Upgrade to Jakarta Servlet JSP JSTL 3.0.2 #42246
  • Upgrade to Jetty 12.0.13 #42248
  • Upgrade to Jetty Reactive HTTPClient 4.0.7 #42247
  • Upgrade to Micrometer 1.12.10 #42121
  • Upgrade to Micrometer Tracing 1.2.10 #42122
  • Upgrade to MongoDB 4.11.4 #42249
  • Upgrade to Netty 4.1.113.Final #42250
  • Upgrade to Reactor Bom 2023.0.10 #42123
  • Upgrade to Spring Data Bom 2023.1.10 #42124
  • Upgrade to Spring Framework 6.1.13 #42125
  • Upgrade to Spring HATEOAS 2.2.5 #42281
  • Upgrade to Spring Integration 6.2.9 #42126
  • Upgrade to Spring Kafka 3.1.9 #42127
  • Upgrade to Spring Pulsar 1.0.10 #42128
  • Upgrade to Spring Retry 2.0.9 #42325
  • Upgrade to Tomcat 10.1.30 #42344
  • Upgrade to Undertow 2.3.17.Final #42302

❤️ Contributors

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

@Alchemik, @arefbehboudi, @izeye, @mushroom528, @nosan, and @quaff

v3.4.0-M2

22 Aug 23:36
Compare
Choose a tag to compare
v3.4.0-M2 Pre-release
Pre-release

⭐ New Features

  • Add value alias to @ConditionalOnAvailableEndpoint and migrate simple conditions #41969
  • Auto-configure remote fields on BraveBaggageManager #41884
  • Add support for Pulsar default tenant/namespace #41851
  • Add TWENTY_THREE to JavaVersion enum #41717
  • When virtual threads are enabled, configure Spring Integration's task scheduler to use them #41695
  • Support multiple Docker Compose files #41691
  • GraphQL should reply with HTTP 415 for unsupported content type #41675
  • Automatically disable banner when using structured logging #41659
  • Make properties for the application's version and PID available in the Environment #41604
  • Update @ConditionalOnSingleCandidate to deal with fallback beans #41580
  • Improve property support for SAML private keys and certificates #41567
  • Add support for grafana/otel-lgtm and LgtmStackContainer from Service Connection #41551
  • Add support for CNB platform API version 0.14 #41549
  • Allow PemContent.of to work with untrimmed content #41540
  • Provide auto-configuration for authenticating with Couchbase using a client certificate #41520
  • Refine structured logging support #41491
  • Shut down Reactor Schedulers for WAR deployments #41548
  • Add SslInfoContributor and SslHealthIndicator #41205
  • Rework Cloud Foundry actuator support behind a pluggable abstraction #41135
  • Add platform option for image building #40944
  • Introduce an ApplicationProperties class so that we can stop binding directly to SpringApplication #40592
  • Auto-configure HandlerMethodArgumentResolvers on AnnotatedControllerConfigurer #40393
  • Automatically activate health probes in Cloud Foundry environments #39804
  • Support @Name with JavaBean-based configuration properties #39452
  • Make DataSourceBuilder be able to derive driverClassName from a URL #39376
  • Make it easier to define a bean in addition to an auto-configured bean of the same type #22403
  • Add execution metadata to scheduled tasks actuator endpoint #17585
  • Make it easier to use the auto-configured EntityManagerFactoryBuilder with Hibernate-specific properties #15318
  • Perform failure analysis when a unique CacheManager bean cannot be found #13348
  • Provide a callback for customising Freemarker variables #8965
  • Add support for enum default values in configuration processor #7562

🐞 Bug Fixes

  • When using WebFlux, server.error.include-binding-errors=ALWAYS no longer has an effect when the BindingResult exception is the cause of a ResponseStatusException #41988
  • PropertiesLauncher does not respect classpath.idx when adding jars in BOOT-INF/lib to the classpath #41971
  • Web extension for SBOM endpoint isn't available under /cloudfoundryapplication #41891
  • Launcher's ClassLoader is no longer parallel capable #41874
  • spring-boot-testcontainers causes unwanted container initialization during AOT processing #41860
  • DynamicPropertyRegistry in @Bean-method fails with spring-boot-testcontainers dependency in classpath (3.4.0-M1) #41839
  • ReactiveElasticsearchRepositoriesAutoConfiguration should back off when Reactor is not on the classpath #41681
  • mvn spring-boot:build-image fails when 'classifier' is set to non-default value #41662
  • Spring Boot Maven plugin AOT cannot handle Maven modules with module-info.java #41648
  • Docker publishRegistry in Maven plugin configuration is validated when publish option is false #41642
  • Some @ControllerEndpoint and @RestControllerEndpoint infrastructure remains undeprecated #41620
  • Using Gradle's new file permission API is implemented in a way that prevents removal of the old API #41608
  • Constructor binding of EnumMap fails due to missing key type #41564
  • @ConditionalOnBean matches beans that are not autowire candidates resulting in UnsatisfiedDependencyException when an attempt is made to inject the bean #41526
  • Configuration properties enabled in a child context are ignored if an ancestor context has already enabled the properties #41487

📔 Documentation

  • Release type conditionals are not working in documentation #41994
  • Improve documented logging property descriptions and default values #41990
  • Explain that enabling virtual threads disables traditional thread pools #41977
  • Harmonize code sample for MyUserHandler in reference documentation #41950
  • Document when environment variable property mapping applies #41946
  • Javadoc of slice test annotations should describe more accurately which components are considered #41936
  • Fix duplicate words #41921
  • Correct grammar in 'Running your Application with Maven' #41869
  • Document the need to explicitly reset mock servers when using mock server customizers directly #41850
  • Document more clearly that username and password are not used when spring.data.redis.url is set #41749
  • Fix typo in Grafana Connection Details #41705
  • Document that spring-boot:repackage should not be run from the command-line #41696
  • Pulsar configuration does not have default value for several entries in the metadata #41684
  • management.otlp.metrics.export.aggregation-temporality does not have a default value in the metadata #41677
  • server.error.include-path does not have a default value in the metadata #41673
  • management.newrelic.metrics.export.client-provider-type does not have a default value in the metadata #41671
  • The effect upon Actuator of defining your own SecurityFilterChain is documented inconsistently #41639
  • Update link to documentation for log4j-spring-boot #41623
  • Add hint for new dependencies required for Flyway #41595
  • Fix link to Flyway reference documentation #41594
  • Document configuration property binding's support for using @Name to customize a property name #41586
  • Document unsupported configuration properties in Freemarker WebFlux [#11199](https:/...
Read more

v3.3.3

22 Aug 18:29
Compare
Choose a tag to compare

⭐ New Features

  • Add TWENTY_THREE to JavaVersion enum #41716

🐞 Bug Fixes

  • Extending DefaultErrorAttributes and overriding getErrorAttributes() gets called twice #41995
  • When using WebFlux, server.error.include-binding-errors=ALWAYS no longer has an effect when the BindingResult exception is the cause of a ResponseStatusException #41987
  • PropertiesLauncher does not respect classpath.idx when adding jars in BOOT-INF/lib to the classpath #41970
  • Web extension for SBOM endpoint isn't available under /cloudfoundryapplication #41890
  • Launcher's ClassLoader is no longer parallel capable #41873
  • spring-boot-testcontainers causes unwanted container initialization during AOT processing #41859
  • ReactiveElasticsearchRepositoriesAutoConfiguration should back off when Reactor is not on the classpath #41678
  • mvn spring-boot:build-image fails when 'classifier' is set to non-default value #41661
  • Spring Boot Maven plugin AOT cannot handle Maven modules with module-info.java #41647
  • Docker publishRegistry in Maven plugin configuration is validated when publish option is false #41641
  • Using Gradle's new file permission API is implemented in a way that prevents removal of the old API #41607
  • Some @ControllerEndpoint and @RestControllerEndpoint infrastructure remains undeprecated #41596
  • Constructor binding of EnumMap fails due to missing key type #41563

📔 Documentation

  • Improve documented logging property descriptions and default values #41989
  • Explain that enabling virtual threads disables traditional thread pools #41976
  • Harmonize code sample for MyUserHandler in reference documentation #41949
  • Document when environment variable property mapping applies #41945
  • Javadoc of slice test annotations should describe more accurately which components are considered #41935
  • Fix duplicate words #41920
  • Document the need to explicitly reset mock servers when using mock server customizers directly #41849
  • Correct grammar in 'Running your Application with Maven' #41840
  • Document more clearly that username and password are not used when spring.data.redis.url is set #41748
  • Pulsar configuration does not have default value for several entries in the metadata #41683
  • management.otlp.metrics.export.aggregation-temporality does not have a default value in the metadata #41676
  • management.newrelic.metrics.export.client-provider-type does not have a default value in the metadata #41670
  • server.error.include-path does not have a default value in the metadata #41667
  • The effect upon Actuator of defining your own SecurityFilterChain is documented inconsistently #41638
  • "Use Spring Data repositories" How-to incorrectly refers to Repository annotations #41628
  • "Use Spring Data repositories" How-to incorrectly refers to Repository annotations #41627
  • Update link to documentation for log4j-spring-boot #41622
  • Fix link to Flyway reference documentation #41593
  • Document configuration property binding's support for using @Name to customize a property name #41585
  • Add hint for new dependencies required for Flyway #41574
  • Document that spring-boot:repackage should not be run from the command-line #22317

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 6.1.3 #41782
  • Upgrade to Awaitility 4.2.2 #41707
  • Upgrade to Byte Buddy 1.14.19 #41886
  • Upgrade to Couchbase Client 3.6.3 #41967
  • Upgrade to CycloneDX Maven Plugin 2.8.1 #41783
  • Upgrade to Infinispan 15.0.7.Final #41784
  • Upgrade to Jakarta Servlet JSP JSTL 3.0.1 #41845
  • Upgrade to Jersey 3.1.8 #41785
  • Upgrade to Jetty 12.0.12 #41828
  • Upgrade to Jetty Reactive HTTPClient 4.0.6 #41786
  • Upgrade to jOOQ 3.19.11 #41846
  • Upgrade to Kotlin 1.9.25 #41787
  • Upgrade to Logback 1.5.7 #41887
  • Upgrade to Maven Deploy Plugin 3.1.3 #41942
  • Upgrade to Maven Install Plugin 3.1.3 #41943
  • Upgrade to Micrometer 1.13.3 #41733
  • Upgrade to Micrometer Tracing 1.3.3 #41734
  • Upgrade to Neo4j Java Driver 5.23.0 #41743
  • Upgrade to Netty 4.1.112.Final #41788
  • Upgrade to Pulsar 3.2.4 #41789
  • Upgrade to Pulsar Reactive 0.5.7 #41888
  • Upgrade to Reactor Bom 2023.0.9 #41735
  • Upgrade to RxJava3 3.1.9 #41847
  • Upgrade to SLF4J 2.0.16 #41790
  • Upgrade to Spring AMQP 3.1.7 #41953
  • Upgrade to Spring Authorization Server 1.3.2 #41736
  • Upgrade to Spring Data Bom 2024.0.3 #41737
  • Upgrade to Spring Framework 6.1.12 #41738
  • Upgrade to Spring HATEOAS 2.3.2 #41889
  • Upgrade to Spring Integration 6.3.3 #41974
  • Upgrade to Spring Kafka 3.2.3 #41954
  • Upgrade to Spring LDAP 3.2.6 #41739
  • Upgrade to Spring Pulsar 1.1.3 #41740
  • Upgrade to Spring Retry 2.0.8 #41944
  • Upgrade to Spring Security 6.3.3 #41985
  • Upgrade to Spring Session 3.3.2 #41742
  • Upgrade to Tomcat 10.1.28 #41791
  • Upgrade to Yasson 3.0.4 #41792

❤️ Contributors

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

@PiyalAhmed, @Rajin9601, @cms04, @dreis2211, @eddumelendez, @hyunmin0317, @ivamly, @jmewes, @jxblum, @lamtrinhdev, @ngocnhan-tran1996, @quaff, and @ritzykey

v3.2.9

22 Aug 15:48
Compare
Choose a tag to compare

⭐ New Features

  • Add TWENTY_THREE to JavaVersion enum #41710

🐞 Bug Fixes

  • When using WebFlux, server.error.include-binding-errors=ALWAYS no longer has an effect when the BindingResult exception is the cause of a ResponseStatusException #41984
  • spring-boot-testcontainers causes unwanted container initialization during AOT processing #41838
  • Extending DefaultErrorAttributes and overriding getErrorAttributes() gets called twice #41732
  • PropertiesLauncher does not respect classpath.idx when adding jars in BOOT-INF/lib to the classpath #41719
  • ReactiveElasticsearchRepositoriesAutoConfiguration should back off when Reactor is not on the classpath #41672
  • Launcher's ClassLoader is no longer parallel capable #41665
  • Using Gradle's new file permission API is implemented in a way that prevents removal of the old API #41599
  • Constructor binding of EnumMap fails due to missing key type #41550
  • Spring Boot Maven plugin AOT cannot handle Maven modules with module-info.java #33383
  • Docker publishRegistry in Maven plugin configuration is validated when publish option is false #29756
  • mvn spring-boot:build-image fails when 'classifier' is set to non-default value #26721

📔 Documentation

  • Release type conditionals are not working in documentation #41993
  • Harmonize code sample for MyUserHandler in reference documentation #41948
  • Explain that enabling virtual threads disables traditional thread pools #41937
  • Improve documented logging property descriptions and default values #41933
  • Fix duplicate words #41916
  • Javadoc of slice test annotations should describe more accurately which components are considered #41914
  • Document when environment variable property mapping applies #41877
  • Correct grammar in 'Running your Application with Maven' #41868
  • Document the need to explicitly reset mock servers when using mock server customizers directly #41848
  • Pulsar configuration does not have default value for several entries in the metadata #41682
  • management.otlp.metrics.export.aggregation-temporality does not have a default value in the metadata #41674
  • management.newrelic.metrics.export.client-provider-type does not have a default value in the metadata #41666
  • "Use Spring Data repositories" How-to incorrectly refers to Repository annotations #41625
  • Update link to documentation for log4j-spring-boot #41612
  • Fix link to Flyway reference documentation #41591
  • Document configuration property binding's support for using @Name to customize a property name #41577
  • The effect upon Actuator of defining your own SecurityFilterChain is documented inconsistently #41569
  • Document more clearly that username and password are not used when spring.data.redis.url is set #41231

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 5.18.5 #41764
  • Upgrade to Awaitility 4.2.2 #41706
  • Upgrade to Byte Buddy 1.14.19 #41881
  • Upgrade to Dropwizard Metrics 4.2.27 #41938
  • Upgrade to Hazelcast 5.3.8 #41765
  • Upgrade to Hibernate 6.4.10.Final #41766
  • Upgrade to Infinispan 14.0.30.Final #41767
  • Upgrade to Jakarta Servlet JSP JSTL 3.0.1 #41842
  • Upgrade to Jersey 3.1.8 #41768
  • Upgrade to Jetty 12.0.12 #41770
  • Upgrade to Jetty Reactive HTTPClient 4.0.6 #41769
  • Upgrade to jOOQ 3.18.18 #41843
  • Upgrade to Kotlin 1.9.25 #41771
  • Upgrade to Maven Deploy Plugin 3.1.3 #41939
  • Upgrade to Maven Install Plugin 3.1.3 #41940
  • Upgrade to Micrometer 1.12.9 #41720
  • Upgrade to Micrometer Tracing 1.2.9 #41721
  • Upgrade to MongoDB 4.11.3 #41772
  • Upgrade to Neo4j Java Driver 5.23.0 #41730
  • Upgrade to Netty 4.1.112.Final #41773
  • Upgrade to Pulsar Reactive 0.5.7 #41882
  • Upgrade to Reactor Bom 2023.0.9 #41722
  • Upgrade to RxJava3 3.1.9 #41844
  • Upgrade to SLF4J 2.0.16 #41774
  • Upgrade to Spring AMQP 3.1.7 #41951
  • Upgrade to Spring Authorization Server 1.2.6 #41723
  • Upgrade to Spring Data Bom 2023.1.9 #41724
  • Upgrade to Spring Framework 6.1.12 #41725
  • Upgrade to Spring HATEOAS 2.2.4 #41883
  • Upgrade to Spring Integration 6.2.8 #41973
  • Upgrade to Spring Kafka 3.1.8 #41952
  • Upgrade to Spring LDAP 3.2.6 #41726
  • Upgrade to Spring Pulsar 1.0.9 #41727
  • Upgrade to Spring Retry 2.0.8 #41941
  • Upgrade to Spring Security 6.2.6 #41728
  • Upgrade to Spring Session 3.2.5 #41729
  • Upgrade to Tomcat 10.1.28 #41775
  • Upgrade to Yasson 3.0.4 #41776

❤️ Contributors

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

@PiyalAhmed, @Rajin9601, @dreis2211, @hyunmin0317, @ivamly, @lamtrinhdev, @ngocnhan-tran1996, @quaff, and @ritzykey

v3.4.0-M1

18 Jul 20:30
Compare
Choose a tag to compare
v3.4.0-M1 Pre-release
Pre-release

⭐ New Features

  • Allow ContainerConnectionDetailsFactory to match on one of multiple different connection names #41543
  • Add support for Postgres trust host auth method with Docker Compose #41511
  • Add utility class to help write JSON #41489
  • Deprecate LOGGED_APPLICATION_NAME log property in favor of APPLICATION_NAME with the verbatim value #41444
  • Remove APIs that were deprecated for removal in 3.4 #41435
  • Register Base64ProtocolResolver as protocol resolver by default #41433
  • Deprecate spring.gson.lenient in favor of a new spring.gson.strictness property #41430
  • Support untrusted CNB builders when building images #41352
  • Group Kafka back-off properties #41335
  • Support service connections for redis/redis-stack and redis/redis-stack-server #41327
  • Publish an AuditEvent on logout #41278
  • Add memory info to ProcessInfo #41262
  • Add test auto-configuration for MockMvcTester #41198
  • Raise the minimum supported version of Gradle to 7.6.4+ or 8.3+ #41180
  • Auto-configure SpringLiquibase with Liquibase Customizer #40986
  • Provide auto-configurations for OpenTelemetry Logs #40961
  • Make it easier to provide a custom RequestToViewNameTranslator #40874
  • Use Paketo tiny builder by default for JVM and native apps #40859
  • Add support for org.testcontainers.kafka.KafkaContainer #40695
  • Add a customizer for ProxyConnectionFactory.Builder from r2dbc-proxy #40555
  • Add a customizer for Lettuce's ClientOptions #40484
  • Align cascade behavior of @Validated @ConfigurationProperties with the bean validation spec #40345
  • Add support for webjars-locator-lite #40146
  • Add SslBundle support to MailSender #40037
  • Add standardized property to distinguish a group of applications #39957
  • Deprecate @MockBean and @SpyBean #39864
  • Use native connection factory with JMS message listener containers #39816
  • Provide a callback that enables customization of the properties used to create the JCache CacheManager #39350
  • Allow NestedConfigurationProperty on getters #38844
  • Add property to specify Docker Compose startup and shutdown flags #38763
  • Disable trace exporting via properties #34620
  • Support structured logging as alternative to pattern layout logging #5479

🐞 Bug Fixes

  • Spring Authorization Server now defaults multipleIssuersAllowed to false and it cannot be easily re-enabled #41544
  • ServiceConnection does not work with @DataLdapTest #41525
  • No configuration property for defaultTimeout setting that was introduced in Spring Integration 6.2 #41522
  • NPE during auto-configuration in OnClassCondition.resolveOutcomesThreaded because firstHalf is null #41505
  • @NestedConfigurationProperty doesn't work on records #41317
  • PropertiesMigrationListener wrongly reports property as deprecated #41253
  • TestcontainersLifecycleBeanPostProcessor does not work correctly with scoped beans #41239
  • Error message can be misleading if spring.config.import fails to resolve #41237
  • build-image failures after docker desktop update with 'Illegal char <:> at index 5: npipe:////' #41235
  • When using Jetty, filters, listeners, and servlets are not initialized with the same thread context classloader #41226
  • DirtiesContext used with Webflux, a random port and multiple contexts causes multiple contexts to misbehave #41222
  • NoSuchMethodException on org.apache.activemq.ActiveMQConnectionFactory.<init> when using spring-boot-starter-activemq in a native image #41215
  • Failure during test AOT processing when multiple merged context configurations result in the Logback model being written multiple times #36997

📔 Documentation

  • Fix documentation links in the README #41546
  • Document the types to which each spring.mvc.format and spring.webflux.format property applies #41519
  • Document that logging.file.name and logging.file.path cannot be used together #41517
  • Refine CDS how-to guide #41467
  • Fix typos in javadoc of BootstrapContext #41449
  • CDS link in "Efficient Deployments" documentation is broken #41322
  • Update Kotlin DSL examples that configure the environment of bootBuildImage to be additive #41271
  • Document tracing support for RestClient #41193
  • Documentation wrongly states that zipkin-sender-urlconnection is needed #41190

🔨 Dependency Upgrades

  • Upgrade to Artemis 2.35.0 #41400
  • Upgrade to AspectJ 1.9.22.1 #41475
  • Upgrade to AssertJ 3.26.3 #41437
  • Upgrade to Build Helper Maven Plugin 3.6.0 #41402
  • Upgrade to Byte Buddy 1.14.18 #41385
  • Upgrade to Commons Codec 1.17.1 #41528
  • Upgrade to Crac 1.5.0 #41404
  • Upgrade to Dependency Management Plugin 1.1.6 #41386
  • Upgrade to Flyway 10.15.2 #41387
  • Upgrade to Git Commit ID Maven Plugin 9.0.1 #41406
  • Upgrade to GraphQL Java 22.1 #41341
  • Upgrade to Groovy 4.0.22 #41388
  • Upgrade to Gson 2.11.0 #41407
  • Upgrade to H2 2.3.230 #41538
  • Upgrade to HtmlUnit 4.3.0 #41408
  • Upgrade to HttpCore5 5.2.5 #41389
  • Upgrade to Jackson Bom 2.17.2 #41390
  • Upgrade to JBoss Logging 3.6.0.Final #41409
  • Upgrade to Jetty 12.0.11 #41391
  • Upgrade to JsonAssert 1.5.3 #41392
  • Upgrade to JUnit Jupiter 5.10.3 #41393
  • Upgrade to Kafka 3.7.1 #41394
  • Upgrade to Liquibase 4.28.0 #41194
  • Upgrad...
Read more