GTK+ 3.8.0 released

From: Matthias Clasen <matthias clasen gmail com>

To: gnome-announce-list gnome org, gtk-list gnome org, gtk-app-devel-list gnome org, gtk-devel-list gnome org

Subject: GTK+ 3.8.0 released

Date: Mon, 25 Mar 2013 19:10:08 -0400

GTK+ 3.8.0 is now available for download at: http://download.gnome.org/sources/gtk+/3.8/ ftp://ftp.gtk.org/pub/gtk/3.8/ sha256 sum: db1345d89d6b5f5bad411b4b2a3b1a18a2a8f98d2ab1b40d43a0197a6e6c252e gtk+-3.8.0.tar.xz What is GTK+ ============ GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off tools to complete application suites. GTK+ has been designed from the ground up to support a range of languages, not only C/C++. Using GTK+ from languages such as Perl and Python (especially in combination with the Glade GUI builder) provides an effective method of rapid application development. GTK+ is free software and part of the GNU Project. However, the licensing terms for GTK+, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties. Since its origins as the toolkit for the GNU Image Manipulation Program (GIMP), GTK+ has been used in a wide range of software. Notably, GTK+ is the foundation of the GNOME desktop. What's new in 3.8 ================= Major new features include: * Wayland: - we support Wayland 1.0 now * Broadway: - we install a separate server: broadwayd * Theming: - Improve touch text handle theming - Always draw background of menuitems - The default font is no longer handled like a custom style sheet that overrides everything, but as the initial value. This is the same behavior as in web browsers. - It is now possible to set font-family and font-size like other CSS properties, and relative font sizes are supported. Font sizes in CSS can be specified as numbers or with keywords like xx-small, medium, smaller, larger,... - GtkFrame now draws a background - Opacity can be set on any GtkWidget, not just toplevels * Geometry management - Size groups now handle height-for-width - Fix corner cases in label size allocation - Invisible widgets now return a size of 0x0. This is an experimental change that makes GtkWidget::visible essentially behave the same way that "display: none" does in CSS. If you want the effect of CSS's "visibility: hidden", you can use a GtkNotebook with an empty page * Accessibility - Entry icons are now accessible - We install headers for accessible implementations of GTK+ widgets. This makes it possible to implement accessibility for third-party widgets by subclassing the proper GTK+ implementation. To do so, include gtk/gtk-a11y.h * Touch - We support touch friendly popups on entries and text views in place of context menus, on touch devices * Printing - The print dialog now shows printers that are discovered using avahi, if configured with --enable-avahi-browsing * GtkTreeView and GtkIconView allow single-click activation * We now support the Window Manager frame synchronization protocol draft (when running under a WM that supports it). This means applications will throttle their drawing cycle to what the compositor is drawing, and the compositor will never render half-updated windows, for seamless resizing and improves smoothness in drawing. See https://mail.gnome.org/archives/wm-spec-list/2013-January/msg00000.html and the articles at http://blog.fishsoup.net/ for more details. * Performance improvements - Size allocation has been optimized, by avoiding excessive resizing in various situations. - The performance of size groups has been improved. - Text rendering in GtkLabel and other widgets has been optimized to avoid excessive recreation of Pango layouts. - Icon loading overhead was reduced by caching of GtkIconInfo. - The CSS is now keeping a tree of selectors to speed up matchinh. * Deprecations and removals: - Custom CSS properties have been deprecated - Support for color schemes has been removed - gtk_style_provider_get_style, gtk_style_provider_get_icon_factory - GtkGradient and GtkSymbolicColor - All the padding style properties in menus - gtk_style_context_set_direction() has been deprecated in favour of state flags for text direction: GTK_STATE_FLAG_LTR/RTL - gtk_window_set_opacity has been deprecated in favor of gtk_widget_set_opacity * 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. For more details and lists of fixed bugs, see the NEWS file that is included in the tarball, or see: http://git.gnome.org/browse/gtk+/plain/NEWS?id=3.8.0 For concerns about porting from older GLib release, see the README file that is included in the tarball, or see: http://git.gnome.org/browse/gtk+/plain/README.in?id=3.8.0 Where to get more information about GTK+ ======================================== Information about GTK+ including links to documentation can be found at: http://www.gtk.org/ An installation guide for GTK+ is found at: http://library.gnome.org/devel/gtk3/stable/gtk-building.html Common questions: http://library.gnome.org/devel/gtk3/stable/gtk-question-index.html Contributing ============ GTK+ is a large project and relies on voluntary contributions. We are actively searching for new contributors in various areas and invite everyone to help project development. If you are willing to participate, please subscribe to the project mailing lists to offer your help and read over our list of vacant project tasks: http://live.gnome.org/GtkTasks Thanks to the many people who contributed to this release in the form of bug reports, patches and translations. March 25, 2013 Matthias Clasen