GlassFish
In-game article clicks load inline without leaving the challenge.
GlassFish is an open-source Jakarta EE platform application server project started by Sun Microsystems, then sponsored by Oracle Corporation, and now living at the Eclipse Foundation. While the project maintains a multi-vendor leadership structure, OmniFish has emerged as the primary technical steward, driving the vast majority of development and maintenance, with additional support and project leads from Fujitsu and Payara. The supported version under Oracle was called Oracle GlassFish Server. GlassFish is free software and was initially dual-licensed under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL) with the Classpath exception. After having been transferred to Eclipse, GlassFish remained dual-licensed, but the CDDL license was replaced by the Eclipse Public License (EPL).
Overview
GlassFish is the Eclipse implementation of Jakarta EE (formerly the reference implementation from Oracle) and as such supports Jakarta REST, Jakarta CDI, Jakarta Security, Jakarta Persistence, Jakarta Transactions, Jakarta Servlet, Jakarta Faces, Jakarta Messaging, etc. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. Optional components can also be installed for additional services.
Built on a modular kernel powered by OSGi, GlassFish runs straight on top of the Apache Felix implementation. It also runs with Equinox OSGi or Knopflerfish OSGi runtimes. HK2 abstracts the OSGi module system to provide components, which can also be viewed as services. Such services can be discovered and injected at runtime.
GlassFish is based on source code released by Sun and Oracle Corporation's TopLink persistence system. It uses a derivative of Apache Tomcat as the servlet container for serving web content, with an added component called Grizzly which uses Java non-blocking I/O (NIO) for scalability and speed.
History
Epoch of Sun Microsystems (2003-2009)
Originally, GlassFish was created by Sun Microsystems. GlassFish was used as the reference implementation for Java EE. GlassFish was opensourced in 2006. It served as a base for multiple commercial products of Sun Microsystems.
- October 2003 - Sun Microsystems released Sun ONE Application Server 7 that supports the J2EE 1.3 specification. It is based on the iPlanet Application Server and the J2EE reference implementation A basic version is free to download, but not open source.
- March 2004 - Sun Microsystems released Sun Java System Application Server 8 that supports the J2EE 1.4 specification. In June 2004 update 1 is released. A basic version is free to download, but not open source.
- 8 February 2005 - Sun Microsystems released Sun Java System Application Server 8.1 that supports the J2EE 1.4 specification. This version introduced a major update to web services security (a precursor to the later JASPIC and Jakarta Authentication), Admin Console GUI enhancements, JavaServer Faces 1.1 Support (at this point not yet part of J2EE), performance enhancements, and support for Java SE 5.0. A basic version is free to download, but not open source.
- 6 June 2005 - Sun Microsystems launched the GlassFish project by publishing the vetted source of Sun Java System Application Server. Builds of this early version identity themselves in the log as "sun-appserver-pe9.0".
- 31 January 2006 - Sun Microsystems released Sun Java System Application Server 8.2. This version introduced bundling of the Derby database and Fast Infoset for web services. A basic version is free to download, but not open source.
- 4 May 2006 - Project GlassFish released the 1.0 version (a.k.a. Sun Java System Application Server 9.0) that supports the Java EE 5 specification.
- 15 May 2006 - Sun Java System Application Server 9.0, derived from GlassFish 1.0, is released.
- 8 May 2007 - Project SailFin was announced at JavaOne as a sub-project under Project GlassFish. Project SailFin aims to add Session Initiation Protocol (SIP) servlet functionality to GlassFish.
- 17 September 2007 - the GlassFish community released version 2.0 (a.k.a. Sun Java System Application Server 9.1) with full enterprise clustering capabilities, Microsoft-interoperable Web Services.
- 21 January 2009 - Sun Microsystems and the community released version GlassFish 2.1 (a.k.a. Sun GlassFish Enterprise Server 2.1) which serves as the basis for the Sailfin 1.0 (a.k.a. Sun Communication Application Server 1.0).
- 28 October 2009 - SailFin 2.0 (a.k.a. Sun Communication Application Server 2.0) was released which leverages GlassFish 2.1.1 (a.k.a. Sun GlassFish Enterprise Server 2.1.1) and adds a number of features including high availability, rolling upgrade, flexible network topology, better overload protection, Diameter support, improved diagnosability, Java based DCR files for the load balancer, and more.
- 10 December 2009 - GlassFish 3.0 (a.k.a. Sun GlassFish Enterprise Server 3.0) was released. Being the Java EE reference implementation, this was the first application server to completely implement Java EE 6 JSR 316. JSR 316 was however approved with reservations. In this version GlassFish adds new features to ease migration from Tomcat to GlassFish. The other main new features are around modularity (GlassFish v3 Prelude already shipped with an Apache Felix OSGi runtime), startup time (a few seconds), deploy-on-change (provided by NetBeans and Eclipse plugins), and session preservation across redeployments.
Epoch of Oracle (2010-2016)
The commercially supported version of GlassFish was known as Oracle GlassFish Server, formerly Sun GlassFish Enterprise Server, and previously Sun Java System Application Server (SJSAS) has a history, along with other iPlanet software, going back to Netscape Application Server. This includes code from other companies such as Oracle Corporation for TopLink Essentials. Ericsson's SIP Servlet support is included, the opensource version of it is SailFish, developing towards JSR-289. In 2010, the difference between the commercial and open source edition was already quite small.
- 25 March 2010 - Soon after the acquisition of Sun Microsystems, Oracle issued a Roadmap for versions 3.0.1, 3.1, 3.2 and 4.0 with themes revolving around clustering, virtualization and integration with Coherence and other Oracle technologies. The open source community remains otherwise unaffected.
- 28 February 2011 - Oracle Corporation released GlassFish 3.1. This version introduced support for ssh-based provisioning, centralized admin, clustering and load-balancing. It maintains its support for both the Web Profile and full Java EE 6 Platform specifications.
- 28 July 2011 - Oracle Corporation released GlassFish 3.1.1. This is fix release for GlassFish 3.1 with multiple component updates (Weld, Mojarra, Jersey, EclipseLink, ...), JDK 7 support, AIX support and more.
- 29 February 2012 - Oracle Corporation released GlassFish 3.1.2. This release includes bug fixes and new features including administration console enhancements, transaction recovery from a database and new thread pool properties.
- 17 July 2012 - Oracle Corporation released GlassFish 3.1.2.2. This is a "micro" release to address some exceptional issues in the product.
- 12 June 2013 - Oracle Corporation released GlassFish 4.0. This major release brings Java Platform, Enterprise Edition 7 support.
- 4 November 2013, Oracle announced the future roadmap for Java EE and Glassfish Server, with a 4.1 open-source edition planned and continuing open-sources updates to GlassFish but with an end to commercial Oracle support. Commercial customers have instead been encouraged to transition to Oracle's alternative product, Oracle WebLogic Server.
- 9 September 2014 - Oracle Corporation released GlassFish 4.1. This release includes many bug fixes (over a thousand) and the latest MR releases of CDI and WebSockets.
- 7 October 2015 - Oracle Corporation released GlassFish 4.1.1. This release includes many bug fixes and security fixes as well as updates to many underlying components.
- 31 March 2017 - Oracle Corporation released GlassFish 4.1.2. This release includes bug fixes.
- 21 September 2017 - Oracle Corporation released GlassFish 5.0. This release includes Java EE 8 Open Source Reference Implementation and that the Java EE 8 umbrella specification and all the underlying specifications (JAX-RS 2.1, Servlet 4.0, CDI 2.0, JSON-B 1.0, Bean Validation 2.0, etc.) are finalized and approved.
Epoch of transitioning to the Eclipse Foundation (2017-2021)
In 2017, Oracle discontinued further development of GlassFish and donated the source code and the trademarks to the Eclipse Foundation, where it transitioned the Eclipse GlassFish project. For a few years, Eclipse GlassFish was maintained by the community as the primary compatible implementation of Jakarta EE, following its former tradition of being the reference implementation for Java EE, with very little additional maintenance.
- 2017 Oracle donated the source code to the Eclipse Foundation. At Eclipse, Payara was leading the GlassFish project, with support from Oracle and Red Hat.
- 29 January 2019 - the Eclipse Foundation released GlassFish 5.1. This release is technically identical to Oracle's GlassFish 5.0 but is fully build from the source code that Oracle transferred to the Eclipse Foundation and which was subsequently relicensed to EPL 2.0. Like GlassFish 5.0, 5.1 is Java EE 8 certified, but does not have any RI status. The main goal of this release is to prove that all source code has been transferred and can indeed be built into a fully compliant product. A GlassFish 5.2 release was planned as a Jakarta EE 8 compatible implementation, but was never released. Jakarta EE 8 is functionally identical to Java EE 8, but was created via the Eclipse Foundation Specification Process (EFSP).
- 31 December 2020 - the Eclipse Foundation released GlassFish 6.0.0. This version is functionally largely identical to GlassFish 5.1 but implements Jakarta EE 9. Jakarta EE 9 is functionally identical to Jakarta EE 8 (which is functionally identical to Java EE 8) but has its package and various constants changed from javax.* to jakarta.*
- 5 May 2021 - the Eclipse Foundation released GlassFish 6.1.0. This version is functionally identical to GlassFish 6.0.0 but implements Jakarta EE 9.1. Jakarta EE 9.1 is functionally identical to Jakarta EE 9 (which is functionally identical to Jakarta EE 8 and Java EE 8) but has support for JDK 11. This release requires JDK 11.
- 28 August 2021 - the Eclipse Foundation released GlassFish 6.2.1. This version has improved support for JDK 17 and includes a new component Eclipse Exousia, the standalone Jakarta Authorization implementation. GlassFish 6.2.1 compiles with JDK 11 to JDK 17
Epoch of OmniFish Stewardship in the Eclipse Foundation (2022-present)
Beginning in 2022, the Estonian company OmniFish assumed primary technical stewardship of the project, marking a shift from transitional maintenance to active modernization. While governance remains shared under the Eclipse Foundation with leads from multiple organizations, technical activity is predominantly led by OmniFish, which accounts for over 75% of recent code contributions.
This shift has revitalized the project’s release cadence and transitioned GlassFish from a "Reference Implementation" into a high-performance, production-ready application server.
- 14 December 2022 - the Eclipse Foundation released GlassFish 7.0.0. This is the first version containing larger refactoring and code cleanup, large amount of bugfixes and also new features. Implements new Jakarta Concurrency specification, and supports JDK 11 but recommends usage of JDK17. The GlassFish 7 development is sponsored to a large degree by OmniFish, which also provides commercial support for GlassFish once again.
- 5 March 2025 - the Eclipse Foundation released GlassFish 8.0.0-M10. This milestone version fully passes the Jakarta EE 11 Web Profile TCK. It served as the compatible implementation to release Jakarta EE 11 Web Profile.
- 1 June 2025 - the Eclipse Foundation released GlassFish 8.0.0-M12. This milestone version fully passes the Jakarta EE 11 Platform TCK. It served as the compatible implementation to release Jakarta EE 11 Platform.
- 6 December 2025 - the Eclipse Foundation released GlassFish 7.1.0. This version refactored the code base for JPMS, features faster startup times, improved JDBC Pool throughput, JDK 25 support, adds Microprofile Health, and adds the MicroProfile APIs to embedded GlassFish. This release also brings several fixes and improvements to Embedded GlassFish and lifts it as a fully supported and stable lightweight runtime to run Jakarta EE microservices from command line. A new Docker image for Embedded GlassFish 7.1.0 was introduced on 21 January 2026.
- 5 February 2026 - the Eclipse Foundation released GlassFish 8.0.0 - the final version which implements Jakarta EE 11 Platform.. This release also brings virtual thread support for HTTP requests, Jakarta Data support for SQL or NoSQL databases, and a custom CDI qualifier that allows using MicroProfile JWT and Jakarta Security authentication mechanisms in the same application. It removes support for SecurityManager, which is deprecated in recent Java versions. GlassFish 8.0.0 requires JDK 21 and also supports JDK 25.
Commercial support
Following Oracle's decision to end commercial support for GlassFish in 2014, the project was primarily community-maintained for several years, leading to the rise of forks such as Payara Server. However, since the project's modernization began under the Eclipse Foundation, commercial support has been re-established for the main GlassFish project.
OmniFish
Since 2022, OmniFish has served as the primary technical steward and commercial support provider for Eclipse GlassFish. While governance remains under the vendor-neutral Eclipse Foundation, development has significantly consolidated; as of 2026, OmniFish engineers account for the majority of all project contributions according to the rolling statistics published by the Eclipse Foundation.
Under this stewardship, GlassFish transitioned from a "reference implementation" into a production-ready server. OmniFish provides 24/7 production support, security hotfixes, and migration services for the upstream Eclipse GlassFish distribution.
Other support
Additional project leads are maintained by representatives from Fujitsu and Payara (the latter acquired by Azul Systems in December 2025). Their involvement is categorized as follows:
- Fujitsu: While maintaining a project lead role and providing minor code reviews, Fujitsu does not offer direct commercial support for the upstream Eclipse GlassFish project. Instead, the company utilizes GlassFish as the technical foundation for its own proprietary product, FUJITSU Software Enterprise Application Platform, which is marketed to its enterprise customers in Japan and globally.
- Payara: Following its acquisition by Azul Systems, Payara continues to lead its fork, Payara Server. While Payara representatives contribute to GlassFish governance, their technical focus remains on their own distribution rather than the primary GlassFish codebase.
Forks
Over the years several companies forked the GlassFish project and created their own distribution:
Payara Services
In response to Oracle’s announcement to end commercial support for GlassFish, a fork called Payara Server was created and released in October 2014. Payara Server is open source under the same licenses as the original Oracle GlassFish (combined GPL2 + CDDL) and has optional commercial support from Payara Services Ltd., via the Payara Enterprise distribution.
See also
- List of application servers
- WildFly (formerly JBoss AS)
- IBM WebSphere Application Server
- Oracle WebLogic Server
- Apache TomEE
- Eclipse Jetty
- Quarkus
- Spring Boot
- Apache Geronimo
- List of application servers § Java