github spring-projects/spring-boot v3.4.0-RC1

pre-release9 hours ago

⭐ 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 javadoc describing when @ConditionalOn(Missing)Bean will infer the type to match #42506
  • Document how to handle MANIFEST.MF in native image with Maven #42477
  • Fix links to Micrometer reference doc #42473
  • Polish documentation #42455
  • Polish javadoc of TestImage for consistency #42426
  • Add Javadoc since for PrometheusScrapeEndpoint(PrometheusRegistry, Properties) #42419
  • Remove note about graceful shutdown with Tomcat requiring 9.0.33 or later as we now require 10.1.x #42383
  • Document support for Java 23 #42381

🔨 Dependency Upgrades

  • Prohibit upgrades to Undertow 2.3.18.Final #42769
  • Upgrade to Byte Buddy 1.15.7 #42867
  • Upgrade to Couchbase Client 3.7.4 #42647
  • Upgrade to CycloneDX Maven Plugin 2.9.0 #42648
  • Upgrade to Elasticsearch Client 8.15.3 #42760
  • Upgrade to Flyway 10.20.0 #42761
  • Upgrade to GraphQL Java 22.3 #42842
  • Upgrade to HtmlUnit 4.5.0 #42820
  • Upgrade to HttpClient5 5.4 #42675
  • Upgrade to HttpCore5 5.3.1 #42843
  • Upgrade to Infinispan 15.0.10.Final #42650
  • Upgrade to Jackson 2.18.0 #42480
  • Upgrade to Jaybird 5.0.6.java11 #42762
  • Upgrade to Jedis 5.2.0 #42651
  • Upgrade to Jersey 3.1.9 #42652
  • Upgrade to Jetty 12.0.14 #42654
  • Upgrade to Jetty Reactive HTTPClient 4.0.8 #42653
  • Upgrade to jOOQ 3.19.14 #42821
  • Upgrade to JUnit Jupiter 5.11.3 #42822
  • Upgrade to Log4j2 2.24.1 #42657
  • Upgrade to Logback 1.5.11 #42763
  • Upgrade to Maven Failsafe Plugin 3.5.1 #42659
  • Upgrade to Maven Help Plugin 3.5.1 #42823
  • Upgrade to Maven Invoker Plugin 3.8.1 #42824
  • Upgrade to Maven Javadoc Plugin 3.10.1 #42401
  • Upgrade to Maven Surefire Plugin 3.5.1 #42660
  • Upgrade to Micrometer 1.14.0-RC1 #42555
  • Upgrade to Micrometer Tracing 1.4.0-RC1 #42556
  • Upgrade to Mockito 5.14.2 #42764
  • Upgrade to MongoDB 5.2.0 #42662
  • Upgrade to MySQL 9.1.0 #42765
  • Upgrade to Neo4j Java Driver 5.25.0 #42570
  • Upgrade to Netty 4.1.114.Final #42663
  • Upgrade to OpenTelemetry 1.43.0 #42664
  • Upgrade to Pooled JMS 3.1.7 #42665
  • Upgrade to Prometheus Client 1.3.2 #42825
  • Upgrade to Pulsar 3.3.2 #42666
  • Upgrade to Pulsar Reactive 0.5.8 #42826
  • Upgrade to R2DBC Pool 1.0.2.RELEASE #42766
  • Upgrade to R2DBC Postgresql 1.0.7.RELEASE #42767
  • Upgrade to Rabbit Stream Client 0.18.0 #42768
  • Upgrade to Reactor Bom 2024.0.0-RC1 #42557
  • Upgrade to Selenium 4.25.0 #42668
  • Upgrade to Selenium HtmlUnit 4.25.0 #42827
  • Upgrade to Spring AMQP 3.2.0-RC1 #42558
  • Upgrade to Spring Authorization Server 1.4.0-RC1 #42559
  • Upgrade to Spring Batch 5.2.0-RC1 #42560
  • Upgrade to Spring Data Bom 2024.1.0-RC1 #42561
  • Upgrade to Spring Framework 6.2.0-RC3 #42833
  • Upgrade to Spring GraphQL 1.3.3 #42844
  • Upgrade to Spring HATEOAS 2.4.0-RC2 #42572
  • Upgrade to Spring Integration 6.4.0-RC1 #42563
  • Upgrade to Spring Kafka 3.3.0-RC1 #42564
  • Upgrade to Spring LDAP 3.2.7 #42565
  • Upgrade to Spring Pulsar 1.2.0-RC1 #42566
  • Upgrade to Spring RESTDocs 3.0.2 #42745
  • Upgrade to Spring Retry 2.0.10 #42567
  • Upgrade to Spring Security 6.4.0-RC1 #42568
  • Upgrade to Spring Session 3.4.0-RC1 #42692
  • Upgrade to SQLite JDBC 3.47.0.0 #42846
  • Upgrade to Testcontainers 1.20.3 #42847
  • Upgrade to Tomcat 10.1.31 #42671

❤️ Contributors

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

@1328032567, @IMWoo94, @anthonydahanne, @arefbehboudi, @choi-hyeseong, @eddumelendez, @gkdis6, @izeye, @jeonghyeon00, @mmoayyed, @mturbe, @ngocnhan-tran1996, @nosan, @qingbozhang, @quaff, and @woosung1223

Don't miss a new spring-boot release

NewReleases is sending notifications on new releases.