Differences between revisions 7 and 8
Revision 7 as of 2012-09-19 20:26:48
Size: 15200
Editor: Dynamic-IP-19015812631
Comment:
Revision 8 as of 2012-09-24 17:40:33
Size: 15501
Editor: Dynamic-IP-19015812631
Comment:
Deletions are marked like this. Additions are marked like this.
Line 298: Line 298:
    [MYFACES-3501] - Remove unncecessary exception wrapping
    [MYFACES-3503] - Improve exception handling for f:setPropertyActionListener and EL coercion
    * [MYFACES-3564] - [perf] remove viewId sent inside token in HtmlResponseStateManager
    * [MYFACES-3565] - Add client side timestamp for view state expiration
    * [MYFACES-3566] - Add random token option for server side state saving
    * [MYFACES-3567] - [perf] do not include empty delta state array in both client side and server side state saving
    * [MYFACES-3568] - [perf] use viewId hashCode() instead full viewId on server side state saving SerializedViewKey
Line 303: Line 306:
    [MYFACES-3509] - Array.prototype.forEach used in browsers that do not natively support this function
    [MYFACES-3526] - NullPointerException on javax.faces.application.Resource.toString when using -Dsun.io.serialization.extendedDebugInfo=true
    [MYFACES-3527] - ajax update of composite component within an ui:repeat doesn't work
    [MYFACES-3530] - Implicit Navigation Does Not Work After ViewExpiredException
    [MYFACES-3531] - Empty url mapping prefix causes infinite loop in DefaultRestoreViewSupport.handlePrefixMapping
    [MYFACES-3536] - AccessControlException occurs when using a CustomExceptionHandler to navigate to a page using the NavigationHandler
    [MYFACES-3537] - TagLibraryConfig doesn't recognize <facelet-taglib><description>
    [MYFACES-3539] - jsf.js: ajax broken for Firefox 12 due to firefox bug
    [MYFACES-3541] - actionListener of composite component not working with dynamic includes
    [MYFACES-3543] - java.lang.IllegalArgumentException: text/xml on ajax requests with webkit mobile browser
    [MYFACES-3544] - client side ajax error when render a primefaces datatable with f:ajax
    [MYFACES-3545] - FACELETS_REFRESH_PERIOD > 0 + .xhtml in .jar = Too many open files
    [MYFACES-3554] - REGRESSION: 2.0.12/2.1.6 (and above) fail on state saving
    [MYFACES-3557] - ViewNotFoundException using Custom Exception Handler after ViewExpiredException when using implicit navigation and prefix mapping.
    * [MYFACES-3383] - Self nested Composite Component leads to EL Stack Overflow
    * [MYFACES-3520] - False evaluation of variables/params with the same name (c:forEach "var" and "varStatus" should be page scoped)
    * [MYFACES-3574] - Update of 'javax.faces.ViewState' input elements fails
    * [MYFACES-3579] - Inconsistent message order in h:messages
    * [MYFACES-3580] - Searching for JAR in RAR by facelets Claspath util causes FileNotFoundException
    * [MYFACES-3581] - @EJB injection into a @ViewScoped bean causes CNFE
    * [MYFACES-3583] - h:outputFormat renders unneccessary <span> tag
    * [MYFACES-3584] - h:commandLink renders onclick JavaScript referencing a non-existent HTML id
    * [MYFACES-3585] - FacesContextFactoryImpl is not released in FacesContextImpl.release()
    * [MYFACES-3589] - Allow multiple resolutions of cc into the same EL expression
    * [MYFACES-3590] - AccessControlException occurs in Classpath._searchDir
    * [MYFACES-3591] - Labels with EL expressions are not shown in messages if partial state saving is disabled
    * [MYFACES-3594] - ClassCastException after application restart due to UIViewParameter Renderer Cacheing
    * [MYFACES-3597] - Wrong message indicating ri or myfaces in the classpath
    * [MYFACES-3598] - ViewExpiredException during logout after the 3rd login
    * [MYFACES-3605] - Expression ClassCastException
