Release 0.27.1 (#4264)

## 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>
This commit is contained in:
Emil Ernerfeldt 2024-03-29 13:12:26 +01:00 committed by GitHub
parent 946bc888db
commit dfbe118ea4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 107 additions and 41 deletions

View File

@ -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.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.

24
Cargo.lock generated
View File

@ -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",

View File

@ -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 = [

View File

@ -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.27.1 - 2024-03-29
* Nothing new
## 0.27.0 - 2024-03-26
* Nothing new

View File

@ -7,6 +7,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.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)!)

View File

@ -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.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)

View File

@ -5,6 +5,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.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)!)

View File

@ -5,6 +5,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.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)

View File

@ -6,6 +6,10 @@ Changes since the last release can be found at <https://github.com/emilk/egui/co
## 0.27.1 - 2024-03-29
* Nothing new
## 0.27.0 - 2024-03-26
* Only disable sRGB framebuffer on supported platforms [#3994](https://github.com/emilk/egui/pull/3994) (thanks [@Nopey](https://github.com/Nopey)!)
* 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)!)

View File

@ -5,6 +5,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.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)!)

View File

@ -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.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)!)

View File

@ -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 []