github spring-projects/spring-boot v3.0.0-M4

latest releases: v3.4.0-RC1, v3.3.5, v3.2.11...
pre-release2 years ago

⭐ New Features

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

🐞 Bug Fixes

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

📔 Documentation

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

🔨 Dependency Upgrades

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

❤️ Contributors

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

Don't miss a new spring-boot release

NewReleases is sending notifications on new releases.