包阅导读总结
1.
“`
Java、版本发布、项目更新、错误修复、功能增强
“`
2.
Java 领域近期有众多项目的版本发布和更新,包括 Project Leyden、JReleaser、LangChain4j 等,涵盖了性能优化、规范制定、错误修复和功能增强等方面。同时,多个相关框架和工具也有新进展。
3.
– Project Leyden
– 早期访问构建版本可用,目标是优化启动时间等,带来多种亮点。
– 基于 JDK 24 不完整版本构建。
– JDK 23 和 24
– 早期访问版本有新发布,包含问题修复。
– Jakarta EE
– 11 接近完成,12 已开始初步讨论。
– 11 有路线图和里程碑版本。
– MicroProfile 7.0
– Telemetry 2.0 第二个候选版本发布,有显著变化。
– Quarkus 3.12.1
– 第一个维护版本,有依赖升级和问题解决方案。
– 其他
– 包括 Groovy、Tomcat、Infinispan 等众多项目的版本发布和更新。
– 还有 JReleaser、LangChain4j 等工具的新进展。
思维导图:
文章地址:https://mp.weixin.qq.com/s/D9zPsalmi3QfHWF3mmnmjg
文章来源:mp.weixin.qq.com
作者:Michael??Redlich
发布时间:2024/7/17 8:13
语言:中文
总字数:2634字
预计阅读时间:11分钟
评分:89分
标签:Java,Project Leyden,Jakarta EE,MicroProfile,Quarkus
以下为原文内容
本内容来源于用户推荐转载,旨在分享知识与观点,如有侵权请联系删除 联系邮箱 media@ilingban.com
2024 年 6 月,Project Leyden 的首批早期访问构建版本对 Java 社区可用。Project Leyden 最初于 2020 年 4 月提出,其主要目标是“缩短 Java 程序的启动时间、达到峰值性能的时间以及减少资源占用”。Build 24-leyden+2-8 带来了以下亮点:支持多种优化工件类型的统一缓存数据存储(Cache Data Store,CDS)归档、Java 方法的提前编译和类加载器查找缓存。此版本基于 JDK 24 的不完整版本构建。更多关于此版本的详细信息可以在发布说明和 InfoQ 的新闻报道中找到。
JDK 23 早期访问版本的 Build 30 上周发布,包含了自 Build 29 以来的各种问题修复。关于此版本的更多细节,可以在发布说明和 InfoQ 的新闻报道中找到。
JDK 24 早期访问版本的 Build 5 上周也发布了,包含了自 Build 4 以来的各种问题修复。关于此版本的更多细节,可以在发布说明中找到。
对于 JDK 23 和 JDK 24,开发者可以通过 Java 缺陷数据库报告缺陷。
在每周的 Hashtag Jakarta EE 博客中,Eclipse 基金会的 Jakarta EE 开发者布道师 Ivar Grimstad 提供了关于即将发布的 Jakarta EE 11 和 Jakarta EE 12 早期计划的更新,他写道:
Jakarta EE 11 几乎已经准备就绪。所有单独的规范都已完成,Jakarta EE 平台项目进入最后阶段,正在完成 Jakarta EE 平台、Web Profile 和 Core Profile 规范。最后一项工作与 Jakarta EE TCK 有关,正在从 Apache Ant 和 JavaTest Harness 重构为使用 Apache Maven、JUnit 5 和 Arquillian 的现代化方法。
与此同时,平台项目已经开始讨论预计于 2026 年上半年发布的 Jakarta EE 12,以 Java 21 为基线,并在 Java 21 和 Java 25 上通过 TCK 的兼容实现验证。请注意,这些都是非常初步的讨论,并且可能会有所变化。
Jakarta EE 11 的路线图包含了四个里程碑版本,在 2024 年第三季度正式发布之前,可能会适时推出候选版本。
在 MicroProfile 7.0 的演进之路上,MicroProfile Telemetry 2.0 的第二个候选版本发布,带来了一些显著的变化,例如:暴露 OpenTelemetry API 以改善用户体验;更新 MicroProfile Metrics TCK 以确指标的全面覆盖。关于此版本的更多细节,可以在发布说明中找到。
Quarkus 3.12.1,作为第一个维护版本,带来了依赖升级,并针对一些关键问题提供了解决方案,例如:当 HTTP2 连接流关闭时,OpenTelemetry gRPC OTLP 跟踪导出器可能抛出的 NullPointerException;在 Windows 上使用 Web Dependency Locator 扩展时出现的 InvalidPathException;以及当 RESTEasy 应用程序尝试实例化一个抽象基类时出现的 RuntimeException。关于此版本的更多细节,可以在变更日志中找到。
IBM 发布 Open Liberty 24.0.0.7-beta,带来了一系列重要的更新和增强:Jakarta RESTful Web Services 4.0 规范增强,新增了 API 方法和媒体类型值;对 Jakarta Faces 4.1 规范的支持;在 Audit 特性中引入了一个新功能,避免为 REST Handler 应用程序生成不必要的记录,因为该特性原本并不是为 REST Handler 应用程序而设计的。
Apache Groovy 5.0.0 的第九个 alpha 版本发布,带来了错误修复、依赖项升级和改进,例如:在 MethodCallExpression 类中定义的 getText() 方法支持类型参数和动态选择器;生成和发布 CycloneDX SBOM 工件;支持将 lambda 表达式作为命名值。此版本的更多细节可在发布说明中找到。
Apache Groovy 4.0.22 发布,带来了错误修复、依赖项升级和改进:在访问被 get() 方法“遮蔽”的静态字段时发出警告;利用 Apache Commons Byte Code Engineering Library (BCEL) 中定义的 IF_ACMPEQ 和 IF_ACMPNE 类改进身份生成字节码。此版本的更多细节可在发布说明中找到。
Apache Groovy 3.0.22 发布,带来了错误修复、依赖项升级和一个改进:在 MissingMethodException 类中定义的 getMessage() 方法的字符限制从 60 增加到 80,该方法调用 FormatHelper.toTypeString(),避免在显示完全限定的类名时参数类型被截断。此版本的更多细节可在发布说明中找到。
Apache Tomcat 11.0.0 的第二十二个里程碑版本发布,与 M21 相比,带来了一些显著的变化,例如:使用 JEP 454 Foreign Function & Memory API 将对 OpenSSL 的支持移到一个叫作 tomcat-coyote-ffm.jar 的独立 JAR 中,该 JAR 在 manifest 中明确声明支持 Java 22;确保在打包 JAR 文件时正确处理标签文件中的 include 指令,无论是绝对路径还是相对路径;扩展 AuthenticatorBase.AllowCorsPreflight 内部枚举类的过滤值的实现,与 AuthenticatorBase 类中定义的 allowCorsPreflightBypass() 方法相结合,使其适用于所有与 CORS 过滤器配置的 URL 模式匹配的请求,而不仅仅是当 CORS 过滤器映射到 /* 时。此版本的更多细节可在 发布说明中找到。
Infinispan 15.1.0 的第一个开发版本带来了一些显著的变化,例如:支持在服务器端任务中使用 Remote Query API;用 org.infinispan.commons.api.query 包中定义的 Query 接口替换了 org.infinispan.query.dsl 包中定义的 Query 接口,这一变化适用于 RemoteCache 接口中定义的方法。此版本的更多细节可在问题列表中找到。
JobRunr 7.2.2 发布,这是一个由持久化存储提供支持的分布式 Java 后台任务处理库,新版本修复了一个问题,防止在调用 Job 类中定义的 updateProcessing() 时,作业成功执行却抛出 NullPointerException。此版本的更多细节可在 发布说明中找到。
JReleaser 1.13.1 发布,这是一个简化项目发布的 Java 实用工具,新版本包含了错误修复、文档改进、依赖项升级和新功能,例如:允许在 Java Archive 组装器中设置特定于平台的 Java 选项;支持 GitHub Artifact Attestations;在 Nexus2 部署中传递配置文件 ID 的能力。1.13.1 是 1.13.0 的快速修复版本,1.13.0 在 1.13.1 发布前几小时才刚刚发布。此版本的更多细节可在 1.13.1 和 1.13.0 的发布说明中找到。
LangChain for Java(LangChain4j) 0.32.0 发布,带来了新的集成功能:Jlama、Workers AI 和 Selenium 文档加载器;以及新特性,例如:@Tool 注解支持将自定义 POJO 作为方法参数;重新利用 @Description 注解来描述 POJO 字段;为 Milvus、Elasticsearch、InMemoryEmbeddingStore 和 Weaviate 实现了嵌入移除方法。此版本的更多细节可在发布说明中找到。
JDKUpdater 17.0.55+77 发布,这是一个新工具,为开发人员提供了跟踪 OpenJDK 和 GraalVM 版本更新的能力,由 Azul 首席工程师 Gerrit Grunwald 在 3 月中旬推出。新版本提供了一个新特性,强调显示兼容 TCK 的 JVM,即在其名称中显示 TCK 上标。此版本的更多细节可在发布说明中找到。
Improving(一家提供培训、咨询、招聘和项目服务的 IT 服务公司)首席软件顾问 Jim Bethancourt 宣布 RefactorFirst 0.5.0 的第二个里程碑版本发布。此版本提供了:代码库重构,提高了分析性能;改进的 HTML 报告输出外观;增加了循环引用检测器;以及生成循环数据表和渲染循环图像的能力。此版本的更多细节可在发布说明中找到。
Gradle 8.9 第二个候选版本发布,带来了一些持续的改进:改进了依赖解决期间的错误和警告报告;为 IDE 集成器提供了 Java 编译错误的结构细节,可以更容易地分析和解决问题;能够显示更多关于 Gradle 使用的 JVM 的详细信息。此版本的更多细节可在发布说明中找到。