Jakarta Faces 4.0 Release Review

End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.




The goal of this release is to start addressing a major concern that Faces is dragging along too much weight. This will be done by removing deprecated things. We also intend to continue modernizing by moving more things to CDI. Next to these big ticket items, we plan to add a small amount of features and refine the API.

More specifically: 

Removing deprecated things

* Removing JSP support as a VDL (deprecated since 2.0) - [FACES #1546] ✅

* Removing the native managed beans (deprecated since 2.3) - [FACES #1547] ✅

* Removing references to the native EL (deprecated since 1.2) - [FACES #1548] ✅

* Default "Fakes Faces 2.2"-mode (defaulting to the current version instead) ✅

* Rename "jsf" everywhere to "faces" [FACES #1552] ✅

Continue re-basing on CDI

* CDI events 

* Internal artefacts as CDI beans

* Additional artefacts injectable


* Extensionless views by default [FACES #1508] ✅

* New scope ClientWindowScoped  [FACES #1509] ✅

* Allow redirect via Annotation on action [FACES #1554] ✅

* New lifecycle for REST/REST-like actions [FACES #1580]

* First class support for creating views in Java [FACES #1581] ✅

Extra Features (when time allows, otherwise move to 4.1)

* Simplified API for setting FacesMessages

* Stateless views as global option

* Annotations for various things such as components (replaces/is alternative for bulky taglib registrations)


API enhancements

* StateHelper - Allow a Supplier as defaultValue

* PhaseListener - default methods

* Renderer -  generic/parameterized

* Remove duplicate SessionMap annotation

* API to register custom behavior for a composite


New deprecations

* Full State Saving

The JDK version required will be aligned with Jakarta EE 10.

4.0 issues completed

4.0 issues open



Conforms To UI/UX Guidelines
Not verified
This release is part of Jakarta 10