I can see the list of JEPs on the OpenJDK website but I think there are smaller API enhancements - new methods added etc. Is there a complete list of such changes or would I have to go through each GitHub tag to see them?
I can see the list of JEPs on the OpenJDK website but I think there are smaller API enhancements - new methods added etc. Is there a complete list of such changes or would I have to go through each GitHub tag to see them?
You can use the Java Version Almanac to compare Java versions and get a list of changes.
For example if you want to know what methods are added or removed between Java 18 and 19: https://javaalmanac.io/jdk/19/apidiff/18/
Though not quite as comprehensive as javaalmanac.io as detailed in the answer from mszalbach, the formal Javadoc documentation for each JDK release now details all API changes since JDK 11.
To access details of changes, just click New on the Javadoc menu bar. For example, if you do that for JDK 18 this is what you see:
There is a series of links listed under Contents for changes made to classes, methods, packages, etc. You can drill down by clicking any of those links. For example, by clicking the methods link, then scrolling down to java.lang.String you can see all methods added to the String class since JDK 11:
If you just want to see changes for a specific release, click the relevant Added in {XX} button. For example, to see all new constructors added in JDK 15, click New > Constructors, then click Added in 15:
Although the Java Version Almanac has a prettier UI than Javadoc, and it goes all the way back to Java 1.0, I just find the formal Javadoc more convenient to use, and since it is generated directly from the JDK source it is unlikely to contain any errors or omissions.