From dfbe118ea47576cc0400899649850193515ae630 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Fri, 29 Mar 2024 13:12:26 +0100 Subject: [PATCH] Release 0.27.1 (#4264) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## egui changelog ### 🐛 Fixed * Fix visual glitch on the right side of highly rounded rectangles [#4244](https://github.com/emilk/egui/pull/4244) * Prevent visual glitch when shadow blur width is very high [#4245](https://github.com/emilk/egui/pull/4245) * Fix `InputState::any_touches` and add `InputState::has_touch_screen` [#4247](https://github.com/emilk/egui/pull/4247) * Fix `Context::repaint_causes` returning no causes [#4248](https://github.com/emilk/egui/pull/4248) * Fix touch-and-hold to open context menu [#4249](https://github.com/emilk/egui/pull/4249) * Hide shortcut text on zoom buttons if `zoom_with_keyboard` is false [#4262](https://github.com/emilk/egui/pull/4262) ### 🔧 Changed * Don't apply a clip rect to the contents of an `Area` or `Window` [#4258](https://github.com/emilk/egui/pull/4258) ## eframe changelog * Web: repaint if the `#hash` in the URL changes [#4261](https://github.com/emilk/egui/pull/4261) * Add web support for `zoom_factor` [#4260](https://github.com/emilk/egui/pull/4260) (thanks [@justusdieckmann](https://github.com/justusdieckmann)!) --------- Co-authored-by: Justus Dieckmann <45795270+justusdieckmann@users.noreply.github.com> --- CHANGELOG.md | 13 ++++++++ Cargo.lock | 24 +++++++-------- Cargo.toml | 24 +++++++-------- crates/ecolor/CHANGELOG.md | 4 +++ crates/eframe/CHANGELOG.md | 5 ++++ crates/egui-wgpu/CHANGELOG.md | 4 +++ crates/egui-winit/CHANGELOG.md | 4 +++ crates/egui_extras/CHANGELOG.md | 4 +++ crates/egui_glow/CHANGELOG.md | 4 +++ crates/egui_plot/CHANGELOG.md | 4 +++ crates/epaint/CHANGELOG.md | 5 ++++ scripts/generate_changelog.py | 53 ++++++++++++++++++++++----------- 12 files changed, 107 insertions(+), 41 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 128eba90..764b01ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,19 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.27.1 - 2024-03-29 +### 🐛 Fixed +* Fix visual glitch on the right side of highly rounded rectangles [#4244](https://github.com/emilk/egui/pull/4244) +* Prevent visual glitch when shadow blur width is very high [#4245](https://github.com/emilk/egui/pull/4245) +* Fix `InputState::any_touches` and add `InputState::has_touch_screen` [#4247](https://github.com/emilk/egui/pull/4247) +* Fix `Context::repaint_causes` returning no causes [#4248](https://github.com/emilk/egui/pull/4248) +* Fix touch-and-hold to open context menu [#4249](https://github.com/emilk/egui/pull/4249) +* Hide shortcut text on zoom buttons if `zoom_with_keyboard` is false [#4262](https://github.com/emilk/egui/pull/4262) + +### 🔧 Changed +* Don't apply a clip rect to the contents of an `Area` or `Window` [#4258](https://github.com/emilk/egui/pull/4258) + + ## 0.27.0 - 2024-03-26 - Nicer menus and new hit test logic The hit test logic (what is the user clicking on?) has been completely rewritten, and should now be much more accurate and helpful. The hit test and interaction logic is run at the start of the frame, using the widgets rects from the previous frame, but the latest mouse coordinates. diff --git a/Cargo.lock b/Cargo.lock index 2a517c70..0a72704b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1187,7 +1187,7 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "ecolor" -version = "0.27.0" +version = "0.27.1" dependencies = [ "bytemuck", "cint", @@ -1198,7 +1198,7 @@ dependencies = [ [[package]] name = "eframe" -version = "0.27.0" +version = "0.27.1" dependencies = [ "bytemuck", "cocoa", @@ -1236,7 +1236,7 @@ dependencies = [ [[package]] name = "egui" -version = "0.27.0" +version = "0.27.1" dependencies = [ "accesskit", "ahash", @@ -1252,7 +1252,7 @@ dependencies = [ [[package]] name = "egui-wgpu" -version = "0.27.0" +version = "0.27.1" dependencies = [ "bytemuck", "document-features", @@ -1269,7 +1269,7 @@ dependencies = [ [[package]] name = "egui-winit" -version = "0.27.0" +version = "0.27.1" dependencies = [ "accesskit_winit", "arboard", @@ -1287,7 +1287,7 @@ dependencies = [ [[package]] name = "egui_demo_app" -version = "0.27.0" +version = "0.27.1" dependencies = [ "bytemuck", "chrono", @@ -1312,7 +1312,7 @@ dependencies = [ [[package]] name = "egui_demo_lib" -version = "0.27.0" +version = "0.27.1" dependencies = [ "chrono", "criterion", @@ -1327,7 +1327,7 @@ dependencies = [ [[package]] name = "egui_extras" -version = "0.27.0" +version = "0.27.1" dependencies = [ "chrono", "document-features", @@ -1345,7 +1345,7 @@ dependencies = [ [[package]] name = "egui_glow" -version = "0.27.0" +version = "0.27.1" dependencies = [ "bytemuck", "document-features", @@ -1365,7 +1365,7 @@ dependencies = [ [[package]] name = "egui_plot" -version = "0.27.0" +version = "0.27.1" dependencies = [ "document-features", "egui", @@ -1394,7 +1394,7 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "emath" -version = "0.27.0" +version = "0.27.1" dependencies = [ "bytemuck", "document-features", @@ -1469,7 +1469,7 @@ dependencies = [ [[package]] name = "epaint" -version = "0.27.0" +version = "0.27.1" dependencies = [ "ab_glyph", "ahash", diff --git a/Cargo.toml b/Cargo.toml index 431bffcf..bde03d7c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,7 +20,7 @@ members = [ edition = "2021" license = "MIT OR Apache-2.0" rust-version = "1.72" -version = "0.27.0" +version = "0.27.1" [profile.release] @@ -48,17 +48,17 @@ opt-level = 2 [workspace.dependencies] -emath = { version = "0.27.0", path = "crates/emath", default-features = false } -ecolor = { version = "0.27.0", path = "crates/ecolor", default-features = false } -epaint = { version = "0.27.0", path = "crates/epaint", default-features = false } -egui = { version = "0.27.0", path = "crates/egui", default-features = false } -egui_plot = { version = "0.27.0", path = "crates/egui_plot", default-features = false } -egui-winit = { version = "0.27.0", path = "crates/egui-winit", default-features = false } -egui_extras = { version = "0.27.0", path = "crates/egui_extras", default-features = false } -egui-wgpu = { version = "0.27.0", path = "crates/egui-wgpu", default-features = false } -egui_demo_lib = { version = "0.27.0", path = "crates/egui_demo_lib", default-features = false } -egui_glow = { version = "0.27.0", path = "crates/egui_glow", default-features = false } -eframe = { version = "0.27.0", path = "crates/eframe", default-features = false } +emath = { version = "0.27.1", path = "crates/emath", default-features = false } +ecolor = { version = "0.27.1", path = "crates/ecolor", default-features = false } +epaint = { version = "0.27.1", path = "crates/epaint", default-features = false } +egui = { version = "0.27.1", path = "crates/egui", default-features = false } +egui_plot = { version = "0.27.1", path = "crates/egui_plot", default-features = false } +egui-winit = { version = "0.27.1", path = "crates/egui-winit", default-features = false } +egui_extras = { version = "0.27.1", path = "crates/egui_extras", default-features = false } +egui-wgpu = { version = "0.27.1", path = "crates/egui-wgpu", default-features = false } +egui_demo_lib = { version = "0.27.1", path = "crates/egui_demo_lib", default-features = false } +egui_glow = { version = "0.27.1", path = "crates/egui_glow", default-features = false } +eframe = { version = "0.27.1", path = "crates/eframe", default-features = false } #TODO(emilk): make more things workspace dependencies ahash = { version = "0.8.6", default-features = false, features = [ diff --git a/crates/ecolor/CHANGELOG.md b/crates/ecolor/CHANGELOG.md index d21513d6..493d125e 100644 --- a/crates/ecolor/CHANGELOG.md +++ b/crates/ecolor/CHANGELOG.md @@ -6,6 +6,10 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.27.1 - 2024-03-29 +* Nothing new + + ## 0.27.0 - 2024-03-26 * Nothing new diff --git a/crates/eframe/CHANGELOG.md b/crates/eframe/CHANGELOG.md index 3f3c3d68..e110500c 100644 --- a/crates/eframe/CHANGELOG.md +++ b/crates/eframe/CHANGELOG.md @@ -7,6 +7,11 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.27.1 - 2024-03-29 +* Web: repaint if the `#hash` in the URL changes [#4261](https://github.com/emilk/egui/pull/4261) +* Add web support for `zoom_factor` [#4260](https://github.com/emilk/egui/pull/4260) (thanks [@justusdieckmann](https://github.com/justusdieckmann)!) + + ## 0.27.0 - 2024-03-26 * Update to document-features 0.2.8 [#4003](https://github.com/emilk/egui/pull/4003) * Added `App::raw_input_hook` allows for the manipulation or filtering of raw input events [#4008](https://github.com/emilk/egui/pull/4008) (thanks [@varphone](https://github.com/varphone)!) diff --git a/crates/egui-wgpu/CHANGELOG.md b/crates/egui-wgpu/CHANGELOG.md index 92da1e97..9dea60d1 100644 --- a/crates/egui-wgpu/CHANGELOG.md +++ b/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 or by running the `scripts/generate_changelog.py` script. +## 0.27.1 - 2024-03-29 +* Nothing new + + ## 0.27.0 - 2024-03-26 * Improve panic message in egui-wgpu when failing to create buffers [#3986](https://github.com/emilk/egui/pull/3986) diff --git a/crates/egui-winit/CHANGELOG.md b/crates/egui-winit/CHANGELOG.md index ff85f8b5..52dd56e8 100644 --- a/crates/egui-winit/CHANGELOG.md +++ b/crates/egui-winit/CHANGELOG.md @@ -5,6 +5,10 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.27.1 - 2024-03-29 +* Nothing new + + ## 0.27.0 - 2024-03-26 * Update memoffset to 0.9.0, arboard to 3.3.1, and remove egui_glow's needless dependency on pure_glow's deps [#4036](https://github.com/emilk/egui/pull/4036) (thanks [@Nopey](https://github.com/Nopey)!) * Don't clear modifier state on focus change [#4157](https://github.com/emilk/egui/pull/4157) (thanks [@ming08108](https://github.com/ming08108)!) diff --git a/crates/egui_extras/CHANGELOG.md b/crates/egui_extras/CHANGELOG.md index fd498f37..0980768a 100644 --- a/crates/egui_extras/CHANGELOG.md +++ b/crates/egui_extras/CHANGELOG.md @@ -5,6 +5,10 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.27.1 - 2024-03-29 +* Nothing new + + ## 0.27.0 - 2024-03-26 * Add scroll bar visibility option to `Table` widget [#3981](https://github.com/emilk/egui/pull/3981) (thanks [@richardhozak](https://github.com/richardhozak)!) * Update `ehttp` to 0.5 [#4055](https://github.com/emilk/egui/pull/4055) diff --git a/crates/egui_glow/CHANGELOG.md b/crates/egui_glow/CHANGELOG.md index 970fb87a..f39d8a19 100644 --- a/crates/egui_glow/CHANGELOG.md +++ b/crates/egui_glow/CHANGELOG.md @@ -6,6 +6,10 @@ Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.27.1 - 2024-03-29 +* Nothing new + + ## 0.27.0 - 2024-03-26 * Add `sense` option to `Plot` [#4052](https://github.com/emilk/egui/pull/4052) (thanks [@AmesingFlank](https://github.com/AmesingFlank)!) * Plot widget - allow disabling scroll for x and y separately [#4051](https://github.com/emilk/egui/pull/4051) (thanks [@YgorSouza](https://github.com/YgorSouza)!) diff --git a/crates/epaint/CHANGELOG.md b/crates/epaint/CHANGELOG.md index 4e222f85..b5fc33f6 100644 --- a/crates/epaint/CHANGELOG.md +++ b/crates/epaint/CHANGELOG.md @@ -5,6 +5,11 @@ This file is updated upon each release. Changes since the last release can be found at or by running the `scripts/generate_changelog.py` script. +## 0.27.1 - 2024-03-29 +* Fix visual glitch on the right side of highly rounded rectangles [#4244](https://github.com/emilk/egui/pull/4244) +* Prevent visual glitch when shadow blur width is very high [#4245](https://github.com/emilk/egui/pull/4245) + + ## 0.27.0 - 2024-03-26 * Add `ColorImage::from_gray_iter` [#3536](https://github.com/emilk/egui/pull/3536) (thanks [@wangxiaochuTHU](https://github.com/wangxiaochuTHU)!) * Convenience const fn for `Margin`, `Rounding` and `Shadow` [#4080](https://github.com/emilk/egui/pull/4080) (thanks [@0Qwel](https://github.com/0Qwel)!) diff --git a/scripts/generate_changelog.py b/scripts/generate_changelog.py index 17b44f49..6b0fc71e 100755 --- a/scripts/generate_changelog.py +++ b/scripts/generate_changelog.py @@ -115,18 +115,22 @@ def print_section(crate: str, items: List[str]) -> None: print() +def changelog_filepath(crate: str) -> str: + scripts_dirpath = os.path.dirname(os.path.realpath(__file__)) + if crate == "egui": + file_path = f"{scripts_dirpath}/../CHANGELOG.md" + else: + file_path = f"{scripts_dirpath}/../crates/{crate}/CHANGELOG.md" + return os.path.normpath(file_path) + + def add_to_changelog_file(crate: str, items: List[str], version: str) -> None: insert_text = f"\n## {version} - {date.today()}\n" for item in items: insert_text += f"* {item}\n" insert_text += "\n" - scripts_dirpath = os.path.dirname(os.path.realpath(__file__)) - if crate == "egui": - file_path = f"{scripts_dirpath}/../CHANGELOG.md" - else: - file_path = f"{scripts_dirpath}/../crates/{crate}/CHANGELOG.md" - file_path = os.path.normpath(file_path) + file_path = changelog_filepath(crate) with open(file_path, 'r') as file: content = file.read() @@ -151,6 +155,28 @@ def main() -> None: print("ERROR: --version is required when --write is used") sys.exit(1) + crate_names = [ + "ecolor", + "eframe", + "egui_extras", + "egui_plot", + "egui_glow", + "egui-wgpu", + "egui-winit", + "egui", + "epaint", + ] + + # We read all existing changelogs to remove duplicate entries. + # For instance: the PRs that were part of 0.27.2 would also show up in the diff for `0.27.0..HEAD` + # when its time for a 0.28 release. We can't do `0.27.2..HEAD` because we would miss PRs that were + # merged before in `0.27.0..0.27.2` that were not cherry-picked into `0.27.2`. + all_changelogs = "" + for crate in crate_names: + file_path = changelog_filepath(crate) + with open(file_path, 'r') as file: + all_changelogs += file.read() + repo = Repo(".") commits = list(repo.iter_commits(args.commit_range)) commits.reverse() # Most recent last @@ -167,17 +193,6 @@ def main() -> None: ignore_labels = ["CI", "dependencies"] - crate_names = [ - "ecolor", - "eframe", - "egui_extras", - "egui_plot", - "egui_glow", - "egui-wgpu", - "egui-winit", - "egui", - "epaint", - ] sections = {} unsorted_prs = [] unsorted_commits = [] @@ -193,6 +208,10 @@ def main() -> None: summary = f"{title} [{hexsha[:7]}](https://github.com/{OWNER}/{REPO}/commit/{hexsha})" unsorted_commits.append(summary) else: + if f"[#{pr_number}]" in all_changelogs: + print(f"Ignoring PR that is already in the changelog: #{pr_number}") + continue + # We prefer the PR title if available title = pr_info.pr_title if pr_info else title labels = pr_info.labels if pr_info else []