Notes on the MyFaces Core 2.2.9 Release
Release manager: Leonardo Uribe
Timeline
- Proposed release date: 2015-11-29
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.2.9 snapshots:
<dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-api</artifactId> <version>2.2.9-SNAPSHOT</version> </dependency> <dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-impl</artifactId> <version>2.2.9-SNAPSHOT</version> </dependency>
Note: Maven 2.2.9 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.2.7 * Change shared/core/pom.xml variable to mirror updated shared copy from core and run from shared root path {{{ mvn clean install -Dsynch-shared=true
- Try -DdryRun=true SUCCESS
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/tags -DdryRun=true
- Release it! FAIL
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/tags -Dresume=false mvn install mvn release:rollback mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/tags -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 -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/tags
- Stage the release for a vote
mvn release:perform -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/tags
2. Preparing core 2.2.9
- Try -DdryRun=true SUCCESS
mvn clean install mvn install -Pgenerate-assembly -Papache-release mvn release:prepare -DprepareRelease=true -DdryRun=true
- Release it! FAIL
mvn release:prepare -DprepareRelease=true -Dresume=false mvn install mvn install -Pgenerate-assembly -Papache-release mvn release:rollback -DprepareRelease=true mvn release:prepare -DprepareRelease=true -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 -DprepareRelease=true
- Stage the release for a vote
mvn release:perform -DperformRelease=true
- Checkout generated tag mvn install -DperformRelease=true
4. JIRA Release Management
- Create 2.1.1 and 2.1.1-SNAPSHOT versions
- Find resolved issues and close them
- Unresolved issues moved to 2.1.1-SNAPSHOT
- Issues fixed on both 2.1.1, 2.0.6 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.2.9-bin.tar.gz and zip,
mvn install -Pgenerate-assembly cd assembly mvn package
- Create myfaces-core-2.2.9-src.tar.gz and zip manually and create .asc .md5 .sha1 for bin and src
openssl md5 myfaces-core-2.2.9-src.tar.gz > myfaces-core-2.2.9-src.tar.gz.md5 openssl md5 myfaces-core-2.2.9-src.zip > myfaces-core-2.2.9-src.zip.md5 openssl sha1 myfaces-core-2.2.9-src.tar.gz > myfaces-core-2.2.9-src.tar.gz.sha1 openssl sha1 myfaces-core-2.2.9-src.zip > myfaces-core-2.2.9-src.zip.sha1 gpg --armor --output myfaces-core-2.2.9-src.tar.gz.asc --detach-sig myfaces-core-2.2.9-src.tar.gz gpg --armor --output myfaces-core-2.2.9-src.zip.asc --detach-sig myfaces-core-2.2.9-src.zip openssl md5 myfaces-core-2.2.9-bin.tar.gz > myfaces-core-2.2.9-bin.tar.gz.md5 openssl md5 myfaces-core-2.2.9-bin.zip > myfaces-core-2.2.9-bin.zip.md5 openssl sha1 myfaces-core-2.2.9-bin.tar.gz > myfaces-core-2.2.9-bin.tar.gz.sha1 openssl sha1 myfaces-core-2.2.9-bin.zip > myfaces-core-2.2.9-bin.zip.sha1 gpg --armor --output myfaces-core-2.2.9-bin.tar.gz.asc --detach-sig myfaces-core-2.2.9-bin.tar.gz gpg --armor --output myfaces-core-2.2.9-bin.zip.asc --detach-sig myfaces-core-2.2.9-bin.zip
- Copy to private account on people.apache.org
scp -p -r myfaces-core-2.2.9-bin* lu4242@people.apache.org:/home/lu4242/public_html/myfaces229binsrc/binaries scp -p -r myfaces-core-2.2.9-src* lu4242@people.apache.org:/home/lu4242/public_html/myfaces229binsrc/sources
- ALTERNATIVE: get it from nexus maven repository:
cd /home/lu4242/public_html/myfaces229binsrc/binaries wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-bin.tar.gz wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-bin.tar.gz.asc wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-bin.tar.gz.md5 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-bin.tar.gz.sha1 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-bin.zip wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-bin.zip.asc wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-bin.zip.md5 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-bin.zip.sha1 cd /home/lu4242/public_html/myfaces229binsrc/sources wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-src.tar.gz wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-src.tar.gz.asc wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-src.tar.gz.md5 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-src.tar.gz.sha1 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-src.zip wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-src.zip.asc wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-src.zip.md5 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-1057/org/apache/myfaces/core/myfaces-core-assembly/2.2.9/myfaces-core-assembly-2.2.9-src.zip.sha1
7. VOTE
Hi, I was running the needed tasks to get the 2.2.9 release of Apache MyFaces core out. The artifacts passed the TCK test of Feb 2013 (jsftck-2.2_26-Feb-2013.zip). Please note that this vote concerns all of the following parts: 1. Maven artifact group "org.apache.myfaces.shared" v4.2.7 [1] 2. Maven artifact group "org.apache.myfaces.core" v2.2.9 [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.2.9" 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-1057/org/apache/myfaces/ [2] http://www.apache.org/foundation/voting.html#ReleaseVotes [3] http://people.apache.org/~lu4242/myfaces229binsrc [4] https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10600&version=12331973
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/myfaces229binsrc/sources cp * /www/www.apache.org/dist/myfaces/source cd /home/lu4242/public_html/myfaces229binsrc/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
- Site deploy for shared and core (mvn site:site and mvn site:deploy)
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.2.9 Release The Apache MyFaces team is pleased to announce the release of MyFaces Core 2.2.9. MyFaces Core is a JavaServer(tm) Faces 2.2 implementation as specified by JSR-344. The artifacts passed the TCK test of Feb 2013 (jsftck-2.2_26-Feb-2013.zip). MyFaces Core 2.2.9 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.2.9 Bug [MYFACES-3957] - Disabled h:commandLink results in rendering of a span with onclick [MYFACES-3978] - NullPointerException in FaceletStateValueExpression when ViewPooling enabled [MYFACES-3980] - c:forEach varStatus is assigned with the wrong base [MYFACES-3981] - Unable to resolve Integer API as Lambda expression in a facelet [MYFACES-3982] - javax.faces.context.ExternalContext#getInitParameter should throw NPE when name is null [MYFACES-3983] - ViewScopeBinding does not work, results in an exception when using a datatable [MYFACES-3986] - viewScope implicit object not resolved in a JSP page [MYFACES-3988] - An empty tag in a custom tag-lib causes an Exception [MYFACES-3989] - MalformedURLException when javax.faces.FACELETS_LIBRARIES contains line feed [MYFACES-3992] - f:ajax doesn't append javax.faces.ViewState back on re-render of form in stateless view [MYFACES-3996] - Value of HTML-Attribute class on Passthrough element is casted to java.lang.Class if coming from EL [MYFACES-4000] - Some MyFaces JSF 2.2 API signatures do not match the Java EE 7 API [MYFACES-4003] - Allow the "class" Attribute To Be Set For Custom Tags [MYFACES-4008] - AbstractMethodError thrown by javax.servlet.http.Part.getSubmittedFileName() [MYFACES-4010] - MyFaces 2.2 throws UnsupportedOperationException with an eager ManagedBean with ManagedProperty [MYFACES-4016] - Error when submitting an Ajax request for an element without an ID [MYFACES-4017] - custom expression factory not correctly loaded [MYFACES-4019] - Updating a bound value not possible if input component is within c:forEach Improvement [MYFACES-3063] - code cleanup and performance review [MYFACES-3985] - [perf] avoid field initialization on CDI beans [MYFACES-4001] - Outdated java.sun.com XML namespaces in 2.2 tagdoc [MYFACES-4014] - Log required startup time [MYFACES-4015] - [perf] provide annotation scanning via CDI extension Task [MYFACES-4005] - Classloading conflict with httpclient (update commons-codec to 1.10) regards, Leonardo Uribe