Update NEWS

This commit is contained in:
Matthias Clasen 2017-12-26 14:40:59 -05:00
parent 7be6d18f27
commit 1d28a7c2c1

166
NEWS
View File

@ -1,3 +1,169 @@
Overview of Changes in GTK+ 3.93.0
==================================
Major changes:
* GdkScreen has been removed. All screen-related APIs have equivalents
in GdkDisplay. This affects APIs in both GDK and GTK, for example,
the GtkWidget::screen-changed signal has been replaced by a new
::display-changed signal. As part of this change, there is no longer
a GdkWindow representing the root window. The X11 backend has APIs
to get X screens and root windows.
* GdkVisual has been removed.
* GdkDeviceManager has been replaced by GdkSeat.
* Clipboard handling has been moved from GTK to GDK, and has been
modernized to provide an extensible, asynchronous, stream-based API.
This affects APIs in both GDK and GTK. GdkSelection has been replaced
by GdkContentFormats, GdkContentProvider, GdkContentSerializer and
GdkContentDeserializer. Selection-related events and APIs have
been removed.
This conversion is complete for copy-paste, the drag-and-drop APIs
are still in flux.
* The GdkCursor API has been modernized. We no longer have the
GdkCursorType enumeration. Instead, can be created from names
or from GdkTextures. In GTK, we now have gtk_widget_set_cursor().
* Settings and window-state changes have been converted from events
to signals on GdkDisplay and GdkWindow, respectively.
* GdkEvent has been converted to an opaque GObject.
* The GL renderer in GSK has been substantially completed, and is now
on par with the Vulkan renderer.
* The use of GdkPixbuf in APIs has been reduced, and the GskTexture
object has been moved to GDK as GdkTexture, to take its place. This
change affects both GDK and GTK, for example the GtkAboutDialog::logo
property now accepts a GdkTexture. As part of these changes,
support for GdkPixbufAnimation has been dropped.
* The handling of icon sizes has been changed. The GtkIconSize
enumeration allows selection normal or large icons now, and the
actual icon size is determined by the theme, using the -gtk-icon-size
CSS property. Among other things, this allows animating icon size changes.
Smaller changes:
* Build system:
- Meson can now be used to build GTK+ on Windows
- We install print backends again
- libepoxy 1.4 is required
- libcloudproviders 0.2.5 is required
* GDK:
- gdk_keymap_get_for_display has been renamed to gdk_display_get_keymap
- We are no longer reading the GDK_DPI_SCALE environment variable
- The GdkX11Display::xevent signal has been added (to eventually replace event filters)
- gdk_pango_context_get_for_screen and gdk_pango_context_get have been dropped
- Default-display wrappers like gdk_set_double_click_time, gdk_beep, gdk_flush or
gdk_notify_startup_complete have been dropped
- gdk_display_set_program_class has been moved to the X11 backend
- The gdk_error_trap_push/pop APIs have been dropped, the X11 backend still has them
* Wayland:
- The Wayland backend now implements the KDE server-side decoration protocol
* Broadway:
- Broadway has been ported to GSK
- Only Unix domain sockets are supported now (we are passing fds to upload textures)
* GSK:
- We use cached textures for icons now
- We also use cached textures for symbolic icons, and recolor using a shader
- The glyph cache supports hi-dpi
- Some render node APIs have been tweaked: cairo, text, transform nodes
- GskRenderer::scale-factor and GskRenderer::viewport have been dropped
- gsk_render_node_set_scaling_filters has been dropped
* GTK:
- A new event controller, GtkEventControllerMotion, is intended to replace
most remaining uses of ::motion-notify-event
- New APIS: gtk_widget_contains and gtk_widget_pick
- gtk_widget_get_content_size has been replaced by gtk_widget_get_width/height
- The GtkWidget:parent-set signal has been dropped
- GtkHeaderBar::show-close-button has been renamed to ::show-title-buttons
- GtkFontButton::font-name has been replaced by GtkFontChooser::font
- The GtkTextTag::event signal has been dropped
- The text buffer serialization API has been removed
- We longer install 'semi-private' headers like gtktextlayout.h or gtktextdisplay.h
- gtk_application_is_inhibited has been dropped
* Theming:
- Focus rendering has been changed. Outlines are always rendered now, and
we set the :focus and :focus(visible) pseudo-classes on elements to allow
the theme control over where to render focus rectangles
- The font-feature-settings CSS property is supported
- The -gtk-icon-size custom CSS property allows theme control of icon sizes
* Emoji:
- We support Ctrl-. and Ctrl-; to pop up the Emoji chooser
- The Emoji chooser is also available in GtkTextView
- We avoid overly wide fallback rendering with some EmojiOne fonts
* GtkInspector:
- The inspector shows more render node details
- The UI has been slightly reorganized
* Bugs fixed:
668590 Need to check result of g_bus_get()
773299 Ensure GTK+-4.x builds and works on Windows (MSVC in particular)
775279 early calls to libepoxy cause all gtk3 programs to abort when ther...
777072 window shrinks when restored from maximized
779009 Missing property-change::accessible-description events when the to...
779862 Deprecate/rename gtk_header_bar_set_show_close_button() et. al.
783995 Monitor API inconsistencies across X11 & Wayland
784314 entry completion regression on wayland
785176 Add an item for favorite files in the GtkPlacesSidebar
785210 meson: Support build on Windows (using Visual Studio at least)
786123 GtkPlacesSidebar: Add support for libcloudproviders
787089 win32: GtkWindow of type GTK_WINDOW_POPUP/GDK_WINDOW_TEMP leaks me...
787128 Re-add FUSE network mounts in local-only mode
787142 Avoid assertion failed warnings from pango_layout_get_cursor_pos()...
787665 gdk_frame_clock_get_frame_time is irregular and causing stuttering
788841 Fix gtk_actionable_set_detailed_action_name API inconsistency
788898 Inspector: Default paned split position/ratio between tree and pro...
789054 Firefox crashes @gdk_window_begin_move_drag() on WM without _NET_W...
789134 gtk3-icon-browser: the copy button is not centred on the dialog
789149 GtkGestureZoom leaks the list of sequences while calculating the d...
789160 Add Windows compatible emoji shortcuts
789163 Fitzpatrick modifier selection requires lifting mouse button
789198 gdk: add accessor for GdkEventOwnerChange::reason
789213 Two Windows with GLAreas go horribly wrong
789327 appchooserwidget: Don't limit application list unconditionally
789357 Regression in 3.22.23: GDK_WINDOW_STATE_TILED flag is never set
789678 [GtkAboutDialog] GTK_LICENSE_AGPL_3_0 does not work
789733 Adwaita/HC: Fix entry.flat not being flat
789777 Resolving undefined reference to gdk_get_default_root_window
789870 gtk+4, GtkWindow: Several bugs when icon became a cairo_surface_t
790029 GtkTextView: Support gtk 3.22.19's emoji chooser
790031 GtkClipboardClearFunc is not being called
790171 gtk+4, GtkCssImageIconTheme: Don't unref a NULL pointer
790201 Settings in ~/.config/gtk-3.0/settings.ini ignored with GDK_BACKEN...
790287 gtk+4, GtkWindow: icon_from_list() does not scale down large icons
790489 broadway: Add missing dependency to build
790920 Add GdkSeat convenience API
790963 Thread safety issue in gtk_application_impl_dbus_startup
791062 Fix mapping window with complete xdg-foreign state
791176 GtkFileChooser: gtk4 defaults local_only to FALSE so docs need to ...
791281 Backport size allocation optimization from master to 3.22
791363 Shadow vertical offset is wrong when scaling is > 2
791549 gtklistbox: Crash on page-up on GtkListBox
791650 Do not warn about missing colord systemd service unit
791926 Cannot build gtk4 with documentation enabled
791927 Using '#!/usr/bin/perl' in scripts is not portable
* Updated translations:
Arabic
Czech
Polish
Russian
Serbian
Overview of Changes in GTK+ 3.92.1, 重庆市
==========================================