Skip to content

Commit cf85f1f

Browse files
authored
Merge pull request #4 from ProgressJava/develop
Add Java Major Releases section with detailed release information and…
2 parents eeca17c + 3449209 commit cf85f1f

13 files changed

Lines changed: 441 additions & 0 deletions

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"label": "Java Major Releases",
3+
"position": 3,
4+
"link": {
5+
"type": "generated-index",
6+
"description": "Information about Java major releases including LTS and non-LTS versions."
7+
}
8+
}
9+
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
sidebar_position: 1
3+
title: Java Major Releases
4+
description: Overview of Java major releases
5+
---
6+
7+
# Java Major Releases
8+
9+
This section provides information about Java major releases, including LTS (Long-Term Support) and non-LTS versions.
10+
11+
## Releases
12+
13+
- [Java 8 (LTS)](./java-8)
14+
- [Java 9–10 (non-LTS)](./java-9-10)
15+
- [Java 11 (LTS)](./java-11)
16+
- [Java 12–16 (non-LTS)](./java-12-16)
17+
- [Java 17 (LTS)](./java-17)
18+
- [Java 18–20 (non-LTS)](./java-18-20)
19+
- [Java 21 (LTS)](./java-21)
20+
- [Java 22 (non-LTS)](./java-22)
21+
- [Java 23 (non-LTS)](./java-23)
22+
- [Java 24 (non-LTS)](./java-24)
23+
- [Java 25 (LTS)](./java-25)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
sidebar_position: 4
3+
title: Java 11 (LTS)
4+
description: Java 11 Long-Term Support release information
5+
---
6+
7+
# Java 11 (LTS)
8+
9+
## Brief Release Summary
10+
11+
Java 11 was the first LTS release after Java 8 and introduced significant changes including the removal of deprecated modules, new HTTP client, and improved performance. It's widely adopted in production environments.
12+
13+
## Release Date
14+
15+
**September 25, 2018**
16+
17+
## Key Features Released
18+
19+
- **HTTP Client (Standard)** - HTTP/2 and WebSocket support, now part of `java.net.http`
20+
- **Removal of Java EE and CORBA Modules** - Cleanup of deprecated modules
21+
- **Epsilon Garbage Collector** - No-op GC for performance testing
22+
- **ZGC (Experimental)** - Low-latency garbage collector
23+
- **Local-Variable Syntax for Lambda Parameters** - Enhanced `var` support
24+
- **Nest-Based Access Control** - Better support for nested classes
25+
- **Dynamic Class-File Constants** - Performance improvements
26+
- **Launch Single-File Source-Code Programs** - Run Java files directly without compilation
27+
- **Unicode 10 Support** - Updated Unicode support
28+
- **TLS 1.3 Support** - Enhanced security
29+
30+
## References
31+
32+
- [OpenJDK JDK 11 Release Page](https://openjdk.org/projects/jdk/11/)
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
sidebar_position: 5
3+
title: Java 12–16 (non-LTS)
4+
description: Java 12 through 16 non-LTS releases information
5+
---
6+
7+
# Java 12–16 (non-LTS)
8+
9+
## Brief Release Summary
10+
11+
These releases continued the rapid 6-month release cycle, introducing pattern matching, records, sealed classes, text blocks, and many performance improvements. These features laid the groundwork for modern Java development.
12+
13+
## Release Dates
14+
15+
- **Java 12**: March 19, 2019
16+
- **Java 13**: September 17, 2019
17+
- **Java 14**: March 17, 2020
18+
- **Java 15**: September 15, 2020
19+
- **Java 16**: March 16, 2021
20+
21+
## Key Features Released
22+
23+
### Java 12
24+
- **Switch Expressions (Preview)** - Enhanced switch statements
25+
- **Shenandoah GC (Experimental)** - Low-pause-time garbage collector
26+
- **Microbenchmark Suite** - JDK microbenchmark suite
27+
28+
### Java 13
29+
- **Text Blocks (Preview)** - Multi-line string literals
30+
- **Switch Expressions (Preview)** - Continued preview
31+
- **ZGC Improvements** - Uncommitting unused memory
32+
- **Dynamic CDS Archives** - Application class-data sharing
33+
34+
### Java 14
35+
- **Pattern Matching for instanceof (Preview)** - Simplified type checking and casting
36+
- **Records (Preview)** - Data classes for immutable data
37+
- **Text Blocks (Second Preview)** - Continued improvements
38+
- **Helpful NullPointerExceptions** - Better error messages
39+
- **Packaging Tool (Incubator)** - Native package creation
40+
41+
### Java 15
42+
- **Sealed Classes (Preview)** - Restricted class hierarchies
43+
- **Hidden Classes** - Framework-friendly hidden classes
44+
- **Text Blocks (Standard)** - Text blocks finalized
45+
- **ZGC and Shenandoah** - Production-ready alternative GCs
46+
- **Records (Second Preview)** - Continued improvements
47+
48+
### Java 16
49+
- **Records (Standard)** - Records finalized
50+
- **Pattern Matching for instanceof (Standard)** - Pattern matching finalized
51+
- **Sealed Classes (Second Preview)** - Continued improvements
52+
- **Vector API (Incubator)** - SIMD operations
53+
- **Foreign Linker API (Incubator)** - Native interop improvements
54+
- **Elastic Metaspace** - Better memory management
55+
56+
## References
57+
58+
- [OpenJDK JDK 12 Release Page](https://openjdk.org/projects/jdk/12/)
59+
- [OpenJDK JDK 13 Release Page](https://openjdk.org/projects/jdk/13/)
60+
- [OpenJDK JDK 14 Release Page](https://openjdk.org/projects/jdk/14/)
61+
- [OpenJDK JDK 15 Release Page](https://openjdk.org/projects/jdk/15/)
62+
- [OpenJDK JDK 16 Release Page](https://openjdk.org/projects/jdk/16/)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
sidebar_position: 6
3+
title: Java 17 (LTS)
4+
description: Java 17 Long-Term Support release information
5+
---
6+
7+
# Java 17 (LTS)
8+
9+
## Brief Release Summary
10+
11+
Java 17 is the current LTS release, finalizing many preview features from previous versions including sealed classes, pattern matching, and records. It's the recommended version for production deployments.
12+
13+
## Release Date
14+
15+
**September 14, 2021**
16+
17+
## Key Features Released
18+
19+
- **Sealed Classes (Standard)** - Finalized sealed classes for controlled inheritance
20+
- **Pattern Matching for switch (Preview)** - Enhanced pattern matching
21+
- **Foreign Function & Memory API (Incubator)** - Improved native interop
22+
- **Vector API (Second Incubator)** - Continued SIMD operations
23+
- **Strongly Encapsulate JDK Internals** - Better security and modularity
24+
- **New macOS Rendering Pipeline** - Metal-based rendering
25+
- **macOS/AArch64 Port** - Native support for Apple Silicon
26+
- **Enhanced Pseudo-Random Number Generators** - New PRNG algorithms
27+
- **Context-Specific Deserialization Filters** - Better security
28+
- **Deprecate Applet API for Removal** - Cleanup of legacy APIs
29+
30+
## References
31+
32+
- [OpenJDK JDK 17 Release Page](https://openjdk.org/projects/jdk/17/)
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
sidebar_position: 7
3+
title: Java 18–20 (non-LTS)
4+
description: Java 18 through 20 non-LTS releases information
5+
---
6+
7+
# Java 18–20 (non-LTS)
8+
9+
## Brief Release Summary
10+
11+
These releases continued to refine Java with pattern matching improvements, virtual threads (Project Loom), structured concurrency, and scoped values. These features modernize Java's concurrency model.
12+
13+
## Release Dates
14+
15+
- **Java 18**: March 22, 2022
16+
- **Java 19**: September 20, 2022
17+
- **Java 20**: March 21, 2023
18+
19+
## Key Features Released
20+
21+
### Java 18
22+
- **UTF-8 by Default** - UTF-8 as default charset
23+
- **Simple Web Server** - HTTP server for prototyping
24+
- **Code Snippets in Java API Documentation** - Enhanced Javadoc
25+
- **Reimplement Core Reflection with Method Handles** - Performance improvements
26+
- **Internet-Address Resolution SPI** - Pluggable resolver
27+
- **Foreign Function & Memory API (Second Incubator)** - Continued native interop
28+
29+
### Java 19
30+
- **Virtual Threads (Preview)** - Lightweight threads (Project Loom)
31+
- **Pattern Matching for switch (Third Preview)** - Continued improvements
32+
- **Record Patterns (Preview)** - Pattern matching for records
33+
- **Foreign Function & Memory API (Third Incubator)** - Continued improvements
34+
- **Structured Concurrency (Incubator)** - Simplified concurrent programming
35+
- **Vector API (Fourth Incubator)** - Continued SIMD operations
36+
37+
### Java 20
38+
- **Scoped Values (Preview)** - Thread-local variables alternative
39+
- **Record Patterns (Second Preview)** - Continued improvements
40+
- **Pattern Matching for switch (Fourth Preview)** - Continued improvements
41+
- **Foreign Function & Memory API (Fourth Incubator)** - Continued improvements
42+
- **Virtual Threads (Second Preview)** - Continued improvements
43+
- **Structured Concurrency (Second Incubator)** - Continued improvements
44+
45+
## References
46+
47+
- [OpenJDK JDK 18 Release Page](https://openjdk.org/projects/jdk/18/)
48+
- [OpenJDK JDK 19 Release Page](https://openjdk.org/projects/jdk/19/)
49+
- [OpenJDK JDK 20 Release Page](https://openjdk.org/projects/jdk/20/)
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
sidebar_position: 8
3+
title: Java 21 (LTS)
4+
description: Java 21 Long-Term Support release information
5+
---
6+
7+
# Java 21 (LTS)
8+
9+
## Brief Release Summary
10+
11+
Java 21 is the latest LTS release, finalizing virtual threads, pattern matching, and records. It represents a major milestone in Java's evolution with significant concurrency improvements and modern language features.
12+
13+
## Release Date
14+
15+
**September 19, 2023**
16+
17+
## Key Features Released
18+
19+
- **Virtual Threads (Standard)** - Finalized lightweight threads for high-throughput concurrent applications
20+
- **Sequenced Collections** - New interfaces for ordered collections
21+
- **Record Patterns (Standard)** - Finalized pattern matching for records
22+
- **Pattern Matching for switch (Standard)** - Finalized pattern matching
23+
- **String Templates (Preview)** - String interpolation
24+
- **Scoped Values (Preview)** - Thread-local variables alternative
25+
- **Structured Concurrency (Preview)** - Simplified concurrent programming
26+
- **Foreign Function & Memory API (Preview)** - Native interop improvements
27+
- **Key Encapsulation Mechanism API** - Post-quantum cryptography
28+
- **Generational ZGC** - Improved garbage collection
29+
- **Deprecate Windows 32-bit x86 Port** - Platform cleanup
30+
31+
## References
32+
33+
- [OpenJDK JDK 21 Release Page](https://openjdk.org/projects/jdk/21/)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
sidebar_position: 9
3+
title: Java 22 (non-LTS)
4+
description: Java 22 non-LTS release information
5+
---
6+
7+
# Java 22 (non-LTS)
8+
9+
## Brief Release Summary
10+
11+
Java 22 continued to refine preview features and introduced new capabilities including class-file API, stream gatherers, and improvements to foreign function and memory API.
12+
13+
## Release Date
14+
15+
**March 19, 2024**
16+
17+
## Key Features Released
18+
19+
- **String Templates (Second Preview)** - Continued string interpolation improvements
20+
- **Statements before super() (Preview)** - More flexible constructor initialization
21+
- **Structured Concurrency (Second Preview)** - Continued improvements
22+
- **Scoped Values (Second Preview)** - Continued improvements
23+
- **Foreign Function & Memory API (Second Preview)** - Continued native interop
24+
- **Class-File API (Preview)** - Programmatic access to class files
25+
- **Stream Gatherers (Preview)** - Custom intermediate stream operations
26+
- **Implicitly Declared Classes and Instance Main Methods (Second Preview)** - Simplified Java programs
27+
- **Region Pinning for G1 GC** - Performance improvements
28+
- **Launch Multi-File Source-Code Programs** - Run multiple Java files
29+
30+
## References
31+
32+
- [OpenJDK JDK 22 Release Page](https://openjdk.org/projects/jdk/22/)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
sidebar_position: 10
3+
title: Java 23 (non-LTS)
4+
description: Java 23 non-LTS release information
5+
---
6+
7+
# Java 23 (non-LTS)
8+
9+
## Brief Release Summary
10+
11+
Java 23 introduced further refinements to preview features and new capabilities including vector API improvements, enhanced foreign function support, and continued evolution of modern Java features.
12+
13+
## Release Date
14+
15+
**September 17, 2024**
16+
17+
## Key Features Released
18+
19+
- **String Templates (Third Preview)** - Continued string interpolation improvements
20+
- **Statements before super() (Second Preview)** - Continued improvements
21+
- **Structured Concurrency (Third Preview)** - Continued improvements
22+
- **Scoped Values (Third Preview)** - Continued improvements
23+
- **Foreign Function & Memory API (Third Preview)** - Continued native interop
24+
- **Class-File API (Second Preview)** - Continued improvements
25+
- **Stream Gatherers (Second Preview)** - Continued improvements
26+
- **Vector API (Seventh Incubator)** - Continued SIMD operations
27+
- **Primitive Types in Patterns, instanceof, and switch (Preview)** - Enhanced pattern matching
28+
- **Flexible Constructor Bodies (Preview)** - More flexible constructor syntax
29+
30+
## References
31+
32+
- [OpenJDK JDK 23 Release Page](https://openjdk.org/projects/jdk/23/)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
sidebar_position: 11
3+
title: Java 24 (non-LTS)
4+
description: Java 24 non-LTS release information
5+
---
6+
7+
# Java 24 (non-LTS)
8+
9+
## Brief Release Summary
10+
11+
Java 24 continued the evolution of preview features with improvements to string templates, foreign function API, and new experimental features preparing for future releases.
12+
13+
## Release Date
14+
15+
**March 18, 2025**
16+
17+
## Key Features Released
18+
19+
- **String Templates (Fourth Preview)** - Continued string interpolation improvements
20+
- **Statements before super() (Third Preview)** - Continued improvements
21+
- **Structured Concurrency (Fourth Preview)** - Continued improvements
22+
- **Scoped Values (Fourth Preview)** - Continued improvements
23+
- **Foreign Function & Memory API (Fourth Preview)** - Continued native interop
24+
- **Class-File API (Third Preview)** - Continued improvements
25+
- **Stream Gatherers (Third Preview)** - Continued improvements
26+
- **Primitive Types in Patterns (Second Preview)** - Continued improvements
27+
- **Flexible Constructor Bodies (Second Preview)** - Continued improvements
28+
- **Value Objects (Preview)** - Immutable value types
29+
30+
## References
31+
32+
- [OpenJDK JDK 24 Release Page](https://openjdk.org/projects/jdk/24/)

0 commit comments

Comments
 (0)