# Jakarta EE and GlassFish Documentation

## Jakarta EE Tutorials

* [Jakarta EE 8 First Cup](https://eclipse-ee4j.github.io/jakartaee-firstcup)
* [Jakarta EE 8 Tutorial](https://eclipse-ee4j.github.io/jakartaee-tutorial)

## Jakarta EE API Documentation and Tag Reference
(Coming soon!)

* [Jakarta EE 8 Specification APIs]()
* [JavaServer Faces 2.3 Facelets Tag Library Documentation]()
* [JavaServer Faces 2.3 JSP Tag Library Documentation]()
* [JavaServer Faces 2.3 Standard HTML RenderKit Documentation]()
* [JavaServer Faces 2.3 JavaScript Documentation]()

## Eclipse GlassFish Documentation and User Guides

* [Current release](docs#current)
* [Development version](docs#development)
* [5.1.0 release](docs#5.1.0)

## Eclipse Open MQ Documentation

* See the [Open MQ Project](https://eclipse-ee4j.github.io/openmq/guides)
