写点什么

Java 近期新闻:JDK 20 发布、Spring 多个版本发布、Quarkus、Helidon、Micronaut 和 Open Liberty

  • 2023-04-04
    北京
  • 本文字数:4735 字

    阅读完需:约 16 分钟

Java近期新闻:JDK 20发布、Spring多个版本发布、Quarkus、Helidon、Micronaut和Open Liberty

OpenJDK


JEP 431,序列集合(Sequenced Collections),在 JDK 21 中已经从 Proposed to Target 状态提升到了 Targeted 状态。该 JEP 提议引入“一个新的接口系列,代表了元素能够以明确的序列或顺序排列在集合中的概念,使其作为集合的结构化属性”。该 JEP 的动机在于集合框架(Collections Framework)中缺乏定义良好的排序和统一操作集。关于 JEP 431 的更多信息,请参阅 InfoQ 的新闻报道


JEP 443,未命名的模式和变量(Unnamed Patterns and Variables,预览)已经从 JEP Draft 8294349 状态提升到了 Candidate 状态。该预览 JEP 提议“使用未命名模式未命名参数对语言进行增强,未命名模式与 record 组件匹配,但不用说明组件的名称或类型,未命名参数可以被初始化但不使用”。这两种模式都是由下划线来进行表示的,如r instanceof _(int x, int y)r instanceof_

JDK 20


甲骨文发布了Java 编程语言和虚拟机的20版本。更多细节请参阅 InfoQ 的新闻报道

JDK 21


JDK 21 的早期访问构建版本Build 15发布,它是对 Build 14 的更新,包含对各种问题的修复。关于该版本的更多细节,可以参见发布说明


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

Amazon Corretto


亚马逊云科技发布了Amazon Corretto 20,这是他们的 OpenJDK 20 的下游发行版,可用于 Linux、Windows 和 macOS。开发人员可以从该网站下载这个最新版本。

Liberica JDK


与之类似,BellSoft 也发布了 Liberica JDK 20,这是他们的 OpenJDK 20 的下游发行版。开发者可以从该网站下载这个最新版本。

Spring Framework


对于 Spring 项目团队来说,最近是非常忙碌的,他们发布了Spring BootSpring FrameworkSpring DataSpring IntegrationSpring VaultSpring for GraphQLSpring Authorization ServerSpring HATEOASSpring Modulith的里程碑版本以及小版本。其中一些版本解决了公共漏洞和暴露(Common Vulnerabilities and Exposure,CVE):


Spring Boot 3.0.5发布,该版本带来了文档改进、依赖性升级和重要的缺陷修复,比如,当嵌入式服务器未配置时,EmbeddedWebServerFactoryCustomizerAutoConfiguration类不应该被调用;@ConfigurationProperties注解不再用于可变的 Kotlin 数据类;使用@EntityScan注解导致 AOT 实例供应者出现代码生成错误。关于该版本的更多细节,请参阅发布说明


与之类似,Spring Boot 2.7.10发布,该版本带来了文档改进、依赖性升级和重要的缺陷修复,比如,在使用 SnakeYAML 2.0 时,加载application.yml文件会出现NoSuchMethodError异常;如果 classpath 包含“.”字符,StandardConfigDataResource类的实例可能会导入同一个文件两次;在使用project.build.outputTimestamp属性时,一个 Maven 插件使用了本地时区的时间戳。关于该版本的更多细节,请参阅发布说明


Spring Boot 3.1.0 的第二个发布候选版本提供了一些新的特性,比如,SanitizableData类的新方法withSanitizedValue(),它会返回一个脱敏(sanitized)值的新实例;支持 GraphQL 分页和排序的默认配置;支持 Spring Authorization Server。关于该版本的更多细节,请参阅发布说明


Spring Framework 的 6.0.7 和 5.3.26 版本发布,主要解决上述的 CVE-2023-20860 和 CVE-2023-20861 漏洞。这两个版本还提供了新的特性,比如,在 SpEL 中改进了对matches运算符和重复文本的诊断;更新了HandlerMappingIntrospector类;允许兼容 SnakeYaml 2.0 运行时。关于这两个版本的更多细节,请分别参阅6.0.7版本5.3.26版本的发布说明。


