We release a new major egui_plot
whenever there is a new major egui
release.
For the moment the egui_plot
version follows that of the egui
crates.
That may change in the future.
The version in main
is always the version of the last published crate.
This is so that users can easily patch their egui_plot
to the version on main
if they want to.
Releases are generally done by emilk, but the rerun-io organization (where emilk is CTO) also has publish rights to all the crates.
Our Minimum Supported Rust Version (MSRV) is always at least two minor release behind the latest Rust version. This means users of egui aren't forced to update to the very latest Rust version.
We don't update the MSRV in a patch release, unless we really, really need to.
- Make a branch off of the latest release
- cherry-pick what you want to release
- run
cargo semver-checks
- improve the demo a bit
-
cargo update
-
cargo outdated
(or manually look for outdated crates in eachCargo.toml
) -
cargo machete
- test the demo app
- test the web demo
- test on mobile
- test on chromium
-
./scripts/check.sh
- check that CI is green
- optionally record gif or take a screenshot for
CHANGELOG.md
release note (and later twitter post) - update changelogs using
scripts/generate_changelog.py
- For major releases, always diff to the latest MAJOR release, e.g.
--commit-range 0.27.0..HEAD
- For major releases, always diff to the latest MAJOR release, e.g.
- bump version numbers in workspace
Cargo.toml
I usually do this all on the main
branch, but doing it in a release branch is also fine, as long as you remember to merge it into main
later.
-
./scripts/generate_changelog.py --version 0.x.0
- bump version number in
Cargo.toml
-
cargo clippy
-
git commit -m 'Release 0.x.0 - summary'
-
cargo publish -p egui_plot
-
git tag -a 0.x.0 -m 'Release 0.x.0 - summary'
-
git pull --tags && git tag -d latest && git tag -a latest -m 'Latest release' && git push --tags origin latest --force && git push origin main ; git push --tags
- merge release PR or push to
main
- check that CI is green
- do a GitHub release: https://github.com/emilk/egui_plot/releases/new
- wait for documentation to build: https://docs.rs/releases/queue