Browse Source

Release 0.25.0 - Better keyboard input

pull/3789/head 0.25.0
Emil Ernerfeldt 10 months ago
parent
commit
12ad9e7b36
  1. 41
      CHANGELOG.md
  2. 24
      Cargo.lock
  3. 2
      Cargo.toml
  4. 5
      crates/ecolor/CHANGELOG.md
  5. 13
      crates/eframe/CHANGELOG.md
  6. 10
      crates/eframe/Cargo.toml
  7. 4
      crates/egui-wgpu/CHANGELOG.md
  8. 4
      crates/egui-wgpu/Cargo.toml
  9. 6
      crates/egui-winit/CHANGELOG.md
  10. 2
      crates/egui-winit/Cargo.toml
  11. 2
      crates/egui/Cargo.toml
  12. 8
      crates/egui_demo_app/Cargo.toml
  13. 6
      crates/egui_demo_lib/Cargo.toml
  14. 7
      crates/egui_extras/CHANGELOG.md
  15. 2
      crates/egui_extras/Cargo.toml
  16. 6
      crates/egui_glow/CHANGELOG.md
  17. 4
      crates/egui_glow/Cargo.toml
  18. 6
      crates/egui_plot/CHANGELOG.md
  19. 2
      crates/egui_plot/Cargo.toml
  20. 8
      crates/epaint/CHANGELOG.md
  21. 4
      crates/epaint/Cargo.toml

41
CHANGELOG.md

