Spring Framework v6.1.11 发布

Spring Framework v6.1.11 正式发布。

⭐ 新特性

  • 在 SpEL 的 ReflectionHelper 中确保 MethodHandlevarargs 组件类型不为 null#33193
  • 在响应过程中出现 Reactor-Netty PrematureCloseException 时,WebClient 异常消息令人困惑 #33127
  • 当发现无效的 factoryBeanObjectType 属性时,在异常中包含 Bean 名称 #33117
  • 在响应式缓存切面使用 Error Handler #33073
  • getTypeForFactoryMethod 应捕获 NoClassDefFoundError 异常#33075

🐞 Bug 修复

  • SpEL 无法使用数组调用 varargs MethodHandle 函数 #33191
  • SpEL 无法调用变量参数为零的 varargs MethodHandle 函数 #33190
  • 嵌套的 Bean 实例 Supplier 调用不会保留先前的工厂方法 #33180
  • DefaultErrorResponseBuilder 未实现 headers(Consumer) #33156
  • 修复对 Set 方法参数的违规适配 #33150
  • 使用 kotlinx-serialization 时,Web Controller 调用无效正文导致结果为 500,而不是 400 #33138
  • "file:." 无法解析为 java.nio.file.Path(而纯 "." 值解析为 classpath root) #33124
  • Mockito mock 错误地初始化为使用 AspectJ 切面的 CGLIB 代理 #33113
  • adaptConstraintViolations=true 时,修复使用代理验证返回值时出现的 ClassCastException 异常 #33105
  • Spring 正则表达式 AOP 与 @Transactional 不兼容 #33095
  • ReactorClientHttpConnector 为每个请求创建新的 HttpClient #33093
  • Trace 和 Span ID 没传播给 RequestBodyAdvice bean #33091
  • 在 Bean Definition 为 null 的情况下,早期的 LocalContainerEntityManagerFactoryBean 初始化失败 #33082
  • 如果 causecauseReactorNettyClientRequest.convertException 应包含原始异常 #33080
  • SpEL 在 Object... varargs 方法中错误地用逗号分割字符串参数 #33013
  • 如果使用字节数组,ProtobufMessageConverter 无法解析 JSON Payload #27408

📔 文档

  • 统一 URI 编码部分的措辞 #33166
  • 记录 ModelMap 不是 WebFlux 支持的参数类型 #33107
  • Spring Framework 文档 “方法注入” 部分中的示例引用了错误的 Bean 名称 #33096
  • 资源写入器(Resource writer)在绕过内容长度(content length)时不考虑 InputStreamResource 的子类 #33089
  • 改进 FreeMarker 支持中有关编码的文档 #33071
  • WebFlux 中验证失败的异常与文档不符 #33061

🔨 依赖升级

  • 升级到 Kotlin 1.9.24 #33177
  • 升级到 Kotlin Serialization 1.6.3 #33175
  • 升级到 Micrometer 1.12.8 #33168
  • 升级到 Reactor 2023.0.8 #33169

❤️ 贡献者

感谢所有为此版本做出贡献的人员:

@TAKETODAY@hunhee98@imvtsl@snussbaumer@zizare

Releases:https://github.com/spring-projects/spring-framework/releases/tag/v6.1.11