The following modules have been removed in this release: gcr-3, evince, gtksourceview-4, gnome-keyring The following modules have a new version: - adwaita-fonts (50.0 => 51.0) - adwaita-icon-theme (50.alpha => 51.0) - at-spi2-core (2.59.90 => 2.61.90) - baobab (49.1 => 50.0) - blueprint-compiler (0.20.0 => 0.22.2) - calls (49.1.1 => 50.0) - d-spy (50.rc => 50.0) - dconf (0.49.0 => 51.0) - decibels (49.0 => 49.6.1) - epiphany (50.rc => 51.0) - evolution-data-server (3.59.3 => 3.62.0) - foundry (1.1.rc => 1.2.0) - gcr (4.4.0.1 => 4.4.1) - gdk-pixbuf (2.44.5 => 2.44.8) - gdm (50.rc => 51.0) - gexiv2 (0.16.0 => 0.16.2) - gjs (1.87.90 => 1.90.0) - glib (2.87.3 => 2.90.0) - glib-networking (2.80.1 => 2.90.0) - glibmm (2.86.0 => 2.90.0) - glycin (2.1.rc => 2.2.1) - gnome-app-list (3.0 => 2026.08) - gnome-autoar (0.4.5 => 0.5.2) - gnome-backgrounds (50.alpha => 51.0) - gnome-bluetooth (47.1 => 47.2) - gnome-boxes (49.1 => 50.0) - gnome-builder (50.rc.1 => 50.0) - gnome-calculator (50.beta => 51.0) - gnome-calendar (50.rc => 51.0) - gnome-characters (50.alpha => 51.0) - gnome-clocks (50.beta => 51.0) - gnome-connections (50.rc => 51.0) - gnome-console (49.2 => 51.0) - gnome-contacts (50.alpha => 51.0) - gnome-control-center (50.rc => 51.0) - gnome-desktop (44.5 => 51.0) - gnome-font-viewer (49.0 => 50.0) - gnome-initial-setup (50.rc => 51.0) - gnome-logs (49.0 => 50.0) - gnome-maps (50.rc => 51.0) - gnome-music (49.1 => 50.0) - gnome-online-accounts (3.57.1 => 3.58.1) - gnome-remote-desktop (50.rc => 51.0) - gnome-session (50.rc => 51.0) - gnome-settings-daemon (50.rc => 51.0) - gnome-shell (50.rc => 51.0) - gnome-software (50.rc => 51.0) - gnome-system-monitor (50.beta.1 => 51.0) - gnome-text-editor (50.rc => 51.0) - gnome-tour (50.rc => 50.0) - gnome-user-docs (50.beta => 51.0) - gnome-user-share (48.2 => 48.3) - gnome-weather (50.beta => 50.0) - gsettings-desktop-schemas (50.rc => 51.0) - gssdp (1.6.4 => 1.6.6) - gst-thumbnailers (1.0.rc => 1.1.0) - gtk (4.21.6 => 4.24.0) - gtk+-3 (3.24.51 => 3.24.52) - gtk-doc (1.35.1 => 1.36.1) - gtkmm (4.21.3 => 4.24.0) - gtksourceview (5.19.0 => 5.21.0) - gupnp (1.6.9 => 1.6.10) - gupnp-av (0.14.4 => 0.14.5) - gvfs (1.59.90 => 1.62.0) - gweather-locations (2025.1 => 2026.2) - libadwaita (1.9.rc => 1.10.0) - libcloudproviders (0.4.0 => 0.4.1) - libdex (1.1.rc => 1.2.0) - libgsf (1.14.55 => 1.14.58) - libgweather (4.5.0 => 4.6.0) - librsvg (2.62.0 => 2.63.0) - libsecret (0.21.7 => 0.21.8.2) - libshumate (1.6.rc => 1.7.0) - libsoup (3.6.6 => 3.7.3) - localsearch (3.11.rc => 3.12.0) - loupe (50.rc => 51.0) - manuals (50.rc => 50.1) - mm-common (1.0.7 => 1.0.8) - msgraph (0.3.4 => 0.3.5) - mutter (50.rc => 51.0) - nautilus (50.rc => 51.0.1) - orca (50.rc => 51.0) - pango (1.57.0 => 1.58.2) - pangomm (2.56.1 => 2.56.2) - papers (50.rc => 51.0) - pyatspi (2.58.1 => 2.58.2) - pygobject (3.56.0 => 3.58.0) - rygel (45.1 => 46.0) - showtime (50.rc => 50.0) - simple-scan (49.1 => 50.0) - snapshot (50.rc => 51.0) - sushi (50.rc.1 => 51.0) - sysprof (50.rc => 51.0) - tecla (50.rc => 51.0) - template-glib (3.39.0 => 3.40.0) - tinysparql (3.11.rc => 3.12.0) - totem-pl-parser (3.26.6 => 3.26.7) - vala (0.56.18 => 0.56.19) - vte (0.83.91 => 0.84.1) - xdg-desktop-portal-gnome (50.rc => 51.0) - yelp (49.0 => 49.2) - zenity (4.2.1 => 4.2.2) The following modules weren't upgraded in this release: cantarell-fonts, dconf-editor, folks, gcab, geocode-glib, gi-docgen, gnome-color-manager, gnome-disk-utility, gnome-menus, gobject-introspection, gom, grilo, grilo-plugins, gsound, gtk-vnc, gupnp-dlna, json-glib, jsonrpc-glib, libgee, libgit2-glib, libgtop, libgxps, libhandy, libmanette, libmanette-0.2, libmediaart, libnma, libnotify, libpanel, libpeas, librest, libspelling, mobile-broadband-provider-info, phodav, startup-notification, xdg-user-dirs-gtk, yelp-tools, yelp-xsl ======================================== adwaita-icon-theme ======================================== 51.0 51.beta - XDG Projects folder (issue #219) 50.0 - use old format of the legacy icons for gtk3 50.rc - reintroduce legacy icons because themes. (issue #316) ======================================== at-spi2-core ======================================== What's new in at-spi2-core 2.61.90: * libatspi: Fix transfer annotation on atspi_document_get_text_selections * Add a Ready signal to org.a11y.atspi.Cache. * Add ATSPI_STATE_DEFAULT as an alias for ATSPI_STATE_IS_DEFAULT, so that StateChanged signals for the equivalent atk state are handled. What's new in at-spi2-core 2.61.1: * atk-bridge: Attempt to fix a crash in get_registered_event_listeners * AtspiDevice: Avoid assigning 0 as a grab id * Remove G_GNUC_CONST from *_get_type_declarations What's new in at-spi2-core 2.61.0: * Add atspi_set_g_main_loop_reentrancy. If this is enabled, then libatspi will use a GMainLoop when waiting for replies from DBus calls. This is off by default but can be enabled in cases where reentrancy is needed. * at-spi-bus-launcher: Rework the way org.a11y.Status.IsEnabled is handled. At-spi-bus-launcher now listens for ATs registering events and assumes that accessibility is enabled if events are registered, rather than relying on the value of a gsettings key. * meson: Build dbind with -DG_LOG_DOMAIN=atspi. * libatspi: Disable direct DBus connections if ATSPI_DISABLE_P2P is set. * Do not call GetItems if ATSPI_NO_CACHE is set. What's new in at-spi2-core 2.60.5: * Fix a possible crash in atk_bridge_adaptor_cleanup. * Attempt to fix event listeners still being wrongly deregistered in some cases. What's new in at-spi2-core 2.60.4: * AtspiDeviceA11yManager: Make use of pid when returned by queryPointer * Fix deregistering application-specific event listeners What's new in at-spi2-core 2.60.3: * libatspi: Fix another NULL pointer dereference. What's new in at-spi2-core 2.60.2: * atspi-device-legacy: add null checks for when x11 isnt available. * python: Fix __getitem__ with a negative offset. * Fix a NULL pointer dereference when sending an event. * device-x11: Fall back on raw key events if there is no focus. What's new in at-spi2-core 2.60.1: * Detect unresponsive applications, and do not expose them as children of the desktop. * Attempt to fix a crash when opening a group chat in pidgin that contains new messages. What's new in at-spi2-core 2.60.0: * Fix detection of whether the org.freedesktop.a11y.PointerLocator interface is available. ======================================== baobab ======================================== 50.0 ==== * Port help overlay to AdwShortcutsDialog (Automeris naranja) * Translation updates: - Basque (Asier Saratsua Garmendia) - Bulgarian (twlvnn kraftwerk) - Catalan (Victor Dargallo) - Chinese (China) (luming zh) - Cornish (Flynn Peck) - Czech (Daniel Rusek) - Danish (Ask Hjorth Larsen) - English (United Kingdom) (Bruce Cowan) - Esperanto (Kristjan ESPERANTO) - Finnish (Jiri Grönroos) - French (Lucien Ouoba) - Galician (Fran Diéguez) - Georgian (Ekaterine Papava) - German (Jürgen Benvenuti) - Greek, Modern (1453-) (Efstathios Iosifidis) - Hebrew (Yaron Shahrabani) - Hungarian (Balázs Úr) - Indonesian (Andika Triwidada) - Japanese (Makoto Sakaguchi) - Kazakh (Baurzhan Muftakhidinov) - Korean (Seong-ho Cho) - Lithuanian (Aurimas Aurimas Černius) - Nepali (Pawan Chitrakar) - Occitan (post 1500) (Quentin PAGÈS) - Persian (Danial Behzadi) - Polish (Victoria) - Portuguese (Hugo Carvalho) - Portuguese (Brazil) (Rafael Fontenelle) - Romanian (Antonio Marin) - Russian (Artur S0) - Slovenian (Martin) - Spanish (Daniel Mustieles) - Swedish (Anders Jonsson) - Turkish (Sabri Ünal) - Uighur (Abduqadir Abliz) - Ukrainian (Yuri Chornoivan) ======================================== calls ======================================== gnome-calls 50.0 ---------------- Released March 2026 * Lookup emergency numbers from mobile-broadband-provider-info * Local ringback while alerting peer for SIP calls (needs new dependency: gsound) * Add proxy support for SIP * Fix systemd unit not starting in daemon mode and restart on failure * Logging respects G_MESSAGES_DEBUG again * Avoid crash with fortified sources in the network watch module * Housekeeping (CI, build and metainfo files) * Issues fixed: * https://gitlab.gnome.org/GNOME/calls/-/issues/351 * https://gitlab.gnome.org/GNOME/calls/-/issues/714 * https://gitlab.gnome.org/GNOME/calls/-/issues/718 * https://gitlab.gnome.org/GNOME/calls/-/issues/719 * https://gitlab.gnome.org/GNOME/calls/-/issues/720 * https://gitlab.gnome.org/GNOME/calls/-/issues/724 * Contributors: * Christian Glombek * Evangelos Ribeiro Tzaras * Guido Günther * Martin Prejsa * Sabri Ünal * Sebastian Krzyszkowiak * UI translations: * Abduqadir Abliz (ug) * Alan Mortensen (da) * Anders Jonsson (sv) * Antonio Marin (ro) * Artur S0 (ru) * Asier Saratsua Garmendia (eu) * Aurimas Aurimas Černius (lt) * Balázs Úr (hu) * Baurzhan Muftakhidinov (kk) * Bruce Cowan (en_GB) * Changwoo Ryu (ko) * Daniel Mustieles (es) * Daniel Rusek (cs) * Efstathios Iosifidis (el) * Ekaterine Papava (ka) * Emilio Sepúlveda (ia) * Flynn Peck (kw) * Fran Diéguez (gl) * Guillaume Bernard (fr) * Hugo Carvalho (pt) * Jiri Grönroos (fi) * Jordi Mas (ca) * Juliano de Souza Camargo (pt_BR) * Jürgen Benvenuti (de) * Martin (sl) * Pawan Chitrakar (ne) * Quentin PAGÈS (oc) * Sabri Ünal (tr) * Victor Dargallo (ca) * Victoria (pl) * Yaron Shahrabani (he) * Yuri Chornoivan (uk) * luming zh (zh_CN) * twlvnn kraftwerk (bg) ======================================== d-spy ======================================== # D-Spy 50.0 * Translation updates ======================================== dconf ======================================== Changes in dconf 51.0 ======================= - No changes since 51.rc Changes in dconf 51.rc ======================= - Update overview regarding safe writer (Marek Kasik, !97) Changes in dconf 51.beta ======================= - Implement safe GVDB writer and use it by default for homes on NFS (Marek Kasik, Ray Strode, !88) - docs: Describe DBDIR argument in man page (Marek Kasik, !94) - docs: Fix a typo (Marek Kasik) ======================================== decibels ======================================== 49.6 --- * Bugs fixed: - #140 Decibels doesn't set audio stream metadata (pretty name, icon and current playback title) for other PipeWire apps (DaPigGuy) - #147 Volume Meter shows incorrect default value (50%) after starting the application - !169 metainfo: Change component type to "desktop-application" - !171 fix(mpris): SetPosition and OpenUri - !175 metainfo: Use supports for controls * Translation updates: - Basque (Asier Saratsua Garmendia) - Bulgarian (twlvnn kraftwerk) - Catalan (Victor Dargallo) - Chinese (China) (luming zh) - Cornish (Flynn Peck) - Czech (Daniel Rusek) - Danish (Alan Mortensen) - English (United Kingdom) (Bruce Cowan) - Esperanto (Kristjan SCHMIDT) - Finnish (Jiri Grönroos) - French (Lucien) - Galician (Fran Diéguez) - Georgian (Ekaterine Papava) - German (Jürgen Benvenuti) - Greek, Modern (1453-) (Efstathios Iosifidis) - Hebrew (Yaron Shahrabani) - Hungarian (Balázs Úr) - Icelandic (Sveinn í Felli) - Japanese (小山田 純 - Oyamada Jun) - Kazakh (Baurzhan Muftakhidinov) - Korean (Seong-ho Cho) - Lithuanian (Aurimas Aurimas Černius) - Nepali (Pawan Chitrakar) - Occitan (post 1500) (Quentin PAGÈS) - Persian (Danial Behzadi) - Polish (Adam Lewicki) - Portuguese (Hugo Carvalho) - Portuguese (Brazil) (Rafael Fontenelle) - Romanian (Antonio Marin) - Russian (Artur S0) - Serbian (Марко Костић) - Serbian (Latin script) (Милош Поповић) - Slovenian (Martin) - Spanish (Daniel Mustieles) - Swedish (Anders Jonsson) - Thai (Aefgh Threenine) - Turkish (Sabri Ünal) - Uighur (Abduqadir Abliz) - Ukrainian (Yuri Chornoivan) ======================================== epiphany ======================================== 51.0 - September 10, 2026 ========================= * Bugs fixed: - #2617 session: Append closed tab at end if recorded position is out of bounds (John Cardullo) - #2897 (CVE-2026-18487) Address Bar / Host Spoofing via userinfo in ephy_uri_get_decoded_host (Michael Catanzaro) - #2931 Code Injection via ephy_web_view_get_best_web_app_icon in `data:` URI (Michael Catanzaro) - #2934 `data` URI prettification returns invalid domain (Michael Catanzaro) - !2144 Some fixes for EphyHistoryDialogRow (Michael Catanzaro) * Translation updates: - Basque (Asier Saratsua Garmendia) - Danish (Alan Mortensen) - English (United Kingdom) (Bruce Cowan) - French (Guillaume Bernard) - Hungarian (Balázs Úr) - Korean (ChangSeok Oh) - Norwegian Bokmål (Kjartan Maraas) - Serbian (Марко Костић) - Spanish (Daniel Mustieles García) - Turkish (Emin Tufan Çetin) 51.rc - August 27, 2026 ======================= * Bugs fixed: - #2898 Invalid bookmark import crashes browser (Fernando Muñoz) - #2903 XSS/HTML injection in error page (Michael Catanzaro) - #2921 (CVE-2026-77682) Autofill JS Code Injection via CSS Selector (Michael Catanzaro) - #2922 (CVE-2026-77679) WebExtension XPI Path Traversal ZIPSLIP (Fernando Muñoz) - #2928 Link clicked in another app opens in the fullscreen window during fullscreen video (Semen Fomchenkov) - #2929 Caret in the address bar jumps to the start when I switch keyboard layout (Semen Fomchenkov) - #2938 "Not Secure" label in the address bar is truncated and glued to the domain in translated locales (Semen Fomchenkov) - #2940 Epiphany offers to save a password that it just autofilled itself (after CSV import) (Semen Fomchenkov) - !2145 Update to highlight.js 11.2.0 (Michael Catanzaro) - !2148 web-process-extension: Target active frame when generating password from context menu (John Cardullo) - !2152 Canary: Fix WebKitGTK injected bundle path (Philippe Normand) - !2159 Do not trigger downloads on missing MIME type or failed HTTP responses (John Cardullo) * Translation updates: - Bulgarian (Alexander Alexandrov Shopov) - Catalan (Xavi Ivars) - Chinese (Taiwan) (Chao-Hsiung Liao) - Finnish (Jiri Grönroos) - Kazakh (Baurzhan Muftakhidinov) - Lithuanian (Aurimas Aurimas Černius) - Portuguese (Brazil) (Luiggi Cardoso) - Romanian (Antonio Marin) - Swedish (Anders Jonsson) - Uighur (Abduqadir Abliz) 51.beta - August 10, 2026 ========================= * Bugs fixed: - #1671 Colons in URL for Epiphany's app mode are converted to "A" (John Cardullo) - #2892 Compile failures against libnettle 4.0 (Fernando Muñoz) - #2901 Memory leak in the core string utility function ephy_string_shorten() (Michael Catanzaro) - #2902 Out-of-bounds crash/assert failure in ephy_json_array_get_string_with_default (Michael Catanzaro) - #2904 Invalid view-source: crashes browser (John Cardullo) - !2079 CI: Add gobject-linter (Jan-Michael Brummer) - !2109 add pinning support for URLs in history and overview model (John Cardullo) - !2110 window: update message when saving a password (Michael Catanzaro) - !2111 Remove incorrect use of G_GNUC_CONST for get_type() functions (Michael Catanzaro) - !2112 Update highlight.js to 11.11.2 (Michael Catanzaro) - !2113 Add libpwquality to Canary manifest (Michael Catanzaro) - !2114 history-service: use G_SOURCE_REMOVE (Michael Catanzaro) - !2117 fix: check for invalid icon (Fernando Munoz) - !2121 Fix code style check (Michael Catanzaro) - !2125 Adjust Reader Mode Line Spacing (John Cardullo) - !2130 view-source-handler: fix crash when loading invalid URI (jcardullo) - !2134 Fix CI failures (Jan-Michael Brummer) - !2136 Canary: Disable WebRTC for now (Philippe Normand) - !2138 Reland property registration code style changes (Michael Catanzaro) - !2139 ci: move check-potfiles to lint stage (Michael Catanzaro) - !2140 ci: ignore blueprint-compiler failures during style check (Michael Catanzaro) - !2141 Canary: Re-enable WebRTC (Philippe Normand) * Translation updates: - Basque (Asier Saratsua Garmendia) - Belarusian (Vasil Pupkin) - Bulgarian (twlvnn kraftwerk) - Catalan (Xavi Ivars) - Chinese (China) (luming zh) - Czech (Daniel Rusek, Patrik Sivek) - Dutch (Nathan Follens) - Galician (Francisco Diéguez Souto) - Georgian (Ekaterine Papava) - German (Christian Kirbach) - Hebrew (Yaron Shahrabani) - Indonesian (Andika Triwidada) - Italian (Davide Ferracin) - Kazakh (Baurzhan Muftakhidinov) - Norwegian Bokmål (Kjartan Maraas) - Occitan (post 1500) (Quentin PAGÈS) - Persian (Danial Behzadi) - Romanian (Antonio Marin) - Russian (Artur S0) - Slovenian (Martin) - Ukrainian (Yuri Chornoivan) 51.alpha - June 25, 2026 ======================== * Bugs fixed: - #2712 Crash when opening preferences dialog after deleting default search engine (Michael Catanzaro) - #2769 [Feature Request] Keyboard shortcut to copy the current page URL (Aygyun) - #2834 Search engine suggestions in addressbar autocompletion dropdown are visually overloading due to their URLs being shown (ARAKHNID) - #2868 Addressbar URL prettification does not understand IPv6 addresses (Achu94) - #2875 Editing password username creates duplicate entries (Michael Catanzaro) - !1987 webextension: Replace EphyWebExtension with WebKitWebExtension (Jamie Murphy) - !2052 Firefox sync OAuth token flow (Dyego Aurélio) - !2077 Use libportal API to detect sandbox (ARAKHNID) - !2082 window-commands: improve notification when failing to install (Simon Pena) - !2085 Change default adblock filters back to bnema (Michael Catanzaro) - !2086 window: Set devel CSS also for Canary builds (Philippe Normand) - !2089 canary: Disable Vulkan support (Philippe Normand) - !2090 site-menu-button: add rudimentary debug logging (Michael Catanzaro) - !2091 password-manager: fix crash when deleting password record (Michael Catanzaro) - !2094 Quote command line input before passing to shell (Michael Catanzaro) - !2098 password-manager: avoid duplicate record when changing username (Michael Catanzaro) - !2099 Fix crash when opening preferences dialog after deleting a search engine (Michael Catanzaro) - !2100 bookmark-props: Save bookmark on Ctrl + Enter (Zoey Ahmed) - !2101 bookmark-props: Select tag when row is clicked on (Zoey Ahmed) - !2102 web-view: fix memory corruption caused by previous memory corruption fix (Michael Catanzaro) - !2103 docs: clarify HiDPI snapshot sizing requirements and refactor about.css for readability (IGS_GIT) - !2104 Fix crash after adding a new OpenSearch engine (Michael Catanzaro) - !2105 feat: add undo functionality to overview item removal via toast notifications (IGS_GIT) - !2106 site-menu-button: remove unused function (Michael Catanzaro) - !2107 shortcuts: document F6 shortcut (YukiCodepth) - !2108 Allow user to generate secure passwords with libpwquality (Michael Catanzaro, IGS_GIT, John Cardullo) * Translation updates: - Belarusian (Vasil Pupkin) - Czech (Patrik Sivek) - Lao (Saikeo Kavhanxay) - Persian (Danial Behzadi) - Polish (Victoria Niedzielska) - Romanian (Antonio Marin) - Slovak (Jose Riha) - Slovenian (Martin) - Thai (Aefgh Threenine) 50.4 - April 23, 2026 ===================== * Bugs fixed: - #2851 No way to "not" quit a webapp through keyboard shortcuts when "Run in background" is enabled (ARAKHNID) - #2857 adw_tab_view_get_page: assertion 'child_belongs_to_this_view (self, child)' failed (Michael Catanzaro) - #2858 Crash when passing invalid command line option (Michael Catanzaro) - #2859 URLs containing various characters cannot be deleted from history (Michael Catanzaro) - #2862 ephy_site_menu_button_update_search_engine_item crash on 32 bit (Michael Catanzaro) - #2863 Epiphany 49.7 crashes at launch (Michael Catanzaro) - !2073 Fix failure to delete URLs from history (Michael Catanzaro) - !2076 shell: keep going until all windows are destroyed (Michael Catanzaro) - !2083 Fix more problems in the filters manager, including crash on startup (Michael Catanzaro) * Translation updates: - Dutch (Reinout van Schouwen) - German (Christian Kirbach) - Polish (Victoria Niedzielska) - Slovak (Jose Riha) - Turkish (Emin Tufan Çetin) 50.3 - March 24, 2026 ===================== This release reverts back to the original adblock filters used before 50.rc. * Bugs fixed: - #2848 Regression in site compatibility due to adblocking (Michael Catanzaro) - !2065 ci: Remove workflow:rules (Jordan Petridis) - !2067 filters-manager: fix disabling adblocker (Michael Catanzaro) - !2068 Switch back to easylist-downloads.adblockplus.org (Michael Catanzaro) 50.2 - March 20, 2026 ===================== * Bugs fixed: - #2847 Crash in ephy_window_set_active_tab() (ARAKHNID) - !2059 Add 15 second timeout when fetching adblock filters (Michael Catanzaro) - !2063 shell: fix crash when invalid URL passed on command line (Michael Catanzaro) - !2064 Many fixes for the adblocker (Michael Catanzaro) * Translation updates: - Occitan (post 1500) (Quentin PAGÈS) 50.1 - March 18, 2026 ===================== * Bugs fixed: - !2060 Remove ublock filter rules (Michael Catanzaro) * Translation updates: - Italian (Davide Ferracin) - Occitan (post 1500) (Quentin PAGÈS) - Serbian (Марко Костић) 50.0 - March 12, 2026 ===================== * Bugs fixed: - #2175 When closing a newly created tab, focus is reset to the last tab, instead of the previously focused tab (ARAKHNID) - #2825 Bugs may cause session state to be deleted (Michael Catanzaro) - #2838 epiphany-browser 49.2 build error against Nettle 4.0 (Michael Catanzaro) - #2842 Outdated comment for translators (ARAKHNID) - #2843 UI Bug: Imported bookmarks only show one link per tag (stacked on top of each other) & Drag-and-Drop is broken (ARAKHNID) - #2844 Allow web apps to run in the background, with configurable toggle and quit action, even when not sandboxed by flatpak (ARAKHNID) - !2048 Fix crash when opening javascript: URLs in new tab (Michael Catanzaro) - !2049 Fix -Wdiscarded-qualifiers warnings (Michael Catanzaro) - !2050 web-view: fix security status when restoring pages from session state (Michael Catanzaro) - !2053 session: refuse to save window without tabs (Michael Catanzaro) - !2058 Revert "Fetch locale specific adlock list" (Michael Catanzaro) * Translation updates: - Catalan (Jordi Mas) - Danish (Alan Mortensen) - English (United Kingdom) (Bruce Cowan) - Occitan (post 1500) (Quentin PAGÈS) - Polish (Victoria) - Uighur (Abduqadir Abliz) ======================================== evolution-data-server ======================================== Evolution-Data-Server 3.62.0 2026-09-11 --------------------------------------- Bug Fixes: I#660 - GOA EWS: Do not require OABUrl in autodiscover I#662 - EBackend: Document how OAuth2 sources should ask to be authenticated (Tobias Mueller) I#665 - CalDAV: Ignore Bad Request (400) on overwrite M!243 - ESourceRegistry: Name the credentials source in failed-lookup debug message (Tobias Mueller) Translations: Alan Mortensen (da) Aurimas Černius (lt) Balázs Úr (hu) Baurzhan Muftakhidinov (kk) Emin Tufan Çetin (tr) Juliano de Souza Camargo (pt_BR) Kjartan Maraas (nb) Evolution-Data-Server 3.61.3 2026-08-28 --------------------------------------- Bug Fixes: I#1 - Use gnome-shell-calendar-server for Reminders in GNOME I#602 - IMAPx: Sometimes removes message from local summary in error I#633 - NNTP: Add an option to disconnect on idle I#648 - IMAPx: Use CHANGEDSINCE for UID FETCH with QRESYNC M!236 - Camel: Add NNTP unit tests M!240 - Camel: Add POP3 provider unit tests M!241 - OAuth2: Always set GError when getting an access token fails (David Woodhouse) M!242 - tests: Harden backend close on the factory side ews-I#344 - ESoupSession: Set timeout for error body read Miscellaneous: SetupBuildFlags.cmake: Add `-Wunused-function` IMAPx: Refresh folder in single-client mode on message count mismatch NNTP: Enhance unit tests to optionally run also during `make test` IMAPx: Add STARTTLS/TLS connection tests to the unit tests IMAPx: Fix a memory leak ECalBackendFile: Improve tracking of backend's 'writable' state ESource: Claim ESource changed when D-Bus interfaces were added/removed Correct some gtk-doc warnings in the developer comments Translations: Anders Jonsson (sv) Asier Saratsua Garmendia (eu) Aurimas Černius (lt) Ekaterine Papava (ka) Guillaume Bernard (fr) Martin (sl) Yuri Chornoivan (uk) Evolution-Data-Server 3.61.2 2026-07-31 --------------------------------------- Bug Fixes: I#104 - LDAP: Support Simple Paged Results Control (RFC 2696) (John Cardullo) I#132 - Implement IMAP4 Multimailbox SEARCH Extension (John Cardullo) I#650 - Camel: Real junk folder does not count unread junk-marked messages I#651 - e_cal_util_init_recur_task_sync: Due date incorrectly reset I#653 - camel-lock-helper: No follow symlink on lock time change M!227 - Correct some issues found by static analyzer (Federico Mena Quintero) M!230 - Fix memory leaks detected by LeakSanitizer in CI M!231 - CI: Run IMAPx tests also under Cyrus server M!232 - CI: Make the sanitizer job fail on errors (Federico Mena Quintero) M!233 - e-ms-oapc: fix prt_sso_request (Benedikt Niedermayr) M!235 - e-ms-oapxbc: Microsoft Identity Broker v3 fixes (Konrad Schwarz) evo-I#2142 - ESourceSelectable: Add 'groups' property (IGS_GIT) evo-I#3345 - source-registry: Deadlock when setting up m365 GOA account Miscellaneous: Camel: Fix a memory leak after folder unsubscribe/deletion IMAPx: Fix a memory leak in imapx_update_store_summary() camel: Add IMAPx provider integration tests ESource: Schedule D-Bus object change signal notification in idle camel-iconv: Treat "gb2313" charset as "gb18030" Translations: Aurimas Aurimas Černius (lt) Baurzhan Muftakhidinov (kk) burns (pt_BR) Marcel Mrówka (pl) Martin (sl) Sabri Ünal (tr) Evolution-Data-Server 3.61.1 2026-06-26 --------------------------------------- Bug Fixes: I#143 - WebDAV: Implement sync-collection (RFC 6578) I#220 - Allow message body indexing for local accounts again I#510 - goa: Fix a race when reading accounts after start I#630 - nntp: Chunk OVER requests with adaptive retry and auto-reconnect (Mikhail Gavrilov) I#632 - nntp: Fix GSocket ref leak in stream timeout helpers (Mikhail Gavrilov) I#634 - Maildir: Prevent creating folders of a similar name I#637 - IMAPx: Sent folder reverts to default with iCloud email and Quick Resync I#643 - Camel: Clean up provider conf entries definitions I#644 - Maildir: Prefer flags from the file name (externally modified) I#645 - OAuth2: Correct when using collection ESource for child sources I#647 - Calendar: Atomic write breaks .ics file change monitoring M!207 - camel: Use XDG_DATA_HOME for nssdb path (André) M!222 - Make CMAKE_BUILD_TYPE enumeration for cmake-gui (Дилян Палаузов) M!223 - CI: Avoid extra path in cmake invocation (Дилян Палаузов) M!224 - Remove unneeded GLIB_CHECK_VERSION macros (Дилян Палаузов) evo-I#538 - GOA: Change how GOA accounts have set OAuth2 support evo-I#2624 - Add per-account composer mode property to ESourceMailComposition evo-I#3302 - Truncated file stored in the (mail) cache evo-I#3322 - IMAP: Add "Manage subscriptions" into "Receiving options" evo-I#3344 - ECredentialsPrompter: Inherit modality from the parent window Miscellaneous: nntp: Rename nntp_get_stream_socket() to nntp_ref_stream_socket() ESoupSession: Correct e_soup_session_get_authentication_requires_credentials() Remove function declarations with no implementation (Corentin Noël) e-gdata-session: Ensure soup message body is filled on retry CamelStoreSearch: Remove dead code (Corentin Noël) CamelStreamProcess: Handle the errno before doing other system calls (Corentin Noël) CamelSmtpTransport: Fix a potential double-free error (Corentin Noël) camel: Add documentation (Corentin Noël) camel: Fix DIGEST-MD5 setting authenticated on rspauth mismatch camel: Fix off-by-one OOB read in RFC 2047 quoted_decode e-oauth2-service: Do not log secret contents on JSON parse failure camel: Fix shell command injection in NTLM SASL authentication pop3: Add maximum line buffer size to prevent unbounded memory growth smtp: Sanitize ENVID parameter to prevent SMTP command injection pop3: Reject credentials containing CRLF to prevent command injection smtp: Fix heap out-of-bounds read in smtp_decode_status_code ESoupSession: Reject HTTPS-to-HTTP redirects camel: Add MIME nesting depth limit to prevent stack exhaustion e-oauth2-service: Add state parameter to OAuth2 authorization requests camel: Add size limits on MIME header blocks and body parts carddav: Validate photo/logo URI origin to prevent SSRF e-ms-oapxbc: Simplify error handling in MS-OAPXBC OIDC extension (Felix Moessbauer) e-ms-oapxbc: Fix error handling of broker response (Felix Moessbauer) e-ms-oapxbc: Align D-Bus parameters with sso-mib (Felix Moessbauer) e-ms-oapxbc: Add support for broker versions > 2.0.1 (Felix Moessbauer) Fix some compiler warnings docs: Remove all "Contains only private data…" from structure comments (Corentin Noël) docs: Put Camel documentation into a subfolder (Corentin Noël) Do not lock SExp object in data book/cal views start e-book-meta-backend: Handle data: URI-s in PHOTO/LOGO Calendar: Use icaldurationtype_as_utc_seconds() for libical 4.x (Antonio Rojas) Convert license/copyright comments into SPDX notation OAuth2: Use its own error domain and add camel_util_is_network_error() camel: Add atomic write API to CamelDataCache and convert all providers POP3: Remove sentinel bytes and migrate existing cache files camel: Recognize all G_TLS_ERROR codes as network errors camel: Clean up test files and convert them to glib test API CI: Add a job to produce a test coverage report (Federico Mena Quintero) CI: add a job for static analysis with scan-build (Federico Mena Quintero) CI: Add a job to run the tests with address and undefined-behavior sanitizers (Federico Mena Quintero) camel: Test substring body search with and without index Camel: Move search with index from the store search to a common place camel: Fix CamelCertDB leak in camel_shutdown() Camel: Add GSETTINGS_SCHEMA_DIR into the tests Camel: Reorganize tests directories Use "--output-on-failure" for ctest in "make test" docs/index.html: Provide links to the coverage and static analysis reports (Federico Mena Quintero) Make the scan-build page's title prettier (Federico Mena Quintero) Calendar: Do not use persistent refresh thread in the 'file' backend tests: Flush main context when finishing server tests Drop optional gtk+ code from background processes Translations: Aurimas Aurimas Černius (lt) Ekaterine Papava (ka) Emin Tufan Çetin (tr) Juliano de Souza Camargo (pt_BR) Kjartan Maraas (nb) Kristjan ESPERANTO (eo) Марко Костић (sr) Martin (sl) Yuri Chornoivan (uk) Evolution-Data-Server 3.60.0 2026-03-13 --------------------------------------- Bug Fixes: I#489 - Backends: Do not block views' start by slow connection Miscellaneous: Correct ICalGLib reference in gir when building against version 4 docs: Update libical-glib online documentation link Translations: Asier Saratsua Garmendia (eu) Aurimas Aurimas Černius (lt) Balázs Úr (hu) Baurzhan Muftakhidinov (kk) Bruce Cowan (en_GB) Daniel Rusek (cs) ======================================== foundry ======================================== Foundry 1.2.0 ============= This stable release completes the 1.2 series with debugger fixes, API annotation polish, improved GitLab CI shells, and broader translation coverage. **Debugger** * Improve DAP thread, stop, continue, and stack-frame state tracking * Synchronize DAP source breakpoints, preserve breakpoint objects across partial updates, and roll back rejected breakpoint changes * Propagate DAP adapter, stack-trace, and waiter errors more reliably * Handle adapter termination and pending breakpoint disposal more robustly * Add DAP debugger regression tests **API and Build** * Fix compilation as C++ * Fix FoundryUnixFDMap destination FD reporting * Improve introspection annotations for arrays, nullable values, out parameters, and ownership transfer across public APIs * Fix JSON-RPC message reads that span multiple stream reads or UTF-8 character boundaries * Fix JSON serialization buffer ownership and a JSON-RPC leak found by LSAN **Command Line, Plugins, and UI** * Fix `foundry ci shell` interactive terminal handling under Podman * Set a user-agent header for GitLab requests * Smooth line-change gutter rendering with merged rounded runs * Delay on-type diagnostics slightly to reduce churn while editing * Correct the Gom branch in the Flatpak example manifest **Translations** * New: Czech, Indonesian, Italian, Karbi * Updated: Basque, Bulgarian, Catalan, Chinese (China), Danish, Esperanto, French, Galician, Georgian, German, Hebrew, Kazakh, Korean, Lithuanian, Persian, Brazilian Portuguese, Serbian, Slovenian, Spanish, Swedish, Turkish, Ukrainian Foundry 1.2.beta ================ This beta adds local GitLab CI execution, expands the public CI and Git APIs, and improves command-line help and interactive terminal handling. **Continuous Integration** * Add public abstractions for CI providers, pipelines, jobs, runs, run options, and artifacts * Add `foundry ci list`, `run`, `shell`, and `clean` commands * Add a GitLab CI provider that resolves includes, inheritance, variables, rules, stages, dependencies, needs, artifacts, and common execution policies * Run GitLab CI jobs locally in Podman with artifact collection * Support Flatpak CI jobs, uncommitted and untracked worktree content, and interactive shells inside supported jobs **Version Control** * Add bindable amend support and changed-file listing to FoundryGitCommitBuilder * Load commit templates and filter configured comment lines from commit messages * Add convenience APIs to stash all changes or discard worktree changes * Fix amended commits updating HEAD, UTF offset calculation, unchanged staged deltas, and a baseline commit leak **Command Line and Platform** * Generate root, intermediate, and leaf command help from the command tree * Improve command synopses, shell completion, and the foundry manual * Preserve inherited controlling terminals so interactive shells retain job control * Use the default build PTY for incremental Meson test work **API and Build** * Add FoundryContext:title-with-fallback * Improve YAML parsing and error handling for Flatpak manifests and GitLab CI * Stop exposing private dependencies to Meson subproject consumers * Fix pkg-config dependencies for libfoundry-gtk and libfoundry-adw * Link libfoundry-adw and the progress icon test against libm **GTK and UI** * Fix terminal cursor handling when a palette uses fallback colors * Add missing tweak sections and category titles **Translations** * New: Belarusian * Updated: Catalan, Chinese (China), Georgian, Kazakh, Norwegian Bokmal, Slovenian, Ukrainian Foundry 1.2.alpha ================= **Version Control** * Add FoundryVcsGraph and FoundryVcsGraphEntry abstractions for repository graph rendering * Add Git-backed graph generation and helper APIs * Add FoundryGitLanes GTK widget for drawing git-style commit lanes * Move git blame updates and clone operations onto worker threads * Existing git thread use has been condensed to DexThreadPool * Add Sysprof trace marks around git operations **Tracing and Diagnostics** * Add a private Foundry tracing abstraction backed by sysprof-capture when available * Add optional sysprof build support * Add tracing around Flatpak manifest loading and libflatpak integration * Give fibers more useful names across the codebase **API** * Add FoundryFutureItem for presenting a future-backed object in model APIs * Add foundry_file_canonicalize() DexFuture wrapper * Add JSON-RPC await helper for completion notifications * Add FoundryContext helpers for per-context local state * Add foundry_git_oid_dup_string() helper **GTK and Editor Integration** * Implement apply_edit() for GtkSourceBuffer * Fix source-buffer property names and documentation typos * Fix Clang warnings in libfoundry-gtk **Bug fixes** * foundry: call dex_init() at startup * libfoundry/jsonrpc: fix read_upto() return type and inverted error check * libfoundry/build: check optional vfuncs before calling them * libfoundry/git: fix an erroneous NULL check * plugins/devhelp: deduplicate .devhelp2 files by realpath() * plugins/gitlab: improve request error handling * testsuite: properly gate ACP tests * subprojects: use an older Gom revision for compatibility * CI: disable goblint **Translations** * New: French, Hebrew, Kabyle, Lao, Norwegian Bokmal, Persian, Slovak, Thai * Updated: Chinese (China), Persian, Slovenian, Thai Foundry 1.1.1 ============= * Fix GNOME CI release issue around metainfo and rc/beta/alpha tags. Foundry 1.1.0 ============= This release completes the 1.1 cycle with a few fixes and expanded translation coverage since 1.1.rc. **Bug fixes** * plugins/flatpak: fix dup_environ() for flatpak manifests * libfoundry-adw: fix possible critical on bound title property * libfoundry/cli: remove unimplemented/commented lines * plugins/qemu: fix translator comment **API** * libfoundry/flatpak: add getter for "env" style fields **Translations** * New: British English, Chinese (China), Danish, Esperanto, Hungarian, Korean, Nepali, Portuguese, Serbian, Spanish, Turkish * Updated: Catalan, German ======================================== gcr ======================================== gcr 4.4.1: - gcr: Support zero mtime - gcr: Fix memory leak in GcrSystemPrompt call closure - docs: Fix a method reference in gcr_prompt_set_choice_label() - Updated translations ======================================== gdk-pixbuf ======================================== 2.44.8 ====== - glycin: Support x-/y-dpi options for png, tiff and jpeg - Translation updates 2.44.7 === - xpm: Fix loading the xpm module if built-in - glycin: Fix the build on 32bit - glycin: Use fwrite to avoid problems with saving - glycin: Add signature for webp - glycin: Make filename tricks work in pid namespaces - Translation updates 2.44.6 === - build: Add a legacy_xpm option to build the old xpm loader - xpm: Rename the old xpm loader to legacy-xpm, and use it for gdk_pixbuf_new_from_xpm_data if it is available. Note that the old loader will only be used for this purpose. xpm files still get loaded with glycin - jpeg: Reject data with an unsupported number of components - Update contribution guidelines - glycin: Fix an issue with looping animations - Do not accidentally query loaders from the host - glycin: Add support for xpm and xbm. Note that xpm+xbm support is new in glycin 2.1 - Translation updates ======================================== gdm ======================================== 51.0 ==== * Fixed some memory leaks * Correctness improvements to GDM's PAM extensions * Fixes to remote login with Kerberos * Translation updates Also of note: in GNOME 51, we've changed the behavior of the fingerprint sensor to only function during re-authentication. The user can no longer log into their system with a fingerprint sensor alone. This is done both for security reasons, and because various parts of the system (like the keyring) are broken when logging in via fingerprint. 51.rc ===== * Follow-up bugfix for $GDM_AUTH_SESSION_ID * Follow-up bugfix for redone PAM service loading logic * Follow-up bugfix for pam_gdm keyring buffer bounds check * Fixed a couple crashes and memory leaks * Introduced pre-authenticated remote displays, for Kerberos authentication in gnome-remote-desktop * Updated Fedora's PAM rules to include support for oo7 instead of gnome-keyring * Translation updates 51.beta ======= * Fixed autologin bypass where a compromised greeter could request autologin for any local account by sending arbitrary usernames via BeginAutoLogin * Dropped unused `enable-web-authentication` and `enable-passkey-authentication` gsettings keys from the `org.gnome.login-screen` schema * Introduced PAM substack safety net, such that authentication cannot by bypassed on systems where authselect hasn't configured a PAM service file for a specific authentication method (i.e. `gdm-switchable-auth`) * Fixed double-free in session worker * Reworked build script for installing PAM service files into modern search path * Redid PAM service loading logic in GDM, to introduce meaningful error messages whenever PAM services aren't found * Fixed memory leaks in PAM extensions * Fixed denial of service where an invalid session name from the greeter would cause the entire daemon to exit, terminating all active sessions * Adjusted D-Bus object path generation for /org/gnome/DisplayManager/Displays/* to fix ASLR leak * Fixed input sanitation when forwarding unknown usernames to audit subsystem * Fixed passphrase handling in pam_gdm to wipe cached plaintext passwords before freeing and to bound the keyring buffer walk preventing out-of-bounds reads * Fixed path traversal vulnerability where a compromised greeter could load arbitrary .desktop files via SelectSession, potentially executing attacker-controlled commands as the authenticated user * Introduced $GDM_AUTH_SESSION_ID environment variable, which communicates the logind session ID of the caller that requested authentication. This will be used for smartcard redirection for remote sessions 51.alpha ======== * Compatibility with kmsconvt * Add checks to make sure PAM plugins don't drop fsuid privilges and break GDM * CI improvements * Reworked the way GDM constructs XDG_DATA_DIRS for its launch environment, so that it will no longer hard-code /usr/share at a higher priority than /usr/local/share. This behavior would prevent people from locally hacking on gnome-shell with --prefix=/usr/local without also having to rebuild GDM with the same prefix * Reworked conflicting session logic to use logind for enumeration. Previously, GDM would only look for sessions it started itself, but that would cause it to miss conflicting sessions started externally, such as those from ThinLinc or TigerVNC * Fixed bug where plymouth never quit on headless or no-monitor systems, which would prevent the system from ever reaching graphical.target * Added setting to change the fallback session. This is the session that gets used whenever a user doesn't have a preferred session selected, or their preferred session is unusable. Sysadmins can use this setting to change the selected session for users that have never logged into the system before * Fixed bug where GDM would start X11 sessions with XDG_SESSION_TYPE=wayland * Fixed PAM handling code to notify PAM modules when we've switched user and are about to exec the session leader. This fixes PAM modules like pam_cap.so in its `defer` mode * Removed unnecessary `SetRemoteId` method from the remote display DBus API * Added setting to turn off local greeter sessions, for headless-only systems * Removed unused settings * Documented remote display DBus API * Documented GDM's settings * Dropped dconf override of org.gnome.desktop.session.session-name, and instead gnome-session is now explicitly told to launch the GDM login screen UI even if dconf overrides fail to get applied * Addressed warnings from Fedora's static analyzer * Fixed bug where the kernel's VT cursor may flicker during the transition between graphical sessions (i.e. at log out) * Dropped ancient GDM docs, which have been out of date for a very long time and are entirely inaccurate now. * Fixed some more misc. bugs: memory leaks, crashes, etc * Translation updates NOTE: In the previous 50.X release series, we removed GDM's ability to execute the various PreSession/PostSession/etc scripts as part of the X11 removal. However, it turned out that some people were using these hook points on Wayland, despite their limited functionality there. Still, the feature is gone for good, and I wanted to make sure it's listed in the changelog. See the issue for more details and context: https://gitlab.gnome.org/GNOME/gdm/-/work_items/1059 50.0 ==== * With systemd v260+, remote desktop sessions and local sessions in the background will be granted access to the GPU. This allows remote sessions to have accelerated graphics on distros that restrict the permissions on the GPU's device nodes (i.e. Debian and its derivatives) * Translation updates ======================================== gexiv2 ======================================== gexiv2 0.16.2 - 5 Aug 2026 (stable) * Fix crash when opening files without preview images Bugs fixed in this release: - https://gitlab.gnome.org/GNOME/gexiv2/issues/92 All contributors to this release: - Jacob Boerema gexiv2 0.16.1 - 27 Jun 2026 (stable) * Fix issue with GIR missing correct package name * Fix memory leak in regression test * Add missing assert in GPS test All contributors to this release: - Jens Georg - correctmost <136447-correctmost@users.noreply.gitlab.gnome.org> - Daniel P. Berrangé ======================================== gjs ======================================== Version 1.90.0 -------------- - First release in the GNOME 51 series. The only change since the release candidate 1.89.90 is a build fix. - Closed bugs and merge requests: * build failure: tests don't specify dependency on sysprof_capture [#750, !1114, Philip Chimento] Version 1.89.90 --------------- - This is the release candidate for GNOME 51. This release brings primarily minor bug fixes and internal type-safety improvements. - Backwards-incompatible change: Gio.DBus.makeProxyWrapper() returns a class expression, which should be called as a constructor, not as a function. Calling it as a function still works, but will print a deprecation warning. To migrate your code, just add `new`. - Backwards-incompatible change: Don't use the `GJS_ALWAYS_INLINE` macro from gjs/macros.h. It was not meant to be public and will print a deprecation warning if used. - Closed bugs and merge requests: * Various maintenance [!1102, !1108, Philip Chimento] * Maps are terribly slow when planning for a route [#742, !1104, Marcus Lundblad] * Check for char* returns of ambiguous ownership using clang-tidy [!1105, Philip Chimento] * testConsole fails if source directory contains + [#745, !1106, Simon McVittie] * Revert "Gio: Rewrite _makeProxyWrapper as a class expression" and print a deprecation warning instead [!1107, Philip Chimento] Version 1.89.2 -------------- - This is the beta release for the GNOME 51 cycle. There are no notable changes since 1.89.1, only minor bug fixes. - Closed bugs and merge requests: * Various maintenance [!1097, Philip Chimento] Version 1.89.1 -------------- - This is the alpha release for the GNOME 51 cycle. - Cairo.Context has gained a fontExtents() method, which returns a property bag with properties corresponding to the fields of `cairo_font_extents_t`, and a textPath() method, which renders text as a path. Also, getFontMatrix() and setFontMatrix() which return and accept property bags corresponding to the fields of `cairo_matrix_t`. All of these are thanks to Daniel Wood. - Gtk.Widget has gained static methods add_binding(), add_binding_action(), and add_binding_signal() (GTK 4 only), for conveniently adding keyboard shortcuts to call a function, invoke a Gtk.ShortcutAction, or emit a signal. Florian Müllner added these. - Some work-in-progress has been merged, making GNOME platform objects more transparent to the JS garbage collector so that it can make better choices about when to collect. This has the additional bonus of making the info from System.dumpMemoryInfo (visible in Sysprof or dumped to a JSON file) more accurate. Tim Chevalier implemented this work, which is being sponsored by Igalia and is a prerequisite for removing the Big Hammer workaround. - Backwards-incompatible change: Creating a GObject.Interface no longer installs its methods as unbound static methods on the constructor. This was based on an old, nonstandard custom of "generic methods" from the old Mozilla days and modern JS doesn't work like that. Additionally, this never worked as you might expect: `Interface.method(obj)` would not call obj's implementation of the interface method, but Interface's default implementation, which might do nothing or throw NotImplementedError. The only thing it was good for was slightly shorter syntax when chaining up to the default implementation. If you were using it that way, here's how to migrate your code: class MyClass extends GObject.Object { static [GObject.Implements] = [MyInterface]; static { GObject.registerClass(MyClass); } myMethod() { return MyInterface.myMethod(this); // OLD return MyInterface.prototype.myMethod.call(this); // NEW } } - Closed bugs and merge requests: * Track memory usage for object prototypes [!1072, Tim Chevalier] * Add Cairo font extents [!1073, Daniel Wood] * More accurate memory usage statistics for Cairo and GdkPixbuf types [!1075, Tim Chevalier] * Various maintenance [!1076, !1077, !1084, !1085, !1086, !1087, !1090, !1091, Philip Chimento] * Cairo/text path [!1080, Daniel Wood] * profiler: Write last value of memory counters [!1081, Philip Chimento] * testCommandLine's non UTF8 file names test fails on ZFS with utf8only=on [#733, !1088, Marisa] * Cairo/fontMatrix [!1089, Daniel Wood] * overrides/Gtk: Support add_binding*() class methods [!1092, Florian Müllner] * More accurate memory usage statistics for GBytes type [!1093, Tim Chevalier] * function: Avoid heap-allocating small argument arrays [!1094, Andre Nijman] * Arguments to `Gio.Application.run()` dropped by `runAsync()` wrapper [#738, !1096, Philip Chimento] Version 1.88.1 -------------- - Closed bugs and merge requests: * Breaking change introduced in 1.87.1 [#730, !1082, Philip Chimento] * maint: Check for NULL before dereferencing error_out pointer [!1083, Daniel van Vugt] Version 1.88.0 -------------- No changes since 1.87.90, only maintenance for CI. ======================================== glib ======================================== Overview of changes in GLib 2.90.0, 2026-09-09 ============================================== * Bugs fixed: - #4038 G_DEFINE_TYPE parent_class variable trips clang 23's -Wunused-but-set- global (Sunil Dora) - #4040 `-Wtypedef-redefinition` warnings from `GDBusActionGroup` when building 2.89.4 with clang (Hyunsik Parker) - !5311 fix: handle long filenames in trash by truncating from front - !5319 Update Norwegian Bokmål translation - !5325 Update Polish translation - !5326 Update Czech translation - !5327 Update Hebrew translation - !5328 tests: allocate an adequate alternate signal stack - !5329 Update Turkish translation - !5331 Update French translation - !5333 Update Uighur translation - !5334 Update Korean translation - !5339 Update Russian translation - !5342 Update Serbian translation - !5343 Update Hungarian translation - !5344 Update Danish translation - !5346 gtestutils: Mark a TLS variable as not really a leak - !5347 goutputstream: Fix an unused-variable warning with G_DISABLE_ASSERT * Translation updates: - Czech (Daniel Rusek) - Danish (Ask Hjorth Larsen) - French (Guillaume Bernard) - Hebrew (Yaron Shahrabani) - Hungarian (Balázs Úr) - Korean (Changwoo Ryu) - Norwegian Bokmål (Kjartan Maraas) - Polish (Victoria Niedzielska) - Russian (Artur S0) - Serbian (Марко Костић) - Turkish (Emin Tufan Çetin) - Uighur (Abduqadir Abliz) Overview of changes in GLib 2.89.4, 2026-08-23 ============================================== - Improve support for nanosecond source timeouts (#4012, #4018, #4025, GNOME/mutter#4994, work by Benjamin Otte) - Fix installed service file containing build path (#4011, work by Jaipaul Cheernam) - Support clicking notification icons on Windows (!5019, work by otaxhu) - Improve stream splice performance by increasing buffer size (!5316, work by Christian Hergert) * Bugs fixed: - #1936 Potentially enable gbitlock USE_ASM_GOTO with clang9+ ? (Luca Bacci) - #3359 1bit-emufutex test fails under ASAN / TSAN (Luca Bacci) - #3695 TSan data race in gobject / binding test (Luca Bacci) - #3836 filenamecompleter test fails on Hurd (Philip Withnall) - #3992 (CVE-2026-16118) (#YWH-PGM9867-233) Heap Overflow on GLib through _xdg_mime_magic_parse_magic_line() in gio/xdgmime/xdgmimemagic.c via Incorrect Byte-Swap Pointer Arithmetic on MIME magic content in user- writable XDG data location - #4003 GDesktopAppInfo should validate desktop file path snippets (Philip Withnall) - #4011 gio/tests/services: Installed service file contains build path after !5259 (Jaipaul Cheernam) - #4012 glib:monotonic-time-ns/similar random failures on riscv64 (Benjamin Otte) - #4018 mainloop test fails with test_timeouts_ns() assertion failure (Benjamin Otte) - #4019 documentportal test fails on Hurd as g_unix_fd_query_path() is not supported (Kashyap Ekbote) - #4020 ‘TLS callback not invoked’ error on msys2-clang64 CI job (Luca Bacci) - #4023 pollable test fails on FreeBSD (Ting-Wei Lan) - #4025 tests/monotonic-time: test_similar is racy under scheduling jitter (Benjamin Otte) - GNOME/mutter#4994 Test timeout: core+mutter/backends/native - mutter:thread (Benjamin Otte) - !5019 gnotification-win32: Handling notification icon click - !5022 gnotification-backend: Setting application as a GObject property - !5260 docs: Update path to information about installing GLib - !5263 Minor test and GKeyFile fixes - !5266 docs: Fix gio gi-docgen docs_url - !5267 build: fix grab-gio-dll-paths.py invocation in case glib is a subproject - !5268 Update Czech translation - !5269 Update Georgian translation - !5270 glocalfile: Honour x-gvfs-trash/x-gvfs-notrash from fstab mount points - !5271 Update Ukrainian translation - !5272 Update Chinese (China) translation - !5274 Update Slovenian translation - !5275 Update Georgian translation - !5276 Update Ukrainian translation - !5277 ci: Add a ubsan job - !5280 Update Chinese (China) translation - !5281 Update Romanian translation - !5282 Update Persian translation - !5284 Update Occitan translation - !5288 Update Basque translation - !5290 Update Brazilian Portuguese translation - !5291 Update Catalan translation - !5293 Update Galician translation - !5294 Update Lithuanian translation - !5295 Update Hebrew translation - !5296 fix a potentially quadratic-time regex to be linear. - !5297 Fix utils-isolated test failure when running as root - !5299 Update Belarusian translation - !5301 localfileinfo: Fix swapped selinux context symlink logic - !5305 Update Bulgarian translation - !5308 build: Some test dependencies fixes - !5309 Handle some thread sanitizer races - !5310 gbsearcharray: Fix a -Wsign-conversion warning in G_BSEARCH_UPPER_POWER2 - !5312 mkenums: remove use of deprecated os.path.commonprefix() - !5313 docs: Remove Jonathan Matthew as a co-maintainer - !5315 Update Kazakh translation - !5316 gio/outputstream: increase splice buffer size - !5317 Update Occitan translation - !5318 Update Swedish translation * Translation updates: - Basque (Asier Saratsua Garmendia) - Belarusian (Vasil Pupkin) - Bulgarian (Alexander Alexandrov Shopov) - Catalan (Xavi Ivars) - Chinese (China) (luming zh) - Czech (Daniel Rusek) - Galician (Francisco Diéguez Souto) - Georgian (Ekaterine Papava) - Hebrew (Yaron Shahrabani) - Kazakh (Baurzhan Muftakhidinov) - Lithuanian (Aurimas Černius) - Occitan (post 1500) (Quentin PAGÈS) - Persian (Danial Behzadi) - Portuguese (Brazil) (Luiggi Cardoso) - Romanian (Antonio Marin) - Slovenian (Martin) - Swedish (Anders Jonsson) - Ukrainian (Yuri Chornoivan) Overview of changes in GLib 2.89.3, 2026-07-29 ============================================== * Support systemd-style UAPI file masking and drop-ins for `GKeyFile` (#3622, work by Stefan Schubert) * Add some string and date convenience API, `g_string_free_deep()` and `g_set_date_time()` (!4919, !5193, work by Peter Eisenmann) * Add some convenience API to `GUnixFDList` (!5233, work by Sebastian Wick) * Bugs fixed: - #3622 Support UAPI file masking and drop-ins in GKeyFile - #3994 gio/tests: iptosmessage does not compile on Solaris - #3999 fd leak in `g_file_set_contents_full()` on error? (Kondor Dániel) - #4007 gio-tool: crash (assertion failed) when running 'gio help help' (Jose Carlos Leiva) - !4919 Add g_string_free_deep - !5193 datetime: Add g_set_date_time - !5230 giostream: Clarify is_closed() method docs for streams - !5233 gunixfdlist: Add g_unix_fd_list_append_take, g_unix_fd_list_peek, g_unix_fd_list_lookup, g_unix_fd_list_lookup_peek - !5246 gtestutils: Fix a minor typo in a documentation comment - !5248 tests: Minor compiler warning fixes for GCC16 - !5249 build: Fix a deprecation warning from Meson 1.12 - !5251 docs: Use dedicated docblocks for new enum members - !5252 docs: Annotate callbacks rather than user_data - !5254 Add finer accuracy g_timeout APIs - !5255 gdbusnameowning: Don't print any logs when connection is closed - !5257 Avoid reserved identifiers in public macros Overview of changes in GLib 2.89.2, 2026-07-14 ============================================== * Fix potential miscompilation with GCC 17 with `G_GNUC_CONST` on `get_type()` functions (#3984, work by Sam James) * Update toolchain requirement to C11; previously this was just strongly recommended (!3574, work by Emmanuele Bassi) * Bugs fixed: - #2931 GMemoryMonitor should have a backend for systemd MEMORY_PRESSURE_WATCH API (Kate Hsuan) - #3719 gspawn-win32-helper-console.exe fails on Windows with UNC path (Andrew Ziem) - #3984 G_GNUC_CONST vs get_type comes home to roost (Sam James) - #3985 Security report: GDBusServer pre-authentication DoS via unbounded SASL line buffering (Philip Withnall) - #3986 GDBusActionGroupClass failure (Philip Withnall) - !3574 Update toolchain requirement to C11 - !5222 GNetworkMonitor: Stop pulling route table on sd-networkd hosts - !5224 gquark: Fix an incorrect G_GNUC_CONST annotation on g_quark_to_string() - !5226 fuzzing: Skip build if oss-fuzz and tests are both omitted - !5232 gnetworkmonitornetlink: Performance improvements by following iproute2 behavior - !5234 gmain: fix poll.h include order on AIX - !5235 tests: Fix gi-inspect-typelib.py on Visual Studio - !5236 gio/tests: skip unsupported IP TOS tests on AIX - !5237 gdbus-serialization.c: Avoid g_autofree - !5238 gpoll: Correctly zero-out heap-allocated fd_sets on macOS - !5244 Update Romanian translation - !5245 Update Slovenian translation - !5247 gdbusnameowning: Downgrade ReleaseName warning on closed connection to debug * Translation updates: - Romanian (Antonio Marin) - Slovenian (Martin) Overview of changes in GLib 2.89.1, 2026-06-25 ============================================== * Bugs fixed: - #3972 g_thread_yield() may not yield control to another thread as expected on Linux. - !5086 gio: gmemorymonitordbus: Fix fallback backends can't be properly loaded when... - !5184 gregex: Remove "array length" annotations - !5190 win32-build.md: Update Visual Studio build info - !5191 Don't use slow content type for icons when only fast content is queried - !5192 Update Romanian translation - !5195 Update Slovenian translation - !5196 Performance improvements to GVariant/GDBusMessage - !5197 docs: fix wrong reference to gint16 for gint32 types in glib/types.md - !5198 Add missing finish-func annotations - !5199 gregex: g_match_info_fetch_pos() and g_match_info_fetch_all() will now work after partial matches as well - !5200 gdatetime: Clarify docs around comparisons across time zones - !5201 docs: GI annotation fixes for GCancellable - !5202 Update Slovenian translation - !5205 tests: Fix various leaks spotted by ASAN - !5206 docs + tests: fix docs and add unit test about g_try_new with zero n_structs - !5207 Update Romanian translation - !5209 CI: Set msys2-clang64 as default job for merges - !5210 docs: add missing reference to g_rc_box_new0 and g_atomic_rc_box_new0 and others in Reference Counting page - !5211 gutf8: Eliminate redundant double-traversal in g_utf8_substring - !5213 gsocket: Improve docs for g_socket_get_fd() - !5214 gerror: Add missing introspection annotations - !5216 Use dlopen to access environ on FreeBSD - !5218 gvariant: Check for overflow in g_variant_new_fixed_array() - !5221 meson: Override girepository-2.0 when glib is used as subproject * Translation updates: - Romanian (Antonio Marin) - Slovenian (Martin) Overview of changes in GLib 2.89.0, 2026-05-20 ============================================== * Fix miscompilation with GCC 16 due to GLib’s use of the wrong function attribute (!5145, work by Sam James) * Integrate better with the System Trash on macOS (#1161, work by Byoungchan Lee) * Add `g_set_strv()`, `g_set_strv_take()` and `g_set_str_take()` convenience functions (#3907, !5118, work by Christian Hergert and Philip Withnall) * Fix flag confusion security issue when using `GRegex` with `G_REGEX_RAW` which can result in unbounded out-of-bounds heap reads off the start of a regex input string (#3919, work by linhlhq) * Fix various minor (low severity) security issues, typically one-to-five-byte out-of-bounds reads (#3915, #3916, #3917, #3918, #3930) or ones relying on very specific (and unlikely) API calls (#3925) or ones relying on discouraged P2P D-Bus configurations (#3931, #3933) (work by linhlhq) * Add support for `GTypeInstance`-derived types in generic marshaller (#3954, work by Christian Hergert) * Change `g_get_num_processors()` to report number of performance cores, rather than number of performance+low-power cores on macOS (!5153, work by John Cupitt) * Add support for `XDG_PROJECTS_DIR` special directory (!5141, work by Emmanuele Bassi and Jakub Steiner) * Bugs fixed: - #1161 g_file_trash() Files not moved to System Trash on Mac OSX - #1853 DBus activated GApplications and G_APPLICATION_HANDLES_OPEN (Guido Günther) - #2173 g_ascii_strtod() spec doesn't match C99/C11 standard for underflow behavior (depuc8) - #3069 gio/trash test fails on macOS - #3791 g_error causes -Wanalyzer-infinite-loop warnings in downstream code (correctmost) - #3854 GRegex uses int for string length (Philip Withnall) - #3907 Add g_set_strv() helper similar to g_set_str() (Christian Hergert) - #3911 GMarkup chokes on BOM - #3915 (#YWH-PGM9867-190) Buffer Over-read on GLib through glib/gvariant- serialiser.c:1253 via gvs_tuple_is_normal() (Philip Withnall) - #3916 (#YWH-PGM9867-187) OOB Read on GLib through glib/gmarkup.c:g_markup_escape_text() via glib/gmarkup.c:append_escaped_text() (Philip Withnall) - #3917 (#YWH-PGM9867-191) OOB Read on GLib through glib/gdatetime.c:g_date_time_get_ymd via invalid `GDateTime` (Philip Withnall) - #3918 (#YWH-PGM9867-193) Buffer Over-read on GLib's g_regex_replace() through glib/gregex.c:string_append() via g_utf8_next_char() (Philip Withnall) - #3919 (#YWH-PGM9867-194) Buffer Over-read on GLib through glib/gregex.c:g_regex_split_full() via glib/gutf8.c:g_utf8_prev_char() (Philip Withnall) - #3925 (#YWH-PGM9867-199) Buffer Over-read on GLib through glib/giochannel.c via "g_io_channel_read_line_backend" (Philip Withnall) - #3930 (#YWH-PGM9867-200) Off-by-one Error on GLib through glib/gkeyfile.c via "g_key_file_get_locale_string_list" (Philip Withnall) - #3931 (#YWH-PGM9867-203) Path Traversal on GLib DBus through glib/gio/gdbusauthmechanismsha1.c via keyring_lookup_entry, mechanism_client_data_receive (COOKIE_SHA1 Client Authentication) leads to Arbitrary File Read (Philip Withnall) - #3932 (#YWH-PGM9867-204) Integer Underflow (CWE-191) on GLib through gio/gdbusintrospection.c via "g_dbus_node_info_new_for_xml" (Philip Withnall) - #3933 Integer overflow in g_dbus_message_bytes_needed() bypasses 128 MiB size check (pre-auth DoS on P2P connections) (Philip Withnall) - #3954 Generic marshaller lacks support for GTypeInstance derived types (Christian Hergert) - #3958 FTBFS for vs2019-arm64 in libcharset due to undefined _CountOneBits64 - !4990 gdbusauthmechanismsha1: Ignore G_DBUS_COOKIE_SHA1_KEYRING_DIR when suid - !5094 gtestdbus: Keep config file around until bus daemon exits - !5099 liststore: Micro-optimize no-op bulk operations - !5101 Update Serbian translation - !5102 g_base64_decode_step: fix documented type of in - !5103 gdbusmessage: Documentation improvements - !5105 docs: Expand docs for GLIB_VERSION_MAX_ALLOWED - !5106 gmarkup: Add api to get attribute locations - !5107 gmessages: Remove incorrect callback annotations - !5110 gmarkup: fix type of length parameter of text_validate() - !5111 Update Russian translation - !5112 docs: Clarify default/user signal handlers - !5113 Update Polish translation - !5114 docs: Remove myself from CODEOWNERS - !5115 build: Post-release version bump - !5116 Update Slovenian translation - !5117 fuzzing: Add a fuzz test for g_markup_escape_text() - !5118 gstrfuncs: Add g_set_str_take() helper function - !5119 tests: Check that g_markup_escape_text() returns something parseable - !5120 Update Chinese (China) translation - !5121 gio: Apply property accessor annotations to GDBus types - !5123 Update Romanian translation - !5124 gvariant: Tweak GVariantIter heap allocation casting - !5125 gregex: Fix some missing Markdown formatting in docs - !5126 Add missing annotations - !5127 libffi: don't build testsuite when building as subproject - !5128 gmarkup: Swap the argument order for g_realloc_n() - !5136 docs: Clarify UTF-8 validity for functions which accept a length - !5138 Update Slovenian translation - !5140 Update Romanian translation - !5141 Support XDG_PROJECTS_DIR - !5142 gsocketconnection: Fix annotations for get_socket() - !5145 gvarianttype: use pure attribute, not inappropriate const - !5146 gmessages: Add missing stdlib.h include for abort() - !5148 registrysettingsbackend: Chain up vfuncs - !5149 gtype: Improve G_DEFINE and G_DECLARE docs - !5153 g_get_num_processors(): on macOS, report n_pcore - !5155 Update German translation - !5157 Update Dutch translation - !5158 gsocket: Fix g_socket_new_from_fd() on unbound sockets on windows - !5159 gvariant: Tweak GVariantIter heap allocation size - !5161 [docs] Gio.MenuModel: Fix bulleted list - !5162 gvariant: Match allocation size of g_slice_new to g_slice_free - !5163 gvariant test: Fix a leak - !5164 tests: Avoid undefined signed left-shift in bitlock test - !5167 docs: Add docs for G_GNUC_FLAG_ENUM - !5176 gnulib: Fix unused flags variable warning - !5177 gio/tests/pollable.c: Fix test on FreeBSD - !5180 meson: Add valgrind suppression file to VALGRIND_OPTS in devenv - !5182 Meson: Don't hardcode FFI_STATIC_BUILD / G_INTL_STATIC_COMPILATION - !5183 gio/tests/pollable.c: Conditionalize on FreeBSD version in the /dev/null test case - !5185 gio/gdesktopappinfo: Add precondition assertions - !5187 Add safety documentation regarding use of g_shell_quote() - !5188 Improve performance of g_array_maybe_expand() * Translation updates: - Chinese (China) (luming zh) - Dutch (Nathan Follens) - German (Christian Kirbach) - Polish (Victoria Niedzielska) - Romanian (Antonio Marin) - Russian (Artur S0) - Serbian (Марко Костић) - Slovenian (Martin) Overview of changes in GLib 2.88.0, 2026-03-16 ============================================== * Bugs fixed: - !5097 gslice: Factor out a size helper macro and stop using MAX in a public header Overview of changes in GLib 2.87.5, 2026-03-12 ============================================== * Brown paper bag release to attempt to fix the dist-job in CI; this caused it to be impossible to build a release archive for 2.87.4 * Bugs fixed: - !5096 ci: Force a git clone and update the index when running dist-job Overview of changes in GLib 2.87.4, 2026-03-12 ============================================== * Avoid installing broken symlinks as part of the test data for the gdatetime tests (!5054, work by Alessandro Astone) * Fix `g_file_set_contents()` with non-ASCII filenames on Windows (#3873, work by Lukas K.) * Bugs fixed: - #3688 Documentation issue with g_slice_new and g_slice_new0 (Philip Withnall) - #3730 Unclear assertion failure message when `G_PARAM_CONSTRUCT` and `G_PARAM_CONSTRUCT_ONLY` are both specified (depuc8) - #3814 vs2019-arm64 CI fails with ninja error (Philip Withnall) - #3873 g_file_set_contents broken on windows for non-ASCII filenames - #3885 Documentation of g_file_info_get_is_backup() doesn’t define what a backup file is (depuc8) - #3897 GLocalFileInfo's set_symlink() is backwards (Philip Withnall) - #3905 Memory leak in g_desktop_app_info_launch_uris_with_spawn (correctmost) - !5030 gsocketconnection: Set an error when closed if no address is cached - !5037 minor doc fixes - !5047 i18n: Update and correction for Occitan - !5048 ci: Install gi-docgen in the Fedora CI image - !5049 Update Serbian translation - !5050 Update Swedish translation - !5051 Update French translation - !5052 Update Bulgarian translation - !5053 Update Romanian translation - !5054 tests: Create unix_localtime root directory structure at runtime - !5055 Update Chinese (China) translation - !5056 Update Japanese translation - !5057 Update Korean translation - !5058 Update Georgian translation - !5059 Update Ukrainian translation - !5060 Update Lithuanian translation - !5061 Update French translation - !5062 Update Hungarian translation - !5064 Update Portuguese translation - !5065 Update Nepali translation - !5066 i18n: Update for Occitan - !5068 Update Turkish translation - !5069 Update Brazilian Portuguese translation - !5070 Update Galician translation - !5071 Update Kazakh translation - !5075 Update Polish translation - !5076 Update Catalan translation - !5077 Update Slovenian translation - !5078 gio-tool-launch: Fix a filename leak - !5080 Update Catalan translation - !5081 Update Danish translation - !5082 Update Polish translation - !5084 Update British English translation - !5085 Update Georgian translation - !5087 Update Nepali translation - !5088 tests: Fix a minor memory leak in the socket test - !5089 ci: Drop workaround for GitLab submodule checkout bug - !5090 Prevent iptosmessage test failures on FreeBSD and Hurd - !5091 gobject: Disable new construct property check with G_DISABLE_CHECKS * Translation updates: - Bulgarian (Alexander Alexandrov Shopov) - Catalan (Victor Dargallo, Jordi Mas) - Chinese (China) (luming zh) - Danish (Ask Hjorth Larsen) - English (United Kingdom) (Bruce Cowan) - French (Guillaume Bernard) - Galician (Francisco Diéguez Souto) - Georgian (Ekaterine Papava) - Hungarian (Balázs Úr) - Japanese (Makoto Sakaguchi) - Kazakh (Baurzhan Muftakhidinov) - Korean (Changwoo Ryu) - Lithuanian (Aurimas Aurimas Černius) - Nepali (Pawan Chitrakar) - Occitan (post 1500) (Mejans) - Polish (Victoria) - Portuguese (Hugo Carvalho) - Portuguese (Brazil) (Rafael Fontenelle) - Romanian (Antonio Marin) - Serbian (Miloš Popović) - Slovenian (Martin) - Swedish (Anders Jonsson) - Turkish (Emin Tufan Çetin) - Ukrainian (Yuri Chornoivan) ======================================== glib-networking ======================================== 2.90.0 - September 10, 2026 =========================== * Bugs fixed: - !286 meson: Remove version checks that are always true (correctmost) * Translation updates: - Bulgarian (Alexander Alexandrov Shopov) - Catalan (Xavi Ivars) - Chinese (China) (luming zh) - Czech (Daniel Rusek) - Danish (Ask Hjorth Larsen) - Dutch (Nathan Follens) - French (Guillaume Bernard) - Galician (Francisco Diéguez Souto) - Georgian (Ekaterine Papava) - Hebrew (Yaron Shahrabani) - Hungarian (Balázs Úr) - Kazakh (Baurzhan Muftakhidinov) - Korean (Changwoo Ryu) - Lithuanian (Aurimas Černius) - Occitan (post 1500) (Quentin PAGÈS) - Persian (Danial Behzadi) - Portuguese (Brazil) (burns) - Russian (Artur S0) - Serbian (Марко Костић) - Spanish (Daniel Mustieles) - Swedish (Anders Jonsson) - Thai (Aefgh Threenine) - Turkish (Emin Tufan Çetin) - Uighur (Abduqadir Abliz) - Ukrainian (Yuri Chornoivan) 2.90.alpha - June 25, 2026 ========================== * Bugs fixed: - #222 test fails with openssl 3.4.x (Michael Catanzaro) - #226 (CVE-2025-60018) (#YWH-PGM9867-106) Out of Bond Reads on glib- networking through tls/openssl/gtlscertificate-openssl.c via "g_tls_certificate_openssl_get_property()" due to Incorrect BIO_write Return Value Validation in Certificate PEM Export (Michael Catanzaro) - #228 (CVE-2026-2574) (#YWH-PGM9867-150) OOB Read on glib-networking through tls/openssl/gtlsclientconnection-openssl.c via g_tls_client_connection_openssl_get_property() (Michael Catanzaro) - #231 (CVE-2026-10028) (#YWH-PGM9867-278) Infinite loop in certification path building (Michael Catanzaro) - !261 meson: Introduce option for enable/disable tests (Leonid Zaburunov) - !263 openssl: check return value of g_tls_bio_alloc() and BIO_new() (Michael Catanzaro) - !265 openssl: delete support for OCSP stapling (Michael Catanzaro) - !268 Fix file database and PKCS11 test failures and update CI! (Michael Catanzaro) - !270 Fix miscellaneous safety issues reported by bug hunters (Michael Catanzaro) - !271 Delete gtlshttp (Michael Catanzaro) - !272 Fix connection test reusing a GError (Michael Catanzaro) - !273 openssl: fix error code confusion (Michael Catanzaro) - !274 ci: add catch for reporting stack traces (Michael Catanzaro) - !277 Require OpenSSL 1.1.1 or newer (Michael Catanzaro) - !280 Some fixes found with kiro (Ignacio Casal Quinteiro) - !281 Fix various memory leaks (Michael Catanzaro) - !283 openssl: refactor error handling code (Michael Catanzaro) - !284 openssl: use ERR_clear_error() all over the place (Michael Catanzaro) - !285 gnutls: always notify accepted-cas property after handshake (Michael Catanzaro) * Translation updates: - Arabic (Ahmed Najmawi) - Basque (Asier Saratsua Garmendia) - Belarusian (Vasil Pupkin) - Cornish (Flynn Peck) - Esperanto (Kristjan SCHMIDT) - Greek, Modern (1453-) (Efstathios Iosifidis) - Japanese (Takayuki Kusano) - Lao (Saikeo Kavhanxay) - Romanian (Antonio Marin) - Slovak (Jose Riha) - Slovenian (Martin) - Thai (Aefgh Threenine) - Uighur (Abduqadir Abliz) - Uzbek (Baxrom Raxmatov) ======================================== glibmm ======================================== 2.90.0 (stable) 2026-09-13 API is identical to glibmm 2.89.1. Meson build: * Fix missing dependencies, making it possible to build with https://github.com/michaelforney/samurai instead of ninja. (syntheticsweet) Merge request !79 2.89.1 (unstable) 2026-08-26 Glib: * SignalTimeout: Add connect_ns(), connect_ns_once(). * Source: Add get_time_ns(). (Kjell Ahlstedt) Gio: * ApplicationCommandLine: Add property_is_remote(). * DesktopAppInfo: Add property_filename(). * UnixFDList: Add peek(), lookup(), append_take(). (Kjell Ahlstedt) Build: * Require glib >= 2.89.4 (Kjell Ahlstedt) 2.89.0 (unstable) 2026-08-10 * Drop G_GNUC_CONST as in GLib. Merge request !77 (Sam James) Glib: * Markup::ParseContext: Add get_attribute_position(). (Kjell Ahlstedt) Gio: * Emblem and DBus::ActionGroup: Don't derive gtkmm__Gxxx types. The underlying C classes are final types since GLib 2.89.2. (Kjell Ahlstedt) Documentation: * Remove duplicate of Glib::MarkupError documentation. (Kjell Ahlstedt) Build: * Require glib >= 2.89.0 (Kjell Ahlstedt) 2.88.1 (stable) 2026-06-28 Documentation: * NMake Makefiles: Update build info again (Chun-wei Fan) Merge request !73 * README.win32.md: Update info and use UNIX line endings (Chun-wei Fan) Merge request !76 gmmproc: * Add mmgir, which generates .defs files from GIR files generated by GObject-introspection (Daniel Gao) Merge request !71 * Add scripts that generate .defs files with mmgir * Small fixes here and there to adapt to .defs files generated by mmgir (Kjell Ahlstedt) * mmgir: Fix compiling parse_gir.cc on Windows (Chun-wei Fan) Merge request !72 * Improve detection of enum and flags in documentation (Kjell Ahlstedt) Build: * Meson build: Add the build-mmgir option * Autotools build: Distribute tools/mmgir (Kjell Ahlstedt) * meson.build: Ignore C4018 warnings (Chun-wei Fan) Merge request !72 * NMake Makefiles: - More consolidations - Update gmmproc install location (Chun-wei Fan) Merge request !73 * NMake Makefiles: - Build the mmgir tool if requested - Build generate_defs_[glib|gio] (Chun-wei Fan) Merge request !76 2.88.0 (stable) 2026-03-18: Glib: * Markup::ParseContext: Add get_offset() and get_tag_start(). (Kjell Ahlstedt) Gio: * Application: Handle empty description in add_main_option_entry(). (Kjell Ahlstedt) Issue #124 (Tobias) Documentation: * Gio::File: Note where g_free() shall be called. (Kjell Ahlstedt) * README.win32.md: Mention Visual Studio 2026, update build info (Chun-wei Fan) Merge request !69 gmmproc: * tools/defs_gen/docextract: Improve extraction of enum enumerators. Fix the case when no enumerator is documented the old way in the enum block. * tools/defs_gen/enumextract.py, h2def.py: Ignore G_GNUC_FLAG_ENUM before the name of an enum definition. (Kjell Ahlstedt) Build: * Require glib >= 2.87.3 * Meson build: Don't require the 'dot' command when creating documentation with Doxygen. (Kjell Ahlstedt) * Meson build: Make Visual Studio 2026 builds distinct * NMake Makefiles: - Make Visual Studio 2026 builds distinct - Reorganize, fix, and clean up a bit - Make m4 detection more flexible and robust - Make build process more robust (Chun-wei Fan) Merge request !69 ======================================== glycin ======================================== ## 2.2.1 (2026-09-15) This release contains the following new component versions: - glycin-utils 5.0.1 ### Fixed - Don't mmap already write sealed memfds as shared. This is only supported since Linux 6.7 . ## 2.2.0 (2026-09-09) This release contains the following new component versions: - glycin-common 2.0.0 - glycin-core 4.0.0 - glycin-heif 2.2.0 - glycin-image-rs 2.2.0 - glycin-jxl 2.2.0 - glycin-raw 2.2.0 - glycin-svg 2.2.0 - glycin-test 2.2.0 - glycin-thumbnailer 2.2.0 - glycin-utils 5.0.0 - glycin 4.0.0 - glycin-builtin 4.0.0 - glycin-external 4.0.0 - libglycin-gtk4-rebind 0.2.0 - libglycin-gtk4-rebind-sys 0.2.0 - libglycin-rebind 0.2.0 - libglycin-rebind-sys 0.2.0 - libglycin 2.2.0 - libglycin-gtk4 2.2.0 ### Fixed - - glycin/sandbox: Fix compilation on 32 bit architectures ## 2.2.beta.1 (2026-08-21) This release contains the following new component versions: - glycin-core 4.0.0-beta.1 - glycin-heif 2.2.0-beta.1 - glycin-image-rs 2.2.0-beta.1 - glycin-jxl 2.2.0-beta.1 - glycin-raw 2.2.0-beta.1 - glycin-svg 2.2.0-beta.1 - glycin-test 2.2.0-beta.1 - glycin-thumbnailer 2.2.0-beta.1 - glycin 4.0.0-beta.1 - glycin-builtin 4.0.0-beta.1 - glycin-external 4.0.0-beta.1 - libglycin 2.2.0-beta.1 - libglycin-gtk4 2.2.0-beta.1 ### Fixed - Libglycin relied on the Gio.File async API working when used via it's sync API. However, consumers like GNOME Shell, gdk-pixbuf, and Nautilus are exhausting the GTask thread pool via spawning a lot of threads via `g_task_run_in_thread()` blocking on libglycin. Since libglycin can't make any progress on opening or loading files, this leads to a deadlock. While the practice of exhausting GTasks is considered bad practice, there are too many library consumers relying on this behavior to work. Libglycin now uses the sync GIO operations when the sync API is used. - Work around memory leak in gtk-rs #314 ## 2.2.beta (2026-07-31) This release contains the following new component versions: - glycin-common 2.0.0-beta - glycin-core 4.0.0-beta - glycin-heif 2.2.0-beta - glycin-image-rs 2.2.0-beta - glycin-jxl 2.2.0-beta - glycin-raw 2.2.0-beta - glycin-svg 2.2.0-beta - glycin-test 2.2.0-beta - glycin-thumbnailer 2.2.0-beta - glycin-utils 5.0.0-beta - glycin 4.0.0-beta - glycin-builtin 4.0.0-beta - glycin-external 4.0.0-beta - libglycin-gtk4-rebind 0.2.0-beta - libglycin-gtk4-rebind-sys 0.2.0-beta - libglycin-rebind 0.2.0-beta - libglycin-rebind-sys 0.2.0-beta - libglycin 2.2.0-beta - libglycin-gtk4 2.2.0-beta ### Added - glycin: API to disable conversion of frames with ICC profile to sRGB. - glycin: Creator::set_transform_memory_format allows to automatically transform frame textures to a memory format supported by the image format. - image-rs: Support XMP in GIF, TIFF, and WebP - libglycin: Expose API to disable conversion to sRGB from ICC profile and for obtaining the ICC profile. ## 2.2.alpha.7 (2026-07-17) This release contains the following new component versions: - glycin-core 4.0.0-alpha.7 - glycin-heif 2.2.0-alpha.7 - glycin-image-rs 2.2.0-alpha.7 - glycin-jxl 2.2.0-alpha.7 - glycin-raw 2.2.0-alpha.7 - glycin-svg 2.2.0-alpha.7 - glycin-test 2.2.0-alpha.7 - glycin-thumbnailer 2.2.0-alpha.7 - glycin 4.0.0-alpha.7 - glycin-builtin 4.0.0-alpha.7 - glycin-external 4.0.0-alpha.7 - libglycin 2.2.0-alpha.7 - libglycin-gtk4 2.2.0-alpha.7 ### Added - Add "test_disable_sandbox" option to disable use of sandbox while running tests. - Cross compilation should now work out of the box and not require any patches. - Setting `GLYCIN_DISABLE_SANDBOX=i-know-the-risks` will disable the sandbox if `SandboxSelector::Auto` is used. - Support conversion of pixel densities between different units. ### Fixed - Don't report JPEG 2000 images as format name ICO. - libglycin: Build errors on Windows MSVC and macOS. Builds unter Windows GNU are still not completely working. ### Changed - The pixel density is now provided as it's own object. This is a breaking change towards the previous alpha version. - sandbox: Use seccomp blocklist instead of allowlist. The allowlist has repeatedly caused issues because it's not clear when new syscalls need to be added. Since seccomp is a second line of defence on top of namespaces anyway, this should be totally fine. Don't block socket calls for now since it's a bit complicated and they were allowed before. This also fixes issues where multiarch setups would run into a second arch not being properly handled by seccomp. #269 ## 2.2.alpha.6 (2026-07-09) This release contains the following new component versions: - glycin-common 2.0.0-alpha.1 - glycin-core 4.0.0-alpha.1 - glycin-heif 2.2.0-alpha.6 - glycin-image-rs 2.2.0-alpha.6 - glycin-jxl 2.2.0-alpha.6 - glycin-raw 2.2.0-alpha.6 - glycin-svg 2.2.0-alpha.6 - glycin-test 2.2.0-alpha.6 - glycin-thumbnailer 2.2.0-alpha.6 - glycin-utils 5.0.0-alpha.1 - glycin 4.0.0-alpha.1 - glycin-builtin 4.0.0-alpha.1 - glycin-external 4.0.0-alpha.1 - libglycin 2.2.0-alpha.6 - libglycin-gtk4 2.2.0-alpha.6 ### Added - Glycin now supports pixel density (like DPI) in the internal Frame API. This allows to retrive and set the pixel density for PNG, JPEG, and TIFF images. The feature is also accessible via the libglycin API. - image-rs: Support for the Radiance HDR format ### Changed - image-rs: Use custom openexr loader. This allows to load f16 images as half format. It also fixes loading openexr u32 images. ## 2.2.alpha.5 (2026-06-30) ### Fixed - Let distribution script update the Cargo.lock file. ## 2.2.alpha.4 (2026-06-26) This release contains the following new component versions: - glycin-common 2.0.0-alpha - glycin-core 4.0.0-alpha - glycin-heif 2.2.0-alpha - glycin-image-rs 2.2.0-alpha - glycin-jxl 2.2.0-alpha - glycin-raw 2.2.0-alpha - glycin-svg 2.2.0-alpha.2 - glycin-test 2.2.0-alpha - glycin-thumbnailer 2.2.0-alpha - glycin-utils 5.0.0-alpha - glycin 4.0.0-alpha - glycin-builtin 4.0.0-alpha - glycin-external 4.0.0-alpha - libglycin 2.2.0-alpha.4 - libglycin-gtk4 2.2.0-alpha.4 ### Added - Added support for specifying in configs how to detect the images of a type instead of relying on global mime-type database. This is faster, more reliable, and works on systems like Windows out of the box. - Give proper error messages when processors panic instead of waiting for results forever. - Glycin can now be built with compiled-in (builtin) processors. In that case, loaders don't have to be available as separate binaries. While this mode doesn't provide sandboxing and extendability, it supports non-Linux systems like macOS and Windows. This mode will be used automatically when not built on Linux. - heif: Add animation support for AVIF and HEIC files - image-rs: The loaders and editors now use gufo 0.5. This brings support for more metadata extraction like key-value medata from PNGs and `` entries from SVGs. For editing, this now supports changing the orientation of images with a broken Exif orientation tag. - svg: Load XMP metadata ### Changed - svg: Don't limit the size of elements in the SVG #279 ## 2.1.6 (Unreleased) ### Added - Recognize image/vnd.ms-dds as DDS that is used starting with shared-mime-info 2.5. ### Changed - Require image-extras 0.1.1 to fix xpm loading issue #290 ## 2.1.5 (2026-06-25) This release contains the following new component versions: - glycin-image-rs 2.1.5 ### Fixed - image-rs/jpeg: Support RGB for editing. There are actually images that don't use ycbcr. #274 ## 2.1.1 (2026-03-23) This release contains the following new component versions: - glycin-image-rs 2.1.1 ### Fixed - Bump gufo to 4.0.1. This fixes optaining key-value pairs potentially containing nul-characters, which is not allowed per PNG standard and can't be transmitted as String via D-Bus. Fixes #276 ## 2.1.0 (2026-03-13) This release contains the following new component versions: - glycin-common 1.0.4 - glycin-heif 2.1.0 - glycin-image-rs 2.1.0 - glycin-jxl 2.1.0 - glycin-raw 2.1.0 - glycin-svg 2.1.0 - glycin-thumbnailer 2.1.0 - glycin-utils 4.1.0 - glycin 3.1.0 - libglycin-gtk4-rebind 0.1.0 - libglycin-gtk4-rebind-sys 0.1.0 - libglycin-rebind 0.1.0 - libglycin-rebind-sys 0.1.0 - libglycin 2.1.0 - libglycin-gtk4 2.1.0 ### Fixed - thumbnailer: Remove padding if stride is longer than row data, avoiding broken scaling. This manly affects AVIF and HEIC. #259 ======================================== gnome-app-list ======================================== 2026.08 ======= * Update app list * Fix fetching data from GNOME GitLab * CI: disable unnecessary C-specific jobs Contributors: Milan Crha, Allan Day ======================================== gnome-autoar ======================================== Major changes in 0.5.0: * format-filter: Add zstd to supported formats (Balló György) * compressor: Don't use wildcard query string (Khalid Abu Shawarib) * Remove gnome-autoar-gtk (Emmanuele Bassi, Peter Eisenmann) * doc: migrate to gi-docgen (Iñigo Martínez, Corey Berla) * ci: Use CI Fedora template (Peter Eisenmann) * ci: Publish online documentation (Corey Berla) * build: Rename docs option (Peter Eisenmann) * Various CI fixes until it worked again (Peter Eisenmann) * Add release script (Peter Eisenmann) * ci: Use release-service (Peter Eisenmann) ======================================== gnome-backgrounds ======================================== ================= Version 51.0 ================= Version 51.beta ================= - Curvaturingster - nice shapes, terrible name - default - shape interest in the top right corner, requested by Tobias - pcolor, scolor adjustments ==================== Version 51.alpha.0 ==================== - updated default, 'Roundhex' -- emphasized edges, saturation - Glass Stripes -- refraction, stripes, what's not to love? - Tubes - minor shading / shape tweaks ================= Version 50.0 ================= Version 50.rc ================= - default tweaks - Tubes - extra dark wallpaper - Glass chip - same name, new design ======================================== gnome-bluetooth ======================================== ver 47.2: This version adds mnemonics to some buttons, fixes a couple memory leaks, makes it possible to run the tests with pygobject >= 3.52, and updates translations. ======================================== gnome-boxes ======================================== 50.0 - Mar 14, 2026 +=================== + +Changes since 49.1 + + - Added/updated/fixed translations ======================================== gnome-builder ======================================== # GNOME Builder 50.0 * Translation updates ======================================== gnome-calculator ======================================== Overview of changes in gnome-calculator 51.0 * Updated translations Overview of changes in gnome-calculator 51.rc * Updated translations Overview of changes in gnome-calculator 51.beta * Updated translations * Show exponent in the current base #536 (Lukáš Tyrychtr) * Update and remove some currencies !464 (Jake Dane) * Persist calculation history across sessions !469 (Eric Friedman) * Report the name entry as invalid on the a11y layer !471 (Lukáš Tyrychtr) * Keep rational arithmetic exact (using gmp) !470 (Bruno Gonçalves) * Fixed compile warnings !472 (Lukáš Tyrychtr) Overview of changes in gnome-calculator 51.alpha * Updated translations * Improve search provider (Christian Hergert) * Style fixes (fcusr) * Set imaginary component to +0*i when inverting a real number (Weijia Wang) * Fixed help not opening #534 (Robert Roth) * Fixed compile issues #520 (Tete17) Overview of changes in gnome-calculator 50.0 * Updated translations Overview of changes in gnome-calculator 50.rc * Updated translations ======================================== gnome-calendar ======================================== Major Changes in 51.0: * Preparations for further keyboard navigation improvements * Show a support URL in the About dialog * Minor code cleanups * Updated translations Major Changes in 51.rc: * Improve drag and drop behavior on the Month view. You can now drop events on top of other events. * More keyboard navigation improvements in the Month view. When an event is focused, pressing Ctrl+Tab focuses the month cell behind it. When a month cell is focused, pressing Shift+Tab focuses the first event in front of it. * Fix a rare crash in the Month view when scrolling * Be a little more permissive with the headers of remote iCalendar files. Files with LF line breaks are now accepted. These files are not technically compliant with RFC 5545, but some files are formatted like this in the wild and other calendaring applications accept them without problem. * Fix event popover showing outside the window when the left mouse button is released outside the window * Fix inverted Ctrl+Scroll zoom direction in the Week view * Updated translations Major Changes in 51.beta: * Fix sparodically disappearing horizontal line separators in the month view * Fix the event editor not saving changes to event durations * Fix a crash in the week view that would occur for multiple overlapping events * Don't show the tooltip for the month cell's overflow button if the button is invisible * Updated translations Major changes in 51.alpha: * Completely rework the internals of GNOME Calendar to be based on GListModel. Notably, GcalTimeline and GcalTimelineSubscriber all operate on GListModels, and so do the views (week, month, and agenda). * A number of performance improvements and rendering optimizations to the Month view and to event widgets * Vastly reduce amount of data exchanged by Calendar and Evolution Data Server * Support the maps URI for opening locations * Use a better month name formatting in various places * Make the Week view work with the high-contrast setting * Cleanup and improve the event editor dialog * Adapt CSS to the latest libadwaita and GTK standards * Don't change the refresh interval during startup. This avoids changing values set by the user in Evolution. * Explicitly state when app is not contained inside Flatpak in the About dialog * Cleanup the Flatpak manifest * Add support for Teams links * Visual improvements to the Notes section of the event editor dialog * Updated translations Major changes in 50.0: * Updated screenshots * Focus adjacent cell when pressing Ctrl+Tab in the Month view * Refreshing calendars also updates collections now. This makes new remote calendars appear when refreshing. * Fix an untranslatable string * Updated translations * Make Page Up and Page Down shortcuts jump to first day of month ======================================== gnome-characters ======================================== 51.0 ==== * New translations: - Maori 51.rc ===== * meson: Add check parameter to run_command * Stop using G_GNUC_CONST in _get_type functions * flatpak: Disable gnome-desktop's qr feature * New translations: - Lao - Norwegian Bokmål * Translation updates: - Belarusian - Catalan (Valencian) - Cornish - Dutch - German - Icelandic - Indonesian - Italian - Kabyle - Norwegian Nynorsk - Persian - Polish - Santali - Serbian - Slovak 50.0 ==== * Flatpak builds use the noto-emoji from the Freedesktop SDK * Switch to search results when the search entry is activated * Don't restore selection when deactivating search on mobile * Correctly show sidebar after finishing a search * Strip whitespaces in bundled GResources * Add --version cli option * Add captions to app screenshots * Translations updates: - Basque - Bulgarian - Catalan - Chinese (China) - Cornish - Czech - Danish - English (United Kingdom) - Finnish - French - Galician - Georgian - Greek, Modern (1453-) - Hebrew - Hungarian - Interlingua - Japanese - Kazakh - Korean - Lithuanian - Nepali - Norwegian Bokmål - Occitan (post 1500) - Polish - Portuguese - Portuguese (Brazil) - Romanian - Russian - Slovenian - Spanish - Swedish - Turkish - Uighur - Ukrainian ======================================== gnome-clocks ======================================== gnome-clocks 51.0 ================= * Translation updates gnome-clocks 51.rc ================== * meson: Require meson 1.7 * flatpak: Disable gnome-desktop's qr and systemd features * Translation updates gnome-clocks 50.0 ================= * gresources: Use preprocess=xml-stripblanks * build: use oggenc from vorbis-tools instead of ffmpeg * Translation updates ======================================== gnome-connections ======================================== 51.0 - 14 Sep, 2026 ==================== Changes since 51.rc.1 - Added/Updated translations: - Hungarian - Spanish - Russian - Korean - Danish - Norwegian-Nynorsk 51.rc.1 - 1 Sep, 2026 ==================== Changes since 51.rc - Fixed Flatpak build - Added/Updated translations: - Serbian 51.rc - 31 Aug, 2026 ==================== Changes since 51.beta2 - Added/Updated translations: - Basque - Brazilian-Portuguese - Bulgarian - Catalan - Catalan - Dutch - Finnish - French - Galician - German - Lithuanian - Norwegian Bokmål - Persian - Swedish - Turkish - Uighur 51.beta2 - 3 Aug, 2026 ==================== Changes since 50.0 - Fixed focus chain of authentication dialog - Added captions to app screenshots - Fixed propagation of cursor changes - Enabled h264 in flatpak - Self-build libhandy - Fixed connection to IPv6 URIs - Actualized descriptions of protocols in assistant - Handle NULL Common Name in RdpConnection - Do not remove POINTER_MOTION_MASK - Do not store already stored connections - Updated gtk-frdp - Added/Updated translations: - Belarusian - Chinese - Cornish - Czech - Georgian - Hebrew - Kazakh - Norwegian Bokmål - Occitan - Romanian - Serbian - Slovak - Slovenian - Ukrainian 50.0 - 13 Mar, 2026 ==================== Changes since 50.rc - Added/Updated translations: - Danish ======================================== gnome-console ======================================== Version 51.0 ~~~~~~~~~~~~ New Translations * Maori (Arlewatyerre Tuhoro-Bell) Updated Translations * Danish (Ask Hjorth Larsen) * French (Guillaume Bernard) * Hungarian (Balázs Úr) * Korean (DaeHyun Sung) * Russian (Artur S0) * Spanish (Daniel Mustieles) Version 51.rc ~~~~~~~~~~~~~ New Translations * Norwegian Nynorsk (Bjørn Mørkedal) Updated Translations * Basque (Asier Saratsua Garmendia) * Czech (Patrik Sivek) * French (Guillaume Bernard) * Galician (Francisco Diéguez Souto) * Hebrew (Yaron Shahrabani) * Kazakh (Baurzhan Muftakhidinov) * Lithuanian (Aurimas Aurimas Černius) * Polish (Victoria Niedzielska) * Serbian (acey dot) * Swedish (Anders Jonsson) * Turkish (Emin Tufan Çetin) Version 51.beta ~~~~~~~~~~~~~~~ This cycle has seen a focus on stability with our ever expanding testsuite helping us iron out some rough edges, alongside tackling issues found in the wild, all whilst keeping pace with developments in the wider platform. Thanks to Inochi Amaoto, Maximiliano, and Harald Hoyer, for their patches! New Translations * Lao (Saikeo Kavhanxay) Updated Translations * Belarusian (Vasil Pupkin) * Brazilian Portuguese (burns) * Bulgarian (Alexander Alexandrov Shopov) * Catalan (Xavi Ivars) * Chinese (China) (Luke Na, luming zh) * Cornish (Flynn Peck) * Dutch (Nathan Follens) * Georgian (Ekaterine Papava) * Italian (Davide Ferracin) * Norwegian Bokmål (Kjartan Maraas) * Occitan (Quentin PAGÈS) * Persian (Danial Behzadi) * Polish (Victoria Niedzielska) * Romanian (Antonio Marin) * Serbian (Марко Костић) * Slovak (Jose Riha) * Slovenian (Martin) * Thai (Aefgh Threenine) * Ukrainian (Yuri Chornoivan) Version 50.0 ~~~~~~~~~~~~ Updated Translations * Thai (Aefgh Threenine) Version 50.rc ~~~~~~~~~~~~~ Our various translator communities have been very busy this cycle, much thanks to all of them, as well as to Automeris naranja, Hari Rana, luzpaz, Maximiliano, metamuffin, nina, and Patrick Griffis, for the patches they provided. New Translations * Cornish (Flynn Peck) * Uighur (Abduqadir Abliz) Updated Translations * Basque (Asier Saratsua Garmendia) * Brazilian Portuguese (Juliano de Souza Camargo) * British English (Bruce Cowan) * Bulgarian (twlvnn kraftwerk) * Catalan (Victor Dargallo) * Chinese (China) (luming zh) * Chinese (Taiwan) (Chao-Hsiung Liao, Yi-Jyun Pan) * Czech (Daniel Rusek) * Danish (Ask Hjorth Larsen) * Dutch (Nathan Follens) * Finnish (Jiri Grönroos) * French (Julien Humbert, Lucien Ouoba) * Galician (Fran Diéguez) * Georgian (Ekaterine Papava) * German (Froschi, Lenny Angst) * Greek (Dimitris Spentzos, Efstathios Iosifidis) * Hebrew (Yaron Shahrabani) * Hungarian (Balázs Úr) * Indonesian (Andika Triwidada) * Japanese (小山田 純 - Oyamada Jun) * Kazakh (Baurzhan Muftakhidinov) * Korean (DaeHyun Sung) * Lithuanian (Aurimas Aurimas Černius) * Nepali (Pawan Chitrakar) * Occitan (Quentin PAGÈS) * Persian (Danial Behzadi) * Polish (Victoria) * Portuguese (Hugo Carvalho) * Romanian (Antonio Marin) * Russian (Artur S0) * Slovenian (Martin) * Spanish (Daniel Mustieles) * Swedish (Anders Jonsson) * Turkish (Emin Tufan Çetin, Sabri Ünal) * Ukrainian (Yuri Chornoivan) ======================================== gnome-control-center ======================================== ========== Version 51 ========== - Various translation updates Main Window - Revert "reparent sidebar on small screens" since it broke sub page animations Remote Desktop - Add translation comments to "Verify Fingerprint" string =============== Version 51.rc.1 =============== - Various translation updates Build - Bump dependency on gsettings-desktop-schemas to 51.beta Main Window - Move focus to the panel content when activating item in the sidebar Accessibility - Fix "Configure Screen Reader" button not launching Orca settings - Fix segfault when launching "Sound" settings from "Hearing" page Apps - Add drop-shadow style to default app combo icons - Fix a11y of default app combo items (so screen readers can read it) - Request global-shortcuts portal to rebind shortcuts on removal Color - Improve keyboard navigation of devices list (a11y) Fingerprints - Fix margings in dialog status page - Fix critical for packing verify button in AdwPreferencesPage directly Keyboard - Fix crash when removing key combos for global shortcuts Mobile Networks - Align no-sim status page vertically - Port APN selection dialog to AdwDialog Notifications - Hide apps not set for the current desktop environment (.desktop OnlyShowIn) Users - Fix changing user avatar not updating visible page - Rename fingerprint row title =============== Version 51.beta =============== - Various translation updates Build - Require libgnome-desktop >= 51.alpha About - Add button to open GNOME release notes - Show "GNOME Shell Version" instead of "GNOME Version" Apps - Show icons in the default-apps drop down options Accessibility - Add setting to disable focus timeout Date and Time - Disable ellipzation for one AdwComboRow Global shortucts - Add "ConfigureShortcuts" Graphic Tablets (Wacom) - Modernize the button mapping fallback dialog Network - Hide automatic DNS and route toggle in Manual mode Main Window (Shell) - Rework the navigation view and loading of panel pages Users - Add new fingerprint management interface - Disable keeping user data if deleting a homed user - Disable auto-login for homed users Wi-Fi - Fix visible overflow on the Wi-Fi list widget ================ Version 51.alpha ================ - Various translation updates - Remove Flatpak build support - Merge all panels CSS files into a single global stylesheet - Apply clang-format globally and update coding style - Drop "development" profile Build - Post-release version bump - Make style check mandatory in CI - Switch CI to GNOME OS Accessibility - Add description to the screen reader settings button - Add semantic accessible names to cursor sizes - Fix keyboard navigation between cursor sizes - Give CcSplitRow's radio group a label and role About (System Details) - Remove Windowing System field - Reorder "Software/Hardware" information groups - Merge system details into toplevel about page - Port "Copy" button to AdwButtonRow Applications - Call GNOME Software via D-Bus instead of CLI - Define GNOME Software desktop id only once Color - Avoid dead nested assignment Date & Time - Use GtkEnumList Display - Add "Auto Rotate" row for devices with accelerometer - Add center-aligned snapping for horizontal edges - Don't allow disabling if it's the last display available - Update cursor styles for hover and drag interactions Keyboard - Fix compose key 'á' example - Don't update shortcuts when closing dialog - Improve "Press Esc to cancel [...]" hint - Drop only the colliding combo when rebinding shortcuts - Turn CcKeyboardShortcutDialog into a subpage - Drop nested navigation view in shortcuts page - Port GtkShortcutLabel to AdwShortcutLabel Mouse - Add ability to disable a touchpad while a mouse is plugged in - Remove superfluous "Touchpad" string from Disable While Typing Network - Add DNS domain search settings - Use GNOME QR Code Widget for WiFi sharing - Drop WEP support - Fix confusing proxy descriptions - Fix WireGuard peer reference ownership - Fix "Wired" section appearing broken when empty - Cache the VPN plugin list - Port WiFi Hotspot dialog to AdwDialog and AdwToolbarView - Always recreate hotspot dialog Power - Use @bg_color in battery levels - Remove dead nested assignment for time string Printers - Make "samba" dependency optional - Use AdwPreferencesPage/Group Privacy - Fix adding location sub page - Fit Device Security in mobile view - Port Device Dialog to AdwToolbarView and AdwDialog - Add mnemonics to device dialog action buttons - Allow device dialog height to expand - Do not leak AppInfo and time in location/camera pages - Manage reference counts properly in light of duplicates Region - Initialize locale variables Remote Desktop - Set page description on AdwPreferencesPage - Correctly handle nullable error from secret_collection_for_alias_sync Remote Login - Support both sshd service and socket systemd units - Add option to support SSH socket servers Sharing - Port Media Sharing dialog to a subpage - Port File Sharing dialog to a subpage - Save media sharing folder list whenever they change - Add tooltip to the remove button in sharing-networks - Use a GtkListBox placeholder widget Global Shortcuts Provider - Relax app-id validation - Adjust to libgxdp init API change Sound - Set pa_stream sink monitor for input rows - Order device name and origin correctly for RTL locales - Expose selected device name to accessibility - Improve accessibility label of volume slider Users - Ensure newly added user have set an avatar - Remove nested navigation view - Justify title label of fingerprint empty state - Set wrapping of fingerprint empty state title label - Make select fingerprint popup scroll Wacom - Append the serial number to the tool description - Remove an xf86-input-wacom-specific hack - Fix -Wcast-align errors with clang Wellbeing - Fit into mobile width WWAN - Use early returns in APN data and EPS bearer getters ============= Version 50.0 ============= - Various translation updates - Match old app ID for backwards compatibility in metainfo/appdata - Close visible toplevels and dialogs when loading other panels Accessibility - Improve keyboard navigation in Reduced Motion setting - Fix Reduced Motion setting not applying due to type mismatch - Mark hotspot dialog error labels for a11y Power - Rework logic to show power button action - Various inhibitor fixes ======================================== gnome-desktop ======================================== ================ Version 51.0 ================ * Translation updates: - Basque (Asier Saratsua Garmendia) - Belarusian (Vasil Pupkin) - Danish (Alan Mortensen) - Dutch (Nathan Follens) - Finnish (Jiri Grönroos) - Galician (Francisco Diéguez Souto) - Hebrew (Yaron Shahrabani) - Hungarian (Balázs Úr) - Japanese (小山田 純 - Oyamada Jun) - Karbi (Jor Teron) - Korean (Changwoo Ryu) - Maori (Arlewatyerre Tuhoro-Bell) - Norwegian Bokmål (Miika Brenna Jarsve) - Norwegian Nynorsk (Miika Brenna Jarsve) - Persian (Danial Behzadi) - Serbian (Марко Костић) - Spanish (Daniel Mustieles) - Swedish (Anders Jonsson) - Vietnamese (Phan Quang Khánh) ================ Version 51.alpha ================ * New API to generate qr codes. See gnome-qr.h and gnome-qr-gtk.h for details of the api. The new apis are installed as separate shared libraries (libgnome-qr-4.so and libgnome-qr-gtk-4.so). To use in your code, use the pkg-config files gnome-qr-4.pc and gnome-qr-gtk-4.pc. * Bugs fixed: - !185 Introduce gnome-qr library (Joan Torres Lopez, Marco Trevisan (Treviño)) - !188 build: Enable tests again (Marco Trevisan (Treviño)) - !193 thumbnail: Fix overly broad path check in can_thumbnail (Arecsu) * Translation updates: - Bulgarian (Alexander Alexandrov Shopov) - Catalan (Victor Dargallo) - Chinese (China) (luming zh) - Cornish (Flynn Peck) - Czech (Daniel Rusek) - French (Julien Humbert) - Georgian (Ekaterine Papava) - German (Christian Kirbach) - Kazakh (Baurzhan Muftakhidinov) - Lithuanian (Aurimas Aurimas Černius) - Norwegian Bokmål (Kjartan Maraas) - Norwegian Nynorsk (Bjørn Mørkedal) - Occitan (post 1500) (Quentin PAGÈS) - Polish (hoek) - Portuguese (Hugo Carvalho) - Portuguese (Brazil) (Juliano de Souza Camargo) - Romanian (Antonio Marin) - Russian (Julia Dronova, Artur S0, Антон Афонин) - Serbian (Марко Костић) - Slovak (Jose Riha) - Slovenian (Martin) - Turkish (Emin Tufan Çetin) - Uighur (Abduqadir Abliz) - Ukrainian (Yuri Chornoivan) - Uzbek (Baxrom Raxmatov) ======================================== gnome-font-viewer ======================================== GNOME Font Viewer - 50.0 ------------------------------------------------------------------------------- Fonts 50.0 comes with the following improvements: * Redesigned font preview grid that has a consistent preview size (Khaid Abu Shawarib) * Search entry moved to the headerbar to be always visible, and with automatic key stroke forwarding to the entry and Esc for clearing search. (Automeris naranja, Khaid Abu Shawarib) * Reorganized font information page (Automeris naranja) * Enhance application metadata (Maximiliano, Daniel Rusek) * Plug multiple memory leaks (Maximiliano) * Correctly claim to open font collection files (Gregor) This version brings translation updates for the following locales: * Arabic (Khaid Abu Shawarib) * Chinese (Taiwan) (Chao-Hsiung Liao) * Cornish (Flynn) * Norwegian Bokmål (Kjartan Maraas) * Santali (Prasanta Hembram) * Serbian (Latin) (Miloš Popović) * Thai (Aefgh Threenine) * Uighur (Abduqadir Abliz) ======================================== gnome-initial-setup ======================================== 51.0 ---- Translation updates - Danish (Ask Hjorth Larsen) 51.rc ----- * Require accountsservice >= 26.12.8 for act_user_uses_homed * Require meson >= 0.60.0 * Migrate realm manager from GSimpleAsyncResult to GTask * Fix potential command injection in keyboard preview * Zeroise Kerberos password before freeing * Fix markup injection in privacy policy URL * Various CI fixes Translation updates - Basque (Asier Saratsua Garmendia) - Brazilian Portuguese (Luiggi Cardoso) - Bulgarian (Alexander Alexandrov Shopov) - Catalan (Xavi Ivars) - Chinese (China) (luming zh) - Dutch (Nathan Follens) - Finnish (Jiri Grönroos) - French (Lucien) - Galician (Francisco Diéguez Souto) - Greek (Efstathios Iosifidis) - Hebrew (Yaron Shahrabani) - Hungarian (Balázs Úr) - Interlingua (Emilio Sepúlveda) - Korean (Seong-ho Cho) - Lithuanian (Aurimas Aurimas Černius) - Norwegian Bokmål (Miika Brenna Jarsve) - Norwegian Nynorsk (Miika Brenna Jarsve) - Persian (Danial Behzadi) - Polish (Marcel Mrówka) - Russian (Artur S0) - Serbian (acey dot) - Swedish (Anders Jonsson) - Turkish (Emin Tufan Çetin) - Uighur (Abduqadir Abliz) 51.beta ------- * Initial support for systemd-homed accounts [Adrian; !239] * Fix crash crash when ssid gets freed (network page) [Kean; b38a95e34f] * Add error indications and a11y states for enterprise user accounts [Lukáš, !335] * Stop marking non-const fns as const [Maximiliano, !336] Contributors: Adrian Vovk, Kean Ren, Lukáš Tyrychtr, Maximiliano Sandoval Translation updates: - Belarusian (Vasil Pupkin) - Chinese (China) (luming zh) - Czech (Daniel Rusek) - Georgian (Ekaterine Papava) - Kazakh (Baurzhan Muftakhidinov) - Occitan (Quentin PAGÈS) - Romanian (Antonio Marin) - Slovenian (Martin) - Ukrainian (Yuri Chornoivan) 51.alpha -------- * network: Prevent crash when object-paths are gone [Felipe; !331] * account: Port error dialog to AdwAlertDialog [nmontero; !328] * account: Port full name and username entries to AdwEntryRows [Felipe; !317] * summary: Quit when there's no GDM connection [Guido; !296] * Make header buttons width match [nmontero; !319] * account: Fall back to g_str_to_ascii when iconv TRANSLIT is unavailable [Clayton, 310] * Fix Keyboard page search not showing matching layouts immediately [nmontero; !314] * Get distro logo from os-release [nmontero, !320] * Various goblint (gobject linter) fixes [Jordan, !326] Contributors: Clayton Craft, Felipe Borges, Guido Günther, Jordan Petridis, Lukáš Tyrychtr, Michael Catanzaro, nmontero Translators: Abduqadir Abliz [ug], 小山田 純 - Oyamada Jun [ja], Victoria Niedzielska [pl], Ask Hjorth Larsen [da], Bruce Cowan [en_GB], Flynn Peck [kw], Miika Brenna Jarsve [nn, nb], Nathan Follens [nl], Jose Riha [sk], Aefgh Threenine [th], Vasil Pupkin [be], Марко Костић [sr] 50.0 ---- Translators: Abduqadir Abliz [ug], 小山田 純 - Oyamada Jun [ja], Victoria [pl], Ask Hjorth Larsen [da], Bruce Cowan [en_GB], Марко Костић [sr] ======================================== gnome-logs ======================================== GNOME Logs 50.0 =============== * Logs are now exported in ascending order * Fix help dialog inside sandboxes * Updates to Bulgarian, Catalan, Kazakh, Norwegian Bokmål, Serbian (Latin), Serbian, Slovenian, and Uighur ======================================== gnome-maps ======================================== 51.0 - Sep 11, 2026 ========================= Changes since 51.rc - Fix showing secondary icon for recent and favorite places in initial search results Added/updated/fixed translations - Norwegian Bokmål - British English - Hungarian - Brazilian Portuguese - German - Russian - Spanish - Korean - Serbian - Italian - French All contributors to this release Artur S0 Balázs Úr Bruce Cowan burns Christian Kirbach Corentin Noël Daniel Mustieles Davide Ferracin Jeeyong Um Kevin Kjartan Maraas Marcus Lundblad Марко Костић 51.rc - Aug 29, 2026 ========================= Changes since 51.beta - Update appdata screenshots - Update highway shields from OpenStreetMap-Americana - Update OpenStreetMap POI types - Update to use v6 of the MOTIS /plan endpoint for public transit routing Added/updated/fixed translations - Turkish - Lithuanian - Danish - Galician - Portuguese - Norwegian Nynorsk - Norwegian Bokmål - Swedish - Finnish - Bulgarian - Uighur - Indonesian - Dutch - Catalan - Hebrew - Chinese (China) - Persian - Basque - Occitan - Romanian - Belarusian All contributors to this release Abduqadir Abliz Alan Mortensen Alexander Alexandrov Shopov Anders Jonsson Andika Triwidada Antonio Marin Asier Saratsua Garmendia Aurimas Černius Bjørn Mørkedal Danial Behzadi Emin Tufan Çetin Francisco Diéguez Souto Hugo Carvalho Jan-Michael Brummer Jiri Grönroos Kjartan Maraas luming zh Marcus Lundblad Nathan Follens Quentin PAGÈS Vasil Pupkin <3abac@3a.by> Xavi Ivars Yaron Shahrabani 51.beta ========================= Changes since 51.alpha - Moved settings for showing scale, user location, and mesaurement systems from menus to the preference dialog - Change shortcut for toggling showing the scale to avoid confusion with other usages of ctrl+s (typically save operations in other apps) - Show shortcut for showing preferences in shortcuts overview - Skip going-to animations for larger distances - Allow public transit routing to places further from a routable walking path (increased distance from 25 to 250 meters, to match behavior in MOTIS web app) - Show walking durations in public transit iteneraries overview - Increase font size for place name in sidebar/bottom sheet to better match the new pill-style buttons - Updated icon for tombs Added/updated/fixed translations - Persian - Kazakh - Georgian - Czech - Slovenian - Ukrainian - Romanian - French - Norwegian Bokmål All contributors to this release Antonio Marin Baurzhan Muftakhidinov Brayden Rischke Danial Behzadi Daniel Rusek Ekaterine Papava Guillaume Bernard Jakub Steiner John Cardullo Kjartan Maraas Marcus Lundblad Martin Yuri Chornoivan 51.alpha ========================= Changes since 50.0 - Add offline map download support - Add custom overrides for German Autobahn and Bundesstrße highway shields - Show departures and arrivals in the place information for public transit places (stations and stops) when available from Transitious - Show delays and track information for public transit itineraries (when available from provider) - Avoid focus route start entry when selecting a place (avoids show OSK on touch) - Use star icon for favorites menu - Move goto current location button to overlay zoom buttons ground and re-arrange headerbar buttons (move route button to the left and layers button to the right) - Add bicycle shops category to POI search interface Added/updated/fixed translations - Polish - Belarusian - Cornish - Romanian - Slovenian - Occitan - Norwegian Bokmål - Persian - Dutch - Slovak - Russian All contributors to this release Antonio Marin Artur S0 Danial Behzadi Flynn Peck James Westman Jose Riha Kjartan Maraas Luiggi R. Cardoso Marcus Lundblad Martin Nathan Follens Quentin PAGÈS Rein Fernhout Timuçin Boldt Vasil Pupkin <3abac@3a.by> Victoria Niedzielska Марко Костић ======================================== gnome-music ======================================== Overview of changes in 50.0 • Drop Grilo and use LocalSearch directly • Add volume controls accelerators • Refactor Repeat Mode Button into a separate class • Misc gstplayer refactoring Icon is missing in «Add to Playlist» dialog (#668) Thanks to our contributors this release: Gabriele Ricciardi Marinus Schraal Tau Gärtli ======================================== gnome-online-accounts ======================================== Overview of changes in 3.58.1 ============================= * Bugs fixed: - !391 google: Use #ifdef for GOA_GOOGLE_FILES_ENABLED * Translation updates: - Serbian (Марко Костић) - Slovak (Jose Riha) Overview of changes in 3.58.0 ============================= * Bugs fixed: - #453 SMTP server without password cannot be configured (Milan Crha) - Remove unneeded SMTP password escaping - !384 build: Disable google provider Files feature (Ondrej Holy) - !385 MS365: Fix mail address and name (Jan-Michael Brummer) - !386 Google: Set mail name to presentation identity (Jan-Michael Brummer) * Translation updates: - Arabic (Ahmed Najmawi) - Basque (Asier Saratsua Garmendia) - Catalan (Victor Dargallo, Jordi Mas) - Chinese (China) (luming zh) - Czech (Daniel Rusek) - Danish (Ask Hjorth Larsen) - English (United Kingdom) (Bruce Cowan) - Finnish (Jiri Grönroos) - French (Lucien Ouoba) - Galician (Fran Diéguez) - German (Jürgen Benvenuti) - Greek, Modern (1453-) (Efstathios Iosifidis) - Hebrew (Yaron Shahrabani) - Hungarian (Balázs Úr) - Japanese (小山田 純 - Oyamada Jun) - Kazakh (Baurzhan Muftakhidinov) - Korean (Seong-ho Cho) - Lithuanian (Aurimas Aurimas Černius) - Persian (Danial Behzadi) - Polish (Victoria) - Portuguese (Hugo Carvalho) - Romanian (Antonio Marin) - Russian (Artur S0) - Spanish (Daniel Mustieles) - Swedish (Anders Jonsson) - Turkish (Sabri Ünal) - Uighur (Abduqadir Abliz) ======================================== gnome-remote-desktop ======================================== 51.0 ==== * Fix pid reuse vulnerability in the smartcard redirection [Jonas; !426] * Add smartcard redirection documentation [Joan; !427] * Signal full range BT.709 in the AVC bitstreams [Pavel; !421] * Misc bug fixes & cleanups [Pavel, Jonas; !422, !428, !429] Contributors: Jonas Ådahl, Joan Torres Lopez, Roy-Magne Mo, Pavel Shilin Translators: Kjartan Maraas [nb], Roy-Magne Mo [nn] 51.rc ===== * Add support for Kerberos multi user remote login [Jonas; !411, !414, !418] * Fix Vulkan image allocation [Pavel; !419] * Fix building on 32 bit architectures [Jonas; !416] * Misc bug fixes & cleanups [Pavel, Pascal; !420, !423] Contributors: Jonas Ådahl, Pascal Nowack, Pavel Shilin 51.beta ======= * Fix video corruption when using VA-API [Pavel; !412] * Add support for smartcard redirection [Joan; !406] * Misc bug fixes & cleanups [Jonas; !413] Contributors: Jonas Ådahl, Joan Torres Lopez, Pavel Shilin Translators: Kjartan Maraas [nb], Aefgh Threenine [th] 51.alpha ======== * Simplify GDM remote display handling [Joan; !400] * Fix and enable hardware acceleration for amdgpu [Pascal; !401] * Fix failure to reconnect [Jonas; !402] Contributors: Joan Torres Lopez, Pascal Nowack, Jonas Ådahl Translators: Nathan Follens [nl], Jose Riha [sk], Danial Behzadi [fa], Vasil Pupkin [be], Antonio Marin [ro], Flynn Peck [kw], Christian Kirbach [de], Victoria Niedzielska [pl] 50.1 ==== * Test improvements [akallabeth, Pascal; !391, !392] * Misc bug fixes & cleanups [Pascal; !395, !397] * Fix black screen on some NVIDIA GPUs [Pascal; !394] Contributors: akallabeth, Pascal Nowack Translators: Flynn Peck [kw], Марко Костић [sr], Artur S0 [ru], Sveinn í Felli [is], Victoria Niedzielska [pl], Andika Triwidada [id], Salvatore Cocuzza [it] 50.0 ==== * Improve GDM remote display interoperability [Joan; !386] * Improve hardware acceleration compatibility [Pascal; !388] * Wait for GDM before initializing system daemon startup [Pascal; !387] Contributors: Joan Torres Lopez, Pascal Nowack Translators: Emin Tufan Çetin [tr], Abduqadir Abliz [ug], Hugo Carvalho [pt], Ask Hjorth Larsen [da], Daniel [pl], Bruce Cowan [en_GB] ======================================== gnome-session ======================================== ============ Version 51.0 ============ - Fixed bug where oo7-daemon.service never starts by default - Translation updates ============= Version 51.rc ============= - Switched to dbus for looking up logind graphical session - Downgraded logout inhibitors from strong to weak, as a stop-gap fix for buggy inhibitor behavior - Translation updates =============== Version 51.beta =============== - Added `SessionIsLocked` and `SessionClass` properties on D-Bus - Updated mimeapps.list: removed Shaper, since it was split out of GTK into its own app - Fixed regression in screen blanking / idle handling - Translation updates ================ Version 51.alpha ================ - Enabled use of oo7-portal as the implementation of the Secret portal - Updated mimeapps.list for removal of gcr3, and expansion of Loupe's supported mime types - Applied various code cleanups from gobject linter - Fixed a double-free bug - Translation updates ============ Version 50.0 ============ - No changes since 50.rc, just a version number bump and re-release! ======================================== gnome-settings-daemon ======================================== ============ Version 51.0 ============ - Translation updates ============= Version 51.rc ============= - Translation updates - CI improvements Power: - Avoid overlap between panel dimming and idle sleep notification =============== Version 51.beta =============== - Translation updates Usb-protection: - Refactors and improvements - Rely on newer gnome-session for active session tracking ================ Version 51.alpha ================ - Translation updates - Update gnome-volume-control dependency Housekeeping: - Fix launching baobab - Fix use-after free Power: - Make temporary unidle play well with inhibitors ============ Version 50.1 ============ - Build improvements for systemd-less systems ============ Version 50.0 ============ - Translation updates Media-keys: - Ignore suspend inhibitors on explicit actions ======================================== gnome-shell ======================================== 51.0 ==== * Don't duplicate locale keyboard layout [Yan; !4256] * Fix activating network items in quick settings [Carlos; !4391] * Improve lock/login screen styling [Marco; !4355] * Cancel mount password dialogs when locking screen [Florian; !4393] * Validate serilized image data before creating pixbuf [Florian; !4418] * Fixed crash [Sebastian; !4401] * Plugged leaks [Sebastian, Florian, Marco; !4385, !4383, !4381, !4203, !4397, !4398, !4422, !4426] * Misc. bug fixes and cleanups [Florian, Marco, Sebastian, Carlos, Daniel; !4382, !4384, !4360, !4379, !4387, !4361, !4392, !4395, !4396, !4375, !4270, !4389, !4405, !4402, !4400, !4419, !4421, !4420, !4423] Contributors: Marco "Capypara" Köpcke, Carlos Garnacho, Sebastian Keller, Florian Müllner, Daniel Nylander, Yan Pas, Marco Trevisan (Treviño) Translators: Марко Костић [sr], Daniel Mustieles [es], Artur S0 [ru], Jor Teron [mjw], Balázs Úr [hu], Ask Hjorth Larsen [da], Hazel L [el], Bruce Cowan [en_GB], Roy-Magne Mo [nn] 51.rc ===== * Fix glitch when switching workspaces with direct scanout [Sebastian; !4320] * Use glycin to load and cache background images [Bilal; !4134] * Support building with libical4 [Xi; !4215] * Refuse to unlock screen after screen time limit was reached [Florian; !4321] * Fix blocking when toggling wireless toggle [PolyMeilex; !4323] * Continue port from raw event handlers to controllers [Carlos; !4330, !4304] * Fix focusing calendar app from reminder notification [Sebastian; !4327] * Don't show busy cursor when activating actions [Sebastian; !4325] * Fix race condition that prevents password prompt from showing [Adrian; !4336] * Fix glitch when cancelling lock screen prompt with Esc [Joaquín; !4326] * Track magnifier mouse position without polling [Kacper; !4344] * Limit parallel texture loading operations [Georges; !4349] * Focus first menu item when opened via keyboard [Sergio; !4189] * Fix race condition when enabling extensions [Sergio; !3640] * Open windows created via new-window action on correct workspace [Sebastian; !4071] * Plugged leak [Michel; !4337] * Misc. bug fixes and cleanups [rayjonesjay, Florian, DaPigGuy, Joan, Javad, Michel, Sebastian, Marco, Maximiliano, Carlos, Joan, Milan; !4313, !4332, !4340, !4342, !4335, !4338, !4329, !4345, !4346, !4339, !4348, !4354, !4341, !4358, !4357, !4356, !4362, !4368, !4366, !4369, !4371, !4374, !4373, !4377, !4376] Contributors: Georges Basile Stavracas Neto, Sergio Costas Rodriguez, Milan Crha, DaPigGuy, Michel Dänzer, Bilal Elmoussaoui, Carlos Garnacho, Prasanta Hembram, Kacper, Sebastian Keller, Florian Müllner, PolyMeilex, Javad Rahmatzadeh, rayjonesjay, Xi Ruoyao, Maximiliano Sandoval, Joan Torres Lopez, Marco Trevisan (Treviño), Arlewatyerre Tuhoro-Bell, Joaquín Vacas Verísimo, Adrian Vovk Translators: Flynn Peck [kw], Zeqian Sun [zh_CN], Asier Saratsua Garmendia [eu], Antonio Marin [ro], Yuri Chornoivan [uk], Brage Fuglseth [nb], twlvnn kraftwerk [bg], Prasanta Hembram [sat], Davide Ferracin [it], burns [pt_BR], Yaron Shahrabani [he], Andika Triwidada [id], Francisco Diéguez Souto [gl], Nathan Follens [nl], Xavi Ivars [ca], 小山田 純 - Oyamada Jun [ja], Abduqadir Abliz [ug], Jiri Grönroos [fi], Baurzhan Muftakhidinov [kk], Aurimas Aurimas Černius [lt], Anders Jonsson [sv], Marcel Mrówka [pl], Lucien [fr], Emin Tufan Çetin [tr], Changwoo Ryu [ko], Arlewatyerre Tuhoro-Bell [mi], Jor Teron [mjw] 51.beta ======= * Fix glitch when switching to minimized window on another workspace [Florian; !4199] * Add initial support for 'reduced-motion' setting [Florian; !4208] * Explicitly disallow async disable() methods in extensions [Marco; !4276] * Add SVG-based cursor implementations [Carlos; !4278] * Continue port from raw event handlers to controllers [Carlos; !4248] * Improve keyboard navigation of screenshot area selection [Zoey; !4013] * Support COPY, CUT and PASTE action keys in entries [Yaacov; !4257] * Fix miscaled magnified cursor on HiDPI [Daniel; !4290] * Fix sound glitch when pushing redundant volume changes [Andre; !4302] * Refine auth prompt UX [Joan, Ray; !4306] * Add support for web login and unified auth mechanism [Ray, Joan, Marco; !3212] * Handle event reminder notifications [Milan, Florian; !1064] * Fix removing arbitrary provider when removing unregistered search provider [htrex; !4308] * Misc. bug fixes and cleanups [Jonas, Florian, Alessandro B., Alessandro A., Carlos, Adarsh, Marco, Sergio, Sebastian, Jakub, Bilal, Joan; !4249, !4193, !4275, !4261, !4281, !4292, !4293, !4288, !4294, !4296, !4297, !4303, !4305, !4301, !4283, !4117, !4082, !4314, !4312] Contributors: Zoey Ahmed, Yaacov Akiba Slama, Alessandro Astone, Alessandro Bono, Sergio Costas Rodriguez, Milan Crha, Andre Eikmeyer, Bilal Elmoussaoui, Adarsh G M, Carlos Garnacho, htrex, Sebastian Keller, Florian Müllner, Jakub Steiner, Ray Strode, Joan Torres Lopez, Marco Trevisan (Treviño), Daniel van Vugt, Jonas Ådahl Translators: Victoria Niedzielska [pl], Baurzhan Muftakhidinov [kk], Daniel Rusek [cs], Yuri Chornoivan [uk], luming zh [zh_CN], Ekaterine Papava [ka], Martin [sl], Antonio Marin [ro], Yaron Shahrabani [he], Danial Behzadi [fa], Quentin PAGÈS [oc], Vasil Pupkin [be] 51.alpha ======== * Fix extending screenshot area selection to monitor edges [Ramez; !4158] * Fix faulty German translations of several date/time formats [Andre K.; Translation/de#88] * Don't notify dash elements twice to screen reader [Sergio; !4182] * Add rate control to VA-API H.264 screencast pipelines [Mikhail; !4171] * Fix showing “Install Updates” checkbox in power-off/restart dialog [Milan; !4185, !4188] * Fix autorun notification for connected USB drives Sebastian K.; !4187] * Fix spinner resetting on each key press in overview search [Vicente; !4191] * Fix reapplying layout on `xkb-options` changes [Sebastian K.; !4205] * Fix wiggle feedback on non-password auth failures [Joan; !4209] * Expose slow-down-factor in looking glass [Florian; !4211] * Improve app grid accessibility [Sergio; !4110, !4111] * Support touch scrolling in ScrollView [Lorenzo; !4138] * Use custom sound effects instead of sound theme [Jakub; !4154] * Open session/a11y menu on login screen on either button [Florian; !4225] * Use more readable St.ButtonMask values [Florian; !4224] * Save and restore monitor brightness [Sebastian W.; !4006] * Only show audio input icon when actually recording [Herman; !4218] * Support elogind as libsystemd provider [Swagtoy; !4233] * Prevent workspaces from being removed mid-animation [Tony; !4014] * Support version 2 of text_input_v3 protocol [Carlos; !4008] * Improve UI for conflicting sessions on login screen [Joan; !4081] * Announce search result description to screen readers [Lukáš; !4251] * Improve animation when expanding app grid label [Daniel; !4247] * Replace GLSLEffect with ClutterShaderEffect [Bilal; !4241] * Fix spacing in lock screen media notifications [Florian; !4217] * Add support for start/end text-align [Florian; !4204] * Pass params object to popupMenu open()/close() methods [Florian; !4240] * Split extensions-app into its own repository [Florian; !4267] * Plugged leak [Alessandro; !4258] * Misc. bug fixes and cleanups [Bilal, fthx, Marco, Florian, Bilal, Sebastian K., Liam, Monster, Achill, Andre N., Alessandro; !4176, !4077, !4183, !4184, !4180, !4135, !4194, !4197, !4201, !4198, !4210, !4220, !4195, !3255, !3257, !4163, !4222, !4226, !4228, !4221, !4234, !4243, !4250, !4253, !4260, !4133, !4266] Contributors: Vicente Bertolotti, Alessandro Bono, Tony Chen, Sergio Costas Rodriguez, Milan Crha, Bilal Elmoussaoui, Herman Fries, fthx, Carlos Garnacho, Mikhail Gavrilov, Achill Gilgenast, Lorenzo Ianotto, Saikeo Kavhanxay, Sebastian Keller, Ramez Medhat, Monster, Florian Müllner, Andre Nijman, Liam Rust, Jakub Steiner, Swagtoy, Joan Torres Lopez, Marco Trevisan (Treviño), Lukáš Tyrychtr, Daniel van Vugt, Sebastian Wick Translators: Andre Klapper [de], Kjartan Maraas [nb], Nathan Follens [nl], Jose Riha [sk], Saikeo Kavhanxay [lo], luming zh [zh_CN], Bjørn Mørkedal [nn], Flynn Peck [kw], Vasil Pupkin [be], Yuri Chornoivan [uk], Martin [sl], Emin Tufan Çetin [tr], Antonio Marin [ro], Kristjan ESPERANTO [de], Ryo Nakano [ja], Davide Ferracin [it], Artur S0 [ru], Cas Pascal [vi], Victoria Niedzielska [pl], Luiggi R. Cardoso [pt_BR] 50.1 ==== * Use triangular noise shape for dithering lightbox vignette [Michel; !4137] * Fix glitch in quick settings with wrapped text in menu [Sebastian; !4136] * Fit on-screen keyboard better on very small screens [Sebastian; !4156] * Enable network agent on lock screen [Mitchell; !4160] * Add basic zoom support to captive portal [Florian; !4159] * Plugged leak [Sebastian; !4168] * Misc. bug fixes and cleanups [Daniel, Florian, DaPigGuy, Sebastian, Peter, rayjonesjay, Jonas, Bilal, Mohamed; !4139, !4141, !4142, !4143, !4146, !4148, !4151, !4152, !4155, !4148, !4151, !4150, !4162, !4165, !4169, !4153] Contributors: Mohamed Abdulla, Mitchell Augustin, DaPigGuy, Michel Dänzer, Bilal Elmoussaoui, Peter Hutterer, Sebastian Keller, Florian Müllner, rayjonesjay, Daniel van Vugt, Jonas Ådahl Translators: Марко Костић [sr], Flynn Peck [kw], Antonio Marin [ro], Victoria Niedzielska [pl], Ryo Nakano [ja], Jordi Mas [ca], Jose Riha [sk] 50.0 ==== * Improve accessibility of app folders [Sergio; !4109, !4116] * Also respect --force-animation flag in remote sessions [Florian; !4118] * Fix logout action showing up erroneously [Sebastian; !4121] * Fix keyboard layout changing after leaving password entry [Maksim; !4101] * Misc. bug fixes and cleanups [Sebastian, Florian, Daniel; !4113, !4114, !4119, !4120, !4128] Contributors: Sergio Costas Rodriguez, Sebastian Keller, Maksim Mazko, Florian Müllner, Daniel Rusek Translators: Victoria [pl], Bruce Cowan [en_GB], Ask Hjorth Larsen [da], Christian Kirbach [de] ======================================== gnome-software ======================================== Version 51.0 ~~~~~~~~~~~~ Released: 2026-09-10 This is a stable release with updated translations: * Basque (Asier Saratsua Garmendia) * Danish (Alan Mortensen) * French (Guillaume Bernard) * German (Jürgen Benvenuti) * Hungarian (Balázs Úr) * Karbi (Jor Teron) * Norwegian Nynorsk (Roy-Magne Mo) * Portuguese (Brazil) (Luiggi Cardoso) * Romanian (Antonio Marin) * Russian (Artur S0) * Santali (Prasanta Hembram) * Serbian (Марко Костић) * Spanish (Daniel Mustieles) * Uighur (Abduqadir Abliz) Version 51~rc ~~~~~~~~~~~~~ Released: 2026-08-28 This is an unstable release with the following changes: * Various user interface fixes This release also updates translations: * Basque (Asier Saratsua Garmendia) * Belarusian (Vasil Pupkin) * Bulgarian (Alexander Alexandrov Shopov) * Burmese (zay yar lwin) * Catalan (Victor Dargallo, Xavi Ivars, Jordi Mas) * Chinese (China) (luming zh) * Chinese (Taiwan) (Cheng-Chia Tseng) * Czech (Patrik Sivek) * Dutch (Nathan Follens) * Finnish (Jiri Grönroos) * French (Lucien) * Galician (Francisco Diéguez Souto) * Georgian (Ekaterine Papava) * Hebrew (Yaron Shahrabani) * Indonesian (Andika Triwidada) * Kazakh (Baurzhan Muftakhidinov) * Korean (Seong-ho Cho) * Lithuanian (Aurimas Černius) * Norwegian Bokmål (Kjartan Maraas) * Norwegian Nynorsk (Bjørn Mørkedal) * Occitan (post 1500) (Quentin PAGÈS) * Persian (Danial Behzadi) * Portuguese (Brazil) (burns) * Russian (Artur S0) * Slovenian (Martin) * Swedish (Anders Jonsson) * Thai (Aefgh Threenine) * Turkish (Emin Tufan Çetin) * Uighur (Abduqadir Abliz) * Ukrainian (Yuri Chornoivan) Version 51~beta ~~~~~~~~~~~~~~~ Released: 2026-07-31 This is an unstable release with the following changes: * Improve performance of icons loading * Improve performance of PackageKit repositories refine * Change statistical approach for average rating scores This release also updates translations: * Chinese (China) (luming zh) * Czech (Daniel Rusek) * Georgian (Ekaterine Papava) * Hebrew (Yaron Shahrabani) * Kazakh (Baurzhan Muftakhidinov) * Polish (Victoria Niedzielska) * Romanian (Antonio Marin) * Slovenian (Martin) * Ukrainian (Yuri Chornoivan) Version 51~alpha ~~~~~~~~~~~~~~~~ Released: 2026-06-26 This is an unstable release with the following changes: * Extend Flatpak file permissions list * Warn before installing end-of-life apps * Add tooltips to icon-only buttons in narrow mode * Reuse cached AppStream data on start-up to improve performance * Fixed few memory leaks This release also updates translations: * Belarusian (Vasil Pupkin) * Czech (Daniel Rusek) * Dutch (Nathan Follens) * Kabyle (BoF ButterflyOfFire) * Lao (Saikeo Kavhanxay) * Norwegian Bokmål (Brage Fuglseth, Kjartan Maraas) * Persian (Danial Behzadi) * Polish (Victoria Niedzielska, Łukasz Horodecki) * Romanian (Antonio Marin) * Russian (Artur S0) * Serbian (Марко Костић) * Slovenian (Martin) * Thai (Aefgh Threenine) * Turkish (Emin Tufan Çetin) * Uzbek (Muhammad Ganiyev) * Vietnamese (phmqXPD) Version 50.0 ~~~~~~~~~~~~ Released: 2026-03-13 This is a stable release with updated translations: * Danish (Alan Mortensen) * English (United Kingdom) (Bruce Cowan) * Japanese (小山田 純 - Oyamada Jun) * Occitan (post 1500) (Quentin PAGÈS) * Polish (Victoria) * Portuguese (Hugo Carvalho) ======================================== gnome-system-monitor ======================================== New in 51.0 - 11 September 2026 * Updated translations New in 51.rc - 29 August 2026 * Updated translations New in 51.beta - 1 August 2026 * Updated translations * Fixed summary units in process table (Jithendiran) * Improve code of systemd/selinux/cgroups (Zander Brown) * Improved process actions wording (Jeff Fortin) * Use correctly translatable disk read/write rate units #376 (Robert Roth) * Fixed multiple Icon text on preferences #373 (Robert Roth) * Improve cgroups performance (Zander Brown) * Fixed compile failure #378 (Funda Wang) New in 50.0 - 14 March 2026 * Updated translations New in 50.rc - 6 March 2026 * Updated translations ======================================== gnome-text-editor ======================================== # Text Editor 51.0 * Fix tooltip for subtitle when using document portal * Translation updates # Text Editor 51.beta * Fix high-contrast CSS properties * Accessibility fix for preferences switch * Allow move-next and previous when search bar is closed * Build/CI updates * Minor code cleanups * Translation updates # Text Editor 50.0 * Translation updates ======================================== gnome-tour ======================================== gnome-tour 50.0 =============== * Translations updates ======================================== gnome-user-docs ======================================== 51.0 ==== * Updated translations: cs (Patrik Sivek) de (Christian Kirbach) el (Efstathios Iosifidis) eo (Kristjan ESPERANTO) eu (Asier Saratsua Garmendia) fa (Danial Behzadi) fr (Mathis Joussemet) hu (Balázs Úr) id (Andika Triwidada) pt (Hugo Carvalho) pt_BR (Rafael Coelho Costa) ru (Artur S0) sr (Мирослав Николић) sv (Anders Jonsson) 51.beta ======= * Updates to GNOME Help (Petr Kovář, activus) * Updated translations: it (Davide Ferracin) kk (Baurzhan Muftakhidinov) sr (Марко Костић) uk (Yuri Chornoivan) 51.alpha ==== * Port to Meson, and remove Autotools * Updated translations: ba (Asier Saratsua Garmendia) eo (Kristjan ESPERANTO) it (Davide Ferracin) pt_BR (Samuel Schlemper) se (Марко Костић) 50.0 ==== * Updated translations: ca (Jordi Mas) de (Christian Kirbach) fi (Jiri Grönroos) fr (Jean-Marc TISSIERES) hu (Balázs Úr) ja (小山田 純 - Oyamada Jun) kk (Baurzhan Muftakhidinov) sv (Anders Jonsson) ======================================== gnome-user-share ======================================== This is gnome-user-share 48.3, a system for easy sharing of user files. Major changes since 48.2: - Removed the translatable string of realm that caused client authentication errors with passwords - A translation update ======================================== gnome-weather ======================================== 50.0 ==== Weather 50.0 comes with the following translation updates for the following locales: - Basque - Bulgarian - Catalan - Chinese (China) - Cornish - Czech - Danish - English (United Kingdom) - Finnish - French - Galician - Georgian - German - Greek, Modern (1453-) - Hebrew - Hungarian - Interlingua (International Auxiliary Language Association) - Japanese - Kazakh - Korean - Lithuanian (Aurimas Aurimas Černius) - Occitan (post 1500) - Polish - Portuguese - Portuguese (Brazil) - Romanian - Russian (Artur S0) - Slovenian - Spanish - Swedish - Turkish (Sabri Ünal) - Uighur - Ukrainian ======================================== gsettings-desktop-schemas ======================================== Major changes in 51.0 ===================== - Translation updates Major changes in 51.rc ====================== - Added setting for custom pointer acceleration profile - Remove gconf schema migration files - Translation updates Major changes in 51.beta ======================== - Add setting to configure the focus ring visibility timeout - Add 'orientation-lock' setting to take over the g-s-d setting - Translation updates Major changes in 51.alpha ========================= - Translation updates - Add scroll speed setting for touchpads - Add the ability to enable button scrolling on a mouse - Increase default maximum thumbnail cache from 512MB to 2GB Major changes in 50.1 ===================== - Translation updates Major changes in 50.0 ===================== - Translation updates ======================================== gssdp ======================================== 1.6.6 (stable) ============== - Fix binding to unicast sockets (Regression introduced by 1.6.5) All contributors to this release: - Jens Georg 1.6.5 (stable) ============= - Block corresponding TCP socket when allocating UDP socket Bugs fixed in this release: - https://gitlab.gnome.org/GNOME/gssdp/issues/31 All contributors to this release: - Jens Georg ======================================== gst-thumbnailers ======================================== ## 1.1.0 - Update dependencies ## 1.1.alpha - Update dependencies ## 1.0.0 - Update dependencies ======================================== gtk ======================================== Overview of Changes in 4.24.0, 11-09-2026 ========================================= * Bugs fixed: - #8195 Animated SVG frequently disappears (Matthias Clasen) - #8307 drop-performed class handlers read a phantom timestamp and send it in XdndDrop (Simeon Maxein) - #8313 macos: No gtk-macos-special equivalent for the Edit menu ("Start Dictation" / "Emoji & Symbols" missing with custom menubar) - #8354 GtkColumnView: sortable column headers expose no AT-SPI action, so sorting is unreachable for assistive technology - #8382 Media queries are not respected (Matthias Clasen) - #8390 svg: if the only animations in an svg are visibility animations elementa stay at initial value (Matthias Clasen) - #8400 Crash triggered by gtk_text_accessible_text_get_extents() (Matthias Clasen) - #8402 CUPS Secret Service authentication causes use-after-free in lookup_auth_info_cb() (Patrick Lambein) - !10132 Fix mismatches between parameters in four signal declarations and the corresponding class slots (Simeon Maxein) - !10245 gtkaccesskitcontext: Expose GActions as custom actions (Lukáš Tyrychtr) - !10265 macos: Default entries in Edit menu (Arjan Molenaar) - !10322 android: Remove empty_frame implementation (Benjamin Otte) - !10323 gtk: Repair action muxer subscriptions (Christian Hergert) - !10324 gsk: Allow conics with weight zero (Matthias Clasen) - !10328 CI: Switch glib CI back to a release (Benjamin Otte) - !10329 Update CI to be less likely to break (Benjamin Otte) - !10330 docs: Update release howto (Matthias Clasen) - !10331 Update Russian translation - !10333 Update Occitan translation - !10334 Update Norwegian Bokmål translation (Kjartan Maraas) - !10336 vulkan: Always update global buffer descriptor set (Benjamin Otte) - !10337 Update Serbian translation - !10338 Update French translation - !10339 svg: Fix run mode discrete (Matthias Clasen) - !10341 Update Basque translation (Asier Saratsua Garmendia) - !10343 ci: Download glib before configuring on MSYS2 (u9g) - !10344 Update Brazilian Portuguese translation - !10345 Update Spanish translation - !10346 memoryconvert: Pass the correct pointer address (Benjamin Otte) - !10349 Update Hungarian translation - !10350 Update Danish translation - !10353 Update Romanian translation - !10356 Update British English translation - !10359 curve: Add gsk_curve_get_extrema (Matthias Clasen) - !10360 Update Norwegian Nynorsk translation - !10361 Some frame clock fixes (Matthias Clasen) - !10365 gdkclipboard-x11: don't call a NULL converter (Marc-Antoine Perennou) * Translation updates: - Basque (Asier Saratsua Garmendia) - Danish (Ask Hjorth Larsen) - English (United Kingdom) (Bruce Cowan) - French (Guillaume Bernard) - Hungarian (Balázs Úr) - Norwegian Bokmål (Kjartan Maraas) - Norwegian Nynorsk (Roy-Magne Mo) - Occitan (post 1500) (Quentin PAGÈS) - Portuguese (Brazil) (Rafael Coelho Costa) - Romanian (Antonio Marin) - Russian (Artur S0) - Serbian (Марко Костић) - Spanish (Daniel Mustieles García) Overview of Changes in 4.23.4, 01-09-2026 ========================================= * Bugs fixed: - #7879 AT-SPI attempts to use /org/a11y/atspi/cache before it is ready w/gtk 4 apps (Mike Gorse) - #8137 GtkListView misses items (Sergey Bugaev) - #8263 MacOS: GMainContext uses stale poll array after re-entrant GPollFunc - #8293 macos: Drop to GTK4 app is not handled instantly - #8320 Issue: Fix Memory Leaks and Potential Crashes in GTK Components (Matthias Clasen) - #8330 GtkConstraintLayout: non-required inequality constraints release an error variable twice (Emmanuele Bassi) - #8334 Wayland: SIGSEGV in text_input_preedit_hint() when using IBus Chewing in GTK 4 applications (Takao Fujiwara) - #8343 macOS: Massive memory leak when unfocusing a window with an open popup - #8351 (GtkTextView) Cutting, pasting, or deleting text does not reset virtual cursor position (Greg Beauchesne) - #8355 GtkText's input interceptor logic is too eager (Carlos Garnacho) - #8357 gtk4-demo empty context menu on tabs (Matthias Clasen) - #8359 The menu bar focusing with F10 is wrong - #8360 GtkAccessibleTextInterface mismatch between interface documentation and its implementations (Matthias Clasen) - #8362 `gtk_test_init` docs incorrect about locale (Matthias Clasen) - #8367 Shortcut labels in menus started showing keypad/numpad keys instead of regular ones (Sebastian Keller) - !6178 Enable ubsan in the sanitizers CI build (Matt Turner) - !9639 rendernode: Add bilevel opacity flag (Benjamin Otte) - !9778 listbase: Sanity-check alignment values (Sergey Bugaev) - !9982 inspector: Add a frametime overlay (Benjamin Otte) - !10049 gsk/vulkan: put the globals in a UBO instead of push constant (Ampernic) - !10120 macos: Instantly react to dropped content (Arjan Molenaar) - !10183 demos/gtk-demo: Drop nonexistent session-id property (Harsh Verma) - !10190 android/contentfile: Return NOT_SUPPORTED for foreign copy sources (Zhou Qiankang) - !10193 Update glib and GStreamer deps and move Fedora CI to F45 (Benjamin Otte) - !10212 Update Romanian translation - !10214 svg: Make symbolic rendering opt-in (Matthias Clasen) - !10215 svg: Add tests for symbolic rendering (Matthias Clasen) - !10216 macos(dnd): Use thread default context for populating the pastboard (Arjan Molenaar) - !10217 svg: Avoid a crash (Matthias Clasen) - !10219 Update Bulgarian translation - !10220 svg: Serialize gpa:rendering (Matthias Clasen) - !10221 svg: Serialize gpa:rendering (Matthias Clasen) - !10222 Update Persian translation - !10223 placesview: Small cleanup (Matthias Clasen) - !10226 Update Basque translation - !10231 Update Chinese (China) translation - !10232 Update Chinese (China) translation - !10233 Update Catalan translation - !10234 Update Catalan translation - !10235 various fixes (Benjamin Otte) - !10236 gsk: Fix a typo in quad printing (Matthias Clasen) - !10240 Update Galician translation (Francisco Diéguez Souto) - !10241 Update Hebrew translation - !10243 build: Fix static linking on Windows (Matthias Clasen, Christoph Reiter) - !10244 gsk/gpu: avoid GPU draw ops for zero-ink glyphs (Matthias Clasen) - !10247 Update Brazilian Portuguese translation - !10248 rendernodeparser: Allow naming paths (Benjamin Otte) - !10249 svg: Fix some state handling mishaps (Matthias Clasen) - !10250 icons: Add folder-projects-symbolic (g.willems) - !10251 adjustment: Respect the reduced-motion setting (g.willems) - !10252 gdkcontentserializer: close the string serializer's converter stream (Marc-Antoine Perennou) - !10253 color scale: Make vertical alpha scales work (Matthias Clasen) - !10260 svg: Avoid unnecessary rendering work (Christian Hergert) - !10261 macos: fix ungrab when popovers are open (Arjan Molenaar) - !10266 Add a setting for accent color (Matthias Clasen) - !10267 color scale: Make vertical alpha scales work (Matthias Clasen) - !10268 shortcutswindow: Allow documenting clicks (Matthias Clasen) - !10269 testutils: Small docs updates (Matthias Clasen) - !10270 Updated Lithuanian translation - !10271 various cleanups (Benjamin Otte) - !10275 svg: Be more careful (Matthias Clasen) - !10276 Update Swedish translation - !10277 Update Norwegian Bokmål translation - !10278 svg: Really apply states if animation is off (Matthias Clasen) - !10279 Update Korean translation - !10280 Update Chinese (China) translation - !10281 Update Slovenian translation - !10282 Update Kazakh translation - !10283 svg: Make svg_element_get_rect more robust (Matthias Clasen) - !10284 Update Georgian translation - !10285 Update Occitan translation - !10286 android: Expose gtk-accent-color XSetting (Florian "sp1rit"​) - !10287 gdk/wayland: Set app_id on xdg-activation token (Sergey Bugaev) - !10288 Update Ukrainian translation - !10289 Update Persian translation - !10291 Update Galician translation - !10292 Update Catalan translation - !10293 Update Bulgarian translation - !10294 Update Czech translation - !10295 Fix pomenubar behavior to match Gtk 3 (Lukáš Tyrychtr) - !10298 Update Hebrew translation - !10299 Update Hebrew translation - !10300 Add svg_element_get_polyline (Matthias Clasen) - !10301 Update Turkish translation - !10302 gtksettings: Add missing Since annotation (Maximiliano Sandoval) - !10303 label: Ensure the layout before computing accessible text extents - !10307 Update French translation - !10308 Update Uighur translation - !10309 Update Korean translation - !10310 Update Lithuanian translation - !10312 Update Basque translation - !10315 array: Assert that added items don't point into array (Benjamin Otte) * Translation updates: - Basque (Asier Saratsua Garmendia) - Bulgarian (Alexander Alexandrov Shopov) - Catalan (Xavi Ivars) - Chinese (China) (luming zh) - Czech (Daniel Rusek) - French (Guillaume Bernard) - Galician (Francisco Diéguez Souto) - Georgian (Ekaterine Papava) - Hebrew (Yaron Shahrabani) - Kazakh (Baurzhan Muftakhidinov) - Korean (Changwoo Ryu) - Lithuanian (Aurimas Černius) - Norwegian Bokmål (Kjartan Maraas) - Occitan (post 1500) (Quentin PAGÈS) - Persian (Danial Behzadi) - Portuguese (Brazil) (Rafael Fontenelle) - Romanian (Antonio Marin) - Slovenian (Martin) - Swedish (Anders Jonsson) - Turkish (Emin Tufan Çetin) - Uighur (Abduqadir Abliz) - Ukrainian (Yuri Chornoivan) Overview of Changes in 4.23.3, 02-08-2026 ========================================= * GTK supports the ext-background-effect Wayland protocol to allow blurred background behind windows * The visible focus timeout can be changed with the new gtk-keyboard-focus-visible-timeout setting * The GDK frameclock has been reworked to improve precision and reduce frame drops * Support for the CSS font-width property has been added * Session save/restore functionality has been deferred to 4.26 * Bugs fixed: - #223 Remove notebook->focus_tab (John Cardullo) - #6493 X11 selection clipboard consumes excessive CPU over time (Alexey Lukashov) - #8195 Animated SVG frequently disappears (John Cardullo) - #8287 Shaper: more state woes (Matthias Clasen) - #8288 Shaper: patch attachment properties aren't reflected in the sidebar (Matthias Clasen) - #8290 gdk_cairo_error_quark() failure (Matthias Clasen) - #8291 Type to search broken in Epiphany dialogs (Carlos Garnacho) - #8302 Change to GdkWaylandTopLevel breaks API (Matthias Clasen) - #8303 GLArea leaks memory on unrealize (Matthias Clasen) - #8304 Css text-decoration rule requires a resize to take effect (regression) (Matthias Clasen) - #8322 Setting tooltips on visible but unmapped widgets blocks on X11 (Tim Wright) - #8325 GtkSvg assertion failure on Remmina-symbolic.svg (Matthias Clasen) - #8329 application menu items with more than one shortcuts don't show any (Matthias Clasen) - #8335 GtkPicture dispose leaves self->paintable dangling, a second dispose steals a reference or unrefs freed memory (Melroy van den Berg) - !9648 gdk/wayland: Add support for wl_fixes.ack_global_remove (Vlad Zahorodnii) - !10071 events: Always collect motion history (Benjamin Otte) - !10089 widget: Allow to disable the visible focus timeout (Sergio Costas Rodriguez, Sergio Costas) - !10099 css: Support font-width (Matthias Clasen) - !10100 docs: Update orca developer tips link (Guido Günther) - !10102 Fix stroke bounds for circles (Matthias Clasen) - !10103 gtkimcontextquartz: Convert (again) IM cursor location to global coords (Carlos Garnacho) - !10104 svg: Avoid some criticals (Matthias Clasen) - !10106 Update Turkish translation - !10107 gpu: Don't scale caches too far (Benjamin Otte) - !10108 More frameclock work (Benjamin Otte) - !10110 gsk: Work a little harder to classify transforms (Matthias Clasen) - !10111 pathparser: various fixes (Benjamin Otte) - !10113 transformnode: Fix a typo (Matthias Clasen) - !10114 gtk/searchentry: Unset capture widget on dispose instead of finalize (Carlos Garnacho) - !10116 gdk: Use modern boilerplate (Matthias Clasen) - !10119 Revert "gtkpopover: Always set focus to a child during show" (g.willems) - !10121 svg: Handle text chunks better (Matthias Clasen) - !10122 frameclockidle: Fix deadlock due to underflow (Benjamin Otte) - !10123 svg: Small fixes for blur filters (Matthias Clasen) - !10124 svg: Small fixes for blur filters (Matthias Clasen) - !10126 x11: Don't update completed frames (Benjamin Otte) - !10127 svg: Fix cloning animateMotion (Matthias Clasen) - !10137 Update French translation - !10138 Update French translation - !10139 rendernodeparser: More flexible path parsing (Matthias Clasen) - !10141 frameclock: Redo predicted presentation time (Benjamin Otte) - !10143 wayland: Get rid of POPUP_STATE_WAITING_FOR_FRAME (Benjamin Otte) - !10144 Fix newest gobject-linter warnings (Benjamin Otte) - !10145 Add support for ext-background-effect (Benjamin Otte) - !10146 gdk/wayland: Avoid destroying toplevel icon buffers twice (Sterling- Ash) - !10147 Drop the shaper demo (Matthias Clasen) - !10149 svg: Add more private api (Matthias Clasen) - !10150 Improve rendernode-tool (Benjamin Otte) - !10151 svg: Fix new api (Matthias Clasen) - !10156 Update Slovenian translation - !10157 svg: list models (Matthias Clasen) - !10158 Pass GSK rendernode to GDK surface (Benjamin Otte) - !10159 svg: Add more private api (Matthias Clasen) - !10160 svg: Fully clear state when reloading (Matthias Clasen) - !10162 svg: Fix list model updates (Matthias Clasen) - !10163 textview: cache pixel height of X (Christian Hergert) - !10164 Some fixes for the new shape tree in shaper (Matthias Clasen) - !10166 wayland: Fix munmap() of the wrong pointer in the dmabuf format table (Andrew Gaspar) - !10167 svgwidget: Make resource loading repeatable (Matthias Clasen) - !10168 svg: Fix an oversight (Matthias Clasen) - !10169 build: Set hidden visibility via meson properties (Benjamin Otte) - !10170 Link our internal tests dynamically if we can - !10172 Some new SVG apis (Matthias Clasen) - !10173 Bump the meson dep (Matthias Clasen) - !10176 svg: Drop an unused function (Matthias Clasen) - !10177 ci: Use mold for linking (Matthias Clasen) - !10178 android/contentfile: Accept plain content URIs in from_uri (Zhou Qiankang) - !10180 Revert "Add a test for leaked symbols" (Matthias Clasen) - !10181 ci: Drop icon-editor related jobs (Matthias Clasen) - !10182 svg: Rename a function (Matthias Clasen) - !10185 svg: Fix svg_elmeent_delete (Matthias Clasen) - !10186 svg: Short-circuit setting specified values (Matthias Clasen) - !10187 Add a SvgElement::changed signal - !10189 svg: Make svg_value_equal NULL-safe (Matthias Clasen) - !10191 svg: Export more api for shaper (Matthias Clasen) - !10192 svg: Better approach to deps in shaper (Matthias Clasen) - !10195 svg: Fix linked list handling (Matthias Clasen) - !10196 application: Drop public save/restore API (Adrian Vovk) - !10197 input: Treat Super and Hyper as no-text modifiers (Matthias Clasen) - !10199 svg: Tweak the api (Matthias Clasen) - !10200 svg: Avoid a crash (Matthias Clasen) - !10204 build: Add a missing files() incantation (Matthias Clasen) - !10205 various small fixes (Benjamin Otte) - !10206 Update Czech translation - !10207 Update Slovenian translation - !10208 Update Georgian translation - !10209 Update Ukrainian translation * Translation updates: - Czech (Daniel Rusek) - French (Guillaume Bernard) - Georgian (Ekaterine Papava) - Slovenian (Martin) - Turkish (Emin Tufan Çetin) - Ukrainian (Yuri Chornoivan) Overview of Changes in 4.23.2, 27-06-2026 ========================================= * GTK now respects the reduced motion setting in various places and avoids animations (GtkSpinner, GtkStack, GtkRevealer) * New GtkShortcutTrigger functions it easier to handle synonymous keys (in particular keypad keys). The new functions are gtk_alternative_trigger_newv, gtk_shortcut_trigger_create_with_aliases and gtk_shortcut_trigger_create_for_menu * Type-to-search (in particular interaction with input methods) has been redone, switching from a "pull" to a "push" approach. See gtk_editable_set_input_interceptor for more details. As part of this, gtk_event_controller_key_forward has been deprecated. * The first part of ongoing frameclock work has landed, improving our ability to deliver frames on time * A number of GtkList/Grid/ColumnView size allocation issues have been addressed. Please let us know if you spot any remaining or new problems. * GtkSvg: - Support feTurbulence - Improved text handling, including baseline-shift, whitespace handling, text-decoration, proper fill+stroke, and more * Build: - The pango dependency has been bumped to 1.58.0 * Bugs fixed: - #8230 GtkMenuButton with an autohide=false popover does not focus the popover when showing - !9906 Fix Gtk.ListView/Gtk.GridView measure with for_size != -1 (Vladimir Romanov) - !9958 Logically focus IM context in type-to-search (Carlos Garnacho) - !10001 columnview layout (Sergey Bugaev) - !10023 gtkpopover: Always set focus to a child during show (Lukáš Tyrychtr) - #8075 Tooltips unminimize windows unexpectedly - #8187 EventControllerLegacy macos: one-pixel difference between position of button press and release events - #8194 Blurry text regression in 4.23.0 - #8223 New svg spinner rendering issues - #8229 The accessible parent of the application should not be null - #8235 Inspector crashes with CSS with malformed inline svg effects (Matthias Clasen) - #8241 Shaper: wrong tooltip for created icon (Matthias Clasen) - #8244 Shaper: Weight now only affects the active icon (Matthias Clasen) - #8246 Shaper: crash on changing visibility for states - #8248 Shaper: Changing the state from "Display Settings" does not change it in the sidebar (Matthias Clasen) - #8249 Shaper: Problem with "Overlaps" icon (Matthias Clasen) - #8250 Shaper: Doesn't ask for saving changes when loadinga file or an example (Matthias Clasen) - #8258 Shaper: cannot add states (Matthias Clasen) - #8259 Crash when transitioning between filter: none and filter: url() (Matthias Clasen) - #8262 svg: animateTransform doesn't work for specific file (Matthias Clasen) - #8264 svg: fractional values for repeatCount don't work (Matthias Clasen) - #8265 Coordinates for turbulence seem computed wrong (Matthias Clasen) - #8268 Shaper: XML changes reset the state to 0 (Matthias Clasen) - #8270 Shaper: Invalid changes to XML, related to shape geometry, crash it (Matthias Clasen) - #8278 GtkRevealer uses too much space (g.willems, Matthias Clasen) - #8279 Shaper: 'empty' state doesn't get saved (Matthias Clasen) - #8280 Shaper: state management issues (Matthias Clasen) - !9569 macos: unmap window when minimized (Arjan Molenaar) - !9890 gdk/macos: Convert mouse event coordinates consistently (Dario Marino Saccavino) - !9990 Add GtkActivateTrigger (Matthias Clasen) - !9991 Improvements for the filebrowser demo (g.willems) - !9992 spinner: Debug things (Matthias Clasen) - !9993 doc: input-handling: fix link to event controllers (Peter Shkenev) - !9995 Fix the build with tracker (Matthias Clasen) - !9996 Fix parsing of conic-gradient() CSS (Benjamin Otte) - !9998 Fix various issues with svg animations (Matthias Clasen) - !9999 Update Romanian translation - !10000 svg: Fix handling of transform-origin (Matthias Clasen) - !10002 Update Slovenian translation - !10003 spinner: Respect reduced motion (Matthias Clasen) - !10004 various cleanups (Benjamin Otte) - !10005 frameclock: Rename (un)inhibit_freeze to start/stop and clean up (Benjamin Otte) - !10006 gdk/wayland: Make clipboard and primary selection updates less racy (Vlad Zahorodnii) - !10007 gtk4-demo: Tweak the error states demo (Matthias Clasen) - !10009 gtkatspiroot: Return the desktop as its parent (Lukáš Tyrychtr) - !10015 shortcuttrigger: Expand docs a little (Matthias Clasen) - !10016 inspector: Be robust against far out errors (Matthias Clasen) - !10017 css: Fix a thinko (Matthias Clasen) - !10018 svg: Allow file:// urls in hrefs (Matthias Clasen) - !10019 Fix another few crashes in GtkSvg (Matthias Clasen) - !10020 svg: Fix rendering of some wikipedia examples (Matthias Clasen) - !10021 svg: Use correct namespace (Guido Günther) - !10024 Cosmetic fixes (Matthias Clasen) - !10025 Support turbulence (Matthias Clasen) - !10027 gtk: Fix shortcuts regressions (g.willems) - !10028 entry: Avoid blank leftovers when removing icons (g.willems) - !10029 frameclock: More cleanup (Christian Hergert, Benjamin Otte) - !10031 docs: Add missing nodes to the node format docs (Matthias Clasen) - !10032 Assorted svg fixes (Matthias Clasen) - !10033 Some icon editor fixes (Matthias Clasen) - !10035 Next FrameClock refactoring step (Benjamin Otte) - !10040 icon editor: Clean up one example (Matthias Clasen) - !10042 Drop an erroneous file (Matthias Clasen) - !10046 display: Add gdk_display_get/set_prefer_vulkan() (Benjamin Otte) - !10048 gsk: fix GskTransform leak in gsk_gpu_render_pass_push_transform (Ampernic) - !10052 svg: Add a missing turbulence test (Matthias Clasen) - !10058 rendernode-tool: Make info tool deal better with recursive nodes (Benjamin Otte) - !10059 testsuite: Add a test that causes lots of globals (Benjamin Otte) - !10061 docs: fix typo in node-format.md (John Bampton) - !10062 Fix mipmap sampling for dmabufs (Benjamin Otte) - !10064 icon editor: Preserve state when swapping svgs (Matthias Clasen) - !10065 memoryformat: Add missing GDK_MEMORY_ABGR2101010_PREMULTIPLIED docs (Sebastian Dröge) - !10067 Update Slovenian translation - !10070 revealer: Respect the reduced motion setting (Matthias Clasen) - !10072 Shaper: Set foreground color for demo5 (Jakub Steiner) - !10074 svg: Handle details for text decoration (Matthias Clasen) - !10075 svg: Rework text rendering (Matthias Clasen) - !10079 Revert "filechooserutils: Stop using pixbufs" - !10082 Update Polish translation (Victoria Niedzielska) - !10083 Fix the build against pango main (Matthias Clasen) - !10084 icon editor: Handle states a bit better (Matthias Clasen) - !10085 Center state names in state editor (Urtsi Santsi) - !10087 stack: Avoid resizing animation in reduce-motion mode (g.willems) - !10090 gl: Actually report partial damage (Benjamin Otte) - !10091 gsk: Account for render offset when snapping glyphs (Alessandro Astone) - !10093 android: Fix timestamp unit (Benjamin Otte) - !10094 svg: Redo whitespace handling (Matthias Clasen) - !10096 application-x11: Fix saved state ownership (Alessandro Astone) - !10097 svg: More whitespace handling (Matthias Clasen) * Translation updates: - Polish (Victoria Niedzielska) - Romanian (Antonio Marin) - Slovenian (Martin) Overview of Changes in 4.23.1, 29-05-2026 ========================================= * Snapping: GTK can now snap contents to device pixel boundaries, for better control of rendering with fractional scales * SVG: - Support the dominant-baseline attribute for text - Support media queries in CSS - Fix priority order of styles and animations * Touch: - Long press on entries opens the touch menu * Android: - Frame timing is now aligned with vsync * Bugs fixed: - #3542 Window dragging doesn't work with touch on X11 (Alessandro Astone) - #4529 Popover cannot be closed after opening a child popover (Carlos Garnacho) - #5610 Unable to move windows by dragging the title bar on GTK4 Xorg with touchscreens (Alessandro Astone) - #5890 X11 drag-and-drop failure not communicated to source, unlike Wayland (Will Warner) - #7508 In X11, touchscreen double tap requires very precise input (Alessandro Astone) - #7515 X11 touchscreen events are handled as mouse events (Alessandro Astone) - #7657 Nautilus and other GTK4 applications crash when writing in a text box using the on-screen keyboard (Carlos Garnacho) - #8034 MacOS: Clipboard: Pasting url from safari cannot be decoded with text/uri-list - #8138 android: use Choreographer for vsync-aligned frame timing - #8140 Accessibility: GTK4 TextView reports wrappet lines incorrectly to Orca - #8142 svg: Shadow dom issues (Matthias Clasen) - #8146 Snapshot with too small an angle shift freezes (Matthias Clasen) - #8153 android: Text handles within popups are wrongly positioned (Florian "sp1rit"​) - #8156 svg: Fix priority order of animations and styles (Matthias Clasen) - #8159 Properties never installed - #8168 Application looses focus after selecton of GtkComboBoxText (Carlos Garnacho) - #8170 wayland: Don't send v2 text_input content hints when v1 is bound (Matthias Clasen) - #8175 Android builder needs meson 1.11 (Florian "sp1rit"​) - #8177 Shaper: crash on load (Matthias Clasen) - #8178 Symbolic icons rendering in wrong style (Matthias Clasen) - #8179 Shaper: UI for fill/stroke doesn't seem to have any effect - #8184 Zoomed image in Loupe makes hardware renderer glitch (Benjamin Otte) - #8186 GTK4 TextView doesn't emit object:text-selection-changed events when it should (and does when it shouldn't) - #8189 GskGpuCache causing FD exhausting for HDR video playback on lavapipe (Benjamin Otte) - #8191 DragSource race condition leads to corrupted memory (Khalid Abu Shawarib) - #8193 Conditional jump on uninitialized value in SVG parser (Matthias Clasen) - #8196 Shaper: launches light when in dark mode. (Matthias Clasen) - #8203 GtkConstraintVflParser parser doesn't allow underscores in VFL view identifiers (Emmanuele Bassi) - #8210 non-Linux build fix - #8216 Add a way to dump the inspector info for bug reports into a text file (Matthias Clasen) - !6480 gtklabel: Queue a draw after changing the focused link (Philip Withnall) - !8827 fontdialog: update font-dialog-set-language API to set an initial language filter (Sudip Shil) - !8906 Add GdkAppLaunchContextWin32 (Luca Bacci) - !8951 X11 backend touchscreen fixes (Alessandro Astone) - !9523 macos: Add support for pasting url's as text/uri-list (Arjan Molenaar) - !9579 Report mnemonic shortcuts through a11y (Lukáš Tyrychtr) - !9614 gtk: unrealize window if backing surface got destroyed (Florian "sp1rit"​) - !9715 fix incorrect baseline calculation for vertical boxes (Max Bachmann) - !9760 widget: Handle coordinate translation failure (Sergey Bugaev) - !9784 popover: Don't set GDK_ANCHOR_RESIZE_{X,Y} when we can't be resized (Sergey Bugaev) - !9790 Use named enum values instead of 0 (Maximiliano Sandoval) - !9798 Use G_PARAM_STATIC_NAME on properties - !9799 win32: Fix public symbol not being exported (Sergey Bugaev) - !9802 Stop exporting various private symbols (Sergey Bugaev) - !9807 svg: Fix use of alternative views (Matthias Clasen) - !9808 svg: Move the renderer to a separate file (Matthias Clasen) - !9809 gtkfilelauncher/android: Pass correct pointer as URL (Florian "sp1rit"​) - !9810 glsl: Add snapping APIs to GLSL (Benjamin Otte) - !9812 Fix copy-pasted doc blocks in GtkSvgWidget (Emmanuele Bassi) - !9813 gtkpango: Don't land on a single char of a wrapped line twice (Lukáš Tyrychtr) - !9814 svg: Avoid a compiler warning (Matthias Clasen) - !9815 wayland: Fix underlining of preedit (Matthias Clasen) - !9818 gtk-demo: Fix the images demo (Matthias Clasen) - !9819 android: use Choreographer for vsync-aligned frame timing (Kristjan ESPERANTO) - !9822 Small misc fixes (Theo de Raadt, Florian "sp1rit"​) - !9823 Update German translation (Christian Kirbach) - !9825 print dialog: Fix GTask lifecycle management (Matthias Clasen) - !9829 svg: Make shadow trees work properly (Matthias Clasen) - !9830 gtk: Rework text handles (Florian "sp1rit"​) - !9831 theme: Fix context menus in grid views (Alice Mikhaylenko) - !9832 testsuite: Change the font in a compare test (Benjamin Otte) - !9835 add language filtering to font picker (Sudip Shil) - !9838 android: Expose accent-color property in Gdk.AndroidDisplay (Florian "sp1rit"​) - !9839 Misc fixes (Matthias Clasen) - !9842 icons: Sync with icon devkit (Jakub Steiner) - !9843 Only activate osk on touch (Matthias Clasen) - !9844 API: Add snapping (Matthias Clasen, Benjamin Otte) - !9845 android/popup: fix position of cascaded popups (Florian "sp1rit"​) - !9846 application: Fix a memory leak (Matthias Clasen) - !9849 gdk/event: Document timestamp being in milliseconds (Florian "sp1rit"​) - !9850 android: attempt to restore toplevel identifier from save-state (Florian "sp1rit"​) - !9857 selectionmodel: Amend the docs (Matthias Clasen) - !9858 gpu: Don't double-clip gradients (Benjamin Otte) - !9859 colormatrixnode: Make the bounds explicit (Benjamin Otte) - !9860 win32: Convert GetSystemMetrics results to logical units (Sergey Bugaev) - !9861 svgwidget: Fix activate signal parameter count (Liu Jinchang) - !9863 popoverbin: Point to the center of the widget when popping up (Hari Rana) - !9864 printdialog: Fix a crash (Matthias Clasen) - !9865 popoverbin: Improve keyboard placement (Matthias Clasen) - !9868 svg: support dominant-baseline (Florian "sp1rit"​) - !9870 icons: Fix up media-record-symbolic (Matthias Clasen) - !9871 gsk: Avoid cache explosion in 3D - !9872 icons: Remove compat classes (Matthias Clasen) - !9873 Add a some details about MRs (Matthias Clasen) - !9874 gpu: Don't override fields already marked as modified (Benjamin Otte) - !9875 android: drop explicit fontconfig master dependency (Florian "sp1rit"​) - !9878 Revert !9875 & ci: bump meson to 1.11.1 (Florian "sp1rit"​) - !9879 Update Persian translation - !9881 widgets: Add missing GDK_KEY_KP_Space for activation (Sergio Costas Rodriguez) - !9882 svg: Clean up some private apis (Matthias Clasen) - !9883 Redo the transform demo (Matthias Clasen) - !9884 Various snapshot & rendernodeparser fixes (Benjamin Otte) - !9885 tools: Add a "cut" rendernode filter (Benjamin Otte) - !9887 Update Romanian translation - !9888 tools: Add simplify filter (Benjamin Otte) - !9889 Add more content to the rotating sphere benchmarks (Matthias Clasen) - !9894 Update Slovenian translation - !9895 Rework GDK grabs (Carlos Garnacho) - !9896 Fix memory leak when focused widget is hidden before being unparented. (Ben Mather) - !9897 text: Open touch menu on long press - !9899 editable: Fix typo in example (Guido Günther) - !9900 android: Scale bounds of AndroidMonitor (Florian "sp1rit"​) - !9903 gpu: Trigger cache GC from dmabuf downloading code (Benjamin Otte) - !9907 various fixes (Benjamin Otte) - !9908 textview: Sync touch behavior (Matthias Clasen) - !9909 docs: Fix CSS examples (Evangelos Paterakis) - !9910 svg: Cosmetics (Matthias Clasen) - !9911 inspector: Handle Unicode more carefully (Matthias Clasen) - !9914 gtk-demo: No session saving in special modes (Matthias Clasen) - !9915 svg: Fix a compiler warning (Matthias Clasen) - !9920 Clarify how to acquire environment information in `Bug.md`. (Mr. Beedell, Roke Julian Lockhart (RJLB)) - !9921 android/ime: get surface when needed instead in set_client_widget (Florian "sp1rit"​) - !9923 icon editor: Avoid a crash (Matthias Clasen) - !9924 Add a gobject-linter job (Jordan Petridis, Benjamin Otte) - !9925 gi: Various since annotations fixes (Bilal Elmoussaoui) - !9926 svg: Handle media queries (Matthias Clasen) - !9927 Complete pspec fixes from previous MRs (Benjamin Otte) - !9930 miscellaneous fixes and cleanups (Matthias Clasen) - !9931 Remove GTK_PARAM_READABLE/WRITABLE/READWRITE (Benjamin Otte) - !9932 Move private functions into private header (Benjamin Otte) - !9933 docs: Make docs for GtkAlign match reality (Matthias Clasen) - !9936 gtktextview: Send selection changed signal when we should (Lukáš Tyrychtr) - !9937 constraint: Fix VFL parsing of view names (Emmanuele Bassi) - !9938 widget: Move ::has-default notify into set_has_default() (Benjamin Otte) - !9939 examples: fix bloatpad missing icons (g.willems) - !9940 dropdown: Add missing a11y control relation (g.willems) - !9943 More paramspec improvements (Benjamin Otte) - !9944 icon editor: Remove some leftover code (Matthias Clasen) - !9946 gdk: Fix checking NULL portal usage (Peter Eisenmann) - !9947 Lots of simple fixes (Benjamin Otte) - !9948 Fix issues with G_BEGIN/END_DECLS (Benjamin Otte) - !9949 Use g_clear_*() (Benjamin Otte) - !9952 Header renaming and autoptr addition (Benjamin Otte) - !9953 win32: Remove gdkwin32cursor.h from the public API (Benjamin Otte) - !9954 icon editor: More catching up (Matthias Clasen) - !9957 testsuite: fix non-Linux wayland build. (Thomas Klausner) - !9959 icon editor improvements (Matthias Clasen) - !9960 Add a way to dump general info (Matthias Clasen) - !9961 Update Romanian translation - !9962 treednd: use a proper flexible array member (Alyssa Ross) - !9963 vulkan: fix descriptor sets for masks (Benjamin Otte) - !9964 macos: don't show test processes in the dock (Johan Dahlin) - !9966 macos: fix URL encoding regression in pasteboard file URIs (Roberto Moura) - !9967 icon editor: stylesheet editing (Matthias Clasen) - !9969 Update Georgian translation - !9971 Various fixes (Benjamin Otte) - !9974 svg: Don't write out gpa attributes if not doing gpa (Matthias Clasen) - !9975 ci: Save the ASAN testsuite artifacts (Benjamin Otte) - !9976 svg: Work on test coverage (Matthias Clasen) - !9977 inspector: Avoid a needless roundtrip (Matthias Clasen) - !9978 icon editor: Handle