Spring Boot v3.3.3 发布了。
⭐ 新特性 {#-新特性}
- 在
JavaVersion
枚举中添加TWENTY_THREE
#41716
🐞 Bug 修复 {#-bug-修复}
- 继承
DefaultErrorAttributes
并覆写getErrorAttributes()
会被调用两次 #41995 - 在使用 WebFlux 时,当
ResponseStatusException
的原因是BindingResult
异常时,server.error.include-binding-errors=ALWAYS
不生效 #41987 - 将
BOOT-INF/lib
中的 jar 添加到classpath
时,PropertiesLauncher
不遵循 classpath.idx #41970 /cloudfoundryapplication
下 SBOM 端点的 Web 扩展不可用 #41890- 启动器(Launcher)的
ClassLoader
不再具有并行功能 #41873 - spring-boot-testcontainers 会在 AOT 处理过程中导致不必要的容器初始化 #41859
- 当 Reactor 不在类路径上时,
ReactiveElasticsearchRepositoriesAutoConfiguration
应关闭 #41678 - 当 classifier 设置为非默认值时,
mvn spring-boot:build-image
失败 #41661 - Spring Boot Maven 插件 AOT 无法使用
module-info.java
处理 Maven 模块 #41647 - 当
publish
选项为false
时,会验证 Maven 插件配置中的 Docker publishRegistry #41641 - 使用 Gradle 新的文件权限 API 的方式可以防止删除旧的 API #41607
- 某些
@ControllerEndpoint
和@RestControllerEndpoint
基础架构仍未过时 #41596 - 由于 Key 类型缺失,
EnumMap
的构造函数绑定失败 #41563
📔 文档 {#-文档}
- 改进记录日志属性说明和默认值 #41989
- 解释启用虚拟线程会禁用传统的线程池 #41976
- 统一参考文档中
MyUserHandler
的代码示例 #41949 - 记录环境变量属性映射何时适用 #41945
- 切片测试注释的 Javadoc 应更准确地描述哪些组件被视为组件 #41935
- 修复重复字词 #41920
- 在直接使用 Mock Server 定制器时,需要明确记录重置 Mock Server 的需求 #41849
- 更正 "使用 Maven 运行应用" 中的语法 #41840
- 更清楚地说明在设置
spring.data.redis.url
时不会使用用户名和密码 #41748 - Pulsar 配置没有为元数据中的几个条目设置默认值 #41683
management.otlp.metrics.export.aggregation-temporality
在元数据中没有默认值 #41676- 在元数据中,
manage.newrelic.metrics.export.client-provider-type
没有默认值 #41670 - 在元数据中,
server.error.include-path
没有默认值 #41667 - 定义自己的
SecurityFilterChain
对Actuator
的影响在文档中的描述不一致 #41638 - "使用 Spring Data Repository" 操作方法错误地提到了 Repository 注解 #41628
- "使用 Spring Data Repository" 操作方法错误地提到了 Repository 注解 #41627
- 更新 log4j-spring-boot 文档链接 #41622
- 修复指向 Flyway 参考文档的链接 #41593
- 文件配置属性绑定支持使用
@Name
自定义属性名称 #41585 - 添加 Flyway 所需的新依赖提示 #41574
- 关于不应通过命令行运行
spring-boot:repackage
的文档 #22317
🔨 依赖升级 {#-依赖升级}
- 升级到 ActiveMQ 6.1.3 #41782
- 升级到 Awaitility 4.2.2 #41707
- 升级到 Byte Buddy 1.14.19 #41886
- 升级到 Couchbase Client 3.6.3 #41967
- 升级到 CycloneDX Maven Plugin 2.8.1 #41783
- 升级到 Infinispan 15.0.7.Final #41784
- 升级到 Jakarta Servlet JSP JSTL 3.0.1 #41845
- 升级到 Jersey 3.1.8 #41785
- 升级到 Jetty 12.0.12 #41828
- 升级到 Jetty Reactive HTTPClient 4.0.6 #41786
- 升级到 jOOQ 3.19.11 #41846
- 升级到 Kotlin 1.9.25 #41787
- 升级到 Logback 1.5.7 #41887
- 升级到 Maven Deploy Plugin 3.1.3 #41942
- 升级到 Maven Install Plugin 3.1.3 #41943
- 升级到 Micrometer 1.13.3 #41733
- 升级到 Micrometer Tracing 1.3.3 #41734
- 升级到 Neo4j Java Driver 5.23.0 #41743
- 升级到 Netty 4.1.112.Final #41788
- 升级到 Pulsar 3.2.4 #41789
- 升级到 Pulsar Reactive 0.5.7 #41888
- 升级到 Reactor Bom 2023.0.9 #41735
- 升级到 RxJava3 3.1.9 #41847
- 升级到 SLF4J 2.0.16 #41790
- 升级到 Spring AMQP 3.1.7 #41953
- 升级到 Spring Authorization Server 1.3.2 #41736
- 升级到 Spring Data Bom 2024.0.3 #41737
- 升级到 Spring Framework 6.1.12 #41738
- 升级到 Spring HATEOAS 2.3.2 #41889
- 升级到 Spring Integration 6.3.3 #41974
- 升级到 Spring Kafka 3.2.3 #41954
- 升级到 Spring LDAP 3.2.6 #41739
- 升级到 Spring Pulsar 1.1.3 #41740
- 升级到 Spring Retry 2.0.8 #41944
- 升级到 Spring Security 6.3.3 #41985
- 升级到 Spring Session 3.3.2 #41742
- 升级到 Tomcat 10.1.28 #41791
- 升级到 Yasson 3.0.4 #41792
❤️ 贡献者 {#-贡献者}
感谢所有为此版本做出贡献的人员:
@PiyalAhmed、@Rajin9601、@cms04、@dreis2211、@eddumelendez、@hyunmin0317、@ivamly、@jmewes、@jxblum、@lamtrinhdev、@ngocnhan-tran1996、@quaff 以及 @ritzykey。
更多的细节,可以参考 发布说明。