Notes on the MyFaces Core 2.1.0 Release
Release manager: Leonardo Uribe
Timeline
- Proposed release date: 2011-05-28
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.1.0 snapshots:
<dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-api</artifactId> <version>2.1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-impl</artifactId> <version>2.1.0-SNAPSHOT</version> </dependency>
Note: Maven 2.1.0 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.1.0 * 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.1.0
- 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.1.0-bin.tar.gz and zip,
mvn install -Pgenerate-assembly cd assembly mvn package
- Create myfaces-core-2.1.0-src.tar.gz and zip manually and create .asc .md5 .sha1 for bin and src
openssl md5 myfaces-core-2.1.0-src.tar.gz > myfaces-core-2.1.0-src.tar.gz.md5 openssl md5 myfaces-core-2.1.0-src.zip > myfaces-core-2.1.0-src.zip.md5 openssl sha1 myfaces-core-2.1.0-src.tar.gz > myfaces-core-2.1.0-src.tar.gz.sha1 openssl sha1 myfaces-core-2.1.0-src.zip > myfaces-core-2.1.0-src.zip.sha1 gpg --armor --output myfaces-core-2.1.0-src.tar.gz.asc --detach-sig myfaces-core-2.1.0-src.tar.gz gpg --armor --output myfaces-core-2.1.0-src.zip.asc --detach-sig myfaces-core-2.1.0-src.zip openssl md5 myfaces-core-2.1.0-bin.tar.gz > myfaces-core-2.1.0-bin.tar.gz.md5 openssl md5 myfaces-core-2.1.0-bin.zip > myfaces-core-2.1.0-bin.zip.md5 openssl sha1 myfaces-core-2.1.0-bin.tar.gz > myfaces-core-2.1.0-bin.tar.gz.sha1 openssl sha1 myfaces-core-2.1.0-bin.zip > myfaces-core-2.1.0-bin.zip.sha1 gpg --armor --output myfaces-core-2.1.0-bin.tar.gz.asc --detach-sig myfaces-core-2.1.0-bin.tar.gz gpg --armor --output myfaces-core-2.1.0-bin.zip.asc --detach-sig myfaces-core-2.1.0-bin.zip
- Copy to private account on people.apache.org
scp -p -r myfaces-core-2.1.0-bin* lu4242@people.apache.org:/home/lu4242/public_html/myfaces210binsrc/binaries scp -p -r myfaces-core-2.1.0-src* lu4242@people.apache.org:/home/lu4242/public_html/myfaces210binsrc/sources
- ALTERNATIVE: get it from nexus maven repository:
cd /home/lu4242/public_html/myfaces210binsrc/binaries wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-bin.tar.gz wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-bin.tar.gz.asc wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-bin.tar.gz.md5 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-bin.tar.gz.sha1 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-bin.zip wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-bin.zip.asc wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-bin.zip.md5 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-bin.zip.sha1 cd /home/lu4242/public_html/myfaces210binsrc/sources wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-src.tar.gz wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-src.tar.gz.asc wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-src.tar.gz.md5 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-src.tar.gz.sha1 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-src.zip wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-src.zip.asc wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-src.zip.md5 wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-003/org/apache/myfaces/core/myfaces-core-assembly/2.1.0/myfaces-core-assembly-2.1.0-src.zip.sha1
7. VOTE
Hi, I was running the needed tasks to get the 2.1.0 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.1.0 [1] 2. Maven artifact group "org.apache.myfaces.core" v2.1.0 [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.1.0" 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-003/org/apache/myfaces/ [2] http://www.apache.org/foundation/voting.html#ReleaseVotes [3] http://people.apache.org/~lu4242/myfaces210binsrc [4] https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10600&version=12315190
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/myfaces210binsrc/sources cp * /www/www.apache.org/dist/myfaces/source cd /home/lu4242/public_html/myfaces210binsrc/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.1.0 Release The Apache MyFaces team is pleased to announce the release of MyFaces Core 2.1.0. MyFaces Core is a JavaServer(tm) Faces 2.1 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.1.0 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.1.0 Sub-task * [MYFACES-3120] - Use ExternalContext.encodeResourceUrl for stylesheet and script links * [MYFACES-3121] - Add media attribute to h:outputStylesheet * [MYFACES-3134] - Move all code related to state caching into one place * [MYFACES-3137] - Align ResponseStateManager implementation with the spec * [MYFACES-3138] - Simplify ResponseStateManager implementation code Bug * [MYFACES-2628] - Facelets ResourceSolver cant work * [MYFACES-2881] - Server state saving with two forms, ajax and normal request is broken * [MYFACES-2924] - Component bindings are not reset when explicit navigation to the same page is derived from action * [MYFACES-3103] - Composite component using new .view.xml mapping does not work * [MYFACES-3117] - Current server state saving implementation prevents multi-window usage * [MYFACES-3124] - Use both SKIP_ITERATION hints in RESTORE_VIEW * [MYFACES-3125] - ValidatorTagHandlerDelegate does not invoke next handler in partial processing mode, which damages the component structure * [MYFACES-3128] - Problems with a custom Resource Resolver * [MYFACES-3132] - javax.faces.context.ResponseWriterWrapper implementation is overdone * [MYFACES-3140] - FacesMessage.VALUES is not ordered properly * [MYFACES-3141] - FacesMessage implements Serializable but cannot be serialized * [MYFACES-3142] - h:outputScript and h:outputStylesheet renderer listeners cannot implement PartialStateHolder * [MYFACES-3152] - javax.faces.application.StateManager default implementation for writeState and saveSerializedView needs to be implemented * [MYFACES-3154] - UIDebug doesn't check for existing url parameters Improvement * [MYFACES-1753] - Do not require to buffer the output with server-side-state-saving * [MYFACES-1791] - state management and multiple frames * [MYFACES-2837] - jsf.js 2.0 reva new functions * [MYFACES-3111] - [PERF] Review UIData.saveDescendantComponentStates and restoreDescendantComponentStates * [MYFACES-3123] - jsf.js: Merge in the latest javascript fixes and changes from the 2.0 core into the 2.1 core * [MYFACES-3129] - [PERF] Call first getChildCount() or getFacetCount() before try to create the iterator * [MYFACES-3136] - [perf] review UIComponentBase.getRendererType * [MYFACES-3148] - Log "PanelGrid ... has not enough children" with Level.FINE in Production * [MYFACES-3151] - [perf] minimize ExternalContext.getInitParameter invocations in myfaces API New Feature * [MYFACES-3075] - Allow ELResolvers filtering Task * [MYFACES-2616] - Fix UIData state saving model (spec issue 153) * [MYFACES-3025] - 2.1: implement VisitHint.SKIP_ITERATION support in UIData * [MYFACES-3083] - Implement StateManager.IS_SAVING_STATE * [MYFACES-3084] - Add FacesContext.isReleased() method * [MYFACES-3085] - Modify ResourceHandler.RESOURCE_EXCLUDES_DEFAULT_VALUE to include .groovy as an excluded default extension * [MYFACES-3086] - Add h:doctype component * [MYFACES-3087] - Add h:head and h:body xmlns property * [MYFACES-3088] - Implement ExternalContext.isSecure() and getSessionMaxInactiveInterval() method * [MYFACES-3089] - Implement FaceletCacheFactory and FaceletCache methods * [MYFACES-3090] - Implement VisitHint.SKIP_ITERATION hint in UIRepeat * [MYFACES-3091] - Implement UIComponent.ATTRS_WITH_DECLARED_DEFAULT_VALUES behavior * [MYFACES-3092] - Implement UIComponent.HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME * [MYFACES-3093] - Check FacesServlet description for support servlet 3.0 spec * [MYFACES-3094] - Check javax.faces.resource.Script and javax.faces.resource.Stylesheet modifications * [MYFACES-3095] - Check h:button and h:link modifications. * [MYFACES-3097] - Add cc:attribute targetAttributeName * [MYFACES-3098] - Add support for view.xml handling and facelets-processing element * [MYFACES-3110] - Allow use the same library for a composite component for resources defined inside it (resolve #{resource['this:...']} ) * [MYFACES-3122] - Create xsd schemas for .view.xml pages regards, Leonardo Uribe