Opened 13 months ago

Closed 13 months ago

Last modified 8 months ago

#22038 closed enhancement (fixed)

gtk4-4.20.0

Reported by: Bruce Dubbs Owned by: Rahul Chandra
Priority: normal Milestone: 13.0
Component: BOOK Version: git
Severity: medium Keywords:
Cc:

Description

New minor version.

Change History (5)

comment:1 by Rahul Chandra, 13 months ago

Owner: changed from blfs-book to Rahul Chandra
Status: new → assigned

comment:2 by Rahul Chandra, 13 months ago

Overview of Changes in 4.20.0, 29-08-2025 =========================================

  • Bugs fixed:
    • #7695 gdk-win32: unmaximize doesn't restore the original size
    • #7702 Should GTK_ACCESSIBLE_ROLE_STATUS really be NAME_PROHIBITED?
  • Changes:
    • !8851 gstreamer: Stop GstPlay before dropping the ref (Robert Mader)
    • !8871 gtk/filterlistmodel: Emit items-changed for item watches (Georges Basile Stavracas Neto)
    • !8872 Gtk 4.19.4
    • !8873 docs: Some more details about dialogs (Matthias Clasen)
    • !8874 gsk: Add docs / gi annotations to new component transfer API (Sebastian Dröge)
    • !8876 Revert "meson: Rework introspection handling" (Florian "sp1rit"​)
    • !8879 iconhelper: Fix handling of non-square icons (Matthias Clasen)
    • !8880 gsk: Add missing Since marker to GskComponentTransferNode (Sebastian Dröge)
    • !8881 symbolic: Fix stroke defaults (Matthias Clasen)
    • !8883 Ignore gtk namespace attributes (Matthias Clasen)
    • !8884 gtk-demo: Fix markup in dark (Matthias Clasen)
    • !8885 entry: Clean up coding style (Sergio Costas Rodriguez)
    • !8886 gtk-demo: Avoid some criticals (Matthias Clasen)
    • !8887 gtkatcontext: Fix name generation flags for the banner role (Lukáš Tyrychtr, Matthias Clasen)
  • Translation updates:
    • Catalan (Jordi Mas)
    • Czech (Daniel Rusek)
    • Lithuanian (Aurimas Aurimas Černius)
    • Thai (Aefgh Threenine)
    • Turkish (Emin Tufan Çetin)

comment:3 by Rahul Chandra, 13 months ago

Resolution: → fixed
Status: assigned → closed

comment:4 by Douglas R. Reno, 13 months ago

With GNOME (and adjacent) packages, sometimes they use odd minor versions to separate development releases from stable ones. 4.19 was gtk-4.20's development cycle, so there's a few releases that we should add in notes from:

4.19.1

Overview of Changes in 4.19.1, 02-05-2025
=========================================

* GtkText:
 - Add bindings for the "Clear" key

* GtkTextView:
 - Make overlaid child widgets scroll again

* GtkFileChooser:
 - Fix a crash with inaccessible locations
 - Add a forgotten accessible label

* GtkVideo:
 - Improve support for subsampled formats

* GtkApplicationWindow:
 - Improve layout

* GtkWindow:
 - Add gravity for resizing

* GtkWidget:
 - Fix invalidating cached request modes

* Gdk:
 - Add toplevel gravity for resizing
 - Support relative dials on tablet pads

* Gsk:
 - Accept GSK_RENDERER=gl for the current gl renderer
 - Support YUV formats better
 - Improve cairo blur performance with fractional scales
 - Use vertical subpixel positions for text rendering

* Wayland:
 - Defer to the compositor for drag cursors
 - Support xdg-toplevel edge constraints
 - Don't offload straight-alpha textures
 - Use tablet protocol v2
 - Add gdk_wayland_toplevel_get_xdg_toplevel

* Macos:
 - Fix a crash when unfullscreening windows

* Android:
 - Rework the initialization procedure for better meson compatibility
 - Support multitouch properly
 - Add initial ime support

* Demos:
 - Add bash completion support
 - Drop the "Search Entry" demo

* Tools:
 - Add bash completion support
 - Add an --offload flag to gtk4-rendernode-tool

* Debugging:
 - Reintroduce GTK_DEBUG=touch-ui to test touchscreen UI
 - Avoid a crash when natives get unrealized

* Build:
 - Require wayland-protocols 1.44
 - Fix build with mold
 - Use ci-templates to update ci images

* Bugs fixed:
  - #5844 `gdk_surface_get_device_position: assertion 'GDK_IS_SURFACE (surface)'
    failed` on popover close (Alessandro Astone)
  - #6764 ListView: Rows are added too late and removed too early
  - #7451 Cairo device scale changes lead to significant performance regression
    in cairo blur (Sebastian Keller)
  - #7458 Random crashes
  - #7476 4.19.0: gnome-control-center missing animations (Benjamin Otte)
  - #7479 gtkmm programs fail to start on Windows with AccessKit support enabled
    (Matthias Clasen)
  - #7480 testsuite needs a run with GDK_VULKAN_DISABLE=all GDK_GL_DISABLE=all
    (Matthias Clasen)
  - #7482 Epiphany Crash in GTK file chooser when last used directory has
    insufficient filesystem permissions: "GFileInfo created without
    standard::type" (Philip Withnall)
  - #7495 Failed to link with the mold linker (Matthias Clasen)
  - #7498 TextView overlay does not scroll with content (Matthias Clasen)
  - #7510 macos: app crashes if unfullscreening window
  - #7513 Broken boxed-list ListBox (Sergey Bugaev)
  - #7520 XCompose preventing GTK4 applications from launching (again) (Matthias
    Clasen)
  - #7522 critical when selecting label with use-underline but mnemonic with
    screenreader enabled (Markus Göllnitz)
  - !7242 Add support for tablet pad relative dials (Peter Hutterer, René de
    Hesselle)
  - !8307 gsk: Go back to using subpixel y for text
  - !8391 android: Advanced "dumb" IME implementation
  - !8416 gtk: Reintroduce touchscreen simulation
  - !8424 [gtk4] fix gdk_x11_surface_get_frame_extents with window borders.
  - !8433 GtkGLArea: add note to docs regarding the output framebuffer
  - !8434 build: Add bash completion support
  - !8435 gtk-demo: Remove the "Search Entry" demo (Benjamin Otte)
  - !8436 gtk-demo: Remove the "Search Entry" demo (Benjamin Otte)
  - !8438 wayland: Don't set the selected cursor in init (Matthias Clasen)
  - !8439 More commandline completion (Matthias Clasen)
  - !8440 Keep renaming renderers (Matthias Clasen)
  - !8441 Add Clear keybindings (Matthias Clasen)
  - !8442 ci: Make fedora-clang run tests (Matthias Clasen)
  - !8443 wayland: Add missing wp-color flag (Benjamin Otte)
  - !8444 gtkfilechooserwidget: Handle the case of a saved location being
    inaccessible (Matthias Clasen, Philip Withnall)
  - !8445 wayland: Add support for xdg-toplevel edge constraints (Matthias
    Clasen, Jonas Ådahl)
  - !8447 various Vulkan fixes (Benjamin Otte)
  - !8448 Misc small fixes (Matthias Clasen)
  - !8451 widget: Check layout-related invariants (Matthias Clasen)
  - !8453 accessible: Don't update platform state too early (Matthias Clasen)
  - !8454 rendernodeparser: Fail properly if the texture couldn't be parsed
    (Benjamin Otte)
  - !8455 widget: Drop long-dead code
  - !8456 android: Add toplevel surface in bindNative
  - !8458 widget: Drop some unnecessary checks
  - !8460 gdk: Add missing since marker to gdk_toplevel_get_capabilities()
    (Sebastian Dröge)
  - !8463 android: Rework initialization procedure (Florian "sp1rit"​)
  - !8467 fix: Remove redundant assignment in _gdk_win32_surface_procedure
  - !8468 gtkapplicationwindow: Improve measuring menubar (Sergey Bugaev)
  - !8469 css: Error if the background color is invalid (Benjamin Otte)
  - !8471 early exit  if the clipped bound rectangle's area is zero after
    snapping (Doublonmousse, DoublonMousse)
  - !8472 Various fixes and cleanups (Benjamin Otte)
  - !8473 listbase: Fix row visibility (Vladimir Vaskov)
  - !8474 GtkBuilder docs - fix XML tag syntax
  - !8475 docs: recommend using properties instead of child (g.willems)
  - !8476 rendernodeparser: Avoid an extra Cairo surface (Benjamin Otte)
  - !8478 Add toplevel gravity
  - !8479 wayland: Rely on upstream cursor-shape protocol (Matthias Clasen)
  - !8482 Drop old NEWS
  - !8484 nodeparser: Fix Cairo node parsing (Benjamin Otte)
  - !8485 wayland: Refactor color a bit
  - !8486 gdk: Add missing function docs (Bilal Elmoussaoui)
  - !8488 msys: Make -Werror work (Benjamin Otte)
  - !8489 Don't offload straight-alpha textures
  - !8490 memorylayout: Fix check (Benjamin Otte)
  - !8491 win32: Drop GdkWin32Screen (Benjamin Otte)
  - !8492 wayland: Check alpha before offloading (Matthias Clasen)
  - !8493 macos: fix crash when unfullscreening windows (Arjan Molenaar)
  - !8495 tooltipwindow: Propagate child request mode (Sergey Bugaev)
  - !8497 mediastream: Don't mark :prepared as writable (Sergey Bugaev)
  - !8500 android: Support multitouch (Florian "sp1rit"​)
  - !8504 Update macOS job for new CI runner (René de Hesselle)
  - !8506 node-editor: Always try adding the Vulkan renderer (Benjamin Otte)
  - !8507 win32: Remove lots of code (Benjamin Otte)
  - !8508 drawcontext: Add opaque "context_data" to begin/end_draw (Benjamin
    Otte)
  - !8509 Switch to ci-templates (Carlos Garnacho)
  - !8511 wayland: Rename gdkshm.h and gdkfractionalscale.h (Matthias Clasen)
  - !8513 file-chooser-dialog: Make the search button a11y label a tooltip
    (Lukáš Tyrychtr)
  - !8516 label: set GDK_KEY_VoidSymbol when use-underline is set but no key is
    found (Markus Göllnitz)
  - !8517 docs: Small fixes (Sébastien Wilmet)
  - !8518 widget: Warn if request modes are stale (Matthias Clasen)
  - !8519 ci: Try to fix the arm build (Matthias Clasen)
  - !8521 a11y atspi: Add null check in get_keybinding (Michael Weghorn)
  - !8523 win32: Introduce hr_warn() (Benjamin Otte)
  - !8524 Add gdk_wayland_toplevel_get_xdg_toplevel (Matthias Clasen)

Translation updates:

4.19.2

Overview of Changes in 4.19.2, 27-06-2025
=========================================

Note: This release makes GTK rely on the Wayland text protocol
for input method support. For compositors without that protocol,
you can manually set GTK_IM_MODULE=simple to get back support for
X11-style compose sequences and dead keys.

* GtkImage:
 - Change the sizing behavior for paintables. Stop scaling them up

* Add g_uri_launcher_can_launch to check if a given uri has a handler

* GtkTextView:
 - Don't use keyboard layout for text direction

* GtkIconTheme:
 - Allow strokes in symbolic icons
 - Document the symbolic icon format
 - Add a small parser for symbolic svg files
 - Convert symbolic svgs to render nodes and rasterize them later
 - Require librsvg and always support svg
 - Make it possible to create GtkIconPaintable objects in ui files
 - Fix search path order to prefer ~/.local/share over /usr/share

* GtkVideo:
 - Port the gstreamer backend to use GskPlay

* Resources:
 - Clean up and simplify all symbolic icons and theme assets,
   so they can be handled by the built-in svg parser
 - Stop including png versions of symbolic icons and theme assets

* CSS:
 - Plug a memory leak in the css variables code
 - Support transition hints for gradients
 - Support two-position stops for gradients
 - Pass toplevel edge constraints to css
 - Support multiple keyframe selectors per block
 - Reimplement text shadows to match what browsers do

* GL:
 - Support multiplane texture formats

* GSK:
 - Fix some bugs in the path parser
 - Cache masks for fill and stroke nodes
 - Fix some corner cases of path semantics to match svg

* Deprecations:
 - Deprecate the remaining pixbuf APIs

* Tools:
 - Add some interactive controls to gtk4-path-tool
 - Add a command to convert symbolic svgs to nodes
 - The inspector UI has been improved in some places

* Demos:
 - Fix lighting in the gears GL demo
 - Use paintables for some icons, so we no longer rely on an
   icon theme to provide them
 - Stop hardcoding Cantarell as font in various places
 - Use paintables instead of themed icons in many places

* Build:
 - Include modules in libgtk
 - Build with libcups 3
 - Use meson 1.8.2
 - Require librsvg
 - Fix the build without memfd_create

* Wayland:
 - Stop handling compose sequences client-side, since
   the compositor does it
 - Plug a memory leak in the offloading code
 - Fix scaling of callback cursors
 - Update tablet cursors properly

* MacOS:
 - Support window snapping
 - Better window menu support
 - Don't build the x11 backend on macos, by default

* Windows:
 - Fix resizing problems with the cairo renderer
 - Add API for D3D12 textures
 - Refactor and modernize the WGL support
 - Fix many msvc warnings
 - Scale callback cursors
 - Use D3D11 or D3D12 and DirectComposition. This
   can be disabled using new GDK_DISABLE values:

   GDK_DISABLE=d3d11,d3d12,dcomp

* Android:
 - Simplify surface layout

* Bugs fixed:
  - #6519 AtSpiSocket not in gir
  - #7136 color: transparent; doesn't make emojis transparent (Matthias Clasen)
  - #7137 text-shadow doesn't work with transparent text (Matthias Clasen)
  - #7233 `contain_mimetype` can return true for a type that _was_ present in
    the clipboard but removed leading to `g-io-quark-error` when reading the
    data
  - #7277 Support mac os snapping feature
  - #7427 CSS @keyframes should support multiple animation selectors (Matthias
    Clasen)
  - #7450 Wrong behavior of GdkKeymap on macOS (Elisa Pau)
  - #7524 `Gtk.MapListModel` becomes desynchronized when the original list model
    is modified (Matthias Clasen)
  - #7541 Win32: window resize issues (not repainted or wrong direction) with
    cairo renderer (Benjamin Otte)
  - #7562 Android: Allocation warning spam when scrolling ScrolledWindow
  - #7572 path caching fallout (Benjamin Otte, Matthias Clasen)
  - #7583 macos: Vulkan renderer broken
  - #7587 Dynamic cursors are incorrectly scaled (PBS, Matthias Clasen)
  - #7589 Windows vulkan renderer: DestroyWindow failed with code 1400: Invalid
    window handle. (Benjamin Otte)
  - #7592 `gtk_accelerator_parse_with_keycode` returns a false positive for
    parsing (Rubén Muñoz--Bertrand)
  - #7593 Wayland: The tablet cursor shape does not always changes shape when
    hovering into a GTK4 application (Matthias Clasen)
  - #7606 Giant mouse cursor (Matthias Clasen)
  - #7609 GTK4 symbolic icon display no longer prioritises ~/.local/share/icons
    over /usr/share/icons (Matthias Clasen)
  - #7611 Texture.save_to_png does not consider the color state (Matthias
    Clasen)
  - #7613 Regression with gtk_snapshot_append_radial_gradient() (Matthias
    Clasen)
  - #7617 (atspi): `Parent` property and cache's `GetItems` methods disagree
    about root's parent.
  - #7620 Cannot build GTK4 without `memfd_create` (Matthias Clasen)
  - !7883 Add GdkD3d12Texture (Benjamin Otte)
  - !8061 Deprecate the last few undeprecated GdkPixbuf apis (Matthias Clasen)
  - !8080 macos: Add (experimental) Vulkan support (Arjan Molenaar)
  - !8481 Color representation protocol support (Matthias Clasen)
  - !8498 macos: Add Window menu as a special case (Arjan Molenaar)
  - !8501 macos: Fix native window snapping (Arjan Molenaar)
  - !8522 modules: Let modules be statically linked into libgtk (Florian
    "sp1rit"​)
  - !8525 4.19.1 (Matthias Clasen)
  - !8530 Some more pixbuf work (Matthias Clasen)
  - !8533 Drop unnecessary includes (Matthias Clasen)
  - !8534 css: Use different api (Matthias Clasen)
  - !8535 icons: Fix the fg-only optimization (Matthias Clasen)
  - !8537 Add gtk_uri_launcher_can_launch
  - !8538 Bump the openuri portal api (Matthias Clasen)
  - !8539 gpu: Move function (Benjamin Otte)
  - !8540 Revert "file filer: Replace an api" (Matthias Clasen)
  - !8541 Use librsvg for symbolics that we can't parse ourselves
  - !8542 GDK/Win32: Some more cleanups (Chun-wei Fan)
  - !8543 Allow overriding (de)serializers (Matthias Clasen)
  - !8544 node-editor: Help isn't editable (Matthias Clasen)
  - !8545 Improve the a11y overlay (Matthias Clasen)
  - !8547 Convert symbolic icons to render nodes (Matthias Clasen)
  - !8548 path: Fix handling of 'm' (Matthias Clasen)
  - !8549 path: Fix handling of custom contours (Matthias Clasen)
  - !8550 icons: Update folder-new-symbolic from Adwaita (Matthias Clasen)
  - !8551 A bunch of fixes (Benjamin Otte)
  - !8552 docs: Some updates (Matthias Clasen)
  - !8553 demos: Simplify the app icons (Matthias Clasen)
  - !8555 icontheme: Cosmetics (Matthias Clasen)
  - !8556 wayland: Stop deriving from GtkIMContextSimple (Matthias Clasen)
  - !8557 path tool: Add some interactive control (Matthias Clasen)
  - !8558 some win32 fixes (Benjamin Otte)
  - !8559 win32: Use DirectComposition (Benjamin Otte)
  - !8560 Document the atspi socket (Matthias Clasen)
  - !8561 win32 fixes (Benjamin Otte)
  - !8564 ci: fix the android build ci (Florian "sp1rit"​)
  - !8565 gtk-demo: Fix the ucd demo (Matthias Clasen)
  - !8566 android: fix cairo renderer framebuffer format conversion (Florian
    "sp1rit"​)
  - !8567 image-tool: Use shared infrastructure (Matthias Clasen)
  - !8569 gtk-demo: Add a symbolic paintable (Matthias Clasen)
  - !8570 gtk-demo: Rename a class (Matthias Clasen)
  - !8571 Split off gtkiconpaintable.h (Matthias Clasen)
  - !8572 menubutton: Annotate popover type (Sergey Bugaev)
  - !8573 Allow strokes in symbolic icons
  - !8575 docs: Document a pitfall of nested ui files (Matthias Clasen)
  - !8576 Cosmetics (Matthias Clasen)
  - !8577 Cosmetics (Matthias Clasen)
  - !8578 icontheme: Drop non_blocking flags (Matthias Clasen)
  - !8579 android: introduce properties missing from toplevel (Florian
    "sp1rit"​)
  - !8580 Implement caching for path fills (Benjamin Otte, Matthias Clasen)
  - !8581 testsuite: Add a bunch of compare tests (Benjamin Otte)
  - !8582 memorytexturebuilder: Fix set_color_state annotation (Robert Mader)
  - !8583 rework GskGpuCache a bit (Benjamin Otte)
  - !8584 gstreamer: Port to GstPlay (Benjamin Otte)
  - !8586 ci: Let marge also do the android job (Florian "sp1rit"​)
  - !8587 Move the node format docs (Matthias Clasen)
  - !8589 egl: Handle EGL_SWAP_BEHAVIOR and avoid SwapBuffersWithDamage() if
    whole buffer was damaged (Benjamin Otte)
  - !8590 Clean up a few more icons (Matthias Clasen)
  - !8592 node-editor: Redo the zoom ui (Matthias Clasen)
  - !8593 icons: Simplify some icons (Matthias Clasen)
  - !8594 Build with libcups 3
  - !8597 dmabuf: egl: Skip unknown drm formats (Robert Mader)
  - !8598 Cache strokes (Matthias Clasen)
  - !8599 wayland: Plug a memory leak (Matthias Clasen)
  - !8600 GL: Add multiplane texture support (Benjamin Otte)
  - !8602 rendernode tool: Add a --dont-move option (Benjamin Otte, Matthias
    Clasen)
  - !8603 texturedownloader: Fix annotations (Benjamin Otte)
  - !8605 CI/MSVC: fix accesskit-c build with non-native Rust toolchain (L. E.
    Segovia)
  - !8606 gsk: Prepare for fill and stroke caching (Matthias Clasen)
  - !8607 docs: Add more details about symbolic icons (Matthias Clasen)
  - !8608 Make gsk_path_get_bounds() WARN_IF_UNUSED_RESULT (Benjamin Otte)
  - !8609 Revert 6d15f59fef2330dca2e27 (Matthias Clasen)
  - !8611 Small icon fixes (Matthias Clasen)
  - !8613 Add some more path parser tests (Matthias Clasen)
  - !8617 gpu: Do not use fma() in GLSL shaders (Robert Mader)
  - !8620 docs: Make warnings more bold (Matthias Clasen)
  - !8621 rendernodeparser: Make gzipped data consistent (Benjamin Otte)
  - !8622 Add a test (Matthias Clasen)
  - !8623 popover: Document parent widget requirements (James Westman)
  - !8625 widget: Only set tooltip when text has changed (Khalid Abu Shawarib)
  - !8626 Make the paintable demo use a picture (Matthias Clasen)
  - !8627 iconhelper: Stop scaling up paintables (Matthias Clasen)
  - !8628 gpu: Include scale when snapping (Benjamin Otte)
  - !8629 cssrefvalue: free the value itself (Zander Brown)
  - !8632 image: Expand docs (Matthias Clasen)
  - !8633 docs: Use proper admonitions (Matthias Clasen)
  - !8634 gtk-demo: Drop an accidentally snuck in icon (Matthias Clasen)
  - !8635 gstreamer: Promote set_caps caps print to info (Robert Mader)
  - !8636 icons: Apply matrix transforms (Jakub Steiner, Matthias Clasen)
  - !8637 Clean up and fix rotate gesture icons (Matthias Clasen)
  - !8638 Guard against window being NULL (Sebastian Wiesner)
  - !8639 Always allow symbolic svgs (Matthias Clasen)
  - !8640 Fix supercritical issue in gtk4-demo (Benjamin Otte)
  - !8641 snapshot: Move a helper (Matthias Clasen)
  - !8642 More svg rendering and path work (Matthias Clasen)
  - !8643 Improve symbolic icon handling (Matthias Clasen)
  - !8644 surface: Add the concept of an "attached context" (Benjamin Otte)
  - !8645 wayland: More debug spew for color (Matthias Clasen)
  - !8646 rendernode tool: Tweak the convert command (Matthias Clasen)
  - !8647 icontheme: Split off gtkiconpaintable.c (Matthias Clasen)
  - !8648 Try meson 1.8.1 (Matthias Clasen)
  - !8649 wayland: Add a way to get the text protocol proxy (Matthias Clasen)
  - !8650 Rename many of the private color apis
  - !8651 macos: update draw contexts and fix vulkan renderer (Arjan Molenaar)
  - !8652 Fix name of Activate/Deactivate DBus signal name (Tait Hoyem)
  - !8653 css: Parse transition hints for linear gradients (Matthias Clasen)
  - !8655 Implement transition hints for gradients (Matthias Clasen)
  - !8656 css: Fix a crash (Matthias Clasen)
  - !8658 gdk: Drop an unused include (Matthias Clasen)
  - !8659 Fix a ton of warnings due to stricter MSVC compiler flags (Benjamin
    Otte)
  - !8660 Update the clipboard on all `WM_CLIPBOARDUPDATE` events even if for
    the same owner (Doublonmousse)
  - !8662 android: Simplify surface layouting (Florian "sp1rit"​)
  - !8663 Cosmetics (Matthias Clasen)
  - !8664 Fix memory layout initialization (Matthias Clasen)
  - !8667 ci: Allow the macos job to fail (Matthias Clasen)
  - !8668 ci: unify towards a shared used meson version (Florian "sp1rit"​)
  - !8669 Add zoom icons to our fallback set (Matthias Clasen)
  - !8671 Fix a parsing bug with '<' and '>' (Rubén Muñoz--Bertrand)
  - !8675 win32: Remove leftover code (Benjamin Otte)
  - !8676 testsuite: Don't run slow tests in parallel (Benjamin Otte)
  - !8677 ci: Redo tools tests (Matthias Clasen)
  - !8679 Replace hardcoded values of Cantarell (Matthias Clasen)
  - !8680 docs: Add missing docs_url field to the backends documentation
    (Corentin Noël)
  - !8683 inspector: Minor ui improvements (Matthias Clasen)
  - !8684 ci: Slim down our harfbuzz fallback build (Matthias Clasen)
  - !8686 Update the issue template for crashes (Emmanuele Bassi)
  - !8688 inspector: Small UI improvements (Matthias Clasen)
  - !8690 a11y atspi: Report masked password instead of plain one
  - !8691 gstreamer: Use the actual data size for the texture builder (Robert
    Mader)
  - !8692 Pass resizable edge window states on to css (Matthias Clasen)
  - !8694 Revert "wayland: Fix callback cursor scaling" (Matthias Clasen)
  - !8695 textview: Use widget direction instead of keyboard direction for
    neutral text
  - !8696 gtkmaplistmodel: Make 'model' property writable (Georges Basile
    Stavracas Neto)
  - !8697 meson: Disable x11 feature on macos
  - !8698 gstreamer: Handle non-contiguous sysmem buffers (Robert Mader)
  - !8699 ci: Don't build broadway on macos (Matthias Clasen)
  - !8700 Revert "Add gdk_wayland_toplevel_get_xdg_toplevel"
  - !8702 docs: Add more details (Matthias Clasen)
  - !8704 widget-factory: Add some a11y error handling (Matthias Clasen)
  - !8705 When saving textures, preserve color state (Matthias Clasen)
  - !8707 gtkgstsink.c: Drop g_autoptr() usage (Chun-wei Fan)
  - !8709 widget-factory: Add some icons (Matthias Clasen)
  - !8710 inspector: Mark image buttons in ui files (Matthias Clasen)
  - !8712 button: Try harder to manage style classes (Matthias Clasen)
  - !8713 Fix corner cases with text alpha (Matthias Clasen)
  - !8714 gsk: Move color glyph special-casing (Matthias Clasen)
  - !8715 window: Update set_startup_id documentation to include Wayland
    (Sebastian Keller)
  - !8716 Add missing array annotation to GskPathForeachFunc
  - !8719 Fix gtk_init_check() crash on android (PBS)
  - !8720 atspiroot: Return proper parent reference (Lukáš Tyrychtr)
  - !8721 testsuite: Run ttfautohint over our Inter subsets (Matthias Clasen)
  - !8722 A bunch of general fixes (Benjamin Otte, Matthias Clasen)
  - !8724 gsk: Don't forget to disable pangos rounding (Matthias Clasen)
  - !8725 rendernodeparser: Don't abuse Pango structs (Benjamin Otte)

* Translation updates:

4.19.3

Overview of Changes in 4.19.3, 03-08-2025
=========================================

* GtkVideo:
  - Support fo 10/12/16bit software decoder formats has been added
  - Avoid extra copies in more cases

* GtkApplication:
 - Rely on the portal instead of talking to session managers

* GtkEntry:
 - Entry icons now have an easy way to add an equivalent
   context menu item

* Icon support:
 - Symbolic svgs can use <rect> and <circle>
 - The symbolic png format is being phased out

* List models:
 - GtkFilterListModel can now watch its items and refilter

* CSS:
 - Media queries for color scheme and contrast are supported
 - The light-dark() function is supported

* Accessibility:
 - Improve handling of password entries

* Input:
 - The simple IM context gained a way to make compose sequence
   visuals configurable

* Printing:
 - Make portal printing work again
 - Support gnome-papers for preview
`
* GSK:
 - gsk_path_foreach_intersection is an API for path intersections
 - Bugs in determining closest points of paths have been fixed
 - A node type for component transfers has been added

* Debugging:
 - The recorder gained a Super+F shortcut to save a single frame
 - The CSS editor has controls for color scheme and contrast

* Tools and demos:
 - gtk4-path-tool can show path intersections
 - gtk4-demo gained a "Path Explorer" demo
 - gtk4-demo gained a "Sweep" (path intersection) demo
 - gtk4-demo gained a "Image Filtering" demo

* macOS:
 - Register sessions by default
 - Fix negative numbers in spin buttons in the Swedish locale

* Windows:
 - Fix size negotiation for fullscreen and maximized windows

* Android:
 - Fix problems with the Adreno driver
 - Build girs on if introspection is enabled

* Deprecations:
 - the Broadway renderer
 - the GtkApplication:register-session property
 - the gtk-application-prefer-dark setting

* Bugs fixed:
  - #2613 GtkTextView jumps on enter if a big enough top-margin is set (Manuel
    Genovés)
  - #4134 GtkTextView:top-margin breaks resize Y placement when wrap-text is set
    (Manuel Genovés)
  - #5273 Broken links in GTK4 documentation question index
  - #7531 Blank screen with Adreno GPU driver on Android (Florian "sp1rit"​)
  - #7554 Win32: opening a popover un-maximizes the toplevel (Doublonmousse)
  - #7581 Proposal: Make compose sequence visuals configurable in compose files:
    would make something like BÉPO visuals and similar layouts like Neo  future
    proof, i.e. avoid code changes to Gtk in future. (Mike FABIAN)
  - #7622 Typo (Brian Yurko)
  - #7628 wayland: window notify::suspended is only triggered after window
    becomes visible again (Matthias Clasen)
  - #7636 extensions-app and gnome-control-center: inconsistent and buggy
    behaviour with popups extending outside window boundary (Matthias Clasen)
  - #7644 Multi-plane YCbCr fallback breaks external-only dmabuf import
    (Benjamin Otte)
  - #7650 Regression in GtkBitsetIter (Matthias Clasen)
  - #7654 Gtk.Entry icons aren't accessible when they are sensitive/activatable
  - #7663 Button losing focus/hover because of transition (Matthias Clasen)
  - #7670 gtk_enumerate_printers() fails to return a printed named
    "GtkPrintBackendFile" (Matthias Clasen)
  - #7683 SpinButton (spin scales) can't show negative values on some macOS LANG
    locales (Oona Räisänen)
  - #7686 Leak when starting a libadwaita's demo
  - https://gitlab.gnome.org/Teams/Websites/www.gtk.org/-/issues/

