Overview of Changes in 4.4.0 ============================ * Input: - Match IBus for display of Compose sequences - Match IBus for handling of mismatches - Handle Escape in Compose sequences - Allow multiple dead keys - Support 32bit keysyms * GtkCheckButton: - Activate when moving focus * GtkLabel: - Propertly ignore double underscores for mnemonics * GtkPopoverMenu: - Fix focus cycling * GtkTextView: - Improve word selection * GdkToplevel: - Support the gnome-shell titlebar gesture protocol * GdkDropTarget: - Allow creating drop targets in ui files * gsk: - Handle partial color fonts correctly - Use harfbuzz for color font information - Avoid pango for glyph cache rendering - Shrink shadow extents * Settings: - Change the default for gtk-split-cursor to FALSE * Demos: - Small improvements to widget-factory - gtk-demo: Improve the hypertext demo - gtk-dem: Improve the clipboard demo * X11: - Set WM_CLASS on toplevels * Wayland: - Support wl_seat v7 * Windows: - Drop the local DND protocol - Avoid WGL if shaders don't work * Translation updates: Belarusian Friulian Hebrew Khmer Persian Polish Overview of Changes in 4.3.2 ============================ * GtkToggleButton: - Fix the actionable implementation * GtkCheckButton: - Fix the actionable implementation - Cancel activation on when the pointer leaves * GtkMenuButton: - Make activatable again - Add a way to have an icon + arrow * GtkColorButton: - Make activatable again * GtkFontButton: - Make activatable again * GtkAppChooserButton: - Make activatable again * GtkColumnView: - Fix double activation * GtkLabel: - Fix mnemonics without markup * GtkTreeView: - Clip header buttons * GtkTextView: - Add api to get the RTL and LTR contexts - Fix some errors in text history grouping * GtkText: - Don't show placeholder text on top of entry text - Add api to compute the cursor extents - Fix y coordinates for text selection * GtkFileChooser: - Don't show Trash in the side bar * GtkPopoverMenu: - Add scrollbars to long menus * GtkActionMuxer: - Fix propagation of accel changes * Introspection: - Annotate all filename arguments - Rename GtkMediaStream apis to avoid name collisions - Rename GtkDropTarget properties to avoid name collisions - Make GtkPasswordEntryBuffer introspectable * Printing: - Remove the Google Cloud Print backend * Theme: - Sync included icons with the Adwaita icon theme * GSK: - Avoid overflowing the vertex counter - Handle negative scales correctly in the ngl renderer * GDK: - Cleanup and simplify OpenGL setup code - Add a GdkDisplay::init_gl vfunc and gdk_display_prepare_gl() api - Require EGL 1.4 - Fix EGL + NVidia * Build: - Enable gstreamer by default - Disable Vulkan by default - Remove the sassc option - Remove options and checks for X11 extensions * X11: - Stop using XComposite - Remove the Visual cache * Wayland: - Fix some DND corner cases - Work with version 2 of pointer-gestures-v1 - Look for cursor themes in $HOME/.icons * Windows: - Fix SIGILL on x64 due to popcnt - Fix popup placement - Fix drag icon placement - Clean up HiDPI and WGL support - Default to WGL * MacOs: - Fix input method support - Register known clipboard types for drop targets - Add initial DND support * Translation updates: Brazilian Portuguese Portuguese Romanian Turkish Ukrainian Overview of Changes in 4.3.1 ============================ * GtkEmojiChooser: - Update data from CLDR 39 - Load Emoji data for both language and territory * GtkCalendar: - Fix an off-by-one error in day numbers * GtkListView: - Add .activatable style class to activatable items * GtkCheckButton: - Don't allow unchecking grouped radio buttons *GtkToggleButton: - Fix mnemonic activation propagation * GtkLabel: - Make mnemonics work even when invisible - Fix mnemonic activation propagation * GtkMenuButton: - Add a property to mark primary menus and make F10 work * GtkApplication: - Fix initial screensaver state async * GtkEntry: - Apply xalign to placeholder text (as it was in GTK 3) * GtkSpinButton: - Fix swipe gestures * GtkStackSwitcher: - Implement GtkOrientable (as it was in GTK 3) - Fix a use-after-free problem with drag timeouts * GtkFileChooser: - Add support for (case-insensitive) suffix matches in GtkFileFilter * GtkPasswordEntry: - Make GtkPasswordEntryBuffer public, to make it easier to write your own password entry widget * Input: - Fix interference between various obscure XKB features (e.g. overlays) and Compose sequences * Action support: - Fix submenu-action handling * Theme: - Update icons from the Adwaita icon theme - Fix icon names for GtkSwitch - Fix switch-off icon * GSK: - Improve transformed offscreen rendering - Add padding between cached glyphs * Wayland: - Fix monitor sizes in the presence of transforms - Add a getter for the EGLDisplay - Fix click-drag-release sequences for popovers * X11: - Support EGL for X11. Fall back to GLX if EGL isn't available - Always fall back to GLX on NVidia - Add a getter for the EGLDisplay * Broadway: - Add a setter for display scale * Windows: - Add a getter for the EGLDisplay - Make GL work for media playback * MacOS: - Fix menubar appearance * Tools: - gtk4-builder-tool: Replace can-focus with focusable in 3-to-4 conversion * Introspection: - Add missing annotations in a few places (e.g. gtk_free_view_row_activated) * Build: - Only build one source file with -mf16c - Fix devel styling for ci flatpak builds - Generate appdata for demo flatpaks * Docs: - Numerous fixes and additions * Translation updates: Friulian Nepali Norwegian Bokmål Ukrainian Overview of Changes in 4.3.0 ============================ * GtkVideo: - Detect stream metadata when using gstreamer * GtkFileChooser: - Fix a crash * GtkButton: - Add back visual feedback for keynav activation * GtkFontChooser: - Fix initial font selection * Text widgets: - Replace squiggly error underlines by dotted lines - Support translucent selections * GtkTextView: - Various improvements to rendering performance * GtkScrolledWindow: - Stop using scroll cursors * GtkMenuButton: - Make focus-on-click work * GtkToggleButton: - Make grouped buttons mutually exclusive * GtkPasswordEntry: - Use MADV_DONTDUMP for secure memory * GtkListBox: - Allow repeated selection extension for MULTIPLE * Themes: - Reorganize and rename included themes. The theme is now called Default, with dark, hc and hc-dark variants. Visually, the themes are unchanged. - The theme variants are also available as standalone themes called Default-dark, etc. - The theme named Adwaita is moving to libadwaita - Fix resize border sizing - Fix solid-csd window decorations * Input: - Revert some Compose sequence changes (mainly around dead acute and apostrophe) - Consume all key events during preedit, to avoid unexpected interactions - Ignore more modifiers during preedit, to allow using 3rd and 5th level choosers - Fix handling of cursor positions in non-ASCII preedit text - Fix a problem with deferred focus setting * GdkClipboard: - Ensure strings are nul-terminated * GSK: - Improvements to the ngl renderer - Fix offscreen rendering with transforms - Fix downscaled textures - Avoid huge intermediate textures - Use fp16 for colors - Optimize handling of underlines in text - Fix corner cases of shadow rendering - Reorganize shader resources - Make shadow rendering match across renderers * Accessibility: - Various fixes to get Orca to speak (still a work in progress) * Wayland: - Improve font settings fallback - Avoid unintentional rendering freezes with popovers - Support the xdg_activation_v1 protocol * X11: - Don't beep on untrusted displays - Don't crash when popovers are outside the workarea * Windows: - Fix using GL rendering with Mesa drivers * Tools: - Add support for copy/paste in gtk4-node-editor - Make syntax highlighting work in the gtk4-demo flatpak * Inspector: - Enable the inspector by default, in all cases - Show keyboard layouts - Improve monitor information * Translation updates: Catalan Chinese (Taiwan) Dutch Nepali Polish Swedish Ukrainian Overview of Changes in 4.2.0 ============================ * GtkFileChooser: Make the location entry work again * GtlLabel: Fix tooltips on links * GtkTextView: Make scrolling work better with renderers * X11: - Fix damage handling - Trap errors from the COW * Windows: - Use a visible scroll cursor - Include more icons for icon-theme-less situations * Wayland: Fix key event matching with mismatched layouts. This was causing keyboard accelerators to trigger unexpectedly * Inspector: Allow inspecting Unicode * Input: - Improve dead key handling - Regenerate compose sequence table * gsk: - Fix a crash in the ngl renderer - Fix a rounding error in subpixel glyph positioning - ngl: Implement glyph cache eviction - ngl: Improve the glyph cache effectiveness - ngl: Fix uniform key mapping on Windows - Make the ngl renderer the default * build: - Fix build with cairo as subproject - Disable g_assert in release builds - Include gi-docgen as subproject - Include generated docs * Translation updates: Hebrew Hungarian Italian Polish Portuguese Swedish Ukrainian Overview of Changes in 4.1.2 ============================ * Input: - Ensure preedit-start and preedit-end are emitted properly - Support the Wayland text protocol better - Delete the selection when preedit starts * Label: Fix a small issue with markup parsing and mnemonics * Spinbutton: Interpret localized digits * Textview: Fix blinking block cursors * Tooltips: Don't pop up erroneous on popovers * Window: Add a way to disable F10 handling * Theme: - Use a regular focus ring for sidebar rows * GSK - ngl: Performance improvements - vulkan: Add visible fallback rendering - vukan: Handle simple transforms when clipping * Wayland: - Don't force a full redraw for every frame - Don't leak buffers when rendering with cairo * Demos: - iconbrowser: Make search more useful * Documentation: - Switch to building docs from gir files with gi-docgen * build: - Allow GTK to be used as meson subproject * Translation updates Catalan Czech Finnish French Indonesian Kazakh Latvian Norwegian Bokmål Polish Serbian Turkish Overview of Changes in 4.1.1 ============================ * Popover: - Support shadows on popover > contents * Input: - Show preedit for compose sequences - Support long compose sequences - Support compose sequences producing multiple characters * Themes: - Allow suggested and destructive actions in lists - Disable shadows on maximized, fullscreen and tiled windows - Fine-tune scrollbar transitions and size * CSS: - Support drop-shadow filters - Correct blur filter spread interpretation * Documentation: - Improvements and updates for dialogs and native dialog * Printing: - Support Avahi-discovered printers better * GSK: - Add another OpenGL render. It is not the default yet. To try it, use GSK_RENDERER=ngl * Build: - Lots of static analysis fixes found by pvs - Add a -Dprofile=devel option for devel styling and use it for nightly flatpaks * X11: - Fix DND of X11-specific types * Wayland: - Fix lookup of font settings in flatpaks * Windows: - Fix window resizing - Avoid UAC for gtk-update-icon-cache * MacOs: - Use correct module file extension - Make OpenGL context opaque when possible - Fix window resizing * Translation updates: British English Czech Danish Galician Hungarian Turkish Overview of Changes in 4.1.0 ============================ * GtkCheckButton: - Add back an activate signal * GtkSearchBar, GtkSearchEntry: - Capture events in the bubble phase * GtkEmojiChooser: - Adapt to small screen sizes * GtkVideo: - Fix issues with GL support * Themes: - Set sort arrows in CSS - Set menu button arrows in CSS - Make scrollbars larger - Supprt circular menubuttons * CSS: - Implement transform-origin - Support overlines on text - Support colors in cross-fade() - More complete text-decoration-line support * Text layout: - Use subpixel positioning with new enough cairo * Inspector: - Fix slowness in navigation - Redo the controllers and shortcuts pages * Accessibility: - Create AT context objects lazily * Wayland: - Fix decoration negotiation under kwin * GSK: - Optimize gradient shaders - Implement repeating gradients in shaders * Translation updates - Czech - Greek - Hungarian - Persian - Punjabi - Romanian - Swedish - Ukrainian Overview of Changes in 4.0.2 ============================ * GtkAboutDialog: - Set icon size for the logo - Fix initial focus to be the same as in GTK 3 * GtkImage: - Update icons on scale change * Wayland: Fix crashes with touch and tablet events * Windows: - Fix surface and geometry computation - Remove layered window usage * MacOS: Support stylus devices * Themes: - Adwaita: Remove edge highlights - Adwaita: Update image assets - Make Adwaita-dark available as standalone theme - Make HighContrastInverse the dark variant of HighContrast * Docs: - Complete GtkAspectFrame docs - Clarify migration docs for widget signals * Inspector: - Fix a critical with the recorder - Fix a crash with treeviews - Show overlay layout properties - Add a legend for the layout overlay * Build: - Fix build with gcc 11 - Support building without sassc * Translation updates: Basque Czech Friulian Polish Romanian Spanish Swedish Ukrainian Overview of Changes in 4.0.1 ============================ * GtkPopover - Center titles - Fix menu item alignment with submenus * GtkVideo - Fix up autoplay semantics - Respect pixel aspect ratio - Get GL textures from gstreamer * GtkCenterLayout - Fix handling of expanding center child * GtkSettings - Change gtk-cursor-aspect-ratio to double - Fix the default value of gtk-print-backends * GtkGestureStylus - Convert motion history to surface coordinates * GL renderer - Various optimizations - Avoid leaking shader objects * Adwaita - Fine-tune flat buttons - Improve contrast of dim-label - Improve contrast of controls in headers * Docs - Add various missing types - Add DND examples - Correct css docs for several widgets - Improve GtkVideo docs - Update migration docs for GtkClipboard - Improve migration docs for event controllers - Add migration docs for GtkBuilder * gtk4-builder-tool - Remove GtkCheckButton::draw-indicator - Fix a buffer overrun - Remove GtkToolbar::toolbar-style * Demos - Don't put the search bar in the scroll area - Make the OpenGL demos work with OpenGL ES * X11 - Fix a possible crash * Build - Fix vulkan reference in pc file - Fix build with certain Vulkan versions * Windows: - Fix build with Visual Studio 2013 * OS X: - Fix build on OS X - Fix crash on Mojave - Fix a window sizing issue - Fix build on OS X 10.12 - Add a CI build * Translation updates: Basque Brazilian Portuguese Catalan Galician German Japanese Lithuanian Persian Punjabi Romanian Ukrainian