Browse Source

Release 0.26.0 - Text selection in labels

pull/3981/head 0.26.0
Emil Ernerfeldt 9 months ago
parent
commit
56bf8b79f3
  1. 46
      CHANGELOG.md
  2. 24
      Cargo.lock
  3. 24
      Cargo.toml
  4. 4
      crates/ecolor/CHANGELOG.md
  5. 17
      crates/eframe/CHANGELOG.md
  6. 11
      crates/egui-wgpu/CHANGELOG.md
  7. 5
      crates/egui-winit/CHANGELOG.md
  8. 7
      crates/egui_extras/CHANGELOG.md
  9. 4
      crates/egui_glow/CHANGELOG.md
  10. 11
      crates/egui_plot/CHANGELOG.md
  11. 6
      crates/epaint/CHANGELOG.md
  12. 2
      scripts/cargo_deny.sh

46
CHANGELOG.md

@ -7,6 +7,52 @@ 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.26.0 - 2024-02-05 - Text selection in labels
### ⚠️ BREAKING
* Always set `response.hovered` to false when dragging another widget [#3860](https://github.com/emilk/egui/pull/3860)
* `InputState::scroll_delta` has been replaced by `InputState::raw_scroll_delta` and `InputState::smooth_scroll_delta` [#3884](https://github.com/emilk/egui/pull/3884)
* Improve `Response.dragged`, `drag_started` and `clicked` [#3888](https://github.com/emilk/egui/pull/3888)
### ⭐ Added
* Selectable text in Labels [#3814](https://github.com/emilk/egui/pull/3814) [#3870](https://github.com/emilk/egui/pull/3870)
* Add some drag-and-drop-related APIs in `Response` and `Memory` [#3876](https://github.com/emilk/egui/pull/3876) (thanks [@abey79](https://github.com/abey79)!)
* Add drag-and-drop APIs with payloads storage [#3887](https://github.com/emilk/egui/pull/3887)
* `ComboBox`: add builder method for height [#3001](https://github.com/emilk/egui/pull/3001) (thanks [@hinto-janai](https://github.com/hinto-janai)!)
* Add keys `?`, `/`, `|` [#3820](https://github.com/emilk/egui/pull/3820)
* Add `Response::contains_pointer` [#3859](https://github.com/emilk/egui/pull/3859)
* Add `Align2::anchor_size` [#3863](https://github.com/emilk/egui/pull/3863)
* Add `Context::debug_text` [#3864](https://github.com/emilk/egui/pull/3864)
* Allow read access to shapes added to painter this frame [#3866](https://github.com/emilk/egui/pull/3866) (thanks [@brunizzl](https://github.com/brunizzl)!)
* Register callbacks with `Context::on_begin_frame` and `on_end_frame` [#3886](https://github.com/emilk/egui/pull/3886)
* Improve `Frame` API to allow picking color until after adding content [#3889](https://github.com/emilk/egui/pull/3889)
* Add opacity factor to `TextShape` [#3916](https://github.com/emilk/egui/pull/3916) (thanks [@StratusFearMe21](https://github.com/StratusFearMe21)!)
* `Context::repaint_causes`: `file:line` of what caused a repaint [#3949](https://github.com/emilk/egui/pull/3949)
* Add `TextureOptions::wrap_mode` [#3954](https://github.com/emilk/egui/pull/3954) (thanks [@CodedNil](https://github.com/CodedNil)!)
* Add `Spacing::menu_width` [#3973](https://github.com/emilk/egui/pull/3973)
### 🔧 Changed
* Move text selection logic to own module [#3843](https://github.com/emilk/egui/pull/3843)
* Smooth scrolling [#3884](https://github.com/emilk/egui/pull/3884)
* Turn off text wrapping by default in combo-box popups [#3912](https://github.com/emilk/egui/pull/3912)
* `Response.context_menu` now returns the response of the context menu, if open [#3904](https://github.com/emilk/egui/pull/3904) (thanks [@AufarZakiev](https://github.com/AufarZakiev)!)
* Update to puffin 0.19 [#3940](https://github.com/emilk/egui/pull/3940)
* Wait with showing tooltip until mouse has been still for 300ms [#3977](https://github.com/emilk/egui/pull/3977)
### 🐛 Fixed
* Fix: dragging to above/below a `TextEdit` or `Label` will select text to begin/end [#3858](https://github.com/emilk/egui/pull/3858)
* Fix clickable widgets blocking scrolling on touch screens [#3815](https://github.com/emilk/egui/pull/3815) (thanks [@lucasmerlin](https://github.com/lucasmerlin)!)
* Fix `stable_dt` [#3832](https://github.com/emilk/egui/pull/3832)
* Bug Fix : `Response::is_pointer_button_down_on` is now false the frame the button is released [#3833](https://github.com/emilk/egui/pull/3833) (thanks [@rustbasic](https://github.com/rustbasic)!)
* Use runtime knowledge of OS for OS-specific text editing [#3840](https://github.com/emilk/egui/pull/3840)
* Fix calling `request_repaint_after` every frame causing immediate repaint [#3978](https://github.com/emilk/egui/pull/3978)
### 🚀 Performance
* Niche-optimize `Id` so that `Option<Id>` is the same size as `Id` [#3932](https://github.com/emilk/egui/pull/3932)
* Parallel tessellation with opt-in `rayon` feature [#3934](https://github.com/emilk/egui/pull/3934)
## 0.25.0 - 2024-01-08 - Better keyboard input
### ⚠️ BREAKING

24
Cargo.lock

@ -1181,7 +1181,7 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
[[package]]
name = "ecolor"
version = "0.25.0"
version = "0.26.0"
dependencies = [
"bytemuck",
"cint",
@ -1192,7 +1192,7 @@ dependencies = [
[[package]]
name = "eframe"
version = "0.25.0"
version = "0.26.0"
dependencies = [
"bytemuck",
"cocoa",
@ -1230,7 +1230,7 @@ dependencies = [
[[package]]
name = "egui"
version = "0.25.0"
version = "0.26.0"
dependencies = [
"accesskit",
"ahash",
@ -1246,7 +1246,7 @@ dependencies = [
[[package]]
name = "egui-wgpu"
version = "0.25.0"
version = "0.26.0"
dependencies = [
"bytemuck",
"document-features",
@ -1263,7 +1263,7 @@ dependencies = [
[[package]]
name = "egui-winit"
version = "0.25.0"
version = "0.26.0"
dependencies = [
"accesskit_winit",
"arboard",
@ -1281,7 +1281,7 @@ dependencies = [
[[package]]
name = "egui_demo_app"
version = "0.25.0"
version = "0.26.0"
dependencies = [
"bytemuck",
"chrono",
@ -1306,7 +1306,7 @@ dependencies = [
[[package]]
name = "egui_demo_lib"
version = "0.25.0"
version = "0.26.0"
dependencies = [
"chrono",
"criterion",
@ -1321,7 +1321,7 @@ dependencies = [
[[package]]
name = "egui_extras"
version = "0.25.0"
version = "0.26.0"
dependencies = [
"chrono",
"document-features",
@ -1339,7 +1339,7 @@ dependencies = [
[[package]]
name = "egui_glow"
version = "0.25.0"
version = "0.26.0"
dependencies = [
"bytemuck",
"document-features",
@ -1359,7 +1359,7 @@ dependencies = [
[[package]]
name = "egui_plot"
version = "0.25.0"
version = "0.26.0"
dependencies = [
"document-features",
"egui",
@ -1388,7 +1388,7 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]]
name = "emath"
version = "0.25.0"
version = "0.26.0"
dependencies = [
"bytemuck",
"document-features",
@ -1463,7 +1463,7 @@ dependencies = [
[[package]]
name = "epaint"
version = "0.25.0"
version = "0.26.0"
dependencies = [
"ab_glyph",
"ahash",

24
Cargo.toml

@ -20,7 +20,7 @@ members = [
edition = "2021"
license = "MIT OR Apache-2.0"
rust-version = "1.72"
version = "0.25.0"
version = "0.26.0"
[profile.release]
@ -48,17 +48,17 @@ opt-level = 2
[workspace.dependencies]
emath = { version = "0.25.0", path = "crates/emath", default-features = false }
ecolor = { version = "0.25.0", path = "crates/ecolor", default-features = false }
epaint = { version = "0.25.0", path = "crates/epaint", default-features = false }
egui = { version = "0.25.0", path = "crates/egui", default-features = false }
egui_plot = { version = "0.25.0", path = "crates/egui_plot", default-features = false }
egui-winit = { version = "0.25.0", path = "crates/egui-winit", default-features = false }
egui_extras = { version = "0.25.0", path = "crates/egui_extras", default-features = false }
egui-wgpu = { version = "0.25.0", path = "crates/egui-wgpu", default-features = false }
egui_demo_lib = { version = "0.25.0", path = "crates/egui_demo_lib", default-features = false }
egui_glow = { version = "0.25.0", path = "crates/egui_glow", default-features = false }
eframe = { version = "0.25.0", path = "crates/eframe", default-features = false }
emath = { version = "0.26.0", path = "crates/emath", default-features = false }
ecolor = { version = "0.26.0", path = "crates/ecolor", default-features = false }
epaint = { version = "0.26.0", path = "crates/epaint", default-features = false }
egui = { version = "0.26.0", path = "crates/egui", default-features = false }
egui_plot = { version = "0.26.0", path = "crates/egui_plot", default-features = false }
egui-winit = { version = "0.26.0", path = "crates/egui-winit", default-features = false }
egui_extras = { version = "0.26.0", path = "crates/egui_extras", default-features = false }
egui-wgpu = { version = "0.26.0", path = "crates/egui-wgpu", default-features = false }
egui_demo_lib = { version = "0.26.0", path = "crates/egui_demo_lib", default-features = false }
egui_glow = { version = "0.26.0", path = "crates/egui_glow", default-features = false }
eframe = { version = "0.26.0", path = "crates/eframe", default-features = false }
#TODO(emilk): make more things workspace dependencies
ahash = { version = "0.8.6", default-features = false, features = [

4
crates/ecolor/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.26.0 - 2024-02-05
* Nothing new
## 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)!)

17
crates/eframe/CHANGELOG.md

@ -7,6 +7,23 @@ 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.26.0 - 2024-02-05
* Update `wgpu` to 0.19 [#3824](https://github.com/emilk/egui/pull/3824)
* Disable the default features of `wgpu` [#3875](https://github.com/emilk/egui/pull/3875)
* Much more accurate `cpu_usage` timing [#3913](https://github.com/emilk/egui/pull/3913)
* Update to puffin 0.19 [#3940](https://github.com/emilk/egui/pull/3940)
#### Desktop/Native:
* Keep `ViewportInfo::maximized` and `minimized` up-to-date on Windows [#3831](https://github.com/emilk/egui/pull/3831) (thanks [@rustbasic](https://github.com/rustbasic)!)
* Handle `IconData::default()` without crashing [#3842](https://github.com/emilk/egui/pull/3842)
* Fix Android crash on resume [#3847](https://github.com/emilk/egui/pull/3847) [#3867](https://github.com/emilk/egui/pull/3867) (thanks [@Garoven](https://github.com/Garoven)!)
* Add `WgpuConfiguration::desired_maximum_frame_latency` [#3874](https://github.com/emilk/egui/pull/3874)
* Don't call `App::update` on minimized windows [#3877](https://github.com/emilk/egui/pull/3877) (thanks [@rustbasic](https://github.com/rustbasic)!)
#### Web:
* When using `wgpu` on web, `eframe` will try to use WebGPU if available, then fall back to WebGL [#3824](https://github.com/emilk/egui/pull/3824) [#3895](https://github.com/emilk/egui/pull/3895) (thanks [@Wumpf](https://github.com/Wumpf)!)
## 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)

11
crates/egui-wgpu/CHANGELOG.md

@ -6,6 +6,17 @@ 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.26.0 - 2024-02-05
* Update wgpu to 0.19 [#3824](https://github.com/emilk/egui/pull/3824)
* Add `WgpuConfiguration::desired_maximum_frame_latency` [#3874](https://github.com/emilk/egui/pull/3874)
* Disable the default features of `wgpu` [#3875](https://github.com/emilk/egui/pull/3875)
* If WebGPU fails, re-try adapter creation with WebGL [#3895](https://github.com/emilk/egui/pull/3895) (thanks [@Wumpf](https://github.com/Wumpf)!)
* Delay call to `get_current_texture` (possible small performance win) [#3914](https://github.com/emilk/egui/pull/3914)
* Add `x11` and `wayland` features [#3909](https://github.com/emilk/egui/pull/3909) (thanks [@YgorSouza](https://github.com/YgorSouza)!)
* Pass `ScreenDescriptor` to `egui_wgpu::CallbackTrait::prepare` [#3960](https://github.com/emilk/egui/pull/3960) (thanks [@StratusFearMe21](https://github.com/StratusFearMe21)!)
* Make `egui_wgpu::renderer` a private module [#3979](https://github.com/emilk/egui/pull/3979)
## 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)!)

5
crates/egui-winit/CHANGELOG.md

@ -5,6 +5,11 @@ 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.26.0 - 2024-02-05
* Don't consume clipboard shortcuts [#3812](https://github.com/emilk/egui/pull/3812) (thanks [@Dinnerbone](https://github.com/Dinnerbone)!)
* Make the `clipboard_text` and `allow_ime` state public [#3724](https://github.com/emilk/egui/pull/3724) (thanks [@tosti007](https://github.com/tosti007)!)
## 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)!)

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.26.0 - 2024-02-05
* Remove `unwrap`s in SVG scaling [#3826](https://github.com/emilk/egui/pull/3826) (thanks [@amPerl](https://github.com/amPerl)!)
* Update to ehttp 0.4 [#3834](https://github.com/emilk/egui/pull/3834)
* Fix `StripBuilder` not allocating its used space [#3957](https://github.com/emilk/egui/pull/3957) (thanks [@IVAN-MK7](https://github.com/IVAN-MK7)!)
* Override text color with stroke selection color for selected cells [#3968](https://github.com/emilk/egui/pull/3968) (thanks [@njust](https://github.com/njust)!)
## 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)!)

4
crates/egui_glow/CHANGELOG.md

@ -6,6 +6,10 @@ Changes since the last release can be found at <https://github.com/emilk/egui/co
## 0.26.0 - 2024-02-05
* Add `x11` and `wayland` features [#3909](https://github.com/emilk/egui/pull/3909) (thanks [@YgorSouza](https://github.com/YgorSouza)!)
## 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)!)

11
crates/egui_plot/CHANGELOG.md

@ -5,6 +5,17 @@ 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.26.0 - 2024-02-05
* Make `egui_plot::PlotMemory` public [#3871](https://github.com/emilk/egui/pull/3871)
* Customizable spacing of grid and axis label spacing [#3896](https://github.com/emilk/egui/pull/3896)
* Change default plot line thickness from 1.0 to 1.5 [#3918](https://github.com/emilk/egui/pull/3918)
* Automatically expand plot axes thickness to fit their labels [#3921](https://github.com/emilk/egui/pull/3921)
* Plot items now have optional id which is returned in the plot's response when hovered [#3920](https://github.com/emilk/egui/pull/3920) (thanks [@Wumpf](https://github.com/Wumpf)!)
* Parallel tessellation with opt-in `rayon` feature [#3934](https://github.com/emilk/egui/pull/3934)
* Make `egui_plot::PlotItem` a public trait [#3943](https://github.com/emilk/egui/pull/3943)
* Fix clip rect for plot items [#3955](https://github.com/emilk/egui/pull/3955) (thanks [@YgorSouza](https://github.com/YgorSouza)!)
## 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)!)

6
crates/epaint/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.26.0 - 2024-02-05
* Add `Align2::anchor_size` [#3863](https://github.com/emilk/egui/pull/3863)
* Add opacity factor to `TextShape` [#3916](https://github.com/emilk/egui/pull/3916) (thanks [@StratusFearMe21](https://github.com/StratusFearMe21)!)
* Parallel tessellation with opt-in `rayon` feature [#3934](https://github.com/emilk/egui/pull/3934)
## 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)!)

2
scripts/cargo_deny.sh

@ -5,7 +5,7 @@ script_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd "$script_path/.."
set -x
cargo install cargo-deny
cargo install --quiet cargo-deny
cargo deny --all-features --log-level error --target aarch64-apple-darwin check
cargo deny --all-features --log-level error --target aarch64-linux-android check

Loading…
Cancel
Save