This document describes additional changes to the specification of JSR 384 which is defined by the Final Release in September 2018 and Maintenance Release 1 in March 2019. When specification text is provided, insertions are shown on a light green background and deletions are shown struck through on a light red background. Links to pages outside of those explicitly changed by this specification may not be functional.
Send comments to java-se-mr-spec-comments@openjdk.org.
There is no change to the values returned by the system properties
java.specification.version and
java.vm.specification.version. They continue to report
"11". The value returned by the newly defined system
property
java.specification.maintenance.version is
"2".
Add a new system property,
java.specification.maintenance.version, which returns the
maintenance release number of the Java SE specification being implemented
by the JDK.
Add the system property to the table in the specification
of System.getProperties():
java.specification.maintenance.version
Java Runtime Environment specification maintenance version, may be
interpreted as a positive integer (optional, see below)
Add the following details to the specification of
System.getProperties():
The java.specification.maintenance.version property is
defined if the specification implemented by this runtime at the time of
its construction had undergone a
maintenance
release. When defined, its value identifies that maintenance
release. To indicate the first maintenance release this property will have
the value "1", to indicate the second maintenance release,
this property will have the value "2", and so on.
The Change Specification Request (CSR) associated with this change is
8302366.
This specification of java.specification.maintenance.version
aligns with the corresponding specification in the
Final Release of Java SE 19.
Update the second paragraph of the "Unicode Conformance" section of the
java.lang.Character class specification to allow code points
in the range of U+9FEB to U+9FEF (5 code
points) to support GB18030-2022, Implementation Level 2.
The Java SE 11 Platform uses character
information from version 10.0 of the Unicode Standard, with
an extension.
two extensions.
The Java SE 11 Platform allows an implementation of class
Character to use the Japanese Era code point,
U+32FF, from the first version of the Unicode Standard
after 10.0 that assigns the code point.
First, the Java SE 11 Platform
allows an implementation of class Character to use
the code points in the range of U+9FEB to
U+9FEF from the Unicode Standard version 11.0, in
order for the class to allow the "Implementation Level 2" of
the Chinese GB18030-2022 standard. Second, the Java SE 11
Platform allows an implementation of class Character to
use the Japanese Era code point, U+32FF, from the
Unicode Standard version 12.1.
Consequently, the behavior of fields and methods of class
Character may vary across implementations of the Java SE 11
Platform when processing the aforementioned code points ( outside of
version 10.0 ), except for the following methods that define Java
identifiers: isJavaIdentifierStart(int),
isJavaIdentifierStart(char),
isJavaIdentifierPart(int), and
isJavaIdentifierPart(char). Code points in Java identifiers
must be drawn from version 10.0 of the Unicode Standard.
The Change Specification Requests (CSR) associated with this change are 8301558 and 8305685.