Add changelog intro and reorder stuff
This commit is contained in:
parent
aea3a49621
commit
a3c7351d58
50
CHANGELOG.md
50
CHANGELOG.md
|
|
@ -15,7 +15,53 @@ Changes since the last release can be found at <https://github.com/emilk/egui/co
|
||||||
|
|
||||||
|
|
||||||
## 0.33.0 - 2025-10-09
|
## 0.33.0 - 2025-10-09
|
||||||
|
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:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
### `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=<link_to_pr_or_artefact>`
|
||||||
|
|
||||||
|
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
|
### ⭐ 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 `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)
|
* 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)
|
* Make the `hex_color` macro `const` [#7444](https://github.com/emilk/egui/pull/7444) by [@YgorSouza](https://github.com/YgorSouza)
|
||||||
|
|
@ -23,13 +69,9 @@ Changes since the last release can be found at <https://github.com/emilk/egui/co
|
||||||
* Add `Memory::move_focus` [#7476](https://github.com/emilk/egui/pull/7476) by [@darkwater](https://github.com/darkwater)
|
* 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)
|
* 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)
|
* Add rotation gesture support for trackpad sources [#7453](https://github.com/emilk/egui/pull/7453) by [@thatcomputerguy0101](https://github.com/thatcomputerguy0101)
|
||||||
* 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)
|
|
||||||
|
|
||||||
### 🔧 Changed
|
### 🔧 Changed
|
||||||
* Document platform compatibility on `viewport::WindowLevel` and dependents [#7432](https://github.com/emilk/egui/pull/7432) by [@lkdm](https://github.com/lkdm)
|
* Document platform compatibility on `viewport::WindowLevel` and dependents [#7432](https://github.com/emilk/egui/pull/7432) by [@lkdm](https://github.com/lkdm)
|
||||||
* Update MSRV to 1.86 [#7469](https://github.com/emilk/egui/pull/7469) by [@emilk](https://github.com/emilk)
|
|
||||||
* Deprecated `ImageButton` and removed `WidgetType::ImageButton` [#7483](https://github.com/emilk/egui/pull/7483) by [@Stelios-Kourlis](https://github.com/Stelios-Kourlis)
|
* 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)
|
* 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)
|
* Increase default text size from 12.5 to 13.0 [#7521](https://github.com/emilk/egui/pull/7521) by [@emilk](https://github.com/emilk)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue