Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Contributing

Testing

Run the test suite:

cargo test

Release process

This project uses automated releases through release-plz.

How releases work

  1. Make changes using conventional commits:

    • feat: for new features (minor version bump)
    • fix: for bug fixes (patch version bump)
    • feat!: or fix!: for breaking changes (major version bump)
  2. Create a pull request with your changes

  3. Merge the PR – this triggers the release-plz workflow

  4. Release PR appears – release-plz automatically creates a PR with:

    • Updated version in Cargo.toml
    • Generated changelog
    • All changes since last release
  5. Review and merge the release PR

  6. 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.