Commit c8de2b11 authored by Allison Karlitskaya's avatar Allison Karlitskaya

GLib 2.38.0

parent 9da87f59
What's new in Glib 2.38
* Application support
- GIO now provides an implementation of Desktop Actions from the
desktop entry specification
- GApplication now implements the org.freedesktop.Application
interface as per the desktop entry specification, allowing for
standards-based D-Bus launching of GLib-based applications
- GDesktopAppInfo now supports DBusActivatable as per the desktop
entry specification, allowing GLib-based applications to use D-Bus
to launch other applications
- GApplication now has a "busy" flag that can be set on an application
to allow the shell to show that it is busy
* GObject
- the private offset for a given class type is now always constant.
This was done by reorganising the memory layout of instances so that
the private data comes before the "official" pointer for the object
(ie: at a negative offset). Valgrind macros were added to mitigate
any problems that this may have caused.
- a new G_DEFINE_TYPE_WITH_PRIVATE has been added along with a
generated function *_get_instance_private() that can now serve as an
equally-performing alternative to ->priv pointers in instances
(allowing memory savings)
provide a convenient method of converting between named variables in
private structures and their (now constant) offsets
- installing properties on a GObjectClass must now be done from
class_init. It is no longer valid to install them after class_init
has returned.
- it is now possible to manually break a GObject property binding
without destroying one of the objects involved
* Icons
- the requirements for implementing the GIcon interface have changed
in order to make it possible to consume all implementations of GIcon
with a finite number of cases
- a new GBytesIcon type was added for an icon represented by an
in-memory binary blob in a known image format (ideally png).
- new APIs g_icon_serialize() and g_icon_deserialize() replace the old
to/from_string APIs and will always work, irrespective of which
types have been initialised in the calling process, allowing for a
serialised GdkPixbuf to be deserialised in a process that doesn't
have GdkPixbuf
- support for icons has been added to GMenuModel using the new APIs
* Actions and menus
- GPropertyAction provides a convenient way of creating a stateful
property corresponding to a property on a GObject, such as the
"visible-child-name" property of a GtkStack
- new API g_menu_remove_all()
- we now have established rules about what is a "valid" action name
and an API to check them
- a new API for converting detailed action names to and from the
split-out name and parameter value (as GVariant)
- for backwards compatibility, invalid action names can still be used
with most functions, but this is not recommended
* Other GIO
- GDBus now supports services that wish to handle some of all
properties on an interface asynchronously, without requiring the
service to reimplement the entire org.freedesktop.DBus.Properties
- GFile now has a new _measure_disk_usage() (and async) API for
recursively determining the amount of disk space used by a
particular directory (akin to 'du').
- asynchronous version of g_file_trash() and g_file_make_directory()
have been added
* Other new API
- GRegex has a new function to query the maximum lookbehind length to
allow for regexp matching on streams
- GVariant has two new APIs for constructing strings that allow
avoiding copies in some cases: g_variant_new_take_string() and
* Testing
- we can now generate TAP output
- new support functions for simplifying the process of dealing with
data files for srcdir != builddir and installed test cases
- g_test_trap_subprocess() provides a portable alternative to
* Other
- GLib now builds on Android against the bionic C library
Overview of changes from GLib 2.37.93 to 2.38.0
* fix the documentation for GSourceFuncs
* fix compilation on OS X/ppc64
Bugs fixed: 708445, 647145
Translations updated:
Overview of changes from GLib 2.37.92 to 2.37.93
......@@ -30,8 +30,8 @@ m4_define(glib_configure_ac)
# <mclasen> on the unstable (ie master), interface age = 0
m4_define([glib_major_version], [2])
m4_define([glib_minor_version], [37])
m4_define([glib_micro_version], [93])
m4_define([glib_minor_version], [38])
m4_define([glib_micro_version], [0])
m4_define([glib_interface_age], [0])
[m4_eval(100 * glib_minor_version + glib_micro_version)])
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment