Eclipse Temurin 11.0.20 发行注记
摘要
前言
Open Java Development Kit (OpenJDK)是 Java Platform, Standard Edition (Java SE)的一个免费的开源实现。Eclipse Temurin 在三个 LTS 版本中提供:OpenJDK 8u、OpenJDK 11u 和 OpenJDK 17u。
macOS、Microsoft Windows 和多个 Linux x86 操作系统(包括 Red Hat Enterprise Linux 和 Ubuntu)提供了 Eclipse Temurin 的二进制文件。
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息。
第 1 章 Eclipse Temurin 的支持策略
红帽在其产品中支持所选的 Eclipse Temurin 主版本。为实现一致性,这些版本与 Oracle JDK 的长期支持(LTS)指定的版本相同。
从该版本首次引入后,Eclip Temurin 的主版本将最少提供六年的支持。如需更多信息,请参阅 Eclipse Temurin 生命周期和支持政策。
RHEL 6 于 2020 年 11 月结束其生命周期。因此,Eclip Temurin 不支持 RHEL 6 作为支持的配置。
第 2 章 Eclipse Temurin 11.0.20.1 发行注记
Eclipse Temurin 不包含来自 OpenJDK 上游发行版的结构更改。
查看以下发行注记,了解 Eclipse Temurin 11.0.20.1 补丁版本中的更改概述。
有关所有其他更改和安全修复,请参阅 OpenJDK 11.0.20.1 发行版本。
修复了有效 .zip
文件中的 Invalid CEN 标头
错误
OpenJDK 11.0.20 在 .zip
文件的 ZIP64
字段(JDK-8302483)中引入了额外的验证检查。但是,这些额外的检查会在一些有效的 .zip
文件中导致验证失败,并显示以下错误消息: Invalid CEN header (invalid zip64 extra data field size)
。
要解决这个问题,OpenJDK 11.0.20.1 支持零长度标头,以及一些 ZIP64
创建工具生成的额外的 padding。在 OpenJDK 11.0.20 之后,您可以通过将 jdk.util.zip.disableZip64ExtraFieldValidation
系统属性设置为 true
来禁用这些检查。
请参阅 JDK-8313765 (JDK Bug System)
增加 jdk.jar.maxSignatureFileSize
系统属性的默认值
OpenJDK 11.0.20 引入了 jdk.jar.maxSignatureFileSize
系统属性,用于配置 Java 归档(JAR)文件(JDK-8300596)中允许签名相关文件的最大字节数。默认情况下,jdk.jar.maxSignatureFileSize
属性被设置为 8000000 字节(8 MB),对于某些 JAR 文件来说太小。
OpenJDK 11.0.20.1 将 jdk.jar.maxSignatureFileSize
属性的默认值增加到 16000000 字节(16 MB)。
请参阅 JDK-8313216 (JDK Bug System)
修复了在处理 null 地址时的 NullPointerException
在 OpenJDK 11.0.20 中,当服务性代理在生成线程转储时遇到 null 地址时,可服务性代理会生成 NullPointerException
。
OpenJDK 11.0.20.1 可以正确处理 null 地址。
第 3 章 Eclipse Temurin 功能
Eclipse Temurin 不包含来自 OpenJDK 上游发行版的结构更改。
有关 Eclipse Temurin 的最新 OpenJDK 11 发行版本的更改和安全修复列表,请参阅 OpenJDK 11.0.20 Released。
新功能及功能增强
查看以下发行注记以了解 Eclipse Temurin 11.0.20 发行版本中包含的新功能和功能增强:
使用 GregorianCalendar.computeTime ()
时降低 JVM 崩溃的风险。
在 OpenJDK 11.0.119 中,在使用 GregorianCalendar.computeTime ()
方法(JDK-8307683)时,虚拟机崩溃可能会发生。虽然旧问题是此 JVM 崩溃的根本原因,但 C2 编译器(JDK-8297951)中个别问题的最近修复也会显著提高 JVM 崩溃的可能性。为降低风险,OpenJDK 11.0.20 发行版本排除了 C2 编译器的修复。当 JVM 崩溃的根本原因被解决后(JDK-8307683),OpenJDK 将重新引入 C2 编译器的修复(JDK-8297951)。
请参阅 JDK-8308884 (JDK Bug System)。
GB18030-2022 支持的额外字符
为了支持 GB18030-2022 标准的"Implementation Level 1",OpenJDK 必须使用超过 Unicode 10 范围的五个额外字符,而 OpenJDK 11 基于此范围。Java SE 11 规范的维护版本 2 添加了对这些额外字符的支持,OpenJDK 11.0.20。
其他字符如下:
- 0x82359632 U+9FEB
- 0x82359633 U+9FEC
- 0x82359634 U+9FED
- 0x82359635 U+9FEE
- 0x82359636 U+9FEF
请参阅 JDK-8301401 (JDK Bug System)。
支持 GB18030-2022
中国电池标准研究所(CESI)最近发布了 GB18030-2022,作为对 GB18030 标准的更新,与 Unicode 11.0 同步字符集。GB18030-2022 标准现在是 OpenJDK 11.0.20 使用的默认 GB18030 字符集。但是,与之前使用的 OpenJDK 11 版本相比,这个更新的字符集包含不兼容的更改。从 OpenJDK 11.0.20 之后,如果要使用之前版本的字符集,请确保将新系统属性 jdk.charset.GB18030
设置为 2000
。
请参阅 JDK-8301119 (JDK Bug System)。
增强的 ZIP 性能
OpenJDK 11.0.20 发行版本包括对 .zip
文件的 ZIP64
字段的改进检查。如果这些检查在可信 .zip
文件中导致失败,您可以通过将新的系统属性 jdk.util.zip.disableZip64ExtraFieldValidation
设置为 true
来禁用这些检查。
JDK bug system reference ID: JDK-8302483.
增强的 JAR 签名验证
现在,您可以通过设置新的系统属性 jdk.jar.maxSignatureFileSize
来配置 Java 存档(JAR)文件中允许的最大字节数。默认情况下,jdk.jar.maxSignatureFileSize
属性设置为 8000000
字节(8 MB)。
JDK bug system reference ID: JDK-8300596.
生成的文件的法律标头
javadoc
工具现在支持包含法律文件,这些文件与标准 doclet 生成的文件许可相关。您可以使用新的 --legal-notices
命令行选项来配置此功能。
请参阅 JDK-8259530 (JDK Bug System)。
添加了 GTS root 证书颁发机构(CA)证书
在 OpenJDK 11.0.20 发行版本中,cacerts
truststore 包括四个 Google Trust Services (GTS) root 证书:
- 证书 1
- Name: Google Trust Services LLC
- 别名名称:gtsrootcar1
- 区分名称: CN=GTS Root R1, O=Google Trust Services LLC, C=US
- 证书 2
- Name: Google Trust Services LLC
- 别名名称:gtsrootcar2
- 区分名称: CN=GTS Root R2, O=Google Trust Services LLC, C=US
- 证书 3
- Name: Google Trust Services LLC
- 别名名称:gtsrootcar3
- 可分辨名称:CN=GTS Root R3, O=Google Trust Services LLC, C=US
- 证书 4
- Name: Google Trust Services LLC
- 别名名称:gtsrootcar4
- 可分辨名称:CN=GTS Root R4、O=Google Trust Services LLC, C=US
请参阅 JDK-8307134 (JDK Bug System)。
添加了 Microsoft Corporation root CA 证书
在 OpenJDK 11.0.20 发行版本中,cacerts
truststore 包括两个 Microsoft Corporation root 证书:
- 证书 1
- 名称:Microsoft Corporation
- 别名名称:microsoftecc2017
- 区分名称:CN=Microsoft ECC Root Certificate Authority 2017, O=Microsoft Corporation, C=US
- 证书 2
- 名称:Microsoft Corporation
- 别名名称:microsoftrsa2017
- 区分名称:CN=Microsoft RSA Root Certificate Authority 2017, O=Microsoft Corporation, C=US
请参阅 JDK-8304760 (JDK Bug System)。
添加了 TWCA root CA 证书
在 OpenJDK 11.0.20 发行版本中,cacerts
truststore 包括 Taiwan 证书颁发机构(TWCA)根证书:
- 名称 :TWCA
- 别名名称: twcaglobalrootca
- 区分名称: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW
请参阅 JDK-8305975 (JDK Bug System)。
增强的 macOS KeychainStore
的内容(可信证书条目)
对 macOS KeychainStore
实现的最新更改不完整,并只考虑用户域中的证书。在 OpenJDK 11.0.20 发行版本中,macOS KeychainStore
实现从用户域和管理员域公开证书。macOS KeychainStore
实现也会排除在信任设置中包含 deny
条目的证书。
请参阅 JDK-8303465 (JDK Bug System)。
更新于 2023-11-02