@ -7,6 +7,47 @@ This file is updated upon each release.
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.
## 0.25.0 - 2024-01-08 - Better keyboard input
### ⚠️ BREAKING
* Ignore extra SHIFT and ALT when matching modifiers [#3769](https://github.com/emilk/egui/pull/3769)
* Replace `Key::PlusEquals` with `Key::Plus` and `Key::Equals` [#3769](https://github.com/emilk/egui/pull/3769)
* Removed `WidgetTextGalley`, `WidgetTextJob`, `RichText::into_text_job`, `WidgetText::into_text_job` [#3727](https://github.com/emilk/egui/pull/3727)
* Rename `TextBuffer::replace` to `replace_with` [#3751](https://github.com/emilk/egui/pull/3751)
### ⭐ Added
* Replace a special `Color32::PLACEHOLDER` with widget fallback color [#3727](https://github.com/emilk/egui/pull/3727)
* Add `Key`s for `Cut` `Copy` `Paste` `[` `]` `,` `\` `:` `.` `;` `+` `=` [#3725](https://github.com/emilk/egui/pull/3725) [#3373](https://github.com/emilk/egui/pull/3373) [#3649](https://github.com/emilk/egui/pull/3649) [#3769](https://github.com/emilk/egui/pull/3769) (thanks [@MarijnS95](https://github.com/MarijnS95) and [@mkrueger](https://github.com/mkrueger)!)
* Add `Key::from_name`, `Key::ALL` [#3649](https://github.com/emilk/egui/pull/3649)
* Add `Event::Key::physical_key` [#3649](https://github.com/emilk/egui/pull/3649)
* Add indeterminate state to checkbox [#3605](https://github.com/emilk/egui/pull/3605) (thanks [@YgorSouza](https://github.com/YgorSouza)!)
* Add `Color32::from_hex` and `Color32::to_hex` [#3570](https://github.com/emilk/egui/pull/3570) [#3777](https://github.com/emilk/egui/pull/3777) (thanks [@YgorSouza](https://github.com/YgorSouza)!)
* Add `DragValue`s for RGB(A) in the color picker [#2734](https://github.com/emilk/egui/pull/2734) (thanks [@IVAN-MK7](https://github.com/IVAN-MK7)!)
* Add option to customize progress bar rounding [#2881](https://github.com/emilk/egui/pull/2881) (thanks [@YgorSouza](https://github.com/YgorSouza)!)
* Add methods to load/store `TextEditState` undoer [#3479](https://github.com/emilk/egui/pull/3479) (thanks [@LoganDark](https://github.com/LoganDark)!)
* `ScrollArea`: Add option to always scroll the only enabled direction [#3710](https://github.com/emilk/egui/pull/3710) (thanks [@untbu](https://github.com/untbu)!)
### 🔧 Changed
* `Grid` now follows `style.visuals.striped` if not explicitly overwritten [#3723](https://github.com/emilk/egui/pull/3723) (thanks [@Wcubed](https://github.com/Wcubed)!)
* Allow arrow keys to move away focus from a Slider [#3641](https://github.com/emilk/egui/pull/3641) (thanks [@fornwall](https://github.com/fornwall)!)
* Keep submenus open until another one is hovered [#3055](https://github.com/emilk/egui/pull/3055) (thanks [@DannyStoll1](https://github.com/DannyStoll1)!)
* Highlight the header of the topmost `Window`, controlled by `Visuals.window_highlight_topmost` [#3515](https://github.com/emilk/egui/pull/3515) (thanks [@GuillaumeSchmid](https://github.com/GuillaumeSchmid)!)
### 🐛 Fixed
* Derive `serde` `Serialize` and `Deserialize` for `KeyboardShortcut` [#3694](https://github.com/emilk/egui/pull/3694) (thanks [@zeozeozeo](https://github.com/zeozeozeo)!)
* Fix `Window` positioning bug when bad `pivot` is stored in app data [#3721](https://github.com/emilk/egui/pull/3721) (thanks [@abey79](https://github.com/abey79)!)
* Impl `Clone` for `Fonts` [#3737](https://github.com/emilk/egui/pull/3737)
* Add missing `ResizeDirection::East` [#3749](https://github.com/emilk/egui/pull/3749) (thanks [@dbuch](https://github.com/dbuch)!)
* Fix: don't open context menu on drag [#3767](https://github.com/emilk/egui/pull/3767)
* Fix IME input of `CompositionEnd` without a `CompositionStart` [#3768](https://github.com/emilk/egui/pull/3768) (thanks [@FrankLeeC](https://github.com/FrankLeeC)!)
* Fix: allow using the full Private Use Area for custom fonts [#3509](https://github.com/emilk/egui/pull/3509) (thanks [@varphone](https://github.com/varphone)!)
* Fix: apply edited `DragValue` when it looses focus [#3776](https://github.com/emilk/egui/pull/3776)
* Fix: Non-resizable `Area`s now ignore mouse input outside their bounds [#3039](https://github.com/emilk/egui/pull/3039) (thanks [@fleabitdev](https://github.com/fleabitdev)!)
* Highlight submenu buttons when hovered and open [#3780](https://github.com/emilk/egui/pull/3780)
* Invalidate font atlas on any change to `pixels_per_point`, not matter how small [#3698](https://github.com/emilk/egui/pull/3698) (thanks [@StarStarJ](https://github.com/StarStarJ)!)
* Fix zoom-in shortcut (`Cmd +`) on non-English keyboards [#3769](https://github.com/emilk/egui/pull/3769)
## 0.24.1 - 2023-11-30 - Bug fixes
* Fix buggy text with multiple viewports on monitors with different scales [#3666](https://github.com/emilk/egui/pull/3666)

24
Cargo.lock

@ -1151,7 +1151,7 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
[[package]]
name = "ecolor"
version = "0.24.2"
version = "0.25.0"
dependencies = [
"bytemuck",
"cint",
@ -1162,7 +1162,7 @@ dependencies = [
[[package]]
name = "eframe"
version = "0.24.2"
version = "0.25.0"
dependencies = [
"bytemuck",
"cocoa",
@ -1198,7 +1198,7 @@ dependencies = [
[[package]]
name = "egui"
version = "0.24.2"
version = "0.25.0"
dependencies = [
"accesskit",
"ahash",
@ -1214,7 +1214,7 @@ dependencies = [
[[package]]
name = "egui-wgpu"
version = "0.24.2"
version = "0.25.0"
dependencies = [
"bytemuck",
"document-features",
@ -1230,7 +1230,7 @@ dependencies = [
[[package]]
name = "egui-winit"
version = "0.24.2"
version = "0.25.0"
dependencies = [
"accesskit_winit",
"arboard",
@ -1248,7 +1248,7 @@ dependencies = [
[[package]]
name = "egui_demo_app"
version = "0.24.2"
version = "0.25.0"
dependencies = [
"bytemuck",
"chrono",
@ -1272,7 +1272,7 @@ dependencies = [
[[package]]
name = "egui_demo_lib"
version = "0.24.2"
version = "0.25.0"
dependencies = [
"chrono",
"criterion",
@ -1287,7 +1287,7 @@ dependencies = [
[[package]]
name = "egui_extras"
version = "0.24.2"
version = "0.25.0"
dependencies = [
"chrono",
"document-features",
@ -1305,7 +1305,7 @@ dependencies = [
[[package]]
name = "egui_glow"
version = "0.24.2"
version = "0.25.0"
dependencies = [
"bytemuck",
"document-features",
@ -1324,7 +1324,7 @@ dependencies = [
[[package]]
name = "egui_plot"
version = "0.24.2"
version = "0.25.0"
dependencies = [
"document-features",
"egui",
@ -1353,7 +1353,7 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]]
name = "emath"
version = "0.24.2"
version = "0.25.0"
dependencies = [
"bytemuck",
"document-features",
@ -1428,7 +1428,7 @@ dependencies = [
[[package]]
name = "epaint"
version = "0.24.2"
version = "0.25.0"
dependencies = [
"ab_glyph",
"ahash",

2
Cargo.toml

@ -20,7 +20,7 @@ members = [
edition = "2021"
license = "MIT OR Apache-2.0"
rust-version = "1.72"
version = "0.24.2"
version = "0.25.0"
[profile.release]

5
crates/ecolor/CHANGELOG.md

@ -6,11 +6,14 @@ This file is updated upon each release.
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.
## 0.25.0 - 2024-01-08
* Add `Color32::from_hex` and `Color32::to_hex` [#3570](https://github.com/emilk/egui/pull/3570) [#3777](https://github.com/emilk/egui/pull/3777) (thanks [@YgorSouza](https://github.com/YgorSouza)!)
## 0.24.1 - 2023-11-30
* Optimize color conversions [#3666](https://github.com/emilk/egui/pull/3666)
## 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)

13
crates/eframe/CHANGELOG.md

@ -7,6 +7,19 @@ This file is updated upon each release.
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.
## 0.25.0 - 2024-01-08
* If both `glow` and `wgpu` features are enabled, default to `wgpu` [#3717](https://github.com/emilk/egui/pull/3717)
#### Desktop/Native:
* Update to winit 0.29 [#3649](https://github.com/emilk/egui/pull/3649) (thanks [@fornwall](https://github.com/fornwall)!)
* Make glow `Send + Sync` again [#3646](https://github.com/emilk/egui/pull/3646) (thanks [@surban](https://github.com/surban)!)
* Bug fix: framebuffer clear when using glow with multi-viewports [#3713](https://github.com/emilk/egui/pull/3713)
* Fix: Let `accesskit` process window events [#3733](https://github.com/emilk/egui/pull/3733) (thanks [@DataTriny](https://github.com/DataTriny)!)
#### Web:
* Fix building the `wasm32` docs for `docs.rs` [#3757](https://github.com/emilk/egui/pull/3757)
## 0.24.1 - 2023-11-30
#### Desktop/Native:
* Fix window flashing white on launch [#3631](https://github.com/emilk/egui/pull/3631) (thanks [@zeozeozeo](https://github.com/zeozeozeo)!)

10
crates/eframe/Cargo.toml

@ -103,7 +103,7 @@ x11 = ["egui-winit/x11"]
__screenshot = []
[dependencies]
egui = { version = "0.24.1", path = "../egui", default-features = false, features = [
egui = { version = "0.25.0", path = "../egui", default-features = false, features = [
"bytemuck",
"log",
] }
@ -116,7 +116,7 @@ thiserror.workspace = true
## Enable this when generating docs.
document-features = { version = "0.2", optional = true }
egui_glow = { version = "0.24.1", path = "../egui_glow", optional = true, default-features = false }
egui_glow = { version = "0.25.0", path = "../egui_glow", optional = true, default-features = false }
glow = { workspace = true, optional = true }
ron = { version = "0.8", optional = true, features = ["integer128"] }
serde = { version = "1", optional = true, features = ["derive"] }
@ -124,7 +124,7 @@ serde = { version = "1", optional = true, features = ["derive"] }
# -------------------------------------------
# native:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
egui-winit = { version = "0.24.1", path = "../egui-winit", default-features = false, features = [
egui-winit = { version = "0.25.0", path = "../egui-winit", default-features = false, features = [
"clipboard",
"links",
] }
@ -136,7 +136,7 @@ winit = { version = "0.29.4", default-features = false, features = ["rwh_05"] }
# optional native:
directories-next = { version = "2", optional = true }
egui-wgpu = { version = "0.24.1", path = "../egui-wgpu", optional = true, features = [
egui-wgpu = { version = "0.25.0", path = "../egui-wgpu", optional = true, features = [
"winit",
] } # if wgpu is used, use it with winit
pollster = { version = "0.3", optional = true } # needed for wgpu
@ -210,6 +210,6 @@ web-sys = { version = "0.3.58", features = [
] }
# optional web:
egui-wgpu = { version = "0.24.1", path = "../egui-wgpu", optional = true } # if wgpu is used, use it without (!) winit
egui-wgpu = { version = "0.25.0", path = "../egui-wgpu", optional = true } # if wgpu is used, use it without (!) winit
raw-window-handle = { workspace = true, optional = true }
wgpu = { workspace = true, optional = true }

4
crates/egui-wgpu/CHANGELOG.md

@ -6,6 +6,10 @@ This file is updated upon each release.
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.
## 0.25.0 - 2024-01-08
* Only call wgpu paint callback if viewport is positive [#3778](https://github.com/emilk/egui/pull/3778) (thanks [@msparkles](https://github.com/msparkles)!)
## 0.24.1 - 2023-11-30
* Add a few `puffin` profile scopes

4
crates/egui-wgpu/Cargo.toml

@ -36,8 +36,8 @@ winit = ["dep:winit"]
[dependencies]
egui = { version = "0.24.1", path = "../egui", default-features = false }
epaint = { version = "0.24.1", path = "../epaint", default-features = false, features = [
egui = { version = "0.25.0", path = "../egui", default-features = false }
epaint = { version = "0.25.0", path = "../epaint", default-features = false, features = [
"bytemuck",
] }

6
crates/egui-winit/CHANGELOG.md

@ -5,6 +5,12 @@ This file is updated upon each release.
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.
## 0.25.0 - 2024-01-08
* Update to winit 0.29 [#3649](https://github.com/emilk/egui/pull/3649) (thanks [@fornwall](https://github.com/fornwall)!)
* Fix: Let `accesskit` process window events [#3733](https://github.com/emilk/egui/pull/3733) (thanks [@DataTriny](https://github.com/DataTriny)!)
* Simplify `egui_winit::State` [#3678](https://github.com/emilk/egui/pull/3678)
## 0.24.1 - 2023-11-30
* Don't treat `WindowEvent::CloseRequested` as consumed [#3627](https://github.com/emilk/egui/pull/3627) (thanks [@Aaron1011](https://github.com/Aaron1011)!)
* Fix windowing problems when using the `x11` feature on Linux [#3643](https://github.com/emilk/egui/pull/3643)

2
crates/egui-winit/Cargo.toml

@ -55,7 +55,7 @@ wayland = ["winit/wayland", "bytemuck"]
x11 = ["winit/x11", "bytemuck"]
[dependencies]
egui = { version = "0.24.1", path = "../egui", default-features = false, features = [
egui = { version = "0.25.0", path = "../egui", default-features = false, features = [
"log",
] }
log = { version = "0.4", features = ["std"] }

2
crates/egui/Cargo.toml

@ -76,7 +76,7 @@ unity = ["epaint/unity"]
[dependencies]
epaint = { version = "0.24.1", path = "../epaint", default-features = false }
epaint = { version = "0.25.0", path = "../epaint", default-features = false }
ahash = { version = "0.8.6", default-features = false, features = [
"no-rng", # we don't need DOS-protection, so we let users opt-in to it instead

8
crates/egui_demo_app/Cargo.toml

@ -36,18 +36,18 @@ chrono = { version = "0.4", default-features = false, features = [
"js-sys",
"wasmbind",
] }
eframe = { version = "0.24.1", path = "../eframe", default-features = false, features = [
eframe = { version = "0.25.0", path = "../eframe", default-features = false, features = [
"web_screen_reader",
] }
egui = { version = "0.24.1", path = "../egui", features = [
egui = { version = "0.25.0", path = "../egui", features = [
"callstack",
"extra_debug_asserts",
"log",
] }
egui_demo_lib = { version = "0.24.1", path = "../egui_demo_lib", features = [
egui_demo_lib = { version = "0.25.0", path = "../egui_demo_lib", features = [
"chrono",
] }
egui_extras = { version = "0.24.1", path = "../egui_extras", features = [
egui_extras = { version = "0.25.0", path = "../egui_extras", features = [
"image",
] }
log = { version = "0.4", features = ["std"] }

6
crates/egui_demo_lib/Cargo.toml

@ -38,9 +38,9 @@ syntect = ["egui_extras/syntect"]
[dependencies]
egui = { version = "0.24.1", path = "../egui", default-features = false }
egui_extras = { version = "0.24.1", path = "../egui_extras" }
egui_plot = { version = "0.24.1", path = "../egui_plot" }
egui = { version = "0.25.0", path = "../egui", default-features = false }
egui_extras = { version = "0.25.0", path = "../egui_extras" }
egui_plot = { version = "0.25.0", path = "../egui_plot" }
log = { version = "0.4", features = ["std"] }
unicode_names2 = { version = "0.6.0", default-features = false } # this old version has fewer dependencies

7
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 <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
## 0.25.0 - 2024-01-08
* Implement table row selection and hover highlighting [#3347](https://github.com/emilk/egui/pull/3347) (thanks [@laurooyen](https://github.com/laurooyen)!)
* Fix `egui_extras::Table` scrolling bug [#3690](https://github.com/emilk/egui/pull/3690) (thanks [@abey79](https://github.com/abey79)!)
* Fix crash due to assertion during image loading from http [#3750](https://github.com/emilk/egui/pull/3750)
* Update resvg dependency of egui_extras [#3719](https://github.com/emilk/egui/pull/3719) (thanks [@PingPongun](https://github.com/PingPongun)!)
## 0.24.2 - 2023-12-08 - `Table` scroll bug fix
* Fix `Table` scrolling bug [#3690](https://github.com/emilk/egui/pull/3690)

2
crates/egui_extras/Cargo.toml

@ -60,7 +60,7 @@ syntect = ["dep:syntect"]
[dependencies]
egui = { version = "0.24.1", path = "../egui", default-features = false, features = [
egui = { version = "0.25.0", path = "../egui", default-features = false, features = [
"serde",
] }
enum-map = { version = "2", features = ["serde"] }

6
crates/egui_glow/CHANGELOG.md

@ -5,6 +5,12 @@ This file is updated upon each release.
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.
## 0.25.0 - 2024-01-08
* Update to glow 0.13 [#3715](https://github.com/emilk/egui/pull/3715)
* Make glow `Send + Sync` again [#3646](https://github.com/emilk/egui/pull/3646) (thanks [@surban](https://github.com/surban)!)
## 0.24.1 - 2023-11-30
* Improve a docstring

4
crates/egui_glow/Cargo.toml

@ -44,7 +44,7 @@ winit = ["egui-winit"]
[dependencies]
egui = { version = "0.24.1", path = "../egui", default-features = false, features = [
egui = { version = "0.25.0", path = "../egui", default-features = false, features = [
"bytemuck",
] }
@ -59,7 +59,7 @@ document-features = { version = "0.2", optional = true }
# Native:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
egui-winit = { version = "0.24.1", path = "../egui-winit", optional = true, default-features = false }
egui-winit = { version = "0.25.0", path = "../egui-winit", optional = true, default-features = false }
puffin = { workspace = true, optional = true }
# Web:

6
crates/egui_plot/CHANGELOG.md

@ -5,6 +5,12 @@ This file is updated upon each release.
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.
## 0.25.0 - 2024-01-08
* Fix plot auto-bounds unset by default [#3722](https://github.com/emilk/egui/pull/3722) (thanks [@abey79](https://github.com/abey79)!)
* Add methods to zoom a `Plot` programmatically [#2714](https://github.com/emilk/egui/pull/2714) (thanks [@YgorSouza](https://github.com/YgorSouza)!)
* Add a public API for overriding plot legend traces' visibilities [#3534](https://github.com/emilk/egui/pull/3534) (thanks [@jayzhudev](https://github.com/jayzhudev)!)
## 0.24.1 - 2024-12-03
* Fix plot auto-bounds default [#3722](https://github.com/emilk/egui/pull/3722) (thanks [@abey79](https://github.com/abey79)!)

2
crates/egui_plot/Cargo.toml

@ -32,7 +32,7 @@ serde = ["dep:serde", "egui/serde"]
[dependencies]
egui = { version = "0.24.1", path = "../egui", default-features = false }
egui = { version = "0.25.0", path = "../egui", default-features = false }
#! ### Optional dependencies

8
crates/epaint/CHANGELOG.md

@ -5,6 +5,14 @@ This file is updated upon each release.
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.
## 0.25.0 - 2024-01-08
* Replace a special `Color32::PLACEHOLDER` with widget fallback color [#3727](https://github.com/emilk/egui/pull/3727)
* Add support for dashed lines with offset [#3720](https://github.com/emilk/egui/pull/3720) (thanks [@oscargus](https://github.com/oscargus)!)
* Impl `Clone` for `Fonts` [#3737](https://github.com/emilk/egui/pull/3737)
* Fix: allow using the full Private Use Area for custom fonts [#3509](https://github.com/emilk/egui/pull/3509) (thanks [@varphone](https://github.com/varphone)!)
* Add `Color32::from_hex` and `Color32::to_hex` [#3570](https://github.com/emilk/egui/pull/3570) [#3777](https://github.com/emilk/egui/pull/3777) (thanks [@YgorSouza](https://github.com/YgorSouza)!)
## 0.24.1 - 2023-11-30
* Optimize `FontImage::srgba_pixels` and reduce the initial font atlas texture size from 8MiB -> 1MiB [#3666](https://github.com/emilk/egui/pull/3666)

4
crates/epaint/Cargo.toml

@ -70,8 +70,8 @@ serde = ["dep:serde", "ahash/serde", "emath/serde", "ecolor/serde"]
unity = []
[dependencies]
emath = { version = "0.24.1", path = "../emath" }
ecolor = { version = "0.24.1", path = "../ecolor" }
emath = { version = "0.25.0", path = "../emath" }
ecolor = { version = "0.25.0", path = "../ecolor" }
ab_glyph = "0.2.11"
ahash = { version = "0.8.1", default-features = false, features = [

Loading…
Cancel
Save