Line 320: Line 325:
    [MYFACES-3505] - [perf] DefaultFaceletContext : use same StringBuilder instance for prefix and uniqueId
    [MYFACES-3548] - Messages_en.properties not synchronized with Messages.properties
    [MYFACES-3549] - Alternative solution to bugs MYFACES-3262 and MYFACES-3510
    [MYFACES-3550] - [perf] minimize FacesContext.getCurrentInstance() calls part II
    [MYFACES-3555] - [perf] store location key in composite component just once
    [MYFACES-3556] - [perf] call markInitialState() inside vdl.retargetAttachedObjects() and vdl.retargetMethodExpressions()
    [MYFACES-3560] - [perf] Add FaceletCompositionContext.incrementUniqueComponentId() and prevent create ids when is not necessary
    * [MYFACES-3562] - [perf] Optimize UIOutput.saveState(FacesContext)
    * [MYFACES-3563] - Improvements in State Saving Algorithm
    * [MYFACES-3572] - [perf] remember initial state for properties changed in normal JSF lifecycle
    * [MYFACES-3573] - Log only once unified EL / bean validation presence
    * [MYFACES-3576] - [perf] use get() over eval() for UIViewRoot.getViewId()
    * [MYFACES-3600] - Prevent create additional facet panel when html markup is used
    * [MYFACES-3601] - Avoid call UIViewRoot.setViewId(...) when it is not necessary to prevent state creation

New Feature

    * [MYFACES-3553] - [GAE] Add param to select jar files to be scanned for .faces-config.xml or .taglib.xml or annotations

Notes on the MyFaces Core 2.0.15 Release

  • Release manager: Leonardo Uribe

Timeline

  • Proposed release date: 2012-09-08

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.15 snapshots:

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

Note: Maven 2.0.15 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

1. Preparing shared 4.0.15

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.0.15

mvn clean install
mvn install -Pgenerate-assembly -Papache-release
mvn release:prepare -DprepareRelease=true -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/tags  -DdryRun=true
  • Release it! FAIL

mvn release:prepare -DprepareRelease=true -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/tags  -Dresume=false
mvn install
mvn install -Pgenerate-assembly -Papache-release
mvn release:rollback -DprepareRelease=true 
mvn release:prepare -DprepareRelease=true -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/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/core/tags -DprepareRelease=true
  • Stage the release for a vote

mvn release:perform -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/tags -DperformRelease=true

4. JIRA Release Management

  • Create 2.0.9 and 2.0.9-SNAPSHOT versions
  • Find resolved issues and close them
  • Unresolved issues moved to 2.0.9-SNAPSHOT
  • Issues fixed on both 2.1.2, 2.0.2 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.15-bin.tar.gz and zip,

mvn install -Pgenerate-assembly
cd assembly
mvn package
  • Create myfaces-core-2.0.15-src.tar.gz and zip manually and create .asc .md5 .sha1 for bin and src

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

openssl md5 myfaces-core-2.0.15-bin.tar.gz > myfaces-core-2.0.15-bin.tar.gz.md5
openssl md5 myfaces-core-2.0.15-bin.zip > myfaces-core-2.0.15-bin.zip.md5
openssl sha1 myfaces-core-2.0.15-bin.tar.gz > myfaces-core-2.0.15-bin.tar.gz.sha1
openssl sha1 myfaces-core-2.0.15-bin.zip > myfaces-core-2.0.15-bin.zip.sha1
gpg --armor --output myfaces-core-2.0.15-bin.tar.gz.asc --detach-sig myfaces-core-2.0.15-bin.tar.gz
gpg --armor --output myfaces-core-2.0.15-bin.zip.asc --detach-sig myfaces-core-2.0.15-bin.zip
  • Copy to private account on people.apache.org

scp -p -r myfaces-core-2.0.15-bin* lu4242@people.apache.org:/home/lu4242/public_html/myfaces2015binsrc/binaries
scp -p -r myfaces-core-2.0.15-src* lu4242@people.apache.org:/home/lu4242/public_html/myfaces2015binsrc/sources
  • ALTERNATIVE: get it from nexus maven repository:

cd /home/lu4242/public_html/myfaces2015binsrc/binaries

wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-bin.tar.gz
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-bin.tar.gz.asc
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-bin.tar.gz.md5
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-bin.tar.gz.sha1
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-bin.zip
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-bin.zip.asc
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-bin.zip.md5
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-bin.zip.sha1

