You Got A Question? Ask    GNOME Community!

GTK+ 3.9.10 and GLib 2.37.5 released!

This post was made with an older stylesheet

Two new development releases for the unstable branches of GTK+ and GLib+ have arrived a few hours ago. The changes concern the implementation of new actions for GLib and the bettering of GTK+ documentation and some GtkInfoBar updates as well as the usual extended bug fixing that goes on in such releases.

What is?

Both GTK+ and GLib are important cornerstones for the development of our favorite desktop environment. For this reason they are both actively developed by the Gnome community in the same context of the DE’s development plan.

GTK+ is the toolkit that Gnome developers use for creating the graphical user interfaces that we all use daily through Gnome’s official applications and tools. GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a mainloop abstraction, and so on. This library used to be a part of GTK+ itself, but is now developed separately without any GUI related portions.

GTK+ 3.9.10

The work of deprecating and throwing away whatever is no longer needed that started in previous versions continued on this release with the tear off of menu items. Documentation was greatly improved with new screenshots and better tutorials that will help new contributors and current developers work more efficiently.

GTK InfoBar updates:

  • Turn action area horizontal
  • Fix spacing
  • Add an easy way to add a close button


  • Modernize many screenshots
  • Redo the widget gallery
  • Improve “Getting Started” tutorial
  • Add new application examples to tutorial

Bugs fixed:

  • (#684558) – gtk_tree_model_rows_reordered is skipped by introspection
  • (#694086) – GtkEntry elements need clipping
  • (#698758) – Wrong limit for “Native Windows wider or taller than 65535 pixels are not supported”
  • (#700229) – provide a way to rate limit change signal in GtkSearchEntry
  • (#700896) – Rename gtk_widget_class_declare_callback()
  • (#700898) – Explain what “automated” mean in the context of children created with a template
  • (#701332) – Patch for minor glitch in NSTextInput
  • (#701365) – Do not assert sm_proxy != NULL in GtkApplication inhibit functions
  • (#701613) – XEmbed doesn’t work with frame-synced GTK/Mutter
  • (#702563) – gtk_widget_class_automate_child() takes private offset
  • (#704104) – gdk/wayland: cope with the compositor implementing an older protocol than us
  • (#704164) – GtkSearchEntry: the contents is always cleared on icon-release
  • (#704171) – Fix prototype of gdk_device_win32_warp
  • (#704216) – Fix prototype for gdk_quartz_device_core_warp
  • (#704274) – Add API to show a close button on GtkInfoBar
  • (#704392) – Improve GtkAction deprecation notices
  • (#704554) – FIX mmap fails when getting root_window
  • (#704700) – Gtk.IconView.get_cursor segfault
  • (#704747) – testsuite/a11y: Don’t check minimum increment
  • (#704894) – The GtkInfoBar close button is visible by default
  • (#704937) – IME input method does not handle dead keys
  • (#705060) – Remove unneeded include from gtkprintoperation-win32.c

GTK Website

GLib 2.37.5

In contrary with the previous GLib version that brought bug fixes only, this release brings new actions to the library as well as new api parts. Here is a short description of the most important changes:

  • Implement the Desktop Action specification: In the case that the application is a GApplication and DBusActivatable, actions from the desktop file are translated into GActions that have been added to the application with g_action_map_add_action().
  • GPropertyAction is a new type of GAction that represents the value of a property on an object, and allows to change the value when activated.
  • GNetworkMonitorNetlink can now handle default routes via a device.
  • The gsettings tool now reports failure to write a key (e.g. because the key was locked down)

Miscellaneous new api:

  • – g_variant_new_printf
  • – g_action_print_detailed_name
  • – g_regex_get_max_lookbehind

Bugs fixed:

  • (#664444) – Support additional application actions in .desktop files
  • (#684123) – glib build only tries -D_GNU_SOURCE if glibc is detected
  • (#689794) – support incremental matching
  • (#699259) – add org.freedesktop.Application support to GIO
  • (#700460) – rewrite tests to not rely on precise timing of timeouts
  • (#701511) – updates to various GSource types
  • (#701609) – gnetworkmonitornetlink: handle default route via device
  • (#703270) – add GPropertyAction
  • (#704157) – GAction: add function for printing detailed names
  • (#704250) – Doc: various fixes
  • (#704267) – regression gsourceclosure: segfault in gedit file chooser
  • (#704322) – glib-unix: fix handling of multiple signal source for the same signal
  • (#704424) – No error when failing to override a locked key
  • (#704447) – Fix build/use of g_child_watch_closure_callback on Windows
  • (#704523) – g_thread_create_full() can dereference NULL pointer
  • (#704543) – Add implementations for G_GNUC_*_IGNORE_DEPRECATIONS for Visual C++
  • (#704567) – gdbusnameowning: Don’t spew an error if we’re releasing a name due to closing
  • (#704585) – libc printf can give mixed-case strings for NaN and Inf
  • (#704587) – FTBFS: statfs_result is undeclared for statvfs()
  • (#704699) – gmain: Reset signal handlers to default when source is
  • (#704704) – AI_NUMERICSERV cannot be used with ai_socktype = 0
  • (#704873) – inotify: don’t assume mainloop is running
  • (#704999) – glib/convert.test crashing due to lack of iconv cache
  • (#704931) – GMenuModel: add annotations to virtual functions

GLib Website

  We can't watch comments unless G+ provides an API or if you send a notification, e.g +World Of Gnome
     Sometimes is better to place your questions on GNOME Community
  • Jay

    Wake me when GTk+ stops being shitty

    • alex285

      If we are sleeping for every project that isn’t good enough, we had to sleep for ever ;)

    • CameronN

      Wake me up when somebody actually says why it is shitty.