Skip to content

chore(deps)(deps): bump egui from 0.34.3 to 0.35.0 - #212

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/egui-0.35.0
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/egui-0.35.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 29, 2026

Copy link
Copy Markdown
Contributor

Bumps egui from 0.34.3 to 0.35.0.

Release notes

Sourced from egui's releases.

0.35.0 - Inspection, egui_mcp, classes and improved IME

egui 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.

Highlights

  • New egui_mcp crate based on eguis new inspection protocol
  • Set classes on your Uis to modify widget behavior based on surrounding context
  • Improved IME

Egui inspection and egui_mcp

This release includes a new inspection protocol for egui. It allows reading the accesskit tree of a running app, as well as sending events to control it. It's implemented via a new InspectionPlugin in the egui_inspection crate. Eframe includes a new inspection feature. When enabled, you can enable inspection by launching the app with EGUI_INSPECTION=1. This will cause the app to listen on port 5719.

The first inspection protocol consumer is egui_mcp. It's a mcp server that allows your agent to see and use egui apps. It can be used to have the agent use the app, reproduce bugs and verify its changes. Install it via cargo install --git https://github.com/rerun-io/kittest_inspector egui_mcp and then add it to your agent via claude mcp add egui egui-mcp.

There is also a plan of adding a general inspection gui using the same protocol, that can e.g. be used to step through kittest tests frame by frame.

Here is claude using the mcp to try some of the egui demos (sped up by a lot, claude is slow):

Screen.Recording.2026-06-25.at.19.58.20.15s.mov

Classes

As part of css like styling, we've added classes to egui. You can already use them to e.g. modify widget behavior or styling based on surrounding context. Add classes to the container:

ui.scope_builder(UiBuilder::new().with_class("my_container"), |ui| {
    ...
});       

... (truncated)

Changelog

Sourced from egui's changelog.

0.35.0 - 2026-06-25 - Inspection, egui_mcp, classes and improved IME

Highlights

  • New egui_mcp crate based on eguis new inspection protocol
  • Set classes on your Uis to modify widget behavior based on surrounding context
  • Improved IME

Egui inspection and egui_mcp

This release includes a new inspection protocol for egui. It allows reading the accesskit tree of a running app, as well as sending events to control it. It's implemented via a new InspectionPlugin in the egui_inspection crate. Eframe includes a new inspection feature. When enabled, you can enable inspection by launching the app with EGUI_INSPECTION=1. This will cause the app to listen on port 5719.

The first inspection protocol consumer is egui_mcp. It's a mcp server that allows your agent to see and use egui apps. It can be used to have the agent use the app, reproduce bugs and verify its changes. Install it via cargo install --git https://github.com/rerun-io/kittest_inspector egui_mcp and then add it to your agent via claude mcp add egui egui-mcp.

There is also a plan of adding a general inspection gui using the same protocol, that can e.g. be used to step through kittest tests frame by frame.

Here is claude using the mcp to try some of the egui demos (sped up by a lot, claude is slow):

Screen.Recording.2026-06-25.at.19.58.20.15s.mov

Classes

As part of css like styling, we've added classes to egui. You can already use them to e.g. modify widget behavior or styling based on surrounding context. Add classes to the container:

ui.scope_builder(UiBuilder::new().with_class("my_container"), |ui| {
    ...
});       

In your widget, check if we're in my_container, to e.g. change sizes or colors:

  let in_container = ui.stack().iter().any(|s| s.classes.has("my_container")); 

Today this only works for custom widgets and ui code, but the next step will be a styling system that allows you to modify built in widget styling based on these classes.

