After Java 9, oracle intends to release new versions of java every 6 months. After the latest version : Java 17, there will be an LTS (Long term support) release every 2 years. So the next LTS release Java 21 will be on September 2023. Java SE 1-5, 6, 7, 8, 11 and 17 are LTS releases. Below table provides all the major java versions, release dates and End of Support Life (The length of time updates are provided).
|Release||General Availability / Release Date||End of Support Life (EOSL)|
|JDK 1.0||January 1996|
|JDK 1.1||February 1997||October 2002|
|Java2 SE 1.2(LTS)||December 1998||December 2003|
|Java2 SE 1.3 (LTS)||May 2000||April 2011|
|Java2 SE 1.4 (LTS)||February 2002||March 2013|
|Java2 SE 5 (LTS)||September 2004||July 2015|
|Java SE 6 (LTS)||December 2006||December 2018|
|Java SE 7 (LTS)||July 2011||July 2022|
|Java SE 8 (LTS)||March 2014||December 2030|
|Java SE 9 (non-LTS)||September 2017||March 2018|
|Java SE 10 (non-LTS)||March 2018||September 2018|
|Java SE 11 (LTS)||September 2018||September 2026|
|Java SE 12 (non-LTS)||March 2019||September 2019|
|Java SE 13 (non-LTS)||September 2019||March 2020|
|Java SE 14 (non-LTS)||March 2020||September 2020|
|Java SE 15 (non-LTS)||September 2020||March 2021|
|Java SE 16 (non-LTS)||March 2021||September 2021|
|Java SE 17 (LTS)||September 2021||September 2029|
|Java SE 18 (non-LTS)||March 2022||September 2022|
|Java SE 19 (non-LTS)||September 2022||March 2023|
|Java SE 20 (non-LTS)||March 2023||September 2023|
|Java SE 21 (LTS)||September 2023||September 2031|
There are a lot of modern language features introduced between Java 11 and Java 17. Projects which are still on Java 8 can migrate directly to the Java 17 LTS release instead of moving to Java 11 LTS to benefit from all the latest features of Java 17.
When was Java 5 released ?
Java 5 was released on 2004-Sep-30 with lot of great new features. Starting from Java 5 the major version got dropped. So the next version of Java 1.4 became 5. Some of the new features of Java 5 include:
- Enhanced for Loop
- Typesafe Enums
- Static import
- Concurrency Utilities (java.util.concurrent)
- Monitoring and Management APIs.
For more details refer Java 5 new features