mirror of
https://github.com/eliasstepanik/imgui-rs.git
synced 2026-01-10 21:18:36 +00:00
1.9 KiB
1.9 KiB
imgui-rs development process
As summarised in issue #665
In summary:
- There is a
mainbranch - For each semver compatible release there is a stable branch (e.g
0.9-stable) - Each patch release becomes a tagged commit on this stable branch (e.g
v0.9.5would come from a tagged commit on the0.9-stablebranch)
General process
Day to day development
- Work on
mainbranch - General PR's are submitted against the
mainbranch
When it is time to make a new release, we create a x.y-stable branch (e.g 0.9-stable) from main
- Ensure
CHANGELOGis up to date - Ensure README is up-to-date (including the Dear ImGui Version in badge URL, MSRV)
- Bump
versionin the variousCargo.toml - A stable branch is created, e.g
git switch -c 0.9-stableand pushed to Github - Publish various crates (noting it has to be done starting with
imgui-sys, thenimgui, then the others)
cargo publish -p imgui-sys
cargo publish -p imgui
cargo publish -p imgui-winit-support --no-verify
cargo publish -p imgui-glium-renderer
cargo publish -p imgui-glow-renderer
cargo publish -p imgui-sdl2-support
cargo publish -p imgui-winit-glow-renderer-viewports
- Create annotated tag
v0.9.0and push to github - Create Release for this version on Github
- Update and close any relevant tickets
All further PR's are still done to main
- If they are applicable to previous release (e.g bugfixes or non-breaking changes), they are cherry-picked back to the applicable
stablebranch(es)
When to bump versions in Cargo.toml
Only before publishing to crates.io.
This makes users able use [patch.crates-io] without hand-editing versions throughout their dependency tree (typically impossible without forking/editing transitive dependencies, even if there are no breaking code changes otherwise).