kotlinx.serialization release checklist

To release new <version> of kotlinx.serialization:

  1. Checkout dev branch and update:
    git checkout dev && git pull

  2. Make sure the master branch is fully merged into dev:
    git merge origin/master

  3. Search & replace <old-version> with <version> across the project files. Should replace in:

    Update Kotlin version, if necessary.

  4. Write release notes in CHANGELOG.md:

    • Use old releases as example of style.
    • Write each change on a single line (don't wrap with CR).
    • Study commit message from previous release.

    git changelog from git-extras may help you with that.

  5. Tag version:
    git tag v<version>

  6. Push your changes:
    git push origin dev && git push origin --tags

  7. On TeamCity integration server:

    • Wait until "Runtime library (Build)" configuration for committed dev branch passes tests.
    • Run "Runtime library (Depoly - Train)" configuration with selected changes from dev.
  8. In Bintray admin interface:

    • Publish artifacts of the new version.
    • Wait until newly published version becomes the most recent.
  9. Update Kotlin and library versions in examples

  10. Switch back to master branch and update it:

    git checkout master && git pull
    git merge --ff-only dev
    git push origin master
    
  11. Announce new release in Slack