Skip to content

How Releases Work (release-plz)

Automated Releases

Dalang uses release-plz to completely automate Rust versioning, changelogs, and publishing. You should never manually edit a version field in a Cargo.toml file.

The Release Flow

  1. You merge a PR with a Conventional Commit title (e.g., feat(core): add feature).
  2. The release-plz GitHub Action analyzes the commit.
  3. It automatically opens a PR named chore: release containing the bumped versions and updated CHANGELOG.md.
  4. A maintainer reviews and merges the chore: release PR.
  5. release-plz automatically publishes to crates.io, creates a Git tag (e.g., dalang-core-v0.2.0), and generates a GitHub Release.

Hotfixes

If you need to patch an older version, branch off the specific Git tag (e.g., git checkout dalang-cli-v0.1.0), make the fix, and open a PR to main. release-plz will handle the patch bump (v0.1.1).