GTK+ 3.8.0 released



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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]