Child pages
  • How To Release

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  1. Tag the release:

    No Format
    svn move \ -m "Avro X.Y.Z release."
  2. Copy release files to the release repository.

    No Format
    svn copy \ -m "Avro X.Y.Z release."
  3. The release directory usually contains just two releases, the most recent from two branches, with a link named 'stable' to the most recent recommended version.

    No Format
    svn co avro-release-dist
    cd avro-release-dist
    svn rm avro-A.B.C; rm stable
    ln -s avro-X.Y.Z stable
    svn commit -m  "Avro X.Y.Z release."
  4. Publish Java artifacts to the Maven repository:
    Find the Staging Repository and release it.
  5. Publish Python artifacts to PyPI. To do this you'll need an account on PyPi, and write access to the Avro package - ask the existing owners for permission if you don't have it. 

    No Format
    mkdir -p tmp/py
    cd tmp/py
    tar xzf ../../dist/py/avro-X.Y.X.tar.gz
    cd avro-X.Y.Z
    python sdist upload
  6. Publish Python3 artifacts to PyPI.

    No Format
    mkdir -p tmp/py3
    cd tmp/py3
    tar xvf ../../dist/py3/avro-python3-X.Y.Z.tar.gz
    cd avro-python3-X-Y-Z
    python3 ./ sdist upload
  7. Publish Ruby artifacts to RubyGems. Again, you'll need an account and you need to be an owner.

    No Format
    gem push dist/ruby/avro-X.Y.Z.gem
  8. Publish JavaScript artifacts to NPM. Again, you'll need an account and you need to be an owner.

    No Format
    npm publish dist/js/avro-js-X.Y.Z.tgz

  10. Wait 24 hours for release to propagate to mirrors.
  11. Prepare to edit the website.

    No Format
    svn co
  12. Update the documentation links in author/content/xdocs/site.xml.
  13. Update the release news in author/content/xdocs/releases.xml.
  14. Regenerate the site, review it, then commit it. Note that Forrest 0.9 is easiest (not currently in the Docker image), since it doesn't require Java 5.

    No Format
    cd site
    firefox publish/index.html
    svn commit -m "Updated site for release X.Y.Z."
  15. Copy the new release docs to website and update the docs/current link:

    No Format
    tar xzf dist/avro-doc-X.Y.Z.tar.gz
    mv avro-doc-X.Y.Z ../site/publish/docs/X.Y.Z
    cd ../site/publish
    svn add X.Y.Z
    rm current
    ln -s X.Y.Z current
    svn commit -m "Adding documentation for release X.Y.Z."
  16. Send announcements to the user and developer lists once the site changes are visible.
  17. Update the version number in share/VERSION.txt to be ''avro-X.Y.N-SNAPSHOT'', where ''N'' is one greater than the release just made.
  18. Update the version in the Maven POM files to match with

    No Format
    mvn versions:set -DnewVersion=X.Y.N-SNAPSHOT -DgenerateBackupPoms=false
  19. In Jira, ensure that only issues in the "Fixed" state have a "Fix Version" set to release X.Y.Z.
  20. In Jira, "release" the version. Visit the "Administer Project" page, then the "Manage versions" page. You need to have the "Admin" role in Avro's Jira for this step and the next.
  21. In Jira, close issues resolved in the release. Disable mail notifications for this bulk change.