python-kasa/RELEASING.md
Teemu R 0647adaba0
Release 0.6.0 ()
This major brings major changes to the library by adding support for devices that require authentication for communications, all of this being possible thanks to the great work by @sdb9696!

This release adds support to a large range of previously unsupported devices, including:

* Newer kasa-branded devices, including Matter-enabled devices like KP125M
* Newer hardware/firmware versions on some models, like EP25, that suddenly changed the used protocol
* Tapo-branded devices like plugs (P110), light bulbs (KL530), LED strips (L900, L920), and wall switches (KS205, KS225)
* UK variant of HS110, which was the first device using the new protocol

If your device that is not currently listed as supported is working, please consider contributing a test fixture file.

Special thanks goes to @SimonWilkinson who created the initial PR for the new communication protocol!
2024-01-19 01:36:57 +01:00

1.5 KiB

  1. Set release information
# export PREVIOUS_RELEASE=$(git describe --abbrev=0)
export PREVIOUS_RELEASE=0.3.5 # generate the full changelog since last pyhs100 release
export NEW_RELEASE=0.4.0.dev4
  1. Update the version number
poetry version $NEW_RELEASE
  1. Write a short and understandable summary for the release.
  • Create a new issue and label it with release-summary
  • Create $NEW_RELEASE milestone in github, and assign the issue to that
  • Close the issue
  1. Generate changelog
# gem install github_changelog_generator --pre
# https://github.com/github-changelog-generator/github-changelog-generator#github-token
export CHANGELOG_GITHUB_TOKEN=token
github_changelog_generator --base HISTORY.md --user python-kasa --project python-kasa --since-tag $PREVIOUS_RELEASE --future-release $NEW_RELEASE -o CHANGELOG.md --exclude-tags-regex 'dev\d$'

Remove '--exclude-tags-regex' for dev releases.

  1. Commit the changed files
git commit -av
  1. Create a PR for the release.

  2. Get it merged, fetch the upstream master

git checkout master
git fetch upstream
git rebase upstream/master
  1. Tag the release (add short changelog as a tag commit message), push the tag to git
git tag -a $NEW_RELEASE
git push upstream $NEW_RELEASE

All tags on master branch will trigger a new release on pypi.

  1. Click the "Draft a new release" button on github, select the new tag and copy & paste the changelog into the description.