写点什么

Java 近期新闻:新的 OpenJDK JEP、Payara 平台、Spring 和 Tomcat 更新、WildFly 28

  • 2023-05-11
    北京
  • 本文字数:4713 字

    阅读完需:约 15 分钟

Java近期新闻:新的OpenJDK JEP、Payara平台、Spring和Tomcat更新、WildFly 28

OpenJDK


JEP 446(作用域值预览)已经从 JEP Draft 8304357 状态提升Candidate 状态。该 JEP 就是之前的范围局部变量(第一轮孵化),是对 JDK 20 中发布的 JEP 429(作用域值第一轮孵化)的一个特性预览。该 JEP 建议在线程内部和线程之间共享不可变数据。这种方式比使用线程局部变量更好,特别是在大量使用虚拟线程时。

 

JEP 447(super()之前的语句)已经从 JEP Draft 8300786 状态提升Candidate 状态。在Amber项目的支持下,该 JEP 建议:如果语句不引用正在创建的实例,则可以出现在构造函数中的this()super()调用之前,并为构造函数保留现有的安全性和初始化保证。Gavin Bierman 是 Oracle 的技术咨询顾问,他已经向 Java 社区提供了该 JEP 的初始规范,以供评审和收集反馈。

 

JEP 448(向量API第六轮孵化)已从 JEP Draft 8305868 状态提升Candidate 状态。在Panama项目的支持下,该 JEP 融合了针对前五轮孵化反馈所做的增强:JEP 438,向量API第五轮孵化,在 JDK 20 中交付;JEP 426,向量API第四轮孵化,在 JDK 19 中交付;JEP 417,向量API第三轮孵化,在 JDK 18 中交付;JEP 414,向量API第二轮孵化,在 JDK 17 中交付;JEP 338,向量API第一轮孵化,在 JDK 16 中作为孵化器模块交付。该 JEP 建议增强向量 API,以便从 JEP 424(外部函数和内存API预览)定义的MemorySegment中加载向量以及向其中存储向量。

 

JEP 449(弃用Windows 32-bit x86平台支持)已经从 JEP Draft 8303167 状态提升Candidate 状态。该特性是由微软资深项目经理George Adams引入。该 JEP 建议弃用 Windows x86-32 位平台支持,并打算在未来的版本中删除这一支持。由于不打算在 32 位平台上实现 JEP 436(虚拟线程第二次预览),所以取消对该平台的支持将能够提升 OpenJDK 开发人员开发新特性的速度。

 

JEP Draft 8305968完整性和强封装)和 JEP Draft 8306275默认禁用代理动态加载)已经由 Oracle Loom 项目架构师和技术主管Ron Pressler提交

 

完整性和强封装建议默认启用强封装等各种特性,确保代码和数据的完整性。该草案的目标包括:让 Java 平台可以稳健地维护可维护性、安全性和性能所需的不变性;区分打破封装更方便的用例和必须禁用封装的用例。

 

默认禁用代理动态加载遵循完整性和强封装的方法,建议默认禁止将代理动态加载到正在运行的 JVM 中。该草案的目标包括:重新评估适用性和完整性之间的平衡;确保大多数不需要动态加载代理的工具不受影响。

 

JDK 任务控制(JMC) 8.3.1发布,带来了一些值得注意的修复,如:在 macOS 和 Linux 上安装插件后无法打开 JMX 控制台;在 Linux 上安装 JMC 插件后无法编辑 Eclipse 项目运行配置;无法在 jLinked 应用程序上执行运行记录。要了解关于该版本的更多细节,请查看发布说明

 

JDK 21


JDK 21早期访问构建Build 19在上周发布,其中包括Build 18的更新,主要是修复了各种问题。要了解关于这个版本的更多细节,请查看发布说明

 

对于JDK 21,我们鼓励开发人员通过Java Bug数据库报告 Bug。

 

JDK 20


Oracle 发布 2023 年 4 月的关键补丁更新,其中包括 JDK 20 的第一个维护版本JDK 20.0.1,以及JDK 17.0.7JDK 11.0.19JDK 8u371的安全更新。

 

BellSoft


与 Oracle 发布 2023 年 4 月的关键补丁更新(CPU)同时,BellSoft发布了其 OpenJDK 下游发行版Liberica JDK 17.0.6.0.1、11.0.18.0.1 和 8u371 版本的 CPU 补丁。此外,他们还发布了 20.0.1、17.0.7、11.0.19 和 8u372 版本的补丁集更新(PSU),其中包含 CPU 和非关键修复。

 

