diff --git a/.typos.toml b/.typos.toml index 7a243a3fd..3ae860ad9 100644 --- a/.typos.toml +++ b/.typos.toml @@ -5,6 +5,8 @@ [default.extend-words] ime = "ime" # Input Method Editor nknown = "nknown" # part of @55nknown username +isse = "isse" # part of @IsseW username +tye = "tye" # part of @tye-exe username ro = "ro" # read-only, also part of the username @Phen-Ro typ = "typ" # Often used because `type` is a keyword in Rust diff --git a/CHANGELOG.md b/CHANGELOG.md index 579121cda..2fc31e57b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,83 @@ 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.33.0 - 2025-10-09 - `egui::Plugin`, better kerning, kitdiff viewer +Highlights from this release: +- `egui::Plugin` a improved way to create and access egui plugins +- [kitdiff](https://github.com/rerun-io/kitdiff), a viewer for egui_kittest image snapshots (and a general image diff tool) +- better kerning + + +### Improved kerning +As a step towards using [parley](https://github.com/linebender/parley) for font rendering, @valadaptive has 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: + +![Oct-09-2025 16-21-58](https://github.com/user-attachments/assets/d4a17e87-5e98-40db-a85a-fa77fa77aceb) + + +### `egui::Plugin` trait +We've added a new trait-based plugin api, meant to replace `Context::on_begin_pass` and `Context::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 to `on_begin_pass` and `on_end_pass`, the `Plugin` trait now has a `input_hook` and `output_hook` which you can use to inspect / modify the `RawInput` / `FullOutput`. + +### kitdiff, a image diff viewer +At rerun we have a ton of snapshots. Some PRs will change most of them (e.g. [the](https://github.com/rerun-io/rerun/pull/11253/files) [one](https://rerun-io.github.io/kitdiff/?url=https://github.com/rerun-io/rerun/pull/11253/files) 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](https://rerun-io.github.io/kitdiff/). +You can use it locally via +- `kitdiff files .` will search for .new.png and .diff.png files +- `kitdiff git` will 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=` + +To install kitdiff run `cargo install --git https://github.com/rerun-io/kitdiff` + +Here is a video showing the kerning changes in kitdiff ([try it yourself](https://rerun-io.github.io/kitdiff/?url=https://github.com/rerun-io/rerun/pull/11253/files)): + +https://github.com/user-attachments/assets/74640af1-09ba-435a-9d0c-2cbeee140c8f + +### Migration guide +- `egui::Mutex` now has a timeout as a simple deadlock detection + - If you use a `egui::Mutex` in 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_rect` is deprecated + - In order to support safe areas, egui now has `viewport_rect` and `content_rect`. + - Update all usages of `screen_rect` to `content_rect`, unless you are sure that you want to draw outside the `safe area` (which would mean your Ui may be covered by notches, system ui, etc.) + + +### ⭐ Added +* New Plugin trait [#7385](https://github.com/emilk/egui/pull/7385) by [@lucasmerlin](https://github.com/lucasmerlin) +* Add `Ui::take_available_space()` helper function, which sets the Ui's minimum size to the available space [#7573](https://github.com/emilk/egui/pull/7573) by [@IsseW](https://github.com/IsseW) +* Add support for the safe area on iOS [#7578](https://github.com/emilk/egui/pull/7578) by [@irh](https://github.com/irh) +* Add `UiBuilder::global_scope` and `UiBuilder::id` [#7372](https://github.com/emilk/egui/pull/7372) by [@Icekey](https://github.com/Icekey) +* Add `emath::fast_midpoint` [#7435](https://github.com/emilk/egui/pull/7435) by [@emilk](https://github.com/emilk) +* Make the `hex_color` macro `const` [#7444](https://github.com/emilk/egui/pull/7444) by [@YgorSouza](https://github.com/YgorSouza) +* Add `SurrenderFocusOn` option [#7471](https://github.com/emilk/egui/pull/7471) by [@lucasmerlin](https://github.com/lucasmerlin) +* Add `Memory::move_focus` [#7476](https://github.com/emilk/egui/pull/7476) by [@darkwater](https://github.com/darkwater) +* Support on hover tooltip that is noninteractable even with interactable content [#5543](https://github.com/emilk/egui/pull/5543) by [@PPakalns](https://github.com/PPakalns) +* Add rotation gesture support for trackpad sources [#7453](https://github.com/emilk/egui/pull/7453) by [@thatcomputerguy0101](https://github.com/thatcomputerguy0101) + +### 🔧 Changed +* Document platform compatibility on `viewport::WindowLevel` and dependents [#7432](https://github.com/emilk/egui/pull/7432) by [@lkdm](https://github.com/lkdm) +* Deprecated `ImageButton` and removed `WidgetType::ImageButton` [#7483](https://github.com/emilk/egui/pull/7483) by [@Stelios-Kourlis](https://github.com/Stelios-Kourlis) +* More even text kerning [#7431](https://github.com/emilk/egui/pull/7431) by [@valadaptive](https://github.com/valadaptive) +* Increase default text size from 12.5 to 13.0 [#7521](https://github.com/emilk/egui/pull/7521) by [@emilk](https://github.com/emilk) +* Update accesskit to 0.21.0 [#7550](https://github.com/emilk/egui/pull/7550) by [@fundon](https://github.com/fundon) +* Update MSRV from 1.86 to 1.88 [#7579](https://github.com/emilk/egui/pull/7579) by [@Wumpf](https://github.com/Wumpf) +* Group AccessKit nodes by `Ui` [#7386](https://github.com/emilk/egui/pull/7386) by [@lucasmerlin](https://github.com/lucasmerlin) + +### 🔥 Removed +* Remove the `deadlock_detection` feature [#7497](https://github.com/emilk/egui/pull/7497) by [@lucasmerlin](https://github.com/lucasmerlin) +* Remove deprecated fields from `PlatformOutput` [#7523](https://github.com/emilk/egui/pull/7523) by [@emilk](https://github.com/emilk) +* Remove `log` feature [#7583](https://github.com/emilk/egui/pull/7583) by [@emilk](https://github.com/emilk) + +### 🐛 Fixed +* Enable `clippy::iter_over_hash_type` lint [#7421](https://github.com/emilk/egui/pull/7421) by [@emilk](https://github.com/emilk) +* Fixes sense issues in TextEdit when vertical alignment is used [#7436](https://github.com/emilk/egui/pull/7436) by [@RndUsr123](https://github.com/RndUsr123) +* Fix stuck menu when submenu vanishes [#7589](https://github.com/emilk/egui/pull/7589) by [@lucasmerlin](https://github.com/lucasmerlin) +* Change Spinner widget to account for width as well as height [#7560](https://github.com/emilk/egui/pull/7560) by [@bryceberger](https://github.com/bryceberger) + + ## 0.32.3 - 2025-09-12 * Preserve text format in truncated label tooltip [#7514](https://github.com/emilk/egui/pull/7514) [#7535](https://github.com/emilk/egui/pull/7535) by [@lucasmerlin](https://github.com/lucasmerlin) * Fix `TextEdit`'s in RTL layouts [#5547](https://github.com/emilk/egui/pull/5547) by [@zakarumych](https://github.com/zakarumych) diff --git a/Cargo.lock b/Cargo.lock index c04f66c4b..e6cd1533c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1248,7 +1248,7 @@ checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" [[package]] name = "ecolor" -version = "0.32.3" +version = "0.33.0" dependencies = [ "bytemuck", "cint", @@ -1260,7 +1260,7 @@ dependencies = [ [[package]] name = "eframe" -version = "0.32.3" +version = "0.33.0" dependencies = [ "ahash", "bytemuck", @@ -1299,7 +1299,7 @@ dependencies = [ [[package]] name = "egui" -version = "0.32.3" +version = "0.33.0" dependencies = [ "accesskit", "ahash", @@ -1319,7 +1319,7 @@ dependencies = [ [[package]] name = "egui-wgpu" -version = "0.32.3" +version = "0.33.0" dependencies = [ "ahash", "bytemuck", @@ -1337,7 +1337,7 @@ dependencies = [ [[package]] name = "egui-winit" -version = "0.32.3" +version = "0.33.0" dependencies = [ "accesskit_winit", "arboard", @@ -1360,7 +1360,7 @@ dependencies = [ [[package]] name = "egui_demo_app" -version = "0.32.3" +version = "0.33.0" dependencies = [ "accesskit", "accesskit_consumer", @@ -1390,7 +1390,7 @@ dependencies = [ [[package]] name = "egui_demo_lib" -version = "0.32.3" +version = "0.33.0" dependencies = [ "chrono", "criterion", @@ -1407,7 +1407,7 @@ dependencies = [ [[package]] name = "egui_extras" -version = "0.32.3" +version = "0.33.0" dependencies = [ "ahash", "chrono", @@ -1426,7 +1426,7 @@ dependencies = [ [[package]] name = "egui_glow" -version = "0.32.3" +version = "0.33.0" dependencies = [ "bytemuck", "document-features", @@ -1445,7 +1445,7 @@ dependencies = [ [[package]] name = "egui_kittest" -version = "0.32.3" +version = "0.33.0" dependencies = [ "dify", "document-features", @@ -1463,7 +1463,7 @@ dependencies = [ [[package]] name = "egui_tests" -version = "0.32.3" +version = "0.33.0" dependencies = [ "egui", "egui_extras", @@ -1493,7 +1493,7 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "emath" -version = "0.32.3" +version = "0.33.0" dependencies = [ "bytemuck", "document-features", @@ -1591,7 +1591,7 @@ dependencies = [ [[package]] name = "epaint" -version = "0.32.3" +version = "0.33.0" dependencies = [ "ab_glyph", "ahash", @@ -1613,7 +1613,7 @@ dependencies = [ [[package]] name = "epaint_default_fonts" -version = "0.32.3" +version = "0.33.0" [[package]] name = "equivalent" @@ -2507,8 +2507,9 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" [[package]] name = "kittest" -version = "0.2.0" -source = "git+https://github.com/rerun-io/kittest.git#028d5311f475e64839bcbc04f259a0d20532d2c1" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01fd6dd2cce251a360101038acb9334e3a50cd38cd02fefddbf28aa975f043c8" dependencies = [ "accesskit", "accesskit_consumer", @@ -3424,7 +3425,7 @@ checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" [[package]] name = "popups" -version = "0.32.3" +version = "0.33.0" dependencies = [ "eframe", "env_logger", @@ -5747,7 +5748,7 @@ checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" [[package]] name = "xtask" -version = "0.32.3" +version = "0.33.0" [[package]] name = "yaml-rust" diff --git a/Cargo.toml b/Cargo.toml index 46ae967a2..7aaa81139 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,7 +24,7 @@ members = [ edition = "2024" license = "MIT OR Apache-2.0" rust-version = "1.88" -version = "0.32.3" +version = "0.33.0" [profile.release] @@ -55,18 +55,18 @@ opt-level = 2 [workspace.dependencies] -emath = { version = "0.32.3", path = "crates/emath", default-features = false } -ecolor = { version = "0.32.3", path = "crates/ecolor", default-features = false } -epaint = { version = "0.32.3", path = "crates/epaint", default-features = false } -epaint_default_fonts = { version = "0.32.3", path = "crates/epaint_default_fonts" } -egui = { version = "0.32.3", path = "crates/egui", default-features = false } -egui-winit = { version = "0.32.3", path = "crates/egui-winit", default-features = false } -egui_extras = { version = "0.32.3", path = "crates/egui_extras", default-features = false } -egui-wgpu = { version = "0.32.3", path = "crates/egui-wgpu", default-features = false } -egui_demo_lib = { version = "0.32.3", path = "crates/egui_demo_lib", default-features = false } -egui_glow = { version = "0.32.3", path = "crates/egui_glow", default-features = false } -egui_kittest = { version = "0.32.3", path = "crates/egui_kittest", default-features = false } -eframe = { version = "0.32.3", path = "crates/eframe", default-features = false } +emath = { version = "0.33.0", path = "crates/emath", default-features = false } +ecolor = { version = "0.33.0", path = "crates/ecolor", default-features = false } +epaint = { version = "0.33.0", path = "crates/epaint", default-features = false } +epaint_default_fonts = { version = "0.33.0", path = "crates/epaint_default_fonts" } +egui = { version = "0.33.0", path = "crates/egui", default-features = false } +egui-winit = { version = "0.33.0", path = "crates/egui-winit", default-features = false } +egui_extras = { version = "0.33.0", path = "crates/egui_extras", default-features = false } +egui-wgpu = { version = "0.33.0", path = "crates/egui-wgpu", default-features = false } +egui_demo_lib = { version = "0.33.0", path = "crates/egui_demo_lib", default-features = false } +egui_glow = { version = "0.33.0", path = "crates/egui_glow", default-features = false } +egui_kittest = { version = "0.33.0", path = "crates/egui_kittest", default-features = false } +eframe = { version = "0.33.0", path = "crates/eframe", default-features = false } accesskit = "0.21.1" accesskit_consumer = "0.30.1" @@ -97,7 +97,7 @@ glutin-winit = { version = "0.5.0", default-features = false } home = "0.5.9" image = { version = "0.25.6", default-features = false } js-sys = "0.3.77" -kittest = { version = "0.2.0", git = "https://github.com/rerun-io/kittest.git" } +kittest = { version = "0.3.0" } log = { version = "0.4.28", features = ["std"] } memoffset = "0.9.1" mimalloc = "0.1.48" diff --git a/RELEASES.md b/RELEASES.md index 1634ad13d..cb75c3da8 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -49,6 +49,7 @@ We don't update the MSRV in a patch release, unless we really, really need to. ## Preparation * [ ] make sure there are no important unmerged PRs +* [ ] Ensure we don't have any patch/git dependencies (e.g. kittest) * [ ] Create a branch called `release-0.xx.0` and open a PR for it * [ ] run `scripts/generate_example_screenshots.sh` if needed * [ ] write a short release note that fits in a bluesky post diff --git a/crates/ecolor/CHANGELOG.md b/crates/ecolor/CHANGELOG.md index 1c83db637..6996d838f 100644 --- a/crates/ecolor/CHANGELOG.md +++ b/crates/ecolor/CHANGELOG.md @@ -6,6 +6,12 @@ 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.33.0 - 2025-10-09 +* Align `Color32` to 4 bytes [#7318](https://github.com/emilk/egui/pull/7318) by [@anti-social](https://github.com/anti-social) +* Make the `hex_color` macro `const` [#7444](https://github.com/emilk/egui/pull/7444) by [@YgorSouza](https://github.com/YgorSouza) +* Update MSRV from 1.86 to 1.88 [#7579](https://github.com/emilk/egui/pull/7579) by [@Wumpf](https://github.com/Wumpf) + + ## 0.32.3 - 2025-09-12 Nothing new diff --git a/crates/eframe/CHANGELOG.md b/crates/eframe/CHANGELOG.md index fec24aa79..142634d02 100644 --- a/crates/eframe/CHANGELOG.md +++ b/crates/eframe/CHANGELOG.md @@ -7,6 +7,24 @@ 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.33.0 - 2025-10-09 +### ⭐ Added +* Add an option to limit the repaint rate in the web runner [#7482](https://github.com/emilk/egui/pull/7482) by [@s-nie](https://github.com/s-nie) +* Add rotation gesture support for trackpad sources [#7453](https://github.com/emilk/egui/pull/7453) by [@thatcomputerguy0101](https://github.com/thatcomputerguy0101) +* Add support for the safe area on iOS [#7578](https://github.com/emilk/egui/pull/7578) by [@irh](https://github.com/irh) + +### 🔧 Changed +* Replace `winapi` with `windows-sys` crate [#7416](https://github.com/emilk/egui/pull/7416) by [@unlimitedsola](https://github.com/unlimitedsola) +* Prevent default action on command-comma in eframe web [#7547](https://github.com/emilk/egui/pull/7547) by [@emilk](https://github.com/emilk) +* Warn if `DYLD_LIBRARY_PATH` is set and we find no wgpu adapter [#7572](https://github.com/emilk/egui/pull/7572) by [@emilk](https://github.com/emilk) +* Update MSRV from 1.86 to 1.88 [#7579](https://github.com/emilk/egui/pull/7579) by [@Wumpf](https://github.com/Wumpf) + +### 🐛 Fixed +* Properly end winit event loop [#7565](https://github.com/emilk/egui/pull/7565) by [@tye-exe](https://github.com/tye-exe) +* Fix eframe window not being focused on mac on startup [#7593](https://github.com/emilk/egui/pull/7593) by [@emilk](https://github.com/emilk) +* Fix black flash on start in glow eframe backend [#7616](https://github.com/emilk/egui/pull/7616) by [@lucasmerlin](https://github.com/lucasmerlin) + + ## 0.32.3 - 2025-09-12 Nothing new diff --git a/crates/egui-wgpu/CHANGELOG.md b/crates/egui-wgpu/CHANGELOG.md index 2b50ce27d..5f4fd78c1 100644 --- a/crates/egui-wgpu/CHANGELOG.md +++ b/crates/egui-wgpu/CHANGELOG.md @@ -6,6 +6,16 @@ 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.33.0 - 2025-10-09 +### 🔧 Changed +* Update wgpu to 26 and wasm-bindgen to 0.2.100 [#7540](https://github.com/emilk/egui/pull/7540) by [@Kumpelinus](https://github.com/Kumpelinus) +* Warn if `DYLD_LIBRARY_PATH` is set and we find no wgpu adapter [#7572](https://github.com/emilk/egui/pull/7572) by [@emilk](https://github.com/emilk) +* Update MSRV from 1.86 to 1.88 [#7579](https://github.com/emilk/egui/pull/7579) by [@Wumpf](https://github.com/Wumpf) +* Update wgpu to 27.0.0 [#7580](https://github.com/emilk/egui/pull/7580) by [@Wumpf](https://github.com/Wumpf) +* Create `egui_wgpu::RendererOptions` [#7601](https://github.com/emilk/egui/pull/7601) by [@emilk](https://github.com/emilk) +* Use software texture filtering in kittest [#7602](https://github.com/emilk/egui/pull/7602) by [@emilk](https://github.com/emilk) + + ## 0.32.3 - 2025-09-12 Nothing new diff --git a/crates/egui-winit/CHANGELOG.md b/crates/egui-winit/CHANGELOG.md index 5e06ddedf..e6b094502 100644 --- a/crates/egui-winit/CHANGELOG.md +++ b/crates/egui-winit/CHANGELOG.md @@ -5,6 +5,21 @@ 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.33.0 - 2025-10-09 +### ⭐ Added +* Add rotation gesture support for trackpad sources [#7453](https://github.com/emilk/egui/pull/7453) by [@thatcomputerguy0101](https://github.com/thatcomputerguy0101) +* Add support for the safe area on iOS [#7578](https://github.com/emilk/egui/pull/7578) by [@irh](https://github.com/irh) + +### 🔧 Changed +* Update MSRV from 1.86 to 1.88 [#7579](https://github.com/emilk/egui/pull/7579) by [@Wumpf](https://github.com/Wumpf) +* Create `egui_wgpu::RendererOptions` [#7601](https://github.com/emilk/egui/pull/7601) by [@emilk](https://github.com/emilk) + +### 🐛 Fixed +* Fix build error in egui-winit with profiling enabled [#7557](https://github.com/emilk/egui/pull/7557) by [@torokati44](https://github.com/torokati44) +* Properly end winit event loop [#7565](https://github.com/emilk/egui/pull/7565) by [@tye-exe](https://github.com/tye-exe) +* Fix eframe window not being focused on mac on startup [#7593](https://github.com/emilk/egui/pull/7593) by [@emilk](https://github.com/emilk) + + ## 0.32.3 - 2025-09-12 Nothing new diff --git a/crates/egui_extras/CHANGELOG.md b/crates/egui_extras/CHANGELOG.md index cdabaffd4..726a1759c 100644 --- a/crates/egui_extras/CHANGELOG.md +++ b/crates/egui_extras/CHANGELOG.md @@ -5,6 +5,13 @@ 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.33.0 - 2025-10-09 +* Fix: use unique id for resize columns in `Table` [#7414](https://github.com/emilk/egui/pull/7414) by [@zezic](https://github.com/zezic) +* Feat: Add serde serialization to SyntectSettings [#7506](https://github.com/emilk/egui/pull/7506) by [@bircni](https://github.com/bircni) +* Make individual egui_extras image loaders public [#7551](https://github.com/emilk/egui/pull/7551) by [@lucasmerlin](https://github.com/lucasmerlin) +* Update MSRV from 1.86 to 1.88 [#7579](https://github.com/emilk/egui/pull/7579) by [@Wumpf](https://github.com/Wumpf) + + ## 0.32.3 - 2025-09-12 * Fix deadlock in `FileLoader` and `EhttpLoader` [#7515](https://github.com/emilk/egui/pull/7515) by [@emilk](https://github.com/emilk) diff --git a/crates/egui_glow/CHANGELOG.md b/crates/egui_glow/CHANGELOG.md index 1cd8dee7d..34c2133e9 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.33.0 - 2025-10-09 +### ⭐ Added +* Kittest: Add `UPDATE_SNAPSHOTS=force` [#7508](https://github.com/emilk/egui/pull/7508) by [@emilk](https://github.com/emilk) +* Add `egui_kittest::HarnessBuilder::with_os` and set the default to `Nix` [#7493](https://github.com/emilk/egui/pull/7493) by [@lucasmerlin](https://github.com/lucasmerlin) +* Add `Harness::debug_open_snapshot` helper [#7590](https://github.com/emilk/egui/pull/7590) by [@lucasmerlin](https://github.com/lucasmerlin) + +### 🔧 Changed +* Include popups and tooltips in `Harness::fit_contents` [#7556](https://github.com/emilk/egui/pull/7556) by [@oxkitsune](https://github.com/oxkitsune) +* Adjust when we write .diff and .new snapshot images [#7571](https://github.com/emilk/egui/pull/7571) by [@emilk](https://github.com/emilk) +* Update MSRV from 1.86 to 1.88 [#7579](https://github.com/emilk/egui/pull/7579) by [@Wumpf](https://github.com/Wumpf) +* `Harness`: Add `remove_cursor`, `event` and `event_modifiers` [#7607](https://github.com/emilk/egui/pull/7607) by [@lucasmerlin](https://github.com/lucasmerlin) +* Use software texture filtering in kittest [#7602](https://github.com/emilk/egui/pull/7602) by [@emilk](https://github.com/emilk) +* Write .new.png file if snapshot is missing [#7610](https://github.com/emilk/egui/pull/7610) by [@lucasmerlin](https://github.com/lucasmerlin) + +### 🔥 Removed +* Remove deprecated `Harness::wgpu_snapshot` and related fns [#7504](https://github.com/emilk/egui/pull/7504) by [@bircni](https://github.com/bircni) + + ## 0.32.3 - 2025-09-12 Nothing new diff --git a/crates/emath/CHANGELOG.md b/crates/emath/CHANGELOG.md new file mode 100644 index 000000000..b7e0fec1f --- /dev/null +++ b/crates/emath/CHANGELOG.md @@ -0,0 +1,13 @@ +# Changelog for emath +All notable changes to the `emath` crate will be noted in this file. + + +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.33.0 - 2025-10-09 +* Add `emath::fast_midpoint` [#7435](https://github.com/emilk/egui/pull/7435) by [@emilk](https://github.com/emilk) +* Generate changelogs for emath [#7513](https://github.com/emilk/egui/pull/7513) by [@lucasmerlin](https://github.com/lucasmerlin) +* Improve `OrderedFloat` hash performance [#7512](https://github.com/emilk/egui/pull/7512) by [@valadaptive](https://github.com/valadaptive) +* Update MSRV from 1.86 to 1.88 [#7579](https://github.com/emilk/egui/pull/7579) by [@Wumpf](https://github.com/Wumpf) + diff --git a/crates/epaint/CHANGELOG.md b/crates/epaint/CHANGELOG.md index 3949eb59d..0524b87c0 100644 --- a/crates/epaint/CHANGELOG.md +++ b/crates/epaint/CHANGELOG.md @@ -5,6 +5,14 @@ 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.33.0 - 2025-10-09 +* Remove the `deadlock_detection` feature [#7497](https://github.com/emilk/egui/pull/7497) by [@lucasmerlin](https://github.com/lucasmerlin) +* More even text kerning [#7431](https://github.com/emilk/egui/pull/7431) by [@valadaptive](https://github.com/valadaptive) +* Return `0.0` if font not found in `glyph_width` instead of panic [#7559](https://github.com/emilk/egui/pull/7559) by [@lucasmerlin](https://github.com/lucasmerlin) +* Update MSRV from 1.86 to 1.88 [#7579](https://github.com/emilk/egui/pull/7579) by [@Wumpf](https://github.com/Wumpf) +* Remove `log` feature [#7583](https://github.com/emilk/egui/pull/7583) by [@emilk](https://github.com/emilk) + + ## 0.32.3 - 2025-09-12 * Optimize `Mesh::add_rect_with_uv` [#7511](https://github.com/emilk/egui/pull/7511) by [@valadaptive](https://github.com/valadaptive) diff --git a/crates/epaint_default_fonts/CHANGELOG.md b/crates/epaint_default_fonts/CHANGELOG.md index 8fe164f66..bb39e4784 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.33.0 - 2025-10-09 +Nothing new + + ## 0.32.3 - 2025-09-12 Nothing new diff --git a/examples/confirm_exit/screenshot.png b/examples/confirm_exit/screenshot.png index 33debffe2..372b6abc1 100644 --- a/examples/confirm_exit/screenshot.png +++ b/examples/confirm_exit/screenshot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0175461bbd86fffaad3538ea8dcec5001c7511aa201aa37b7736e7d2010b1522 -size 3483 +oid sha256:79ee820be9374c44e684373acb62fe7bcfaa2347346d1aed8083a706f6cae8c9 +size 3798 diff --git a/examples/custom_3d_glow/screenshot.png b/examples/custom_3d_glow/screenshot.png index 19bf33d64..1840bca3f 100644 --- a/examples/custom_3d_glow/screenshot.png +++ b/examples/custom_3d_glow/screenshot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b5f36e1df27007b19cf56771145a667b4410dc9f4697afe629a2b42518640d62 -size 26531 +oid sha256:c02ea6a9b0f2d215255b5550237f3d9aa43b257849591cc8a1cd206f401c2747 +size 28455 diff --git a/examples/custom_font/screenshot.png b/examples/custom_font/screenshot.png index e7a20348d..9939d8756 100644 --- a/examples/custom_font/screenshot.png +++ b/examples/custom_font/screenshot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a5bdb725a17bb6f8871ee95ae8cf46e55055083b0be14716cccd17615c863c81 -size 6179 +oid sha256:c13f5b5f70c194316bbb116700619fd1611f423ae86244d1668f21ba622aaa45 +size 7104 diff --git a/examples/custom_font_style/screenshot.png b/examples/custom_font_style/screenshot.png index 09f76bd13..7e7e8f709 100644 --- a/examples/custom_font_style/screenshot.png +++ b/examples/custom_font_style/screenshot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:044417e2259f58b8b71c44c49a60fe928e7faac1616d76eba7e156764c1bc2b2 -size 88583 +oid sha256:3d705d757b1689f3730a673988ffd2b3f8c1729c8c84b4236cd72593420ff0bd +size 109694 diff --git a/examples/custom_window_frame/screenshot.png b/examples/custom_window_frame/screenshot.png index bb327544a..81e28f07c 100644 --- a/examples/custom_window_frame/screenshot.png +++ b/examples/custom_window_frame/screenshot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1eba63346816dfbcf90c6b87e8df8b2de989d33359fda91041a813c474f85cc1 -size 17981 +oid sha256:8d153d2468d7099f2da099c5ea65329196a83baf112b292de1c5a6ce758dfced +size 17635 diff --git a/examples/external_eventloop/screenshot.png b/examples/external_eventloop/screenshot.png index 1236f4f84..b5b2a568c 100644 --- a/examples/external_eventloop/screenshot.png +++ b/examples/external_eventloop/screenshot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f2630b0cfe5b044698e9f9533752e23a130e1984dfa0123645bc040d412dba5 -size 8636 +oid sha256:52c47927d0c4caace5e5489cb3c6e4880f4f29b34378e072222ad8492225fef0 +size 9366 diff --git a/examples/file_dialog/screenshot.png b/examples/file_dialog/screenshot.png index 7a1cc0417..2858a9d55 100644 --- a/examples/file_dialog/screenshot.png +++ b/examples/file_dialog/screenshot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb8e0b6d09f6d4c598f4a4d91f849a6221acbfaab55711f890b03d551967d3a8 -size 3996 +oid sha256:93689f54b621ab0e978a123492ba64615e67815c39df7e3869f233cdd16f6ded +size 5558 diff --git a/examples/hello_world_simple/screenshot.png b/examples/hello_world_simple/screenshot.png index 546366aea..0d27bc056 100644 --- a/examples/hello_world_simple/screenshot.png +++ b/examples/hello_world_simple/screenshot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7be893df63405f3e86d1eb280083914a7ac63bb21fb8dce47e0476fb48ec9bd8 -size 8293 +oid sha256:7cde6a351fbcf5a5d3b5474353c627a9c93801563880b7ff41dfa025da3c6d37 +size 8587 diff --git a/examples/images/screenshot.png b/examples/images/screenshot.png index 8dd58f2bd..688345247 100644 --- a/examples/images/screenshot.png +++ b/examples/images/screenshot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:329972caa792f9e3a7caf207f41c35e1e26f0d09067e9282bf6538d560f13f7c -size 79617 +oid sha256:aab48522ee4e3382982a0ee558a78e7b501ab4205c793a66078c6e74631bd7a5 +size 79718 diff --git a/examples/keyboard_events/screenshot.png b/examples/keyboard_events/screenshot.png index 3048a2c5c..973827481 100644 --- a/examples/keyboard_events/screenshot.png +++ b/examples/keyboard_events/screenshot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:45fce5a660dbca5a2ecca2fa93fa99b67dce7b03ad583fb5d44d2642d052a80c -size 8603 +oid sha256:c4b314fc336e6cf027594b3ca123318bc4772fb611486170fd370cfa6a56edc5 +size 9599 diff --git a/examples/popups/screenshot.png b/examples/popups/screenshot.png index 54b1df8c7..c650c1466 100644 --- a/examples/popups/screenshot.png +++ b/examples/popups/screenshot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e082670ac9daaee83e593c5dab0e3fccc6f6a4b824071f4983f7f51da144cad9 -size 17893 +oid sha256:fb79ed9f98a4e5b452f52c9d5a857126481aad7c98e871895b8eea90d89c61c7 +size 20053 diff --git a/examples/puffin_profiler/screenshot.png b/examples/puffin_profiler/screenshot.png index fba55018a..616b95e09 100644 --- a/examples/puffin_profiler/screenshot.png +++ b/examples/puffin_profiler/screenshot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0787ac28dc8a0ca979f9be5f20c3fb1e2e1c5733add61d201bfe965590afe062 -size 25999 +oid sha256:bfc5dcdf4e4a606cc5b656cfe61d9def9ce1a2eb515003a6a339fefc9335079e +size 29711 diff --git a/examples/user_attention/screenshot.png b/examples/user_attention/screenshot.png index eaaeda498..e38a84958 100644 --- a/examples/user_attention/screenshot.png +++ b/examples/user_attention/screenshot.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1d723a89d05be6e254846b8999041c54d5142baefcb8ad8c1effa5a50bae7791 -size 6578 +oid sha256:d3b56bdd917a8f789f5bad954bbd37fc27ddec404025dd0608894e5d50e9f37f +size 7375 diff --git a/scripts/publish_crates.sh b/scripts/publish_crates.sh index c2f2fc24e..a8fb54c53 100755 --- a/scripts/publish_crates.sh +++ b/scripts/publish_crates.sh @@ -9,6 +9,6 @@ (cd crates/egui_glow && cargo publish --quiet) && echo "✅ egui_glow" (cd crates/egui-wgpu && cargo publish --quiet) && echo "✅ egui-wgpu" (cd crates/eframe && cargo publish --quiet) && echo "✅ eframe" -(cd crates/egui_kittest && cargo publish --quiet) && echo "✅ egui_kittest" (cd crates/egui_extras && cargo publish --quiet) && echo "✅ egui_extras" +(cd crates/egui_kittest && cargo publish --quiet) && echo "✅ egui_kittest" (cd crates/egui_demo_lib && cargo publish --quiet) && echo "✅ egui_demo_lib"