Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Remove more sections that the release script handles

...

  • Make sure you are working with a clean repo (i.e. identical to upstream - no changes in progress). If needed clone a fresh copy
  • git checkout trunk
  • Check that current HEAD points to commit on which you want to base new  release branch. Checkout particular commit if not.
  • git branch 0.10.0
  • git push apache 0.10.0
  • Check that the branch was correctly propagated to Apache using the webui: https://git-wip-us.apache.org/repos/asf?p=kafka.git
  • Modify the version in trunk to bump to the next one "0.10.1.0-SNAPSHOT" in gradle.properties, tests/kafkatest/__init__.py and kafka-merge-pr.py. Commit and push to trunk in apache.
  • Create new Jenkins Build job that validates the new branch (Java 7 is enough)
  • Send email announcing the new branch:

    No Format
    To: dev@kafka.apache.org
    Subject: New release branch 0.10.0
    
    Hello Kafka developers and friends,
    
    As promised, we now have a release branch for 0.10.0 release (with 0.10.0.0
    as the version).
    Trunk has been bumped to 0.10.1.0-SNAPSHOT.
    
    I'll be going over the JIRAs to move every non-blocker from this release to
    the next release.
    
    From this point, most changes should go to trunk.
    *Blockers (existing and new that we discover while testing the release)
    will be double-committed. *Please discuss with your reviewer whether your
    PR should go to trunk or to trunk+release so they can merge accordingly.
    
    *Please help us test the release! *
    
    Thanks!
    
    $RM
    

Create Release Artifacts

  • Run the `release.py` script in the root of the kafka repository and follow the instructions.

Website update process

  For We should improve the release script to include these steps. In the meantime, for new releases:

  • Make sure the documentation (docs/documentation.html, docs/quickstart.html,docs/api.html) are all referring to the correct release and links.
  • git clone https://git-wip-us.apache.org/repos/asf/kafka-site.git
  • git checkout asf-site
  • The releaseTarGzAll target should auto-generate the configuration docs for broker/producer/consumer in ./core/build/distributions/kafka_2.11-0.10.0.0-site-docs.tgz. Untar the file and rename site-docs to 0100 (or if the latter already exists, replace its contents).
  • Copy release javadoc to 0100/ (for bug-fix releases, only do this after the vote has passed to avoid showing an unreleased version number in the published javadocs)
  • If this is a major/minor release, update the list of legacy paths in includes/_header.htm
  • Commit

Voting

Send out a voting email to users@kafka.apache.orgdev@kafka.apache.orgkafka-clients@googlegroups.com. In the email, include the git revision next to the git tag (since tag will be dropped when rolling out a new RC).

No Format
To: dev@kafka.apache.org
Subject: [VOTE] 0.10.0.0 RC0
 
Hello Kafka users, developers and client-developers,

This is the first candidate for release of Apache Kafka 0.10.0.0. This is a major release that includes: (1) New message format including timestamps (2) client interceptor API (3) Kafka Streams. Since this is a major release, we will give people more time to try it out and give feedback.

Release notes for the 0.10.0.0 release:
http://home.apache.org/~gwenshap/kafka-0.10.0.0-rc0/RELEASE_NOTES.html

*** Please download, test and vote by Monday, March 28, 9am PT

Kafka's KEYS file containing PGP keys we use to sign the release:
http://kafka.apache.org/KEYS

* Release artifacts to be voted upon (source and binary):
http://home.apache.org/~gwenshap/kafka-0.10.0.0-rc0/

* Maven artifacts to be voted upon:
https://repository.apache.org/content/groups/staging/

* Javadoc:
http://home.apache.org/~gwenshap/kafka-0.10.0.0-rc0/javadoc/

* Tag to be voted upon (off 0.10.0 branch) is the 0.10.0.0 tag:
https://git-wip-us.apache.org/repos/asf?p=kafka.git;a=tag;h=72fd542633a95a8bd5bdc9fdca56042b643cb4b0

* Documentation:
http://kafka.apache.org/0100/documentation.html

* Protocol:
http://kafka.apache.org/0100/protocol.html
 
* Successful Jenkins builds for the 0.10.0 branch:
Unit/integration tests: https://builds.apache.org/job/kafka-0.10.0-jdk7/170/
System tests: https://jenkins.confluent.io/job/system-test-kafka-0.10.0/130/

/**************************************

Thanks,

Gwen

Verification for voting

  • gpg --import KEYS (KEYS can be obtained from http://kafka.apache.org/KEYS)
  • gpg --verify foo-1.0.tar.gz.asc foo-1.0.tar.gz
  • Test at least quickstart and unit tests for all scala versions.

If need to roll a new RC

...