Java 近期新闻:NetBeans 17、Spring 及 Tomcat 多项更新、JDk 20 版本 GraalVM
微软资深程序经理 George Adams 于上周 提出 JEP 草案 8303167:弃用 Windows x86-32 端口。该功能 JEP 提议将 Windows x86-32 端口弃用,并在未来的版本发布中将其移除。虚拟线程(第二预览版) 无意在 32 位平台中实施 JEP 436,移除对该端口支持将加快 OpenJDK 开发人员对新功能的开发速度。
JDK 20 仍处于 候选发布版本 阶段,预计将于 2023 年 3 月 21 日进行 GA 发布。Build 36 仍基于当前 JDK 20 的 早期访问版本 构建。关于该版本更多细节请参见 发布说明.
JDK 21 早期访问版本 的 Build 11 已于上周可用,提供对 Build 10 的 更新 及多项问题 修复。关于该版本更多细节请参见 发布说明。
关于 JDK 20 和 JDK 21,欢迎开发者至 Java 问题库 中反馈问题。
首个基于 JDK 20 的 GraalVM 开发者构建目前已对 Java 社区 开放使用。关于更多细节请参见 发布说明,欢迎开发者们前往 新手指引 页面。
Oracle 创新实验室同样 宣布 即将发布的 GraalVM 23.0 版本将支持 HotSpot 垃圾回收算法,意图在 HotSpot 虚拟机中添加所需的 Z 垃圾回收(ZGC)屏障及性能优化。
GlassFish 7.0.2 现已 发布,提供对 Eclipse 项目的集成,包括:Jersey 3.1.1、Mojarra 4.0.1、Eclipselink 4.0.1-RC2、WaSP 3.2.0、Tyrus 2.1.3,及 Angus 2.0.1。其他优化项包括:修复程序代码请求 ClassLoader 下目录时导致的故障,对 GlassFishLogManagerLifeCycleTest 类提供稳定性;退出时显式移除临时目录;对 glassfish-external-tck-pages-tags
artifact 提供技术兼容套件(TCK)运行器。
本周内 Spring 甚是忙碌,针对其下各类 项目 提供了多项点发布及里程碑发布。
Spring Boot 3.0.3 现已 发布,针对文档及依赖升级提供多项问题修复,包括:Spring Data 2022.0.2、Spring 安全 6.0.2、Spring Batch 5.0.1、Micrometer 1.10.4、Netty 4.1.89.Final、Hibernate 6.1.7.Final,以及 Glassfish JAXB 4.0.2。关于该版本更多细节请参见 发布说明。
Spring Boot 2.7.9 版本的 发布 同样提供针对文档及依赖升级提供多项问题修复,包括:Spring Data 2021.2.8、Spring Security 5.7.7、Spring Batch 4.3.8、Micrometer 1.9.8、Netty 4.1.89.Final、Hibernate 5.6.15.Final,以及 Glassfish JAXB 2.3.8。关于该版本更多细节请参见 发布说明。
展望版本 3.1.0,Spring Boot 的 首个里程碑版本 现已发布。该版本中提供问题修复、优化文档、依赖升级,以及全新功能,包括:移除对 Apache HttpClient 4 的依赖管理,后者现已迁移至 HttpClient 5;为 Apache Tomcat 及 Jetty 添加最大 HTTP 响应头大小配置;支持 Spring 对 Apache Kafka 的 ContainerCustomizer 接口;自动配置默认 ConcurrentKafkaListenerContainerFactory 类中 BatchInterceptor 接口。关于该版本更多细节请参见 发布说明。
Spring Batch 的 5.0.1 及 4.3.8 版本现已 发布,提供问题修复、依赖升级,文档相关优化及对应的依赖升级版本包括:Spring 框架 6.0.5 及对应依赖版本 5.3.25;Spring Retry 2.0.0 及对应依赖版本 1.3.4;Spring AMQP 3.0.2 及对应依赖版本 2.3.16;Spring Data 3.0.2 及对应依赖版本 2.7.8;Spring Integration 6.0.3 及对应依赖版本 5.5.16;Micrometer 1.10.4 及对应依赖版本 1.9.8。关于该版本更多细节请参见 版本 5.0.1 及 版本 4.3.8 的发布说明。
Spring Data 版本 2023.0.0-M2、2022.0.2,以及 2021.2.8 现已 发布,提供问题修复及对应的依赖版本升级,包括 Spring Data Commons 3.1.0-M2、3.0.2 及 2.7.8; Spring Data MongoDB 4.1.0-M2、4.0.2 及 3.4.8; Spring Data Elasticsearch 5.1.0-M2、5.0.2 及 4.4.8。Spring Data 版本 2023.0.0-M1 同样于上周发布,但发布工具出现故障,Spring Data 2023.0.0-M2(代号 Ullman)解决了该问题。Spring Data 版本 2022.0.2 及 2021.2.8 可分别被 Spring Boot 3.0.3 及 2.7.9 使用。
Spring Security 版本 6.0.2、5.8.2 及 5.7.7 现已 发布,提供问题修复及依赖升级。版本 6.0.2 中新功能包括:重新启用对 R2dbcReactiveOAuth2AuthorizedClientService 类的测试;CsrfTokenRequestAttributeHandler 类的文档中应写明 XorCsrfTokenRequestAttributeHandler 类
为默认使用;版本 5.8.2 中新功能包括:新增用于验证由 XorCsrfTokenRequestAttributeHandler
类掩码 CSRF 令牌的 XorCsrfChannelInterceptor 类;文档中注明 @EnableWebFluxSecurity 注解将在版本 6.0 中需要 @Configuration
注解。关于该版本更多细节请参见 版本 6.0.2、版本 5.8.2、版本 5.7.7 的发布说明。
Spring Cloud 版本 2021.0.6 的 发布 提供对子项目的升级,包括:Spring Cloud Config 3.1.5、Spring Cloud Kubernetes 2.1.5、Spring Cloud Build 3.1.5、Spring Cloud OpenFeign 3.1.5,以及 Spring Cloud Function 3.2.8。关于该版本更多细节请参见 发布说明。
Spring for GraphQL 版本 1.1.2 现已 发布,提供问题修复、文档优化、依赖升级,以及全新功能,包括:允许通过 ExecutionGraphQlServiceTester 接口对 ExecutionInput 类进行配置;ContextDataFetcherDecorator
在“subscription”类型重命名后忽略订阅;支持方法参数中的 @Validated
。关于该版本更多细节请参见 发布说明。
Spring 授权服务器 版本 1.0.1 及 0.4.1 现已 发布,提供问题修复及对应依赖升级,包括:Spring 框架 6.0.5 及 5.3.25;Spring Security 6.0.2 及 5.8.2;JUnit Jupiter 5.9.2;Jackson 2.14.2。版本 0.4.1 中提供的新功能包含对 continuous-integration-workflow.yml
文件的更新,使用 环境文件 而非已废弃的 set-output
命令。关于该版本更多细节请参见 版本 1.0.1 及 版本 0.4.1 的发布说明。
展望版本 1.1.0,Spring 授权服务器的 首个里程碑版本 目前也已发布,提供对 OpenID Connect 1.0 登出端点的支持。关于该版本更多细节请参见 发布说明。
Spring Modulith 版本 0.4.0 现已 发布,提供问题修复、依赖升级,以及全新功能,包括:支持集成测试应用程序模块场景,尤其针对使用 @ApplicationEventListener
注解的情况;更为详尽的 Modulith 启动时未完成事件发布日志查询;在文档生成时使用系统名作为容器名称。关于该版本更多细节请参见 发布说明。
版本 0.4.1 在 发布 中解决了 spring-modulith-runtime
模块中导致网页应用在 Modulith 关闭时挂起的小问题,同时也将 jMolecules 的依赖版本升级至 2022.2.3。关于该版本的更多细节请参见 发布说明。
Helidon 4.0.0 第五 Alpha 版本 已发布,变更包括:支持中断 HTTP/2 连接,从而更为高效关闭服务器;可通过 OciMetricsSupport.Builder 类中新增的 enabled()
方法,注册 OciMetricsSupport 类的示例;更新 BodyPart 接口,现可返回一个 Optional 实例而非可空字符串。
Apache 软件基金会分别提供了 NetBeans、Tomcat 及 Log4j 2 的版本发布。
Apache NetBeans 17 的 发布 中包含以下变更:将大文件告警从 1MB 提高至 5MB;提供 ANTLR4 词库的初始化实现;依赖升级至 ATNLR4 运行时 4.11.1;支持 Jakarta EE 10。关于该版本更多细节可参见 发布说明。
Apache Tomcat 的版本 11.0.0 即 第三里程碑版本(Alpha) 发布中,提供了以下重要变更:将可支持最低 Java 版本提高至 JDK 17;移除对安全管理模式下启动 Tomcat 的支持;移除对 JAX-RPC 的支持,其在 Jakarta EE 9 中已被从 Jakarta EE 平台中移除。需要注意的是,随着 Jakarta EE 11 的发展,对最低 Java 版本的支持很可能会被提高至 JDK 21。关于该版本的更多细节请参见 发布说明。
Apache Tomcat 10.1.6 版本 发布,主要变更包括:改用 ServiceLoader 机制加载 Tomcat 所使用的自定义 URL 协议处理;更新 Apache Tomcat 原生库打包版本,以捕获 Windows 使用 OpenSSL 3.0.8 所构建的二进制文件;将 RFC 6598 所指定的,IANA 为共享地址空间预留 IPv4 前缀,即共享 IP 地址空间(100.64.0.0/100.0.0.10),新增至 RemoteIpValve 及 RemoteIpFilter 类的受信任代理列表中;在 Tomcat 启动时,记录每个配置的 TLS 证书基本信息;对示例网页应用访问默认限制为本地 localhost。关于该版本更多信息请参见 发布说明。
Apache Tomcat 的版本 9.0.72 及版本 8.5.86 主要提供以下变更:新增错误报告变量,允许重新定向至外部 Web 服务器,或从外部 Web 服务器代理;将 RFC 6598 所指定的,IANA 为共享地址空间预留 IPv4 前缀,即共享 IP 地址空间(100.64.0.0/100.0.0.10),新增至 RemoteIpValve 及 RemoteIpFilter 类的受信任代理列表中;在 Tomcat 启动时,记录每个配置的 TLS 证书基本信息;对示例网页应用访问默认限制为本地 localhost。关于该版本更多细节请参见 版本 9.0.72 及 版本 8.0.86 的发布说明。
由于 SLF4J 绑定中的兼容性问题,Apache Log4j 版本 2.20.0 的 发布 对 Log4j 提供两个版本的 SLF4J 适配器。其他新功能包括:新增对 RollingFileAppender
日期格式的时区支持;新增 KafkaAppender
中 ProducerRecord
的 LogEvent
时间戳;新增 LogBuilder 接口中 logAndGet()
方法,用于模拟 Logger 方法中 traceEntry()
方法。
JHipster 团队现已 发布 JHipster Lite 版本 0.28.0,提供优化如:支持 Cassandra 模式迁移;重构 CustomClaimConverter
类,以强化安全性;Spring Boot 依赖升级至 3.0.3。关于该版本的更多细节请参见 发布说明。
该团队同时 宣布,在即将发布的 JHipster 8.0 中,Consul 将被用于 默认服务发现机制,JHipster 注册表 将因此被弃用。
JobRunr 版本 6.1.0 发布,主要提供以下优化:更简单地对 JobContext 类的模仿;通过 Quarkus 扩展和 JobRunr 提供对 AWS DocumentDB 的支持;优化 JobServerFilter 接口的功能性。关于该版本的更多细节可参见 发布说明。
JBang 版本 0.104.0 的 发布 提供了:默认安装 JDK 17,但仍继续支持最低版本 JDK 8;对 Java 模块的实验性支持;提供命令行下载远程文件功能,取代原先文件参考。
Gradle 首个补丁版本 7.6.1,修复了以下问题,如:在平台中无法通过 Kotlin DSL 以新依赖块的形式新增依赖;使用 -p
选项会提高内存使用率;在 Gradle 文档中完全移除指向“安全凭证”的引用,会导致正确凭证被记录于配置缓存项的风险。关于该版本的更多细节可参见 发布说明。
第四次 Gradle 补丁版本 6.9.4 发布,修复问题包括:依赖关系图中等价排除可能导致不必要的图变化;受信任的 Gnu 隐私保护加密(GPG)密钥应只接收 160 位指纹。关于该版本更多细节请参见 发布说明。
原文链接:
Java News Roundup: NetBeans 17, Multiple Spring and Tomcat Updates, GraalVM Builds for JDK 20(https://www.infoq.com/news/2023/02/java-news-roundup-feb20-2023/)
相关阅读:
深入 OpenTelemetry 源代码:Java 探针的实现和二次开发 (https://www.infoq.cn/article/sLiRwa72fHzWvzC2HmKf)
Java 近期新闻:Gradle 8.0、Maven、Payara 平台、Piranha、Spring Framework、MyFaces 和 Piranha
声明:本文为 InfoQ 翻译,未经许可禁止转载。
点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!
97.5%的技术老大对涨薪这事儿比较乐观|InfoQ 研究中心联合TGO 鲲鹏会发布《中国科技领导者画像研究报告 2023》
腾讯QQ空间技术总监、47岁T13级前端专家被裁;GPT-4下周发布,支持视频、更具颠覆性;我国拟组建国家数据局 | Q资讯
微信扫码关注该文公众号作者