python-kasa/RELEASING.md
Teemu R 1a3c73e42f
Release 0.4.0 (#221)
This is the first proper python-kasa release since forking from pyhs100.

* Improved I/O handling, including asyncio interface, request merging & connection sharing
* API improvements throughout the whole package
* Support for LED strips
* Improved bulb support (transitions, support for more models)
* Onboarding is now possible without a mobile app
* Improved documentation
* And various other improvements, see the full changelog for details!

Thanks to all contributors, from testers, and issue reporters to those who have submitted pull requests! Thanks also to those who donated test devices to help to make this release happen!

Special thanks for this release go to @basnijholt (initial asyncio port, push to make this fork happen) and @bdraco (fixing the last release blocker, emeter support for powerstrips).

If you are using python-kasa in your projects, we would be happy to hear about it. Feel free to post a note on Github discussions!
If it is a project that could be interesting for other users and/or developers, feel also free to create a PR to add a short note to the README file.
2021-09-27 19:10:05 +02:00

52 lines
1.2 KiB
Markdown

1. Set release information
```bash
# 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
```
2. Update the version number
```bash
poetry version $NEW_RELEASE
```
3. Generate changelog
```bash
# 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
```
3. Write a short and understandable summary for the release.
4. Commit the changed files
```bash
git commit -av
```
5. Create a PR for the release.
6. Get it merged, fetch the upstream master
```bash
git checkout master
git fetch upstream
git rebase upstream/master
```
7. Tag the release (add short changelog as a tag commit message), push the tag to git
```bash
git tag -a $NEW_RELEASE
git push upstream $NEW_RELEASE
```
All tags on master branch will trigger a new release on pypi.
8. Click the "Draft a new release" button on github, select the new tag and copy & paste the changelog into the description.