Contributing
Testing
Run the test suite:
cargo test
Release process
This project uses automated releases through release-plz.
How releases work
-
Make changes using conventional commits:
feat:for new features (minor version bump)fix:for bug fixes (patch version bump)feat!:orfix!:for breaking changes (major version bump)
-
Create a pull request with your changes
-
Merge the PR – this triggers the release-plz workflow
-
Release PR appears – release-plz automatically creates a PR with:
- Updated version in
Cargo.toml - Generated changelog
- All changes since last release
- Updated version in
-
Review and merge the release PR
-
Automated publishing – when the release PR is merged:
- release-plz publishes the crate to crates.io
- Creates a GitHub release with changelog
Conventional commit examples
feat: add new proxy authentication method
fix: resolve connection timeout issues
docs: update API documentation
chore: update dependencies
feat!: change configuration file format (BREAKING CHANGE)
The release workflow automatically handles version bumping and publishing based on your commit messages.