JDK Releases
The release information on this page covers the JDK releases that were widely distributed or significant to the development of Java. It does not cover patch releases or other one-off releases.
View by Month
Planned(1) | ||||
---|---|---|---|---|
Date | Type | Version | Other Information | |
2027-01-19 | CPU | 27.0.2, 25.0.6, 21.0.14, 17.0.22, 11.0.34, 8u521 | ||
2026-10-20 | CPU | 27.0.1, 25.0.5, 21.0.13, 17.0.21, 11.0.33, 8u511 | ||
2026-09-15 | Feature | 27 | ||
2026-07-21 | CPU | 26.0.2, 25.0.4, 21.0.12, 17.0.20, 11.0.32, 8u501 | ||
2026-04-21 | CPU | 26.0.1, 25.0.3, 21.0.11, 17.0.19, 11.0.31, 8u491 | ||
2026-03-17 | Feature | 26 | ||
2026-01-20 | CPU | 25.0.2, 21.0.10, 17.0.18, 11.0.30, 8u481 | ||
2025-10-21 | CPU | 25.0.1, 21.0.9, 17.0.17, 11.0.29, 8u471 | ||
2025-09-16 | Feature | 25 LTS | Early Access | |
2025-07-15 | CPU | 24.0.2, 21.0.8, 17.0.16, 11.0.28, 8u461 | ||
2025-04-15 | CPU | 24.0.1, 21.0.7, 17.0.15, 11.0.27, 8u451 | ||
2025-03-18 | Feature | 24 | Early Access, JSR 399 | |
Released | ||||
Date | Type | Version | Other Information | |
2025-01-21 | CPU | 23.0.2 | Risk Matrix | |
" | 21.0.6 | |||
" | 17.0.14 | |||
" | 11.0.26 | |||
" | 8u441 | |||
2024-10-15 | CPU | 23.0.1 | Risk Matrix | |
" | 21.0.5 | |||
" | 17.0.13 | |||
" | 11.0.25 | |||
" | 8u431 | |||
2024-09-17 | Feature | 23 | Documentation, JSR 398, Configurations | |
2024-07-16 | CPU | 22.0.2 | Risk Matrix | |
" | 21.0.4 | |||
" | 17.0.12 | |||
" | 11.0.24 | |||
" | 8u421 | |||
2024-04-16 | CPU | 22.0.1 | Risk Matrix | |
" | 21.0.3 | |||
" | 17.0.11 | |||
" | 11.0.23 | |||
" | 8u411 | |||
2024-03-19 | Feature | 22 | Documentation, JSR 397, Configurations | |
2024-01-16 | CPU | 21.0.2 | Risk Matrix | |
" | 17.0.10 | |||
" | 11.0.22 | |||
" | 8u401 | |||
2023-10-17 | CPU | 21.0.1 | Risk Matrix | |
" | 17.0.9 | |||
" | 11.0.21 | |||
" | 8u391 | |||
2023-09-19 | Feature | 21 LTS | Documentation, JSR 396, Configurations | |
2023-07-18 | CPU | 20.0.2 | Risk Matrix | |
" | 17.0.8 | |||
" | 11.0.20 | |||
" | 8u381 | |||
2023-04-18 | CPU | 20.0.1 | Risk Matrix | |
" | 17.0.7 | |||
" | 11.0.19 | |||
" | 8u371 | |||
2023-03-21 | Feature | 20 | Documentation, JSR 395, Configurations | |
2023-01-17 | CPU | 19.0.2 | Risk Matrix | |
" | 17.0.6 | |||
" | 11.0.18 | |||
" | 8u361 | |||
2022-10-18 | CPU | 19.0.1 | Risk Matrix | |
" | 17.0.5 | |||
" | 11.0.17 | |||
" | 8u351 | |||
2022-09-20 | Feature | 19 | Documentation, JSR 394, Configurations | |
2022-08-18 | Patch | 18.0.2.1 | ||
" | 17.0.4.1 | |||
" | 11.0.16.1 | |||
2022-07-19 | CPU | 18.0.2 | Risk Matrix | |
" | 17.0.4 | |||
" | 11.0.16 | |||
" | 8u341 | |||
" | 7u351 | |||
2022-05-02 | Patch | 18.0.1.1 | ||
" | 17.0.3.1 | |||
" | 11.0.15.1 | |||
" | 8u333 | |||
" | 7u343 | |||
2022-04-19 | CPU | 18.0.1 | Risk Matrix | |
" | 17.0.3 | |||
" | 11.0.15 | |||
" | 8u331 | |||
" | 7u341 | |||
2022-03-22 | Feature | 18 | Documentation, JSR 393, Configurations | |
2022-01-18 | CPU | 17.0.2 | Risk Matrix | |
" | 11.0.14 | |||
" | 8u321 | |||
" | 7u331 | |||
2021-10-19 | CPU | 17.0.1 | Risk Matrix | |
" | 11.0.13 | |||
" | 8u311 | |||
" | 7u321 | |||
2021-09-14 | Feature | 17 LTS | Documentation, JSR 392, Configurations | |
2021-07-20 | CPU | 16.0.2 | Risk Matrix | |
" | 11.0.12 | |||
" | 8u301 | |||
" | 7u311 | |||
2021-04-20 | CPU | 16.0.1 | Risk Matrix | |
" | 11.0.11 | |||
" | 8u291 | |||
" | 7u301 | |||
2021-03-16 | Feature | 16 | Documentation, JSR 391, Configurations | |
2021-01-19 | CPU | 15.0.2 | Risk Matrix | |
" | 11.0.10 | |||
" | 8u281 | |||
" | 7u291 | |||
2020-10-20 | CPU | 15.0.1 | Risk Matrix | |
" | 11.0.9 | |||
" | 8u271 | |||
" | 7u281 | |||
2020-09-15 | Feature | 15 | Documentation, JSR 390, Configurations | |
2020-07-14 | CPU | 14.0.2 | Risk Matrix | |
" | 11.0.8 | |||
" | 8u261 | |||
" | 7u271 | |||
2020-04-14 | CPU | 14.0.1 | Risk Matrix | |
" | 11.0.7 | |||
" | 8u251 | |||
" | 7u261 | |||
2020-03-17 | Feature | 14 | Documentation, JSR 389, Configurations | |
2020-01-14 | CPU | 13.0.2 | Risk Matrix | |
" | 11.0.6 | |||
" | 8u241 | |||
" | 7u251 | |||
2019-10-15 | CPU | 13.0.1 | Risk Matrix | |
" | 11.0.5 | |||
" | 8u231 | |||
" | 7u241 | |||
2019-09-17 | Feature | 13 | Documentation, JSR 388, Configurations | |
2019-07-16 | CPU | 12.0.2 | Risk Matrix | |
" | 11.0.4 | |||
" | 8u221 | |||
" | 7u231 | |||
2019-04-16 | CPU | 12.0.1 | Risk Matrix | |
CPU | 11.0.3 | |||
PSU | 8u212 | |||
CPU | 8u211 | |||
CPU | 7u221 | |||
2019-03-19 | Feature | 12 | Documentation, JSR 386, Configurations | |
2019-01-15 | CPU | 11.0.2 | Risk Matrix | |
PSU | 8u202 | |||
CPU | 8u201 | |||
CPU | 7u211 | |||
2018-10-16 | CPU | 11.0.1 | Risk Matrix | |
PSU | 8u192 | |||
CPU | 8u191 | |||
CPU | 7u201 | |||
CPU | 6u211 | |||
2018-09-25 | Feature | 11 LTS | Documentation, JSR 384, Configurations | |
2018-07-17 | CPU | 10.0.2 | Risk Matrix | |
" | 8u181 | |||
" | 7u191 | |||
" | 6u201 | |||
2018-04-17 | CPU | 10.0.1 | Risk Matrix | |
PSU | 8u172 | |||
CPU | 8u171 | |||
CPU | 7u181 | |||
CPU | 6u191 | |||
2018-03-20 | Feature | 10 | Documentation, JSR 383, Configurations | |
2018-01-16 | CPU | 9.0.4 | Risk Matrix | |
PSU | 8u162 | |||
CPU | 8u161 | |||
CPU | 7u171 | |||
CPU | 6u181 | |||
2017-10-17 | CPU | 9.0.1 | Risk Matrix | |
PSU | 8u152 | |||
CPU | 8u151 | |||
CPU | 7u161 | |||
CPU | 6u171 | |||
2017-09-21 | Major | 9 | Documentation, JSR 379, Configurations | |
2017-07-26 | ER | 8u144 | ||
2017-07-18 | CPU | 8u141 | Risk Matrix | |
" | 7u151 | |||
" | 6u161 | |||
2017-04-18 | CPU | 8u131 | Risk Matrix | |
" | 7u141 | |||
" | 6u151 | |||
2017-01-17 | CPU | 8u121 | Risk Matrix | |
" | 7u131 | |||
" | 6u141 | |||
2016-10-18 | PSU | 8u112 | Risk Matrix | |
CPU | 8u111 | |||
CPU | 7u121 | |||
CPU | 6u131 | |||
2016-07-19 | PSU | 8u102 | Risk Matrix | |
CPU | 8u101 | |||
CPU | 7u111 | |||
CPU | 6u121 | |||
2016-04-19 | PSU | 8u92 | Risk Matrix | |
CPU | 8u91 | |||
CPU | 7u101 | |||
CPU | 6u115 | |||
2016-03-23 | SA | 8u77 | Risk Matrix | |
" | 7u99 | |||
2016-02-05 | SA | 8u74 | Risk Matrix | |
" | 8u73 | |||
" | 7u97 | |||
" | 6u113 | |||
2016-01-19 | Update | 8u72 | Risk Matrix | |
CPU | 8u71 | |||
CPU | 7u95 | |||
CPU | 6u111 | |||
2015-10-20 | PSU | 8u66 | Risk Matrix | |
CPU | 8u65 | |||
CPU | 7u91 | |||
CPU | 6u105 | |||
2015-08-18 | Minor | 8u60 | Configurations | |
2015-07-14 | CPU | 8u51 | Risk Matrix | |
" | 7u85 | |||
" | 6u101 | |||
2015-04-14 | CPU | 8u45 | Risk Matrix | |
PSU | 7u80 | |||
CPU | 7u79 | |||
CPU | 6u95 | |||
CPU | 5.0u85 | |||
2015-03-03 | Minor | 8u40 | Configurations | |
2015-01-20 | CPU | 8u31 | Risk Matrix | |
PSU | 7u76 | |||
CPU | 7u75 | |||
CPU | 6u91 | |||
CPU | 5.0u81 | |||
2014-10-14 | CPU | 8u25 | Risk Matrix | |
PSU | 7u72 | |||
CPU | 7u71 | |||
CPU | 6u85 | |||
CPU | 5.0u75 | |||
2014-08-19 | Minor | 8u20 | Configurations | |
2014-08-04 | ER | 7u67 | ||
2014-07-15 | CPU | 8u11 | Risk Matrix | |
" | 7u65 | |||
" | 6u81 | |||
" | 5.0u71 | |||
2014-05-28 | Minor | 7u60 | Configurations | |
2014-04-15 | CPU | 8u5 | Risk Matrix | |
" | 7u55 | |||
" | 6u75 | |||
" | 5.0u65 | |||
2014-03-18 | Major | 8 LTS | Documentation, JSR 337, Configurations | |
2014-01-14 | CPU | 7u51 | Risk Matrix | |
" | 6u71 | |||
" | 5.0u61 | |||
2013-10-15 | CPU | 7u45 | Risk Matrix | |
" | 6u65 | |||
" | 5.0u55 | |||
2013-09-10 | Minor | 7u40 | Configurations | |
Update | 6u60 | |||
2013-06-18 | CPU | 7u25 | Risk Matrix | |
" | 6u51 | |||
" | 5.0u51 | |||
2013-04-16 | CPU | 7u21 | Risk Matrix | |
" | 6u45 | |||
" | 5.0u45 | |||
2013-03-04 | SA | 7u17 | Risk Matrix | |
" | 6u43 | |||
" | 5.0u41 | |||
2013-02-19 | CPU | 7u15 | Risk Matrix | |
" | 6u41 | |||
" | 5.0u40 | |||
" | 1.4.2_42 | |||
2013-02-01 | CPU | 7u13 | Risk Matrix | |
" | 6u39 | |||
" | 5.0u39 | |||
" | 1.4.2_41 | |||
2013-01-13 | SA | 7u11 | Risk Matrix | |
2012-12-11 | Minor | 7u10 | Configurations | |
Update | 6u38 | |||
2012-10-16 | CPU | 7u9 | Risk Matrix | |
" | 6u37 | |||
" | 5.0u38 | |||
" | 1.4.2_40 | |||
2012-08-30 | SA | 7u7 | Risk Matrix | |
" | 6u35 | |||
2012-08-14 | Minor | 7u6 | Configurations | |
Update | 6u34 | |||
2012-06-12 | CPU | 7u5 | Risk Matrix | |
" | 6u33 | |||
" | 5.0u36 | |||
" | 1.4.2_38 | |||
2012-04-26 | Minor | 7u4 | Configurations | |
Update | 6u32 | |||
Update | 5.0u35 | |||
Update | 1.4.2_37 | |||
2012-02-14 | CPU | 7u3 | Risk Matrix | |
" | 6u31 | |||
" | 5.0u34 | |||
" | 1.4.2_36 | |||
2011-12-12 | Minor | 7u2 | Configurations | |
Update | 6u30 | |||
Update | 5.0u33 | |||
Update | 1.4.2_35 | |||
2011-10-18 | CPU | 7u1 | Risk Matrix | |
" | 6u29 | |||
" | 5.0u32 | |||
" | 1.4.2_34 | |||
" | 1.3.1_32 | |||
2011-08-16 | Update | 6u27 | ||
" | 5.0u31 | |||
" | 1.4.2_33 | |||
2011-07-11 | Major | 7 LTS | Documentation, JSR 336, Configurations | |
2011-06-07 | CPU | 6u26 | Risk Matrix | |
" | 5.0u30 | |||
" | 1.4.2_32 | |||
" | 1.3.1_31 | |||
2011-04-21 | Minor | 6u25 | Configurations | |
Update | 5.0u29 | |||
Update | 1.4.2_31 | |||
2011-02-15 | CPU | 6u24 | Risk Matrix | |
" | 5.0u28 | |||
" | 1.4.2_30 | |||
2010-12-13 | Update | 5.0u27 | ||
" | 1.4.2_29 | |||
2010-12-07 | Update | 6u23 | ||
2010-10-18 | Update | 6u22m | ||
2010-10-12 | CPU | 6u22 | Risk Matrix | |
" | 5.0u26 | |||
" | 1.4.2_28 | |||
" | 1.3.1_29 | |||
2010-09-23 | Update | 6u21p | ||
2010-07-07 | Minor | 6u21 | Configurations | |
Update | 5.0u25 | |||
Update | 1.4.2_27 | |||
2010-04-15 | ER | 6u20 | ||
2010-03-30 | CPU | 6u19 | Risk Matrix | |
" | 5.0u24 | |||
" | 1.4.2_26 | |||
" | 1.3.1_28 | |||
2010-01-13 | Update | 6u18 | ||
" | 5.0u23 | |||
" | 1.4.2_25 | |||
2009-11-03 | CPU | 6u17 | ||
" | 5.0u22 | |||
" | 1.4.2_24 | |||
" | 1.3.1_27 | |||
2009-09-07 | Update | 5.0u21 | ||
" | 1.4.2_23 | |||
2009-08-10 | ER | 6u16 | ||
2009-08-04 | CPU | 6u15 | ||
" | 5.0u20 | |||
" | 1.4.2_22 | |||
" | 1.3.1_26 | |||
2009-05-29 | Update | 6u14p | ||
2009-05-28 | Minor | 6u14 | Configurations | |
2009-05-19 | Update | 5.0u19 | ||
" | 1.4.2_21 | |||
2009-03-24 | CPU | 6u13 | ||
" | 5.0u18 | |||
" | 1.4.2_20 | |||
" | 1.3.1_25 | |||
2009-02-02 | Minor | 6u12 | Configurations | |
2008-12-02 | CPU | 6u11 | ||
" | 5.0u17 | |||
" | 1.4.2_19 | |||
" | 1.3.1_24 | |||
2008-10-15 | Minor | 6u10 | Configurations | |
2008-07-08 | CPU | 6u7 | ||
" | 5.0u16 | |||
" | 1.3.1_23 | |||
2008-07-01 | Update | 6u6p | ||
2008-06-08 | CPU | 1.4.2_18 | ||
2008-04-29 | Update | 6u5p | ||
2008-04-15 | Update | 6u6 | ||
2008-03-04 | CPU | 6u5 | ||
" | 5.0u15 | |||
" | 1.4.2_17 | |||
" | 1.3.1_22 | |||
2008-01-11 | Minor | 6u4 | Configurations | |
2008-01-04 | Update | 6u4p | ||
2007-11-12 | Update | 5.0u14 | ||
2007-10-22 | Update | 1.3.1_21 | ||
2007-10-02 | Update | 5.0u13 | ||
" | 1.4.2_16 | |||
2007-09-28 | Update | 6u3 | ||
2007-07-03 | Minor | 6u2 | Configurations | |
2007-06-26 | Update | 1.4.2_15 | ||
2007-05-20 | Update | 5.0u12 | ||
2007-03-28 | Update | 1.4.2_14 | ||
2007-03-13 | Update | 6u1 | ||
2007-02-14 | Update | 1.3.1_20 | ||
2007-01-29 | Update | 5.0u11 | ||
2007-01-12 | Update | 1.2.2_018 | ||
" | 1.2.2_18 | |||
2006-12-12 | Major | 6 LTS | Documentation, JSR 270, Configurations | |
2006-11-29 | Update | 5.0u10 | ||
2006-11-02 | Update | 1.4.2_13 | ||
2006-10-19 | Update | 5.0u9 | ||
2006-09-12 | Update | 1.3.1_19 | ||
2006-08-08 | Update | 5.0u8 | ||
2006-06-01 | Update | 1.4.2_12 | ||
2006-05-24 | Update | 5.0u7 | ||
2006-03-21 | Update | 1.3.1_18 | ||
2006-02-27 | Update | 1.4.2_11 | ||
2005-12-15 | Update | 1.3.1_17 | ||
2005-12-02 | Update | 5.0u6 | ||
2005-10-31 | Update | 1.4.2_10 | ||
2005-09-15 | Update | 5.0u5 | ||
2005-08-10 | Update | 1.4.2_09 | ||
2005-06-23 | Update | 5.0u4 | ||
2005-05-31 | Update | 1.3.1_16 | ||
2005-04-28 | Update | 5.0u3 | ||
2005-03-31 | Update | 1.4.2_08 | ||
2005-03-11 | Update | 5.0u2 | ||
2005-01-24 | Update | 1.4.2_07 | ||
2004-12-20 | Update | 5.0u1 | ||
2004-12-15 | Update | 1.3.1_15 | ||
2004-11-22 | Update | 1.3.1_14 | ||
2004-10-11 | Update | 1.4.2_06 | ||
2004-09-30 | Major | 5.0 | Documentation, JSR 176, Configurations | |
2004-08-31 | Update | 1.3.1_13 | ||
2004-06-30 | Update | 1.4.2_05 | ||
2004-06-07 | Update | 1.3.1_12 | ||
2004-03-08 | Update | 1.4.2_04 | ||
2004-02-26 | Update | 1.3.1_11 | ||
2004-01-30 | Update | 1.4.1_07 | ||
2003-12-16 | Update | 1.3.1_10 | ||
2003-12-15 | Update | 1.4.2_03 | ||
2003-11-18 | Update | 1.4.1_06 | ||
2003-10-29 | Update | 1.4.1_05 | ||
2003-10-17 | Update | 1.4.2_02 | ||
2003-10-02 | Update | 1.2.2_017 | ||
" | 1.2.2_17 | |||
2003-08-25 | Update | 1.4.2_01 | ||
2003-08-08 | Update | 1.3.1_09 | ||
2003-07-24 | Update | 1.4.1_04 | ||
2003-06-27 | Update | 1.2.2_016 | ||
" | 1.2.2_16 | |||
2003-06-26 | Minor | 1.4.2 | Configurations | |
2003-05-29 | Update | 1.4.1_03 | ||
2003-04-30 | Update | 1.3.1_08 | ||
2003-04-09 | Update | 1.2.2_015 | ||
" | 1.2.2_15 | |||
2003-03-31 | Update | 1.4.0_04 | ||
2003-02-27 | Update | 1.4.1_02 | ||
2003-01-30 | Update | 1.3.1_07 | ||
2002-12-02 | Update | 1.4.1_01a | ||
2002-11-14 | Update | 1.4.0_03 | ||
2002-10-29 | Update | 1.2.2_014 | ||
" | 1.2.2_14 | |||
2002-10-22 | Update | 1.3.1_06 | ||
2002-10-16 | Update | 1.4.1_01 | ||
2002-10-09 | Update | 1.1.8_010 | ||
2002-10-03 | Update | 1.3.1_05 | ||
2002-09-19 | Minor | 1.4.1 | ||
2002-09-09 | Update | 1.4.0_02 | ||
2002-07-31 | Update | 1.2.2_013 | ||
" | 1.2.2_13 | |||
2002-07-10 | Update | 1.4.0_01 | ||
" | 1.4.0_01a | |||
2002-06-28 | Update | 1.3.1_04 | ||
2002-04-25 | Update | 1.2.2_012 | ||
" | 1.2.2_12 | |||
2002-03-28 | Update | 1.3.1_03 | ||
2002-02-20 | Update | 1.1.8_009 | ||
2002-02-13 | Major | 1.4.0 | JSR 59 | |
2002-01-31 | Update | 1.2.2_011 | ||
" | 1.2.2_11 | |||
2001-12-20 | Update | 1.3.1_02 | ||
2001-11-29 | Update | 1.3.0_05 | ||
2001-11-01 | Update | 1.2.2_010 | ||
" | 1.2.2_10 | |||
2001-10-19 | Update | 1.3.1_01a | ||
2001-09-04 | Update | 1.3.1_01 | ||
2001-08-30 | Update | 1.3.0_04 | ||
2001-07-26 | Update | 1.2.2_009 | ||
" | 1.2.2_09 | |||
2001-06-28 | Update | 1.1.8_008 | ||
2001-05-17 | Minor | 1.3.1 | ||
2001-05-03 | Update | 1.2.2_008 | ||
" | 1.2.2_08 | |||
2001-03-28 | Update | 1.3.0_03 | ||
" | 1.1.8_13 | |||
" | 1.1.8_007 | |||
2001-02-28 | Update | 1.3.0_02 | ||
2000-12-21 | Update | 1.2.2_007 | ||
" | 1.2.2_07 | |||
" | 1.1.8_006 | |||
2000-11-08 | Update | 1.3.0_01 | ||
2000-08-25 | Update | 1.1.6_009 | ||
2000-08-21 | Update | 1.1.8_12 | ||
2000-08-18 | Update | 1.1.8_11 | ||
" | 1.1.8_005 | |||
2000-07-17 | Update | 1.1.6_008 | ||
2000-07-12 | Update | 1.2.2_006 | ||
" | 1.2.2_06 | |||
2000-05-18 | Update | 1.1.8_004 | ||
2000-05-08 | Major | 1.3.0 | ||
2000-05-05 | Update | 1.2.2_005 | ||
" | 1.2.2_05 | |||
2000-04-17 | Update | 1.2.2_05a | ||
2000-03-20 | Update | 1.2.2_004 | ||
2000-03-17 | Update | 1.1.8_003 | ||
1999-10-29 | Update | 1.1.6_007 | ||
1999-10-15 | Update | 1.2.2_003 | ||
1999-10-05 | Update | 1.2.2_002 | ||
1999-09-10 | Update | 1.1.8_002 | ||
1999-09-02 | Update | 1.2.2_001 | ||
1999-08-13 | Update | 1.1.8_001 | ||
1999-07-08 | Minor | 1.2.2 | ||
1999-04-12 | Update | 1.1.6_006 | ||
1999-04-08 | Micro | 1.1.8 | ||
1999-03-30 | CPU | 1.2.1 | ||
1999-03-12 | Update | 1.1.6_005 | ||
1999-01-15 | Update | 1.1.6_004 | ||
1998-12-04 | Major | 1.2.0 | ||
1998-12-02 | ER | 1.1.7B | ||
1998-11-05 | CPU | 1.1.7A | ||
1998-09-28 | Micro | 1.1.7 | ||
1998-04-24 | Micro | 1.1.6 | ||
1997-12-03 | Micro | 1.1.5 | ||
1997-09-12 | Micro | 1.1.4 | ||
1997-07-02 | Micro | 1.1.3 | ||
1997-05-30 | Micro | 1.1.2 | ||
1997-03-28 | CPU | 1.1.1 | ||
1997-02-18 | Major | 1.1 | ||
1996-05-07 | Micro | 1.0.2 | ||
1996-03-15 | Micro | 1.0.1 | ||
1996-01-23 | Major | 1.0 | ||
1995-05-23 | 1.0_alpha | Released 29 years ago |
The naming, versioning and types of Java releases has changed a number of times; the information on this page is not a complete history and details may be missing from the very early releases.
Java Release Types
Different types of Java releases are made available, some of them include new enhancements and can be adopted over time, whereas some contain vulnerability fixes and should be adopted as quickly as possible. Some release types have changed in line with the versioning and release model changes, and are no longer produced.
Type | Description |
---|---|
Major/Feature Release | Releases where the Specification of the Java SE Platform (see below) can be changed: APIs can be added, deprecated or removed. With the release of JDK 10 the release model was updated to be date driven (every six months) vs. content driven. The Major releases were renamed to Feature Releases to reflect that change. |
Minor Release | Release with a large number of fixes or introduces new functionality, port or OS upgrade. |
Update Release | Focused on bug fixes and platform/3rd party updates and until the introduction of CPU releases also contained vulnerability fixes. |
Patch Release | Contains critical bug fixes, but no additional security vulnerability fixes (unless it is delivered as part of a Security Alert (see below)). |
CPU/Security Release | Until around 2008 vulnerabilities were fixed as they were ready in each release family and there was not the concept of a Security release apart from a few releases that were for a specific security fix. By 2008 vulnerabilities started to be fixed in a coordinated fashion across all applicable release families, three times a year. |
PSU Release | Patch Set Update (PSU) releases were released on the same day as a CPU and contained additional functional fixes as well as the vulnerability fixes, when there was a corresponding PSU then the CPU would not contain general bug fixes. |
ER/SA | Unscheduled releases for vulnerability (Security Alert - SA) or non-vulnerability (Emergency Release - ER) fixes. |
Performance Release | Releases (ending in p) focused on performance improvements and usually contained an updated version of HotSpot which was shipped with new performance benchmark results. |
Java Release Dates
In 2013 the Java Security release model changed to be in line with the Oracle Critical Patch Update (CPU) schedule where CPU releases are released on the third Tuesday of January, April, July and October. Prior to April 2022 the rule was Tuesday closest to the 17th of those months. Full details can be found here, along with instructions on how to subscribe to CPU Alert notifications. Feature releases are scheduled for release in the middle of March and September. The exact dates are posted several months in advance on https://openjdk.java.net/projects/jdk.
Java Release Support Timeline
The length of time updates are provided for a Feature release is outlined in the Oracle Java SE Support Roadmap. Long Term Support (LTS) releases are indicated in the follow table with "LTS".
Release Family | GA | End Of Support Life (EOSL) |
---|---|---|
22 | 19th March 2024 | September 2024 |
21 LTS | 19th September 2023 | September 2031 |
20 | 21st March 2023 | September 2023 |
19 | 20th September 2022 | March 2023 |
18 | 22nd March 2022 | September 2022 |
17 LTS | 14th September 2021 | September 2029 |
16 | 16th March 2021 | September 2021 |
15 | 15th September 2020 | March 2021 |
14 | 17th March 2020 | September 2020 |
13 | 17th September 2019 | March 2020 |
12 | 19th March 2019 | September 2019 |
11 LTS | 25th September 2018 | September 2026 |
10 | 20th March 2018 | September 2018 |
9 | 21st September 2017 | March 2018 |
8 LTS | 18th March 2014 | December 2030 |
7 LTS | 11th July 2011 | July 2022 |
6 LTS | 12th December 2006 | December 2018 |
5 LTS | 30th September 2004 | July 2015 |
4 LTS | 13th February 2002 | March 2013 |
3 LTS | 8th May 2000 | April 2011 |
2 LTS | 4th December 1998 | December 2003 |
1.1 LTS | 28th March 1997 | January 2003 |
1.0 LTS | 23rd January 1996 | October 2002 |
Java Release Naming and Numbering
When first released Java was named Java Development Kit and abbreviated as JDK. With the release of Java version 2 there was a rebranding to Java 2 - full name: Java 2 Software Development Kit, abbreviated to Java 2 SDK or J2SDK. With the release of JDK 6 we went back to using JDK without the “2”.
The Java version-string format has changed several times throughout the years. The following table outlines the main changes.
Release Families | Numbering |
---|---|
10 and above | JEP 322 refined the version numbering further to match the now time based release model. |
9 | With JDK 9 there was an effort to redesign the by now complex numbering from scratch as part of JEP 223. |
6, 7, 8 | With JDK 6 Minor numbers were dropped from the Product Version. During this period the update numbering went through various iterations moving from incrementing by 1, then 2, followed by increments of 5 and finally 10 - it also became standard for the CPUs to have odd version numbers, and updates even. |
5.0 | JDK 5.0 dropped the leading 1(Major) from the Product Version but was kept in the Developer Version number. The Minor number was kept but no Minor releases were ever shipped, 5.1 (Dragonfly) was planned but never released. |
1.2.0, 1.3.0, 1.4.0 | While 1.2 was a remarkable release from the perspective of the amount of change, it had the version 1.2 vs. 2.0, and it was clear that there would never be another "Major Release". Consequently, Minor releases (1.2, 1.3 etc.) were referred to as Major releases, and Micro releases (1.3.1, 1.4.2) as Minor releases. Retrospectively, 1.1 is also referred to as a Major Release, though 1.1.1, 1.1.2 etc. continue to be Micro Releases. |
1.1 | 1.1 updates ended in _002, _003 etc. for Windows and Solaris Reference releases and _02, _03 for Solaris Production releases. |
1.0 | The numbering started off with the model Major.Minor.Micro. |
Code Names
Code names were used for early Java releases; the Major releases were named after birds or mammals, while the minor releases were named after insects (given they were bug-fix releases). Hopper was short for grasshopper and ladybird is the British name used for a ladybug. The 1.2 release was called "Playground" by some, but that was never an official or broadly-used code name. The practice of naming releases ended with JDK 7.
Version | Code Name |
---|---|
7 | Dolphin |
6 | Mustang |
5.0 | Tiger |
1.4.2 | Mantis |
1.4.1 | Hopper |
1.4.0 | Merlin |
1.3.1 | Ladybird |
1.3.0_01 | Firefly |
1.3.0 | Kestrel |
1.2.2 | Cricket |
1.2.1 | Gnat |
1.1.8 | Chelsea |
1.1.7 | Brutus |
1.1.6 | Abigail |
1.1.5 | Pumpkin |
1.1.4 | Sparkler |
Java SE Platform
The Java Community Process (JCP) standardizes and ratifies the Java SE Platform via a Java Specification Request (JSR). Every JSR consists of three components: a Specification, a Reference Implementation (RI), and a Technology Compatibility Toolkit (TCK). The purpose of the RI is to prove that the Specification may be implemented, and the TCK is a test suite used to verify that the implementation is compliant with the Specification.
For the JSR which standardizes the Java SE Platform, the Platform JSR Specification consists of the Java SE API Specification, the Java Language Specification (JLS), the Java Virtual Machine Specification (JVMS), and further narrative specifications such as the JNI Specification, the JAR File Specification, and the Serialization Specification. Each Feature (previously "Major") Release of the JDK is the RI for the corresponding Platform JSR and finally, the Java Compatibility Kit (JCK) is the TCK for the Java SE Platform.
In addition to the Specification of the Java SE Platform, the JDK is further specified by a number of other documents including the Tool Specifications (more commonly referred to as the "man" pages), the JDK API Specifications (see the 'JDK' tab in the javadoc), and the Standard Doclet Specification.
The typical update release does not make any changes to the Specification of the Java SE Platform. However, in exceptional circumstances when a specification change is needed, a Maintenance Release (MR) of the Platform JSR is required - the following table lists every MR of the Java SE Platform JSRs:
Family | Date | JSR | RI | Specification (1) | Implemented by (2) | Reason |
---|---|---|---|---|---|---|
Java SE 17 | ||||||
2024-07-02 | JSR 392 MR 1 | 17.0.0.1 | 17.1 | 17.0.12 | Relax the java.awt.Robot specification, backport JEP 452 Key Encapsulation Mechanism API, and add system property for Java SE specification maintenance version |
|
Java SE 11 | ||||||
2024-07-02 | JSR 384 MR 3 | 11.0.0.2 | 11.3 | 11.0.24 | Relax the java.awt.Robot Spec | |
2023-05-09 | JSR 384 MR 2 | 11.0.0.1 | 11.2 | 11.0.20 | New code points for GB 18030-2022 | |
2019-03-26 | JSR 384 MR 1 | 11 | 11.1 | 11.0.3 | New Japanese Era, Currency Changes, and Standard Cryptographic Algorithm Names |
|
2018-09-19 | JSR 384 | 11 | 11 | |||
Java SE 8 | ||||||
2024-07-02 | JSR 337 MR 6 | 8u44 | 8.6 | 8u411 | Relax the java.awt.Robot specification | |
2023-05-09 | JSR 337 MR 5 | 8u43 | 8.5 | 8u381 | New code points for GB 18030-2022 | |
2022-07-26 | JSR 337 MR 4 | 8u42 | 8.4 | 8u351 | java.lang.ref.Reference object updates | |
2020-02-05 | JSR 337 MR 3 | 8u41 | 8.3 | 8u251 | ALPN, RSASSA-PSS (for TLS 1.3) | |
2019-03-26 | JSR 337 MR 2 | 8u40 | 8.2 | 8u211 | New Japanese Era, Currency Changes, and Standard Cryptographic Algorithm Names |
|
2015-03-03 | JSR 337 MR 1 | 8u40 | 8.1 | 8u40 | Verifier update in JVMS | |
2014-03-04 | JSR 337 | 8 | 8 | |||
Java SE 7 | ||||||
2015-03-12 | JSR 336 MR 1 | 7u75 | 7u75 | Verifier update in JVMS | ||
2011-07-20 | JSR 336 | 7 | 7 | |||
Java SE 6 | ||||||
2015-03-18 | JSR 270 MR 1 | 6u91 | 6u91 | Verifier update in JVMS | ||
2006-12-11 | JSR 270 | 6 | 6 |
(1) Programmatic access to the maintenance specification version was originally added to JDK 19 and backported to JDK 8 with JSR 337 MR 4, JDK 11 with JSR 384 MR 2 and JDK 17 with JSR 392 MR 1.
(2) The JCP requires that each Maintenance Release includes an RI, although that RI should not be used in production. Instead, the update release of the JDK which corresponds to ('implements') the MR should be used in production. For example, JDK 8u381 should be used instead of JDK 8u43
The JCP was created in December 1998. Prior to Java SE 8, all significant new features were developed by independent JSRs under the JCP then incorporated by reference in the Platform JSR. Starting with Java SE 8, this practice was discontinued, and the JDK Enhancement Proposal (JEP) Process was introduced. When a JEP of "Scope = 'SE'" is targeted to a specific release, it is linked in the Platform JSR.
Additional Information
- In 2010 Oracle acquired Sun Microsystems Inc., releases after mid 2010 were re-branded from Sun to Oracle.
- Prior to Java 11 in 2018, a Java release included both a JRE and a JDK, whereas in Java 11 and later, a Java release consists solely of the JDK.
- Updates to the supported Crypto algorithms are tracked in the JDK Crypto Roadmap.
- The mapping of TZ data to release is available in the Timezone Data Mapping page.