Some big improvements and fixes has been done over the time in MyFaces 2.0.x / 2.1.x . But on the way some changes were done over some tags like:
- user custom tag handlers
And others. See this issues:
The current changes are completely justified and there is no turning back. These changes are very important to allow techniques like EL expression caching to work correctly.
But it is also true that Mojarra still has the old behavior, and there are still web applications out there that relies on that behavior. Users trying to migrate from Mojarra to MyFaces usually found this problem.
The proposal for this issue is create a web config param called org.apache.myfaces.STRICT_JSF_2_FACELETS_COMPATIBILITY by default false that when is enabled, the old way to do things is activated. Legacy versions of c:set, uiparam and user tag handler are activated. The aim is just provide a workaround for those cases and incentive users to change their application code to a more standard and stable form.