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
- You merge a PR with a Conventional Commit title (e.g.,
feat(core): add feature). - The
release-plzGitHub Action analyzes the commit. - It automatically opens a PR named
chore: releasecontaining the bumped versions and updatedCHANGELOG.md. - A maintainer reviews and merges the
chore: releasePR. release-plzautomatically publishes tocrates.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).