* Changes:
  - !8330 memoryformat: Add 10/12/16bit SW decoder formats (Robert Mader)
  - !8723 android: Fix IME preventing from closing Activity
  - !8728 gtkatspicontext: Fix returning null parent ref for the root (Lukáš
    Tyrychtr)
  - !8729 The 4.19.2 release (Matthias Clasen)
  - !8730 vulkan: NULL is not compatible with VkFence (Zander Brown)
  - !8731 Avoid conflict with preexisting modules (Matthias Clasen)
  - !8732 meson: subproject compatability hack for meson < 1.8 (Florian
    "sp1rit"​)
  - !8733 Move away from symbolic pngs (Matthias Clasen)
  - !8734 widget-factory: Drop one more icon-theme use (Matthias Clasen)
  - !8735 builder: :current-object is nullable (Zander Brown)
  - !8736 a11y: Fix state-change emissions (Matthias Clasen)
  - !8737 wayland: More debug spew (Matthias Clasen)
  - !8738 wayland: Split up some debug spew (Robert Mader)
  - !8742 shortcutwindow: Differentiate keypad better (Matthias Clasen)
  - !8744 gstreamer: Add video meta support for sysmem buffers (Robert Mader)
  - !8746 Add new "watch-items" property & plumbing to GtkFilterListModel
    (Georges Basile Stavracas Neto)
  - !8747 gtkstack: Fix hiding the invisible GtkStackPages on the a11y layer
    (Lukáš Tyrychtr)
  - !8749 Sync with current CRoaring (Matthias Clasen)
  - !8750 testlistview: Waste less time (Matthias Clasen)
  - !8751 meson: Update libpng/libtiff/libjpeg wrap files (Jordan Petridis)
  - !8752 Add path intersections (Matthias Clasen)
  - !8753 tools: Make i toggle path intersections (Matthias Clasen)
  - !8754 tools: Fix help output details (Matthias Clasen)
  - !8756 pathbuilder: Don't split cubics
  - !8757 path: Fix closest point for circles (Matthias Clasen)
  - !8759 gtk4-demo: Cosmetics (Matthias Clasen)
  - !8761 bumped gdk-pixbuf to 2.43.3 (Florian "sp1rit"​, Matthias Clasen)
  - !8762 Fix EGL dmabuf format handling (Benjamin Otte)
  - !8763 Make compose sequence visuals configurable in compose files (Mike
    FABIAN, Matthias Clasen)
  - !8764 docs: Fix non-working links within gtk4 API static generated docs
    (Brian Yurko)
  - !8765 Add a demo of raw image dnd
  - !8766 image dnd: Use GdkDropTargetAsync (Matthias Clasen)
  - !8768 widget-factory: Improve icon handling (Matthias Clasen)
  - !8770 gdkenums: Add GDK_ACTION_NONE (Maximiliano Sandoval)
  - !8771 Make roaring all static (Matthias Clasen)
  - !8773 inspector: Change the shortcut for 'save a frame' (Matthias Clasen)
  - !8774 entry: Add accessibility to primary and secondary icons (Sergio Costas
    Rodriguez)
  - !8775 gtk4-demo: Rename the path explorer demo (Matthias Clasen)
  - !8777 symbolics: Support <circle> and <rect> (Matthias Clasen)
  - !8778 macos: By default register the session (Arjan Molenaar)
  - !8779 gsk: Added gsk_transform_matrix_2d (Florian "sp1rit"​)
  - !8780 gsk: Allow a line width of zero (Matthias Clasen)
  - !8782 Deprecate the Broadway renderer (Matthias Clasen)
  - !8785 gsk: Add a component transfer node (Matthias Clasen)
  - !8786 Fix rsvg leak (Khalid Abu Shawarib)
  - !8787 Fix the pathexplorer demo (Florian "sp1rit"​)
  - !8789 gpu: Don't pass structs as varying between shader stages (Florian
    "sp1rit"​)
  - !8791 fix: special case for maximized and fullscreened window in
    `compute_toplevel_size` (Doublonmousse)
  - !8794 gi/gtkfilter: Fix since annotations of new enum fields (Bilal
    Elmoussaoui)
  - !8796 print: Small refactoring (Matthias Clasen)
  - !8799 password input purpose a11y (Lukáš Tyrychtr)
  - !8800 gtk-demo: Update paintable demos (Matthias Clasen)
  - !8801 gtk/application-dbus: Plug GVariant leak (Maximiliano Sandoval)
  - !8803 Support media queries (Matthias Clasen)
  - !8805 printoperation: Plug cairo surface leak (Maximiliano Sandoval)
  - !8806 Plug some leaks in node editor (Maximiliano Sandoval)
  - !8807 android: Build GdkAndroid-4.0.gir if introspection is enabled (Florian
    "sp1rit"​)
  - !8808 textureutils: Plug leak on start_element_cb (Maximiliano Sandoval)
  - !8809 gtk/applicaiion-dbus: Call env variable unset in constructor when
    available (Khalid Abu Shawarib)
  - !8810 Plug a memory leak in svg parsing (Matthias Clasen)
  - !8811 filechoosernative: Plug leak when setting mimetype (Maximiliano
    Sandoval)

