Greetings!
JDK 19 is now in Rampdown Phase Two [1]. The overall feature set is
frozen. Per the JDK Release Process [2] we now turn our focus to P1 and
P2 bugs, which can be fixed with approval [3]. Late enhancements are
still possible, with approval, but the bar is now extraordinarily high [4].
Given the current state of affairs, it is a good time to start testing
your project(s) on JDK 20 Early-Access builds. To conclude, please make
sure to check the heads-up below, including the one covering JavaOne!
[1]
https://mail.openjdk.org/pipermail/jdk-dev/2022-July/006803.html
[2]
https://openjdk.org/jeps/3
[3]
https://openjdk.org/jeps/3#Fix-Request-Process
[4]
https://openjdk.org/jeps/3#Late-Enhancement-Request-Process
## Heads-up - JavaOne is back!
After a long hiatus, JavaOne is back! From October 17-20 in Las Vegas,
JavaOne will be jam-packed with hundreds of valuable and actionable
sessions directly from the experts: learning sessions, tutorials,
hands-on labs, lightning talks, panels, an unconference, BoF's, etc. The
full JavaOne content catalog will be released soon. In the meantime,
make sure to check
https://inside.java/javaone/ for more updates.
And if you are planning to attend JavaOne, please ping me. I'd like to
meet you in person to chat over OpenJDK and the Quality Outreach
program. And the drinks will be on me!
## Heads-up - JavaFX Media enhancements survey
The JavaFX team is conducting a short survey [5] to gather input on
potential JavaFX Media enhancements.
The process is quite simple as the feedback will be collected via the
openjfx-dev [6] mailing list. So if you are using JavaFX, make sure to
raise your voice.
[5]
https://mail.openjdk.org/pipermail/openjfx-dev/2022-July/034949.html
[6]
https://mail.openjdk.org/mailman/listinfo/openjfx-dev
## JDK 19
JDK 19 Early-Access builds 32 are now available [7], and are provided
under the GNU General Public License v2, with the Classpath Exception.
The Release Notes are available here [8].
[7]
https://jdk.java.net/19/
[8]
https://jdk.java.net/19/release-notes
### JEPs integrated to JDK 19:
- JEP 405: Record Patterns (Preview)
- JEP 422: Linux/RISC-V Port
- JEP 424: Foreign Function & Memory API (Preview)
- JEP 425: Virtual Threads (Preview)
- JEP 426: Vector API (4th Incubator)
- JEP 427: Pattern Matching for switch (3rd Preview)
- JEP 428: Structured Concurrency (Incubator)
### Recent changes that maybe of interest:
- JDK-8289127: Apache Lucene triggers: DEBUG MESSAGE: duplicated
predicate failed which is impossible
- JDK-8290596: Update java.net.InetAddress to Detect Ambiguous IPv4
Address Literals
- JDK-8290615: Remove the Alternate ThreadLocal Implementation of the
Subject::current and Subject::callAs APIs
- JDK-8290417: CDS cannot archive lamda proxy with useImplMethodHandle
- JDK-8287809: Revisit implementation of memory session
- JDK-8289278: Suspend/ResumeAllVirtualThreads need both can_suspend and
can_support_virtual_threads
- JDK-8288589: Files.readString ignores encoding errors for UTF-16
- JDK-8288425: Footprint regression due MH creation when initializing
StringConcatFactory
## JDK 20
JDK 20 Early-Access builds 7 are now available [9], and are provided
under the GNU General Public License v2, with the Classpath Exception.
[9]
https://jdk.java.net/20/
### Recent changes that maybe of interest:
- JDK-8264999: GeneralPath.lineTo() to itself produces jagged lines
[Logged by Apache PDFBox]
- JDK-8284997: arm32 build crashes since JDK-8283326 [Logged by JaCoCo]
- JDK-8286101: Support formatting in @value tag
- JDK-8289260: BigDecimal movePointLeft() and movePointRight() do not
follow their API spec
- JDK-8287835: Add support for additional float/double to integral
conversion for x86
- JDK-8283091: Support type conversion between different data sizes in SLP
- JDK-8288573: Make Executable.getParameterCount() actually abstract
- JDK-8266670: Better modeling of access flags in core reflection
- JDK-8290601: Update java.net.InetAddress to Detect Ambiguous IPv4
Address Literals
- JDK-8290334: Update FreeType to 2.12.1
- JDK-8286030: Avoid JVM crash when containers share the same /tmp dir
- JDK-8289743: AArch64: Clean up patching logic
- JDK-8288107: Auto-vectorization for integer min/max
- JDK-8274235: -Xshare:dump should not call vm_direct_exit
## Topics of Interest:
* What is OpenJDK? - Inside Java Newscast
https://inside.java/2022/06/30/insidejava-newscast-028/
* “Towards Generational ZGC!” - Inside Java Podcast
https://inside.java/2022/06/29/podcast-024/
* HotSpot Deep Dive - Safepoint
https://inside.java/2022/07/12/hotspot-deep-dive-safepoint/
* Introduction to Project Panama - Part 2: Variadic Functions
https://inside.java/2022/06/27/introduction-to-project-panama-part-2/
* Data-Oriented Programming - Inside Java Newscast
https://inside.java/2022/07/14/insidejava-newscast-029/
* Launching 10 millions virtual threads with Loom - JEP Café
https://inside.java/2022/07/07/jepcafe12/
* Java 19 Virtual Threads - JEP Café
https://inside.java/2022/06/08/jepcafe11/
## July 2022 Critical Patch Update Released
As part of the July 2022 CPU, we released JDK 18.0.2, JDK 17.0.4 LTS,
JDK 11.0.16 LTS, JDK 8u341 and JDK 7u351 as well as OpenJDK 18.0.2
~
As always, if you find an issue while testing your project(s), please
let us know through the usual channels. Thanks for your support!
--
David