Eclipse GlassFish is an application server, implementing Jakarta EE. This release is corresponding with the Jakarta EE 10 specification, which is a major feature release. Jakarta EE 10 requires JDK 11 as a minimum, but also officially works on JDK 17 and JDK 21.
GlassFish 7.0.24 is a final release, containing final Jakarta EE 10 APIs. It compiles and runs on JDK 11 to JDK 24. MicroProfile support requires JDK 17 or higher.
Release overview
This release marks an important step forward by introducing support for JDK 24 in GlassFish 7—a capability that had previously only been available in milestone builds of GlassFish 8. Achieving this required new versions of CORBA, ORB, and PFL, the result of many months of dedicated work by the team.
The team also undertook a significant revision of how scripts are used across the project. All Linux scripts now consistently use Bash, and a unified method has been adopted for resolving the AS_INSTALL path across all platforms. Additionally, an issue on Windows related to the %t placeholder—used in JDK log formatting—was resolved by ensuring it is properly escaped.
Faster Deployment was achieved by improved file handling; the team replaced custom file discovery with Files.walkFileTree and switched from URI to Path, also adopting try-with-resources for better resource management. On Windows 11, deployment time for specifically selected huge applications dropped from 110s to 100s, with potential for 92s using caching. YourKit profiling showed a 19s improvement in FileSystem.hasBooleanAttributes.
What's Changed
New Features
- Initial JDK 24 compatibility for GF 7 by @arjantijms in #25456
- JDK 24 fixes by @arjantijms in #25458
- Add JDK 24 guards to AccessController.checkPermission by @arjantijms in #25462
- Fix more tests for JDK 24 by @arjantijms in #25469
- Using CORBA+ORB+PFL to be compatible with JDK11 - 24 by @dmatej in #25364
- Speed up deployments - optimization in finding files in deployment packages by @escay in #25398
Fixes
- Revisited scripts around asenv by @dmatej in #25436
- Fixed url to file conversion breaking paths with spaces by @dmatej in #25448
- More robust nadmin/asadmin execution in build by @dmatej in #25451
- BAT file and startlocal vs endlocal, windows path separator by @dmatej in #25450
- Fixed PowerShell script on Windows and removed bat file by @dmatej in #25454
- Fixed SMGlobalPolicyUtil's conversion of file to url by @dmatej in #25460
- Runnable Embedded GlassFish: properties config improvements, option to start interactive prompt by @OndroMih in #25422
- Make ConnectionPool code more strict and do not return Enlisted resources by @escay in #25373
- More robust pid file read by @dmatej in #25449
- Fix View JMS Physical Destination Statistics by @pzygielo in #25464
- Give a clearer error message if datasource is not defined. by @OndroMih in #25463
Maintenance
- Fixed heavy need of garbage collector in GlassFishLogHandlerTest by @dmatej in #25407
- Update plugins for building and testing by @arjantijms in #25416
- Drop unused maven-invoker-plugin by @pzygielo in #25417
- Stabilized tests around logging by @dmatej in #25459
- Dev profile to update modules without building the whole GlassFish distribution by @OndroMih in https://github.com/eclipse-ee4j/glassfish/pull/24985\
- Docs
- GitHub Actions
Dependencies
- Integrate Mojarra 4.0.11 by @arjantijms in #25414
- Integrate Weld 5.1.5 by @arjantijms in #25413
- Integrate hibernate validation 8.0.2 by @arjantijms in #25419
- Integrate Helidon Config 3.2.12 by @arjantijms in #25421
- Integrate Osgi-resource-locator 1.0.4 by @OndroMih in #25366
- Integrate JLine 3.29 by @arjantijms in #25409
- Integrate Jsch 0.2.24 by @arjantijms in #25410
- Integrate JNA 5.17 by @arjantijms in #25412
- Integrate Jackson 2.18.3 by @arjantijms in #25411
- Integrate Commons Logging 1.3.5 by @arjantijms in #25415
- Integrate Jboss Logging Annotations 3.0.4 by @arjantijms in #25423
New Contributors
Full Changelog: 7.0.23...7.0.24