cd /home/lu4242/public_html/myfaces2015binsrc/sources

wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-src.tar.gz
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-src.tar.gz.asc
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-src.tar.gz.md5
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-src.tar.gz.sha1
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-src.zip
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-src.zip.asc
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-src.zip.md5
wget --no-check-certificate https://repository.apache.org/content/repositories/orgapachemyfaces-010/org/apache/myfaces/core/myfaces-core-assembly/2.0.15/myfaces-core-assembly-2.0.15-src.zip.sha1

7. VOTE

Hi,

I was running the needed tasks to get the 2.0.15 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.15  [1]
 2. Maven artifact group "org.apache.myfaces.core" v2.0.15  [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.15" 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-010/org/apache/myfaces/
[2] http://www.apache.org/foundation/voting.html#ReleaseVotes
[3] http://people.apache.org/~lu4242/myfaces2015binsrc
[4] https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10600&version=12321753

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/myfaces2015binsrc/sources
cp * /www/www.apache.org/dist/myfaces/source
cd /home/lu4242/public_html/myfaces2015binsrc/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

Subject: [ANNOUNCE] MyFaces Core v2.0.15 Release

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

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.15 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.15 

Sub-task

    * [MYFACES-3564] - [perf] remove viewId sent inside token in HtmlResponseStateManager
    * [MYFACES-3565] - Add client side timestamp for view state expiration
    * [MYFACES-3566] - Add random token option for server side state saving
    * [MYFACES-3567] - [perf] do not include empty delta state array in both client side and server side state saving
    * [MYFACES-3568] - [perf] use viewId hashCode() instead full viewId on server side state saving SerializedViewKey

Bug

    * [MYFACES-3383] - Self nested Composite Component leads to EL Stack Overflow
    * [MYFACES-3520] - False evaluation of variables/params with the same name (c:forEach "var" and "varStatus" should be page scoped)
    * [MYFACES-3574] - Update of 'javax.faces.ViewState' input elements fails
    * [MYFACES-3579] - Inconsistent message order in h:messages
    * [MYFACES-3580] - Searching for JAR in RAR by facelets Claspath util causes FileNotFoundException
    * [MYFACES-3581] - @EJB injection into a @ViewScoped bean causes CNFE
    * [MYFACES-3583] - h:outputFormat renders unneccessary <span> tag
    * [MYFACES-3584] - h:commandLink renders onclick JavaScript referencing a non-existent HTML id
    * [MYFACES-3585] - FacesContextFactoryImpl is not released in FacesContextImpl.release()
    * [MYFACES-3589] - Allow multiple resolutions of cc into the same EL expression
    * [MYFACES-3590] - AccessControlException occurs in Classpath._searchDir
    * [MYFACES-3591] - Labels with EL expressions are not shown in messages if partial state saving is disabled
    * [MYFACES-3594] - ClassCastException after application restart due to UIViewParameter Renderer Cacheing
    * [MYFACES-3597] - Wrong message indicating ri or myfaces in the classpath
    * [MYFACES-3598] - ViewExpiredException during logout after the 3rd login
    * [MYFACES-3605] - Expression ClassCastException

Improvement

    * [MYFACES-3562] - [perf] Optimize UIOutput.saveState(FacesContext)
    * [MYFACES-3563] - Improvements in State Saving Algorithm
    * [MYFACES-3572] - [perf] remember initial state for properties changed in normal JSF lifecycle
    * [MYFACES-3573] - Log only once unified EL / bean validation presence
    * [MYFACES-3576] - [perf] use get() over eval() for UIViewRoot.getViewId()
    * [MYFACES-3600] - Prevent create additional facet panel when html markup is used
    * [MYFACES-3601] - Avoid call UIViewRoot.setViewId(...) when it is not necessary to prevent state creation

New Feature

    * [MYFACES-3553] - [GAE] Add param to select jar files to be scanned for .faces-config.xml or .taglib.xml or annotations

regards,

Leonardo Uribe

CoreRelease2015 (last edited 2012-09-24 17:40:33 by Dynamic-IP-19015812631)