Better IME composition

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [egui](https://github.com/emilk/egui) from 0.34.3 to 0.35.0.
- [Release notes](https://github.com/emilk/egui/releases)
- [Changelog](https://github.com/emilk/egui/blob/main/CHANGELOG.md)
- [Commits](emilk/egui@0.34.3...0.35.0)

---
updated-dependencies:
- dependency-name: egui
  dependency-version: 0.35.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Jun 29, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: dependencies, rust. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot
dependabot Bot requested a review from doublegate as a code owner June 29, 2026 10:10
doublegate added a commit that referenced this pull request Jul 1, 2026
…resh (#215)

* chore(deps): bump egui stack 0.34.3 -> 0.35.0 + in-constraint dep refresh

Consolidates the three open egui Dependabot PRs (#211 egui-wgpu, #212 egui,
#213 egui-winit) into one coordinated bump, since egui/egui-wgpu/egui-winit
ship in lockstep and cannot be merged independently, plus a SemVer-compatible
refresh of the rest of the transitive graph.

egui 0.34.3 -> 0.35.0 (the "Inspection, egui_mcp, classes, improved IME" release)
- Verified via crates.io that egui 0.35 stays within the project's *existing*
  render/windowing tier before touching anything:
    * egui-wgpu 0.35.0  requires wgpu     ^29.0     (locked: 29.0.3)  -> no change
    * egui-winit 0.35.0 requires winit    ^0.30.13  (locked: 0.30.13) -> no change
    * egui 0.35.0       requires accesskit ^0.24.1  (locked: 0.24.1)  -> no change
  So there is NO wgpu / winit / accesskit / naga movement; this is a pure in-tier
  bump and the shipped / native / no_std / wasm builds stay behavior-equivalent.
- Migrated the one API break introduced by 0.35: egui::Panel::show_inside was
  deprecated and renamed to Panel::show(ui, ..) (same &mut Ui-nesting signature).
  Updated the three call sites -- the shell menu bar and status bar
  (ui_shell.rs) and the documentation side panel (debugger/doc_panel.rs) -- and
  refreshed the three surrounding architecture comments (ui_shell.rs +
  debugger/mod.rs) that named the old method, keeping the docs in sync with the
  code per the docs-as-spec rule.
- The transitive font stack epaint 0.35 pulls in (fearless_simd, read-fonts,
  skrifa, vello_*) moved with it; ecolor/emath/epaint/epaint_default_fonts all
  advanced 0.34.3 -> 0.35.0 in lockstep.

In-constraint transitive refresh (cargo update; SemVer-compatible only)
- Picked up ~20 patch/minor bumps that violate no manifest requirement:
  anyhow 1.0.103, bstr 1.12.3, camino 1.2.4, clap_complete 4.6.7, console 0.16.4,
  js-sys / web-sys 0.3.103, rustls-pki-types 1.15.0, time 0.3.53, uuid 1.23.4,
  wasm-bindgen 0.2.126 (+ the -futures/-macro/-shared satellites), zlib-rs 0.6.5,
  and others.
- wasm-bindgen 0.2.125 -> 0.2.126 required mirroring the pin in
  crates/rustynes-frontend/web/Trunk.toml: the wasm-bindgen library and the
  trunk-invoked wasm-bindgen CLI are released in lockstep and version-check each
  other, so a mismatch would fail `trunk build` (and the GitHub Pages deploy) at
  the wasm-bindgen step even though wasm clippy still passes.

Deliberately EXCLUDED (out-of-tier / breaking; each needs its own change)
- wgpu 30 / naga 30  -- would break the egui-wgpu 0.35 render tier (pins wgpu ^29).
- getrandom 0.4      -- breaking wasm backend API; its `js` feature is obsolete.
- uniffi 0.32        -- the mobile UniFFI bridge; needs a Kotlin/Swift regen plus
                        an on-device verification pass, not a desktop drop-in.

Verification (all green locally)
- cargo fmt --all --check: clean.
- cargo clippy --workspace --all-targets -- -D warnings: clean.
- cargo clippy -p rustynes-frontend --features full -- -D warnings: clean.
- wasm32 clippy (wasm-winit default + wasm-canvas): clean.
- RUSTDOCFLAGS=-D warnings cargo doc --workspace --no-deps: clean.
- cargo test -p rustynes-frontend: 431 passed, 0 failed.
- AccuracyCoin 139/139 unaffected -- the deterministic #![no_std] chip stack is
  untouched and byte-identical; egui lives only in the host frontend.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore(deny): ignore RUSTSEC-2026-0192 (ttf-parser unmaintained, transitive via winit)

The "Cargo Deny Check" CI gate went red on the advisories pass with
RUSTSEC-2026-0192 — `ttf-parser` flagged unmaintained. This is an informational
"unmaintained" advisory, NOT an exploitable vulnerability, on a purely
transitive dependency the workspace cannot influence from its manifest:

    winit 0.30.13 -> sctk-adwaita -> ab_glyph -> owned_ttf_parser -> ttf-parser 0.25.1

ttf-parser 0.25.1 is already the latest release; the only way off it is for
winit's Wayland client-side-decoration stack to drop ab_glyph, which is outside
our control until a future winit bump. Crucially this is NOT introduced by the
egui 0.34->0.35 bump in this PR: `main` carries the identical `ttf-parser
0.25.1`, and cargo-deny fetches the live RUSTSEC database at check time, so the
freshly-published advisory fails equally on `main` — this PR is simply the first
to re-run the security workflow (which is path-filtered to Cargo.toml/lock
changes) after the advisory landed.

Per deny.toml's own stated policy ("a real transitive advisory with no safe
upgrade"), added RUSTSEC-2026-0192 to the `[advisories].ignore` list with a
comprehensive comment recording the dependency chain, why it is safe (unmaintained
!= vulnerable), and the revisit condition (a winit bump that drops the
ab_glyph/ttf-parser chain). `bans`/`licenses`/`sources` were already green and are
unaffected; no real vulnerability is being suppressed.

Verified locally: `cargo deny check` -> "advisories ok, bans ok, licenses ok,
sources ok".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@dependabot @github

dependabot Bot commented on behalf of github Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/cargo/egui-0.35.0 branch July 1, 2026 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant