From spec point of view, JSF 2.1 is a maintenance release 2 from JSF 2.0, so any application written for JSF 2.0 will work with 2.1 jars. In resume, with JSF 2.1 the following features were added:
- Configure facelets engine to handle files in different ways using <facelets-processing> tag inside <faces-config-extensions> entry on faces-config.xml (For more information see JSF 2.1 spec Appendix A 18.104.22.168 The facelets-processing element).
<faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd" version="2.1"> <faces-config-extension> <facelets-processing> <file-extension>.jspx</file-extension> <process-as>jspx</process-as> </facelets-processing> </faces-config-extension> </faces-config>
There are no major changes between those versions than can cause you incompatibilities. By that reason, in practice both lines (2.0 and 2.1) are maintained by MyFaces Community at the same time.