Notes on the MyFaces Core 1.2.3 Release

Release manager: Leonardo Uribe

Timeline

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 1.2.3 snapshots:

        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-api</artifactId>
            <version>1.2.3-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.apache.myfaces.core</groupId>
            <artifactId>myfaces-impl</artifactId>
            <version>1.2.3-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)>>

1. Preparing shared 3.0.3

    * Trying to prepare SUCCESS!.
{{{
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=3_0_3 -DdryRun=true
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=3_0_3 -Dresume=false
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/shared/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=3_0_3 -Dresume=false

2. Preparing core 1.2.3

mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=1_2_3 -DdryRun=true
mvn release:prepare -DtagBase=https://svn.apache.org/repos/asf/myfaces/core/branches -Dusername=lu4242 -Dscm.password=??? -Dtag=1_2_3 -Dresume=false

3. Deploy on local repo

*shared 3.0.3 and core 1.2.3

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

   *copy manually using scp to the account on people.apache.org. Due to a bug on linux \[WWW\] http://jira.codehaus.org/browse/MDEPLOY-62 deploy not work on linux. SUCCESS

   cd home/lu4242/stage/repo
   scp -p -r org lu4242@people.apache.org:/home/lu4242/public_html/myfaces123

4. JIRA Release Management

5. Next step is the TCK
TCK passed confirmed by Joe Bohn

6. Generate assembly


cd 1_2_3
mvn install -Pgenerate-assembly
cd assembly
mvn assembly:assembly -Psign-artifacts -Dpassphrase=??? 


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

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

7. VOTE

Hi,

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

The artifacts passed all TCK test.

Please note that this vote concerns all of the following parts:
 1. Maven artifact group "org.apache.myfaces.shared" v3.0.3  [1]
 2. Maven artifact group "org.apache.myfaces.core" v1.2.3  [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 "1.2.3" 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] http://people.apache.org/~lu4242/myfaces123
[2] http://www.apache.org/foundation/voting.html#ReleaseVotes
[3] http://people.apache.org/~lu4242/myfaces123binsrc
[4] https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10600&styleName=Html&version=12313144

8. Clirr report to check binary incompatibilities success

9. Vote closed, starting distribution

cd /home/lu4242/public_html/myfaces123binsrc/sources
cp * /www/www.apache.org/dist/myfaces/source
cd /home/lu4242/public_html/myfaces123binsrc/binaries
cp * /www/www.apache.org/dist/myfaces/binaries
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 -Dpassphrase=???

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 -Dpassphrase=???

10. Announce


Subject: [ANNOUNCE] MyFaces Core v1.2.3 Release

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

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

MyFaces Core 1.2.3 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 1.2.3

Bug

    * [MYFACES-1558] - FactoryFinder not thread safe, and has a memory leak
    * [MYFACES-1691] - beforeUnload event handler breaks form submission
    * [MYFACES-1793] - MF Core causes resources not found(404) errors (recently also corrected in Sun RI for JSF 1.2)
    * [MYFACES-1795] - MF Core causes resources not found(404) errors (recently also corrected in Sun RI for JSF 1.2)
    * [MYFACES-1796] - FactoryFinder.releaseFactories() does not release application class loader. (PATCH available).
    * [MYFACES-1799] - javax.faces.validator.LengthValidator.getMaximum() returns Integer.MAX_VALUE
    * [MYFACES-1811] - cannot set enctype on h:form with el
    * [MYFACES-1812] - All faces-config.xml get loaded twice from jars in WEB-INF/lib
    * [MYFACES-1815] - Faces servlet returns empty response for resources when using /faces/* as servlet mapping
    * [MYFACES-1817] - f:validateLength with equal minimun and maximun does not work
    * [MYFACES-1819] - h:selectManyCheckbox with value="#{bean.map['somekey']}" fails
    * [MYFACES-1825] - duplicate ids not detected in JspStateManagerImpl.checkForDuplicateIds()
    * [MYFACES-1826] - Change Messages_de.properties German Message for Lenght Validator to proper descriptions
    * [MYFACES-1827] - MessageUtils don't handle MessageFormat substitution correctly with different Locale
    * [MYFACES-1828] - code that allow perform custom tasks before and after set binding in 1.2 does not work
    * [MYFACES-1830] - oamSetHiddenInput function missing for myfaces core 1.2 if ...
    * [MYFACES-1831] - JSF12 UIComponentClassicTagBase.getCreated is broken, breaking t:updateActionListener
    * [MYFACES-1833] - UIComponentBase catches all Exceptions on broadcast
    * [MYFACES-1836] - f:convertDateTime type=date is ignored
    * [MYFACES-1843] - Configuration cleanup fail on some specific machine configurations
    * [MYFACES-1845] - Only date is returned wihen both dateStyle and timeStyle are set without specifying type
    * [MYFACES-1849] - javascript on button should be removed or configurable by user
    * [MYFACES-1851] - the hidden field form:_link_hidden_ not works anymore (changed by form:_idcl on MYFACES-1539). This should be removed
    * [MYFACES-1855] - hidden fields created when using h:commandLink and f:param should be created and removed using javascript
    * [MYFACES-1856] - h:commandLink with target="_blank" does not work
    * [MYFACES-1857] - h:commandLink with onclick="customFunction" does not do what taglib javadoc of jsf ri suggest to do
    * [MYFACES-1866] - Avoid possible NullPointerException and NumberFormatException in JspStateManagerImpl.getServerStateId
    * [MYFACES-1869] - mvn assembly:assembly does not generate src zip or tag.gz properly

Improvement

    * [MYFACES-1726] - IE7 - AutoComplete Does Not Work When You Use Script to Submit a Form
    * [MYFACES-1859] - Optimize javascript following good practices
    * [MYFACES-1862] - Use ThreadLocal StringBuilder for create ids on getClientId, like in trinidad
    * [MYFACES-1864] - Enhance UIComponentBase.getFacetsAndChildren(), creating _FacetsAndChildrenIterator only when it is necessary

Enjoy!