Release 0.21.0 - Deadlock fix and winit update

This commit is contained in:
Emil Ernerfeldt 2023-02-08 20:11:21 +01:00
parent 1384fa3287
commit ae722ab0cf
21 changed files with 70 additions and 45 deletions

View file

@ -5,6 +5,9 @@ NOTE: [`epaint`](crates/epaint/CHANGELOG.md), [`eframe`](crates/eframe/CHANGELOG
## Unreleased ## Unreleased
## 0.21.0 - 2023-02-08 - Deadlock fix and style customizability
* ⚠️ BREAKING: `egui::Context` now use closures for locking ([#2625](https://github.com/emilk/egui/pull/2625)): * ⚠️ BREAKING: `egui::Context` now use closures for locking ([#2625](https://github.com/emilk/egui/pull/2625)):
* `ctx.input().key_pressed(Key::A)` -> `ctx.input(|i| i.key_pressed(Key::A))` * `ctx.input().key_pressed(Key::A)` -> `ctx.input(|i| i.key_pressed(Key::A))`
* `ui.memory().toggle_popup(popup_id)` -> `ui.memory_mut(|mem| mem.toggle_popup(popup_id))` * `ui.memory().toggle_popup(popup_id)` -> `ui.memory_mut(|mem| mem.toggle_popup(popup_id))`

22
Cargo.lock generated
View file

@ -1207,7 +1207,7 @@ checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60"
[[package]] [[package]]
name = "ecolor" name = "ecolor"
version = "0.20.0" version = "0.21.0"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"cint", "cint",
@ -1218,7 +1218,7 @@ dependencies = [
[[package]] [[package]]
name = "eframe" name = "eframe"
version = "0.20.1" version = "0.21.0"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"dark-light", "dark-light",
@ -1251,7 +1251,7 @@ dependencies = [
[[package]] [[package]]
name = "egui" name = "egui"
version = "0.20.1" version = "0.21.0"
dependencies = [ dependencies = [
"accesskit", "accesskit",
"ahash 0.8.3", "ahash 0.8.3",
@ -1265,7 +1265,7 @@ dependencies = [
[[package]] [[package]]
name = "egui-wgpu" name = "egui-wgpu"
version = "0.20.0" version = "0.21.0"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"document-features", "document-features",
@ -1279,7 +1279,7 @@ dependencies = [
[[package]] [[package]]
name = "egui-winit" name = "egui-winit"
version = "0.20.1" version = "0.21.0"
dependencies = [ dependencies = [
"accesskit_winit", "accesskit_winit",
"android-activity", "android-activity",
@ -1297,7 +1297,7 @@ dependencies = [
[[package]] [[package]]
name = "egui_demo_app" name = "egui_demo_app"
version = "0.20.0" version = "0.21.0"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"chrono", "chrono",
@ -1318,7 +1318,7 @@ dependencies = [
[[package]] [[package]]
name = "egui_demo_lib" name = "egui_demo_lib"
version = "0.20.0" version = "0.21.0"
dependencies = [ dependencies = [
"chrono", "chrono",
"criterion", "criterion",
@ -1334,7 +1334,7 @@ dependencies = [
[[package]] [[package]]
name = "egui_extras" name = "egui_extras"
version = "0.20.0" version = "0.21.0"
dependencies = [ dependencies = [
"chrono", "chrono",
"document-features", "document-features",
@ -1349,7 +1349,7 @@ dependencies = [
[[package]] [[package]]
name = "egui_glow" name = "egui_glow"
version = "0.20.1" version = "0.21.0"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"document-features", "document-features",
@ -1387,7 +1387,7 @@ checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
[[package]] [[package]]
name = "emath" name = "emath"
version = "0.20.0" version = "0.21.0"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"document-features", "document-features",
@ -1450,7 +1450,7 @@ dependencies = [
[[package]] [[package]]
name = "epaint" name = "epaint"
version = "0.20.0" version = "0.21.0"
dependencies = [ dependencies = [
"ab_glyph", "ab_glyph",
"ahash 0.8.3", "ahash 0.8.3",

View file

@ -3,6 +3,9 @@ All notable changes to the `ecolor` crate will be noted in this file.
## Unreleased ## Unreleased
## 0.21.0 - 2023-02-08
* Add `Color32::gamma_multiply` ([#2437](https://github.com/emilk/egui/pull/2437)). * Add `Color32::gamma_multiply` ([#2437](https://github.com/emilk/egui/pull/2437)).

View file

@ -1,6 +1,6 @@
[package] [package]
name = "ecolor" name = "ecolor"
version = "0.20.0" version = "0.21.0"
authors = [ authors = [
"Emil Ernerfeldt <emil.ernerfeldt@gmail.com>", "Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
"Andreas Reich <reichandreas@gmx.de>", "Andreas Reich <reichandreas@gmx.de>",

View file

@ -5,6 +5,9 @@ NOTE: [`egui-winit`](../egui-winit/CHANGELOG.md), [`egui_glium`](../egui_glium/C
## Unreleased ## Unreleased
## 0.21.0 - 2023-02-08 - Update to `winit` 0.28
* ⚠️ BREAKING: `App::clear_color` now expects you to return a raw float array ([#2666](https://github.com/emilk/egui/pull/2666)). * ⚠️ BREAKING: `App::clear_color` now expects you to return a raw float array ([#2666](https://github.com/emilk/egui/pull/2666)).
* The `screen_reader` feature has now been renamed `web_screen_reader` and only work on web. On other platforms, use the `accesskit` feature flag instead ([#2669](https://github.com/emilk/egui/pull/2669)). * The `screen_reader` feature has now been renamed `web_screen_reader` and only work on web. On other platforms, use the `accesskit` feature flag instead ([#2669](https://github.com/emilk/egui/pull/2669)).

View file

@ -1,6 +1,6 @@
[package] [package]
name = "eframe" name = "eframe"
version = "0.20.1" version = "0.21.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "egui framework - write GUI apps that compiles to web and/or natively" description = "egui framework - write GUI apps that compiles to web and/or natively"
edition = "2021" edition = "2021"
@ -68,7 +68,7 @@ wgpu = ["dep:wgpu", "dep:egui-wgpu", "dep:pollster"]
[dependencies] [dependencies]
egui = { version = "0.20.0", path = "../egui", default-features = false, features = [ egui = { version = "0.21.0", path = "../egui", default-features = false, features = [
"bytemuck", "bytemuck",
"tracing", "tracing",
] } ] }
@ -79,7 +79,7 @@ tracing = { version = "0.1", default-features = false, features = ["std"] }
## Enable this when generating docs. ## Enable this when generating docs.
document-features = { version = "0.2", optional = true } document-features = { version = "0.2", optional = true }
egui_glow = { version = "0.20.0", path = "../egui_glow", optional = true, default-features = false } egui_glow = { version = "0.21.0", path = "../egui_glow", optional = true, default-features = false }
glow = { version = "0.12", optional = true } glow = { version = "0.12", optional = true }
ron = { version = "0.8", optional = true, features = ["integer128"] } ron = { version = "0.8", optional = true, features = ["integer128"] }
serde = { version = "1", optional = true, features = ["derive"] } serde = { version = "1", optional = true, features = ["derive"] }
@ -87,7 +87,7 @@ serde = { version = "1", optional = true, features = ["derive"] }
# ------------------------------------------- # -------------------------------------------
# native: # native:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
egui-winit = { version = "0.20.0", path = "../egui-winit", default-features = false, features = [ egui-winit = { version = "0.21.0", path = "../egui-winit", default-features = false, features = [
"clipboard", "clipboard",
"links", "links",
] } ] }
@ -97,7 +97,7 @@ winit = "0.28.1"
# optional native: # optional native:
dark-light = { version = "1.0", optional = true } dark-light = { version = "1.0", optional = true }
directories-next = { version = "2", optional = true } directories-next = { version = "2", optional = true }
egui-wgpu = { version = "0.20.0", path = "../egui-wgpu", optional = true, features = [ egui-wgpu = { version = "0.21.0", path = "../egui-wgpu", optional = true, features = [
"winit", "winit",
] } # if wgpu is used, use it with winit ] } # if wgpu is used, use it with winit
pollster = { version = "0.3", optional = true } # needed for wgpu pollster = { version = "0.3", optional = true } # needed for wgpu
@ -164,6 +164,6 @@ web-sys = { version = "0.3.58", features = [
] } ] }
# optional web: # optional web:
egui-wgpu = { version = "0.20.0", path = "../egui-wgpu", optional = true } # if wgpu is used, use it without (!) winit egui-wgpu = { version = "0.21.0", path = "../egui-wgpu", optional = true } # if wgpu is used, use it without (!) winit
tts = { version = "0.25", optional = true, default-features = false } tts = { version = "0.25", optional = true, default-features = false }
wgpu = { version = "0.15.0", optional = true, features = ["webgl"] } wgpu = { version = "0.15.0", optional = true, features = ["webgl"] }

View file

@ -3,6 +3,9 @@ All notable changes to the `egui-wgpu` integration will be noted in this file.
## Unreleased ## Unreleased
## 0.21.0 - 2023-02-08
* Update to `wgpu` 0.15 ([#2629](https://github.com/emilk/egui/pull/2629)) * Update to `wgpu` 0.15 ([#2629](https://github.com/emilk/egui/pull/2629))
* Return `Err` instead of panic if we can't find a device ([#2428](https://github.com/emilk/egui/pull/2428)). * Return `Err` instead of panic if we can't find a device ([#2428](https://github.com/emilk/egui/pull/2428)).
* `winit::Painter::set_window` is now `async` ([#2434](https://github.com/emilk/egui/pull/2434)). * `winit::Painter::set_window` is now `async` ([#2434](https://github.com/emilk/egui/pull/2434)).

View file

@ -1,6 +1,6 @@
[package] [package]
name = "egui-wgpu" name = "egui-wgpu"
version = "0.20.0" version = "0.21.0"
description = "Bindings for using egui natively using the wgpu library" description = "Bindings for using egui natively using the wgpu library"
authors = [ authors = [
"Nils Hasenbanck <nils@hasenbanck.de>", "Nils Hasenbanck <nils@hasenbanck.de>",
@ -36,7 +36,7 @@ winit = ["dep:winit"]
[dependencies] [dependencies]
epaint = { version = "0.20.0", path = "../epaint", default-features = false, features = [ epaint = { version = "0.21.0", path = "../epaint", default-features = false, features = [
"bytemuck", "bytemuck",
] } ] }

View file

@ -3,6 +3,9 @@ All notable changes to the `egui-winit` integration will be noted in this file.
## Unreleased ## Unreleased
## 0.21.0 - 2023-02-08
* Fixed persistence of native window position on Windows OS ([#2583](https://github.com/emilk/egui/issues/2583)). * Fixed persistence of native window position on Windows OS ([#2583](https://github.com/emilk/egui/issues/2583)).
* Update to `winit` 0.28, adding support for mac trackpad zoom ([#2654](https://github.com/emilk/egui/pull/2654)). * Update to `winit` 0.28, adding support for mac trackpad zoom ([#2654](https://github.com/emilk/egui/pull/2654)).
* Remove the `screen_reader` feature. Use the `accesskit` feature flag instead ([#2669](https://github.com/emilk/egui/pull/2669)). * Remove the `screen_reader` feature. Use the `accesskit` feature flag instead ([#2669](https://github.com/emilk/egui/pull/2669)).

View file

@ -1,6 +1,6 @@
[package] [package]
name = "egui-winit" name = "egui-winit"
version = "0.20.1" version = "0.21.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using egui with winit" description = "Bindings for using egui with winit"
edition = "2021" edition = "2021"
@ -43,7 +43,7 @@ serde = ["egui/serde", "dep:serde"]
wayland = ["winit/wayland"] wayland = ["winit/wayland"]
[dependencies] [dependencies]
egui = { version = "0.20.0", path = "../egui", default-features = false, features = [ egui = { version = "0.21.0", path = "../egui", default-features = false, features = [
"tracing", "tracing",
] } ] }
instant = { version = "0.1", features = [ instant = { version = "0.1", features = [

View file

@ -1,6 +1,6 @@
[package] [package]
name = "egui" name = "egui"
version = "0.20.1" version = "0.21.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "An easy-to-use immediate mode GUI that runs on both web and native" description = "An easy-to-use immediate mode GUI that runs on both web and native"
edition = "2021" edition = "2021"
@ -59,7 +59,7 @@ unity = ["epaint/unity"]
[dependencies] [dependencies]
epaint = { version = "0.20.0", path = "../epaint", default-features = false } epaint = { version = "0.21.0", path = "../epaint", default-features = false }
ahash = { version = "0.8.1", default-features = false, features = [ ahash = { version = "0.8.1", default-features = false, features = [
"no-rng", # we don't need DOS-protection, so we let users opt-in to it instead "no-rng", # we don't need DOS-protection, so we let users opt-in to it instead

View file

@ -1,6 +1,6 @@
[package] [package]
name = "egui_demo_app" name = "egui_demo_app"
version = "0.20.0" version = "0.21.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
edition = "2021" edition = "2021"
@ -30,11 +30,11 @@ wgpu = ["eframe/wgpu", "bytemuck"]
[dependencies] [dependencies]
chrono = { version = "0.4", features = ["js-sys", "wasmbind"] } chrono = { version = "0.4", features = ["js-sys", "wasmbind"] }
eframe = { version = "0.20.0", path = "../eframe", default-features = false } eframe = { version = "0.21.0", path = "../eframe", default-features = false }
egui = { version = "0.20.0", path = "../egui", features = [ egui = { version = "0.21.0", path = "../egui", features = [
"extra_debug_asserts", "extra_debug_asserts",
] } ] }
egui_demo_lib = { version = "0.20.0", path = "../egui_demo_lib", features = [ egui_demo_lib = { version = "0.21.0", path = "../egui_demo_lib", features = [
"chrono", "chrono",
] } ] }
tracing = "0.1" tracing = "0.1"
@ -42,7 +42,7 @@ tracing = "0.1"
# Optional dependencies: # Optional dependencies:
bytemuck = { version = "1.7.1", optional = true } bytemuck = { version = "1.7.1", optional = true }
egui_extras = { version = "0.20.0", optional = true, path = "../egui_extras" } egui_extras = { version = "0.21.0", optional = true, path = "../egui_extras" }
# feature "http": # feature "http":
ehttp = { version = "0.2.0", optional = true } ehttp = { version = "0.2.0", optional = true }

View file

@ -1,6 +1,6 @@
[package] [package]
name = "egui_demo_lib" name = "egui_demo_lib"
version = "0.20.0" version = "0.21.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Example library for egui" description = "Example library for egui"
edition = "2021" edition = "2021"
@ -30,8 +30,8 @@ syntax_highlighting = ["syntect"]
[dependencies] [dependencies]
egui = { version = "0.20.0", path = "../egui", default-features = false } egui = { version = "0.21.0", path = "../egui", default-features = false }
egui_extras = { version = "0.20.0", path = "../egui_extras" } egui_extras = { version = "0.21.0", path = "../egui_extras" }
enum-map = { version = "2", features = ["serde"] } enum-map = { version = "2", features = ["serde"] }
tracing = { version = "0.1", default-features = false, features = ["std"] } tracing = { version = "0.1", default-features = false, features = ["std"] }
unicode_names2 = { version = "0.6.0", default-features = false } unicode_names2 = { version = "0.6.0", default-features = false }

View file

@ -5,6 +5,10 @@ All notable changes to the `egui_extras` integration will be noted in this file.
## Unreleased ## Unreleased
## 0.21.0 - 2023-02-08
* Update to egui 0.21
## 0.20.0 - 2022-12-08 ## 0.20.0 - 2022-12-08
* Added `RetainedImage::from_svg_bytes_with_size` to be able to specify a size for SVGs to be rasterized at. * Added `RetainedImage::from_svg_bytes_with_size` to be able to specify a size for SVGs to be rasterized at.
* Lots of `Table` improvements ([#2369](https://github.com/emilk/egui/pull/2369)): * Lots of `Table` improvements ([#2369](https://github.com/emilk/egui/pull/2369)):

View file

@ -1,6 +1,6 @@
[package] [package]
name = "egui_extras" name = "egui_extras"
version = "0.20.0" version = "0.21.0"
authors = [ authors = [
"Dominik Rössler <dominik@freshx.de>", "Dominik Rössler <dominik@freshx.de>",
"Emil Ernerfeldt <emil.ernerfeldt@gmail.com>", "Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
@ -37,7 +37,7 @@ tracing = ["dep:tracing", "egui/tracing"]
[dependencies] [dependencies]
egui = { version = "0.20.0", path = "../egui", default-features = false } egui = { version = "0.21.0", path = "../egui", default-features = false }
serde = { version = "1", features = ["derive"] } serde = { version = "1", features = ["derive"] }

View file

@ -1,6 +1,6 @@
[package] [package]
name = "egui_glium" name = "egui_glium"
version = "0.20.1" version = "0.21.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using egui natively using the glium library" description = "Bindings for using egui natively using the glium library"
edition = "2021" edition = "2021"
@ -36,10 +36,10 @@ links = ["egui-winit/links"]
[dependencies] [dependencies]
egui = { version = "0.20.0", path = "../egui", default-features = false, features = [ egui = { version = "0.21.0", path = "../egui", default-features = false, features = [
"bytemuck", "bytemuck",
] } ] }
egui-winit = { version = "0.20.0", path = "../egui-winit", default-features = false } egui-winit = { version = "0.21.0", path = "../egui-winit", default-features = false }
ahash = { version = "0.8.1", default-features = false, features = [ ahash = { version = "0.8.1", default-features = false, features = [
"no-rng", # we don't need DOS-protection, so we let users opt-in to it instead "no-rng", # we don't need DOS-protection, so we let users opt-in to it instead
@ -54,5 +54,5 @@ document-features = { version = "0.2", optional = true }
[dev-dependencies] [dev-dependencies]
egui_demo_lib = { version = "0.20.0", path = "../egui_demo_lib", default-features = false } egui_demo_lib = { version = "0.21.0", path = "../egui_demo_lib", default-features = false }
image = { version = "0.24", default-features = false, features = ["png"] } image = { version = "0.24", default-features = false, features = ["png"] }

View file

@ -3,6 +3,9 @@ All notable changes to the `egui_glow` integration will be noted in this file.
## Unreleased ## Unreleased
## 0.21.0 - 2023-02-08
* Update to `glow` 0.12 ([#2695](https://github.com/emilk/egui/pull/2695)). * Update to `glow` 0.12 ([#2695](https://github.com/emilk/egui/pull/2695)).
* Remove the `screen_reader` feature ([#2669](https://github.com/emilk/egui/pull/2669)). * Remove the `screen_reader` feature ([#2669](https://github.com/emilk/egui/pull/2669)).

View file

@ -1,6 +1,6 @@
[package] [package]
name = "egui_glow" name = "egui_glow"
version = "0.20.1" version = "0.21.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using egui natively using the glow library" description = "Bindings for using egui natively using the glow library"
edition = "2021" edition = "2021"
@ -44,7 +44,7 @@ winit = ["egui-winit"]
[dependencies] [dependencies]
egui = { version = "0.20.0", path = "../egui", default-features = false, features = [ egui = { version = "0.21.0", path = "../egui", default-features = false, features = [
"bytemuck", "bytemuck",
] } ] }
@ -59,7 +59,7 @@ document-features = { version = "0.2", optional = true }
# Native: # Native:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] [target.'cfg(not(target_arch = "wasm32"))'.dependencies]
egui-winit = { version = "0.20.0", path = "../egui-winit", optional = true, default-features = false } egui-winit = { version = "0.21.0", path = "../egui-winit", optional = true, default-features = false }
puffin = { version = "0.14", optional = true } puffin = { version = "0.14", optional = true }
# Web: # Web:

View file

@ -1,6 +1,6 @@
[package] [package]
name = "emath" name = "emath"
version = "0.20.0" version = "0.21.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Minimal 2D math library for GUI work" description = "Minimal 2D math library for GUI work"
edition = "2021" edition = "2021"

View file

@ -3,6 +3,9 @@ All notable changes to the epaint crate will be documented in this file.
## Unreleased ## Unreleased
## 0.21.0 - 2023-02-08
* Improve the look of thin white lines ([#2437](https://github.com/emilk/egui/pull/2437)). * Improve the look of thin white lines ([#2437](https://github.com/emilk/egui/pull/2437)).
* Don't render `\r` (Carriage Return) ([#2452](https://github.com/emilk/egui/pull/2452)). * Don't render `\r` (Carriage Return) ([#2452](https://github.com/emilk/egui/pull/2452)).
* Fix bug in `Mesh::split_to_u16` ([#2459](https://github.com/emilk/egui/pull/2459)). * Fix bug in `Mesh::split_to_u16` ([#2459](https://github.com/emilk/egui/pull/2459)).

View file

@ -1,6 +1,6 @@
[package] [package]
name = "epaint" name = "epaint"
version = "0.20.0" version = "0.21.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Minimal 2D graphics library for GUI work" description = "Minimal 2D graphics library for GUI work"
edition = "2021" edition = "2021"
@ -67,8 +67,8 @@ serde = ["dep:serde", "ahash/serde", "emath/serde", "ecolor/serde"]
unity = [] unity = []
[dependencies] [dependencies]
emath = { version = "0.20.0", path = "../emath" } emath = { version = "0.21.0", path = "../emath" }
ecolor = { version = "0.20.0", path = "../ecolor" } ecolor = { version = "0.21.0", path = "../ecolor" }
ab_glyph = "0.2.11" ab_glyph = "0.2.11"
ahash = { version = "0.8.1", default-features = false, features = [ ahash = { version = "0.8.1", default-features = false, features = [