[gtk+] README: Refer to release notes online
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] README: Refer to release notes online
- Date: Tue, 31 May 2016 00:25:18 +0000 (UTC)
commit 14e33ab0f58fe11f973ff8f7615b3044b2113889
Author: Matthias Clasen <mclasen redhat com>
Date: Mon May 30 20:24:13 2016 -0400
README: Refer to release notes online
We don't want to maintain this information in two places,
so just link to the online documentation here.
README.in | 291 +-----------------------------------------------------------
1 files changed, 5 insertions(+), 286 deletions(-)
---
diff --git a/README.in b/README.in
index 1dec201..9315f92 100644
--- a/README.in
+++ b/README.in
@@ -73,291 +73,10 @@ Patches should be in unified diff form. (The -up option to GNU diff)
Even better are git-formatted patches. (Use git format-patch)
-Release notes for 3.20
-======================
+Release notes
+=============
-* The way theming works in GTK+ has been reworked fundamentally, to
- implement many more CSS features and make themes more expressive.
- As a result, custom CSS that is shipped with applications and third-
- party themes will need adjustments. Widgets now use element names much
- more than style classes; type names are no longer used in style matching.
- Every widget now documents the element names it has and the style classes
- it uses. The GTK+ inspector can also help with finding this information.
+Release notes for releases of GTK+ 3.x are part of the migration
+guide in the GTK+ documentation. See
-* GTK+ now uses internal subobjects (also known as gadgets) for allocating
- and drawing widget parts. Applications that subclass GTK+ widgets may see
- warnings if they override the size_allocate vfunc and don't chain up.
- The proper way to subclass is to chain up in size_allocate. If you do not
- want to do that for some reason, you have to override the draw vfunc as
- well.
-
-* Several fixes for window sizing and window placement with client-side
- decorations may affect applications that are saving and restoring window
- sizes. The recommended best practice for this which is known to work with
- client-side and server-side decorations and with older and newer versions
- of GTK+ is to use gtk_window_get_size() to save window sizes and
- gtk_window_set_default_size() to restore it.
- See https://wiki.gnome.org/HowDoI/SaveWindowState for a detailed example.
-
-* Geometry handling in GtkWindow has been removed. If you are using the
- functions gtk_window_resize_to_geometry, gtk_window_set_default_geometry,
- gtk_window_parse_geometry or gtk_window_set_geometry_hints, you may need
- to make some changes to your code.
-
-* GtkDrawingArea used to implicitly render the theme background before
- calling the ::draw handler. This is no longer the case. If you rely
- on having a theme-provided background, call gtk_render_background()
- from your ::draw handler.
-
-* The GtkFileChooser interface prerequisite changed from GtkWidget
- to GObject, allowing non-widget implementations of this interface.
- This is a minor change in ABI, as applications are no longer guaranteed
- that a GtkFileChooser also supports all GtkWidget methods. However, all
- previously existing implementations still derive from GtkWidget, so no
- existing code should break.
-
-* The way in which GtkLevelBar determines the offset to apply was a bit
- inconsistent in the past; this has been fixed. Applications that are using
- custom offsets should double-check that their levels look as expected.
-
-Release notes for 3.18
-======================
-
-* The GtkListBox model support that was introduced in 3.16 has been
- changed to no longer call gtk_widget_show_all on rows created by
- the create_widget_func. You need to manage the visibility of child
- widgets yourself in your create_widget_func.
-
-* The alpha component of foreground colors that are applied to
- GtkCellRendererText is no longer ignored. If you don't want your
- text to be translucent, use opaque colors.
-
-Release notes for 3.16
-======================
-
-* GTK+ now includes an OpenGL rendering widget. To support GL on various
- platforms, GTK+ uses libepoxy.
-
-* GTK+ no longer uses gtk-update-icon-cache during its build. The
- --enable-gtk2-dependency configure option has been removed.
-
-* The introspection annotations for the x and y parameters of
- GtkMenuPositionFunc have been corrected from 'out' to 'inout'.
- If you are using such a function from language-bindings, this
- may require adjustments.
-
-* The lookup order for actions that are activated via keyboard
- accelerators has been changed to start at the currently focused
- widget. If your application is making use fo nested action groups
- via gtk_widget_insert_action_group, you may want to check that
- this change does not upset your accelerators.
-
-* The GtkScrollable interface has gained a new vfunc, get_border,
- that is used to position overshoot and undershoot indications that
- are drawn over the content by GtkScrolledWindow. Unless your scrollable
- has non-scrolling parts similar to treeview headers, there is no need
- to implement this vfunc.
-
-* The GtkSearchEntry widget has gained a number of new signals that
- are emitted when certain key sequences are seen. In particular, it
- now handles the Escape key and emits ::stop-search. Applications that
- expect to handle Escape themselves will need to be updated.
-
-Release notes for 3.14
-======================
-
-* A new state, GTK_STATE_FLAG_CHECKED, has been added for checked states
- of radio and check buttons and menuitems. Applications that are using
- GTK+ styles without widgets will need adjustments.
-
-* Adwaita is now the default theme on all platforms.
-
-* The icon theme code has become a little pickier about sizes and is not
- automatically scaling icons beyond the limits defined in the icon theme
- unless explicitly asked to do so with GTK_ICON_LOOKUP_FORCE_SIZE.
-
-* GTK+ now includes an interactive debugger which can be activated with
- the keyboard shortcuts Ctrl-Shift-d or Ctrl-Shift-i. If these shortcuts
- interfere with application keybindings, they can be disabled with the
- setting org.gtk.Settings.Debug.enable-inspector-keybinding.
-
-* Most widgets have been ported to use the new gesture framework internally
- for event handling. Traditional event handlers in derived widgets are still
- being called.
-
-* Using GTK+ under X11 without the X Render extension has been observed
- to be problematic. This combination is using code paths in cairo and
- graphics drivers which are rarely tested and likely buggy.
-
-* GtkTextView is now using a pixel-cache internally, and is drawing
- a background underneath the text. This can cause problems for applications
- which assumed that they could draw things below and above the text
- by chaining up in the ::draw implementation of their GtkTextView subclass.
- As a short-term workaround, you can make the application apply a
- custom theme to the text view with a transparent background. For
- a proper fix, use the new ::draw_layer vfunc.
-
-Release notes for 3.12
-======================
-
-* GtkWidget had a hack where if opacity is 0.999 we set up an opacity
- group when rendering the widget. This is no longer needed in 3.10,
- and GtkStack doesn't use it anymore. It has been removed in 3.12.
- GdStack is using it, so applications should be ported from GdStack
- to GtkStack in 3.12.
-
-* GtkHeaderBar in 3.10 was not ordering its pack-end children in
- the right way. This has been fixed in 3.12. Applications which
- pack multiple widgets at the end of a headerbar will have to
- be updated.
-
-* gtk_text_view_add_child_in_window has changed behaviour a bit.
- It now always positions the child in buffer coordinates, where
- it used to inconsistently scroll with the buffer but then go
- reposition to a window-relative position on redraw.
-
-* A number of container widgets have been made more compliant with
- the uniform CSS rendering model by making them render backgrounds
- and borders. This may require some adjustments in applications that
- were making assumptions about containers never rendering backgrounds.
-
-Release notes for 3.10
-======================
-
-* GDK has been changed to allow only a single screen per display.
- Only the X11 backend had multiple screens before, and multi-screen
- setups (not multi-monitor!) are very rare nowadays. If you really
- need multiple X screens, open them as separate displays.
-
-* The behavior of GtkBox::expand has been changed to never propagate
- up. Previously, this was happening inconsistently. If you want the
- expand to propagate, use the GtkWidget h/v expand properties.
- If you experience sizing problems with widgets in ported code,
- carefully check the expand and fill flags of your boxes.
-
-* GtkBin no longer provides default implementations for
- get_height_for_width, subclasses now have to provide their own
- implementation if they need height-for-width functionality.
-
-* Widget state propagation has been changed. Historically, all of
- active, prelight, selected, insensitive, inconsistent and backdrop
- have been propagated to children. This has now been restricted
- to just the insensitive and backdrop states. This mostly affects
- theming.
-
-* The way widget drawing happens has changed. Earlier versions handled
- one expose event per GdkWindow, each with a separate cairo_t. Now we
- only handle the expose event on the toplevel and reuse the same
- cairo_t (with the right translation and clipping) for the entire
- widget hierarchy, recursing down via the GtkWidget::draw signal.
- Having all rendering in the same call tree allows effects like
- opacity and offscreen rendering of entire widget sub-hierarchies.
- Generally this should not require any changes in widgets, but
- code looking at e.g. the current expose event may see different
- behavior than before.
-
-* The Gtk+ scrolling implementation has changed. gdk_window_scroll()
- and gdk_window_move_region() no longer copy the region on the
- window, but rather invalidate the entire scrolled region. This is
- slightly slower, but allowed us to implement a offscreen surface
- scrolling method which better fits modern hardware. Most scrolling
- widgets in Gtk+ have been converted to use this model for scrolling,
- but external widgets implementing scrolling using GdkWindow may see
- some slowdown.
-
-Release notes for 3.8
-=====================
-
-* GtkIconInfo has changed from being a boxed type to a GObject. This
- is technically an ABI change, but basically all existing code
- will keep working if its used as a boxed type, and its not
- possible to instantiate GtkIconInfos outside Gtk, so this is not
- expected to be a big problem.
-
-Release notes for 3.6
-=====================
-
-* The accessibility bridge code that exports accessible objects
- on the bus is now used by default; atk-bridge has been converted
- into a library that GTK+ links against. To void the linking,
- pass --without-atk-bridge when configuring GTK+.
-
-* GDK threading support has been deprecated. It is recommended to
- use g_idle_add(), g_main_context_invoke() and similar funtions
- to make all GTK+ calls from the main thread.
-
-* GTK+ now follows the XDG Base Directory specification for
- user configuration and data files. In detail,
- * $XDG_CONFIG_HOME/gtk-3.0/custom-papers is the new location
- for $HOME/.gtk-custom-papers
- * $XDG_CONFIG_HOME/gtk-3.0/bookmarks is the new location
- for $HOME/.gtk-bookmarks
- * $XDG_DATA_HOME/themes is preferred over $HOME/.themes
- * $XDG_DATA_HOME/icons is preferred over $HOME/.icons.
- Existing files from the old location will still be read
- if the new location does not exist.
-
-* $HOME/.gtk-3.0 is no longer in the default module load path.
- If you want to load modules from there, add it to the GTK_PATH
- environment variable.
-
-Release notes for 3.4
-=====================
-
-* Scroll events have been separated from button events, and smooth
- scrolling has been added with a separate event mask. Widgets now
- need to have either GDK_SCROLL_MASK or GDK_SMOOTH_SCROLL_MASK in
- their event mask to receive scroll events. In addition, the
- GdkScrollDirection enumeration has gained a new member,
- GDK_SCROLL_SMOOTH, so switch statements will have to be amended
- to cover this case.
-
-* GTK+ now uses <Primary> instead of <Control> in keyboard accelerators,
- for improved cross-platform handling. This should not affect
- applications, unless they parse or create these accelerator
- manually.
-
-* The tacit assumption that the Alt key corresponds to the MOD1
- modifier under X11 is now a hard requirement.
-
-* The beagle search backend for the file chooser has been dropped.
- Tracker is the only supported search backend on Linux now.
-
-* GtkNotebook has been changed to destroy its action widgets when
- it gets destroyed itself. If your application is using action
- widgets in notebooks, you may have to adjust your code to take
- this into account.
-
-* GtkApplication no longer uses the gtk mainloop wrappers, so
- it is no longer possible to use gtk_main_quit() to stop it.
-
-* The -uninstalled variants of the pkg-config files have been dropped.
-
-* Excessive dependencies have been culled from Requires: lines
- in .pc files. Dependent modules may have to declare dependencies
- that there were getting 'for free' in the past.
-
-Release notes for 3.2
-=====================
-
-* The accessible implementations for GTK+ widgets have been integrated
- into libgtk itself, and the gail module does not exist anymore. This
- change should not affect applications very much.
-
-Release notes for 3.0
-=====================
-
-* GTK+ 3 is a major new version of GTK+, which is parallel installable
- with GTK+ 2.x. For information about porting applications from GTK+ 2.x
- to GTK+ 3, see the file:
-
- docs/reference/gtk/html/migrating.html
-
- Or online at:
-
- http://library.gnome.org/devel/gtk/3.0/migrating.html
-
-* Note that the library sonames in this release have been changed from
- libgtk-3.0 and libgdk-3.0 to libgtk-3 and libgdk-3, to prevent the
- library versions from going backwards, compared to the 2.90/91/99
- releases. Applications will have to be recompiled.
+https://developer.gnome.org/gtk3/unstable/gtk-migrating-2-to-3.html
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]