Spring Framework 5.2.23 的发布也解决了 CVE-2023-20861 漏洞,并提供了与 Spring Framework 5.3.26 相同的新 SpEL 特性。关于这个版本的更多细节,请参阅发布说明


Spring Data 的 2023.0-M1(代号为 Ullman)、2022.0.4 和 2021.2.10发布。这些服务版本包含了缺陷修复和文档改进,分别可用于 Spring Boot 3.0.5 和 2.7.10。里程碑版本中的新特性包括,新的滚动 API,支持偏移和基于 key 的分页;改进对 HQL 和 JPQL 的 JPA 查询解析;支持 MongoDB 的显式字段级加密;Spring Data REST中的聚合引用请求参数。关于该里程碑版本的更多细节,请参阅发布说明


Spring Integration 的 6.1.0-M2、6.0.4 和 5.5.17 版本发布,带来了重要的变更,包括,LockRegistryLeaderInitiator类的改进,如在当前线程被中断的情况下,调用目标锁提供者将会被延迟;AbstractRemoteFileStreamingMessageSource类在远程调用方面的改进;修复与代码覆盖工具 Sonar 和 JaCoCo 的关系。关于这些版本的更多细节,请参阅6.1.0-M26.0.45.5.17的发布说明。


Spring Vault 的 3.0.2 和 2.3.3 版本发布,以解决上述的 CVE-2023-20859 漏洞,并带来了新的特性,如完善令牌撤销失败后的日志记录;在ClientHttpRequestFactoryFactoryClientHttpConnectorFactory类中重用来自库的特定配置代码;在EnvironmentVaultConfiguration类中添加 AWS IAM Authentication 功能。关于这两个版本的更多细节,请参阅3.0.2 and 2.3.3的发布说明。


Spring for GraphQL 1.2.0 的第一个里程碑版本发布,提供了新的特性,包括,在@SchemaMapping注解标注的方法中支持分页返回值和分页请求;支持HandlerMethodArgumentResolver接口的自定义实例;依赖升级到GraphQL Java 20.0。关于该版本的更多细节,请参阅发布说明


Spring for GraphQL 的 1.1.3 和 1.0.4 版本发布,其中包含了新的特性,WebGraphQlInterceptor接口中的访问请求属性和 cookie;ContextDataFetcherDecorator类的实例在名称变更时忽略订阅的修复。这些版本分别可用于 Spring Boot 3.0.5 和 2.7.10。关于这两个版本的更多细节,请参阅1.1.31.0.4的发布说明。


Spring Authorization Server 1.1.0 的第二个里程碑版本包含了缺陷修正、依赖性升级和新特性,如 RFC 8628,OAuth 2.0设备授权(Device Authorization Grant)的实现;为 OAuth2 客户端 secret 启用PasswordEncoder接口中定义的upgradeEncoding()方法。关于该版本的更多细节,请参阅发布说明


Spring HATEOAS 的 2.1-M1、2.0.3 和 1.5.4 版本发布。这些服务版本包括了文档改进和依赖性升级。里程碑版本包含如下特性,支持在表单上使用 JSR-303 定义的@Size注解的属性元数据;添加新的SlicedModel类,这是PagedModel类的简化版本,可以浏览切片,但不计算总数。关于这些版本的更多细节,请参阅2.1-M1version 2.0.3version 1.5.4的发布说明。


Spring Modulith 0.5.1 的发布提供了一个重要的缺陷修正,即spring-modulith-runtime模块意外地包含了一个只用于测试的Logback配置文件。此外,还有一个依赖性升级到 Spring Boot 3.0.5。关于这个版本的更多细节,请参阅发布说明


Spring Data JPA团队为开发者引入了HQL 和 JPQL 查询解析器,以便在 Spring Data JPA 应用程序中结合@Query注解更容易地定制查询。

Quarkus


Quarkus 3.0.0 的第一个beta版本包含对管理接口的支持,该接口能够将选定的路由(即管理路由)暴露到不同的 HTTP 服务器上,避免在主 HTTP 服务器上暴露这些路由,之前的方式可能会导致对这些端点的泄漏和预料之外的访问。关于这个版本的更多细节,请参阅更新日志


