Hey Team Kafka,

As you know, our current release process is:
* Branch
* Change version from 0.10.0.0-SNAPSHOT to 0.10.0.0
* Roll out a release candidate with version 0.10.0.0
* Fix bugs and keep rolling out release candidates
* After vote passed and release was published, bump the branch to
0.10.0.1-SNAPSHOT

As a result, we have multiple artifacts with same version but different
content. Which is a huge no-no, and can cause technical issues with Maven
repositories (clients may miss updates because they already have earlier
releases cached and releases should be immutable.

To streamline our process a bit, we are going to move to the following
process:

* Branch
* Change the version on trunk to 0.10.1.0-SNAPSHOT but keep the branch
version as 0.10.0.0 SNAPSHOT
* Before every release candidate, we'll push a commit that changes version
to 0.10.0.0 to a tag and release from the tag. If needed, commits will go
to the release branch with the SNAPSHOT version.
* Once vote passes, we'll publish the release, merge the tag commit to the
branch, and bump the branch to  0.10.0.1-SNAPSHOT

This is very similar to the process that Zookeeper community is following
and will help anyone who builds against branches.

As an awkward first step, I'm moving the 0.10.0.0 branch back to
0.10.0.0-SNAPSHOT.

Sorry for the awkwardness, but this will improve things going forward.

Gwen

Reply via email to