Version 3 of the GTK+ used by GNOME and GIMP has been released
The developers of the GIMP Toolkit, which was originally developed for GIMP but is now also used by GNOME, have released the third generation of their graphics library, commonly referred to as GTK+. It offers many advancements and eliminates numerous old GTK+ 2 problems that had accumulated over the toolkit's many years of backwards-compatible maintenance.
For example, the new generation GTK+ now exclusively uses Cairo for drawing graphics elements. The graphics library uses X Input 2 (XI2) for processing input device events; this improves the support of multiple pointers and other input devices. The new theming API can be configured via CSS, a technology that is already familiar from web development. GTK developer Matthias Clasen lists various other new features in a blog posting; however, the developer also admits that some of the changes intended for GTK+ 3 weren't completed in time and are now on the to-do list for the near future.
GNOME 3, which is expected in April, will already be based on GTK+ 3. To enable the use of GTK+ 2 programs, many Linux distributions will install both GTK+ 2 and GTK+ 3 in the coming years, similar to the procedure adopted when switching from GTK+ 1 to GTK+ 2.
For programmers, porting code from GTK+ 2 to 3 will in most cases involve less effort than when porting from GTK+ 1 to 2, as the differences aren't quite as significant if the code cleanly uses the functions offered by current GTK 2 versions; details about the required modifications can be found in a migration document. An FAQ provides answers to some of the most frequently asked questions, and a reference manual offers various tips for compiling GTK+ 3.