-
-
Notifications
You must be signed in to change notification settings - Fork 80
New post! #322
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
New post! #322
Conversation
08183c1
to
b980703
Compare
date: 2025-07-15 16:00:00 +0000 | ||
--- | ||
|
||
For the interested ones, here is the list of the merged pull requests: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should have some paragraph at the top that lists
- Release for GNOME 49 with support for all the new APIs
- Also new adwaita, gstreamer (https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/blob/main/gstreamer/CHANGELOG.md#0240---2025-07-15) and gst-plugins-rs (https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/blob/main/CHANGELOG.md?ref_type=heads#0140---2025-07-16) releases
- Breaking API changes, but only very few. Next breaking release planned for summer of next year.
- "Please test the new version and report any bugs you find here"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gtk4-rs 0.10 and gtk-rs-core 0.21 were just released in time for the GNOME 49 release. This release features support for all the new APIs that were added during the GNOME 49 development cycle, and in addition contains some bindings API cleanups. There were very few breaking API changes.
As usual, this release happened in sync with other bindings for GObject-based libraries: libadwaita 0.8, gstreamer 0.24, gst-plugins-rs 0.14 and various others maintained in the GNOME Rust group.
The next API breaking release is planned for summer 2026 for GNOME 51, and in the meantime non-breaking bugfix releases will be released together with any new APIs that are added in the GNOME 50 development cycle.
Please test the new version and report any bugs you find!
* [gdk4-macos: manually implement native\_window method](https://github.com/gtk-rs/gtk4-rs/pull/1938) | ||
* [gdk: Generate MemoryTextureBuilder](https://github.com/gtk-rs/gtk4-rs/pull/1916) | ||
* [Update to femtovg 0.11 and glow 0.15](https://github.com/gtk-rs/gtk4-rs/pull/1915) | ||
* [add gdk4-macos bindings](https://github.com/gtk-rs/gtk4-rs/pull/1909) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Worth highlighting this one
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New gdk4-macos
crate
In addition to the already existing gdk4-wayland
, gdk4-win32
and gdk4-x11
there is also a separate crate now for the GDK macOS APIs. This gives access to macOS native types that are used internally by GDK/GTK and allows interoperability with other macOS APIs.
Don't think I have anything to add other than that. All those changes are bugfixes and minor additions otherwise, nothing to highlight IMHO :) |
* [book: Add link to Chinese translation](https://github.com/gtk-rs/gtk4-rs/pull/1894) | ||
* [accessible\_value: Fix errormessage relation layout](https://github.com/gtk-rs/gtk4-rs/pull/1887) | ||
* [template\_child: Implement PropertyGet for TemplateChild](https://github.com/gtk-rs/gtk4-rs/pull/1886) | ||
* [Add interface bounds to Impls](https://github.com/gtk-rs/gtk4-rs/pull/1883) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This one (and the corresponding one in gtk-rs-core that landed earlier) is a notable breaking change. We could go with something like:
Interface bounds on the glib::wrapper
macro
It is now a hard requirement to specify all @implements
directives for all interfaces that are implemented by the class, even for interfaces that are implemented by parents of the class. This ensures internal consistency between the public rust interface and the gobject world, resolving a soundness issue.
No description provided.