GTK+ 2.99.0 announced

GTK+ 2.99.0 is now available for download at:

304a9f4553b6e5de224053245d21b897ede9ef44a232de7f769e5116f40bd41a  gtk
37060a94be5c0c72c2a68298ee2cb35ef9f275bd76d3bcd69a189f7539c030b6  gtk

This is a beta release of what will become GTK+ 3.0.


 * GTK+ 3 will be parallel installable with GTK+ 2.x, and
   this release has been prepared to test this by renaming
   all .pc files, libraries, include paths, and so forth,
   to include a '3.0' component.

   An exception to this are the gtk-update-icon-cache and
   gtk-builder-convert utilities, for which parallel installation
   would make little sense.

 * GTK+ 3 will remove deprecated API from the GTK+ 2.x series and
   make struct members unavailable that have been GSEALed in 2.x.
   Therefore, applications can be prepared for porting to GTK+ 3
   by making sure that they build with -DGTK_DISABLE_DEPRECATED

   For more information about porting concerns,
   see the porting guide that is included in the API doc.

   The removal of GSEALEd struct members has been completed in
   this release. A handful of 2.x deprecations still need to be
   dealt with; the majority of deprecations in this release
   are new in 3.0, and will not be removed before GTK+ 4.0.

 * Bugs should be reported to

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

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.

Where to get more information about GTK+

Information about GTK+ including links to documentation can be
found at:

An installation guide for GTK+ is found at:

A porting guide from GTK+ 2.x to GTK+ 3:

Common questions:

(note that the links in this section may not work until tomorrow)


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:

Overview of Changes from GTK+ 2.91.7 to 2.99.0

* Deprecations and removals:
 - Long-obsolete linuxfb-related GtkWindow APIs have been dropped
 - All remaining G_SEALed struct members have been removed
 - GtkThemeEngine has been removed
 - gdk_display_get_window_at_device_position() has been renamed to
 - gdk_display_get_device_state() has been renamed to
 - gdk_device_set_source() has been dropped
 - gdk_set_pointer_hooks(), gdk_display_set_pointer_hooks() and
   gdk_display_set_device_hooks() have been removed
 - The deprecated GtkNotebook:tab-pack child property has been removed
 - The deprecated gtk_quit_add() functions have been removed
 - The GtkRange update-policy facility has been removed

* The gtk-update-icon-cache and gtk-builder-convert utilities have
  been renamed back to their un-suffixed names. Distributions will
  have to resolve the conflict between GTK+ 2.x and 3.0 packages
  by dropping one set of the utilities and adding a dependency.

* It is now possible to include multiple GDK backends in a single
  library. The --with-gdk-backend option has been split into separate
  --enable-{x11,win32,quartz}-backend options.

* The GDK Quartz backend has been ported to the new GDK backend API

* A number of widgets have been ported to use GtkStyleContext directly:
  GtkAccelLabel, GtkArrow, GtkSeparator, GtkSpinButton,
  GtkMessageDialog, GtkFrame, GtkEventBox, GtkScrolledWindow,
  GtkProgressBar, GtkEntry, GtkFileChooserEntry, GtkSwitch,
  GtkHandleBox, GtkToolbar, GtkFixed, GtkToolPalette, GtkAboutDialog,
  GtkAssistant, GtkTrayIcon, GtkPaned, GtkToolButton, GtkSocket,
  GtkRecentChooser, GtkTooltip, GtkPathBar, GtkWin32EmbedWidget,
  GtkCellView, GtkDialog, GtkDrawingArea, GtkPlug, GtkEntryCompletion,
  GtkFileChooserButton, GtkFileChooser, GtkHandleBox, GtkLinkButton,

* Various problems with width-for-height geometry management have been
  fixed in GtkAlignment, GtkCheckButton, GtkBin

* The GtkComboBox, GtkIconView and GtkCellView widgets have been ported
  to use GtkCellArea for their cell layouts

* The cups print backend can now send print jobs directly in PDF if
  cups supports it

* GtkNumerableIcon is a variant of GEmblemedIcon for using numbers
  as emblems

* Bugs fixed:
 144324 Leaking dnd contexts with XDnD
 165987 unsets DESKTOP_STARTUP_ID
 307963 GtkSpinButton clamps value with the wrong maximum.
 321958 gtk.Calendar Notes should also say the format of year
 533745 Segfault on gdk.DragContext.drag_get_selection()
 553404 Out-of-date comment in gtk_text_view_add_child_in_window()
 559503 Description should mention gregorian
 560177 Applications should send print jobs to CUPS in PDF format...
 562182 gtk_init() docs inaccurate
 599130 Ending a drag using space or enter doesn't always cause a...
 617312 Move documentation to inline comments: GtkDialog
 617315 Move documentation to inline comments: GtkDrawingArea
 617322 Move documentation to inline comments: GtkEntryCompletion
 617327 Move documentation to inline comments: GtkExpander
 617471 Migrate API docs from templates to source files...
 621720 Use $(AM_V_GEN) to silent the build a bit.
 622125 Note that gtk_show_uri needs gvfs to spawn URLs
 629955 Deprecate/remove gtk_main and gtk_init_add/remove* API
 633795 gdk_event_get_state wrongly extracts GDK_PROPERTY_NOTIFY...
 634711 Xlib warning when RANDR is missing
 635299 add gtk_selection_data_get_data_with_length API...
 637691 Eating events breaks proxied DND
 637721 gtk 2.91.6 issue with gtkcellrendererprogress
 637736 [GtkAboutDialog] Newlines are ignored in translator-credits
 637763 [GtkAboutDialog] no longer display contact link
 637834 gtk_widget_verify_invariants: relax toplevel checks
 637849 Shell segfaults when unicode characters after U+00FF...
 637895 gdk_pointer_grab() deprecated comment is not helpful enough
 637907 gtkwindow.h includes a private header
 637910 GtkSpinner - does not animate
 637958 print dialog doesn't fit on netbook screen size
 637974 Gtk+ 2.91.7 build of introspection fails
 638179 in draw signal handle call gtk_style_context_add_provider...
 638193 GtkSpinButton documentation out of date
 638231 GtkSwitch states translation
 638386 gdk_x11_display_init_input careless
 638580 'application' window's property released too late
 638608 gtkenums: add GTK_STATE_FLAG_NORMAL = 0

* Updated translations:
 Norwegian bokmål

Contributors to this release:
Robert Ancell
Tristan Van Berkom
Kristian Rietveld
Javier Jardón
Tim Janik
Brian Cameron
Carlos Garnacho
John Ralls
Dan Winship
Benjamin Otte
Alejandro Piñeiro
Ignacio Casal Quinteiro
Hans Breuer
Nguyễn Thái Ngọc Duy
Carlos Garcia Campos
Adrian Johnson
Kristian Høgsberg
Julien Cristau
John Palmieri
Frederic Crozat
Diego Escalante Urrelo
Milan Bouchet-Valat
Szilárd Pfeiffer
Bruno Piguet
Nikos Kouremenos
Garrett Regier
Tadej Borovšak
Emilio Pozuelo Monfort

January 6, 2011
Matthias Clasen

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