Quarkus 2.16.5.Final 是第五个维护版本,重要的变更包括,过滤掉执行测试类ProviderConfigInjectionWarningsTest时与 RESTEasy 相关的警告;修复加载工作区模块时的NullPointerException;防止来自MessageBodyWriter的服务器端事件可能会写入一个不断累积的头信息中。关于这个版本的更多细节,请参阅更新日志

Helidon


甲骨文发布了Helidon 3.2.0,其中的变更包括,对WriteableMultiPart类中定义的重载create()方法的修复;对JtaConnection类中关闭数据库连接的错误行为的修复;对 SnakeYAML 2.0 的依赖升级。值得注意的是,在 SnakeYAML 2.0 中存在着破坏性的变更。如果直接使用 SnakeYAML,Helidon 应用程序可能会受到影响。然而,依然可以使用降级的 SnakeYAML 1.3.2 将应用程序升级到 Helidon 3.2.0。关于这个版本的更多细节,请参阅发布说明

Open Liberty


IBM发布了Open Liberty 23.0.0.3-beta,支持 JDK 20、Jakarta EE 10 Platform 和 MicroProfile 6.0。

Micronaut


Micronaut 基金会提供了第一个里程碑版本的 Micronaut Framework 4.0.0,其特性包括,对Kotlin符号处理(Kotlin Symbol Processing)的实验性支持;对虚拟线程的支持;改进了缺失 Bean 的错误信息;对过滤器方法的支持。

Apache 软件基金会


正如 Apache Tomcat 团队所披露的,CVE-2023-28708,这是使用RemoteIpFilter类的一个安全漏洞,在通过 HTTP 接收到的、X-Forwarded-Proto 头信息设置为 HTTPS 的反向代理请求时,Tomcat 创建的会话 cookie 不包括secure属性。这一漏洞可能导致攻击者通过不安全的通道传输会话 cookie。受此漏洞影响的 Tomcat 版本包括: 11.0.0-M1 至 11.0.0-M2、10.1.0-M1 至 10.1.5、9.0.0-M1 至 9.0.71 以及 8.5.0 至 8.5.85。


Camel Quarkus 3.0.0 的第一个里程碑版本,包含 Quarkus 3.0.0.Alpha5 和 Camel 4.0.0-M2,它是以 JDK 17 和 Jakarta EE 10 为基线的第一个 Camel Quarkus 版本。其他值得注意的变化包括,废弃了ReflectiveClassBuildItem类;修复了在用 Camel 4 和 Quarkus 3 测试时使用PerfRegressionIT类抛出的异常;将 Infinispan 测试拆分成分别由 Quarkus 和 Camel 管理的客户端独立模块。关于这个版本的更多细节,请参阅发布说明

JBang


0.105.10.105.2版本的 JBang 带来了重要的变更,包括,改进的jbang edit编辑命令,它假定支持的 JBang IDE插件之一已被安装;基于 modulepath 进行持续改进,以替换 classpath;jbang export jlink命令现在是一个选项,允许开发人员导出一个嵌入 Java 运行时的 JBang 应用程序或脚本;对 Apple Silicon VSCodium下载的修正。

Failsafe


Failsafe是一个在 Java 8+环境中处理故障的轻量级、零依赖性的库,它发布了3.3.1版本,其特性是 API 的变更,比如,在 Failsafe JAR 中增加了完整的 Java 模块描述符;发布了 Failsafe 提供的CompletableFuture类实例内部的执行引用。有关该版本的更多细节,请参阅更新日志

Maven


Maven 3.9.1发布,改善之处包括,改进了“missing dependency”的错误信息;使用 replace()方法替换 replaceAll()方法中的所有非正则表达式模式,或使用预编译模式来提高性能;废弃 Mojo 插件的参数表达式${localRepository},因为${localRepository}注入的ArtifactFactory接口实例由于缺乏上下文,与 Maven 解析器接口LocalRepositoryManager不兼容。

Gradle


Gradle 8.1 的第一个候选版本发布,该版本提供了如下特性,配置缓存的持续改进,现在可以认为它业已稳定;Kotlin DSL的持续改进,这是 Groovy DSL 的替代方案,包括 Kotlin DSL 脚本中的实验性简单属性设置;对 JDK 20 的支持。关于这个版本的更多细节,请参阅发布说明


