How to release:

- Update all changelogs
  - When doing a release after egui update, run:
    - `cargo run -p scripts --bin update_changelogs -- "- Update egui to 0.x"`
    - check if the changelogs are correct
- Run `cargo run -p scripts --bin update_badges` to update badges
- Run either
  - `cargo release minor --workspace` to release a new minor for all crates (useful on egui updates)
    - note that you shouldn't use this to release a new crate (since it'll be updated from 0.1.0 to 0.2.0)
    - if the release fails, release in this order:
```bash
# https://github.com/crate-ci/cargo-release/issues/829 should fix this
cargo release minor --workspace --execute # *fails*
cargo release --execute -p hello_egui_utils_dev
cargo release --execute -p egui_virtual_list
cargo release --execute -p egui_inbox
cargo release --execute -p egui_infinite_scroll
cargo release --workspace --execute --exclude hello_egui_utils_dev --exclude egui_inbox --exclude egui_virtual_list --exclude egui_infinite_scroll  --exclude hello_egui_utils --exclude egui_animation
```
  - `cargo release -p <crate_name> <patch|minor|major>` to release a new version for a single crate
- Confirm that all listed crates have a updated changelog with matching versions
- Run the release command with --execute
