Notes on the MyFaces Core 2.0.2 Release

Release manager: Leonardo Uribe

Timeline

  • Proposed release date: 2010-06-16

Issues

Testing

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

Download a nightly build of the distribution assemblies:

Configure a <repository> for Maven 2:

        <repository>
           <id>apache.snapshots</id>
           <name>Apache Snapshot Repository</name>
           <url>http://people.apache.org/repo/m2-snapshot-repository</url>
        </repository>

And declare a dependency on the 2.0.2 snapshots:

        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-api</artifactId>
            <version>2.0.2-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-impl</artifactId>
            <version>2.0.2-SNAPSHOT</version>
        </dependency>

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 myfaces.apache.org. (You must be subscribed to post. See: http://myfaces.apache.org/mail-lists.html.)

Tasks

Proposed Release Announcement

}}}

== Diary ==
<<Anchor(diary)>>

      Follow the guide on http://www.apache.org/dev/publishing-maven-artifacts.html

1. Preparing shared 4.0.3

  * Try -DdryRun=true SUCCESS

{{{
mvn release:prepare -DdryRun=true
  • Release it! FAIL
mvn release:prepare -Dresume=false
mvn install
mvn release:rollback
mvn release:prepare -Dresume=false

Note: Preparing the release will create the new tag in SVN, automatically checking in on your behalf.

Note: If you're located in Europe then release:prepare may fail with 'Unable to tag SCM' and 'svn: No such revision X'. Wait 10 seconds and run mvn release:prepare again.

mvn release:prepare
  • Stage the release for a vote
mvn release:perform

2. Preparing core 2.0.2

  • Try -DdryRun=true SUCCESS
mvn release:prepare -DdryRun=true
  • Release it! FAIL
mvn release:prepare -Dresume=false
mvn install
mvn release:rollback
mvn release:prepare -Dresume=false

Note: Preparing the release will create the new tag in SVN, automatically checking in on your behalf.

Note: If you're located in Europe then release:prepare may fail with 'Unable to tag SCM' and 'svn: No such revision X'. Wait 10 seconds and run mvn release:prepare again.

mvn release:prepare
  • Stage the release for a vote
mvn release:perform -Darguments=-DperformRelease=true
  • Checkout 2_0_2 branch mvn install -DperformRelease=true

4. JIRA Release Management

  • Create 2.0.2 and 2.0.3-SNAPSHOT versions
  • Find resolved issues and close them
  • Unresolved issues moved to 2.0.3-SNAPSHOT
  • Issues fixed on both 2.0.2, 1.2.9, 1.1.8 should be saved on a text file to add it later.

5. Next step is the TCK
TCK passed confirmed by Leonardo Uribe

6. Generate assembly

  • Try to do it automatically javadoc and other stuff SUCCESS. It generate myfaces-core-2.0.2-bin.tar.gz and zip,
cd 2_0_2
mvn install -Pgenerate-assembly
cd assembly
mvn package

  • Create myfaces-core-2.0.2-src.tar.gz and zip manually and create .asc .md5 .sha1 for bin and src
openssl md5 myfaces-core-2.0.2-src.tar.gz > myfaces-core-2.0.2-src.tar.gz.md5
openssl md5 myfaces-core-2.0.2-src.zip > myfaces-core-2.0.2-src.zip.md5
openssl sha1 myfaces-core-2.0.2-src.tar.gz > myfaces-core-2.0.2-src.tar.gz.sha1
openssl sha1 myfaces-core-2.0.2-src.zip > myfaces-core-2.0.2-src.zip.sha1
gpg --armor --output myfaces-core-2.0.2-src.tar.gz.asc --detach-sig myfaces-core-2.0.2-src.tar.gz
gpg --armor --output myfaces-core-2.0.2-src.zip.asc --detach-sig myfaces-core-2.0.2-src.zip

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

  • Copy to private account on people.apache.org
scp -p -r myfaces-core-2.0.2-bin* lu4242@people.apache.org:/home/lu4242/public_html/myfaces202binsrc/binaries
scp -p -r myfaces-core-2.0.2-src* lu4242@people.apache.org:/home/lu4242/public_html/myfaces202binsrc/sources

7. VOTE

Hi,

I was running the needed tasks to get the 2.0.2 release of Apache
MyFaces core out.

The artifacts passed all TCK tests.

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

The artifacts were deployed on nexus repo [1] and to my private 
Apache account [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.2" 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..............
------------------------------------------------

Thanks,
Leonardo Uribe

[1] https://repository.apache.org/content/repositories/orgapachemyfaces-001/org/apache/myfaces
[2] http://www.apache.org/foundation/voting.html#ReleaseVotes
[3] http://people.apache.org/~lu4242/myfaces202binsrc
[4] https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10600&styleName=Html&version=12315348

8. Clirr report to check binary incompatibilities success

9. Vote closed, starting distribution

  • copy on /www/www.apache.org/dist/myfaces/source and /www/www.apache.org/dist/myfaces/binaries
cd /home/lu4242/public_html/myfaces202binsrc/sources
cp * /www/www.apache.org/dist/myfaces/source
cd /home/lu4242/public_html/myfaces202binsrc/binaries
cp * /www/www.apache.org/dist/myfaces/binaries
  • copy shared on /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/myfaces/shared and test SUCCESS
Alternative for manual copy:

mvn clean deploy -DaltDeploymentRepository=myfaces-staging::default::scpexe://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository -Psign-artifacts -DperformRelease=true -Dpassphrase=???

  • copy core on /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/myfaces/core SUCCESS
Alternative for manual copy:

mvn clean deploy -DaltDeploymentRepository=myfaces-staging::default::scpexe://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository -Psign-artifacts -DperformRelease=true -Dpassphrase=??? -Pgenerate-assembly 

10. Announce

  • Sent announcement mail
    • To: announce@apache.org, announce@myfaces.apache.org
    • Cc: dev@myfaces.apache.org, users@myfaces.apache.org
  • Sent announcement to jcp-open@apache.org (Necessary for TCK certified releases)
Subject: [ANNOUNCE] MyFaces Core v2.0.2 Release

The Apache MyFaces team is pleased to announce the release of MyFaces Core 2.0.2.

MyFaces Core is a JavaServer(tm) Faces 2.0 implementation as specified by JSR-314. MyFaces Core has passed Sun's JSR-314 TCK and is 100% compliant with the JSR-314 specification. 

MyFaces Core 2.0.2 is available in both binary and source distributions.

    * http://myfaces.apache.org/download.html

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

Release Notes - MyFaces Core - Version 2.0.2 

Bug

    * [MYFACES-2458] - Miscellaneous AJAX bugs
    * [MYFACES-2753] - Trivial multi-level templating does not work if ui:include is used
    * [MYFACES-2826] - NPE when using the new UEL inside a composite component in Glassfish 3.0.1
    * [MYFACES-2827] - CCE if component values are not of type String
    * [MYFACES-2830] - ourEL wrappers doesn't honour the new EL-2.2 'invoke' method
    * [MYFACES-2832] - fix for potential classloader leaks from commons components
    * [MYFACES-2836] - HtmlResponseWriterImpl does not check if a CDATA section is already opened when writing the content of a script
    * [MYFACES-2845] - jsf.js: inheritance code only worked with callSuper on 2 levels
    * [MYFACES-2847] - ajax form parameter collection erroneously submits nameless inputs by their id
    * [MYFACES-2849] - jusf.js new auto eval detection code fails on some pages
    * [MYFACES-2851] - Simple ajax event is sended twice.
    * [MYFACES-2855] - jsf.js: execute id difference between myfaces and mojarra
    * [MYFACES-2859] - Replacing elements for ajax response changes element order
    * [MYFACES-2865] - ErrorPageWriter fails with NotSerializableException
    * [MYFACES-2868] - jsf.js:@form parameter handling broken
    * [MYFACES-2870] - StartupServletContextListener could be called twice on init and destroy
    * [MYFACES-2872] - jsf.js: various small issue fixes
    * [MYFACES-2875] - FaceletVLD.retargetMethodExpressions should preserve EL VariableMapper and FunctionMapper
    * [MYFACES-2876] - Ajax Support in Mobile Browsers
    * [MYFACES-2878] - jsf.js: ie leak detector sIEve shows a load of nodes which are not garbage collected mem leaks in IE also are high
    * [MYFACES-2886] - UIData: push and pop row component to and from EL during broadcast()
    * [MYFACES-2887] - IllegalAccessException restoring custom behavior state
    * [MYFACES-2888] - Wrapping ComponentHandler in TagHandlerDelegateFactory conflicts with implementation
    * [MYFACES-2890] - Button renderer doesn't decode f:params properly
    * [MYFACES-2891] - Empty url mapping prefix causes infinite loop in DefaultViewHandlerSupport.handlePrefixMapping
    * [MYFACES-2892] - INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL applies for String only
    * [MYFACES-2894] - Eager bean is not created at application startup
    * [MYFACES-2895] - Messages component cannot be updated by ajax without wrapping it
    * [MYFACES-2896] - PartialViewContextImpl ignores executeIds/renderIds/renderAll of wrapping PartialViewContext
    * [MYFACES-2903] - ErrorPageWriter may try to write a null to the partialWriter if the exception message is null
    * [MYFACES-2904] - javascript _Dom._outerHtml does not handle table items (<tr>, <tbody>. ...)
    * [MYFACES-2905] - [JSF2] absolute-ordering warning
    * [MYFACES-2906] - NullPointerException in ResolverBuilderBase.sortELResolvers()
    * [MYFACES-2907] - AjaxBehavior does not save ValueExpression instances in the state
    * [MYFACES-2908] - UIViewRoot.addComponentResource() adding multiple components with same ID instead of replacing
    * [MYFACES-2912] - Wrong JNDI Name for Method Resource Injections
    * [MYFACES-2913] - Params inside command sent by ajax are not handled correctly
    * [MYFACES-2914] - jsf.js spec broken by adding mojarra behavior
    * [MYFACES-2917] - misspelt in Messages_es.properties
    * [MYFACES-2918] - Resource implementations cannot be cached
    * [MYFACES-2919] - LifecycleProvider Based Problems and Tomcat7 LifeCycleProvider Support
    * [MYFACES-2921] - FlashImpl should set a correct path for the Cookies
    * [MYFACES-2926] - Some nodes not removed on ajax request when IE6 is used

Improvement

    * [MYFACES-2774] - Remove MARK_DELETED attribute from the component
    * [MYFACES-2824] - Improve invokeOnComponent and visitTree methods in UILeaf
    * [MYFACES-2831] - Avoid neested CDATA section for PPR e.g. with Primefaces
    * [MYFACES-2834] - Add myfaces-impl test jar to maven repo
    * [MYFACES-2839] - cleanup of UIInput
    * [MYFACES-2841] - jsf.js: Ajax fileupload
    * [MYFACES-2846] - jsf.js: performance improvement by eval call and exists call reduction
    * [MYFACES-2850] - Clean saved state of UIInput
    * [MYFACES-2852] - jsf.js: preparations for the integration of xhr level2 fileuploads
    * [MYFACES-2853] - jsf.js: compression optimum not reached
    * [MYFACES-2854] - Processing @ResourceDependency on each component instance takes too long
    * [MYFACES-2856] - Unnecesary calls to checkResourceExists found on DefaultViewHandlerSupport and DefaultRestoreViewSupport
    * [MYFACES-2858] - pointless oamsubmit inline rendering (patch available)
    * [MYFACES-2860] - Provide AnnotationScanner interface
    * [MYFACES-2863] - Create a new package org.apache.myfaces.spi and implement Providers for integration points with application containers
    * [MYFACES-2864] - Allow caching of resources by the default external context impl
    * [MYFACES-2873] - Provide a way to change the order of ELResolvers
    * [MYFACES-2879] - Cache introspection information about converters
    * [MYFACES-2885] - Update maven site plugin to 2.1.1
    * [MYFACES-2897] - Render a message if there was no match for outcome
    * [MYFACES-2898] - use shared FacesServletMapping when possible
    * [MYFACES-2899] - Move Resource Handler selected code to shared
    * [MYFACES-2901] - Bundle oamSubmit.js into jsf.js
    * [MYFACES-2902] - Removal of YUI code due to project participants internal demand
    * [MYFACES-2923] - jsf.js finalize the testing and fix last minute bugs from the tests for 2.0.2

Task

    * [MYFACES-2825] - composite:interface, attribute and facet should handle unspecified attributes and should expose certain values only in Development stage (spec rev A)
    * [MYFACES-2828] - Indicate a better error message if a composite component MethodExpression includes parameters
    * [MYFACES-2840] - Use a copied Iterator instead of the real Enumeration in AbstractAttributeMap.AbstractAttributeIterator
    * [MYFACES-2842] - Refactor FlashImpl
    * [MYFACES-2893] - Update qdox to 1.12 on myfaces-builder-plugin

Test

    * [MYFACES-2844] - Create tests for clientEvent properties

regards,

Leonardo Uribe

  • No labels