From e7604c02300cdebefcdb7e600133c2b3ed847c78 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Thu, 23 Nov 2023 15:46:04 +0100 Subject: [PATCH] Update changelogs --- CHANGELOG.md | 44 ++++++++++++++++++++++++++++ crates/ecolor/CHANGELOG.md | 5 ++++ crates/eframe/CHANGELOG.md | 52 +++++++++++++++++++++++++++++++-- crates/egui-wgpu/CHANGELOG.md | 7 +++++ crates/egui-winit/CHANGELOG.md | 5 ++++ crates/egui_extras/CHANGELOG.md | 5 ++++ crates/egui_glow/CHANGELOG.md | 6 ++++ crates/egui_plot/CHANGELOG.md | 6 ++++ crates/epaint/CHANGELOG.md | 6 ++++ 9 files changed, 133 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d428fe7..2608c862 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,50 @@ This file is updated upon each release. Changes since the last release can be found by running the `scripts/generate_changelog.py` script. +## 0.24.0 - 2023-11-23 - Multi-viewport + +### ⭐ Added +* Multiple viewports/windows [#3172](https://github.com/emilk/egui/pull/3172) (thanks [@konkitoman](https://github.com/konkitoman)!) +* Introduce global `zoom_factor` [#3608](https://github.com/emilk/egui/pull/3608) +* Floating scroll bars [#3539](https://github.com/emilk/egui/pull/3539) +* Add redo support to `Undoer` [#3478](https://github.com/emilk/egui/pull/3478) (thanks [@LoganDark](https://github.com/LoganDark)!) +* Add `egui::Vec2b` [#3543](https://github.com/emilk/egui/pull/3543) +* Add max `Window` size & other size helpers [#3537](https://github.com/emilk/egui/pull/3537) (thanks [@arduano](https://github.com/arduano)!) +* Allow changing shape of slider handle [#3429](https://github.com/emilk/egui/pull/3429) (thanks [@YgorSouza](https://github.com/YgorSouza)!) +* `RawInput::viewports` contains a list of all viewports. Access the current one with `ctx.input(|i| i.viewport())` + +### 🔧 Changed +* Replace `Id::null()` with `Id::NULL` [#3544](https://github.com/emilk/egui/pull/3544) +* Update MSRV to Rust 1.72 [#3595](https://github.com/emilk/egui/pull/3595) +* Update puffin to 0.18 [#3600](https://github.com/emilk/egui/pull/3600) + +### 🐛 Fixed +* Fix upside down slider in the vertical orientation [#3424](https://github.com/emilk/egui/pull/3424) (thanks [@YgorSouza](https://github.com/YgorSouza)!) +* Make slider step account for range start [#3488](https://github.com/emilk/egui/pull/3488) (thanks [@YgorSouza](https://github.com/YgorSouza)!) +* Fix rounding of `ImageButton` [#3531](https://github.com/emilk/egui/pull/3531) (thanks [@chriscate](https://github.com/chriscate)!) +* Fix naming: `constraint_to` -> `constrain_to` [#3438](https://github.com/emilk/egui/pull/3438) (thanks [@rinde](https://github.com/rinde)!) +* Fix Shift+Tab behavior when no widget is focused [#3498](https://github.com/emilk/egui/pull/3498) (thanks [@DataTriny](https://github.com/DataTriny)!) +* Fix scroll not sticking when scrollbar is hidden [#3434](https://github.com/emilk/egui/pull/3434) (thanks [@LoganDark](https://github.com/LoganDark)!) +* Add `#[inline]` to all builder-pattern functions [#3557](https://github.com/emilk/egui/pull/3557) +* Properly reverse bool animation if value changes before it's finished [#3577](https://github.com/emilk/egui/pull/3577) (thanks [@YgorSouza](https://github.com/YgorSouza)!) + + +### ⚠️ BREAKING +* `egui::gui_zoom::zoom_with_keyboard_shortcuts` is gone, replaced with `Options::zoom_with_keyboard`, which is `true` by default +* `Spacing::scroll_bar_X` has been moved to `Spacing::scroll_bar.X` +* `Context::set_pixels_per_point` now calls `Context::set_zoom_level`, and it may make sense for you to call that directly instead +* If you are using `eframe`, check out the breaking changes in [the `eframe` changelog](crates/eframe/CHANGELOG.md) + +#### For integrations +There are several changes relevant to integrations. + +* Added `crate::RawInput::viewports` with information about all active viewports +* The repaint callback set by `Context::set_request_repaint_callback` now points to which viewport should be repainted +* `Context::run` now returns a list of `ViewportOutput` in `FullOutput` which should result in their own independent windows +* There is a new `Context::set_immediate_viewport_renderer` for setting up the immediate viewport integration +* If you support viewports, you need to call `Context::set_embed_viewports(false)`, or all new viewports will be embedded (the default behavior) + + ## 0.23.0 - 2023-09-27 - New image API This release contains a simple and powerful image API: diff --git a/crates/ecolor/CHANGELOG.md b/crates/ecolor/CHANGELOG.md index 228275e0..0fb9f9d4 100644 --- a/crates/ecolor/CHANGELOG.md +++ b/crates/ecolor/CHANGELOG.md @@ -6,6 +6,11 @@ This file is updated upon each release. Changes since the last release can be found by running the `scripts/generate_changelog.py` script. +## 0.24.0 - 2023-11-23 +* Update MSRV to Rust 1.72 [#3595](https://github.com/emilk/egui/pull/3595) +* Add `#[inline]` to all color-related function [38b4234](https://github.com/emilk/egui/commit/38b4234c3282a7c044c18b77234ee8c204efe171) + + ## 0.22.0 - 2023-05-23 * Nothing new diff --git a/crates/eframe/CHANGELOG.md b/crates/eframe/CHANGELOG.md index d017c2fb..92d6ec53 100644 --- a/crates/eframe/CHANGELOG.md +++ b/crates/eframe/CHANGELOG.md @@ -6,9 +6,55 @@ NOTE: [`egui-winit`](../egui-winit/CHANGELOG.md), [`egui_glium`](../egui_glium/C This file is updated upon each release. Changes since the last release can be found by running the `scripts/generate_changelog.py` script. -## Unreleased -* `NativeOptions::fullsize_content` has been replaced with four settings: `ViewportBuilder::with_fullsize_content_view`, `with_title_shown`, `with_titlebar_shown`, `with_titlebar_buttons_shown` -* `App::on_close_event` has been replaced with `ctx.input(|i| i.viewport().close_requested())` and `ctx.send_viewport_cmd(ViewportCommand::CancelClose)`. + +## 0.24.0 - 2023-11-23 +* Multiple viewports/windows [#3172](https://github.com/emilk/egui/pull/3172) (thanks [@konkitoman](https://github.com/konkitoman)!) +* Replace `eframe::Frame` commands and `WindowInfo` with egui [#3564](https://github.com/emilk/egui/pull/3564) +* Use `egui::ViewportBuilder` in `eframe::NativeOptions` [#3572](https://github.com/emilk/egui/pull/3572) +* Remove warm-starting [#3574](https://github.com/emilk/egui/pull/3574) +* Fix copy and cut on Safari [#3513](https://github.com/emilk/egui/pull/3513) (thanks [@lunixbochs](https://github.com/lunixbochs)!) +* Update puffin to 0.18 [#3600](https://github.com/emilk/egui/pull/3600) +* Update MSRV to Rust 1.72 [#3595](https://github.com/emilk/egui/pull/3595) + +### Breaking changes: +Most settings in `NativeOptions` have been moved to `NativeOptions::viewport`, which uses the new `egui::ViewportBuilder`: + +```diff + let native_options = eframe::nativeOptions { +- initial_window_size: Some(egui::vec2(320.0, 240.0)), +- drag_and_drop_support: true, ++ viewport: egui::ViewportBuilder::default() ++ .with_inner_size([320.0, 240.0]) ++ .with_drag_and_drop(true), + ..Default::default() + }; +``` + +`NativeOptions::fullsize_content` has been replaced with four settings: `ViewportBuilder::with_fullsize_content_view`, `with_title_shown`, `with_titlebar_shown`, `with_titlebar_buttons_shown` + +`frame.info().window_info` is gone, replaced with `ctx.input(|i| i.viewport())`. + +`frame.info().native_pixels_per_point` is replaced with `ctx.input(|i| i.raw.native_pixels_per_point)`. + +Most commands in `eframe::Frame` has been replaced with `egui::ViewportCommand`, so So `frame.close()` becomes `ctx.send_viewport_cmd(ViewportCommand::Close)`, etc. + +`App::on_close_event` has been replaced with `ctx.input(|i| i.viewport().close_requested())` and `ctx.send_viewport_cmd(ViewportCommand::CancelClose)`. + +`eframe::IconData` is now `egui::IconData`. + +`eframe::IconData::try_from_png_bytes` is now `eframe::icon_data::from_png_bytes`. + +`App::post_rendering` is gone. Screenshots are taken with `ctx.send_viewport_cmd(ViewportCommand::Screenshots)` and are returned in `egui::Event` which you can check with: +``` rust +ui.input(|i| { + for event in &i.raw.events { + if let egui::Event::Screenshot { viewport_id, image } = event { + // handle it here + } + } +}); +``` + ## 0.23.0 - 2023-09-27 * Update MSRV to Rust 1.70.0 [#3310](https://github.com/emilk/egui/pull/3310) diff --git a/crates/egui-wgpu/CHANGELOG.md b/crates/egui-wgpu/CHANGELOG.md index 6d8ba691..6633f9a3 100644 --- a/crates/egui-wgpu/CHANGELOG.md +++ b/crates/egui-wgpu/CHANGELOG.md @@ -6,6 +6,13 @@ This file is updated upon each release. Changes since the last release can be found by running the `scripts/generate_changelog.py` script. + +## 0.24.0 - 2023-11-23 +* Updated to wgpu 0.18 [#3505](https://github.com/emilk/egui/pull/3505) (thanks [@Wumpf](https://github.com/Wumpf)!) +* Update MSRV to Rust 1.72 [#3595](https://github.com/emilk/egui/pull/3595) +* Properly clamp and round viewport values, preventing rare warnings [#3604](https://github.com/emilk/egui/pull/3604) (thanks [@Wumpf](https://github.com/Wumpf)!) + + ## 0.23.0 - 2023-09-27 * Update to `wgpu` 0.17.0 [#3170](https://github.com/emilk/egui/pull/3170) (thanks [@Aaron1011](https://github.com/Aaron1011)!) * Improved wgpu callbacks [#3253](https://github.com/emilk/egui/pull/3253) (thanks [@Wumpf](https://github.com/Wumpf)!) diff --git a/crates/egui-winit/CHANGELOG.md b/crates/egui-winit/CHANGELOG.md index ecb1de76..1d953162 100644 --- a/crates/egui-winit/CHANGELOG.md +++ b/crates/egui-winit/CHANGELOG.md @@ -5,6 +5,11 @@ This file is updated upon each release. Changes since the last release can be found by running the `scripts/generate_changelog.py` script. +## 0.24.0 - 2023-11-23 +* Update MSRV to Rust 1.72 [#3595](https://github.com/emilk/egui/pull/3595) +* Some breaking changes required for multi-viewport support + + ## 0.23.0 - 2023-09-27 * Only show on-screen-keyboard and IME when editing text [#3362](https://github.com/emilk/egui/pull/3362) (thanks [@Barugon](https://github.com/Barugon)!) * Replace `instant` with `web_time` [#3296](https://github.com/emilk/egui/pull/3296) diff --git a/crates/egui_extras/CHANGELOG.md b/crates/egui_extras/CHANGELOG.md index 937a8967..ca76411a 100644 --- a/crates/egui_extras/CHANGELOG.md +++ b/crates/egui_extras/CHANGELOG.md @@ -5,6 +5,11 @@ This file is updated upon each release. Changes since the last release can be found by running the `scripts/generate_changelog.py` script. +## 0.24.0 - 2023-11-23 +* Fix Table stripe pattern when combining `row()` and `rows()` [#3442](https://github.com/emilk/egui/pull/3442) (thanks [@YgorSouza](https://github.com/YgorSouza)!) +* Update MSRV to Rust 1.72 [#3595](https://github.com/emilk/egui/pull/3595) + + ## 0.23.0 - 2023-09-27 * `egui_extras::install_image_loaders` [#3297](https://github.com/emilk/egui/pull/3297) [#3315](https://github.com/emilk/egui/pull/3315) [#3328](https://github.com/emilk/egui/pull/3328) (thanks [@jprochazk](https://github.com/jprochazk)!) * Add syntax highlighting feature to `egui_extras` [#3333](https://github.com/emilk/egui/pull/3333) [#3388](https://github.com/emilk/egui/pull/3388) diff --git a/crates/egui_glow/CHANGELOG.md b/crates/egui_glow/CHANGELOG.md index 4b82b58d..a34b5f1c 100644 --- a/crates/egui_glow/CHANGELOG.md +++ b/crates/egui_glow/CHANGELOG.md @@ -5,6 +5,12 @@ This file is updated upon each release. Changes since the last release can be found by running the `scripts/generate_changelog.py` script. +## 0.24.0 - 2023-11-23 +* Change `Arc` to `Rc` [#3598](https://github.com/emilk/egui/pull/3598) +* Update MSRV to Rust 1.72 [#3595](https://github.com/emilk/egui/pull/3595) +* Clamp viewport values [#3604](https://github.com/emilk/egui/pull/3604) (thanks [@Wumpf](https://github.com/Wumpf)!) + + ## 0.23.0 - 2023-09-27 * Update `egui` diff --git a/crates/egui_plot/CHANGELOG.md b/crates/egui_plot/CHANGELOG.md index e0e093b5..4b2f9bd6 100644 --- a/crates/egui_plot/CHANGELOG.md +++ b/crates/egui_plot/CHANGELOG.md @@ -5,6 +5,12 @@ This file is updated upon each release. Changes since the last release can be found by running the `scripts/generate_changelog.py` script. +## 0.24.0 - 2023-11-23 +* Add `emath::Vec2b`, replacing `egui_plot::AxisBools` [#3543](https://github.com/emilk/egui/pull/3543) +* Add `auto_bounds/set_auto_bounds` to `PlotUi` [#3587](https://github.com/emilk/egui/pull/3587) [#3586](https://github.com/emilk/egui/pull/3586) (thanks [@abey79](https://github.com/abey79)!) +* Update MSRV to Rust 1.72 [#3595](https://github.com/emilk/egui/pull/3595) + + ## 0.23.0 - 2023-09-27 - Initial release, after being forked out from `egui` * Draw axis labels and ticks outside of plotting window [#2284](https://github.com/emilk/egui/pull/2284) (thanks [@JohannesProgrammiert](https://github.com/JohannesProgrammiert)!) * Add `PlotUi::response()` to replace `plot_clicked()` etc [#3223](https://github.com/emilk/egui/pull/3223) diff --git a/crates/epaint/CHANGELOG.md b/crates/epaint/CHANGELOG.md index 36fcfc1b..d58fb01e 100644 --- a/crates/epaint/CHANGELOG.md +++ b/crates/epaint/CHANGELOG.md @@ -5,6 +5,12 @@ This file is updated upon each release. Changes since the last release can be found by running the `scripts/generate_changelog.py` script. +## 0.24.0 - 2023-11-23 +* Use `impl Into` as argument in a few more places [#3420](https://github.com/emilk/egui/pull/3420) (thanks [@Phen-Ro](https://github.com/Phen-Ro)!) +* Update MSRV to Rust 1.72 [#3595](https://github.com/emilk/egui/pull/3595) +* Make `ViewportInPixels` use integers, and clamp to bounds [#3604](https://github.com/emilk/egui/pull/3604) (thanks [@Wumpf](https://github.com/Wumpf)!) + + ## 0.23.0 - 2023-09-27 * Update MSRV to Rust 1.70.0 [#3310](https://github.com/emilk/egui/pull/3310) * Add option to truncate text at wrap width [#3244](https://github.com/emilk/egui/pull/3244) [#3366](https://github.com/emilk/egui/pull/3366)