Releasing


This page describes the steps for publishing a new Home Assistant release.

GitHub

  1. Create a pull request from dev to master with the upcoming release number as the title.
  2. Merge master into dev to make the PR mergeable. PR message contains intro, highlighting major changes, and an overview of all changes tagging each author.
  3. Update homeassistant/const.py with the correct version number (remove the dev tag) and push that commit.
  4. Merge pull request (DO NOT SQUASH!).
  5. Then, after merged, push another update to dev of homeassistant/const.py that includes the next version with the dev tag. Add a meaningful commit message like “Version bump to X”. This commit acts as a marker for the next release.
  6. Go to releases and tag a new release on the master branch. “Tag version” and “Release title” are the version number (O.x for major version, 0.x.y for minor and bug fix releases). Release description is the text from PR. Press “Publish release” to finish the process.

Website

  1. Create a blog post in next and base it on the text of the PR in the main repository. Add images, additional text, links, etc. if it adds value. Tag each platform/component in a message to documentation.
  2. Create missing documentation as stumbs in next.
  3. Update the link on the frontpage (source/index.html) to link to the new release blog post and version number.
  4. Create a pull request from next to current with the upcoming release number as the title.
  5. Merge current into next ($ git checkout next && git merge current) to make the PR mergeable.
  6. Merge pull request (blog post, updated frontpage, and all new documentation) to current.

Python Package Index

Checkout the master branch and run script/release to publish the new release on Python Package Index.

Social media

  1. Create a tweet announcing blog post linking to release notes.
  2. Publish a link to the tweet/release blog post for the Google+ Community.