Update egui_extras requirement from >=0.24, <=0.27 to >=0.24, <=0.33
Updates the requirements on egui_extras to permit the latest version.
Release notes
Sourced from egui_extras's releases.
0.33.0 -
egui::Plugin, better kerning, kitdiff vieweregui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.
Try it now: https://www.egui.rs/
egui development is sponsored by Rerun, a startup building an SDK for visualizing streams of multimodal data.
egui 0.33.0 changelog
Highlights from this release:
egui::Plugina improved way to create and access egui plugins- kitdiff, a viewer for egui_kittest image snapshots (and a general image diff tool)
- better kerning
Improved kerning
As a step towards using parley for font rendering,
@valadaptivehas refactored the font loading and rendering code. A result of this (next to the font rendering code being much nicer now) is improved kerning. Notice how the c moved away from the k:
- More even text kerning #7431 by
@valadaptive
egui::PlugintraitWe've added a new trait-based plugin api, meant to replace
Context::on_begin_passandContext::on_end_pass. This makes it a lot easier to handle state in your plugins. Instead of having to write to egui memory it can live right on your plugin struct. The trait based api also makes easier to add new hooks that plugins can use. In addition toon_begin_passandon_end_pass, thePlugintrait now has ainput_hookandoutput_hookwhich you can use to inspect / modify theRawInput/FullOutput.
- New Plugin trait #7385 by
@lucasmerlinkitdiff, a image diff viewer
At rerun we have a ton of snapshots. Some PRs will change most of them (e.g. the one that updated egui and introduced the kerning improvements, ~500 snapshots changed!). If you really want to look at every changed snapshot it better be as efficient as possible, and the experience on github, fiddeling with the sliders, is kind of frustrating. In order to fix this, we've made kitdiff. You can use it locally via
kitdiff files .will search for .new.png and .diff.png fileskitdiff gitwill compare the current files to the default branch (main/master) Or in the browser via- going to https://rerun-io.github.io/kitdiff/ and pasting a PR or github artifact url
- linking to kitdiff via e.g. a github workflow
https://rerun-io.github.io/kitdiff/?url=<link_to_pr_or_artifact>To install kitdiff run
cargo install --git https://github.com/rerun-io/kitdiff. You might need to login with your github account for viewing artifacts and to prevent running into rate limits.Here is a video showing the kerning changes in kitdiff (try it yourself):
https://github.com/user-attachments/assets/74640af1-09ba-435a-9d0c-2cbeee140c8f
Migration guide
egui::Mutexnow has a timeout as a simple deadlock detection
- If you use a
egui::Mutexin some place where it's held for longer than a single frame, you should switch to the std mutex or parking_lot instead (egui mutexes are wrappers around parking lot)
... (truncated)
Changelog
Sourced from egui_extras's changelog.
0.33.0 - 2025-10-09 -
egui::Plugin, better kerning, kitdiff viewerHighlights from this release:
egui::Plugina improved way to create and access egui plugins- kitdiff, a viewer for egui_kittest image snapshots (and a general image diff tool)
- better kerning
Improved kerning
As a step towards using parley for font rendering,
@valadaptivehas refactored the font loading and rendering code. A result of this (next to the font rendering code being much nicer now) is improved kerning. Notice how the c moved away from the k:
egui::PlugintraitWe've added a new trait-based plugin api, meant to replace
Context::on_begin_passandContext::on_end_pass. This makes it a lot easier to handle state in your plugins. Instead of having to write to egui memory it can live right on your plugin struct. The trait based api also makes easier to add new hooks that plugins can use. In addition toon_begin_passandon_end_pass, thePlugintrait now has ainput_hookandoutput_hookwhich you can use to inspect / modify theRawInput/FullOutput.kitdiff, a image diff viewer
At rerun we have a ton of snapshots. Some PRs will change most of them (e.g. the one that updated egui and introduced the kerning improvements, ~500 snapshots changed!). If you really want to look at every changed snapshot it better be as efficient as possible, and the experience on github, fiddeling with the sliders, is kind of frustrating. In order to fix this, we've made kitdiff. You can use it locally via
kitdiff files .will search for .new.png and .diff.png fileskitdiff gitwill compare the current files to the default branch (main/master) Or in the browser via- going to https://rerun-io.github.io/kitdiff/ and pasting a PR or github artifact url
- linking to kitdiff via e.g. a github workflow
https://rerun-io.github.io/kitdiff/?url=<link_to_pr_or_artifact>To install kitdiff run
cargo install --git https://github.com/rerun-io/kitdiffHere is a video showing the kerning changes in kitdiff (try it yourself):
https://github.com/user-attachments/assets/74640af1-09ba-435a-9d0c-2cbeee140c8f
Migration guide
egui::Mutexnow has a timeout as a simple deadlock detection
- If you use a
egui::Mutexin some place where it's held for longer than a single frame, you should switch to the std mutex or parking_lot instead (egui mutexes are wrappers around parking lot)screen_rectis deprecated
- In order to support safe areas, egui now has
viewport_rectandcontent_rect.- Update all usages of
screen_recttocontent_rect, unless you are sure that you want to draw outside thesafe area(which would mean your Ui may be covered by notches, system ui, etc.)⭐ Added
- New Plugin trait #7385 by
@lucasmerlin- Add
Ui::take_available_space()helper function, which sets the Ui's minimum size to the available space #7573 by@IsseW- Add support for the safe area on iOS #7578 by
@irh- Add
UiBuilder::global_scopeandUiBuilder::id#7372 by@Icekey- Add
emath::fast_midpoint#7435 by@emilk
... (truncated)
Commits
28cbd73Kittest 0.3854cdfeAdd todo to check git dependencies59c410eFix crate order430a3fbTypoa3c7351Add changelog intro and reorder stuffaea3a49Update versions38b0729Merge branch 'main' into release-0.33.0d50287bAddtaplo.tomlfor toml formatting (#7618)eb20085Allow isse and tye usernames0105669Update changelogs- Additional commits viewable in compare view
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.