GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Generate the changelog with git-cliff and draft releases in CI by rytilahti · Pull Request #1809 · python-kasa/python-kasa

Conversation

@rytilahti

@rytilahti rytilahti commented Oct 24, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Replaces github_changelog_generator and the manual release steps with a script and a workflow.

  • devtools/release.py prepare [--push] [--base master|patch] VERSION [COMMIT...] creates the release/x.y.z branch in a temporary worktree, bumps the version, generates the changelog section with git-cliff and opens a PR labelled release-prep.
  • cliff.toml takes the entry text from the PR title and the section from the PR labels, release-prep and similar labels are left out.
  • Merging a PR from a release/* branch runs the new Draft Release workflow, which creates a draft GitHub release with the notes from CHANGELOG.md. Publishing the draft tags and runs Publish Packages as before.
  • Patch releases use --base patch: the commits are cherry-picked with -x and signed.
  • RELEASING.md is rewritten for the new process. The script's tests are at the end of the file and run with uv run pytest devtools/release.py.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@rytilahti
Generate the changelog with git-cliff and draft releases in CI
a7fe3ee
Replace the local github_changelog_generator procedure with a script and a workflow.

- devtools/release.py prepares the release PR (version bump, changelog section, patch cherry-picks)
- the release PR is where changelog entries get fixed and the summary is written
- merging the release PR creates the draft release from the CHANGELOG.md section
- dev releases no longer touch CHANGELOG.md
- patch releases are not merged back, only their changelog section is forward-ported to master
- remove the .github_changelog_generator config and rewrite RELEASING.md
@rytilahti rytilahti added the maintenance Project improvements and maintenance label Oct 24, 2026
@codecov

codecov Bot commented Oct 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.43%. Comparing base (e29864b) to head (a7fe3ee).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1809   +/-   ##
=======================================
  Coverage   93.43%   93.43%           
=======================================
  Files         160      160           
  Lines       10095    10095           
  Branches     1042     1042           
=======================================
  Hits         9432     9432           
  Misses        471      471           
  Partials      192      192           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@rytilahti
rytilahti requested a review from ZeliardM October 24, 2026 01:20
ZeliardM
ZeliardM approved these changes Oct 24, 2026
View reviewed changes

@ZeliardM ZeliardM left a comment

Copy link
Copy Markdown
Collaborator

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

rytilahti reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
@rytilahti
rytilahti merged commit c60f48d into python-kasa:master Oct 24, 2026
22 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@rytilahti rytilahti mentioned this pull request Oct 25, 2026
Prepare 0.12.0 #1811
Merged
rytilahti added a commit that referenced this pull request Oct 25, 2026
@rytilahti
Prepare 0.12.0 (#1811)
a178fba
## [0.12.0](https://github.com/python-kasa/python-kasa/tree/0.12.0)
(2026-10-25)

This release include several compatibility fixes (updated accepted SSL
ciphers, removal of Homekit from the default update cycle).
The new API `Device.supports_module()` provide a way to find out if the
device supports some specific module, e.g., HomeKit, without including
it in the default update cycle.

[Full
Changelog](0.11.0.1...0.12.0)

**Fixed bugs:**

- Keep hub children when the child component list is missing
[\#1797](#1797)
(@Richardtristan)
- Strip multi-word rich tags when rich is not installed
[\#1807](#1807)
(@wolfgang-aura)
- Add Device.supports_module() and stop querying HomeKit for iot devices
[\#1808](#1808)
(@rytilahti)
- Keep multi requests for smartcam devices after a timeout
[\#1802](#1802)
(@hugaraujo)
- Consolidate SSL ciphers and use them in SslTransport
[\#1798](#1798)
(@rytilahti)
- Raise UnsupportedDeviceError instead of crashing on unknown device
types [\#1781](#1781)
(@GhostCoder6969)

**Added support for devices:**

- Add TD21(EU) device fixture
[\#1786](#1786)
(@Smugaski)
- Add P116M(IN) fixture
[\#1795](#1795)
(@Partha-dev01)

**Project maintenance:**

- Add Python 3.15 to supported versions and update pins
[\#1793](#1793)
(@rytilahti)
- Generate the changelog with git-cliff and draft releases in CI
[\#1809](#1809)
(@rytilahti)
- Build and check packages in CI and publish workflows
[\#1782](#1782)
(@rytilahti)

**Other changes:**

- Use the real discovery reply in the TD21 fixture
[\#1800](#1800)
(@Smugaski)
pillarsdotnet pushed a commit to pillarsdotnet/python-kasa that referenced this pull request Oct 30, 2026
@rytilahti
Generate the changelog with git-cliff and draft releases in CI (pytho…
216615f
…n-kasa#1809)

Replaces `github_changelog_generator` and the manual release steps with a script and a workflow.
pillarsdotnet pushed a commit to pillarsdotnet/python-kasa that referenced this pull request Oct 30, 2026
@rytilahti
Prepare 0.12.0 (python-kasa#1811)
7ddf1ef
## [0.12.0](https://github.com/python-kasa/python-kasa/tree/0.12.0)
(2026-10-25)

This release include several compatibility fixes (updated accepted SSL
ciphers, removal of Homekit from the default update cycle).
The new API `Device.supports_module()` provide a way to find out if the
device supports some specific module, e.g., HomeKit, without including
it in the default update cycle.

[Full
Changelog](python-kasa/python-kasa@0.11.0.1...0.12.0)

**Fixed bugs:**

- Keep hub children when the child component list is missing
[\python-kasa#1797](python-kasa#1797)
(@Richardtristan)
- Strip multi-word rich tags when rich is not installed
[\python-kasa#1807](python-kasa#1807)
(@wolfgang-aura)
- Add Device.supports_module() and stop querying HomeKit for iot devices
[\python-kasa#1808](python-kasa#1808)
(@rytilahti)
- Keep multi requests for smartcam devices after a timeout
[\python-kasa#1802](python-kasa#1802)
(@hugaraujo)
- Consolidate SSL ciphers and use them in SslTransport
[\python-kasa#1798](python-kasa#1798)
(@rytilahti)
- Raise UnsupportedDeviceError instead of crashing on unknown device
types [\python-kasa#1781](python-kasa#1781)
(@GhostCoder6969)

**Added support for devices:**

- Add TD21(EU) device fixture
[\python-kasa#1786](python-kasa#1786)
(@Smugaski)
- Add P116M(IN) fixture
[\python-kasa#1795](python-kasa#1795)
(@Partha-dev01)

**Project maintenance:**

- Add Python 3.15 to supported versions and update pins
[\python-kasa#1793](python-kasa#1793)
(@rytilahti)
- Generate the changelog with git-cliff and draft releases in CI
[\python-kasa#1809](python-kasa#1809)
(@rytilahti)
- Build and check packages in CI and publish workflows
[\python-kasa#1782](python-kasa#1782)
(@rytilahti)

**Other changes:**

- Use the real discovery reply in the TD21 fixture
[\python-kasa#1800](python-kasa#1800)
(@Smugaski)
@ZeliardM ZeliardM mentioned this pull request Oct 30, 2026
Add transport registry and support for external plugins #1810
Open
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@ZeliardM ZeliardM ZeliardM approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

maintenance Project improvements and maintenance

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@rytilahti @ZeliardM
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.