Seal
Seal is a release-management tool, written in Rust. It keeps version updates, changelog generation, release branches, commits, and release notes in one CLI.
Warning
Seal is in alpha and is not yet ready for production use. Expect missing features and breaking changes.
Features
- Update versions in plain-text files, TOML fields, and files selected by glob patterns.
- Preview every file change before applying it, or use
--dry-runin automation. - Create release branches and commits, run pre-commit commands, and push the result.
- Build changelogs from merged GitHub pull requests, grouped by labels.
- Produce JSON release metadata from the latest changelog section.
Installation
Install Seal with the standalone installer for your platform:
| Bash | |
|---|---|
1 2 | |
| PowerShell | |
|---|---|
1 2 | |
Prebuilt archives and checksums are available from the GitHub Releases. Seal is not currently published to crates.io or other package registries.
Getting Started
Create seal.toml in your project root:
| TOML | |
|---|---|
1 2 3 4 5 | |
Validate the configuration and preview a patch release:
| Bash Session | |
|---|---|
1 2 | |
Run seal bump patch to review and apply the changes. See the
getting-started guide for branch,
commit, and push configuration.
Documentation
The full documentation is available at matthewmckee4.github.io/seal.
Contributing
Contributions are welcome. See CONTRIBUTING.md for setup and development instructions.
Support
Use GitHub issues for bug reports and feature requests.
Report security issues privately; see SECURITY.md.
Acknowledgements
Seal takes inspiration from the Rust tooling built by the Astral team, particularly uv and Ruff.
License
Seal is licensed under the MIT License.
The repository also includes Astral's
MIT license because
some implementation ideas and snippets are derived from uv.