First JDK 10 Release Candidate is here
© Shutterstock /Stmool
JDK 10’s Rampdown Phase Two ran until February 8, which means there’s just the Release Candidate phase standing between us and the next Java version. Speaking of, the first JDK Release Candidate is here.
The schedule for JDK 10 is running its predetermined course
The first JDK 10 Release Candidate is here. Mark Reinhold announced the news in a message to the OpenJDK mailing list: “There are no unresolved P1 bugs in build 43, so that is our first JDK 10 Release Candidate.”
You can find the binaries here.
— Mark Reinhold (@mreinhold) February 12, 2018
During the Release Candidate phase, they are only fixing “those bugs that are absolutely critical to the success of the release.”
The goals of this phase are to:
- Fix all P1 bugs that are new in JDK 10 and critical to the success of the release;
- Decommit from fixing any P1 bugs that are not new in JDK 10 and are not critical to this release, but were previously targeted to this release; and
- Explicitly defer any P1 bugs that are new in JDK 10 but are either not critical to this release or cannot, for good reason, be fixed in this release.
All P2-P5 bugs will be left to future releases,
See the Release-Candidate Phase page for more details.
Update January 16, 2018
JDK 10 entered Rampdown Phase Two today and then there’s just the Release Candidate phase (initial and final) standing between us and the next Java version.
The aim of this phase is to ensure that the bugs that must be fixed are actually fixed “in order to ensure a successful release,” Mark Reinhold wrote in a message to the OpenJDK mailing list. Furthermore, it will help them understand why some bugs (that perhaps should be fixed) are not going to be fixed.
SEE ALSO: Year in review: Java in 2017
The specific goals of Rampdown Phase Two are to:
- Fix all P1 and P2 bugs that are new in JDK 10 and critical to the success of this release;
- Decommit from fixing any P1 or P2 bugs that are not new in JDK 10 and are not critical to this release, but were previously targeted to this release; and
- Explicitly defer any P1 or P2 bugs that are new in JDK 10 but are either not critical to this release or cannot, for good reason, be fixed in this release.
P3–P5 bugs whose fixes would affect product code must, at this point, be left to future releases.
Here are the proposed pages for RDP 2 and the fix-request process:
This phase will run until 8 February, when they will produce an initial Release Candidate build and enter the Release Candidate phase.
JDK 10 features
286: Local-Variable Type Inference
Enhance the Java Language to extend type inference to declarations of local variables with initializers.
296: Consolidate the JDK Forest into a Single Repository
Combine the numerous repositories of the JDK forest into a single repository in order to simplify and streamline development.
304: Garbage-Collector Interface
Improve the source code isolation of different garbage collectors by introducing a clean garbage collector (GC) interface.
307: Parallel Full GC for G1
Improve G1 worst-case latencies by making the full GC parallel.
310: Application Class-Data Sharing
To improve startup and footprint, extend the existing Class-Data Sharing (“CDS”) feature to allow application classes to be placed in the shared archive.
312: Thread-Local Handshakes
Introduce a way to execute a callback on threads without performing a global VM safepoint. Make it both possible and cheap to stop individual threads and not just all threads or none.
313: Remove the Native-Header Generation Tool (javah)
Remove the javah tool from the JDK.
314: Additional Unicode Language-Tag Extensions
Enhance java.util.Locale and related APIs to implement additional Unicode extensions of BCP 47 language tags.
316: Heap Allocation on Alternative Memory Devices
Enable the HotSpot VM to allocate the Java object heap on an alternative memory device, such as an NV-DIMM, specified by the user.
317: Experimental Java-Based JIT Compiler
Enable the Java-based JIT compiler, Graal, to be used as an experimental JIT compiler on the Linux/x64 platform.
319: Root Certificates
Provide a default set of root Certification Authority (CA) certificates in the JDK.
322: Time-Based Release Versioning
Revise the version-string scheme of the Java SE Platform and the JDK, and related versioning information, for present and future time-based release models.