Notes on the MyFaces Core 2.0.0-beta Release




Here's how you can help us test the distribution.

Download a nightly build of the distribution assemblies:

Configure a <repository> for Maven 2:

           <name>Apache Snapshot Repository</name>

And declare a dependency on the 2.0.0-beta snapshots:


Note: Maven 2.0.4 will not download a new version if one is already present in your local repository. You will need to delete $M2_REPO/org/apache/myfaces/core to force Maven to download the new version. (Usually, $M2_REPO is <your home directory>/.m2/repository .)

Test your application, then, let us know the results (good or bad!) on dev -at- (You must be subscribed to post. See:


Proposed Release Announcement


1. Preparing shared 4.0.1-beta

mvn release:prepare -DtagBase= -Dusername=lu4242 -Dscm.password=??? -Dtag=4_0_1_beta -DdryRun=true

mvn release:prepare -DtagBase= -Dusername=lu4242 -Dscm.password=??? -Dtag=4_0_1_beta -Dresume=false

mvn release:prepare -DtagBase= -Dusername=lu4242 -Dscm.password=??? -Dtag=4_0_1_beta -Dresume=false

2. Preparing core 2.0.0-beta

mvn release:prepare -DtagBase= -Dusername=lu4242 -Dscm.password=??? -Dtag=2_0_0_beta -DdryRun=true

mvn release:prepare -DtagBase= -Dusername=lu4242 -Dscm.password=??? -Dtag=2_0_0_beta -Dresume=false

3. Deploy on local repo

mvn clean deploy -DperformRelease=true -DaltDeploymentRepository=myfaces-local-staging::default::scp://localhost/home/lu4242/stage/repo200beta -Psign-artifacts -Dpassphrase=??? 

   cd home/lu4242/stage/repo200beta
   scp -p -r org

4. JIRA Release Management

5. Next step is the TCK

6. Generate assembly

cd 2_0_0_beta
mvn install -Pgenerate-assembly
cd assembly
mvn package

openssl md5 myfaces-core-2.0.0-beta-src.tar.gz > myfaces-core-2.0.0-beta-src.tar.gz.md5
openssl md5 >
openssl sha1 myfaces-core-2.0.0-beta-src.tar.gz > myfaces-core-2.0.0-beta-src.tar.gz.sha1
openssl sha1 >
gpg --armor --output myfaces-core-2.0.0-beta-src.tar.gz.asc --detach-sig myfaces-core-2.0.0-beta-src.tar.gz
gpg --armor --output --detach-sig

openssl md5 myfaces-core-2.0.0-beta-bin.tar.gz > myfaces-core-2.0.0-beta-bin.tar.gz.md5
openssl md5 >
openssl sha1 myfaces-core-2.0.0-beta-bin.tar.gz > myfaces-core-2.0.0-beta-bin.tar.gz.sha1
openssl sha1 >
gpg --armor --output myfaces-core-2.0.0-beta-bin.tar.gz.asc --detach-sig myfaces-core-2.0.0-beta-bin.tar.gz
gpg --armor --output --detach-sig

scp -p -r myfaces-core-2.0.0-beta-bin*
scp -p -r myfaces-core-2.0.0-beta-src*



I was running the needed tasks to get the 2.0.0-beta release of Apache
MyFaces core out.

This artifacts are very close to pass all TCK tests. Some corrections has been
done from the latest proposed artifacts.

Please note that this vote concerns all of the following parts:
 1. Maven artifact group "org.apache.myfaces.shared" v4.0.1-beta  [1]
 2. Maven artifact group "org.apache.myfaces.core" v2.0.0-beta  [1]

The artifacts are deployed to my private Apache account ([1] and [3] for binary and source packages).

The release notes could be found at [4].

Also the clirr test does not show binary incompatibilities with myfaces-api.

Please take a look at the "2.0.0-beta" artifacts and vote!

Please note: This vote is "majority approval" with a minimum of three
+1 votes (see [3]).

[ ] +1 for community members who have reviewed the bits
[ ] +0
[ ] -1 for fatal flaws that should cause these bits not to be released,
 and why..............

Leonardo Uribe


8. Clirr report to check binary incompatibilities success

9. Vote closed, starting distribution

cd /home/lu4242/public_html/myfaces200betabinsrc/sources
cp * /www/
cd /home/lu4242/public_html/myfaces200betabinsrc/binaries
cp * /www/

Alternative for manual copy:

mvn clean deploy -DaltDeploymentRepository=myfaces-staging::default::scpexe:// -Psign-artifacts -DperformRelease=true -Dpassphrase=???

Alternative for manual copy:

mvn clean deploy -DaltDeploymentRepository=myfaces-staging::default::scpexe:// -Psign-artifacts -DperformRelease=true -Dpassphrase=???

10. Announce

Subject: [ANNOUNCE] MyFaces Core v2.0.0-beta Release

The Apache MyFaces team is pleased to announce the release of MyFaces Core 2.0.0-beta.

MyFaces Core is a JavaServer(tm) Faces 2.0 implementation as specified by JSR-314. 

MyFaces Core 2.0.0-beta is available in both binary and source distributions.


MyFaces Core is also available in the central Maven repository under Group ID "org.apache.myfaces.core".

Release Notes - MyFaces Core - Version 2.0.0-beta


    * [MYFACES-2356] - HtmlRadioRendererBase calls converter method getAsString() not with the object, but with the string version when an validation error occured
    * [MYFACES-2396] - @PreDestroy method of Bean in CustomScope not invoked
    * [MYFACES-2410] - f:validateBean does not work as container for EditableValueHolders
    * [MYFACES-2429] - Missing localePrefix for resources is not ignored
    * [MYFACES-2430] - Button image url rendered wrong for resources
    * [MYFACES-2431] - NotSerializableException on state serialization
    * [MYFACES-2432] - InsertChildrenHandler.RelocateAllChildrenListener throws IndexOutOfBoundsException
    * [MYFACES-2434] - dummy request/response classes for system event listeners will break with Servlet 3.0
    * [MYFACES-2436] - BeanValidator stops on null value (@NotNull not checked)
    * [MYFACES-2437] - columnClasses must not be rendered if colums > columnClasses
    * [MYFACES-2445] - NPE on rendering outcome target links
    * [MYFACES-2447] - PhaseListeners not invoked correctly
    * [MYFACES-2450] - ViewHandler.deriveViewId must check is viewId really exists
    * [MYFACES-2453] - f:view is ignored by facelets
    * [MYFACES-2457] - f:selectItem "escape" property not bound in facelets
    * [MYFACES-2462] - <ui:debug /> is not working
    * [MYFACES-2468] - MyFaces needs to support adding a <view-handler> in faces-config.xml
    * [MYFACES-2469] - Invalid outcome gives NPE
    * [MYFACES-2472] - Missing return in UIComponent.EventListenerWrapper
    * [MYFACES-2474] - Fix navigation handler algorithm for redirects
    * [MYFACES-2475] - Visit facets in UIComponent.visitTree()
    * [MYFACES-2476] - @this in render not resolved on ajax request
    * [MYFACES-2477] - Ajax related fixes for command components
    * [MYFACES-2481] - Wrong property name in payload for ajax callback functions
    * [MYFACES-2482] - Use Error instead of Exception in Ajax Js Impl
    * [MYFACES-2484] - public final void pushComponentToEL(FacesContext context, UIComponent component) crashes if component is null
    * [MYFACES-2488] - PreRenderViewEvent-listeners could change UIViewRoot or set responseComplete
    * [MYFACES-2498] - Myfaces should be able to gracefully handle a runtime with the bean validation API on the classpath but no impl
    * [MYFACES-2499] - f:validateBean disabled="true" not processed correctly
    * [MYFACES-2501] - f:validateBean should only use the validationGroups from the stack, if its validationGroups property is null or an empty string
    * [MYFACES-2506] - @ManagedBean doesn't work with missing scope annotation


    * [MYFACES-2435] - f:facet can have more than one child
    * [MYFACES-2444] - Implement new JSF 2 c:set features
    * [MYFACES-2464] - Find a way to do not use ELExpressions on jsf.js for getProjectStage


    * [MYFACES-2363] - ExceptionHandler implementation requires deal with ajax responses
    * [MYFACES-2368] - Update Render Response Phase to new spec
    * [MYFACES-2417] - h:commandButton and h:commandLink now can be rendered outside a form
    * [MYFACES-2418] - Implement h:selectManyXXX collectionType and hideNoSelectionOption
    * [MYFACES-2423] - h:dataTable renderer does not support colgroups facet
    * [MYFACES-2425] - JSTL Functions returns null instead ""
    * [MYFACES-2426] - UISelectItem itemEscaped should return true as default
    * [MYFACES-2427] - Composite Component not bound when calling ValueExpression from broadcast
    * [MYFACES-2428] - Id generation for facelets cause problems with htmlunit 2.4 or lower
    * [MYFACES-2438] - h:selectOneRadio can't render HTML.NBSP_ENTITY before start label text
    * [MYFACES-2446] - ExceptionHandlerImpl is not correct
    * [MYFACES-2448] - Wrappers created in 1.2 version should wrap new methods added in 2.0
    * [MYFACES-2449] - ManagedBeanResolver and ScopedAttributeResolver could be called before UIViewRoot is available
    * [MYFACES-2451] - Add @JSFWebConfigParam annotation to new parameters in JSF 2.0
    * [MYFACES-2454] - Adapt default error page generation to new spec
    * [MYFACES-2455] - ClientBehaviorHolder interface should be tracked by myfaces-builder-plugin metadata
    * [MYFACES-2456] - Interfaces should be tracked on myfaces builder plugin
    * [MYFACES-2459] - PreJsf2ExceptionHandlerImpl not correct
    * [MYFACES-2460] - Add Resource Headers and allow EL Expressions only on css files
    * [MYFACES-2465] - PreJsf2ExceptionHandlerFactory should create new instances of PreJsf2ExceptionHandlerImpl for each call to getExceptionHandler()
    * [MYFACES-2487] - DeltaList does not deal correctly with transient objects
    * [MYFACES-2493] - ViewMetadata facelets compiler should not output DTD, <?xml or any UIInstruction outside f:metadata
    * [MYFACES-2494] - Component branches saved with PSS needs to be wrapped
    * [MYFACES-2496] - Provide a method to find out if a facelets TagHandler has children or not
    * [MYFACES-2505] - ComponentHandler.isNew requires deal with composite components


Leonardo Uribe

CoreRelease200beta (last edited 2010-02-01 02:38:19 by LeonardoUribe)