Spring Framework


Spring Boot 3.1.0 的第一个候选版本提供了一些值得注意的新特性:改进 Testcontainer 支持,包括开发阶段支持;支持 Docker Compose;增强 SSL 配置;改进 Docker 镜像构建。要了解关于该版本的更多细节,请查看发布说明

 

Spring Boot 3.0.6 的发布主要解决了 CVE-2023-20873 漏洞:在Cloud Foundry上利用通配符模式匹配进行安全绕过。该漏洞使得部署到Spring Cloud for Cloud Foundry的应用程序容易受到安全绕过的影响。除了文档改进和依赖项升级,该版本还提供了一些值得注意的 Bug 修复,如:Spring Cloud for Cloud Foundry 集成没有使用端点路径映射;ApplicationAvailability bean 是自动配置的,即使已经存在自定义 bean;Apache Cassandra 中的默认配置替换不能解析来自spring.data.cassandra属性文件的配置。要了解关于该版本的更多细节,请查看发布说明

 

同样,Spring Boot 2.7.11 的发布也是为了解决了上面提到的 CVE-2023-20873 漏洞,并提供了文档方面的改进、依赖项升级和与 Spring Boot 3.0.6 相同的 Bug 修复。要了解关于该版本的更多细节,请查看发布说明

 

Spring Security的 6.1.0-RC1、6.0.3、5.8.3 和 5.7.8 版本发布,主要用于解决 CVE-2023-20862 漏洞:空的SecurityContext在注销时未正确保存。该漏洞使得序列化版本的注销不能正确地清除安全上下文,并且无法显式地将空的安全上下文保存到HttpSessionSecurityContextRepository 类。这将导致用户在注销之后仍然处于身份已验证状态。要了解关于这些版本的更多细节,请查看6.1.0-RC16.0.35.8.35.7.8的发布说明。

 

Spring Session 3.1.0 的第一个候选版本提供了依赖项升级和一个新特性,即重用StringRedisSerializer类的实例,从而消除了实例化其他序列化器实例的需要。要了解关于该版本的更多细节,请查看发布说明

 

Spring Authorization Server 1.1.0 的第一个候选版本提供了依赖项升级和新特性,包括:在JdbcOAuth2AuthorizationService类中支持设备代码和用户代码;改进OAuth 2.0 Device Authorization Grant,包括添加测试和参考文档;改进 OpenID Connect 1.0 注销端点。要了解关于该版本的更多细节,请查看发布说明

 

同样,Spring Authorization Server 的 1.0.2 和 0.4.2 版本也发布了,带来了依赖项升级和一些值得注意的 Bug 修复:将不正确的INVALID_CLIENT令牌错误代码返回给正确的INVALID_GRANT令牌错误代码;坏掉的支持链接;认证密钥应该在客户端注册时编码保存;考虑允许在重定向 URI 中使用localhost。要了解关于这些版本的更多细节,请查看1.0.20.4.2版本的发布说明。

 

Spring Integration的 6.1.0-RC1 和 6.0.5 版本发布,它们有一些值得注意的变化,包括:删除了IntegrationWebSocketContainer类中的尾随空格;改进了BaseWsInboundGatewaySpecTailAdapterSpec类,它们没有覆盖super方法,并且由于target字段未填充而抛出NullPointerException实例。要了解关于这些版本的更多细节,请查看6.1.0-RC16.0.5版本的发布说明。

 

Spring for GraphQL 1.2.0 的第一个候选版本提供了以下新特性:更新SchemaMappingInspector类以支持Connection类型;利用 Querydsl 和 Query By Example 支持分页;对分页和排序的全面支持。要了解关于该版本的更多细节,请查看发布说明

 

Spring Shell的 3.1.0-M2、3.0.2 和 2.1.8 版本发布,带来了一些值得注意的变化,包括:分别基于 Spring Boot 3.1.0-M2、3.0.5 和 2.7.10 构建;Bug 修复反向移植;对使用位置参数的自定义类型处理进行了重要修复。要了解关于这些版本的更多细节,请查看3.1.0-M23.0.22.1.8版本的发布说明。

 

WildFly