原文链接:

Java News Roundup: JDK 20 Released, Spring Releases, Quarkus, Helidon, Micronaut, Open Liberty


相关阅读:

Java 近期新闻:新 JEP、GraalVM 23 早期访问构建、Infinispan、Mojarra、Micrometer Metrics

Java 20 发布,新特性一览:Amber、Loom 和 Panama 项目

2023-04-04 14:2320640

评论 1 条评论

发布
用户头像
凭什么只发Java近期新闻 是看不起我Python嘛
2023-04-06 09:30 · 浙江
回复
没有更多了
发现更多内容

五大场景实践 深度解读指标平台业务价值

Aloudata

软件测试学习笔记丨Selenium多frame切换

测试人

软件测试

80%腾讯程序员都在用,腾讯云AI代码助手让编码提效42%

科技热闻

Why AR9342, AR9344, IPQ4018 and IPQ4028 chip motherboards have faded from the market?

wifi6-yiyi

wifi 11n 11ac 11be

选择堡垒机供应商需要考虑因素简单分析-行云管家

行云管家

堡垒机 网龄安全

Footprint Analytics 现已支持 TRON 链上数据分析

Footprint Analytics

TRONex波场智能合约

Apache Seata(incubating) 首个版本重磅发布!

阿里巴巴云原生

Apache 阿里云 云原生

如何炼就 AI 原住民的“自我修养”丨通义灵码走进北京大学创新课堂

阿里巴巴云原生

阿里云 云原生 通义灵码

如何炼就 AI 原住民的“自我修养”丨通义灵码走进北京大学创新课堂

阿里云云效

阿里云 云原生 通义灵码

软件测试学习笔记丨Selenium弹窗操作

测试人

软件测试

TiCDC 同步 SQL_MODE 相关

TiDB 社区干货传送门

6.x 实践 TiCDC 源码解读

「用户故事」 从 Thanos 到 GreptimeDB,我们实现了 Prometheus 高效长期存储

Greptime 格睿科技

数据库 云原生 数据迁移

居家观影T0级装备 非激光电视莫属

Geek_2d6073

快速过等保2.0的小秘诀!

行云管家

等保 堡垒机 等保测评

Next Stack技术联盟成立:打造新一代基础软件技术栈

观测云

next stack

【DevOps系列】需求的层次结构:业务驱动的协作与产品导向的交付

嘉为蓝鲸

DevOps 需求分析

区块链行业低迷的原因及未来发展展望

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 公链开发

python ES连接服务器的方法

EquatorCoco

Python 服务器

从云原生到 AI 原生,网关的发展趋势和最佳实践

阿里巴巴云原生

阿里云 云原生 网关

腾讯云大神呕心沥血整理:redis深度笔记”,看完全面掌握redis核心技术

采菊东篱下

redis java面试

一文彻底弄懂MySQL的优化

快乐非自愿限量之名

MySQL 数据库

【DevOps系列】CICD流程建设之持续集成实践指南

嘉为蓝鲸

DevOps 持续集成 CI/CD

枫清科技高雪峰:大模型要成为生产力才有生命力

Fabarta

#人工智能

如何妥善处理 TCP 代理中连接的关闭

不在线第一只蜗牛

网络协议 网络

IoTDB 探索季活动|大疆无人机等你来拿

Apache IoTDB

SQL-DSL框架之结果集处理

邱学喆

JDBC 类型处理器 配置类

鸿蒙NEXT应用上架与分发步骤详解

威哥爱编程

华为 HarmonyOS Open Harmony HarmonyOS框架 HarmonyOS NEXT

对象存储防勒索升级:XEOS 国内首家通过 NBU 对象锁认证

XSKY星辰天合

财务规划的成功战略之一:建立数据驱动型决策

智达方通

数据分析 企业管理 财务分析 财务管理 财务规划

【核电科技企业】构建一体化服务器智能运维平台,助力降本增效

嘉为蓝鲸

AIOPS 运维‘ 一体化运维

重构商业生态:DApp创新玩法与盈利模式的深度剖析

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

Java近期新闻:JDK 20发布、Spring多个版本发布、Quarkus、Helidon、Micronaut和Open Liberty_编程语言_Michael Redlich_InfoQ精选文章