Skip to content

Upgrade egui to 0.36 and raise the MSRV to 1.95 - #30

Merged
smaranjit merged 2 commits into
mainfrom
deps/egui-0.36
Oct 23, 2026
Merged

smaranjit merged 2 commits into
mainfrom
deps/egui-0.36

Conversation

@smaranjit

Copy link
Copy Markdown
Owner

What does this change?

Upgrades eframe, egui, egui_extras and egui-wgpu from 0.33 to 0.36, replacing Dependabot PRs #25, #26 and #27, which couldn't be merged as opened.

  • egui 0.36 (Bump the egui group with 4 updates #25): egui 0.35 removed App::update, TopBottomPanel and SidePanel. FirebaseToolApp now implements App::ui and uses the unified Panel API. The change is confined to the App impl in src/app.rs.
  • MSRV 1.90 -> 1.95: every egui release after 0.33 needs a newer toolchain (0.34/0.35 need 1.92, 0.36 needs 1.95). rust-version, the msrv CI pin and the docs are raised together, as .github/dependabot.yml asks.
  • ron 0.12 (Bump ron from 0.11.0 to 0.12.2 #27): the dev-dependency moves with eframe, so the config migration tests keep parsing with the same ron version the app saves with. Bump ron from 0.11.0 to 0.12.2 #27 bumped it alone, which left two ron versions in the tree.
  • rand removed (Bump rand from 0.8.6 to 0.9.4 #26): rand 0.9 cannot feed rsa 0.9 (still on rand_core 0.6, and rsa 0.10 is only an RC). The signing tests now use rsa::rand_core::OsRng, so the rand dev-dependency is gone.

Closes #25, closes #26, closes #27.

Checklist

  • cargo fmt --all -- --check passes
  • cargo clippy --all-targets -- -D warnings passes (Rust 1.95, --locked)
  • cargo test --all-targets passes (42/42)
  • cargo build --release succeeds (in Ubuntu 22.04 for the e2e sandbox)
  • Tested manually against a Firebase project (a development one)
  • CHANGELOG.md updated under [Unreleased]

Notes for the reviewer

End-to-end tested in a screenenv Ubuntu desktop, comparing this branch with a main build:

  • Settings compatibility: settings saved by the 0.33 build (ron 0.11) load correctly, including profiles, multiple apps, API keys and the last tab. Going back, the 0.33 build also reads files written by this build.
  • UI: all five tabs, the Users side panel, the status bar with dismiss, the About window, scrolling of long results, and the file dialog all behave as on main.
  • Live against the demo project: Load apps, Load users, custom token (signing, copy to clipboard), UID -> ID token, custom -> ID token, App Check debug-token exchange, an ID token with an Android-restricted key, and set/clear of custom claims (a test claim was set on a demo user and cleared again).

Known, intentional: the Users panel opens at its default width once after upgrading, because egui 0.36 stores panel state in a new format. This is noted in the changelog.

- Bump eframe, egui, egui_extras and egui-wgpu from 0.33 to 0.36.
- Port FirebaseToolApp to App::ui and the unified Panel API; the old
  App::update, TopBottomPanel and SidePanel were removed in egui 0.35.
- Bump the ron dev-dependency to 0.12 so the config migration tests
  parse with the same ron version eframe persists with.
- Raise rust-version and the msrv CI pin from 1.90 to 1.95, the floor
  egui 0.36 declares.
- Take the signing tests' RNG from rsa::rand_core::OsRng and drop the
  rand dev-dependency. rand 0.9 cannot feed rsa 0.9 (rand_core 0.6).

Supersedes Dependabot PRs #25, #26 and #27.
Cargo kept gpu-allocator on the windows 0.58 already in the lockfile,
while wgpu-hal 30 builds its DX12 backend against windows 0.62. The two
copies' D3D12 types don't match, so wgpu-hal failed to compile on
Windows. gpu-allocator 0.28 accepts windows 0.58 through 0.62, so point
it at the same 0.62.2 that wgpu-hal uses.
@smaranjit
smaranjit merged commit 0ce502a into main Oct 23, 2026
11 checks passed
@smaranjit
smaranjit deleted the deps/egui-0.36 branch October 23, 2026 16:33
@smaranjit smaranjit mentioned this pull request Oct 23, 2026
6 tasks done
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