QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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:0017174

评论

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

RT-Thread记录(一、RT-Thread 版本、RT-Thread Studio开发环境 及 配合CubeMX开发快速上手)

矜辰所致

RT-Thread 8月月更

双因子与多因子身份验证有什么区别?

SEAL安全

身份验证

WindTerm:新一代开源免费的终端工具,GitHub星标6.6k+,太酷了!

沉默王二

GitHub 终端工具

【7.29-8.5】写作社区精彩技术博文回顾

InfoQ写作社区官方

优质创作周报

关注微信公众号,自动登陆网站

源字节1号

微信小程序

手摸手带你 在 Windows 系统中安装 Istio

万猫学社

云原生 istio windows

内存问题难定位,那是因为你没用ASAN

华为云开发者联盟

云计算 开发 内存

秘乐短视频挖矿系统开发详情

开发微hkkf5566

没开发人员,接到开发物联网系统的活儿,干不干?

AIRIOT

低代码 物联网 低代码,项目开发

SonarQube即将亮相第十八届GOPS全球运维大会

龙智—DevSecOps解决方案

代码安全 GOPS大会 运维、 代码质量检测工具

2022年6月互联网医疗领域月度观察

易观分析

医疗 市场

centOS7.3 安装启用 iptables 记录

JavaPub

Linux centos7 iptables

硅谷来信:快速行动,Facebook、Quora等成功的“神器”!

博文视点Broadview

数据治理体系演进简介

网易数帆

大数据 数据治理 元数据 数据标准

五大理由告诉你为什么开发人员选择代码质量静态分析工具Klocwork来实现软件安全

龙智—DevSecOps解决方案

静态代码分析 代码静态分析 SAST工具 SAST

开源一夏 | Java格式化日期 微秒

六月的雨在InfoQ

开源 8月月更

2000多字教你三招在Linux中找出大文件,最后一个命令简直太简单了!

wljslmz

Linux 签约计划第三季 8月月更

即刻报名|Apache Kylin X Apache DolphinScheduler:大数据底座的构建和展望

Kyligence

数字化转型 数字分析 数据调度

Python开启虚拟环境

技术小生

8月月更 Python虚拟环境

这份阿里强推的并发编程知识点笔记,将是你拿大厂offer的突破口

了不起的程序猿

数据库 高并发 java程序员 大厂面试 java;

HDD杭州站•ArkUI让开发更灵活

HarmonyOS开发者

HarmonyOS

Apache APISIX Ingress v1.5-rc1 发布

API7.ai 技术团队

APISIX kubenetes Ingress Controller

官方发布·2022南京智博会定于10月份在新庄国展召开

AIOTE智博会

牛刀小试基本语法,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang基本语法和变量的使用EP02

刘悦的技术博客

golang 语言 语言 & 开发 教程分享 #go

多业务模式下的交易链路探索与实践

转转技术团队

中台 状态机 FSM

版本控制篇 | 龙智邀您共赴GOPS全球运维大会,探索大规模、敏捷、高质量、开放式的软件研发与运营之路

龙智—DevSecOps解决方案

运维 DevSecOps GOPS大会

莅临GOPS大会龙智展位,获取Forrester最新报告:《Forrester Wave™:2021年第四季度企业服务管理报告》

龙智—DevSecOps解决方案

ITSM Forrester Wave Forrester

有多一只“手”的机器狗出没?就在昇腾AI开发者创享日·南京站

科技热闻

2022 CCF国际AIOps挑战赛决赛暨AIOps研讨会报名已开启

BizSeer必示科技

人工智能 阿里云 华为云 信通院

不是吧?还有人不会定位线上MySQL慢查询问题?

Java永远的神

Java MySQL 数据库 程序员 面试

自从用了 Kiali 以后才知道,配置 Istio 的 流量管理 是如此容易

万猫学社

云原生 istio envoy kiali

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