python-kasa/RELEASING.md
Teemu R 0647adaba0
Release 0.6.0 (#653)
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.