GLib 2.38.0 2.38.0
authorRyan Lortie <desrt@desrt.ca>
Mon, 23 Sep 2013 20:14:57 +0000 (16:14 -0400)
committerRyan Lortie <desrt@desrt.ca>
Mon, 23 Sep 2013 21:07:33 +0000 (17:07 -0400)
NEWS
configure.ac

diff --git a/NEWS b/NEWS
index 1623af7..122b06e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,132 @@
+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)
+
+  - new G_PRIVATE_FIELD, G_PRIVATE_FIELD_P and G_PRIVATE_OFFSET macros
+    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
+    interface
+
+  - 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
+    g_variant_new_printf()
+
+ * 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
+    g_test_trap_fork()
+
+ * 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:
+ Danish
+ French
+ Portuguese
+ Punjabi
+
 Overview of changes from GLib 2.37.92 to 2.37.93
 ================================================
 
index 892d820..1dde875 100644 (file)
@@ -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_define([glib_binary_age],
           [m4_eval(100 * glib_minor_version + glib_micro_version)])