diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b6c63ab4..e531dddc9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.34.1 - 2026-03-27 +Nothing new + + ## 0.34.0 - 2026-03-26 ### Highlights from this release diff --git a/Cargo.lock b/Cargo.lock index 47fd9501d..dc735dc55 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1193,7 +1193,7 @@ checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" [[package]] name = "ecolor" -version = "0.34.0" +version = "0.34.1" dependencies = [ "bytemuck", "cint", @@ -1205,7 +1205,7 @@ dependencies = [ [[package]] name = "eframe" -version = "0.34.0" +version = "0.34.1" dependencies = [ "ahash", "bytemuck", @@ -1244,7 +1244,7 @@ dependencies = [ [[package]] name = "egui" -version = "0.34.0" +version = "0.34.1" dependencies = [ "accesskit", "ahash", @@ -1264,7 +1264,7 @@ dependencies = [ [[package]] name = "egui-wgpu" -version = "0.34.0" +version = "0.34.1" dependencies = [ "ahash", "bytemuck", @@ -1282,7 +1282,7 @@ dependencies = [ [[package]] name = "egui-winit" -version = "0.34.0" +version = "0.34.1" dependencies = [ "accesskit_winit", "arboard", @@ -1305,7 +1305,7 @@ dependencies = [ [[package]] name = "egui_demo_app" -version = "0.34.0" +version = "0.34.1" dependencies = [ "accesskit", "accesskit_consumer", @@ -1330,12 +1330,11 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "wgpu", ] [[package]] name = "egui_demo_lib" -version = "0.34.0" +version = "0.34.1" dependencies = [ "criterion", "document-features", @@ -1352,7 +1351,7 @@ dependencies = [ [[package]] name = "egui_extras" -version = "0.34.0" +version = "0.34.1" dependencies = [ "ahash", "document-features", @@ -1371,7 +1370,7 @@ dependencies = [ [[package]] name = "egui_glow" -version = "0.34.0" +version = "0.34.1" dependencies = [ "bytemuck", "document-features", @@ -1390,7 +1389,7 @@ dependencies = [ [[package]] name = "egui_kittest" -version = "0.34.0" +version = "0.34.1" dependencies = [ "dify", "document-features", @@ -1410,7 +1409,7 @@ dependencies = [ [[package]] name = "egui_tests" -version = "0.34.0" +version = "0.34.1" dependencies = [ "egui", "egui_extras", @@ -1440,7 +1439,7 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "emath" -version = "0.34.0" +version = "0.34.1" dependencies = [ "bytemuck", "document-features", @@ -1538,7 +1537,7 @@ dependencies = [ [[package]] name = "epaint" -version = "0.34.0" +version = "0.34.1" dependencies = [ "ahash", "bytemuck", @@ -1567,7 +1566,7 @@ dependencies = [ [[package]] name = "epaint_default_fonts" -version = "0.34.0" +version = "0.34.1" [[package]] name = "equivalent" @@ -3454,7 +3453,7 @@ checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" [[package]] name = "popups" -version = "0.34.0" +version = "0.34.1" dependencies = [ "eframe", "env_logger", @@ -5862,7 +5861,7 @@ checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" [[package]] name = "xtask" -version = "0.34.0" +version = "0.34.1" [[package]] name = "yaml-rust" diff --git a/Cargo.toml b/Cargo.toml index 9a2a52704..d6081392d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,7 +24,7 @@ members = [ edition = "2024" license = "MIT OR Apache-2.0" rust-version = "1.92" -version = "0.34.0" +version = "0.34.1" [profile.release] @@ -55,18 +55,18 @@ opt-level = 2 [workspace.dependencies] -emath = { version = "0.34.0", path = "crates/emath", default-features = false } -ecolor = { version = "0.34.0", path = "crates/ecolor", default-features = false } -epaint = { version = "0.34.0", path = "crates/epaint", default-features = false } -epaint_default_fonts = { version = "0.34.0", path = "crates/epaint_default_fonts" } -egui = { version = "0.34.0", path = "crates/egui", default-features = false } -egui-winit = { version = "0.34.0", path = "crates/egui-winit", default-features = false } -egui_extras = { version = "0.34.0", path = "crates/egui_extras", default-features = false } -egui-wgpu = { version = "0.34.0", path = "crates/egui-wgpu", default-features = false } -egui_demo_lib = { version = "0.34.0", path = "crates/egui_demo_lib", default-features = false } -egui_glow = { version = "0.34.0", path = "crates/egui_glow", default-features = false } -egui_kittest = { version = "0.34.0", path = "crates/egui_kittest", default-features = false } -eframe = { version = "0.34.0", path = "crates/eframe", default-features = false } +emath = { version = "0.34.1", path = "crates/emath", default-features = false } +ecolor = { version = "0.34.1", path = "crates/ecolor", default-features = false } +epaint = { version = "0.34.1", path = "crates/epaint", default-features = false } +epaint_default_fonts = { version = "0.34.1", path = "crates/epaint_default_fonts" } +egui = { version = "0.34.1", path = "crates/egui", default-features = false } +egui-winit = { version = "0.34.1", path = "crates/egui-winit", default-features = false } +egui_extras = { version = "0.34.1", path = "crates/egui_extras", default-features = false } +egui-wgpu = { version = "0.34.1", path = "crates/egui-wgpu", default-features = false } +egui_demo_lib = { version = "0.34.1", path = "crates/egui_demo_lib", default-features = false } +egui_glow = { version = "0.34.1", path = "crates/egui_glow", default-features = false } +egui_kittest = { version = "0.34.1", path = "crates/egui_kittest", default-features = false } +eframe = { version = "0.34.1", path = "crates/eframe", default-features = false } accesskit = "0.24.0" accesskit_consumer = "0.35.0" diff --git a/crates/ecolor/CHANGELOG.md b/crates/ecolor/CHANGELOG.md index 161a32ae8..fe0333748 100644 --- a/crates/ecolor/CHANGELOG.md +++ b/crates/ecolor/CHANGELOG.md @@ -6,6 +6,10 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.34.1 - 2026-03-27 +Nothing new + + ## 0.34.0 - 2026-03-26 Nothing new diff --git a/crates/eframe/CHANGELOG.md b/crates/eframe/CHANGELOG.md index ae8f41a02..d9ba794b1 100644 --- a/crates/eframe/CHANGELOG.md +++ b/crates/eframe/CHANGELOG.md @@ -7,6 +7,11 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.34.1 - 2026-03-27 +* `wgpu` backend: Enable WebGL fallback [#8038](https://github.com/emilk/egui/pull/8038) by [@emilk](https://github.com/emilk) +* Only apply cursor style to the `` [#8036](https://github.com/emilk/egui/pull/8036) by [@mkeeter](https://github.com/mkeeter) + + ## 0.34.0 - 2026-03-26 ### ⭐ Added * Add feature `wgpu_no_default_features` [#7700](https://github.com/emilk/egui/pull/7700) by [@emilk](https://github.com/emilk) diff --git a/crates/eframe/Cargo.toml b/crates/eframe/Cargo.toml index 0f08eb7f1..0530b64a8 100644 --- a/crates/eframe/Cargo.toml +++ b/crates/eframe/Cargo.toml @@ -89,7 +89,7 @@ web_screen_reader = ["web-sys/SpeechSynthesis", "web-sys/SpeechSynthesisUtteranc ## See for more details. ## ## By default, eframe will prefer WebGPU over WebGL, but -## you can configure this at run-time with [`NativeOptions::wgpu_options`]. +## you can configure this at run-time with `WebOptions::wgpu_options`. wgpu = ["wgpu_no_default_features", "egui-wgpu/default"] ## This is exactly like the `wgpu` feature, but does NOT enable the default features of `wgpu` and `egui-wgpu`. @@ -155,7 +155,6 @@ glutin-winit = { workspace = true, optional = true, default-features = false, fe "wgl", ] } home = { workspace = true, optional = true } -wgpu = { workspace = true, optional = true } # mac: [target.'cfg(any(target_os = "macos"))'.dependencies] diff --git a/crates/eframe/src/lib.rs b/crates/eframe/src/lib.rs index 86260ee5f..c644289e0 100644 --- a/crates/eframe/src/lib.rs +++ b/crates/eframe/src/lib.rs @@ -159,7 +159,7 @@ pub use {egui, egui::emath, egui::epaint}; pub use {egui_glow, glow}; #[cfg(feature = "wgpu_no_default_features")] -pub use {egui_wgpu, wgpu}; +pub use {egui_wgpu, egui_wgpu::wgpu}; mod epi; diff --git a/crates/eframe/src/web/app_runner.rs b/crates/eframe/src/web/app_runner.rs index b90b8a5e1..7161a665e 100644 --- a/crates/eframe/src/web/app_runner.rs +++ b/crates/eframe/src/web/app_runner.rs @@ -393,7 +393,7 @@ impl AppRunner { } } - super::set_cursor_icon(cursor_icon); + super::set_cursor_icon(self.canvas(), cursor_icon); if self.has_focus() { // The eframe app has focus. diff --git a/crates/eframe/src/web/mod.rs b/crates/eframe/src/web/mod.rs index 87771f722..dc743ec49 100644 --- a/crates/eframe/src/web/mod.rs +++ b/crates/eframe/src/web/mod.rs @@ -178,10 +178,8 @@ fn canvas_size_in_points(canvas: &web_sys::HtmlCanvasElement, ctx: &egui::Contex // ---------------------------------------------------------------------------- /// Set the cursor icon. -fn set_cursor_icon(cursor: egui::CursorIcon) -> Option<()> { - let document = web_sys::window()?.document()?; - document - .body()? +fn set_cursor_icon(canvas: &web_sys::HtmlCanvasElement, cursor: egui::CursorIcon) -> Option<()> { + canvas .style() .set_property("cursor", cursor_web_name(cursor)) .ok() diff --git a/crates/egui-wgpu/CHANGELOG.md b/crates/egui-wgpu/CHANGELOG.md index 08c9d7187..4cc344bf2 100644 --- a/crates/egui-wgpu/CHANGELOG.md +++ b/crates/egui-wgpu/CHANGELOG.md @@ -6,6 +6,10 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.34.1 - 2026-03-27 +* `wgpu` backend: Enable WebGL fallback [#8038](https://github.com/emilk/egui/pull/8038) by [@emilk](https://github.com/emilk) + + ## 0.34.0 - 2026-03-26 ### ⭐ Added * Add error message when calling `.render()` without `.update_buffers()` [#8005](https://github.com/emilk/egui/pull/8005) by [@emilk](https://github.com/emilk) diff --git a/crates/egui-wgpu/Cargo.toml b/crates/egui-wgpu/Cargo.toml index 86cd3192b..0b081e134 100644 --- a/crates/egui-wgpu/Cargo.toml +++ b/crates/egui-wgpu/Cargo.toml @@ -25,7 +25,12 @@ all-features = true rustdoc-args = ["--generate-link-to-definition"] [features] -default = ["fragile-send-sync-non-atomic-wasm", "macos-window-resize-jitter-fix", "wgpu/default"] +default = [ + "fragile-send-sync-non-atomic-wasm", + "macos-window-resize-jitter-fix", + "wgpu/default", + "wgpu/webgl", # A very important fallback for web support +] ## Enables the `capture` module for capturing screenshots. capture = ["dep:egui"] diff --git a/crates/egui-winit/CHANGELOG.md b/crates/egui-winit/CHANGELOG.md index b4a9186b2..68fe5b2cd 100644 --- a/crates/egui-winit/CHANGELOG.md +++ b/crates/egui-winit/CHANGELOG.md @@ -5,6 +5,10 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.34.1 - 2026-03-27 +Nothing new + + ## 0.34.0 - 2026-03-26 * Add `is_scrolling`/`is_smooth_scrolling` util, checking for active scroll action [#7669](https://github.com/emilk/egui/pull/7669) by [@IsseW](https://github.com/IsseW) * Fix backspacing leaving last character in IME prediction not removed on macOS native and Safari [#7810](https://github.com/emilk/egui/pull/7810) by [@umajho](https://github.com/umajho) diff --git a/crates/egui_demo_app/Cargo.toml b/crates/egui_demo_app/Cargo.toml index 49609746f..5bb093ced 100644 --- a/crates/egui_demo_app/Cargo.toml +++ b/crates/egui_demo_app/Cargo.toml @@ -37,7 +37,7 @@ serde = ["dep:serde", "egui_demo_lib/serde", "egui/serde"] syntect = ["egui_demo_lib/syntect"] glow = ["eframe/glow"] -wgpu = ["eframe/wgpu", "bytemuck", "dep:wgpu"] +wgpu = ["eframe/wgpu", "bytemuck"] wayland = ["eframe/wayland"] x11 = ["eframe/x11"] @@ -60,9 +60,6 @@ accesskit_consumer = { workspace = true, optional = true } bytemuck = { workspace = true, optional = true } puffin = { workspace = true, optional = true } puffin_http = { workspace = true, optional = true } -# Enable both WebGL & WebGPU when targeting the web (these features have no effect when not targeting wasm32) -# Also enable the default features so we have a supported backend for every platform. -wgpu = { workspace = true, features = ["default", "webgpu", "webgl"], optional = true } # feature "http": diff --git a/crates/egui_demo_app/src/backend_panel.rs b/crates/egui_demo_app/src/backend_panel.rs index dfc4d116b..cd17afd4a 100644 --- a/crates/egui_demo_app/src/backend_panel.rs +++ b/crates/egui_demo_app/src/backend_panel.rs @@ -211,7 +211,7 @@ fn integration_ui(ui: &mut egui::Ui, _frame: &mut eframe::Frame) { let wgpu_adapter_details_ui = |ui: &mut egui::Ui, adapter: &eframe::wgpu::Adapter| { let info = &adapter.get_info(); - let wgpu::AdapterInfo { + let eframe::wgpu::AdapterInfo { name, vendor, device, diff --git a/crates/egui_demo_lib/tests/misc.rs b/crates/egui_demo_lib/tests/misc.rs index d5f6a3a3c..6d66abfb1 100644 --- a/crates/egui_demo_lib/tests/misc.rs +++ b/crates/egui_demo_lib/tests/misc.rs @@ -13,8 +13,9 @@ fn test_kerning() { ui.label("Hello world!"); ui.label("Repeated characters: iiiiiiiiiiiii lllllllll mmmmmmmmmmmmmmmm"); ui.label("Thin spaces: −123 456 789"); - ui.label("Ligature: fi :)"); - ui.label("\ttabbed"); + ui.label("Ligature: fi fl ffi ffl"); + ui.label("Kerning: AVATAR"); + ui.label("\ttabbed\ttext"); }); harness.run(); harness.fit_contents(); diff --git a/crates/egui_demo_lib/tests/snapshots/image_kerning/image_dark_x1.png b/crates/egui_demo_lib/tests/snapshots/image_kerning/image_dark_x1.png index 77fec5cfb..218a4e258 100644 --- a/crates/egui_demo_lib/tests/snapshots/image_kerning/image_dark_x1.png +++ b/crates/egui_demo_lib/tests/snapshots/image_kerning/image_dark_x1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:af81b4c34c3daebc08633499fd6883e917a83615f5981b12802f112fc25edf07 -size 12511 +oid sha256:2ef07080ca2aa10e128c646479b8b322a092d63f15b35c52ed59015e7c2a0f60 +size 15434 diff --git a/crates/egui_demo_lib/tests/snapshots/image_kerning/image_dark_x2.png b/crates/egui_demo_lib/tests/snapshots/image_kerning/image_dark_x2.png index 2445fb497..8da2d19a9 100644 --- a/crates/egui_demo_lib/tests/snapshots/image_kerning/image_dark_x2.png +++ b/crates/egui_demo_lib/tests/snapshots/image_kerning/image_dark_x2.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:21872867be61c9da3aa9a7daffe5c6d3ca49839c4049db4dab3c35531e1b5f82 -size 29389 +oid sha256:4edb61c6619d5e44892fa29da0aa0a624306ae637dbbaa057e3fa47c14dc06bd +size 35988 diff --git a/crates/egui_demo_lib/tests/snapshots/image_kerning/image_light_x1.png b/crates/egui_demo_lib/tests/snapshots/image_kerning/image_light_x1.png index 9ffc0480c..1085f9969 100644 --- a/crates/egui_demo_lib/tests/snapshots/image_kerning/image_light_x1.png +++ b/crates/egui_demo_lib/tests/snapshots/image_kerning/image_light_x1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a0dfae7e7098ade005adade7ab27336d4301294404d2ecdc0cd29748f5e4f7f5 -size 13102 +oid sha256:f8da0c2e37497968864a91fa6bef7c545c37791f4f9b788ea9a2f43dd4ac16b1 +size 16116 diff --git a/crates/egui_demo_lib/tests/snapshots/image_kerning/image_light_x2.png b/crates/egui_demo_lib/tests/snapshots/image_kerning/image_light_x2.png index b9474b1af..d89daa1c0 100644 --- a/crates/egui_demo_lib/tests/snapshots/image_kerning/image_light_x2.png +++ b/crates/egui_demo_lib/tests/snapshots/image_kerning/image_light_x2.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e9d6dca1082393f24c50b4ed2acf37bfc049d11d9a5e97ed8f69dc7a431039a7 -size 31917 +oid sha256:2a603fcb2eb97943d6be3239b91cacee093adcb55a6dd14af93a72fc8b3a61fa +size 39270 diff --git a/crates/egui_extras/CHANGELOG.md b/crates/egui_extras/CHANGELOG.md index 4a480c366..9d2bfd2d7 100644 --- a/crates/egui_extras/CHANGELOG.md +++ b/crates/egui_extras/CHANGELOG.md @@ -5,6 +5,10 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.34.1 - 2026-03-27 +Nothing new + + ## 0.34.0 - 2026-03-26 * Fix media type with optional parameters [#7739](https://github.com/emilk/egui/pull/7739) by [@leungkkf](https://github.com/leungkkf) * Fix: CodeTheme functions - ui and add builder [#7684](https://github.com/emilk/egui/pull/7684) by [@Its-Just-Nans](https://github.com/Its-Just-Nans) diff --git a/crates/egui_glow/CHANGELOG.md b/crates/egui_glow/CHANGELOG.md index d43a4be20..a33d24bec 100644 --- a/crates/egui_glow/CHANGELOG.md +++ b/crates/egui_glow/CHANGELOG.md @@ -6,6 +6,10 @@ Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.34.1 - 2026-03-27 +Nothing new + + ## 0.34.0 - 2026-03-26 * Turn `HarnessBuilder::with_options` into a proper builder method [#7697](https://github.com/emilk/egui/pull/7697) by [@emilk](https://github.com/emilk) * Paint mouse cursor in kittest snapshot images [#7721](https://github.com/emilk/egui/pull/7721) by [@emilk](https://github.com/emilk) diff --git a/crates/emath/CHANGELOG.md b/crates/emath/CHANGELOG.md index f82686d71..8c55b647f 100644 --- a/crates/emath/CHANGELOG.md +++ b/crates/emath/CHANGELOG.md @@ -6,6 +6,10 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.34.1 - 2026-03-27 +Nothing new + + ## 0.34.0 - 2026-03-26 Nothing new diff --git a/crates/epaint/CHANGELOG.md b/crates/epaint/CHANGELOG.md index fdbc3704c..0d577b120 100644 --- a/crates/epaint/CHANGELOG.md +++ b/crates/epaint/CHANGELOG.md @@ -5,6 +5,10 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.34.1 - 2026-03-27 +Nothing new + + ## 0.34.0 - 2026-03-26 ### ⭐ Added * Replace ab_glyph with Skrifa + vello_cpu; enable font hinting [#7694](https://github.com/emilk/egui/pull/7694) by [@valadaptive](https://github.com/valadaptive) diff --git a/crates/epaint_default_fonts/CHANGELOG.md b/crates/epaint_default_fonts/CHANGELOG.md index 925f6f89c..daf46d4de 100644 --- a/crates/epaint_default_fonts/CHANGELOG.md +++ b/crates/epaint_default_fonts/CHANGELOG.md @@ -5,6 +5,10 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.34.1 - 2026-03-27 +Nothing new + + ## 0.34.0 - 2026-03-26 * Fix emoji icon font [#7940](https://github.com/emilk/egui/pull/7940) by [@Jhynjhiruu](https://github.com/Jhynjhiruu)