The following modules have been added in this release: gst-thumbnailers, gweather-locations The following modules have been removed in this release: gspell The following modules have a new version: - at-spi2-core (2.58.0 => 2.59.0) - baobab (49.0 => 49.1) - blueprint-compiler (0.18.0 => 0.19.0) - calls (48.2 => 49.1.1) - d-spy (49.1 => 50.alpha) - epiphany (49.0 => 50.alpha) - evolution-data-server (3.58.0 => 3.59.1) - folks (0.15.9 => 0.15.12) - foundry (1.0.0 => 1.1.alpha) - gdk-pixbuf (2.44.1 => 2.44.4) - gdm (49.0 => 50.alpha.1) - gexiv2 (0.14.6 => 0.16.0) - gi-docgen (2025.4 => 2025.5) - gjs (1.85.90 => 1.87.1) - glib (2.86.0 => 2.87.1) - glibmm (2.85.0 => 2.86.0) - glycin (2.0.0 => 2.1.alpha) - gnome-boxes (49.rc.1 => 49.1) - gnome-builder (49.0 => 50.alpha) - gnome-calculator (49.0 => 50.alpha) - gnome-calendar (49.0.1 => 50.alpha) - gnome-characters (49.0 => 50.alpha) - gnome-clocks (49.0 => 50.alpha) - gnome-console (49.0 => 49.2) - gnome-contacts (49.beta => 50.alpha) - gnome-control-center (49.0 => 50.alpha) - gnome-initial-setup (49.beta.1 => 50.alpha) - gnome-maps (49.0 => 50.alpha) - gnome-menus (3.36.0 => 3.38.1) - gnome-music (49.0.2 => 49.1) - gnome-online-accounts (3.56.0 => 3.57.0) - gnome-remote-desktop (49.0 => 49.2) - gnome-session (49.0 => 50.alpha) - gnome-settings-daemon (49.0 => 50.alpha) - gnome-shell (49.0 => 50.alpha) - gnome-software (49.0 => 49.3) - gnome-system-monitor (49.0 => 50.alpha) - gnome-text-editor (49.0 => 49.1) - gnome-user-docs (49.0 => 49.1) - gnome-user-share (48.1 => 48.2) - gom (0.5.4 => 0.5.5) - gsettings-desktop-schemas (49.0 => 50.alpha) - gtk (4.20.1 => 4.21.4) - gtk+-3 (3.24.50 => 3.24.51) - gtk-doc (1.34.0 => 1.35.1) - gtkmm (4.19.1 => 4.21.2) - libadwaita (1.8.0 => 1.9.alpha) - libcloudproviders (0.3.6 => 0.4.0) - libdex (1.0.0 => 1.1.alpha) - libgsf (1.14.53 => 1.14.55) - libgweather (4.4.4 => 4.5.0) - libmanette-0.2 (0.2.12 => 0.2.13) - libnotify (0.8.6 => 0.8.8) - libpanel (1.10.2 => 1.10.3) - librsvg (2.61.1 => 2.61.3) - libshumate (1.5.0.1 => 1.6.alpha) - localsearch (3.10.0 => 3.11.alpha) - loupe (49.0 => 50.alpha) - manuals (49.0 => 50.alpha) - msgraph (0.3.3 => 0.3.4) - mutter (49.0 => 50.alpha) - nautilus (49.0 => 50.alpha) - orca (49.beta => 49.5) - papers (49.0 => 50.alpha) - pygobject (3.54.2 => 3.55.1) - rygel (45.0 => 45.1) - showtime (49.0 => 49.1) - simple-scan (46.0 => 49.1) - snapshot (49.0 => 50.alpha) - sysprof (49.0 => 50.alpha) - tinysparql (3.10.0 => 3.11.alpha) - vte (0.82.0 => 0.82.3) - xdg-desktop-portal-gnome (49.0 => 50.alpha) - xdg-user-dirs-gtk (0.14 => 0.16) - zenity (4.1.99 => 4.2.1) The following modules weren't upgraded in this release: adwaita-fonts, adwaita-icon-theme, cantarell-fonts, dconf, dconf-editor, decibels, evince, gcab, gcr, gcr-3, geocode-glib, glib-networking, gnome-app-list, gnome-autoar, gnome-backgrounds, gnome-bluetooth, gnome-color-manager, gnome-connections, gnome-desktop, gnome-disk-utility, gnome-font-viewer, gnome-keyring, gnome-logs, gnome-tour, gnome-weather, gobject-introspection, graphene, grilo, grilo-plugins, gsound, gssdp, gtk-vnc, gtksourceview, gtksourceview-4, gupnp, gupnp-av, gupnp-dlna, gvfs, json-glib, jsonrpc-glib, libgee, libgit2-glib, libgtop, libgxps, libhandy, libmediaart, libnma, libpeas, librest, libsecret, libsigcplusplus, libsoup, libspelling, mm-common, mobile-broadband-provider-info, pango, pangomm, phodav, pyatspi, startup-notification, sushi, tecla, template-glib, totem-pl-parser, vala, yelp, yelp-tools, yelp-xsl ======================================== at-spi2-core ======================================== What's new in at-spi2-core 2.59.0: meson: Use dbus-broker by default. Document the remaining DBus interfaces. What's new in at-spi2-core 2.58.3: * Fix atk_get_major_version etc not linking on C++. What's new in at-spi2-core 2.58.2: * python: Speed up __eq__ and __ne__ * collection-adaptor: Correct 'child' reference handling (fixes crashes with evolution and orca). * Fix several memory leaks. What's new in at-spi2-core 2.58.1: * at-spi-bus-launcher: Fix a possible crash when registering. * python: Avoid traceback when hashing a disposed object * Fix build failure on MacOS. * Fix transfer rule for atk_table_cell_get_table and atk_table_get_summary. ======================================== baobab ======================================== 49.1 ==== * Bugs fixed: - #157 Right-click menu actions (such as "Move to trash" or "Copy Path") applied to the wrong row when mouse cursor moved around or below the contextual menu (Chris Heywood) - #174 Segfault when mounting android device (Julian Sparber) - #183 Context menu action applied to wrong item (always) (Chris Heywood) * Translation updates: - Catalan (Jordi Mas) - Esperanto (Kristjan SCHMIDT) ======================================== calls ======================================== gnome-calls 49.1.1 ------------------ Released October 2025 * Fix daemon starting up without any plugins * Issues fixed: * https://gitlab.gnome.org/GNOME/calls/-/issues/718 * Evangelos Ribeiro Tzaras * Markus Göllnitz gnome-calls 49.1 ---------------- Released October 2025 * Start calls as part of gnome-session * Make use of DBus activation * oFono backends now supports USSD * Issues fixed: * https://gitlab.gnome.org/GNOME/calls/-/issues/699 * https://gitlab.gnome.org/GNOME/calls/-/issues/687 * Bardia Moshiri * Boris Shtrasman * Evangelos Ribeiro Tzaras * knoppix * Markus Göllnitz * Vivek wagdare * Abduqadir Abliz (ug) * Bjørn Mørkedal (nn) * Emilio Sepúlveda (ia) * Iverson Briones (fil) * Kristjan SCHMIDT (eo) * Sabri Ünal (tr) * Yi-Jyun Pan (zh_TW) * Zayar Lwin (my) * Ziri Sut (kab) * No code changes over beta.1 ======================================== d-spy ======================================== # D-Spy 50.alpha * Add button to refresh object list * Hide parameters group when there are no parameters * Fix potential duplicate path joining in introspection * Translation updates ======================================== epiphany ======================================== 50.alpha - January 5, 2025 ========================== * Bugs fixed: - #2699 Stop using GtkTreeView in language dialog (ARAKHNID) - #2727 Move buttons out of the location entry (ARAKHNID) - #2736 setting org.gnome.Epiphany.ui webkit-features-page doesn't do anything (ARAKHNID) - #2753 Address bar dropdown appears when using "open link in new tab" (ARAKHNID) - #2759 Address bar dropdown remains open when window is unfocused (ARAKHNID) - #2767 URL of open tab replaced with ephy-tab:// (ARAKHNID) - #2770 Non-Latin characters not displaying properly in address bar (Michael Catanzaro) - #2781 Crash in update_reader_mode() (ARAKHNID) - #2787 Nothing is shown in the location bar on file:// URIs (Michael Catanzaro) - #2791 Crash when uploading images onto https://image.galaxy.ai/ai-tile- identifier (Michael Catanzaro) - #2803 Crash loading invalid URL using "Open Link in New Tab" (Michael Catanzaro) - #2804 Site menu is too hard to find (ARAKHNID) - !1961 embed: Avoid explicit comparisons against TRUE/FALSE/NULL (ARAKHNID) - !1964 lib: Avoid explicit comparisons against TRUE/FALSE/NULL (ARAKHNID) - !1965 src: Avoid explicit comparisons against TRUE/FALSE/NULL (ARAKHNID) - !1966 tests: Avoid explicit comparison against TRUE/FALSE/NULL (ARAKHNID) - !1974 security-dialog: Add some translator comments (Michael Catanzaro) - !1977 Fix location entry not properly going into display mode (ARAKHNID) - !1978 Use shield-half for symbolic in privacy report (ARAKHNID) - !1983 Add option to hide cookie banner (Jan-Michael Brummer) - !1984 Move reader mode button to site menu (ARAKHNID) - !1986 Update search bar options icon (Michael Catanzaro) - !1989 prefs: Enable Features dialog in Canary builds (Philippe Normand) - !1990 Remove unused symbolic files (ARAKHNID) - !1991 Fix memory transfer handling in decide_navigation_policy (Jan-Michael Brummer) - !1992 Fix min required version of GTK (Michael Catanzaro) - !1994 Consistently decode URLs before displaying in user interface (Michael Catanzaro) - !1995 Remove unused/undefined functions (ARAKHNID) - !1996 Remove ephy-legacy-web-app-utils.c (ARAKHNID) - !1997 location-entry: fix file URLs disappearing (Michael Catanzaro) - !2000 Always show action bar while switching to narrow mode (Jan-Michael Brummer) - !2002 Security dialog code improvements (ARAKHNID) - !2003 Fix the site menu button GtkSvg (ARAKHNID) - !2004 web-view: plug file picker memleak (Swagtoy) - !2006 Add caption to appstream metainfo (Michael Catanzaro) - !2009 sqlite: Start caching history service statements (Swagtoy) - !2011 window: fix "Open link in new tab" appearing for non-URLs (Michael Catanzaro) - !2012 window-commands: Remove stray G_GNUC_END_IGNORE_DEPRECATIONS (ARAKHNID) - !2013 main: Always free some things even on early exit (ARAKHNID) - !2014 ephy-opensearch-engine: Don't free moved error (Swagtoy) - !2016 window: Remove redundant toast function (ARAKHNID) - !2018 Update location entry when changing "Always Show Full URL" setting (ARAKHNID) - !2019 Update about.ini (Michael Catanzaro) * Translation updates: - Bulgarian (twlvnn kraftwerk) - Burmese (Zayar Lwin) - Catalan (Jordi Mas, Jordi Mas i Hernandez) - Esperanto (Kristjan SCHMIDT) - French (Jean-Marc TISSIERES) - Friulian (Fabio Tomat) - German (Christian Wansart) - Greek, Modern (1453-) (Efstathios Iosifidis) - Indonesian (Andika Triwidada) - Interlingua (International Auxiliary Language Association) (Emilio Sepúlveda) - Italian (Davide Ferracin) - Korean (ChangSeok Oh) - Portuguese (Hugo Carvalho) - Romanian (Antonio Marin) - Russian (Artur S0) - Serbian (Милош Поповић) - Slovenian (Martin) - Thai (Aefgh Threenine) - Turkish (Emin Tufan Çetin, Sabri Ünal) - Uighur (Abduqadir Abliz) 49.1 - October 10, 2025 ======================= * Bugs fixed: - #2753 Address bar dropdown appears when using "open link in new tab" (ARAKHNID) - #2759 Address bar dropdown remains open when window is unfocused (ARAKHNID) - #2770 Non-Latin characters not displaying properly in address bar (Michael Catanzaro) - !1977 Fix location entry not properly going into display mode (ARAKHNID) - !1991 Fix memory transfer handling in decide_navigation_policy (Jan-Michael Brummer) * Translation updates: - Bulgarian (twlvnn kraftwerk) - Catalan (Jordi Mas, Jordi Mas i Hernandez) - Esperanto (Kristjan SCHMIDT) - German (Christian Wansart) - Interlingua (International Auxiliary Language Association) (Emilio Sepúlveda) - Korean (ChangSeok Oh) - Portuguese (Hugo Carvalho) - Turkish (Sabri Ünal) * Bugs fixed: - #2711 Need profile migrator to add OpenSearch capability to existing predefined DuckDuckGo, Bing, and Google search engines (Jan-Michael Brummer) - #2732 The caret position after typing Ctrl+k (ARAKHNID) - #2757 REGRESSION: favicons have black square background instead of transparent background (ARAKHNID) - !1958 ci: update check-potfiles to handle Blueprint (Michael Catanzaro) - !1968 shell: fix leak in ephy_shell_before_emit() (Michael Catanzaro) - !1969 Fix missing thumbnails (Jan-Michael Brummer) * Translation updates: - Basque (Asier Saratsua Garmendia) - Catalan (Jordi Mas) - Chinese (China) (luming zh) - Czech (Daniel Rusek) - Danish (Alan Mortensen) - Dutch (Nathan Follens) - English (United Kingdom) (Bruce Cowan) - Esperanto (Kristjan SCHMIDT) - Finnish (Jiri Grönroos) - Galician (Francisco Diéguez Souto, Fran Diéguez) - Georgian (Ekaterine Papava) - Hebrew (Yaron Shahrabani) - Hungarian (Balázs Úr) - Lithuanian (Aurimas Aurimas Černius) - Persian (Danial Behzadi) - Polish (Piotr Drąg) - Romanian (Antonio Marin) - Russian (Artur S0) - Spanish (Daniel Mustieles) - Swedish (Anders Jonsson) - Turkish (Sabri Ünal) - Ukrainian (Yuri Chornoivan) ======================================== evolution-data-server ======================================== Evolution-Data-Server 3.59.1 2026-01-02 --------------------------------------- Bug Fixes: I#8 - Support vCard v4.0 (RFC 6350) I#554 - CalDAV: Provide a date limit for information sync I#609 - Camel: Encrypt Recipient Alias Configuration I#612 - Calendar: Multiple detached instances cause duplicates I#613 - Camel: Message info changes do not propagate sometimes I#614 - CamelSearchFolder: Add "not_all" "match-threads" kind I#616 - Crash when reading broken multipart/signed I#618 - Calendar: Free/busy not exported without set calendar mail I#620 - alarm-notify: Snooze "until X minutes before start" wrongly reminds "X min after start" I#621 - addressbook-export: Fails with "Invalid query" error M!201 - Camel: Remove camel_session_ref_service_by_url (Corentin Noël) M!203 - Remove several migration functions from Evolution Source Registry (Corentin Noël) evo-I#3157 - Broken multipart/signed shown as raw MIME data Miscellaneous: org.gnome.EvolutionDataServer.Devel.json: Build also gweather-locations Lower default connection timeout to 15 seconds evolution-source-registry: Remove unused variable (reported by compiler) CamelGpgContext: Improve error messages WebDAV: Default to no download limit CamelStoreDB: Keep 'sqlite_sequence' table during migration CamelDB: Correct return value and repeated function call arguments CamelStoreSearch: Unlock summary and folder when save or prepare_fetch_all fails IMAPx: Avoid Junk/Trash folder open when saving changes ERemindersWidget: Workaround too large gap between action buttons CamelFolderSummary: Reload from DB could leak already loaded infos Correct developer comment of e_source_webdav_set_limit_download_days() addressbook: Prefer vCard "take" functions CamelDataCache: Rephrase "Empty cache file" error message Camel: Unread count for virtual Trash/Junk folder not updated properly CamelStoreSearch: Ignore all errors when a message cannot be opened CamelStore: Speed up open folders with virtual Trash or Junk folder EContactAddress: Add helper functions to read, write and clear the structure EContact: Add EContactGeo functions to convert to/from string EVCard: Add conversion code for GEO attribute EVCard: Correct PHOTO/LOGO data: URI conversion EContact: Add 'timezone' field EVCard: Add conversion code for KEY attribute EContactCert: Add helper functions to work with attributes ECertificateWidget: Add a function to check whether any certificate data is shown flatpak: Add gettext ACLOCAL workaround EBookSqlite: Correct mutex unlock in e_book_sqlite_lock() EVCard: Add RFC 2739 properties into the list of known vCard 3.0 properties Translations: Asier Saratsua Garmendia (eu) Aurimas Černius (lt) Daniel Rusek (cs) Ekaterine Papava (ka) Emin Tufan Çetin (tr) Juliano de Souza Camargo (pt_BR) Martin (sl) Sabri Ünal (tr) twlvnn kraftwerk (bg) Yuri Chornoivan (uk) ======================================== folks ======================================== overview of changes from libfolks 0.15.11 to libfolks 0.15.12 ============================================================= Bugs fixed: * CI fixes overview of changes from libfolks 0.15.10 to libfolks 0.15.11 ============================================================= Bugs fixed: * eds backend: Correct patch for evolution-data-server 3.59.1 API changes * meson: Set minimum GLib version to 2.80 Overview of changes from libfolks 0.15.9 to libfolks 0.15.10 ============================================================ Major changes: * backend: Adapt to evolution-data-server 3.59.1 API changes ======================================== foundry ======================================== Foundry 1.1.alpha ================= This is the first alpha release for the upcoming 1.1 release, bringing major infrastructure improvements for IDE development and a complete debugger implementation. **Debugger Infrastructure** * Complete Debug Adapter Protocol (DAP) implementation with GDB and LLDB integration, providing a unified debugging experience across debuggers * Full debugger UI with stack frames, locals, parameters, registers, and breakpoint visualization * Disassembly view and REPL interpreter support for interactive debugging * Memory visualization with address range browsing and read_memory() API * Quirks system to handle non-ideal DAP implementations gracefully * Debugger state tracking and GActionGroup integration for easy UI wiring **Language Server Protocol** * LSP progress operations bridging to FoundryOperation for long-running language server tasks * Hierarchical symbol tree support for modern LSP implementations * Improved buffer synchronization with cleaner fiber-based implementation * Enhanced diagnostics integration with tooltips and gutter rendering * Fixed JSON-RPC driver to handle edge cases in protocol parsing **Symbol and Documentation Systems** * New symbol provider API with CTags parser and tree-sitter plugin support * Symbol tree, symbol location, and path navigation infrastructure * FoundryGir parser for accessing reflected GIR files without compilation, enabling documentation access even when not generated * Documentation bridge for markdown generation and search integration * Pathbar infrastructure for symbol, documentation, and file navigation * FoundryPathNavigator with subclasses for symbols, documentation, and files **File and Search Infrastructure** * New file search API with grep integration and thread-pool optimization * Search provider abstraction with GNU grep default and ripgrep support * Search/replace API with back-reference support for regex replacements * FoundryFileRow component for path browsing with collapse/expand support * Include/exclude globbing for file searches * Improved fallback search using git file listing for faster index building **Build System** * Build pipeline with phase tracking and dynamic stage calculation * Build system discovery with priority-based addin loading * Linked pipeline support for multi-project builds (e.g., building GTK as part of your application build) * Non-destructive Flatpak manifest editing with write-back support * SDK management with write-back to configurations * Support for install, export, and deploy actions * Pipeline now supports prepend/append PATH modifications * Justfile support using `just` build tool **Forge Integration** * GitLab forge implementation with issues, merge requests, and project abstractions * API key management with libsecret storage and rotation support * FoundryKeyRotator for automatic key expiration checking and rotation * Pagination support with automatic background fetching * Forge listing components with pre-fetch capabilities * Keyword search for issues and merge requests **Intent System** * New IntentManager with plugin model and priorities for flexible application policy handling * Intents for file operations, symbols, documentation, web navigation, and actions * FoundryActionIntent and FoundryWebIntent for application integration * Integrated intent system across file operations, search results, and navigation * Terminal Intent and TerminalService for opening terminals within applications **Terminal Integration** * FoundryTerminal with snapshot rewriting from Ptyxis for consistent terminal experience * Terminal intent and service for application integration * PTY diagnostics with auto-registration to diagnostic manager * Terminal palette support with FoundryTerminalPaletteSet **Version Control** * FoundryGitCommitBuilder with staging/unstaging of files, hunks, and lines * Diff, delta, and patch generation APIs * Commit signing support for GPG and SSH keys * Stash functionality and VCS diff hunk/line abstractions * FoundryVcsDiffHunk and FoundryVcsDiffLine objects for fine-grained diff access * Improved delta handling and repository path management **Other Infrastructure** * Operation bay for long-running operations with progress display (similar to Nautilus) * Retained list model for pinning items during interactions * MCP server exposing Foundry tools and resources * Panel widget machinery with presented() support for delayed loading * Needs-attention tracking for panels and pages * New menu search provider (FoundryMenuSearchProvider) for searching application menus * Settings system now supports string array (strv) values * New FoundryTextManager::document-saved and FoundryTextDocument::saved signals * FoundrySourceBuffer comment/uncomment API * libfoundry-adw gained foundry_page_request_close() API * libfoundry-adw gained helpers to locate panels by ID **Plugins** * New DistCC plugin for distributed compilation * New SARIF plugin for receiving diagnostics via SARIF socket protocol (supports GCC 16.0 EXPERIMENTAL_SARIF_SOCKET) * Improved Ollama plugin with API key support and host/port/TLS control * New OpenAI plugin providing LLM backend support for OpenAI models **CLI Improvements** * Improved CLI with plugin command tree extension support * New `foundry grep` command with search/replace support * New `foundry symbol-tree` and `foundry find-symbol-at` commands * New `foundry secret rotate` and `foundry secret check-expires-at` commands * New `foundry mcp` server command * Better formatting for GFlags using value_nick * Improved string array output for JSON and text formats **Many bug fixes and improvements across the codebase** ======================================== gdk-pixbuf ======================================== 2.44.4 === - glycin: Make svgz work - glycin: Support saving avif - docs: Add deprecation tags for GdkPixbufAnimation - bmp: Fix loading of bottom-up images 2.44.3 === - glycin: Fix an off-by-one-error in option handling - glycin: Handle outdated uses of the prepare callback - glycin: Consolidate image and animation loading - glycin: Handle animations better, using new glycin API - build: Require glycin 2.0.1 2.44.2 === - glycin: Ignore unknowns keys when saving [!239] - Translation updates ======================================== gdm ======================================== 50.alpha.1 ========== * Corrected Git mishap. The 50.alpha tag points at a commit that never made it to the main branch. 50.alpha.1 corrects this. Make sure to look at the changelog for 50.alpha for news about what's new in this release! * Fixups to the README * Dropped vistigial `udev-dir` meson option * Translation updates 50.alpha ========== * Translation updates * Fixed bug where we'd lose track of the user session failure counter * Added GNOME OS CI * Special sessions (like GDM, initial-setup) are now loaded from .desktop files rather than being hard-coded into GDM * Entirely removed X11 support, except for the ability to launch other desktops' X11 sessions with a per-user X server. This means that features like XDCMP and system-wide Xserver are gone, and that GDM's own sessions will always run with Wayland. * Consequently, we removed the ability to compile GDM without Wayland support * Introduced a new `gnome-headless-session@.service`, which makes it easier to start a headless graphical session (i.e. for RDP purposes) * Merged display and session registration into one step, because the previous approach didn't work right for Wayland. This allowed us to remove workarounds that caused bugs * Reworked wtmp/utmp/btmp fields to contain more useful values, especially on Wayland and with headless RDP sessions * Dropped final usages of the `gdm`/`gdm3` user, so distros no longer need to create it for us (GDM now entirely relies on dynamically allocated users) * Adapted to changes in gnome-shell's systemd unit files, and dropped hard-coded gnome-shell session modes. It's now easier for custom/kiosk sessions to use custom gnome-shell session modes * Added support for Linux 6.18's new `boot_display` sysfs attribute, which replaces the `boot_vga` attribute. These attributes allow GDM to identify the primary GPU, but modern AMD cards cannot use `boot_vga` because they no longer have VGA support! * Fixed bug where we failed to propagate some environment variables into the greeter's Pipewire instance 49.1 ========== * Translation updates * Hotfixed a bug that leaves gnome-shell in a locked up state * Fixed implementation of userdb, so we don't list our users when asked about UID 0 (root) * Switched safety check that avoids accidentally deleting / and /home from an assertion to an error, so the check always runs even in production builds * Fixed bug where gnome-initial-setup's configuration (i.e. input methods) failed to migrate to the final user session * Fixed bug where GDM assumed that Wayland is unavailable if Xwayland wasn't installed on the system 49.0.1 ========== * Follow-up for permissions issue fix, making the fix work in more environments ======================================== gexiv2 ======================================== gexiv2 0.16.0 - 13 Sep 2025 (stable) * No change, version bump to stable gexiv2 0.15.2 - 31 Aug 2025 (unstable) * Add api version to library to avoid paralell installation conflict of unversioned .so All contributors to this release: - Jens Georg gexiv2 0.15.1 - 2 Aug 2025 (unstable) * Remove charset= prefix * Fix issue with get_tag_multiple mis-interpreting tags with commas * Modernize the GObject boilerplates Bugs fixed in this release: - https://gitlab.gnome.org/GNOME/gexiv2/issues/80 gexiv2 0.15.0 - 28 Jun 2025 (unstable) Attention: * This release breaks API! pkgconfig files, vapi and include folders are now installed with API versioning Changes in dependencies: * Only supports exiv2 0.28 or later Other changes: * Deprecate _try API and have the api without _try return GError * Remove old streamIO API * Documentation is now built with gi-docgen * Remove all functions deprecated in 0.14 - https://gitlab.gnome.org/GNOME/gexiv2/issues/79 - https://gitlab.gnome.org/GNOME/gexiv2/issues/86 All contributors to this release: - Jens Georg - Jens Georg - Bartłomiej Piotrowski ======================================== gjs ======================================== Version 1.87.1 -------------- - In this alpha release for the GNOME 50 cycle, the main focus has been on modernizing the code base and making it more type-safe. Expect more of this in the beta release. - We have better support for boxed C unions now in gobject-introspection. - Gtk.Builder has gained some JS-only conveniences, which should make it less tedious to use from JS code. The following construct properties are now recognized: * "data" accepts a string or UTF-8-encoded Uint8Array containing Gtk.Builder XML, and automatically calls add_from_string(). * "resource" accepts a string resource path, and automatically calls add_from_resource(). * "filename" accepts a string filename, and automatically calls add_from_file(). * "callbacks" accepts a property bag with properties equal to callbacks that are referenced in the Gtk.Builder XML. * "objects" accepts a property bag with properties equal to objects that should be exposed to the Gtk.Builder XML. Gtk.Builder has also gained a few JS-only convenience methods: * exposeObjects() calls expose_object() for each name and object in a property bag, much like the new "objects" construct property. * get_objects() overrides the original C get_objects() method, but on the returned array, additionally, there are named properties representing the exposed objects. - Gio.ActionMap.add_action_entries() now supports additional types in its array of entries: GLib.Variant and GLib.VariantType. It also interprets JS values as unpacked GLib.Variants where appropriate. - GLib.idle_add_once(), GLib.timeout_add_once(), and GLib.timeout_add_seconds_once() are now introspectable. - Closed bugs and merge requests: * Support accessing fields of unions [#273, !770, Marco Trevisan, Philip Chimento] * Default union constructor should be guessed the same way that struct constructors are [#657, !770, Marco Trevisan, Philip Chimento] * Gtk.BuilderScope only works with template classes [#631, !1031, Philip Chimento, Sonny Piers] * installed-tests/testCommandLine: Use bash to write escaped sequences [!1032, Marco Trevisan] * Remove link to dead developer-old.gnome.org [#619, !1034, Philip Chimento] * Remove copy constructor from GjsAutoError [#654, !1034, Philip Chimento] * Various maintenance and big coding style fixes [!1034, !1040, !1044, !1045, !1050, !1053, Philip Chimento] * Unknown signal error on array properties [#717, !1035, Philip Chimento] * overrides/Gio: Improve handling of errors and return values in GDBus servers async functions [!1036, Marco Trevisan] * Investigate improvements to Gio.ActionGroup.add_action_entries override [#713, !1037, Andy Holmes] * Fix IWYU jobs for current Clang version and Fedora-packaged IWYU [!1038, Philip Chimento] * ci, test-ci: Check the installed tests with shellcheck [!1039, Marco Trevisan] * ci: Save cobertura reports as artifacts and run coverage on MRs [!1041, Marco Trevisan] * Consistent style and targeted shells for all shell scripts in project [#720, !1042, Philip Chimento] * overrides/GLib: Add overrides for one-shot timeout/idle functions [!1043, Florian Müllner] * gi/boxed.cpp: fix gcc-16 build [!1046, Sergei Trofimovich] * gi: Allow optional inout arguments to be null [!1047, Florian Müllner] * Remove inline overloads [!1048, Philip Chimento] * Remove uses of JS::Value::setObjectOrNull [!1049, Philip Chimento] * jsapi-util: Improve reading of process RSS [!1051, !1056, Philip Chimento] * CI: Run cpplint on the whole codebase [!1052, Philip Chimento] * ci/coverage: Strip the build path from coverage report on JS files (and other CI cleanups) [!1055, Marco Trevisan] * info: Fix return type of GI::CallableInfo::closure_native_address() [!1057, Philip Chimento] Version 1.86.0 -------------- - GJS now requires GLib 2.86 to build. - Closed bugs and merge requests: * Fix coverage CI job [!1023, Philip Chimento] * Test failure: Package module doesn't find a non-existent interface method (caused by TypeError: GObject.type_default_interface_ref is not a function) [#711, !1024, Florian Müllner] * Test failure: not ok 1 - Issue 443 GObject wrapper disposed warning 1..1 [#712, !1025, !1026, Marco Trevisan, Michael Catanzaro] * gi/Gio: Improve mapping for platform-specific symbols into Gio [!1027, Marco Trevisan] * Remove .eslintignore [!1028, Florian Müllner] * (type filepath) returned from c is decoded as utf8 (and can fail) [#706, !1029, Gary Li] * Various maintenance [!1030, Philip Chimento] ======================================== glib ======================================== Overview of changes in GLib 2.87.1, 2025-12-30 ============================================== * Several low-risk CVE fixes (#3827, #3834, #3845) * Fix return type of `gi_callable_info_get_closure_native_address()` (#3859, work by Philip Chimento) * Tweak thread pool handling for `GTask` threads to prevent stalls (#3840, work by Ignazio Pillai) * Respect `NO_COLOR` environment variable in log output (!4898, work by Aaron Andersen) * Update file system type lists to mark more file system types as system ones and to recognise `ntfs3` file systems (!4916 and #3828, work by Christian Hergert and Alexander Schwinn) * Add `G_GNUC_FLAG_ENUM` attribute to mark enums as flags (!4900, work by Philip Chimento) * Add a static CRT constructor and fusion manifest XML for GLib utilities on Windows so that `stderr` can be unbuffered and streams are flushed on exit (#3733, work by Luca Bacci) * Fix `G_FILE_MONITOR_WATCH_HARD_LINKS` on Windows (#3819, work by Jehan) * Bugs fixed: - #74 ignore case and '-' vs '_' differences when maching on enum/flag nick/name (Emmanuel Fleury) - #1181 Test failure: check_expected_events - #3360 msys2-mingw32 CI failure: mingw-w64-i686-gcc and mingw-w64-i686-gcc- objc are in conflict - #3733 gi-compile-repository.py test intermittently fails on Windows with empty stderr (Luca Bacci) - #3818 g_main_context_check with a NULL context crashes (Michiel Jan Laurens de Hoon) - #3819 G_FILE_MONITOR_WATCH_HARD_LINKS flag does not monitor files on Windows - #3827 (CVE-2025-13601) (#YWH-PGM9867-134) Incorrect calculation of buffer size in g_escape_uri_string() (Philip Withnall) - #3828 NTFS not detected by g_file_info_get_attribute_string - #3834 (CVE-2025-14087) (#YWH-PGM9867-145) Buffer underflow on Glib through glib/gvariant via bytestring_parse() or string_parse() leads to OOB Write (Philip Withnall) - #3840 GTask: g_task_run_in_thread never starts pending tasks (Ignazio Pillai) - #3843 glib: Integer overflow in `g_bytes_new_from_bytes()` leads to corrupted `GBytes` object (Philip Withnall) - #3845 (CVE-2025-14512) GIO: Integer overflow in file attribute escaping (Philip Withnall) - #3851 Integer overflow in `g_buffered_input_stream_peek()` leads to segmentation fault (Philip Withnall) - #3859 Return type of gi_callable_info_get_closure_native_address() should be void* (Philip Chimento) - !4883 ci: Do not use anymore only/except deprecated syntax - !4885 ci: Track changes to gir files using artifacts and MRs comments - !4898 glog: respect NO_COLOR environment variable - !4899 genvironment: consider macOS behavior when testing g_getenv - !4900 Add G_GNUC_FLAG_ENUM - !4904 glog: guard NO_COLOR environment variable check with a GOnce for performance reasons - !4907 completion: fix error on nounset mode unknown completions - !4908 glocalfile: Complain if `faccessat` sets an unusual error and use AT_FDCWD - !4909 glocalfile: Fix trash user cancellation not reported on Windows - !4910 ci: Use issue bot native support for $ISSUE_BOT_API_TOKEN_FILE - !4913 gdbusprivate: check length of path to GDBus binary - !4916 gio/gunixmounts: mark some file-system types as system - !4920 tests: Fix static-link test when running installed - !4921 gutf8: Add tests and clarify documentation for g_unichar_to_utf8() - !4922 ci: Enable the gobject-introspection build for the debian-stable-i386 job - !4923 Added AIX implementation of g_unix_fd_query_path - !4926 Fix g_strcompress docs (mod 256) - !4928 Update of the Occitan translation - !4930 gio/gunixmounts: Mark more file systems as system internal - !4931 gio/gunixmounts: Replace /bin/efi with /boot/efi - !4937 docs(GResource): Tweak overlays description - !4939 gsocks4aproxy: Fix a buffer leak when finishing connecting - !4941 gsignal: Cleanup handler disconnection avoiding unneeded operations - !4942 gio: Fix a few -Wsign-conversion warnings - !4943 ci: Some fixups on the gir checker * Translation updates: - Occitan (post 1500) (Mejans) Overview of changes in GLib 2.87.0, 2025-11-03 ============================================== * Update to Unicode 17.0.0 (!4793, work by Peng Wu) * Support runtime extensions to `gdbus-codegen` tool to allow modifying its output in project-specific ways (!4812, work by Sebastian Wick) * Use document portal to open all the URIs for snaps (!4822, work by Marco Trevisan) * Add g_markup_parse_context_get_offset() API for getting error locations in XML files (!4879, work by Matthias Clasen) * Bugs fixed: - GNOME/ptyxis#490 new tab does not open in current directory when hostname contains a period (Christian Hergert) - #672 hash resize broken for large sizes (Tobias Stoeckmann) - #2608 Support nanosecond time resolution with stat() on macOS (André Barnabá Silva) - #2949 gdbus-server-auth test intermittently fails on macOS - #3070 gio/g-file-info test fails on macOS (André Barnabá Silva) - #3523 g_filename_from_uri rejects valid host names according to RFC 1123 (Christian Hergert) - #3745 GIRepository: union fields offsets for compiled typelibs all have offset 0xffff (unknown) (Philip Chimento) - #3771 Should opening a .desktop file fail if Exec key contains invalid escapes? (Philip Withnall) - #3780 `gio/tests/socket-listener` requires dlsym - #3781 GLib.OptionContext's get_help() includes width of invisible options (FeRD (Frank Dana)) - #3783 [CI] Pipeline on 'main' failed for commit c31c4a52 (Tobias Stoeckmann) - #3784 Memory leak related to g_get_home_dir (Tobias Stoeckmann) - #3785 "gio trash --empty" returns 0 even when it fails to remove files - #3790 _g_log_abort() should check TracerPid from /proc before raising SIGTRAP - #3798 Gio.AppInfo.launch_default_for_uri_async crashes with non-existent paths (Philip Withnall) - #3803 GNetworkMonitor's netlink backend doesn't notify connectivity change (Philip Withnall) - #3805 [CI] Pipeline on 'main' failed for commit e6c52881 - #3806 fake-document-portal needs to use _g_fd_query_path() rather than accessing /proc/self/fd directly (Marco Trevisan (Treviño)) - #3808 Uyghur language translation updated. - #3809 GRegex tests fail with pcre2 10.47: different error for ^(a)\g{3 (Marco Trevisan (Treviño)) - #3811 g_get_user_special_dir doesn't strip trailing slash from $HOME/ (Tobias Stoeckmann) - https://gitlab.gnome.org/Infrastructure/Infrastructure/-/issues/ - !4753 GIO/Win32: Remove custom definitions of system interfaces - !4755 ghash: Fix entry_is_big for CHERI architecture - !4756 ghash: Handle all table sizes in iterator - !4759 GWin32AppInfo: Allow focus-stealing when requested via GAppLaunchContext - !4760 gbookmarkfile: Escape icon href and mime-type - !4764 subprojects: Update libffi, pcre2, proxy-libintl - !4773 docs: Add Luca Bacci as a co-maintainer of the Windows code - !4775 Update Ukrainian translation - !4776 Update Catalan translation - !4777 Update Lithuanian translation - !4778 tests: Fix clang compilation warnings - !4779 gmem: Replace SIZE_OVERFLOWS with g_size_checked_mul - !4780 Update Brazilian Portuguese translation - !4781 Update eu translation - !4782 Update Korean translation - !4785 Update Japanese translation - !4786 Update Galician translations - !4787 Update Hungarian translation - !4789 gio: add some nullable / zero-terminated annotations - !4790 gstring: Support large strings in g_string_replace - !4791 gstrfuncs: Check string length in g_strescape - !4792 gtype: Define copy and free functions for GTypeClass and GTypeInterface - !4793 gunicode: Update the code for Unicode 17.0.0 - !4794 CI/MSYS2: Use builtin b_coverage option - !4795 Meson: Add arguments and defines to all C-like languages - !4798 GDBus: Add `(out)` annotation to quark in g_dbus_error_register_error_domain() - !4800 gutils: Improve load_user_special_dirs' user-dirs.dirs parser - !4802 Update Turkish translation - !4803 Add missing `(array length=n_values)` annotation to `GEnumClass` / `GFlagsClass` - !4806 build: Post-release version bump - !4807 Add missing "nullable" to parameter docs of GList/GSList - !4810 gutils: Mark load_user_special_dirs unlocked - !4811 Update Esperanto translation - !4812 gdbus-codegen: Support extensions and changing the GDBusInterfaceSkeleton type to inherit from - !4813 Update Serbian translation - !4815 gfile: Expand documentation around file equality - !4816 strfuncs: Check for overflows when joining strings - !4817 Mark a couple of functions as constructors and not methods - !4819 utils: Fix a leak when user-dirs.dirs declares a variable twice - !4820 gio/tests: Fix a race condition in /gdbus/connection/flush - !4822 GDesktopAppInfo: Use document portal to open all the URIs for snaps - !4823 gio/gdocumentportal: Use the target name when opening a symlink - !4825 gdbus-codegen: Supress coverity warning in skeleton finalization - !4827 ghostutils: Treat 0x80 (and above) as non-ASCII - !4829 docs: Fix typos in win32-build.md - !4830 giowin32: Fix uninitialised variable error on msys2-clang64 - !4831 macros: Add C23/C++23 standards - !4832 gtypes: Support more overflow check implementations - !4835 Update Portuguese translation - !4837 tests: Fix another clang compiler warning - !4838 GLocalFile: keep suffix name when trashing - !4840 gpattern: Support patterns/strings longer than G_MAXUINT - !4843 tests: Use integer widths rather than maximum values for strfuncs check - !4844 Forward-port !4839 “Update Romanian translation” to main - !4847 GFile entity tags: Update HTTP reference link to point to RFC9110 ETags description - !4849 Update British English translation (main) - !4851 Docs: New file-name-encodings image: light/dark, color - !4855 glib-compile-resources: print error message when the temp file cannot be created - !4856 Mark return value of g_dbus_interface_get_info() as `nullable` - !4857 Docs: Migrate gvariant-*.svg licenses to comments - !4858 gsocketcontrolmessage: Fix a minor typo in a doc comment - !4860 Fix `g_memory_monitor_base_query_mem_ratio` on Solaris - !4861 gio/tests/gapplication: Check the values received on action activation - !4862 ci: Temporarily disable macos-arm64 CI as it has issues creating temp files - !4863 ci: Temporarily disable msys2-mingw32 CI - !4864 ci: Update Fedora CI image to Fedora 41 - !4866 Fix various scan-build errors - !4870 Reenable MSYS2 CI - !4874 ci: use APFS for macOS TMPDIR - !4877 gresolver: Fix loopback detection of IPv6 addresses - !4879 Add g_markup_parse_context_get_offset - !4887 glib-unix: Add Solaris implementation of g_unix_fd_query_path - !4893 ci: Use CI/CD file variable tokens for secrets - !4894 gthread-win32: Ignore error when setting thread priority - !4895 gunixmounts: fix out of bounds write in AIX mount table parser - !4896 ci: Actually use token file for the issue bot - !4897 Re-enable PCRE2 tests for 32-bit Visual Studio builds * Translation updates: - Basque (Asier Saratsua Garmendia) - Catalan (Jordi Mas) - English (United Kingdom) (Bruce Cowan) - Esperanto (Kristjan ESPERANTO) - Galician (Fran Dieguez) - Hungarian (Balázs Úr) - Japanese (Makoto Sakaguchi) - Korean (Changwoo Ryu) - Lithuanian (Aurimas Černius) - Portuguese (Hugo Carvalho) - Portuguese (Brazil) (Rafael Fontenelle) - Romanian (Antonio Marin) - Serbian (Милош Поповић) - Turkish (Sabri Ünal) - Uighur (Abduqadir Abliz) - Ukrainian (Yuri Chornoivan) ======================================== glibmm ======================================== 2.86.0 (stable) 2025-09-19: gmmproc: * tools/defs_gen/docextract: Improve extraction of enum enumerators. New enumerators in glib, gtk, pango are usually documented with one enumerator per documentation block. (Kjell Ahlstedt) ======================================== glycin ======================================== ## 2.1.alpha (2026-01-02) This release contains the following new component versions: - glycin-heif 2.1.0-alpha - glycin-image-rs 2.1.0-alpha - glycin-jpeg2000 2.1.0-alpha - glycin-jxl 2.1.0-alpha - glycin-raw 2.1.0-alpha - glycin-svg 2.1.0-alpha - glycin-thumbnailer 2.1.0-alpha - glycin 3.1.0-alpha - libglycin-gtk4-rebind 0.0.1 - libglycin-gtk4-rebind-sys 0.0.1 - libglycin-rebind 0.0.1 - libglycin-rebind-sys 0.0.1 - libglycin 2.1.0-alpha - libglycin-gtk4 2.1.0-alpha ### Added - Add a specific error for when glycin fails to load the image from it's file/stream. - image-rs: Add XBM and XPM support ## 2.0.7 (2025-11-11) This release contains the following new component versions: - glycin 3.0.7 - libglycin 2.0.7 - libglycin-gtk4 2.0.7 ### Fixed - Allow `riscv_hwprobe` syscall. - Fix build error on musl libc since it doesn't has a `close_range` function. ## 2.0.5 (2025-11-04) This release contains the following new component versions: - glycin-image-rs 2.0.5 - libglycin 2.0.5 - libglycin-gtk4 2.0.5 ### Fixed - libglycin: Don't mark `gly_image_get_metadata_key_value` return type as const. - libglycin: Don't return a pointer to GStrv for `gly_loader_get_mime_types_finish`. ### Changed - Support image/x-win-bitmap to load .cur-files ## 2.0.4 (2025-10-20) This release contains the following new component versions: - glycin-heif 2.0.4 - glycin-image-rs 2.0.4 - glycin-jpeg2000 2.0.4 - glycin-jxl 2.0.4 - glycin-raw 2.0.4 - glycin-svg 2.0.4 - glycin-utils 4.0.4 - glycin 3.0.4 - libglycin 2.0.4 - libglycin-gtk4 2.0.4 ### Fixed - D-Bus connections were never completely closed, causing a memory and FD leak. - Default to loop for animations if no explicit value is set. This fixed as backward compatibility issue when glycin/libglycin is not a .3 or later. - Support having symlinks in a directory that is already a symlink and both a explicitly picked up by fontconfig. ## 2.0.3 (2025-10-09) This release contains the following new component versions: - glycin-common 1.0.3 - glycin-heif 2.0.3 - glycin-image-rs 2.0.3 - glycin-jpeg2000 2.0.3 - glycin-jxl 2.0.3 - glycin-raw 2.0.3 - glycin-svg 2.0.3 - glycin-thumbnailer 2.0.3 - glycin-utils 4.0.3 - glycin 3.0.3 - libglycin 2.0.3 - libglycin-gtk4 2.0.3 ### Added - glycin/sandbox: Drop `CAP_DAC_OVERRIDE` and `CAP_DAC_READ_SEARCH_POSTION` during directory resolution to ensure that bwrap does not try to mount directories that it does no longer have access to after it dropped these caps. ### Fixed - SIGSYS because `restart_syscall` syscall is not allowed. #213 - glycin: Also detect SIGSYS from bwrap exit code. - glycin: Honor apply_transformations for imgage dimensions. Before, the width and height would be changed for rotated images if `apply_transformations` was set to false. #215 ### Changed - glycin/libglycin: Drastically reduce the number of used threads, especially for libglycin. - glycin: Avoid loading configs or checking system properties multiple times because of race condition in cache. - svg: Round image dimensions instead of rounding up. ## 2.0.2 (2025-09-27) This release contains the following new component versions: - glycin-heif 2.0.2 - glycin-jpeg2000 2.0.2 - glycin-jxl 2.0.2 - glycin-raw 2.0.2 - glycin-svg 2.0.2 - glycin-utils 4.0.2 ### Fixed - Loaders in 2.0.1 required specifying the loop_animation field explicitly, making it incompatible with previous glycin/libglycin versions. The loop_animation is now assumed to be false when not present, as originally intended. ## 2.0.1 (2025-09-26) This release contains the following new component versions: - glycin-image-rs 2.0.1 - glycin-utils 4.0.1 - glycin 3.0.1 - libglycin 2.0.1 - libglycin-gtk4 2.0.1 ### Added - glycin/libglycin: Add API to disable animation looping. - glycin/sandbox: Detect if bwrap can't be used due to syscalls being blocked. This is an indication of running in an already sandboxed environment like libgnome-desktop thumbnailer or a CI. In this case we fall back to unsandboxed mode. ### Fixed - Close all unused FDs in fork. Before we were sharing all FDs that don't have CLOEXEC set. In Rust that's usually not a problem because that's set by default. But when used by C in libglycin this is much more unclear. This is an attempt at fixing Firefox issues. - There was no timeout spawned that would ensure that unused loaders are killed after they have been unused for the specified maximum retention time. - glycin/sandobx: Canonicalize fontconfig paths before passing to --ro-bind-try as source because wrap fails on symlinks otherwise. - glycin: u16_to_u8 testcase on big endian machines - heif: Overwrite matrix coefficients (YCbCr) in CICP since currently RGB is forced and GSK gl and cairo don't support YCbCr. This fixes wrong colors in HEIC and AVIF images. ======================================== gnome-boxes ======================================== 49.1 - Nov 24, 2025 =================== Changes since 49.0 - Download temporary files to /var/tmp instead of /tmp - Fix command-line argument descriptions - Added/updated/fixed translations 49.0 - Sept 16, 2025 ==================== Changes since 49.rc.1 - Added/updated/fixed translations ======================================== gnome-builder ======================================== # GNOME Builder 50.alpha * Editor improvements for handling drafts via save delegate * Improved dark theme colors to match Adwaita * Better integration with help documentation in workspace * Flatpak integration now uses trash instead of permanent deletion * Run manager improvements with save/restore reason settings * Meson template improvements and papercut fixes * LSP client improvements for delete notifications * Improved appdata keywords for better discoverability * Pipeline improvements for post-install commands * Translation updates # GNOME Builder 49.1 * Improve opening help documentation in workspace * Fix notification of deletions when in sync-full LSP state * Various manuals fixes * Remove use of in templates * Translation updates ======================================== gnome-calculator ======================================== Overview of changes in gnome-calculator 50.alpha * Updated translations * Improved metainfo !451 (Maximiliano) * Improved build process !448 (Chris Mayo) * Fix cropped buttons section #519 (Adrien Plazas) Overview of changes in gnome-calculator 49.1.1 * Updated translations * Fixed variable usage with text-operators in function definition #504 (Robert Roth) * Disable 32-bit unsigned right-shift on 32-bit architectures #503 (Robert Roth) Overview of changes in gnome-calculator 49.1 * Updated translations * Fixed BDT currency rate #509 (Robert Roth) Overview of changes in gnome-calculator 49.0.1 * Updated translations * Updated screenshots ======================================== gnome-calendar ======================================== Major changes in 50.alpha: * Various updates to the Flatpak manifest * Minor tweaks to the coloring of event widgets * Various accessibility fixes all around * Performance improvements in the Month view * More prominent month name in the Month view * Improved scrolling animations in the Month view * Improved alignment of event widgets in the Month view * Plug a bunch of memory leaks in the Quick Add popover * Update the design of the Quick Add popover * Plug dozens of memory leaks in tests and in the app * Announce the number of search results to the screen reader * Respect the new GSetting for first weekday * Updated translations ======================================== gnome-characters ======================================== 50.alpha ======== * Don't skip the first block when iterating (Alice Mikhaylenko) * Fix fetching the list of languages in Flatpak (Alice Mikhaylenko) * Fix the IBus check (Alice Mikhaylenko) * Fix wrong emoji size when font scaling is enabled (Alice Mikhaylenko) * Include the new CJK block from unicode 17.0 (Alice Mikhaylenko) * Port shortcuts to AdwShortcutsDialog (Maximiliano Sandoval) * Port to AdwSidebar (Alice Mikhaylenko) * Rename appdata to metainfo (AsciiWolf) * Support language aliases (Alice Mikhaylenko) * Update to Unicode 17.0.0 (Alice Mikhaylenko) * Fix active window tracking (Alice Mikhaylenko) * Fix a typo in the app metadata (Maximiliano Sandoval) * Update app screenshots to GNOME 49 (Maximiliano Sandoval) * Translations updates: - Serbian (Latin) (Милош Поповић) ======================================== gnome-clocks ======================================== gnome-clocks 50.alpha ===================== * General improvements and bug fixes * !352 Port shortcuts dialog to AdwShortcutsDialog * !363 Add support for customizing the alarm bell. Requires ffmpeg on compile time * !368 UI improvements for the stopwatch view * !387 Use icu-i18n and icu-uc to format time spans * !388 !392 Disable vala C warnings * !357 Link to static.gnome.org for app screenshots * Bugs fixed: - #158 Animate transition to lap table in stop watch - #159 Don’t show timer lapsed notification when Clocks is focused - #336 i18n: sentence is split - #426 The New Timer dialog isn't scrollable * Translation updates ======================================== gnome-console ======================================== Version 49.2 ~~~~~~~~~~~~ Small fix for an an unfortunate crash, thanks to metamuffin, Johannes Altmanninger, and XiJet, for their assistance in catching this. Updated Translations: * German (Christian Kirbach) * Norwegian Bokmål (Kjartan Maraas) * Serbian (Мирослав Николић) * Serbian (Latin) (Милош Поповић) Version 49.1 ~~~~~~~~~~~~ A couple fixes, thanks again to all who provided feedback. New Translations * Uighur (Abduqadir Abliz) Updated Translations * Bulgarian (twlvnn kraftwerk) * Greek (Dimitris Spentzos) * Occitan (Quentin PAGÈS) * Portuguese (Hugo Carvalho) ======================================== gnome-control-center ======================================== ================ Version 50.alpha ================ - Remove X11 backend - Port remaining UI definition files to Blueprint - Fix various compiler warnings and memory leaks - Various translation updates Dependency updates - blueprint-compiler >= 0.19 - malcontent >= 0.14.alpha (new dependency) About - Add "winver" to keywords for About page Accessibility - Replace "enable animations" with "reduced motion" - Add magnify, magnifier, and overamplification keywords to desktop file Applications - Fix monitoring app filter changes - Add toast confirmation when removing file/link association - Fix "Type" being character wrapped in certain locales - Remove unused callbacks and includes Background - Scale checkmark properly Color management - Fix calibration and restarting functionality - Fix issues when running calibration multiple times - Fix small memory leak - Remove use of goto in C code Common - Redesign split-row widget - Port keyboard-shortcut-group to Blueprint Date & Time - Make sure timezone dialog always shows search entry - Fix timezone search assuming unicode casing - Sync subdialogs visibility with user permissions Display - Wrap "AM/PM" buttons into stack pages Keyboard - Update for new default activities overview shortcut - Add layout default to alternate char page - Allow default Alternate Character keys - Add None option for alternate key (lv3) - Improve xkb-modifier-page with better translation support - Port keyboard-shortcut-group to Blueprint - Use AdwButtonRow to add a custom shortcut - Increase input chooser dialog height Mobile Networks - Port "Modem Details" dialog to AdwDialog - Port modem details rows to CcListRow - Use "property" style for the rows Mouse & Touchpad - Don't let primary buttons shrink Multitasking - Add save/restore toggle switch Network - Actually turn off wifi when only managing a single device - Clarify no saved networks title - Show a status page if there are no saved Wi-Fi networks - Show "No Saved Networks" page after deleting last connection - Don't show hyphen in long passwords in QR code dialog - Announce to the screen reader when an IP address is wrong Power - Fix battery model string leak - Port CcBatteryRow to Blueprint Region - Always set all variables when setting system locale - Fix name of the US measurement system - Increase language chooser dialog height Sound - Better distinguish input and outputs rows in panel - Ignore loopbacks Users - Port CcPasswordDialog and CcAddUserDialog to Blueprint - Use CcEntryFeedback for password states - Announce password verify entry state changes to screen reader - Update admin switch position in add user dialog - Allow changing password with remote user Wacom - Reverse main & fallback mechanisms for getting vendor & product Wellbeing - Handle accounts managed by malcontent - Add SPDX comment to bar chart documentation diagram ======================================== gnome-initial-setup ======================================== 50.alpha -------- * Try run0 first if available instead of pkexec [Luca; 294] * timezone: Remove duplicate cities [nmontero; !298] * timezone: Improve keyboard navigation [nmontero; !297] * timezone: Enable geolocation for timezone page [nmontero; !299] * Make session explicitly depend on gnome-shell [Adrian; !301] * parental-controls: Adapt for malcontent 0.14 [Jordan; !304] * CI cleanups [Jordan; !303] Contributors: Luca Boccassi, Marge Bot, Michael Catanzaro, Matthias Clasen, Sunniva Løvstad, matiwari, nmontero, Jordan Petridis, Adrian Vovk Translators: Emilio Sepúlveda [ia], Kristjan SCHMIDT [eo], Antonio Marin [ro], Christian Kirbach [de], Abduqadir Abliz [ug], Quentin PAGÈS [oc], twlvnn kraftwerk [bg], Fabio Tomat [fur], Милош Поповић [sr, sr@latin], Sunniva Løvstad [nn], Kjartan Maraas [nb], Efstathios Iosifidis [el], Iverson Briones [fil], Baurzhan Muftakhidinov [kk], Yuri Chornoivan [uk], Martin [sl], Ekaterine Papava [ka], luming zh [zh_CN], Aurimas Aurimas Černius [lt] 49.0 --------- * Restore minimal desktop file to show app icon [Alessandro, !291] * Add spoken levels to the password quality [Sergio, !292] Contributors: - Alessandro Astone - Sergio Costas Rodriguez Translation Updates: - Aefgh Threenine [th] - Anders Jonsson [sv] - Antonio Marin [ro] - Artur S0 [ru] - Asier Saratsua Garmendia [eu] - Ask Hjorth Larsen [da] - Aurimas Aurimas Černius [lt] - Balázs Úr [hu] - Bruce Cowan [en_GB] - Christian Kirbach [de] - Danial Behzadi [fa] - Daniel Mustieles [es] - Daniel Rusek [cs] - Dušan Kazik [sk] - Ega Natha [id] - Ekaterine Papava [ka] - Emilio Sepúlveda [ia] - Emin Tufan Çetin [tr] - Fran Diéguez [gl] - Francisco Diéguez Souto [gl] - Hugo Carvalho [pt] - Jiri Grönroos [fi] - Jordi Mas i Hernandez [ca] - luming zh [zh_CN] - Luming Zh [zh_CN] - Makoto Sakaguchi [ja] - Martin [sl] - Matthias Clasen - Nathan Follens [nl] - Nilton Perim Neto [pt_BR] - Piotr Drąg [pl] - Quentin PAGÈS [oc] - Sabri Ünal [tr] - Seong-ho Cho [ko] - Sergio Costas Rodriguez - Yaron Shahrabani [he] - Yuri Chornoivan [uk] - Álvaro Burns [pt_BR] ======================================== gnome-maps ======================================== 50.alpha - Jan 3, 2026 ========================= Changes since 49.0 - Redesign to use an AdwMultiView to show both place information and the route planner in a sidebar on desktop, and a bottom sheet on mobile - Always use Transitous for public transit routing - Port UI templates to Blueprint Added/updated/fixed translations - Indonesian - Slovenian - Turkish - Italian - Serbian (Latin) - Serbian - Greek - Uighur - Catalan - Esperanto - Korean All contributors to this release Abduqadir Abliz Andika Triwidada Davide Ferracin Efstathios Iosifidis Jakub Steiner jalenng <42555186+jalenng@users.noreply.github.com> James Addison James Westman Jamie Gravendeel Jeeyong Um Jeff Fortin Jordi Mas i Hernandez Kolja Lampe Kristjan SCHMIDT Marcus Lundblad Martin Maximiliano Sandoval Sabri Ünal Милош Поповић ======================================== gnome-menus ======================================== ============== Version 3.38.1 ============== * No functional changes ============== Version 3.38.0 ============== * Add GioUnix-2.0 dependency to introspect libmenu * Translation updates ======================================== gnome-music ======================================== Overview of changes in 49.1 =========================== • Translation updates Bugs fixed: Fix search issue (!1123) ======================================== gnome-online-accounts ======================================== Overview of changes in 3.57.0 ============================= * Changes: - build: bump glib requirement to 2.84 * Bugs fixed: - #417 Support for saving a Kerberos password to the keychain after the first login - #436 changing expired kerberos password is not supported. - #437 Provided Files URI does not override undiscovered endpoint - #439 DAV client rejects 204 status in OPTIONS request handler - #445 Include emblem-default-symbolic.svg - #448 Connecting a Runbox CardDAV/CalDAV account hangs/freezes after sign in - !355 i81n: fix translatable string - !360 goaimapsmptprovider: fix accounts without SMTP or authentication-less SMTP - !364 build: only install icons for the goabackend build - !365 build: don't require goabackend to build documentation - !366 ci: test the build without gtk4 - !370 DAV-client: Added short path for SOGo * Translation updates: - Bulgarian (twlvnn kraftwerk) - Chinese (China) (luming zh) - Czech (Daniel Rusek) - English (United Kingdom) (Bruce Cowan) - Esperanto (Kristjan SCHMIDT) - Friulian (Fabio Tomat) - Georgian (Ekaterine Papava) - German (Froschi) - Greek, Modern (1453-) (Efstathios Iosifidis) - Persian (Danial Behzadi) - Portuguese (Hugo Carvalho) - Romanian (Antonio Marin) - Serbian (Милош Поповић) - Slovenian (Martin) - Turkish (Sabri Ünal) - Uighur (Abduqadir Abliz) - Ukrainian (Yuri Chornoivan) ======================================== gnome-remote-desktop ======================================== 49.2 ==== * Misc bug fixes [Pascal; !352] * Fix crash [Pascal; !356] Contributors: Pascal Nowack Translators: Efstathios Iosifidis [el], Fabio Tomat [fur], Милош Поповић [sr, sr@latin] 49.1 ==== * Fix crash [Jonas; !345] * Fix image corruption on some NVIDIA GPUs [Stephan; !344] Contributors: Abduqadir Abliz, Jonas Ådahl, Stephan Seitz Translators: twlvnn kraftwerk [bg], Abduqadir Abliz [ug], João Carvalhinho [pt], Andi Chandler [en_GB], Quentin PAGÈS [oc] ======================================== gnome-session ======================================== ================ Version 50.alpha ================ - Updated documentation to reflect the major changes in GNOME 49 - Fixed bug where gnome-session would fail to reap the processes of the apps it launched, leaving around zombie processes - Fixed option parsing regression in gnome-session-inhibit - Reworked logic to find DBUS_SESSION_BUS_ADDRESS, which should make gnome-session work better in non-systemd environments - Removed version number from gettext POT name, which should make translations easier on services like launchpad.net - Fixed bug with offline updates that prevented gnome-shell from converting a shutdown into a reboot - Improved safety check that enforces only one active graphical session per user by checking for any running graphical session, not just another GNOME session - Dropped support for running X11 sessions. Note that this dropped all display server specific unit files, since the generic gnome-session*.target units are now Wayland-only - Implemented initial plumbing for session save/restore - Reworked unit files to adapt to new changes where gnome-shell's unit file takes the gnome-shell mode as its argument. This makes it easier for kiosk sessions or other special/custom sessions to use gnome-shell modes - Dropped unused dependencies: json-glib and gtk4 - Updates to mimeapps.list: Added Shaper (new GTK icon editor tool) and fixed bugs with GNOME Disk Utility - Translation Updates ======================================== gnome-settings-daemon ======================================== ================ Version 50.alpha ================ - Translation updates - Removed -Dx11 build option Color: - Plugged leaks Housekeeping: - Performance improvements - Donation reminder notification got a lesser priority Power: - Fixes to ambient light sensor handling - Fixed eager suspend after resume with NVidia hardware - Multiple improvements to the test suite Sharing: - Start or stop sharing services independently of network availability - Systemd integration cleanups ============ Version 49.1 ============ - Translation updates Power: - Avoid xext dependency Xsettings: - Build only if X11 or Xwayland are enabled ======================================== gnome-shell ======================================== 50.alpha ======== * Fix lock screen notification setting for MPRIS clients without DesktopEntry [Sebastian K.; !3921] * Fix wrong network icon on connectivity loss [Antoine; !3910] * Sort session list on login screen by display name [Balló; !3920] * Add extended OSK layouts for German and Austrian [Leonidas; !3923] * Fix leaving VPN auth helper zombie processes [Michael; !3926] * Fix freeze on modifier-only layout switch shortcut [Sebastian K.; !3939] * Show OSD for any attempted brightness change [Sebastian W.; !3941] * Use slider as bias when auto brightness is being used [Sebastian W.; !3935] * Fix glitch in list search results [Florian; !3951] * Continue transition from raw event handling to ClutterGesture [Carlos; !3912] * Adapt to removal of X11 mutter backend [Bilal; !3768] * Lock screen when reaching screen time limit in a child session [Ignacy; !3841] * Fix activating app-switcher thumbnails via click [Håkon; !3959] * Fix swipe gestures behaving erroneously in RTL locales [Florian; !3967] * Disable internal commands if parental controls are enabled [Philip; !3968] * Fix misplaced separator in dash after unpinning running app [Raghuveer; !1973] * Fix glitch when (re)expanding notification group [SymphonySimper; !3978] * Add extension support to test-tool [Florian; !3986] * Fix lost focus on lock screen after resume from suspend [Lukas; !3962] * Correctly expose/hide caps-lock warning to a11y tree [Lukáš; !3981] * Stop recording when reissuing screencast shortcut [Ian; !3847] * Indicate non-default power mode in top bar [Florian; !3961] * Improve accessibility of icon buttons in screenshot tool [Lukáš; !3893] * Fix user deselection after idle on login screen [Lukas; !3993] * Improve readability of insensitive text [Sam; !3998] * Use default color for muted microphone indicator [revisto; !4001] * Show notification when allowed screen time is almost up [Ignacy; !3977] * Add async ease variants [Florian; !3948] * Support week-start-day setting [Evan; !4026] * Fixed crash [Sebastian K.; !3933] * Misc. bug fixes and cleanups [Florian, Davide, Sebastian K., Leonidas, Ignacy, Jonas, ClarityStorm, Carlos, Alessandro, Marco, Adrian, Philip, Sebastian W., Debarshi, Hari, revisto, Takao, sudigit, Julian; !3916, !3903, !3919, !3922, !3925, !3918, !3931, !3927, !3932, !3924, !3937, !3930, !3929, !3940, !3942, !3945, !3946, !3943, !3950, !3938, !3954, !3708, !3958, !3917, !3964, !3971, !3973, !3983, !3982, !3987, !3985, !3989, !3988, !3994, !3944, !3991, !3996, !3995, !3992, !3997, !4000, !4005, !4007, !3784, !4027, !4016, !3979, !4018, !4032, !4031, !4037] Contributors: Leonidas Adaktylos, Alessandro Bono, Michael Catanzaro, ClarityStorm, Bilal Elmoussaoui, Davide Ferracin, Takao Fujiwara, Carlos Garnacho, Balló György, Sam Hewitt, Håkon Hægland, Raghuveer Kasaraneni, Sebastian Keller, Ignacy Kuchciński, Antoine Lassagne, Florian Müllner, Ian Off, Evan Paterakis, Hari Rana, Debarshi Ray, revisto, Lukas Schmelting, Julian Sparber, sudigit, SymphonySimper, Marco Trevisan (Treviño), Lukáš Tyrychtr, Adrian Vovk, Sebastian Wick, Philip Withnall, Jonas Ådahl Translators: Martin [sl], Nathan Follens [nl], Efstathios Iosifidis [el], Makoto Sakaguchi [ja], Emin Tufan Çetin [tr], سبحان [fa], Quentin PAGÈS [oc], Cheng-Chia Tseng [zh_TW], Artur S0 [ru], Andika Triwidada [id], Asier Saratsua Garmendia [eu], Antonio Marin [ro], Hugo Carvalho [pt], Baxrom Raxmatov [uz], Emilio Sepúlveda [ia], Baurzhan Muftakhidinov [kk], Kjartan Maraas [nb], Ibai Oihanguren Sala [eu] 49.1 ==== * Fix freeze when dragging quick settings sliders on touch [Daniel; !3887] * Fix key focus on choice list on login screen [Marco; !3849] * Fix animation glitch when cancelling overview search [Noam; !3888] * Also send activation token for notifications without app [Marco; !3891] * Unify warning styling in dialogs [Marco; !3897] * Update keyboard indicator on modifier-only layout switches [Carlos; !3895] * Improve accessibility of screenshot UI [Lukáš; !3908] * Improve Hindi bolnagri input with on-screen keyboard [Mike; !3911] * Do not expire notifications that are about to show [Marco; !3905] * Improve accessibility icons on login screen [Jakub; !3909] * Make media messages follow notification policy [Florian; !3896] * Misc. bug fixes and cleanups [Florian, SimonMaracine, Daniel, Marco; !3889, !3894, !3892, !3898, !3907, !3904] Contributors: Mike FABIAN, Carlos Garnacho, Florian Müllner, Noam Raz, SimonMaracine, Jakub Steiner, Marco Trevisan (Treviño), Lukáš Tyrychtr, Daniel van Vugt Translators: Quentin PAGÈS [oc], BoF ButterflyOfFire [kab], Abduqadir Abliz [ug], Милош Поповић [sr, sr@latin], Sabri Ünal [tr], Hugo Carvalho [pt], Jordi Mas [ca], Davide Ferracin [it], twlvnn kraftwerk [bg], Jean-Marc TISSIERES [fr], Fabio Tomat [fur] ======================================== gnome-software ======================================== Version 49.3 ~~~~~~~~~~~~ Released: 2026-01-12 This is a stable release with the following changes: * Improve display of long repository names * Clarify warning about removing data when uninstalling an app * Fix minor UI issues when scrolling using gestures on a touchpad * Don’t show firmware warning on Installed Updates page * Several fixes to update history on rpm-ostree systems This release also updates translations: * Bokmål, Norwegian (Kjartan Maraas) * Catalan (Victor Dargallo) * Indonesian (Andika Triwidada) * Kazakh (Baurzhan Muftakhidinov) * Portuguese (Brazil) (Juliano de Souza Camargo) Version 49.2 ~~~~~~~~~~~~ Released: 2025-11-20 This is a stable release with the following changes: * Fixed version history sometimes not showing for flatpak apps This release also updates translations: * Bokmål, Norwegian (Brage Fuglseth) * Catalan (Victor Dargallo) * Friulian (Fabio Tomat) * Greek, Modern (1453-) (Efstathios Iosifidis) * Persian (Danial Behzadi) * Romanian (Antonio Marin) * Serbian (Милош Поповић) Version 49.1 ~~~~~~~~~~~~ Released: 2025-10-10 This is a stable release with the following changes: * Fixed search for additional packages requested by other apps * Fixed update notifications, which could be missed sometimes This release also updates translations: * Bulgarian (twlvnn kraftwerk) * Catalan (Jordi Mas i Hernandez) * Chinese (Taiwan) (Cheng-Chia Tseng) * Esperanto (Kristjan SCHMIDT) * German (Tim Sabsch) * Hungarian (Balázs Meskó) * Interlingua (International Auxiliary Language Association) (Emilio Sepúlveda) * Occitan (post 1500) (Quentin PAGÈS) * Portuguese (Hugo Carvalho) * Uighur (Abduqadir Abliz) ======================================== gnome-system-monitor ======================================== New in 50.alpha - 3 January 2026 * Updated translations * Improved memory usage !210 (Zander Brown) * Better formatting for numeric values !209 (Zander Brown) * Process summary headers #55 !203 (Jithendiran) * Make application D-Bus activatable !195 (Balló György) * Add margins to UI (Edwin Ronald Copacandori) * Improved Open files !211 !213 (Zander Brown) * Only show total lables when required !212 (Zander Brown) * Disks view improvements !215 (Zander Brown) * Use Adwaita shortcuts dialog !199 (Óscar Fernández Díaz) * Improved actions handling !217 (Zander Brown) * Replace some deprecation functions call with latest API !221 (Zander Brown) * Simplify command line handling !220 (Zander Brown) New in 49.1 - 9 October 2025 * Updated translations * Changed component to desktop-application !204 (Daniel Rusek) * Code improvements !205 !206 (Zander Brown) * Memory leak fixes !207 (Zander Brown) * Use latest ubuntu for builds !208 (Zander Brown) ======================================== gnome-text-editor ======================================== # Text Editor 49.1 * Fix buffer invalidation when language changes * Fix UTF-8 handling in basename property getters * Improve dark theme styling to better match libadwaita * Build/CI updates * Translation updates ======================================== gnome-user-docs ======================================== 49.1 ==== * Updated translations: de (Christian Kirbach) eu (Asier Saratsua Garmendia) sr (Мирослав Николић) tr (Sabri Ünal) ======================================== gnome-user-share ======================================== This is gnome-user-share 48.2, a system for easy sharing of user files. Major changes since 48.1: - Fixed a bug where the config folder is inaccessible on new installations ======================================== gom ======================================== 0.5.5 ----- - Fix some gi-doc annotations - Build system fixes - Improve unit tests ======================================== gsettings-desktop-schemas ======================================== Major changes in 50.alpha ========================= - Translation updates - Added accessibility setting for reduced motion - Added setting to specify the first week day - Added setting to enable session saving/restoring - Added setting to configure disable-while-typing for keyboards - Added configuration options for stylus eraser buttons. Major changes in 49.1 ===================== - Translation updates ======================================== gtk ======================================== Overview of Changes in 4.21.4, 05-01-2026 ========================================= * GtkPopoverBin is a new widget to help with adding context menus (and other popovers) to widgets that don't have them * GtkSvg is a much more complete SVG renderer now * Gsk supports displacement maps (no public api yet) * GtkScrolledWindow scrollbar allocation has been fixed * A11y overlays are now properly positioned on MacOS * Bugs fixed: - #7675 Convert included symbolics from fills to strokes (Jakub Steiner) - #7774 macOS: Accesskit overlay rectangles misplaced when scale factor > 1 - #7793 Wacom tablet pressure stopped working on Wayland after GTK4 4.20.1 upgrade (Peter Hutterer) - #7817 In testsuite/gdk/colorstate.c include of udmabuf.h seems errrorneous (Matthias Clasen) - #7818 GTK 4.21.0 compilation failure on RedHat 8.10 (Matthias Clasen) - #7860 GtkLevelBar doesn't correctly update when value set when unmapped (Ignacy Kuchciński) - #7881 Backdrop blur leaves a transparent area along the edges (Benjamin Otte) - #7892 Shaper: canvas size not respected (Matthias Clasen) - #7893 GtkGLArea + backdrop filter leak (Benjamin Otte) - #7894 GL shader compilation error on Android/Mali (Benjamin Otte) - #7906 Gtk.Svg: Investigate proper viewbox handling - #7914 svg: ellipses w. cx ≠ cy render incorrectly (Matthias Clasen) - #7922 Offloading broken for Showtime on main: "Only textures supported (found GskOpacityNode)" (Benjamin Otte) - #7928 Incorrect CSS crashes Gtk (Matthias Clasen) - #7932 ICON in title bar has no margin (GTK4 aplications) (Matthias Clasen) - #7934 svg use problem (Matthias Clasen) - #7941 svg: Support viewBox on (Matthias Clasen) - #7951 document-save-as-symbolic looks wrong in main (Matthias Clasen) - #7962 issue for `` width with units (Matthias Clasen) - !7901 scrolledwindow: Fix scrollbars allocation for all known cases (Khalid Abu Shawarib) - !8990 Scale access kit node bounding box for retina displays (Arjan Molenaar) - !9047 revealer: Push opacity through GtkSnapshot (Hari Rana) - !9123 Add GtkPopoverBin - !9148 CODING-STYLE: Tiny braces examples improvements (Adrien Plazas) - !9189 gdk: clipboard: fix internal paste mime type resolution order (Dominique Martinet) - !9190 Gtk 4 21 3 (Matthias Clasen) - !9191 icon editor: Allow grouping (Matthias Clasen) - !9192 Fix typo in README.md: "cmompose" → "compose" (Azibom) - !9193 svg: Cosmetics (Matthias Clasen) - !9194 gdk: Cursors improvements (g.willems) - !9195 gdkevents: Fix relative_direction annotations (Maximiliano Sandoval) - !9197 docs: Fixes for RenderReplay and CompositeNode docstrings (Maximiliano Sandoval) - !9198 gtk: Fix target widget lookup for scroll events from "puck" devices (Carlos Garnacho) - !9200 Add GskRepeatNode::repeat and use it for CSS backdrop blur (Benjamin Otte) - !9201 icon editor: Fix path duplication (Matthias Clasen) - !9202 Revert "Merge branch 'wip/jimmac/gtk4-stroke-symbolics' into 'main'" - !9203 icon editor: Fix fill and stroke opacity (Matthias Clasen) - !9204 rendernodeparser: Don't clamp values (Benjamin Otte) - !9205 main: Allow avoiding only certain portals (Peter Eisenmann) - !9206 svg: Add traditional symbolic compat (Matthias Clasen) - !9207 svg: Improve the compat handling a bit (Matthias Clasen) - !9208 CI: restore -Werror with MSYS2 (Christoph Reiter) - !9209 CI: Move the Werror disabling where it belongs (Benjamin Otte) - !9210 Refactor opacity computation (Benjamin Otte) - !9211 reftests: Also include the widget property in the test (Benjamin Otte) - !9212 icon editor: Don't ursurp Ctrl-a (Matthias Clasen) - !9215 display/wayland: Gracefully handle dispose being called twice (Jonas Ådahl) - !9218 svg: Tweak serialize flags (Matthias Clasen) - !9219 nodeparser: Don't name nested "duplicates" (Benjamin Otte) - !9220 svg: Use the viewBox transformation specified in the spec (Florian "sp1rit"​) - !9221 gdkglcontext-win32-wgl.c: Fix running on 32-bit Windows (Chun-wei Fan) - !9223 revealer: Fix fade slide direction (Alice Mikhaylenko) - !9224 icon editor: Cosmetics - !9225 svg: Never try to render - !9226 Refactor offload code to have it deal with copy/paste nodes (Benjamin Otte) - !9227 ci: Disable the msys2-ucrt64 job (Matthias Clasen) - !9228 texthandle: Reposition when surface transform changes (Sergey Bugaev) - !9229 svg: Parse dash arrays more carefully (Matthias Clasen) - !9230 Make diffing code work with copy/paste nodes (Benjamin Otte) - !9231 image: Fix baseline rounding issues (Adrien Plazas) - !9232 svg: Handle bounding boxes better (Matthias Clasen) - !9233 inspector: Make copy/paste nodes display properly (Benjamin Otte) - !9234 CI: install sassc package for MSYS2 (Christoph Reiter) - !9235 Add GskIsolationNode (Benjamin Otte) - !9236 CI: add a MSYS2 job for clang64 (Christoph Reiter) - !9237 svg: Cosmetics (Matthias Clasen) - !9238 Misc svg parsing improvements (Matthias Clasen) - !9239 svg: Handle xlink:href (Matthias Clasen) - !9240 copypaste: Fix memleak (Benjamin Otte) - !9241 svg: Added support for `` & `` nodes (Florian "sp1rit"​, Matthias Clasen) - !9242 CI: enable ccache for the msvc job (Christoph Reiter) - !9243 svg: Fix a few copy/paste errors (Matthias Clasen) - !9245 svg: Fix a serialization oversight (Matthias Clasen) - !9246 offload: Don't skip component transfer nodes (Benjamin Otte) - !9248 inspector: Be more consistent (Matthias Clasen) - !9249 svg: Small refactoring (Matthias Clasen) - !9250 svg: Some parsing fixes (Matthias Clasen) - !9252 svg: Handle inkscapes keywords (Matthias Clasen) - !9253 svg: Better isolation (Matthias Clasen) - !9257 gradients: Check bouds for equality when diffing (Benjamin Otte) - !9258 svg: Parse paint order more completely (Matthias Clasen) - !9259 svg: Add assertions (Matthias Clasen) - !9260 svg: Support `` (Matthias Clasen) - !9261 a11y: Fix the accessible range max value (g.willems) - !9262 svg: Handle overflow (Matthias Clasen) - !9266 ci: Build Node Editor application (Florian "sp1rit"​) - !9267 svg: Support nested `` (Matthias Clasen) - !9271 svg: Move some code around (Matthias Clasen) - !9272 svg: Cosmetics (Matthias Clasen) - !9274 svg: Stop allocating too many values (Matthias Clasen) - !9275 widget: Fix baseline-center valign (Adrien Plazas) - !9276 svg: Rework href values a bit (Matthias Clasen) - !9277 svg: Fix the hue-rotate filter (Matthias Clasen) - !9279 snapshot: Rename variables (Benjamin Otte) - !9280 svg: Support `` (Benjamin Otte, Matthias Clasen) - !9281 Register GskRenderReplay as a GType - !9282 macos: Fix uninitialized variables when attaching vulkan context to a surface (Arjan Molenaar) - !9283 svg: Fix some issues with marker placement (Matthias Clasen) - !9285 testsuite: Small improvement (Matthias Clasen) - !9290 svg: Implement gradient templates (Matthias Clasen) - !9291 svg: support stroking for text (Matthias Clasen) - !9292 svg: Tweak sizing behavior (Matthias Clasen) - !9293 svg: Map Gsk.Repeat onto the correct spread method value (Florian "sp1rit"​) - !9294 gsk: Handle zero-length paths without crashing (Matthias Clasen) - !9295 gtk-demo: Use stroking in the drawing area demo (Benjamin Otte, Matthias Clasen) - !9296 svg: Fix handling of empty filters (Matthias Clasen) - !9297 svg-compare: Add some comfort (Matthias Clasen) - !9298 svg: Implement from-by animation (Matthias Clasen) - !9299 path: Allow to preserve structure (Matthias Clasen) - !9300 svg: Add svg_value_distance (Matthias Clasen) - !9301 svg: Fix hueRotate filters (Matthias Clasen) - !9302 gsk: Drop a leftover typedef (Matthias Clasen) - !9303 svg: Fix bounding boxes for images (Matthias Clasen) - !9304 Implement svgs arithmetic compositing (Matthias Clasen) - !9306 icon editor: Fix example 6 (Matthias Clasen) - !9307 Cosmetic: Typo fix (Matthias Clasen) - !9308 svg-compare: Fix a crash in argument parsing (Matthias Clasen) - !9309 svg: Allow embedding fonts (Matthias Clasen) - !9310 svg: limit rendering up to an upper bound (Florian "sp1rit"​) - !9311 macos: Fix crash due to drag-n-drop on macOS 26 (Arjan Molenaar) - !9312 svg: Support symbols (Matthias Clasen) - !9313 gtk: Fix since annotation (Bilal Elmoussaoui) - !9316 columnview: Fix configuring an adjustment (Sergey Bugaev) - !9317 droptarget: Implement reset (Sergey Bugaev) - !9318 icon editor: Make it work again (Matthias Clasen) - !9319 svg: Implement non-scaling strokes (Matthias Clasen) - !9323 svg: Clean up some parsing (Matthias Clasen) - !9324 Fix up included icons (Matthias Clasen) - !9325 Fix up feImage a bit (Matthias Clasen) - !9327 svg: Cache the render node (Matthias Clasen) - !9330 svg: Don't accept empty strings as numbers (Matthias Clasen) - !9331 svg: Reorganize shape attributes (Matthias Clasen) * Translation updates: - Chinese (Taiwan) (Cheng-Chia Tseng) - Georgian (Ekaterine Papava) - Indonesian (Andika Triwidada) - Occitan (post 1500) (Quentin PAGÈS) - Russian (Danil Gashigullin) - Slovenian (Martin) - Uzbek (Baxrom Raxmatov) Overview of Changes in 4.21.3, 24-11-2025 ========================================= This is quick follow-up release to address some memory leaks and other issues with the new backdrop-filter functionality. * Bugs fixed: - #7880 Backdrop filter does not correctly interact with opacity (Benjamin Otte) - #7882 Backdrop filter does not correctly behave with scale (Benjamin Otte) - #7883 gtk 4.20.3 fails to build on 32-bit architectures (Benjamin Otte) - #7885 Backdrop filter does not work with offloaded content (Benjamin Otte) - #7888 Dynamic cursors are incorrectly sized in mixed-DPI environment (Matthias Clasen) - #7889 Backdrop filter doesn't work with filter: opacity() (Benjamin Otte) * Changes: - !9168 svg: Support the paint-order attribute (Matthias Clasen) - !9169 icon editor: Use gsk_path_equal (Matthias Clasen) - !9170 vulkan: Don't treat Vulkan objects as pointers or 32bit breaks (Benjamin Otte) - !9172 rendernodeparser: Remove outdated warning (Benjamin Otte) - !9173 filechooser: Drop unused defines (Guido Günther) - !9174 icon editor: Use GtkSvg for storage (Matthias Clasen) - !9175 Split nodes on 'b' (Matthias Clasen) - !9176 gtk-demo: Use blur-overlay in a demo (Matthias Clasen) - !9177 gsk: Avoid a double-free (Matthias Clasen) - !9179 icon editor: Drop a property (Matthias Clasen) - !9181 icon editor: Allow setting opacity (Matthias Clasen) - !9182 For main (Matthias Clasen) - !9183 icon editor: Allow setting miter limit (Matthias Clasen) - !9186 icon editor: Rename PathEditor to ShapeEditor (Matthias Clasen) - !9187 gsk: Add GskRenderNode.copy_mode (Benjamin Otte) - !9188 icon editor: Rename PathEditor to ShapeEditor (Matthias Clasen) * Translation updates: - Slovenian (Martin) - Turkish (Sabri Ünal) Overview of Changes in 4.21.2, 20-11-2025 ========================================= * GSK: - GskRenderNodeReplay is a new API that can assist with manipulating render node trees in various ways - The new copy and paste node types allow referring to the 'background' during rendering, which enables new features such as backdrop-filter - The new composite node type allows to combine rendering with the 'background' in more interesting ways than just rendering it on top - Radial gradients can be defined with non-concentric circles * GtkSvg - , and are now supported - Gradients are fully supported, including non-concentric radial gradients and reflecting as a spread method * CSS: - A reduced-motion setting has been added, and is exposed to CSS via media queries - the backdrop-filter property is supported * GtkEmojiChooser: - The Emoji chooser has been updated for CLDR 48 * GtkFontDialog: - The language filtering has been improved * Bugs fixed: - GNOME/libadwaita#892 Adw.PreferencesDialog focus move (Alice Mikhaylenko) - #4062 gtk_media_file_set_input_stream assertion failure when using GStreamer backend - #7820 Follow-up on loose ends in the state saving support - #7857 Feature: Add Win32 impl for gtk_file_launcher_open_containing_folder() (Sergey Bugaev) - #7862 icon-editor: SVG not viewable in firefox (Matthias Clasen) - #7866 Vulkan: Validation: vkQueuePresentKHR(): PRESENT_AFTER_WRITE hazard detected. (Benjamin Otte) - #7867 ModelButton: Increasingly long hang when switching AdwMultiLayoutView (Emmanuele Bassi) - #7872 modelbutton: Accels not accessible in non-English (Adrien Plazas) - #7877 Have a toggle for reduce motion in inspector (Emmanuele Bassi) - #7878 CSS tab in inspector doesn't follow reduce-motion (Emmanuele Bassi) - https://gitlab.freedesktop.org/mesa/mesa/-/issues/ * Changes: - !7186 media: Add a bin to handle input streams (Matthias Clasen) - !8826 fontchooser: Add a search bar to filter the language list (Sudip Shil) - !9055 API: Add GskRenderNodeReplay (Benjamin Otte) - !9096 image tool: Some refinement (Matthias Clasen) - !9097 svg: Support the remaining shapes (Matthias Clasen) - !9099 Tie up state saving loose ends (Adrian Vovk) - !9103 icon editor: Plug a memory leak (Matthias Clasen) - !9105 svg: Make fx,fy default to cx,cy (Matthias Clasen) - !9106 svg: Take dependencies into account (Matthias Clasen) - !9107 inspector: css-editor: Replace disable button with a switch (Jules Maselbas) - !9108 svg: fix printf format for size_t variables (g.willems) - !9109 gtkfilechoosercell: Actually add long pressure gesture (Marco Trevisan (Treviño)) - !9110 pathbar: Plug a memory leak (Matthias Clasen) - !9111 Fix touch dropdown selection (!8041) properly (Florian "sp1rit"​) - !9112 Cosmetics: Add section markers (Matthias Clasen) - !9114 svg: Allow keyPoints to be outside of [0, 1] (Matthias Clasen) - !9115 Rework radial gradients (Matthias Clasen) - !9116 svg: fix Windows builds (g.willems) - !9117 win32: Add a facility to open containing folder (Sergey Bugaev) - !9118 css: Fix some properties' inheritance (Adrien Plazas) - !9121 gsk: Don't leak ccs_texture_caches (Doug Nazar) - !9122 colorstate: Add a static assert (Benjamin Otte) - !9124 Merge the theme assets and rework the generation script (Berk Elyesa Yıldırım) - !9125 Split rendernodes into their own files (Benjamin Otte) - !9126 Add copy and paste rendernodes (Benjamin Otte) - !9127 ci: use system meson for android - !9128 vulkan: Rework swapchain present implementation (Benjamin Otte) - !9129 doc: Fix GTK_ACCESSIBLE_PROPERTY_HAS_POPUP (Adrien Plazas) - !9130 gsk: Add gdk_color_is_srgb() (Benjamin Otte) - !9131 svg: Collect test output (Matthias Clasen) - !9132 svg: Fix animate transitions with delay (Matthias Clasen) - !9134 Reset ModelButton accessible relations (Emmanuele Bassi) - !9135 Support repeating conic gradients (Matthias Clasen) - !9136 widget: Sanity-check ancestor type (Sergey Bugaev) - !9137 a11y: When setting an accessible relation, clear out previous reverse ones (Lukáš Tyrychtr) - !9139 gsk: Typo fix (Matthias Clasen) - !9140 Fix repeating conic gradients (Matthias Clasen) - !9143 icon editor: Get rid of AnimationType (Matthias Clasen) - !9144 Revert "gsk: Fix the conic gradient implementation" (Benjamin Otte) - !9145 gtk: Document GTK_DEBUG_SESSION (Maximiliano Sandoval) - !9146 modelbutton: Use accessible keyshortcuts labels (Adrien Plazas) - !9149 svg: Turn simple NULL returns on errors into return_if_fail() (Benjamin Otte) - !9151 icon editor: Allow more shapes (Matthias Clasen) - !9152 emoji: Update data to CLDR 48 (Jeremy Bícha) - !9153 Some more rendernode splitoffs (Matthias Clasen) - !9156 gsk: Change the linear gradient shader api (Matthias Clasen) - !9157 Some icon editor fixes (Matthias Clasen) - !9158 icon-editor: fix msys2 linker failure (g.willems) - !9159 API: Add GskCompositeNode (Benjamin Otte) - !9160 testsuite: Add an "opaque" run to compare-render (Benjamin Otte) - !9161 node editor: Unset GtkApplication:save-state (Matthias Clasen) - !9162 cssprovider: Actually reload when prefers-reduced-motion changes (Alice Mikhaylenko) * Translation updates: - Serbian (Милош Поповић) - Slovenian (Martin) Overview of Changes in 4.21.1, 29-10-2025 ========================================= * GtkSvg is a new paintable implementation that parses a subset of SVG, including animations. * Bugs fixed: - #7414 Active state is not reset when releasing click outside of popup but inside main window (Carlos Garnacho) - #7671 GL fallback for YCbCr formats on Vulkan is broken (Benjamin Otte) - #7676 `GSK_RENDERER=ngl` makes MacBook Pro's with Dual GPU's use the most power-hungry one by default - #7761 MacOS: \ is mapped differently based on gtk_application_set_accels_for_action call location - #7795 Change in scrolling behavior (Carlos Garnacho, lbaudin) - #7801 Unaligned access in gdk/gdkmemoryformat.c causes testsuite crashes on SPARC (Gregor Riepl) - #7802 [4.21] CSS-defined icons like GtkSpinner are only shown when present in the gtk icon theme (Jakub Steiner) - #7813 Shaper: Cannot parse SVG (Matthias Clasen) - #7823 svg not scaled with display scale since switch to librsvg (Matthias Clasen) - #7831 Crash with "CSS Blend Modes" demo (Urtsi Santsi) - #7841 Suspected typo "symbolc" in docs/reference/gtk/icon-format.md (Matthias Clasen) - #7848 GTK 4.18: Default GdkDisplay gets unreferenced when offscreen rendering via secondary display, causing crash (Benjamin Otte) * Changes: - !8041 dropdown: Allow selecting items via touchscreen? (Florian "sp1rit"​) - !9006 path paintable: Be more relaxed about attaching (Matthias Clasen) - !9007 gtk-demo: Fix loading of gpa files (Matthias Clasen) - !9009 icon editor: examples (Jakub Steiner) - !9010 gtk/symbolicpaintable: Fix a leak (Khalid Abu Shawarib) - !9011 macos(docs): update documentation on graphics switching and keyboard shortcuts (Arjan Molenaar) - !9013 path paintable: Add repeat count (Matthias Clasen) - !9015 icon editor: Visualize transition-easing too (Matthias Clasen) - !9018 icon editor: Preserve shape information better (Matthias Clasen) - !9019 icon editor: Preserve shape information better (René de Hesselle, Matthias Clasen) - !9023 dnd: Mark gtk_drop_target_async_get_formats() return value as `transfer none` - !9026 revealer: Add fade-slide values (Hari Rana) - !9027 revealer: Minor refactor (Hari Rana) - !9029 colorchooserdialog: Make scrollable to fit narrow screens (Stefan Hansson) - !9030 Mark free_to_* methods as transfer full (Sergey Bugaev) - !9032 Plug a minor memory leak (Matthias Clasen) - !9033 docs: fix gi-docgen errors in 4.20.2 (oreo639) - !9034 path paintable: Fix an oversight (Matthias Clasen) - !9035 path paintable: Fix an oversight (Matthias Clasen) - !9038 path paintable: Drop general animations (Matthias Clasen) - !9039 icon editor: Drop the state check (Matthias Clasen) - !9041 docs: Update GtkSettings docs (Matthias Clasen) - !9048 gtkapplication-wayland: Iterate inhibitors safely while freeing (Alessandro Astone) - !9049 icon editor: Some UI tweaks (Matthias Clasen) - !9051 Make gdk_rgba_print public (Matthias Clasen) - !9053 gtk: docs: Fix docs for session restore signals (Maximiliano Sandoval) - !9054 gsk: Plug a memory leak (Matthias Clasen) - !9056 Fix various Vulkan YUV handling issues (Benjamin Otte) - !9057 Add an SVG renderer (Matthias Clasen) - !9059 x11: Restore the logic for tracking compositor presence (Sergey Bugaev) - !9060 gdk: Remove GDK_MEMORY_U16 depth (Benjamin Otte) - !9061 docs: Update GDK_GL_DISABLE docs to match implementation (Benjamin Otte) - !9062 a11y: Centralize the logic determining whether an accessible is a password input (Lukáš Tyrychtr, Matthias Clasen) - !9063 icon editor: Add export (Matthias Clasen) - !9064 svg: Fix max state tracking (Matthias Clasen) - !9065 svg: Fix max state tracking (Matthias Clasen) - !9066 node-editor: Fix dark mode toggle (Matthias Clasen) - !9069 svg: Resolve symbolic colors consistently (Matthias Clasen) - !9070 tests: Robustness fix (Matthias Clasen) - !9071 Add assertions to quiet the compiler (Matthias Clasen) - !9073 svg: Parse style (Matthias Clasen) - !9074 svg: Drop an unused argument (Matthias Clasen) - !9075 vulkan: Fix YUYV values when uploading images (Benjamin Otte) - !9077 Add setting and CSS media query for reduced motion (Emmanuele Bassi) - !9078 icon editor: misc fixes (Juan Pablo Ugarte) - !9080 tools: Cosmetics (Matthias Clasen) - !9081 svg: Small cleanup (Matthias Clasen) - !9082 Make it possible to test rendering errors (Matthias Clasen) - !9084 docs: Remove gtk4-icon-browser from Tools and Demos (Chris Mayo) - !9088 Rename GradientUnits to CoordUnits - !9089 Only build CUPS backend when enabled (Dan Yeaw) - !9090 node-editor: syntax-hilight comments * Translation updates: - Basque (Asier Saratsua Garmendia) - English (United Kingdom) (Bruce Cowan) - Slovenian (Martin) - Thai (Aefgh Threenine) - Uighur (Abduqadir Abliz) Overview of Changes in 4.21.0, 29-09-2025 ========================================= * Symbolic icons can now be stateful and animated. A new CSS property, -gtk-icon-weight, can be used to modify the weight of strokes. The extensions to the icon format are described here: https://docs.gtk.org/gtk4/icon-format.html * GTK includes a new org.gtk.Shaper demo that serves as an editor for the new symbolic icon format. * All included icons have been converted to use strokes * The Wayland backend relies on the portal for settings * The Wayland backend implements the experimental xx-session-management protocol. To enable it, use GDK_DEBUG=session-mgmt * GtkApplication has gained support for state saving. To try this out you need to use gnome-session main and enable the session management protocol * A GtkAccessibleHypertext interface lets accessibles provide information about embedded links * GtkAccessibleText can set caret and selection positions * Accessibility for dropdowns, list widgets, switches and entries has been improved * GtkFileLauncher can provide writable access to files when used in a flatpak * Some enumerations have had their introspected value names corrected: GdkPaintableFlags, GdkFullscreenMode, GskPathForeachFlags, GtkConstraintVflParserError This is an API change for language bindings * GLib 2.84 is required now * Bugs fixed: - #5712 Context menus in KGX and g-t-e fail to activate actions on X11 - #7309 Use the new accessible "switch" role instead of toggle button / checkbox for Gtk switches (Matthias Clasen) - #7602 Problems with GtkBuilder releasing references (Matthias Clasen) - #7727 Stop using gsettings as fallback in the wayland settings code (Matthias Clasen) - #7739 a11y: Add caret and selection setters to GtkAccessibleText (Matthias Clasen) - #7755 Only the first text-shadow value gets applied when there are multiple (regression) (Matthias Clasen) - #7757 Make sense of AtkHyperlink (Matthias Clasen) - #7766 gtk4-icon-editor does not seem to run with lang that set another decimal symbol - #7767 macOS: Main menu items with "action" and "target" set do not work (Thomas Holder) - #7777 shaper: Add separate alpha slider (Matthias Clasen) * Changes: - !6462 gdk/x11: Track enter/leave events on grab surface while button is held (gldrk) - !8502 State saving support (Matthias Clasen, Carlos Garnacho, Adrian Vovk) - !8687 builder: Come clean about floating references (Matthias Clasen) - !8892 Add GtkPathPaintable (Matthias Clasen) - !8914 accessibletext: Add setters (Matthias Clasen) - !8925 Add threading documentation (Matthias Clasen) - !8928 surface: Mark region as nullable in set_input_region (João Pereira) - !8930 settings: Call g_value_unset() after _gtk_settings_parse_convert() (Takao Fujiwara) - !8931 wayland: Invert flipped transforms (Robert Mader) - !8933 Fix upright text carets (Matthias Clasen) - !8935 gsk: Drop an unused private flag (Matthias Clasen) - !8936 Some small gsk fixes (Matthias Clasen) - !8937 text: Apply all text shadows (Matthias Clasen) - !8945 symbolics: use strokes (Jakub Steiner, Matthias Clasen) - !8946 wayland: Avoid a cursor size of zero (Matthias Clasen) - !8947 Fix a broken cast (Matthias Clasen) - !8948 build: Require GLib 2.84 (Matthias Clasen) - !8949 ci: Remove "allow_failure" in MacOS build (sid) - !8950 a11y atspi: No more report error for AT-SPI Text SetSelection (Michael Weghorn) - !8952 Fix memory leak with GtkPathBar (evan-razzaque) - !8953 Some follow-up things for animated icons (Matthias Clasen) - !8954 path paintable: Respect origin for attachments (Matthias Clasen) - !8955 docs: Typo fix (tytan652) - !8956 im context: add invalid-composition signal (Cristian Iacovlev) - !8957 path paintable: Rename the blur transition (Matthias Clasen) - !8958 Add prefix g-i annotation for some enums (VBB) - !8959 icon-editor: Ensure dot decimal point for float format (tytan652) - !8960 path paintable: Be more careful (Matthias Clasen) - !8961 gtk-demo: Refresh the images demo (Matthias Clasen) - !8962 Set the GTK_ACCESSIBLE_PROPERTY_VALUE_TEXT in GtkDropDown (Matthias Clasen) - !8963 entry: Improve accessiblity (Matthias Clasen) - !8964 Listview accessibility - !8967 Portal check: activate the service if needed (Adrian Vovk) - !8968 application: Document state vfuncs (Maximiliano Sandoval) - !8969 application: Fix Since tags (Matthias Clasen) - !8971 path paintable: Reduce weight variation (Matthias Clasen) - !8972 gtkapplication-wayland: simplify chainup (Georges Basile Stavracas Neto) - !8973 Tweak stroke width range again (Matthias Clasen) - !8974 gdk: Fix a string leak (Alice Mikhaylenko) - !8975 icons: Stroke only stock (Jakub Steiner) - !8976 picture: Allow symbolic paintables (Matthias Clasen) - !8977 wip: Reduce the internal icontheme (Matthias Clasen) - !8979 icon editor: Don't use a tempfile (Matthias Clasen) - !8981 file launcher: Make writable work (Matthias Clasen) - !8982 filterlistmodel: Fix position when emitting items-changed for item watches (Kévin Commaille) - !8984 icon editor: Allow setting initial state (Matthias Clasen) - !8985 icon editor: Durations are now in ms (Matthias Clasen) - !8987 gdk: Use longer timeout to reach to portals (Valentin David) - !8988 css: Add an icon weight property (Matthias Clasen) - !8989 Update expected errors for css tests (Matthias Clasen) - !8991 menutracker: Add some assertions (Matthias Clasen) * Translation updates: - Catalan (Jordi Mas i Hernandez) - Chinese (China) (luming zh) - Czech (Daniel Rusek) - Danish (Ask Hjorth Larsen) - Esperanto (Kristjan SCHMIDT) - Galician (Francisco Diéguez Souto) - Georgian (Ekaterine Papava) - Lithuanian (Aurimas Černius) - Persian (Danial Behzadi) - Portuguese (Hugo Carvalho) - Portuguese (Brazil) (Juliano de Souza Camargo) - Romanian (Antonio Marin) - Slovenian (Martin) - Spanish (Daniel Mustieles) - Turkish (Sabri Ünal) - Ukrainian (Yuri Chornoivan) ======================================== gtk+-3 ======================================== Overview of Changes in GTK+ 3.24.51, 29-09-2025 =============================================== * Wayland: - Force window titles to be valid utf8 - Flush tablet events when neccessary * X11: - Avoid a use-after-free with threads * Windows: - Avoid min/max buttons for dialogs * Images: - Replace a few calls to gdk_pixbuf_get_pixels with read_pixels to avoid thread-safety issues * GL: - Try harder to keep the GL context current * Input: - Make compose file parsing more robust * Translation updates: Catalan Esperanto Persian ======================================== gtk-doc ======================================== GTK-Doc 1.35.1 (Oct 3 2025) ============== Set up CI to upload tarballs to download.gnome.org (work by Jordan Petridis) GTK-Doc 1.35.0 (Oct 1 2025) ============== Small maintenance tasks Meson: small update Translation updates ======================================== gtkmm ======================================== 4.21.2 (unstable) 2026-01-08 Gsk: * Add enum PorterDuff and Isolation. (Kjell Ahlstedt) Gtk: * Application: Call init_gtkmm_internals() in more constructors. (Kjell Ahlstedt) Issue #167 (Jean-Yves Lefort) * Window: Add set/get_remove_on_hide(). (Kjell Ahlstedt) Issue #166 (Jean-Yves Lefort) * Picture: Add set/get/property_isolate_contents(). * PopoverBin: New widget. * Snapshot: Add push_isolation() and push_composite(). * Svg: Add enum Svg::Features, load_from_resource(), set/get/property_features(), property_resource(). Remove the Svg(const std::string& resource) constructor. Class Svg has not yet been included in a stable gtkmm release. (Kjell Ahlstedt) Documentation: * Gtk::GestureSingle, GestureClick: Update class descriptions. (Kjell Ahlstedt) Build: * Require gtk4 >= 4.21.4 (Kjell Ahlstedt) 4.21.1 (unstable) 2025-11-26 Gtk: * Application: Add property_autosave_interval(). * Snapshot: Add push_blend(), push_mask(), push_copy(), append_scaled_texture(), append_paste(). * Namespace Accelerator: Add get_accessible_label(). (Kjell Ahlstedt) Build: * Require gtk4 >= 4.21.2 (Kjell Ahlstedt) 4.21.0 (unstable) 2025-11-14 Gtk: * Application: Add save(), forget(), property_support_save(), signal_restore_window(), signal_save_state(), signal_restore_state(). * ApplicationWindow: Add signal_save_state(). * CssProvider: Add property_prefers_reduced_motion(). * Settings: Add property_gtk_interface_reduced_motion(). * SymbolicPaintable: Add snapshot_with_weight(). * New classes: AccessibleHyperlink, AccessibleHypertext, Svg, SvgErrorExtra. * New enums: ReducedMotion, RestoreReason, SvgError. (Kjell Ahlstedt) Build: * Require gtk4 >= 4.21.1 (Kjell Ahlstedt) 4.20.0 (stable) 2025-09-19 Gdk: * PixbufAnimation, PixbufAnimationIter: Deprecate these classes. GdkPixbufAnimation and GdkPixbufAnimationIter are deprecated since gdk-pixbuf 2.44. * PixbufLoader: Deprecate get_animation(). (Kjell Ahlstedt) ======================================== libadwaita ======================================== ================= Version 1.9.alpha ================= - Add AdwNoneAnimationTarget - Add AdwSidebar - Add AdwViewSwitcherSidebar - Consistently do null checks for non-nullable strings - Adaptive preview - Fix a leak when taking screenshots - Tint the device bezel to match the other styles - AdwAboutDialog/Window - Add a context menu to link rows - Fix an accessibility warning - AdwActionRow - Fix subtitle comparison - AdwAlert/MessageDialog - Fix extra padding with hidden extra child - Port to GPtrArray - AdwApplication - Deprecate style-dark.css, style-hc.css and style-hc-dark.css - AdwWindow/AdwApplicationWindow - Add :item-type and :n-items to :dialogs - AdwBottomSheet - Use crossfade animations when possible for reduced motion - AdwBreakpointBin - Port to GPtrArray - AdwComboRow - Improve accessibility - Update selection when the expression changes - AdwDialog - Use crossfade animations when possible for reduced motion - AdwEntryRow - Fix title ellipsizing too late - Activate the row action when pressing enter - AdwEnumListModel - Add :item-type and :n-items - AdwHeaderBar - Fix title buttons on macOS - Report back button context menu to screen reader - AdwInlineViewSwitcher - Limit badges to 999+ to match AdwViewSwitcher - Make badges accessible - AdwMultiLayoutView - Port to GPtrArray - AdwNavigationView - Use crossfade animations when possible for reduced motion - Fix a build warning on some platforms - Fix a crash - Make :navigation-stack more robust - Add :item-type and :n-items :navigation-stack - AdwPreferencesDialog - Allow to go from the first search result to header bar by pressing up - Implement search activation - AdwPreferencesGroup - Fix title and description getters - Fix accessible label - AdwPreferencesPage - Fix description getter - Warn when trying to add incompatible children - Fix a typo in the add_child() critical - AdwShortcutLabel - Make accessible - Flip arrows for RTL - Add focused styles - AdwShortcutsDialog - Allow to go from the first search result to header bar by pressing up - Implement search activation - Fix removing sections when the model changes - Fix an accessibility warning - AdwShortcutsSection - Add :item-type and :n-items - AdwStatusPage - Implement focus() and grab_focus() - AdwTabBar/AdwTabOverview - Improve drag-n-drop docs - Fix ::extra-drag-drop annotations - Fix context menu alignment on RTL - Report context menu to screen reader - AdwTabOverview - Use crossfade animation for reduced motion - Implement search activation - AdwTabView - Implement GtkSectionModel for :pages - Add :item-type and :n-items to :pages - AdwToggleGroup - Add a missing tooltip test - Add AdwToggle:description - Add :item-type and :n-items to :toggles - AdwViewStack - Add section API to AdwViewStackPage, expose sections via :pages - Add :item-type and :n-items to :pages - Fix accessible labels with underlines - Port to GPtrArray - AdwViewSwitcher - Make badges accessible - Build - Fix gen-public-types.py encoding - Depend on GTK 4.21.1 and GLib 2.84.0 - Demo - Port to AdwSidebar, reorganize the sidebar and add icons - Drop the color scheme toggle - Add page search - Improve the view switcher demo - Increase default window size - Update metainfo - Docs - Replace deprecated GApplication flag - Mention sidebars on the adaptive layouts page - Consistently link enum values and constants - Fix shortcuts screenshots in widget gallery in dark mode - Fix banner-suggested screenshot - Improve wrap box screenshots - Stylesheet - Support prefers-reduced-motion media query - Merge regular and high contrast styles via media queries - Translation updates - Dutch - Greek - Japanese - Kabyle - Norwegian Nynorsk - Occitan - Portuguese - Russian - Serbian - Serbian (Latin) - Slovenian - Turkish - Uighur - Uzbek (Latin) ======================================== libdex ======================================== libdex 1.1.alpha ================ This is an alpha release for the upcoming GNOME 50 * New D-Bus support with DexDBusInterfaceSkeleton for dispatching method invocations in fibers, allowing async/await in D-Bus handlers * New dex_bus_own_name_on_connection() for managing bus name ownership * New DexFutureListModel for integrating futures with GListModel * Python asyncio integration allowing Dex.Future to be used with async/await in Python code * New runtime version query API: dex_get_major_version(), dex_get_minor_version(), and dex_get_micro_version() * New GIO wrappers: dex_file_create(), dex_data_input_stream_read_line(), dex_find_program_in_path(), dex_mkdir_with_parents(), and g_unlink() * Improved Visual Studio and clang-cl build support with C11 atomic support * Thread pool scheduler now falls back to POSIX backend for AIO when necessary * io_uring context reuse improvements * Extensive documentation improvements with gi-docgen annotations * Various bug fixes and memory leak fixes ======================================== libgsf ======================================== libgsf 1.14.55 Morten: * Reduce stack usage. [#43] * Documentation fixes. -------------------------------------------------------------------------- libgsf 1.14.54 Morten: * Fix ABR is msole properties code. [#41] * Up thumbnailer's memory limit to 512MB. [#42] Zander Brown: * Various build fixes. -------------------------------------------------------------------------- ======================================== libgweather ======================================== GWeather 4.5.0 (development) - Move the locations database to gweather-locations [!364] - Fix build on Solaris [!326] - Update METAR endpoint [!370] - Remove support for libsoup-2.0 [!367] - Documentation updates - Translation updates ======================================== libmanette-0.2 ======================================== ============== Version 0.2.13 ============== - Update controller mappings ======================================== libnotify ======================================== New in 0.8.8 ============ This release contains various fixes to have better handing for icons, addressing issues due to recent changes, as well with improvements and new features for notify-send. Added a fully-functional notify-send test suite, thus we encourage distributors to run the tests through meson. * notification-hints: Define notification hints with constant values [Marco] * notification: Use better URI parsing for icons [Marco] * notification: Improve property changes notifications [Marco] * notification: Simplify the logic to support the legacy hints names [Marco] * notify-send: Support parsing hex byte hints [Marco] * notification: Use the icon as icon-name, not as app-icon [Marco] * notify-send: Set both the image path and the app-icon * notify-send: Add an option to override the app-icon on notification [Marco] * notification: Replace actions added with an existing name [Marco] * notification: Fail on invalid action invocation [Marco] * notify-send: Add support to write the notification ID to a FD [Marco] * notify-send: Add support to write the activated action to a FD [Marco] * notify-send: Add support to write the activation token to a FD [Marco] * notification: Improve reading images when inside a portal [Marco] * tests: Add exensive notify-send test suite and coverage check [Marco] * Bugs fixed: - #49 The closed signal only fires once [Marco] - #55 Icon handling requires call to notify_get_server_info [Marco] - #61 failed to build libnotify 0.8.7 on macOS [Marco] New in 0.8.7 ============ This is release contains bugfixes when used within a snap and a new API to get a Gio.AppLaunchContext that can be used to launch applications with an action activation token. * ci: Enable tests again (adding new dependencies) [Marco] * tests: Run non-interactive tests in headless mode [Marco] * test-image: Use a local asset instead of relying on invalid icon theme [Marco] * notification: Add ability to get a GAppLaunchContext on activation [Marco] * notify: Ignore the snap UUID to compute the snap application [Marco] * notify: Support snap application that contains a dot in their name [Marco] * notification: Allow using a desktop file as is from a snap if readable [Marco] * notification: Do not use the desktop file logic for icons [Marco] * notification: Remove app name warning in sandboxes [Maximiliano] Contributors: Marco Trevisan, Maximiliano Sandoval ======================================== libpanel ======================================== libpanel 1.10.3 =============== * Improve save-changes dialog to always show discard all option * Translation updates ======================================== librsvg ======================================== Version 2.61.3 ============== librsvg crate version 2.61.3 librsvg-rebind crate version 0.2.1 - #1196 - Reject file: URIs or UNC paths with hostnames in href references, to avoid NTLM hash leaks on Windows. - #1201 - Make loading limits work with libxml2 2.15.0 and later. - #1191 - Make the rsvg-convert test suite not depend on having fonts installed in the system. This helps build systems which otherwise had to disable some of the PDF tests. - rsvg-convert: Fix build when PDF support is disabled in Cairo (Kleis Auke Wolthuizen). Version 2.61.2 ============== librsvg crate version 2.61.2 librsvg-rebind crate version 0.2.1 - #1186 - Disable compilation of the gdk-pixbuf loader module by default. It used to be that if meson detected that gdk-pixbuf-query-loaders(1) is available, then it would build the gdk-pixbuf loader module. Now that GNOME has switched to glycin loaders for images, which are sandboxed, gdk-pixbuf loaders are deprecated. You can still compile the gdk-pixbuf loader in librsvg by using the "-Dpixbuf-loader=enabled" option when invoking meson. - #1205 - Reduce stack usage with deeply nested layers. This should be of interest especially for users of Alpine or musl-libc. Librsvg should hopefully no longer require users of musl-libc to increase the stack size for it; please tell the maintainer if that is the case! - #1187 - "rsvg-convert --version" now also outputs the versions of the C library dependencies being used at runtime. - #1190 - The build process now checks the version of cargo-cbuild, as it needs to be coordinated with the minimum supported Rust version. The minimum cargo-cbuild for this release is 0.10.10. - Compiling rsvg-convert is now optional, via the "-Drsvg-convert=disabled" option for Meson (Thomas Devoogdt). - Update Rust dependencies. ======================================== libshumate ======================================== =================== Version 1.6.alpha =================== - Use 'find_program' instead of 'dependency' for vapigen - Add functionallity for zoom-on-double-click - Implement global-state expressions for vector stylesheets - Add 'changed' signal for viewport (consolidating latitude, longitude, zoom level) - Fix some memory leaks - Remove option to build without the vector renderer ======================================== localsearch ======================================== NEW in 3.11.alpha - 2026-01-05 ============================== * Default configuration change, the user home directory will now be indexed recursively as a whole, instead of XDG folders * Major change in handling of removable devices. When enabled, removable devices will get a `.localsearch3` folder with a self-contained database for the removable device indexed data, instead of being included in the main database in the user home folder. The setting default remains off. * Improved handling of indexed folder changes found on restart * Improved handling of indexing cancellation in deleted folders * Improved handling of BTRFS filesystems * Dropped libexif dependency, EXIF data is now extracted through gexiv2 * Dropped libpiptcdata dependency, IPTC data is now extracted through gexiv2 * Consistency improvements to extracted metadata * Fixes to SHSTK handling in the sandboxed process * Further extended test coverage Translations: ca, el, fur, id, oc, sr, sr@latin NEW in 3.10.1 - 2025-10-13 ========================== * Improvements to the handling of corrupted databases * Avoid session startup issues if database initialization takes long * Handle compressed Abiword documents * Memory usage improvements indexing WEBP files * Support gexiv2 >= 0.16 * Unify metadata extraction deadline mechanisms * Test suite improvements Translations: bg, ca, es, kab, pt, ro, tr, ug ======================================== loupe ======================================== ## 50.alpha (2026-01-02) ### Added - Add a specific error message when loading the image file fails. Usually when the file does not exists or there are no rights to access the file. ### Fixed - Fixed image navigation overlay controls conflicting with always visible scrollbars. - Showing wrong mime type in error message if the file ending for an image is wrong. ### Changed - Don't allow endless zoom out - Only allow 4 integer digits and 2 decimal digits. That's what's actually respected by the input at max. ## 49.2 (2026-01-01) ### Fixed - Check if the is-hidden property is available before reading it. - Considerably increased speed for listing other images in folders, especially for remote locations. This allows for switiching to other images to become available much quicker. - Don't jump to best-fit zoom level during pinch zoom gesture when scroolbars get displayed. This has only been an issue with the disability option "always show scrollbars." - Fix panics, probably occuring when using an action like 'copy', and then closing the window. The crash causes all other windows to close. #553 - Force gufo-exif version 0.3.1 to fix the missing beginning of user comments. - The creation date for images that don't provide a timezone was displayed as if the recorded date and time was in UTC. - Zooming in would not work via the zoom menu, if the resulting zoom state would still fit the image inside the window. ### Changed - Track the location in source code of errors trying to get the root window. ## 49.1 (2025-10-21) ### Fixed - The keyboard shortcut for 300 % (Ctrl + 3, 3) now zooms to 300% instead of 200 %. - editing: Don't enable option to trash and replace if moving to trash is not supported. ======================================== manuals ======================================== Manuals 50.alpha ================ * Application renamed from app.devsuite.Manuals to org.gnome.Manuals * Add mouse navigation support (back/forward with mouse keys 8 and 9) * Improve navigation state updates when using history back/forward * Make Ctrl+K focus search and select all text for easier re-searching * Bundle dialog improvements: - Use collate key for filename sorting - Add button to show/hide legacy SDKs - Denote EOL SDKs and show warnings * Build system improvements * Translation updates * New translations: Kazakh, Italian, Serbian, Serbian (Latin) Manuals 49.1 ============ * Implement new-window action * Fix component to be desktop-application * Fix APP_ID usage when doing test/development builds * Translation updates ======================================== msgraph ======================================== 0.3.4 - Jan 14, 2026 =========================== - Remove drive bundles duplicates - doc: Update URL to libsoup ======================================== mutter ======================================== 50.alpha ======== * Fix delay in applying KMS property changes [Marco; !4610] * Fix broken menus in some Xwayland clients [Carlos; !4729] * Avoid processing the same key event twice during keybindings [Carlos; !4724] * Drop the X11 backend [Bilal; !4505] * Improve tiled monitor handling [Rahul; !4685] * Improve sticky keys handling [Alessandro A.; !4728] * Fix global shortcut keys getting stuck in Xwayland windows [Carlos; !4737] * Drop logical devices from Clutter [Carlos; !4644] * Fix hang with libxcb without support for abstract sockets [Michel; !4762] * Fix some backlights not being detected [Will; !4763] * Add support for RGBA16, RGBX16 and XB48 formats [Mario; !4773, !4775] * Fix Xwayland clients becoming unresponsive on 2nd monitor [Michel; !4766] * Improve native Xwayland scaling support [Michel; !4731] * Improve support for tablet devices [Carlos, Peter; !4781, !4601] * Add support for external window constraints [Olivier; !4692] * Initialize libinput plugin system [Peter; !4739] * Do not spin cursor for startup sequences with no app ID [Sebastian K; !4774] * Let gestures influence other gesture before state change [Sebastian K.; !4760] * Improve secondary GPU blitting path performance [Gert-dev; !4073] * Fix activation or popup from button release events [Jonas; !4792] * Make devkit window optionally resizable [Jonas; !4621] * Fix cases of spurious tone mapping [Michel; !4804] * Introduce support for CRTC KMS color properties [Naveen; !4558] * Fix reporing damage region in pipewire streams [Michel; !4793] * Initialize all luminance fields for CICP [Michel; !4824] * Fix subsurface geometry calculation [Julian; !4826] * Send color management image description target volume events [Michel; !4823] * Use KMS ready time for frame clock update duration [Daniel, Michel; !4825] * Fixed crashes [Michel, Marco, Jonas; !4720, !4742, !4740, !4761, !4801, !4810] * Plugged leak [Lukáš; !4684] * Misc. bug fixes and cleanups [Florian, Marco, Carlos, Jonas, Michel, Bilal, Fraetor, Joan, Alessandro B., Alessandro A., Serhii, Daniel, Sebastian W., Robert, Peter; !4718, !4717, !4670, !4722, !4726, !4623, !4735, !4750, !4749, !4753, !4736, !4754, !4752, !4669, !4764, !4765, !4730, !4666, !4779, !4707, !4646, !4759, !4782, !4783, !4778, !4788, !4748, !4790, !4785, !4616, !4559, !4802, !4600, !4797, !4803, !4805, !4813, !4827, !4808, !4817, !3882, !4837, !4842] Contributors: Alessandro Astone, Alessandro Bono, Michel Dänzer, Bilal Elmoussaoui, Will Fancher, Olivier Fourdan, Fraetor, Carlos Garnacho, Gert-dev, Peter Hutterer, Sebastian Keller, Mario Kleiner, Naveen Kumar, Robert Mader, Florian Müllner, Julian Orth, Rahul Rameshbabu, Serhii Tereshchenko, Joan Torres Lopez, Marco Trevisan (Treviño), Lukáš Tyrychtr, Daniel van Vugt, Sebastian Wick, Jonas Ådahl Translators: Quentin PAGÈS [oc], Efstathios Iosifidis [el], Милош Поповић [sr, sr@latin], Martin [sl], Artur S0 [ru], Antonio Marin [ro], Kjartan Maraas [nb], Baurzhan Muftakhidinov [kk] 49.1 ==== * Fix various glitches during resize/move drags [Jonas; !4607] * Fix lost keyboard focus in overview with some devices [Carlos; !4667] * Fix popup constraint rule and work around broken clients [Jonas; !4628] * Require pointer interaction prior to allowing pointer warp [Carlos; !4678] * Fix GTK apps locking up after entering popover submenu [Alessandro; !4691] * Fix presentation timings with commit-timing-v1 [Mario; !4645] * Be more robust against clients providing bogus window geometry [Jonas; !4648] * Fix maximized windows extending under panel [Alessandro; !4695] * Fix switching keyboard layout via xkb-options [Carlos; !4693] * Advertise explicit sync only for dmabufs screencasts [Jan; !4629] * Fix multi-touch handling on X11 [Carlos; !4706] * Fix keyboard driven resize drags [Jonas; !4673] * Fix DND actions not working reliably in some X11 clients [Jonas; !4650] * Do not force pointer focus on popups [Carlos; !4703] * Fixes for cancelling and restoring sizes after drags [Jonas; !4674] * Fix windows reverting to previous size after client resizes [Jonas; !4712] * Fix pointer constraints for some fullscreen X11 clients [Michel; !4689] * Fixed crashes [Jonas, Sebastian, Carlos, Eduard, Milan, Marco; !4677, !4682, !4676, !4679, !4592, !4696, !4705] * Plugged leak [Guido; !4687] * Misc. bug fixes and cleanups [Jonas, Carlos, Alessandro, Florian, Sebastian, Raihan, Devilish; !4632, !4672, !4668, !4675, !4683, !4694, !4686, !4634, !4671, !4700, !4697, !4698, !4688, !4713, !4714, !4701, !4716] Contributors: Raihan Ahamed, Alessandro Astone, Milan Crha, Michel Dänzer, Carlos Garnacho, Jan Grulich, Guido Günther, Sebastian Keller, Mario Kleiner, Florian Müllner, Devilish Spirits, Eduard Tolosa, Marco Trevisan (Treviño), Jonas Ådahl Translators: Antonio Marin [ro], Abduqadir Abliz [ug], Hugo Carvalho [pt], twlvnn kraftwerk [bg], Fabio Tomat [fur] ======================================== nautilus ======================================== Major Changes in 50.alpha ========================= * Enhancements: - Improved thumbnail loading through new custom widget (Khalid Abu Shawarib) - Significantly increase code coverage by adding tests for thumbnail sizes, batch renaming, redoing, bookmarks, and many more (Khalid Abu Shawarib) - Rework batch rename mechanism and avoid freezes on cyclic collisions (Khalid Abu Shawarib) - Strip whitespaces in editable file names (Abhinandan Thakur, Peter Eisenmann) - Strip newlines from file name in file chooser (M B SURYANARAYANAN, Khalid Abu Shawarib) - Reduce memory usage by trimming on window/tab closure (tytan652, Peter Eisenmann) - Use shorter operation status message in sidebar (Corey Berla, Peter Eisenmann) - Support multiple file type search filters (Khalid Abu Shawarib) - Use highlight for batch rename replacement text (Abhinandan Thakur) - Use AdwAlertDialog for file operation dialogs (Peter Eisenmann) - Add settings menu item to context menu for trash and recent (Khalid Abu Shawarib) - Focus password entry on extraction (Peter Eisenmann) - Make file type filter buttons more accessible (Khalid Abu Shawarib) - Add Fedora CI (Khalid Abu Shawarib) - Add alternative bindings for copy and paste (Tomasz Hołubowicz) - Remove drag icon from column chooser (Khalid Abu Shawarib) - Pass activation_token to previewer (Tau Gärtli) * Bugfixes: - Fix potential outdated view item usage (Peter Eisenmann) * Cleanups: - Read image properties without GdkPixbuf (Peter Eisenmann) - Drop superfluous thumbnail prioritizing (Khalid Abu Shawarib) - Detect videos via xdg/shared-mime-info over intern list (Peter Eisenmann) - Drop usages of goto (Peter Eisenmann) - Replace some deprecated GTK APIs (Peter Eisenmann) - Use media queries for high contrast style (Peter Eisenmann) - Avoid redundant folder name in completion toast (Shone Binu) - Cleanup bookmark list API to use GFile (Peter Eisenmann) - Make NautilusHashQueue more useful with destroy funcs (Khalid Abu Shawarib) - Continued search-related rework (Peter Eisenmann) - Cleanup controls in metainfo (Maximiliano) - NautilusFile/Directory constructor-related cleanups (Peter Eisenmann) - Remove NautilusWindowSlot usage from NautilusApplication (Peter Eisenmann) - Drop deprecated FileOperations interface (Peter Eisenmann) - Deprecate packagekit build option (Peter Eisenmann) * Translation updates (GNOME Translation Project contributors) Major Changes in 49.2 ===================== * Bugfixes: - Fix handling of unset XDG directories (Khalid Abu Shawarib) - Reduce memory usage of thumbnails by correct scaling (Khalid Abu Shawarib) - Fix potential rescaling of item when switching to cut icon (Sebastian Keller, Khalid Abu Shawarib) - Fix crash on empty file lists in drops (Khalid Abu Shawarib) - Correct sorting of loopback devices (Khalid Abu Shawarib) - Don't skip the first file from batch rename progress monitoring (Khalid Abu Shawarib) * Translation updates (GNOME Translation Project contributors) Major Changes in 49.1 ===================== * Bugfixes: - Fix crash due to internal callback handling (Khalid Abu Shawarib) - Fix pasting images with bigger sizes (Zander Brown) - Fix contrast of cut items (Jakub Steiner, Khalid Abu Shawarib) - Use correct start point for sidebar drag'n'drop (Khalid Abu Shawarib) - Fix default app chooser focus (Peter Eisenmann) - Fix running long-running archive operation tests (Khalid Abu Shawarib) * Known regression: - Searching in app chooser does not work anymore since 49.0 * Translation updates (GNOME Translation Project contributors) ======================================== orca ======================================== 49.5 - 25 November 2025 Web: * Fix double prsentation of lines with new line characters. * Fix several chattiness issues. General: * Treat space as a printable character during password input. * Don't say "grayed" in editable table cells regardless of state. * Fall back on descendants when presenting editable table cell content. New and updated translations (THANKS EVERYONE!!!): id Indonesian Andika Triwidada nb Norwegian Bokmål Kjartan Maraas sr@latin Serbian (Latin) Милош Поповић sr Serbian Милош Поповић ug Uighur Abduqadir Abliz ========= 49.4 - 16 October 2025 Web: * Fix regression in which table navigation in a grid switches to focus mode. New and updated translations (THANKS EVERYONE!!!): el Greek Efstathios Iosifidis ========= 49.3 - 13 October 2025 Remote Controller: * Add additional getters for browse/focus modes. * Fix integration test failure resulting from differences in Wayland versus X11 with respect to MouseReview. ========= 49.2 - 13 October 2025 Web: * Ensure sticky focus mode sticks when returning to document content. * Try to make deeply nested layout tables less time-consuming. * Fix false positive identifying grammar errors as spelling. * Fix punctuation presention of plain text documents viewed in Firefox. General: * Decrease likelihood that systemd will kill Orca during event floods. * Add Remote Controller support for more settings and commands. * Improve presentation (to the extent possible) of Budgie switcher and panel. * Fix regressions in braille generation and cursor routing. * Fix presentation of GTK4 switches. * Fix chattiness in GTK4 combo boxes. * Improve performance when generating descendants, and ignore anything with the labelled-by relation. New and updated translations (THANKS EVERYONE!!!): bg Bulgarian twlvnn kraftwerk eu Basque Asier Saratsua Garmendia sl Slovenian Martin ========= 49.1 - 20 September 2025 Fixes for Regressions: * Orca would not launch in environments which lack BrlAPI. * Toggling CapsLock via double-click was not being spoken. * KeyEcho in terminals was failing in some environments. ========= 49.0 - 17 September 2025 New Features: * Orca-controlled caret navigation is now available in all text objects; not just web content. To toggle it, try Orca + F12. Note that there are still improvements to be made and bugs to be fixed. * Support for more commands and settings have been added to the D-Bus "Remote Controller". Other Changes: * Restore OnlyShowIn=GNOME to the orca-autostart.desktop file so that Orca v49 and later can be autostarted in earlier versions of GNOME. Execute Orca with `--replace` so that when autostart is used, any previously- running versions of Orca are terminated first. * Present static text descriptions associated with GtkList ancestors. * Speak system messages with "some" punctuation rather than "no" punctuation to ensure symbols like percentage are spoken. * Treat unicode mark characters as diacritics for the purpose of key echo so that combining characters are spoken. * Fix echoing of keypad keys when NumLock is on. * Fix incorrect identification of keys by always using keysyms rather than keycodes. * Improve the presentation of voice names in Preferences by using the variant name when one is provided and sorting the list that populates the combo box. * Fix several flat review bugs. New and updated translations (THANKS EVERYONE!!!): ca Catalan Jordi Mas ca Catalan Jordi Mas i Hernandez cs Czech Daniel Rusek da Danish Alan Mortensen es Spanish Daniel Mustieles eu Basque Asier Saratsua Garmendia fa Persian Danial Behzadi gl Galician Francisco Diéguez Souto gl Galician Fran Diéguez hu Hungarian Attila Hammer ka Georgian Ekaterine Papava lt Lithuanian Aurimas Aurimas Černius nl Dutch Nathan Follens pl Polish Piotr Drąg pt_BR Brazilian Portuguese Juliano de Souza Camargo pt Portuguese Hugo Carvalho ro Romanian Antonio Marin ru Russian Artur S0 sl Slovenian Martin sv Swedish Anders Jonsson tr Turkish Emin Tufan Çetin tr Turkish Sabri Ünal uk Ukrainian Yuri Chornoivan zh_CN Chinese (China) Luming Zh ========= ======================================== pygobject ======================================== 3.55.1 - 2026-01-03 ------------------- * Enable `-Wswitch-enum` compiler option :mr:`476` * Pass `GIArgument` as value argument :mr:`447` :mr:`480` * Support unichar properties :mr:`475` * Minimum supported Python version is 3.10 :mr:`478` * docs: Add conda and pixi to getting started :mr:`481` * Fix a few memory leaks, refactorings and cleanup :mr:`483` :mr:`484` :mr:`485` :mr:`486` * docs: Website updates :mr:`488` * Add backwards compatibility for `Gdk.PaintableFlags.SIZE`/`CONTENTS` :mr:`496` * Fix missing instance variables when objects are garbage collected (regression from :mr:`449`) :mr:`497` * Use a (temporary) object to make sure `do_dispose()` is called :mr:`491` * Call `do_constructed()` at the end of object initialization :mr:`495` 3.55.0 - 2025-11-15 ------------------- Most notable changes are the removal of toggle references. If you use python weakrefs to track PyGObjects, you should change that to `GObject.Object.weak_ref()`. An environment variable `PYGI_OVERRIDES_PATH` can be set to add additional override paths (especially for testing). * Remove `GLib.options` module :mr:`273` * Support generic parameters for `Gio.ListStore` :mr:`237` * Cleanup: replace arguments in cache objects by functions :mr:`439` * Always sink floating objects :mr:`442` * Excempt GioPlatform namespaces from require_version check :mr:`450` * (backwards compat) Expose platform symbols through Gio module :mr:`451` :mr:`452` * Update pythoncapi-compat :mr:`455` * Add PYGI_OVERRIDES_PATH environment variable :mr:`453` * Provide the intended GioUnix API, even on older GLib :mr:`456` * Code refactorings :mr:`465` :mr:`466` :mr:`470` :mr:`474` * Remove `pygtkcompat` completely :mr:`464` * Array improvements :mr:`422` * Fix memory leak when array construction fails :mr:`473` * Unify properties handling :mr:`469` * Replace toggle references :mr:`449` ======================================== rygel ======================================== 45.1 (stable) ============= Translation updates All contributors to this release: - Милош Поповић - Kjartan Maraas - Efstathios Iosifidis - Fabio Tomat - Tim Sabsch - Abduqadir Abliz - twlvnn kraftwerk - Kristjan SCHMIDT - Julien Humbert Added/updated translations: - bg.po, courtesy of twlvnn kraftwerk - de.po, courtesy of Tim Sabsch - el.po, courtesy of Efstathios Iosifidis - eo.po, courtesy of Kristjan SCHMIDT - fr.po, courtesy of Julien Humbert - fur.po, courtesy of Fabio Tomat - nb.po, courtesy of Kjartan Maraas - sr.po, courtesy of aceydot - sr@latin.po, courtesy of aceydot - ug.po, courtesy of Abduqadir Abliz ======================================== simple-scan ======================================== Overview of changes in simple-scan 49.1 ~~~~~~~~~~~~~~ Released: 2025-10-16 * Updated translations. Overview of changes in simple-scan 49.0.1 ~~~~~~~~~~~~~~ Released: 2025-10-02 * Fix CI. * Updated translations. Overview of changes in simple-scan 49.0 ~~~~~~~~~~~~~~ Released: 2025-09-04 * Fix horizontal scrollbar. * Continue batch flatbed scans when SANE returns NO_DOCS after first page. * Change component type to "desktop-application". * Rename appdata to metainfo. * Run postprocessing after save and display errors separately. * Move postprocessing to its own function. * Fixed matching saved scanner after finishing scanners discovery. * Add numerical measure for brightness and contrast. * Updated translations. Overview of changes in simple-scan 48.1 ~~~~~~~~~~~~~~ Released: 2025-04-05 * Always tag JPEG-compressed PDF output as 8-bit RGB. * Use "view-more-symbolic" for the "Scan Options" button icon. * Add a test if the post-processing script path is empty. * Fix the docker image name of the Arch Linux Distribution. * Update Ubuntu documentation. * metainfo: Fix wrong developer id. * Correct issue tracker URL. * Update minimum Meson version to 0.46. * Use RDNN app ID. * Updated translations. ======================================== snapshot ======================================== ## 50.alpha - 2026-01-03 - Screenshots are now hosted at static.gnome.org - Require meson 1.7 - Dynamically link to glycin using glycin-rebind - Set properties to encoders - Updated translations ======================================== sysprof ======================================== Overview of changes in Sysprof 50.alpha ======================================= * Mark chart improvements with filtering and ability to hide mark groups * Recording template cleanup and simplification * Improved discoverability with additional keywords in appdata * Fix compiler warnings for integer conversions * Version macros added to libsysprof-capture * Counter ring buffer memory cleanup * Minimum GTK version bumped to 4.19.4 * CI build integration updates * Translation updates including new languages: Bulgarian, Serbian (Latin), Japanese ======================================== tinysparql ======================================== NEW in 3.11.alpha - 2026-01-05 ============================== * Added TrackerSparqlConnectionFlags values to disable legacy and pre-sparql-1.1 syntax * Added tracker_sparql_connection_new_from_rdf() family of constructors to specify the defining ontology as an input stream, instead of a set of files * Fixes to issues spotted by OSS Fuzz * Fixes to handling of blank nodes during (de)serialization Translations: el, fur, sr, sr@latin NEW in 3.10.1 - 2025-10-13 ========================== * Introspection annotation fixes * Documentation improvements * Several minor fixes for Coverity warnings * Fixed possible crashes and warnings if database is closed while a TrackerNotifier is actively handling changes * Fixed crash if using TrackerBatch on daisy-chained D-Bus connections Translations: bg, eo, fr, pt, ro, ug ======================================== xdg-desktop-portal-gnome ======================================== Changes in 50.alpha ================= - Fix a potential source of crashes in the ScreenCast portal code - Properly send the Global Shortcut activation token to the portal frontend - Update libgxdp to override GTK settings - Use a GNOME OS based CI template - Translation updates ======================================== xdg-user-dirs-gtk ======================================== Major changes in 0.15 are: * autostart: Add systemd service * Translation updates ======================================== zenity ======================================== Zenity 4.2.1 Bugfix release for Zenity 4.2.x. Changes and fixes since 4.2.0: - colview: Activation handler on checklists should use selection model (Logan Rathbone) (#111) Zenity 4.2.0 This release contains no code changes as compared to the most recent release candidate (version 4.1.99). Translation updates: - Danial Behzadi (fa) - Makoto Sakaguchi (ja)