Red Hat发布了 WildFly 28,改进了对可观察性的支持,并完全支持 Jakarta EE 10。WildFly 增加了对MicrometerMicroProfile Telemetry规范的支持,但取消了对MicroProfile Metrics的支持。Red Hat 建议在生产应用程序中使用 JDK 17,但是他们也看到,在 JDK 20 上的效果也不错。要了解关于该版本的更多细节,请查看发布说明,InfoQ 后续也会带来更详细的新闻报道。

 

Payara


Payara发布了 2023 年 4 月版的Payara平台,其中包括社区版 6.2023.4、企业版 6.1.0 和企业版 5.50.0。

 

社区版 6.2023.4 提供的新特性包括:修复了使用 JDK17 和 Records 时的 Payara 6 部署错误;改进了应用程序部署描述符和全局 HTTP 网络监听器中的SameSite cookie 属性;依赖项升级到 EclipseLink 4.0.1、EclipseLink ASM 9.4.0、Hazelcast 5.2.2 和 ASM 9.4。要了解关于该版本的更多细节,请查看发布说明

 

类似地,企业版 6.1.0 的新特性也包括:修复了使用 JDK17 和 Records 时的 Payara 6 部署错误;改进了应用程序部署描述符中的SameSite cookie 属性;依赖项升级到 EclipseLink 4.0.1、 EclipseLink ASM 9.4.0、Hazelcast 5.2.2 和 ASM 9.4。要了解关于该版本的更多细节,请查看发布说明

 

企业版 5.50.0 还附带了以下特性:解决CVE-2023-24998漏洞。这是Apache Commons FileUpload中的一个漏洞,由于未对已处理请求部分的数量做限制,所以攻击者可以通过恶意上传触发拒绝服务;修复 Hazelcast NoDataMemberInClusterException ;改进应用程序部署描述符中的SameSite cookie 属性;依赖项升级到 Hazelcast 5.2.2。要了解关于该版本的更多细节,请查看发布说明

 

Open Liberty


IBM发布了 Open Liberty 23.0.0.4-beta 版,更新了对Jakarta Data规范的支持,开发人员现在可以组合使用多种方式指定排序和分类,定义优先级。首先应用由@OrderBy注解或按方法查询关键字定义的排序,然后应用方法或Pageable接口上Sort记录中的参数。

 

Micronaut


Micronaut 基金会发布了 Micronaut Framework 3.9.0,带来了以下新特性:允许自定义包,使用@Introspected注解的targetPackage字段编写自省;通过@CrossOrigin注解启用跨域资源共享(CORS)配置;一个破坏性更改,为了防止意外暴露用户的 API,配置属性micronaut.server.cors.*.configurations.allowed-origins不支持正则表达式;模块更新,包括:Micronaut KubernetesMicronaut SecurityMicronaut CRaCMicronaut MavenMicronaut Launch。要了解关于该版本的更多细节,请查看发布说明

 

Apache 软件基金会


Apache Tomcat 团队发布了11.0.0-M510.1.89.0.748.5.88的点版本。四个版本都有的显著变化包括:将maxParameterCount的默认值从 10000 减少到 1000;修正了Bug 66442修复中的回归,即没有响应体的流在完成时不会减少活动流计数,导致某些连接出现ERR_HTTP2_SERVER_REFUSED_STREAM;实现 RFC 9239,更新ECMAScript媒体类型,其中 JavaScript 的 MIME 类型更改为text/javaScript。要了解关于这些版本的更多细节,请查看11.0.0-M510.1.89.0.748.5.88版本的发布说明。

 

Ktor


JetBrains发布Ktor 2.3.0,这是一个用于创建微服务和 Web 应用程序的异步框架。该版本带来了一些改进和修复,包括:支持在定义路由时使用正则表达式;放弃支持将在 Kotlin 1.9.0(即将发布)中删除的遗留 JS 编译器;支持 Apache 5 和 Jetty 11;支持套接字的结构化并发性。要了解关于该版本的更多细节,请查看发布说明

 

JHipster


JHipster 团队发布JHipster Lite 0.32.0,其中有许多依赖项升级,并带来了一些显著的变化,如:通过将spring.jpa.properties.hibernate.cache.use_second_level_cache属性设置为true来支持 Hibernate 二级缓存;删除执行npm run lint命令时不必要的警告;删除运行npm t命令时不必要的堆栈跟踪信息。要了解关于该版本的更多细节,请查看发布说明

 

JBang


JBang 0.106.3发布,修复了 ChatGPT 在坏键或使用限制上出错的问题。

 

