Version 180

    Make sure all the tasks are listed on JIRA

    Make sure all the tasks on jira are consistent with the current changes between the releases.


    This process is more a responsibility of each individual developer, to make sure their changes are being reported accordingly to the reality, but the person cutting the release should aways double check that nothing (nothing major at least) is out of the release.


    Verify that the release version numbers number and name is correct

    Verify if jms/build-messaging.xml version tags are correctly updated and correspond to the version you want to release.

    Each release must have a distinct version number.



    Important A final release is GA (General Availability)!


    When in doubt as to what versioning convention to use, go to JBoss Product Versioning Page


    Make sure about the build-thirdparty


    Make sure your build-thirdparty-TARGET is updated with the recently updates on the Target AS. (Mainly Javassist, JBosAOP, JBossRemoting and JGroups).


    ALL dependencies used by the project must EXACTLY match the versions used by the target AS.

    Update Jar versions on both Docs and Readme


    The docs and Readme contains references to various jars and versions, e.g. JBoss Remoting, AOP etc. These version numbers MUST be updated to reflect the correct versions used by the project.


    Synchronize the repository


    Synchronize the whole repository:


        svn update
        svn status
        [svn ci]


    Make sure there aren't local modifications that did not make it to the repository.


    Make sure you are using the intended Remoting version


    Look into lib to see if there are local jboss-remoting.jar overrides. If there are, make sure this is what you want, and update lib/README.txt file with details about the override. If there aren't, make sure that build-thirdparty.xml dependency versions are correct.



    Fresh build the whole project




    Make sure you build and run tests with Java 5.


        ant clean
        rm -rf thirdparty
        java -version


    This will also produce the required Messaging artifacts.


    Test run preparation


    Before releasing a GA all tests must pass with all of our supported databases:










    • Note about multiple processors and race conditions: Tests, in particular stress tests and soak tests should always be run on a machine with multiple processors, this is because it is possible that there are race conditions that will not, or are unlikely to show up on a single processor/core machine.

    • Make sure you run the tests with Java 1.5.

    • Make sure you're using "mysql" as database (log output). This will allow to run all tests (functional, stress, clustering) tests consistently.



    Run TCK


    (parallelize if possible, the full run takes about 5 hours)


    TCK Page


    All JMS-related tests must pass.



    Run integration tests


    Instructions on how to run the integration testsuite are available here: JBossMessagingIntegrationUnitTests


    All integration tests must pass.


    Verify and update examples


    Ensure ALL the examples run correctly - you will need to setup one non clustered and two clustered servers to do this.


    Update the user guide


    Make sure that all references to old version numbers are updated. grep for "1.0..." ("1.2" on trunk). Also grep for "CR", "Beta", etc.


    Update ./docs/README.html


    • Update the version whenever it occurs in the document.

    • Update the release date

    • Make sure the content stays relevant.

    • If it's a GA, create a new Wiki Release History Page entry and a "Changes since ... " sub-entry. Link to it from README.html. The content will be added later.

    • "Release Notes" will be added later.


    Adjust JIRA tasks and release in JIRA.


    The current release must have a green bar. Release it from: Administer Project -> Manage Versions -> Release.


    Generate JIRA Release Notes



    Add JIRA release notes to ./docs/README.html


    Build the binary release bundle


          ant clean
          rm -rf thirdparty
          java -version
          ant release-bundle


    Unzip the release bundle, deploy the sar in a "clean" JBoss instance, start the "messaging" configuration and run the examples:


    All examples must run


    Make sure you run with Java5


           cd examples/queue
           cd examples/topic
           cd examples/mdb
           cd examples/stateless
           cd examples/ejb3mdb
           cd examples/secure-socket
           also run the other example (there are more)


    Also, load the README.html file and click on "Installation" relative links to make sure they work.


    Note: For JBoss5 you will need to make some adjustments before running these examples, as the destinations will not exist


    Check in the release notes (docs/README.html)


    Use a CVS log that makes obvious that is the release README for this particular release. Example: "release notes for 1.0.0 alpha, PR3"


    Tag the release


    Tag the release. Use the value of messaging.version.cvstag from build-messaging.xml. Sample tag: JBossMessaging_1_0_0_Beta1


         svn copy --username joebloggs \
             -m "Tagging 1.0.1.CR4"


    Post tagging tasks


    Update Branch Map


    Update to reflect the release. Make sure you mention the revision, the tag and the date.




       O JBossMessaging_1_0_1_SP1
       | r1582 (11/17/06)


    • Load the README file in a browser and make sure the relative links to the docuentation work.



    Create the source distribution


          ant clean
          ant source-bundle
          mv output/lib/ ./release


    Make sure you can compile from the source bundle



    Public Release


    Public Releases are considered the community releases intended for JBoss4.2. Releases intended for JBoss5 or EAP are not public. JBossMessaging is distributed inside EAP and JBoss5 hence there is no need for a separate download.


    However you may consider to upload the documentation.


    Update labs downloads


        # you can checkout this from cms.lab
        svn co jbossmessaging
        cd jbossmessaging
        # case you are reusing your workspace make sure you update it
        svn update
        svn status


    • Add the new download in work/jboss-messaging-labs/jbossmessaging/downloads

    • If it's a GA or an SP, get rid of the preceding CRs

    • Update work/jboss-messaging-labs/jbossmessaging/project.xml

    • Update counters: work/jboss-messaging-labs/jbossmessaging/counter.xml

    • synchronize


        $ svn ci -m "added 1.0.1.CR4 download files"


    Update labs documentation


        cd work/jboss-messaging-labs/jbossmessaging/freezone/docs
        svn update
        svn status


    • Unzip the release binary zip into freezone/docs

          cd work/jboss-messaging-labs/jbossmessaging/freezone/docs
          <unzip release binary>
          mkdir guide-1.0.1.CR4
          cp -r <release_dir>/docs/userguide/* guide-1.0.1.CR4
          mkdir javadoc/api-1.0.1.CR4
          cp -r <release_dir>/api/* javadoc/api-1.0.1.CR4
          rm -rf <release_dir>


    • If is a GA or SP, get rid of the preceding CRs.


    • Update freezone/docs/index.html accordingly


    • synchronize again


        $ svn ci -m "added 1.0.1.CR4 documentation"


    Check download, counter and documentation links


    If it's an GA


    In case updating the landing page is needed:

    • Login as admin (use explorer) -> bottom right side menu -> Manage HTML -> products -> messaging (the bottom one) -> Edit

    • Add the release link to the wiki page -> Update HTML Page

    • Create the corresponding wiki page based on README.html, but also add the Download paragraph.




    • Create a new subdirectory

    • Create

    • Create (the best way to do it is to copy the previous version component-info.xml file)

    • Upload the latest jboss-messaging.jar in

    • Modify accordingly

    • Add config examples from the current release into /resource directory.


        cvs add ...
        cvs ci -m "added 1.0.1.GA artifacts"



    Remove the release directory.


         rm -r $JBOSS_MESSAGING_HOME/release


    Change the release date in JIRA


    Adjust the new release date in JIRA


    Document differences


    Based on the JIRA release notes, document differences from the last release and generate a "what's new" document in a human readable format. Generate a HTML document and post it in the blog are of the lab project. It will show up as "news"


    If there were significant bugs that were discovered/fixed by external contributors, or if there were external contributions, mention their authors.


    File name pattern: blog/2006.08.09_JBoss_Messaging_1_0_1_CR4_released.html. Use raw HTML and check with a browser at the end.


    You should blog about the release on your own blog (aggregated by, or on the JBoss Labs if you prefer (procedures bellow), but that is deprecated:


    • JBoss Labs News (this is how you blog).

      • Add the anouncement in a .html file (HTML format, but no need for &lt;head&gt; and &lt;body&gt;) in the local jbossmessaging SVN workarea (jbossmessaging/blog

      • svn add file-name

      • export SVN_EDITOR=notepad.exe

      • svn propedit title file-name

      • Title: "JBoss Messaging 1.0.1.GA Released"

      • checkin


    Check in the change, it should be posted as news in several minutes.


    Post the release anouncement on the forums


    The text of the anouncement should be the same as the blog. The subject line should be similar to "JBoss Messaging 1.0.1.CR4 Released". However, use full links, otherwise they are lost when e-mailing. Here is a release anouncement example:


    DO NOT post the same message on the development forum, user forum should be sufficient.


    Post a short anouncement on the news mailing list



    Subject: JBoss Messaging 1.0.1.CR4 Released


    The content should be identical to the forum announcement's.


    Update the Release History with a humanly readable change notification

  Add "Release Notes"


    Verify that artifacts are in


    Send a notification to PM



    Referenced by: