Skip to content

Conversation

emilk
Copy link
Owner

@emilk emilk commented Aug 15, 2025

  • run cargo semver-checks

Release testing

  • cargo r -p egui_demo_app and click around for while
  • test with Rerun
  • ./scripts/check.sh
  • check that CI is green

Preparation

  • update changelogs
    • run scripts/generate_changelog.py --version 0.x.0 --write
    • read changelogs and clean them up if needed
    • write a good intro with highlight for the main changelog
  • run typos

Actual release

  • bump version numbers in workspace Cargo.toml
  • publish the crates by running scripts/publish_crates.sh
  • Check out the release commit locally
  • git tag -a 0.x.0 -m 'Release 0.x.0 - <release title>'
  • git pull --tags ; git tag -d latest && git tag -a latest -m 'Latest release' && git push --tags origin latest --force ; git push --tags
  • Cherry-pick changelog and version changes to main
  • do a GitHub release: https://github.com/emilk/egui/releases/new
    • follow the format of the last release
  • wait for the documentation build to finish: https://docs.rs/releases/queue

Finally

  • close the milestone
  • close this issue
  • improve RELEASES.md with what you learned this time around
  • Update Rerun

emilk and others added 12 commits July 10, 2025 16:58
* Closes <#7397>
* [X] I have followed the instructions in the PR template
I do admit I got a peak NixOS `RequestDeviceError` and deemed it
entirely not worth it to think about that.

#5411 broke rotation of multi-line
`TextShape`s because `PlacedRow::pos` was no longer being rotated, so
let's rotate it.

---------

Co-authored-by: Emil Ernerfeldt <[email protected]>
Co-authored-by: Lucas Meurer <[email protected]>
* Closes #7349  
* [x] I have followed the instructions in the PR template
Fixes manually created popups (via `Popup::new`) not closing, since
widget_clicked_elsewhere was always false.

This example would never close:

```rs
    let mut open = true;

    eframe::run_simple_native("My egui App", options, move |ctx, _frame| {
        egui::CentralPanel::default().show(ctx, |ui| {
            let response = egui::Popup::new(
                Id::new("popup"),
                ctx.clone(),
                PopupAnchor::Position(Pos2::new(10.0, 10.0)),
                LayerId::new(Order::Foreground, Id::new("popup")),
            )
            .open(open)
            .show(|ui| {
                ui.label("This is a popup!");
                ui.label("You can put anything in here.");
            });

            if let Some(response) = response {
                if response.response.should_close() {
                    open = false;
                }
            }
        });
    })
```

I also noticed that the Color submenu in the popups example had a double
arrow (must have been broken in the atoms PR):

<img width="248" height="110" alt="Screenshot 2025-08-07 at 13 42 28"
src="https://github.com/user-attachments/assets/a4e0c267-ae71-4b2c-a1f0-f53f9662d026"
/>

Also fixed this in the PR.
The override_text_color is now used when rendering text from a String or
&str. This is consistent with the RichText variant and makes the option
behave as advertised, taking precedence over WidgetVisuals and
overriding the color for all text unless explicitly changed for a single
widget (via RichText or LayoutJob).

* Closes <#7367>
* [x] I have followed the instructions in the PR template

---------

Co-authored-by: Emil Ernerfeldt <[email protected]>
If the ScrollArea's contents are smaller than the inner rect, but the
scrollbar is set to always visible, clicking on it led to a remap from
an empty range to calculate the new offset, which triggered a debug
assertion in the remap function, because the result is indeterminate.

Since in this case there is no need to scroll, we just skip the remap
and set the offset to 0 directly.

* Closes <#7362>
* [x] I have followed the instructions in the PR template
…tener (#7403)

<!--
Please read the "Making a PR" section of
[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/main/CONTRIBUTING.md)
before opening a Pull Request!

* Keep your PR:s small and focused.
* The PR title is what ends up in the changelog, so make it descriptive!
* If applicable, add a screenshot or gif.
* If it is a non-trivial addition, consider adding a demo for it to
`egui_demo_lib`, or a new example.
* Do NOT open PR:s from your `master` branch, as that makes it hard for
maintainers to test and add commits to your PR.
* Remember to run `cargo fmt` and `cargo clippy`.
* Open the PR as a draft until you have self-reviewed it and run
`./scripts/check.sh`.
* When you have addressed a PR comment, mark it as resolved.

Please be patient! I will review your PR, but my time is limited!
-->

Hey, I added an event listener on the [`popstate`
event](https://developer.mozilla.org/en-US/docs/Web/API/Window/popstate_event).
That fixed my issue


https://github.com/user-attachments/assets/a621dac9-b7c3-426a-968b-dc73c5702eea

* Closes #7402
* [x] I have followed the instructions in the PR template
Copy link

Preview available at https://egui-pr-preview.github.io/pr/7456-release-0321
Note that it might take a couple seconds for the update to show up after the preview_build workflow has completed.

@emilk emilk added the do-not-merge Do not merge yet, but you can still review it label Aug 15, 2025
@emilk emilk closed this Aug 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge Do not merge yet, but you can still review it exclude from changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants