OpenJDK
JEP 435(异步堆栈跟踪VM API)于上周从 Draft 8284289 状态提升到 Candidate 状态。这份 HotSpot JEP 提议定义一个经过充分测试的、高效可靠的 API,用于异步收集堆栈跟踪信息,其中包括有关 Java 和本地堆栈帧的信息。
JDK 20
JDK 20 的早期访问构建Build 22于上周发布,它是 Build 21 的升级,修复了各种问题。要了解关于这个构建的更多细节,请查看发布说明。
对于JDK 20,我们鼓励开发者通过Java Bug数据库报告缺陷。
JavaFX 20
JavaFX 20 的早期访问构建Build 6和Build 5正式面向 Java 社区发布。按照设计,JavaFX 应用程序开发人员可以在 JDK 20 早期访问构建上使用 JavaFX 20 构建和测试他们的应用程序。
Generational ZGC
Generational ZGC 的早期访问构建Build 20-genzgc+2-20 也面向 Java 社区发布了,它基于 JDK 20 的一个不完全版本。
Spring Framework
在通往Spring Framework 6.0.0 的道路上,第三个候选版本发布。该版本带来了 22 项 Bug 修复和改进,包括:在@HttpExchange
注解定义的方法中支持@RequestPart
参数;引入SimpleValueStyler
类与ToStringCreator
类搭配使用;为HttpServiceProxyFactory
类的客户端提供 AOT 支持。按照计划,GA 版本将于 2022 年 11 月正式发布,这个候选版本将是这之前的最后一个候选版本。要了解关于这个版本的更多细节,请查看发布说明。
Spring Data 2022.0.0 的第二个候选版本(代号为 Turing)发布。该版本修复了许多 Bug,并通过Micrometer优化了Spring Data MongoDB、Spring Data Redis和Spring Data for Apache Cassandra模块的可观察性。此外,所有的模块都升级到了对应的 RC2 版本。要了解关于这个版本的更多细节,请查看发布说明。
Spring Security的 5.7.5 和 5.6.9 版本发布,修复了以下问题:AuthorizationFilter
类错误地扩展了OncePerRequestFilter
类;作用域映射错误。要了解关于这个版本的更多细节,请查看5.7.5和5.6.9版本的发布说明。
在通往Spring Cloud 2022.0.0 的道路上,第一个候选版本发布。除了把Spring Cloud CLI、Spring Cloud for Cloud Foundry和Spring Cloud Sleuth从发布序列中移除了之外,所有子项目都升级到了 RC1 的相应版本。要了解关于这个版本的更多细节,请查看发布说明。
Spring Authorization Server 1.0.0 的第一个候选版本发布,新特性包括:@EnableWebSecurity
注解与@Configuration
注解一起使用;用SecurityContextRepository
接口中定义的loadDeferredContext()
方法替换loadContext()
方法;将 0.4 发布序列的增强合并到main
。要了解关于这个版本的更多细节,请查看发布说明。
类似地,Spring Authorization Server 0.4.0 的第一个候选版本发布,改进了与OidcUserInfoEndpointFilter
和OidcClientRegistration
类相关的自定义端点。要了解关于这个版本的更多细节,请查看发布说明。
在通往Spring Modulith 0.1 的道路上,第二个里程碑版本发布。该版本带来了一些新特性,如在可观察模块中删除了过时的spring.factories
属性;确保测试自动配置排在最前面。Spring Modulith 是 10 月底发布的。InfoQ 后续将带来更详细的报道。
以下是 VMware 上周发布的三个 CVE:
CVE-2022-31691(在Eclipse和VSCode的STS4扩展中通过YAML编辑器执行远程代码)是 Spring Tools报告的一个漏洞,在某些条件下,攻击者可以从特定的 YAML 语法中远程执行有害的代码。
CVE-2022-31692(在Spring Security中通过Forward或Include Dispatcher类型绕过授权规则)是 Spring Security 报告的一个影响
AuthorizationFilter
类的漏洞。CVE-2022-31690(spring-security-oauth2-client中的权限提升)也是 Spring Security报告的一个漏洞,在特定条件下,攻击者可以修改浏览器向授权服务器发起的请求,从而在后续审批中获得权限提升。
建议开发者升级到Spring Tools 4.16.1和 Spring Security 5.7.5及5.6.9。
Payara
Payara发布了Payara平台的 2022 年 11 月版。该版本推出了 Payara Community 6.2022.1,既是作为 Payara 6 Community 的第一个稳定版本,也是作为 Jakarta EE 10平台、Web Profile和Core Profile的兼容实现。Payara 6 将作为 Payara Platform Community 的最新版本。要了解关于这个版本的更多细节,请查看发布说明。
Payara Community 5.2022.4 是 Payara 5 Community 的倒数第二个版本。要了解关于这个版本的更多细节,请查看发布说明。
Payara Enterprise 5.45.0 带来了 5 项 Bug 修复、1 项安全修复和 2 项改进。要了解关于这个版本的更多细节,请查看发布说明。
所有这些新版本都解决了一个零日漏洞,即如果应用程序部署到根上下文中,则攻击者可以探查WEB-INF
和META-INF
文件夹的内容。
Micronaut
Micronaut 基金会发布了 Micronaut 3.7.3,带来了 Bug 修复和MicronautTest Resources、Micronaut Servlet、Micronaut Security、Micronaut Kafka及Micronaut Redis的补丁版本。SnakeYAML 1.33 和 Netty 4.1.84 也进行了依赖升级。要了解关于这个版本的更多细节,请查看发布说明。
MicroProfile
在通往 MicroProfile 6.0 的道路上,MicroProfile工作组提供了 MicroProfile 6.0 的第二个候选版本。该版本更新了所有规范。还有一点需要注意的是,MicroProfile OpenTracing 规范已经被新的MicroProfile Telemetry规范所取代。MicroProfile 6.0 的 GA 版本预计将在 2022 年 11 月底/ 12 月初发布。
Hibernate
Red Hat 性能团队发现了一种特定的代码模式,在大型多核服务器上,它会引发严重的性能损失。包括Hibernate ORM在内的许多库都受到了影响。作为缓解这个问题的第一步,Hibernate ORM 6.1.5.Final带来了一些补丁。Hibernate 团队声称,从早期测试看是有望解决问题的。
Hibernate ORM 5.6.13.Final发布,带来了多项 Bug 修复和功能增强,例如,将SimpleExpression
类中定义的getOp()
方法的访问修饰符从protected
更改为public
,以帮助开发人员从遗留的 Criteria API 进行迁移。另外,依赖项ByteBuddy和Byteman分别升级到了 1.12.18 和 4.0.20 版本。
在 Hibernate ORM 5.6.13发布后不久,就发现了一个严重的回归:检查Managed
接口的实现而不是ManagedEntity
接口的实现,导致抛出了ClasscastException
。Hibernate ORM 5.6.14.Final 的发布就是为了解决这个问题。
Apache 软件基金会
Apache TomEE 9.0.0-RC1 完全兼容 MicroProfile 5.0,并且包含多个依赖项升级,包括 Eclipse Mojarra 3.0.2、HSQLDB 2.7.1、Hibernate 6.1.4.Final、Log4J2 2.18.0、Tomcat 10.0.27 和 Jackson 2.13.4。要了解关于这个版本的更多细节,请查看发布说明。
Apache Camel 3.18.3发布,带来了 52 项 Bug 修复、改进和依赖项升级,包括:Spring Boot 2.7.5、camel-jbang
模块中的camel-hbase
2.5.0 和kamelets
0.9.0。要了解关于这个版本的更多细节,请查看发布说明。
GraalVM Native Build Tools
在通往 1.0 版本的道路上,Oracle实验室发布了Native Build Tools的0.9.17版本,这是一个 GraalVM 项目,包含可与 GraalVM Native Image 互操作的插件。这个最新版本带来了一些改进,包括:新增一个requiredVersion
属性,用于检查 GraalVM 的最小版本;使 GraalVM 安装检查延迟。要了解关于这个版本的更多细节,请查看变更日志。
JReleaser
JReleaser 是一个简化创建项目发布的 Java 实用工具。最近发布的 1.3.1 版本主要是修复了一个问题:如果远程操作失败,那么在 close/release/drop 操作后就不报告 Nexus2 查询状态。要了解关于这个版本的更多细节,请查看发布说明。
JobRunr
JobRunr 5.3.1发布,修复了以下问题:JobRunr 在MDC
类实例的值为 null 时不失败;如果第一次运行时间过长,则会多次应用 DB Migration;后台作业中的继承并不总是有效。
JDKMon
JDKMon是一个监控和更新已安装 JDK 的工具,其17.0.39版本于上周发布。该工具由 Azul 首席工程师Gerrit Grunwald创建。新版本提供了一个针对 GraalVM 构建的 CVE 检测工具,其中,CVE 会按严重程度排序。
J-Fall 大会
由Nederlandse Java用户组(NLJUG)赞助的J-Fall 2022于上周在荷兰埃德的Pathé Ede举行,来自 Java 社区的演讲者参加了主题演讲、技术会议、研讨会和实践实验室。
原文链接:
https://www.infoq.com/news/2022/11/java-news-roundup-oct31-2022/
相关阅读:
Java 近期新闻:OpenJDK 更新、JDK 20 发布计划、GraalVM 22.3、JReleaser 1.3.0
评论