Hello David,
I ran our Ant testsuite against Java 22 build 22+36-2370 and Java 23 EA
build 23-ea+17-1368. The tests completed fine and no regressions or
issues were found:
https://ci-builds.apache.org/job/Ant/job/Ant%20Master%20Linux%20(latest%20EA%20JDK)/48/
https://ci-builds.apache.org/job/Ant/job/Ant%20Master%20Linux%20(latest%20EA%20JDK)/49/
-Jaikiran
On 02/04/24 12:53 pm, David Delabassee wrote:
Welcome to the latest OpenJDK Quality Outreach update!
Java 22 was just released along with JavaFX 22 [1][2]. Thank you to all the
projects who contributed to those releases by testing and providing feedback
using their respective early-access builds. And to celebrate that, the Java
DevRel Team hosted a +4h live-stream with guests such as Brian Goetz, Viktor
Klang, Alan Bateman, etc. You can watch the launch stream replay here [3].
The JDK 23 schedule is now known [4] with rampdown starting early June and
general availability sets for mid-September. So far, 2 JEPs have been targeted
to JDK 23:
- JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview) [5]
- JEP 466: Class-File API (2nd Preview) [6]
The focus should now be shifted to testing your project(s) on JDK 23. And don't
forget that the Oracle setup-java github action [7] supports, amongst others,
the latest OpenJDK 23 Early-Access builds. So, JDK 23 EA testing is literally
one pipeline away.
[1] https://mail.openjdk.org/pipermail/jdk-dev/2024-March/008827.html
[3] https://jdk.java.net/javafx22/
[3] https://www.youtube.com/live/AjjAZsnRXtE?feature=shared&t=278
[4] https://openjdk.org/projects/jdk/23/
[5] https://openjdk.org/jeps/455
[6] https://openjdk.org/jeps/466
[7] https://github.com/oracle-actions/setup-java
## Heads-up: JDK 20-23: Support for Unicode CLDR Version 42
The JDK update to CLDR version 42 included a change where regular spaces in
date/time formats (and some other formatted values) were replaced with (narrow)
non-breaking spaces. This lead to issues for existing code that relied on
parsing such strings. To address that, JDK 23 allows loose matching of spaces
when parsing date/time strings. Loose matching is performed in the lenient
parsing style for both date/time parsers in `java.time.format` and `java.text`
packages. In the default strict parsing style, those spaces are considered
distinct as before.
Please read this updated heads-up [9] for details on how to configure
strict/lenient parsing in the `java.time.format` (strict by default) and
`java.text` (lenient by default) packages.
[9] https://inside.java/2024/03/29/quality-heads-up/
## Heads-up: macOS 14 users running on Apple silicon systems should update
directly to macOS 14.4.1
An issue introduced by macOS 14.4 caused some Java processes, regardless of the
Java version, to terminate unexpectedly on Apple silicon (AArch64). On March 25
Apple released macOS 14.4.1 and indicated on their support site that it
addresses this issue. Oracle can confirm that after applying macOS 14.4.1 we
are unable to reproduce the problem. So, Java users on macOS 14 running on
Apple silicon systems should skip macOS 14.4 and update directly to macOS
14.4.1.
More details can be found on
https://blogs.oracle.com/java/post/java-on-macos-14-4
## JDK 23 Early-Access Builds
The JDK 23 EA builds 16 are available [10], and are provided under the GNU
General Public License v2, with the Classpath Exception. The Release Notes [11]
are also available.
### Changes in recent JDK 23 builds that may be of interest:
- JDK-8324774: Add DejaVu web fonts (reported by AssertJ)
- JDK-8327385: Add JavaDoc option to exclude web fonts from generated
documentation (reported by AssertJ)
- JDK-8328638: Fallback option for POST-only OCSP requests
- JDK-8320362: Load anchor certificates from Keychain keystore
- JDK-8327875: ChoiceFormat should advise throwing
UnsupportedOperationException for unused methods
- JDK-8296244: Alternate implementation of user-based authorization Subject
APIs that doesn’t depend on Security Manager APIs
- JDK-8327818: Implement Kerberos debug with sun.security.util.Debug
- JDK-7036144: GZIPInputStream readTrailer uses faulty available() test for
end-of-stream
- JDK-8319251: Change LockingMode default from LM_LEGACY to LM_LIGHTWEIGHT
- JDK-8327651: Rename DictionaryEntry members related to protection domain
- JDK-8321408: Add Certainly roots R1 and E1
- JDK-8164094: javadoc allows to create a @link to a non-existent method
- JDK-8325496: Make TrimNativeHeapInterval a product switch
- JDK-8174269: Remove COMPAT locale data provider from JDK
- JDK-8322750: Test "api/java_awt/interactive/SystemTrayTests.html" failed
because …
- JDK-8139457: Relax alignment of array elements
- JDK-8256314: JVM TI GetCurrentContendedMonitor is implemented incorrectly
- JDK-8326908: DecimalFormat::toPattern throws OutOfMemoryError when pattern is
empty string
- JDK-8247972: incorrect implementation of JVM TI GetObjectMonitorUsage
- JDK-8325580: Remove "alternatives --remove" call from Java rpm installer
- JDK-8326838: JFR: Native mirror events
- JDK-8326106: Write and clear stack trace table outside of safepoint
- JDK-8323183: ClassFile API performance improvements
- JDK-8324829: Uniform use of synchronizations in NMT
- JDK-8326586: Improve Speed of System.map
- JDK-8318761: MessageFormat pattern support for CompactNumberFormat,
ListFormat, and DateTimeFormatter
- JDK-8265372: Simplify PKCS9Attribute
- JDK-8317431: Implement simpler Comparator when building certification paths
- JDK-8327093: Add truncate function to BitMap API
Note: A more detailed list of changes can be found here [12].
[10] https://jdk.java.net/23/
[11] https://jdk.java.net/23/release-notes
[12] https://github.com/openjdk/jdk/compare/jdk-23+10...jdk-23+16
## JavaFX 23 Early-Access Builds
These are early access builds of the JavaFX 23 Runtime built from openjdk/jfx
[13]. These builds enable JavaFX application developers to build and test their
applications with JavaFX 23 on JDK 23. Although these builds are designed to
work with JDK 23, they are also known to work with JDK 17 and later versions.
The latest early access builds of JavaFX 23 Builds 10 (2024/3/26) are available
[14], under the GNU General Public License, version 2, with the Classpath
Exception.
[13] https://github.com/openjdk/jfx
[14] https://jdk.java.net/javafx23/
## Topics of Interest:
- The Arrival of Java 22
https://inside.java/2024/03/19/the-arrival-of-java-22/
- JDK 22 Release Notes Review (video)
https://inside.java/2024/03/14/newscast-65/
- Java 22 in 2 Minutes
https://inside.java/2024/03/21/sip095/
- (Dirty?) Tricks in Java 22
https://inside.java/2024/02/29/newscast-64/
- JDK 22 Security Enhancements
https://seanjmullan.org/blog/2024/03/20/jdk22
- Java 17 to 21 - A Showcase of JDK Security Enhancements
https://inside.java/2024/03/03/jfokus-jdk-security-changes/
- Netflix - Bending Pause Times to Your Will with Generational ZGC
https://netflixtechblog.com/bending-pause-times-to-your-will-with-generational-zgc-256629c9386b
- MethodHandle Primer
https://jornvernee.github.io/methodhandles/2024/01/19/methodhandle-primer.html
- Pruning Dead Exception Handlers
https://jornvernee.github.io/hotspot/jit/2024/02/16/prune-dead-exception-handlers.html
- Update on String Templates (JEP 459)
https://mail.openjdk.org/pipermail/amber-spec-experts/2024-March/004010.html
- The State of OpenJDK
https://inside.java/2024/02/23/fosdem2024-openjdk-state/
- Project Wakefield - The JDK Wayland Desktop on Linux
https://inside.java/2024/03/24/openjdk-wakefield/
- Project Leyden - Capturing Lightning in a Bottle
https://inside.java/2024/02/28/leyden/
- jlink - Java's Custom Runtime Builder
https://inside.java/2024/02/25/jlink-stackwalker/
- Modern Java in Action
https://inside.java/2024/03/09/jfokus-modern-java-action/
- New Java Platform Extension for VS Code Release
https://inside.java/2024/03/27/vscode-extension-update/
~
That's it for this instalment. And don't forget to ping me if you encounter
issues with JDK 23 EA builds.
--David
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org
For additional commands, e-mail: dev-h...@ant.apache.org