Tuesday, March 28, 2017

JSF 2.3 released!

After a long and at times intense spec and development process the JSF 2.3 EG is proud to announce that today we've released JSF 2.3.

JSF (JavaServer Faces), is a component based MVC framework that's part of Java EE. JSF 2.3 in particular is part of Java EE 8.

Major new features in JSF 2.3 are a tighter integration with CDI, support for WebSockets, a really cool component search expression framework (donated by PrimeFaces), basic support for extensionless URLs, and class level bean validation.

The age old native managed beans of JSF 2.3 have finally been deprecated (although they are still available for now) in favour of CDI. It's expected that these will be fully removed (pruned) in a future release.

The JSF 2.3 EG would like to thank everyone who contributed to JSF in whatever way, by creating bug reports, testing builds, providing comments and insights on the mailinglist and contributing code. Without those community contributions JSF 2.3 would not have been possible! Thanks to all our fantastic community members!

JSF 2.3 (Mojarra 2.3) can be downloaded per direct from the project's download page.

Maven coordinates for the implementation (includes API) are:

<dependency>
    <groupId>org.glassfish</groupId>
    <artifactId>javax.faces</artifactId>
    <version>2.3.0</version>
</dependency>

The full implementation can be used for Servlet containers such as Tomcat and Jetty.

Maven coordinates for just the API are:

<dependency>
    <groupId>javax.faces</groupId>
    <artifactId>javax.faces-api</artifactId>
    <version>2.3</version>
</dependency>

The API jar can only be used as a compile time dependency.

Application servers Payara and GlassFish can be trivially updated by replacing the JSF 2.2 glassfish/modules/javax.faces.jar with the 2.3 version. It's usually a good idea to clear the OSGI cache after that (e.g. rm -rf [payara/gf gome]/ glassfish/domains/domain1/osgi-cache/felix/)

Arjan Tijms

11 comments:

  1. Oh, that's amazing. I really like JSF =)

    Now, just for curiosity, is there any plans for JSF on Java EE 9? xD

    ReplyDelete
    Replies
    1. Great that you like JSF ;)

      Lots of plans for JSF in Java EE 9. Among others actually removing all the deprecated stuff is considered, as well as making extensionless URLs more automated, improving the component model, having a unified repeat (base) component and lots more.

      Work on Mojarra 2.4 has already started, but no new spec features can be added right now as this requires a new EG to be assembled.

      Delete
    2. I think the "Open EntityManager In View" or "Open Extended Persistence Context In View" patterns should be added to JSF 2.4.

      Delete
  2. Thanks for the heads up. Good work on it to all those who contributed.

    ReplyDelete
  3. I am going to test with Tomcat. As I understand no one application server support jsf 2.3 at the moment? Do I need integrate weld with tomcat?:((((

    ReplyDelete
    Replies
    1. Payara and GlassFish 4.1.x as well as JBoss/WildFly support JSF 2.3, given that you update the jar, or jars (in case of JBoss) yourself.

      For Tomcat a CDI implementation needs to be present indeed, but it does not necessarily have to be Weld.

      Delete
    2. This comment has been removed by the author.

      Delete
    3. Hi Arjan, Many thanks.
      I was wait this release of JSF, from 2008 all my projects in JSF :))), used all versions.
      I am integrating all kind of technologies with JSF:))

      Delete
    4. Great, thanks for the head ups! :)

      Delete
  4. Excuseme, i want to try jsf2.3 websocket and others new features, i add the
        org.glassfish
        javax.faces
        2.3.0


    to my pom but when i try to use its not there.. is there any procedure to use 2.3?

    thanks.

    ReplyDelete
    Replies
    1. the f:websocket tag is not there and also all others feautres

      Delete