This document describes how to release Apache Kafka from trunk. 

It is a work in progress and should be refined by the Release Manager (RM) as they come across aspects of the release process not yet documented here.

NOTE: For the purpose of illustration, this document assumes that the version being released is 0.9.0 and the following development version will become 0.10.0.


Prerequisites

To: dev@kafka.apache.org
Subject: [VOTE] Release plan - Kafka 0.10.0

We are starting the process to prepare for Kafka $release release. I have created release plan ($link) to cover the tasks under this release.

If you have any JIRA in progress and would like to include it in this release, please follow the process to do so.

Feel free to comment on the JIRA if you have any comments/suggestions.

Thanks,
$RM

Cut Branches

Create Release Artifacts

Check NOTICE and LICENSE files

Update version number

Prepare release notes

Prepare the release tag

Now make sure the log commit is the same of the tag you are sending out and that you checked out

fatal: Not a git repository (or any of the parent directories): .git

Now prepare the source (after getting your keys local to the box)

Validate the signatures:

You should see valid signatures and no errors, continue.

Prepare java and scala docs.

Expose all the binary artifacts, release notes, java and scala doc through an URL

Go drop whatever staging repository may be in the maven repo

              mavenUrl=https://repository.apache.org/service/local/staging/deploy/maven2
              mavenUsername=your-apache-id
              mavenPassword=your-apache-passwd
              signing.keyId=your-gpgkeyId
              signing.password=your-gpg-passphrase
              signing.secretKeyRingFile=/Users/your-id/.gnupg/secring.gpg

Voting:

Verify for voting:

If need to roll a new RC

 Post vote todo (after the vote passes):

  Website update process:

  For new releases: