|Keep Track Of Java Features with JEP Search|
|Written by Nikos Vaggalis|
|Monday, 20 September 2021|
Here we have a very practical resource for sorting, searching and filtering Java JEPs. But before we get to the details, what exactly is a JEP and why should we care?
JEP stands for JDK Enhancement Proposal. They are proposals for adding new major features to the JDK. Arriving at a specification from of an initial proposal is an iterative process which also includes Requests For Comments. A proposed feature can concern the addition of something new to the language, like Records or Switch expressions, or to any of the Java APIs. It can mean deprecating features as well, like JEP 289 suggesting the deprecation of the Applet API. It can also affect other miscellaneous parts, such as JEP 413 "Code Snippets in Java API Documentation" scheduled for Java 18 which seeks to :
Introduce an @snippet tag for JavaDoc's Standard Doclet, to simplify the inclusion of example source code in API documentation.
Retrieving and looking into JEPs can answer a lot of questions, like discovering when a certain feature was introduced or looking at where things are heading in the future. The newly introduced JEP Search, built by Chris Newland, makes that retrieval a piece of cake.
JEP Search encompasses the full collection of JEPs. By itself this does not say much, there's the official JEP Index for that purpose too. The novelty is that JEP Search categorizes them according to version Release, Relation, Dependency or Project while on top of that it offers to Sort them, for example, by Date or Status, or Searching through them with keywords.
Because a picture is worth a thousand words let's compare the official JEP index to JEP Search side by side
If, for example, I wanted to look at everything that Java 17 brings,
Clicking on the linked JEP in question, say "406:Pattern Matching for switch" I get navigated to the official description.
It's important to understand that it can take years for a JEP to be implemented and usually the process starts from the reporting of an issue. For example, 406's issue is filed with number 8213076, which goes on to describe why it should be implemented:
Enhance the Java programming language with pattern matching for switch expressions and statements, along with extensions to the language of patterns. Extending pattern matching to switch allows an expression to be tested against a number of patterns, each with a specific action, so that complex data-oriented queries can be expressed concisely and safely.
We also see that it was Created on 2018-10-29 and Resolved on 2021-07-23. JEP Search can sort by issue or by creation/update date too.
If I want to, I can also peek at the features coming in version 18 which has got the following JEPs lined up:
400 UTF-8 by Default
They keyword search is very handy too. When I enter 'Loom' I get back the JEPs of that project:
353 Reimplement the Legacy Socket API
I can also sort the results by Project so that I get all the Loom, Valhalla or Panama project results grouped separately.
In detail Sorting can be done by the following criteria:
While Status can be sub-filtered according to the following values:
and of course the Releases can be filtered by Java version as well.
All in all, JEP search seems to be a very handy resource when researching, studying, looking for specific information or just wanting to stay ahead of the curve. Check it out!
or email your comment to: firstname.lastname@example.org
|Last Updated ( Monday, 20 September 2021 )|