Gradle


Gradle 8.1.1发布,修复了一些 Bug,包括:当探测一个在配置缓存中存储了大量 lambdas 的类时,会出现MethodTooLargeException;使用 Gradle 8.1 构建的 Kotlin DSL 预编译脚本插件不能与 Gradle 的其他版本一起使用;Gradle 8.1 在buildSrc中为 Kotlin 配置的freeCompilerArgs方法会破坏构建,提供无用的错误信息。要了解关于该版本的更多细节,请查看发布说明

 

原文链接:

https://www.infoq.com/news/2023/04/java-news-roundup-apr17-2023/


相关阅读:

Java 近期新闻:JEP for JDK 21、MicroStream 成为 Eclipse 项目、Helidon、Piranha、Gradle 8.1

Java 近期新闻:字符串模板、Quarkus、Open Liberty、PrimeFaces、JobRunr、Devnexus 2023

2023-05-11 08:0017091

评论

发布
暂无评论
发现更多内容

芯启源加入龙蜥社区,推动集成电路和DPU芯片创新落地

OpenAnolis小助手

开源 龙蜥社区 CLA 芯启源

2022年10月视频用户洞察:卡塔尔世界杯揭幕,全民体育盛宴开启

易观分析

视频 世界杯

Redis 持久化机制演进与百度智能云的实践

Baidu AICLOUD

数据库 Redis内核

主成分分析PCA与奇异值分解SVD-PCA中的SVD

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

【C语言】if 关键字

謓泽

11月月更

面了个阿里拿38k出来的,让我见识到了基础顶端

程序知音

Java java面试 java架构 后端技术 Java面试八股文

一款超好用的开源密码管理器!

Jackpop

如何通过 NFTScan 浏览器捕获 NFT 投资机会

NFT Research

区块链 NFT 数据基础设施

深度学习 | 如何开发、部署 Serverless 应用?

阿里巴巴云原生

阿里云 Serverless 云原生

Meta开源新工具啊,Git地位危险了?

Jackpop

谁能破解客户数字化困局?

ToB行业头条

QUIC学习入门概念及资料整理

黄继承

QUIC

链路状态路由协议 OSPF (二)

我叫于豆豆吖.

11月月更

案例 | 九科信息助力某大型证券公司业务部数智化转型

九科Ninetech

YRCloudFile V6.9.0 加速企业在大数据应用技术创新

焱融科技

云计算 分布式系统 高性能 文件存储

【愚公系列】2022年11月 微信小程序-页面配置

愚公搬代码

11月月更

Spring 5(六)新功能

浅辄

Spring5 JUnit 11月月更

埃森哲发布《2022中国企业数字化转型指数》,如何通过自动化工具打造技术底座

SoFlu-JavaAI开发助手

十分钟带你全面解析Promise、generator、async类同步编程!

好程序员IT教育

JavaScript Promise

华为云发布1+3+M+N全球云基础设施布局 全面推动汽车产业数智升级

科技热闻

【iOS逆向与安全】frida-trace入门

小陈

移动端 iOS逆向 ios安全

综合实验——高级网络应用检测

我叫于豆豆吖.

11月月更

全网讲的最好的微服务,SpringCloud架构进阶

程序知音

Java 微服务 SpringCloud java架构 后端技术

2022-11-18:给定一个数组arr,表示连续n天的股价,数组下标表示第几天 指标X:任意两天的股价之和 - 此两天间隔的天数 比如 第3天,价格是10 第9天,价格是30 那么第3天和第9天的指

福大大架构师每日一题

算法 rust 福大大

用户特征分析的方法

穿过生命散发芬芳

11月月更 用户特征分析

磁盘占用高问题如何排查?三步教你搞定

OceanBase 数据库

快围观!助力 TDesign 无障碍改造活动来了!

TDesign

无障碍

无需重启应用,动态采集任意点位日志

阿里巴巴云原生

阿里云 云原生

链路状态路由协议 OSPF (三)

我叫于豆豆吖.

11月月更

pytorch实现卷积神经网络实验

Studying_swz

人工智能 11月月更

昇腾AI创新大赛燃情上演,大咖齐聚共话人工智能发展新篇章

Geek_2d6073

Java近期新闻:新的OpenJDK JEP、Payara平台、Spring和Tomcat更新、WildFly 28_编程语言_Michael Redlich_InfoQ精选文章