17 marca 2026 roku wydano JDK 26 – referencyjną implementację platformy Java SE (wersja platformy 26), specyfikowaną w JSR 401 w ramach procesu Java Community Process. O tym informuje oficjalna strona OpenJDK.
Kluczowe szczegóły wydania:
- Status: General Availability (ogólnodostępna wersja).
- Binarne wersje: Pliki binarne gotowe do produkcji na licencji GPL w wersji od Oracle są już dostępne na jdk.java.net.
- Rozwój: Funkcje i harmonogram wydania były kształtowane przez proces JEP (JDK Enhancement Proposal) w oparciu o JEP 2.0. Samo wydanie zostało przygotowane zgodnie z procesem JDK Release Process (JEP 3).
Harmonogram rozwoju i wydania JDK 26:
- Rampdown Phase One (gałąź od main line): 4 grudnia 2025
- Rampdown Phase Two: 15 stycznia 2026
- Wstępna wersja kandydata: 5 lutego 2026
- Ostateczna wersja kandydata: 19 lutego 2026
- Ogólnodostępność: 17 marca 2026
Główne zmiany:
- 500: użycie głębokiej refleksji do zmiany pól oznaczonych słowem kluczowym „final” teraz wiąże się z ostrzeżeniem i w przyszłości planowane jest usunięcie;
- 504: usunięto API Applet, używane do uruchamiania aplikacji Java w przeglądarce;
- 516: wprowadzono możliwość korzystania z wstępnie generowanej pamięci podręcznej (AOT – ahead-of-time) z dowolnymi kolektorami śmieci;
- 517: w API HTTP Client dodano wsparcie dla protokołu HTTP/3;
- 522: poprawiono wydajność kolektora śmieci G1;
- 524: API do kodowania i dekodowania obiektów z kluczami kryptograficznymi, certyfikatami i listami unieważnionych certyfikatów w formacie PEM zaktualizowano do etapu Drugiej Próby;
- 525: API dla zróżnicowanego współbieżności (Structured Concurrency) zaktualizowano do etapu Szóstej Próby;
- 526: API Lazy Constants do pracy z obiektami zawierającymi niezmienne dane zaktualizowano do Drugiej Próby;
- 529: zaproponowano jedenastą testową implementację (Eleventh Incubator) Vector API, oferującą funkcje do obliczeń wektorowych wykorzystujących instrukcje wektorowe procesorów x86_64 i AArch64;
- 530: czwarta wstępna wersja możliwości korzystania z typów pierwotnych (int, byte, char i inne podstawowe typy, które nie są obiektami) we wszystkich rodzajach szablonów, w operatorze „instanceof” i w blokach „switch”.
Źródło: linux.org.ru