* Translation updates:

4.19.4

Overview of Changes in 4.19.4, 18-08-2025
=========================================

* Wayland:
 - Support wl_seat v10, and support server-side key repeat
 - Handle natural scrolling better

* Clipboard:
 - Fix text encoding mixups

* Text:
 - Make underlines continuous across runs

* Bugs fixed:
  - #514 scale use wrong direction  when use natural scrolling feature (Carlos
    Garnacho)
  - #6660 Numpad "home" and "end" keys behave differently than "home" and "end"
    keys when combined with shift (Brian Kress)
  - #7672 Gtk.FileDialog.open_finish() is wrongfully marked as nullable
    (Matthias Clasen)
  - #7691 4.19.3: Missing borders in g-c-c wifi page (Matthias Clasen)
  - #7693 Crash due to use after free in unset_fullscreen_monitor (deltragon)
  - #7694 4.19.3 regression: vte apps cant decode utf8 on copy-paste (Matthias
    Clasen)
  - #7708 Holding down keys no longer works (Carlos Garnacho)
  - #7712 GtkTextView gives encoded UTF-8 characters on paste sometimes
    (Matthias Clasen)
  - #7715 inconsistent y of text underline (Matthias Clasen)

* Changes:
  - !8239 Numpad keys behave differently than non numpad keys when combined with
    shift (Matthias Clasen, Brian Kress)
  - !8277 atcontext: Fix a11y value leaks (Khalid Abu Shawarib)
  - !8812 4.19.3 (Matthias Clasen)
  - !8813 gtktext: Remove a duplicate text added notification for a11y (Lukáš
    Tyrychtr)
  - !8815 print portal memory cleanups (lbaudin)
  - !8818 widget-factory: Fix style selectors (Matthias Clasen)
  - !8819 entry: Use 4.20 instead of 4.19 as version for newly added API
    (Sebastian Dröge)
  - !8820 ci: Regenerate the image (Matthias Clasen)
  - !8821 inspector: Fix up an oversight (Matthias Clasen)
  - !8823 CSS editor fixes (Alice Mikhaylenko)
  - !8824 adjustment: Verify that we have a valid range (Sergey Bugaev)
  - !8829 cssprovider: Fix relative URLs when updating media queries (Alice
    Mikhaylenko)
  - !8830 Fix 2 leaks when skipping media queries (Alice Mikhaylenko)
  - !8831 css: Drop light-dark again (Matthias Clasen)
  - !8833 Check for non-standard backtrace() instead of assuming it (Haelwenn
    (lanodan) Monnier)
  - !8834 textview: Don't cast root to window without checking type (Ben Mather)
  - !8836 GtkRange/GtkScale scroll improvements (Carlos Garnacho)
  - !8837 node editor: Fix the dark bg button (Matthias Clasen)
  - !8841 widget: Fix leak when disposing GtkLabel (Maximiliano Sandoval)
  - !8843 gsk: Don't crash on failed image creation (Matthias Clasen)
  - !8844 Fix license of GtkFileThumbnail files (Michael Catanzaro)
  - !8846 gdk/wayland: Support wl_seat version 10 (Carlos Garnacho)
  - !8847 gdk: Fix mixed-up axis names (Titouan Real)
  - !8848 Delete Kikongo and Turkmen translations (Michael Catanzaro)
  - !8853 print: Fix finding cpdb headers (Alessandro Astone)
  - !8855 text: Drop a redundant call (Matthias Clasen)
  - !8856 entry: Plug leak in update_extra_menu (Maximiliano Sandoval)
  - !8858 build: pass output file as argument to docutils rst2man/html (Eli
    Schwartz)
  - !8860 gtk: docs: Remove () at the end of method links (Maximiliano Sandoval)
  - !8861 gdk/wayland: Flush all tablet events after wp_tablet_tool.frame
    (Carlos Garnacho)
  - !8862 stroke: Really allow a line width of 0 (Matthias Clasen)
  - !8863 contentserializer: Change the order back here too (Matthias Clasen)
  - !8864 docs: Improve wording consistency (Matthias Clasen)
  - !8865 Assorted dialog fixes (Matthias Clasen)
  - !8868 docs: Add a section about dialogs (Matthias Clasen)
  - !8869 docs: Some more work on the dialog section (Matthias Clasen)
  - !8870 docs: Some more work on the dialog section (Matthias Clasen)

* Translation updates:

comment:5 by Bruce Dubbs, 8 months ago

Milestone: 12.5 → 13.0

Milestone renamed

Note: See TracTickets for help on using tickets.