Collect items for the GNOME 44 release notes
This issue is for tracking items of interest for the GNOME 43 release notes. Please feel free to edit the issue directly or make suggestions in the comments. Changes can be big or small - we want to know every change that might be of interest or an enhancement for either users or developers.
For users
Quick settings enhancements
- Descriptions on each button makes it easier to see the status of each setting
- New bluetooth menu
- Allows seeing which devices are connected, as well as connecting/disconnecting from previously used devices
- Background apps menu
- Lists apps which are running without a visible window
- Background apps can be closed via the menu
- Allows checking whether apps are running or not
File chooser grid view
https://blog.gtk.org/2022/12/15/a-grid-for-the-file-chooser/
GTK 4 ports
Settings
- Continuous improvements to the Device Security panel have been added. These improvements range from better wording of the security features, new designs for the dialogs, and making the panel more actionable. Thanks to Kate Hsuan and Richard Hughes for diligently working on this.
- The Accessibility panel was redesigned. This is the first panel implementing a more modern navigation model in Settings. More panels should be redesigned for this navigation pattern in the future. Thanks to Sadiq for this.
- The Date & Time panel is now more mobile friendly, by using a two-column layout to the month selector. This change was also thanks to Sadiq.
- The Network & Wi-Fi panels now use libnma’s own security widgets for managing connections. This is a massive cleanup in the codebase, and allows us to concentrate efforts on a single place. This change was made possible by Lubomir Rintel.
- Various polishes and smaller improvements to lots of panels, like Users, Wacom, Region and Language, and others
- Felipe Borges landed a collection of polish changes. The Thunderbolt panel will now only show when there is Thunderbolt hardware, the About panel now uses AdwEntryRow for the hostname, and the Printer panel now uses AdwStatusPage when it is empty. sunflowerskater also added a description to the battery percentage switch.
- A more modern version of the output test dialog was merged.
- Include marks in touchpad/mouse speed scales (now they can be changed with the keyboard and mouse scroll): GNOME/gnome-control-center!1542 (merged) and GNOME/gnome-control-center!1567 (merged)
- Show kernel and firmware versions in "About": GNOME/gnome-control-center!1467 (merged) and GNOME/gnome-control-center!1479 (merged)
- Add SMS/Call apps in Default apps: GNOME/gnome-control-center!1211 (merged)
- Share Wi-Fi passwords through a QR code: GNOME/gnome-control-center!1411 (merged)
- Improved test mouse/touchpad UI (don't know if it will actually land in GNOME 44): GNOME/gnome-control-center!1591 (merged)
Shell
- Bluetooth submenu in Quick Settings (yet to be merged, but the milestone is set as GNOME 44): GNOME/gnome-shell!2501 (merged)
- Disable Settings search results: GNOME/gnome-shell!2584 (merged)
- Don't use symbolic icons in HC for app grid/dash: GNOME/gnome-shell!2555 (merged)
Files
- 64px icon size is back (will be backported to 43, so I'm not really sure if this counts): GNOME/nautilus!1056 (merged)
- Improve performance while searching: GNOME/nautilus!1026 (merged)
- Improve DND timeout to enter folders: GNOME/nautilus#1526 (closed)
- Allow pasting other types of things: GNOME/nautilus!983 (merged)
- Updated fullcolor icons. No longer shipping large bitmap icons, favoring scalable icons similar to what happened with applications icons.
Software
- Milan Crha has added progress reporting to rpm-ostree downloads in GNOME Software, so updates in Silverblue should now have a more useful progress bar.
- Various modernization changes, using modern libadwaita widgets.
- Option to only shown open source apps: GNOME/gnome-software!1515 (merged)
- Improve search reliability: GNOME/gnome-software!1579 (merged)
- Autoremove unused flatpak runtimes: GNOME/gnome-software!1564 (merged)
- Fixes reloading while installing/uninstalling apps: GNOME/gnome-software!1470 (merged)
- Add a way to uninstall apps through CLI: GNOME/gnome-software!1389 (merged)
- Improved error display: GNOME/gnome-software!1472 (merged)
- Show changelogs for rpm-ostree updates: GNOME/gnome-software!1521 (merged)
Contacts
- Contacts can now be shared with a QR code, which allows for a simple and easy way of sharing contact information across devices
- Editing the avatar of a contact is now more intuitive and follow the same style as the user panel in GNOME Settings
- Birthdays on a leap year will now get a birthday notification on February 28 in non-leap years
- The main menu has been renamed to follow the GNOME HIG and now contains an action item to export all contacts
- Added support for multiple keyboard shortcuts
- It's now possible to explicitly unset a birthday
- Fix a bug where some title buttons where shown twice
Maps
- Resurrect keyboard navigation of search results (was broken since the GTK 4 port)
- Allow fetching thumbnails and Wikipedia article extracts for places from Wikidata (also includes option to edit Wikidata tags when editing places in OpenStreetMap)
- Make the save view as image dialog works on phones
GNOME Circle
New apps added during the 44 development cycle:
- Workbench
- Zap
- Boatswain
- Emblem
- Lorem
For developers
GTK
GTK 4.10 (planned for March 2023) will officially deprecate GtkTreeView, GtkIconView, GtkComboBox, and all the API related to cell renderers. You should follow the GTK4 migration guide to see how to replace them with the new model objects and list view widgets.
New API available in GTK 4.10 for dialogs:
GtkFileDialog replaces GtkFileChooserDialog
GtkColorDialog replaces GtkColorChooserDialog
GtkFontDialog replaces GtkFontChooserDialog
GtkAlertDialog replaces GtkMessageDialog
All these new classes are not widgets, and are designed around asynchronous calls instead of signal emissions. Once you call a method to perform the desired action, you’ll get a callback when the user closes the dialog window. Head over to the GTK development blog, for an article on the newly introduced API and its design.
This new API allows us to deprecate the following classes and interfaces:
GtkFileChooserDialog, GtkFileChooserWidget, and GtkFileChooser
GtkColorChooserDialog, GtkColorChooserWidget, GtkColorButton, and GtkColorChooser
GtkFontChooserDialog, GtkFontChooserWidget, GtkFontButton, GtkFontChooser
GtkMessageDialog
GtkDialog itself has been deprecated. You should derive your own GtkWindow for any sort of custom dialog in your application; if you use libadwaita you can already use ready-made dialogs like AdwPreferencesWindow and AdwMessageDialog.
The GTK maintainers are removing the Autotools build from the GTK 3.x branch; if you want to build or package GTK 3.x you will now have to use the Meson build system. The documentation has been updated accordingly. The resulting build artifacts have been checked for consistency, and the Meson build has been tested on different platforms and toolchains, but if you are experiencing regressions make sure to file an issue on the GTK issue tracker.
GtkInfoBar is deprecated in 4.10: GNOME/gtk!5246 (merged)
libadwaita
AdwBanner
-
AdwTabOverview
/AdwTabButton
GLib
- Optimised g_str_has_prefix() and g_str_has_suffix() checks when passed static strings are now support — the request for this feature was 18 years old (GNOME/glib#24 (closed))
- Simon McVittie added a g_autofd attribute to GLib, which you can use to automatically close FDs when exiting a scope, just like g_autofree and g_autoptr() (GNOME/glib!3007 (merged))
Documentation
- The GTK Rust docs now cover libadwaita - https://gtk-rs.org/gtk4-rs/stable/latest/book/todo_4.html
- gi-docgen, the introspection-based documentation generator used (among others) by GTK to publish its API reference has gained the ability to show if a symbol, type, signal, or property is currently unstable and will be available in the next stable release. This should help visually distinguish newly added API in the reference generated directly from bleeding edge sources. The same style is also used to present when a symbol was introduced, and when it was deprecated.
XDG Portals
XDG portals 1.16.0:
- Background monitoring service, a new service that detects sandboxed applications running in the background without a user visible window. This information can be consumed by desktop environments to provide richer control over these apps, for example like this.
- The new Global Shortcuts portal, which allows applications to be notified of shortcuts being activated even when they’re unfocused. So far only the KDE backend implements this portal, but hopefully more backends will implement it in the future.