v3.4.0-RC1
Pre-release
Pre-release
spring-builds
released this
26 Oct 05:25
·
743 commits
to main
since this 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 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