JSON API to be dropped from Java 9
Previously confirmed for Java 9, the JSON API is now to be postponed, as Oracle debates two new features for its next major Java release.
It’s beginning to look more and more that Oracle is planning a Summer/Autumn 2016 release of Java 9. But after two rounds of feature announcements (including a HTTPS 2.0 client and enhanced compiler controls), the first feature has already been crossed from the list of additions to Java 9: the ‘lightweight’ JSON API.
“Proposed to Drop”: JSON API
Although Reinhold says the JSON API would be a “useful addition to the platform”, the Java head has decided to relegate it to the “Proposed to Drop” state.
On the bright side, Reinhold hints at the fact that Oracle is “considering funding” other new features for Java 9 (now that room has been made for them).
“We may reconsider this [JSON API] JEP for JDK 10 or a later release, especially if new language features such as value types and generics over primitive types (JEP 218) enable a more compact and expressive API.” – Mark Reinhold
Still in “candidate” status, the “generics over primitive types” feature was initially ruled out of the Java 9 release. The feature proposes to “extend generic types to support the specialization of generic classes and interfaces over primitive types,” which in turn would benefit the JSON API.
CTO of WSO2, Paul Fremantle previously summarized the general consensus that the JSON API was nothing to write home about.
“It’s just that there’s loads of really good JSON APIs in open source. Does it really help to have it in Java? I don’t buy that myself. […] If you’re going to do JSON, have it as a first-class entity in the language. Learn some lessons from some of the dynamic languages on ease of use and how to use JSON and that kind of model in an absolutely first class way.” – Paul Fremantle
Given the community’s lukewarm response to the accepted Java 9 features, this could be a chance for Oracle to excite Java developers about the next major release with another more “important” new feature (to quote Reinhold).
“Proposed to Target”: Diagnostics commands and PKCS12 Keystores
The latest proposed additions to Java 9 are JEPs 228 and 229. The former aims to add more diagnostics commands for Hotspot and the JDK. The latter proposes to transition the current Default Keystore Type from JKS to PKCS12, which will allow for better encryption algorithms and thus improve security.
Like the proposal to drop the JSON API, these two features are up for debate until December 11, 2014, when they will be officially adopted into the Java 9 feature catalogue.