You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: CHANGELOG.md
+82
Original file line number
Diff line number
Diff line change
@@ -14,6 +14,88 @@ This file is updated upon each release.
14
14
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
15
15
16
16
17
+
## 0.31.0 - 2025-02-04 - Scene container, improved rendering quality
18
+
19
+
### Highlights ✨
20
+
21
+
#### Scene container
22
+
This release adds the `Scene` container to egui. It is a pannable, zoomable canvas that can contain `Widget`s and child `Ui`s.
23
+
This will make it easier to e.g. implement a graph editor.
In order to pave the path for more complex and customizable styling solutions, we've reduced the size of
42
+
`CornerRadius`, `Margin` and `Shadow` values to `i8` and `u8`.
43
+
44
+
45
+
46
+
### Migration guide
47
+
- Add a `StrokeKind` to all your `Painter::rect` calls [#5648](https://github.com/emilk/egui/pull/5648)
48
+
-`StrokeKind::default` was removed, since the 'normal' value depends on the context [#5658](https://github.com/emilk/egui/pull/5658)
49
+
- You probably want to use `StrokeKind::Inside` when drawing rectangles
50
+
- You probably want to use `StrokeKind::Middle` when drawing open paths
51
+
- Rename `Rounding` to `CornerRadius`[#5673](https://github.com/emilk/egui/pull/5673)
52
+
-`CornerRadius`, `Margin` and `Shadow` have been updated to use `i8` and `u8`[#5563](https://github.com/emilk/egui/pull/5563), [#5567](https://github.com/emilk/egui/pull/5567), [#5568](https://github.com/emilk/egui/pull/5568)
53
+
- Remove the .0 from your values
54
+
- Cast dynamic values with `as i8` / `as u8` or `as _` if you want Rust to infer the type
55
+
- Rust will do a 'saturating' cast, so if your `f32` value is bigger than `127` it will be clamped to `127`
- Prefer to use the builder methods to create it instead of initializing it directly
58
+
-`Frame` now takes the `Stroke` width into account for its sizing, so check all views of your app to make sure they still look right.
59
+
Read the [PR](https://github.com/emilk/egui/pull/5575) for more info.
60
+
61
+
### ⭐ Added
62
+
* Add `egui::Scene` for panning/zooming a `Ui`[#5505](https://github.com/emilk/egui/pull/5505) by [@grtlr](https://github.com/grtlr)
63
+
* Animated WebP support [#5470](https://github.com/emilk/egui/pull/5470) by [@Aely0](https://github.com/Aely0)
64
+
* Improve tessellation quality [#5669](https://github.com/emilk/egui/pull/5669) by [@emilk](https://github.com/emilk)
65
+
* Add `OutputCommand` for copying text and opening URL:s[#5532](https://github.com/emilk/egui/pull/5532) by [@emilk](https://github.com/emilk)
66
+
* Add `Context::copy_image`[#5533](https://github.com/emilk/egui/pull/5533) by [@emilk](https://github.com/emilk)
67
+
* Add `WidgetType::Image` and `Image::alt_text`[#5534](https://github.com/emilk/egui/pull/5534) by [@lucasmerlin](https://github.com/lucasmerlin)
68
+
* Add `epaint::Brush` for controlling `RectShape` texturing [#5565](https://github.com/emilk/egui/pull/5565) by [@emilk](https://github.com/emilk)
69
+
* Implement `nohash_hasher::IsEnabled` for `Id`[#5628](https://github.com/emilk/egui/pull/5628) by [@emilk](https://github.com/emilk)
70
+
* Add keys for `!`, `{`, `}`[#5548](https://github.com/emilk/egui/pull/5548) by [@Its-Just-Nans](https://github.com/Its-Just-Nans)
71
+
* Add `RectShape::stroke_kind ` to control if stroke is inside/outside/centered [#5647](https://github.com/emilk/egui/pull/5647) by [@emilk](https://github.com/emilk)
72
+
73
+
### 🔧 Changed
74
+
* ⚠️ `Frame` now includes stroke width as part of padding [#5575](https://github.com/emilk/egui/pull/5575) by [@emilk](https://github.com/emilk)
75
+
* Rename `Rounding` to `CornerRadius`[#5673](https://github.com/emilk/egui/pull/5673) by [@emilk](https://github.com/emilk)
76
+
* Require a `StrokeKind` when painting rectangles with strokes [#5648](https://github.com/emilk/egui/pull/5648) by [@emilk](https://github.com/emilk)
77
+
* Round widget coordinates to even multiple of 1/32 [#5517](https://github.com/emilk/egui/pull/5517) by [@emilk](https://github.com/emilk)
78
+
* Make all lines and rectangles crisp [#5518](https://github.com/emilk/egui/pull/5518) by [@emilk](https://github.com/emilk)
79
+
* Tweak window resize handles [#5524](https://github.com/emilk/egui/pull/5524) by [@emilk](https://github.com/emilk)
80
+
81
+
### 🔥 Removed
82
+
* Remove `egui::special_emojis::TWITTER`[#5622](https://github.com/emilk/egui/pull/5622) by [@emilk](https://github.com/emilk)
83
+
* Remove `StrokeKind::default`[#5658](https://github.com/emilk/egui/pull/5658) by [@emilk](https://github.com/emilk)
84
+
85
+
### 🐛 Fixed
86
+
* Use correct minimum version of `profiling` crate [#5494](https://github.com/emilk/egui/pull/5494) by [@lucasmerlin](https://github.com/lucasmerlin)
87
+
* Fix interactive widgets sometimes being incorrectly marked as hovered [#5523](https://github.com/emilk/egui/pull/5523) by [@emilk](https://github.com/emilk)
88
+
* Fix panic due to non-total ordering in `Area::compare_order()`[#5569](https://github.com/emilk/egui/pull/5569) by [@HactarCE](https://github.com/HactarCE)
89
+
* Fix hovering through custom menu button [#5555](https://github.com/emilk/egui/pull/5555) by [@M4tthewDE](https://github.com/M4tthewDE)
90
+
91
+
### 🚀 Performance
92
+
* Use `u8` in `CornerRadius`, and introduce `CornerRadiusF32`[#5563](https://github.com/emilk/egui/pull/5563) by [@emilk](https://github.com/emilk)
93
+
* Store `Margin` using `i8` to reduce its size [#5567](https://github.com/emilk/egui/pull/5567) by [@emilk](https://github.com/emilk)
94
+
* Shrink size of `Shadow` by using `i8/u8` instead of `f32`[#5568](https://github.com/emilk/egui/pull/5568) by [@emilk](https://github.com/emilk)
95
+
* Avoid allocations for loader cache lookup [#5584](https://github.com/emilk/egui/pull/5584) by [@mineichen](https://github.com/mineichen)
96
+
* Use bitfield instead of bools in `Response` and `Sense`[#5556](https://github.com/emilk/egui/pull/5556) by [@polwel](https://github.com/polwel)
97
+
98
+
17
99
## 0.30.0 - 2024-12-16 - Modals and better layer support
Copy file name to clipboardexpand all lines: crates/ecolor/CHANGELOG.md
+4
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,10 @@ This file is updated upon each release.
6
6
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
7
7
8
8
9
+
## 0.31.0 - 2025-02-04
10
+
* Add `Color32::CYAN` and `Color32::MAGENTA`[#5663](https://github.com/emilk/egui/pull/5663) by [@juancampa](https://github.com/juancampa)
11
+
12
+
9
13
## 0.30.0 - 2024-12-16
10
14
* Use boxed slice for lookup table to avoid stack overflow [#5212](https://github.com/emilk/egui/pull/5212) by [@YgorSouza](https://github.com/YgorSouza)
11
15
* Add `Color32::mul`[#5437](https://github.com/emilk/egui/pull/5437) by [@emilk](https://github.com/emilk)
Copy file name to clipboardexpand all lines: crates/eframe/CHANGELOG.md
+8
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,14 @@ This file is updated upon each release.
7
7
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
8
8
9
9
10
+
## 0.31.0 - 2025-02-04
11
+
* Web: Fix incorrect scale when moving to screen with new DPI [#5631](https://github.com/emilk/egui/pull/5631) by [@emilk](https://github.com/emilk)
12
+
* Re-enable IME support on Linux [#5198](https://github.com/emilk/egui/pull/5198) by [@YgorSouza](https://github.com/YgorSouza)
13
+
* Serialize window maximized state in `WindowSettings`[#5554](https://github.com/emilk/egui/pull/5554) by [@landaire](https://github.com/landaire)
14
+
* Save state on suspend on Android and iOS [#5601](https://github.com/emilk/egui/pull/5601) by [@Pandicon](https://github.com/Pandicon)
15
+
* Eframe web: forward cmd-S/O to egui app (stop default browser action) [#5655](https://github.com/emilk/egui/pull/5655) by [@emilk](https://github.com/emilk)
16
+
17
+
10
18
## 0.30.0 - 2024-12-16 - Android support
11
19
NOTE: you now need to enable the `wayland` or `x11` features to get Linux support, including getting it to work on most CI systems.
Copy file name to clipboardexpand all lines: crates/egui-wgpu/CHANGELOG.md
+6
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,12 @@ This file is updated upon each release.
6
6
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
7
7
8
8
9
+
## 0.31.0 - 2025-02-04
10
+
* Upgrade to wgpu 24 [#5610](https://github.com/emilk/egui/pull/5610) by [@torokati44](https://github.com/torokati44)
11
+
* Extend `WgpuSetup`, `egui_kittest` now prefers software rasterizers for testing [#5506](https://github.com/emilk/egui/pull/5506) by [@Wumpf](https://github.com/Wumpf)
12
+
* Wgpu resources are no longer wrapped in `Arc` (since they are now `Clone`) [#5612](https://github.com/emilk/egui/pull/5612) by [@Wumpf](https://github.com/Wumpf)
13
+
14
+
9
15
## 0.30.0 - 2024-12-16
10
16
* Fix docs.rs build [#5204](https://github.com/emilk/egui/pull/5204) by [@lucasmerlin](https://github.com/lucasmerlin)
11
17
* Free textures after submitting queue instead of before with wgpu renderer [#5226](https://github.com/emilk/egui/pull/5226) by [@Rusty-Cube](https://github.com/Rusty-Cube)
Copy file name to clipboardexpand all lines: crates/egui-winit/CHANGELOG.md
+5
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,11 @@ This file is updated upon each release.
5
5
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
6
6
7
7
8
+
## 0.31.0 - 2025-02-04
9
+
* Re-enable IME support on Linux [#5198](https://github.com/emilk/egui/pull/5198) by [@YgorSouza](https://github.com/YgorSouza)
10
+
* Update to winit 0.30.7 [#5516](https://github.com/emilk/egui/pull/5516) by [@emilk](https://github.com/emilk)
11
+
12
+
8
13
## 0.30.0 - 2024-12-16
9
14
* iOS: Support putting UI next to the dynamic island [#5211](https://github.com/emilk/egui/pull/5211) by [@frederik-uni](https://github.com/frederik-uni)
10
15
* Remove implicit `accesskit_winit` feature [#5316](https://github.com/emilk/egui/pull/5316) by [@waywardmonkeys](https://github.com/waywardmonkeys)
Copy file name to clipboardexpand all lines: crates/egui_extras/CHANGELOG.md
+6
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,12 @@ This file is updated upon each release.
5
5
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
6
6
7
7
8
+
## 0.31.0 - 2025-02-04
9
+
* Animated WebP support [#5470](https://github.com/emilk/egui/pull/5470), [#5586](https://github.com/emilk/egui/pull/5586) by [@Aely0](https://github.com/Aely0)
10
+
* Make image extension check case-insensitive [#5501](https://github.com/emilk/egui/pull/5501) by [@RyanBluth](https://github.com/RyanBluth)
11
+
* Avoid allocations for loader cache lookup [#5584](https://github.com/emilk/egui/pull/5584) by [@mineichen](https://github.com/mineichen)
12
+
13
+
8
14
## 0.30.0 - 2024-12-16
9
15
* Use `Table::id_salt` on `ScrollArea`[#5282](https://github.com/emilk/egui/pull/5282) by [@jwhear](https://github.com/jwhear)
10
16
* Use proper `image` crate URI and MIME support detection [#5324](https://github.com/emilk/egui/pull/5324) by [@xangelix](https://github.com/xangelix)
Copy file name to clipboardexpand all lines: crates/egui_kittest/CHANGELOG.md
+12
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,18 @@ This file is updated upon each release.
6
6
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
7
7
8
8
9
+
## 0.31.0 - 2025-02-04
10
+
### ⭐ Added
11
+
* Add `Harness::new_eframe` and `TestRenderer` trait [#5539](https://github.com/emilk/egui/pull/5539) by [@lucasmerlin](https://github.com/lucasmerlin)
12
+
* Change `Harness::run` to run until no more repaints are requested [#5580](https://github.com/emilk/egui/pull/5580) by [@lucasmerlin](https://github.com/lucasmerlin)
13
+
* Add `SnapshotResults` struct to `egui_kittest`[#5672](https://github.com/emilk/egui/pull/5672) by [@lucasmerlin](https://github.com/lucasmerlin)
14
+
15
+
### 🔧 Changed
16
+
* Extend `WgpuSetup`, `egui_kittest` now prefers software rasterizers for testing [#5506](https://github.com/emilk/egui/pull/5506) by [@Wumpf](https://github.com/Wumpf)
17
+
* Write `.old.png` files when updating images [#5578](https://github.com/emilk/egui/pull/5578) by [@emilk](https://github.com/emilk)
18
+
* Succeed and keep going when `UPDATE_SNAPSHOTS` is set [#5649](https://github.com/emilk/egui/pull/5649) by [@emilk](https://github.com/emilk)
0 commit comments