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
|
||||
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
|
||||
* 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)
|
||||
|
|
@ -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)
|
||||
* 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)
|
||||
* 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
|
||||
* 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)
|
||||
* 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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue