一键导入
release-libs
// Release a new version of the tapo (Rust) and tapo-py (Python) crates together, sharing the same version number
// Release a new version of the tapo (Rust) and tapo-py (Python) crates together, sharing the same version number
| name | release-libs |
| description | Release a new version of the tapo (Rust) and tapo-py (Python) crates together, sharing the same version number |
Release a new version of the tapo (Rust) and tapo-py (Python) crates. Both libraries are released simultaneously and share the same version number.
Determine the new version. Read the current version from tapo/Cargo.toml. Ask the user what the new version should be if not provided.
Bump the versions. Update the version field in both:
tapo/Cargo.tomltapo-py/pyproject.tomlUpdate changelog. In CHANGELOG.md:
## [Python Unreleased][Unreleased] with ## [Python vX.X.X][vX.X.X] - YYYY-MM-DD (use the current date).## [Rust Unreleased][Unreleased] with ## [Rust vX.X.X][vX.X.X] - YYYY-MM-DD (use the current date).## [Rust Unreleased][Unreleased] and ## [Python Unreleased][Unreleased] sections (in that order) immediately above the newly versioned Rust section.## [MCP Unreleased][Unreleased] section exists elsewhere in the file, move it (with its body intact) so it sits immediately after the new ## [Python Unreleased][Unreleased] section, keeping all three Unreleased sections grouped at the top in the order Rust → Python → MCP.[vX.X.X]: https://github.com/mihai-dinculescu/tapo/tree/vX.X.X to the link definitions at the bottom of the file (right after the [Unreleased] link).Commit. Run /commit with message chore(tapo): release vX.X.X.
Tag. Create an annotated git tag:
git tag -a vX.X.X -m "vX.X.X"
Push. Ask the user for confirmation, then:
git push && git push origin vX.X.X
Create GitHub release. Ask the user for confirmation. Use the content under the ## [Rust vX.X.X][vX.X.X] and ## [Python vX.X.X][vX.X.X] headings from CHANGELOG.md as the release body, followed by a full changelog comparison link. The previous version (vP.P.P) is the tag before this release:
gh release create vX.X.X --title "Tapo vX.X.X" --notes "$(cat <<'EOF'
## Rust
<rust changelog content here>
## Python
<python changelog content here>
**Full Changelog**: https://github.com/mihai-dinculescu/tapo/compare/vP.P.P...vX.X.X
EOF
)"
Control TP-Link Tapo smart home devices (lights, plugs, power strips, hubs and sensors, cameras) via [Tapo MCP](https://github.com/mihai-dinculescu/tapo/tree/main/tapo-mcp).
Release a new version of the OpenClaw skill in `tapo-mcp/openclaw-skill/` by bumping its version, committing, and publishing via `npx clawhub`
Run Rust/Python/MCP checks, fix issues, then summarize findings before committing
Create a signed git commit following Conventional Commits, after running /pre-commit and /changelog when appropriate
Bump maturin to the latest release and regenerate `.github/workflows/tapo-py.yml`, preserving local customizations
Update CHANGELOG.md when the public API of the tapo (Rust), tapo-py (Python), or tapo-mcp (MCP) crates changes