本期 Java 近期新闻综述内容涉及 JDK 19、Spring Boot、Spring CVEs、Apache Tomcat 点版本、Quarkus Tools for Visual Studio Code、Micronaut 3.4.1、JetBrains 加入 Micronaut 基金会、Open Liberty Paketo Liberty Buildpack、Hibernate 6.0、JobRunr 5.0、WildFly 26.1 Beta S2I 镜像、JReleaser 1.0-RC2、MicroStream 7.0-M2、JHipster 7.8.0、JMH 1.35。
JDK 19
JDK 19早期访问构建的Build 16在上周发布,它是 Build 15 的升级,修复了各种问题。要了解更多细节信息,请查看发布说明。
对于JDK 19,我们鼓励开发者通过Java Bug数据库报告缺陷。
Spring Framework
Spring Framework 5.3.18 和 5.2.20 版本是针对 CVE-2022-22965发布的(Spring Framework RCE via Data Binding on JDK 9+,即在 JDK 9 及更高版本上运行的 Spring MVC 或 Spring WebFlux 应用程序可能存在通过数据绑定执行远程代码的漏洞)。该漏洞被称为Spring4Shell。InfoQ 将在后续报道中带来更详细的信息。
Spring Framework 5.3.17 的发布是为了解决 CVE-2022-22950:Spring Expression DoS漏洞,即用户有可能提供特制的Spring表达式语言 (SpEL) 表达式,导致拒绝服务的情况。
Spring Cloud Function 3.1.7 和 3.2.3 版本的发布是为了解决 CVE-2022-22963:通过恶意的Spring表达式在Spring Cloud Function中远程执行代码,即用户在使用路由功能时,有可能提供一个特制的 SpEL 路由表达式,这可能导致远程代码执行,暴露对本地资源的访问。
Spring Boot的2.6.6和2.5.12版本发布,特点是依赖项升级到 Spring Framework 5.3.18,Jackson BOM 分别升级到 2.13.2.20220328 和 2.12.6.20220326 版本。这两个点版本都包含解决 CVE-2022-22965 的 Spring Framework 5.3.18 和 5.2.20 版本。
Spring Cloud Azure 4.0发布,该版本的新特性有:简化了依赖管理;扩展了对 Azure 支持模块的支持;重新设计了 Spring 模块依赖模型,从而提供一个更灵活的方法来应对不同的应用方法。
在 SpringOne 2021 大会之后,VMware 高级工程师和 Spring 框架项目负责人Jürgen Höller提供了关于 JDK 17 及后续版本采用的最新情况,他写道:
我们在主分支上建立了新的基线,已经有一些里程碑出来了。反馈非常积极,不仅涉及框架改进方面,还涉及应用层面的 Java 升级动机。当然,也不止 JDK 17 LTS:JDK 18 已经是当前的一个选项,JDK 19 是当前版本,今年晚些时候将达到最终版本,JDK 20 届时将进入早期访问,JDK 21 LTS 也已呼之欲出。
Apache Tomcat
对于 Apache Tomcat 团队来说,这是忙碌的一周,他们提供了 8.5、9.0 和 10.0 发布序列的点版本。
8.5.78、9.062、10.0.2和10.1.0-M14 Alpha版本的新特性包括:更新 Tomcat Native Library 1.2.32 的打包版本,以获得用 OpenSSL 1.1n 构建的 Windows 二进制文件;改进了未知 HTTP/2 设置帧的日志记录;如果使用了不兼容的 TLS 配置(如带有 CLIENT-CERT 认证的 HTTP/2),则会有额外的警告;加固了类加载器,以缓解 CVE-2022-22965,即 Spring4Shell。
8.5 和 9.0 发布序列是作为Java Servlet、JavaServer Pages、Java Unified Expression Language、Java WebSocket和Java Authentication Service Provider Interface for Containers技术的开源软件实现。
10.0 和 10.1 里程碑发布序列是作为Jakarta Servlet、Jakarta Server Pages、Jakarta Expression Language、Jakarta WebSocket、Jakarta Authentication和Jakarta Annotations规范的开源软件实现。
Quarkus
红帽公司发布了 Quarkus Tools for Visual Studio Code 1.10.0,新特性包括:一个更容易发现的“部署到 OpenShift”命令;一个新的 Qute 语言服务器,支持补全、验证、悬停等;Qute模板引擎增强;验证@ConfigMapping
注解是否只放在接口上;支持使用@ApplicationPath
注解来处理项目 URL,以替代属性支持扩展。要了解更多细节信息,请查看更新日志。
Micronaut
Micronaut 基金会发布了 Micronaut 3.4.1,新特性包括:支持BeanIntrospectionModule
类中的@JsonNaming
和@JsonProperty
注解;允许null
序列化;更新jackson-databind
2.13.2.2;对Micronaut Serialization 1.0.1、Micronaut AOT 1.0.1、Micronaut Maven Plugin 3.2.1 和Micronaut Servlet 3.2.2进行依赖升级。要了解更多细节信息,请查看更新日志。
Micronaut基金会还宣布,JetBrains s.r.o 已经加入基金会,成为工具和基础设施合作伙伴。JetBrains 加入了 Gradle 公司,后者于 2022 年 1 月初加入,成为第一个合作伙伴。Micronaut 基金会成立于2020年6月,是一个非营利性组织,在技术咨询委员会的支持下,推动Micronaut框架的创新和采用。
Open Liberty
IBM推出了Paketo Liberty Buildpack,这是一套可执行程序,可以检查应用程序的源代码并创建一个构建计划。以实现云原生计算基金会构建包规范的Paketo Buildpacks为基础,Paketo Liberty Buildpacks 旨在将应用程序源代码转化为容器镜像,并维护它们。
WildFly
WildFly 26.1 Beta Source-to-Image(S2I)Docker镜像已在quay.io上发布。quay.io 是红帽公司用于构建、分析和分发容器镜像的工具。quay.io/wildfly/wildfly-centos7和quay.io/wildfly/wildfly-runtime-centos7镜像自 WildFly 26 起被废弃,将被基于WildFly应用服务器Maven插件3.0 版本的新架构所取代。
Hibernate
Hibernate ORM 6.0 在上周发布,新特性包括:支持Jakarta Persistence规范;通过将ResultSet
按名读取改为按位置读取来提高性能;与新增的按位置读取范式相关的新的映射模型 SPI;重新设计的类型安全注解;经过更新的语义查询模型。InfoQ 后续将带来更详细的新闻报道。
JobRunr
Java 后台处理工具JobRunr发布了 5.0 版本,带来了一些新的特性,包括:支持 Spring Native 和 SLF4J 提供的Mapped Diagnostics Context;用定义好的时间间隔调度循环作业;与 MicroMeter 集成;更容易集成多数据库;支持在一周的最后一天或每月的最后一天执行作业。InfoQ 后续将带来更详细的新闻报道。
JReleaser
在通往 1.0.0 版本的道路上,JReleaser的第二个候选版本和经过更新的早期访问版本于上周发布,新特性包括:依赖升级到aws-java-sdk
1.12.191、jsonschema
4.24. 1 和 Download Gradle Plugin (downloadPluginVersion
)5.0.4;修复了在 Windows 上不能正确解析的提交信息;一个解决“无法解析版本'2000.0.0[.A]'与'YYY.MINOR.MICRO[.MODIFIER'”错误信息的修复。
JHipster
JHipster 7.8.0 版本发布,新特性包括:依赖升级到 Spring Boot 2.6.6;支持 Java 18;React Micro Frontend 的一个实现;一个针对关系实体 Couchbase 分页请求的修复;许多库更新。要了解更多细节信息,请查看更新日志。
MicroStream
在第一个测试版本发布一周后,MicroStream 7.0 的第二个测试版本发布了,针对新版本安卓系统的反射限制,它提供了一个新的安卓类型处理器。
Java Microbench Harness(JMH)
JMH 1.35 版本发布,主要是修复了以下问题:SingleShot
模式应该处理@OperationsPerInvocations
注解的多个调用;async-profiler
使用错误的分析器输出选项;perfasm
分析器不接受freq=max
和showCounts=x
选项,后者支持可配置的事件计数标准化;改进perfasm
元数据,在其中显示实际的版本号而不是compilationID
。
原文链接:
Java News Roundup: Hibernate 6.0, JobRunr 5.0, JHipster 7.8.0, Spring CVEs, JReleaser 1.0-RC2
评论