Release Checklist

Checklist of tasks to perform for each release. For general information about Apache releases you may also consult Publishing Maven Releases.

Preparation

  • You need to add your GPG keys in Subversion and the Apache site before a release. The SVN is read-only in general but the KEYS file can be committed. Change the KEYS file as it will be copied to the Apache site.
  • Ensure that all open bugs and issues in Jira have been either fixed or moved to an other release version.
  • Ensure that all examples are working with the release candidate.
  • Since Tobago 5: Ensure that the Skript ./test-scenarios-locally.sh runs sucessfully.
  • Check the scheduled version number against “semantic versioning”.
  • Post a note and ask for problems with the release candidate.

    Subject: [Tobago] Preparation for the <version> release

    Hi folks,

    we plan to build version <version> of Tobago soon. If you know any blocking problems with the current SNAPSHOT, give me a hint.

    Regards, <name>

  • Perform basic checks on an unmodified checkout for all modules. Use JDK 8 or higher for Tobago 2, 4 and 5. Since Tobago 6, use JDK 11 or higher.
    mvn clean install && mvn checkstyle:check apache-rat:check animal-sniffer:check dependency-check:check
    

Building the Release

  • Do not use your forked repository for the following steps to keep the history of the release process.
  • Commit: “chore(release): prepare” - check version info in these files manually (set to release version without SNAPSHOT suffix):
    • package.json
    • package-lock.json
    • package-info.java
    • Release.java
    • ApiController.java
  • Prepare the release with (the release-plugin make use of the maven-gpg-plugin):
    mvn release:prepare
    
  • Make sure “apache.snapshots.https” and “apache.releases.https” servers are configured in settings.xml. Have a look at Publishing Maven Releases for more information. Then perform the release with:
    mvn release:perform
    
  • Commit: “chore(release): set next SNAPSHOT version” - set next SNAPSHOT version in:
    • package.json
    • package-lock.json
    • package-info.java

Staging repository

Close the repository on the Nexus instance for staging (you will receive a mail with the staging location).

Voting

Publishing

  • Release the version in Jira and close all resolved issues for the release.
  • Release and drop the staging repository on the Nexus instance.
  • Copy the download artifacts from the repository to the site (see script ./release-artifacts.sh)
  • Add the release version and date to the Apache Committee Report Helper. Full version name is “tobago-{VERSION}”.
  • Update the next SNAPSHOT version on tobago-demo.apache.org
  • Update the site
    • Updating the release and version information in other branches, e. g.:
      • tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/Release.java
    • Updating Tag Library Documentation (TLD)
      • generate in myfaces-tobago folder with:
        mvn clean package -Pgenerate-assembly
        
      • Copy from “myfaces-tobago/tobago-core/target/tlddoc” to “myfaces-homepage/tobago/doc/{tobago-version}/tld”
      • Commit and push: “docs: TLD docs for Tobago release {tobago-version}”
    • Updating “tobago.md” and “tobago-download.md” in the MyFaces homepage project “myfaces-homepage”.
      • myfaces-homepage/tobago.md
      • myfaces-homepage/tobago-download.md
  • Remove old download artifacts from the site (see script ./drop-artifacts.sh). Older releases are automatic available in the archive.
  • Remove old snapshots in the maven snapshot repository. This is done automatically, it is only needed, when there are dead development ends, e. g. last alpha or beta version like 3.0.0-beta-2-SNAPSHOT which will no longer developed.
  • Create and send announcement

    Subject: [ANNOUNCE] Apache Tobago <version> released

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

    Apache Tobago is a component library for JavaServer Faces (JSF) that allows to write web-applications without the need of coding HTML, CSS and JavaScript.

    Main new features
    ​-----------------
    <list of main new features here or remove this section>

    Changes
    ​-------
    Please check the release notes at https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310273&version=<id-form-jira> for a full list of the changes in this version.

    Known limitations and bugs
    ​--------------------------
    <add main limitations and known bugs here or remove this section>

    For more information about Apache Tobago, please visit https://myfaces.apache.org/#/tobago.

    Have fun, -The MyFaces team