From: Ryan Lortie Date: Wed, 23 Oct 2013 19:09:07 +0000 (-0400) Subject: GLib 2.39.0 X-Git-Tag: 2.39.0^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8973a8bea710c085e6e357d5bf869000f91a1dc9;p=platform%2Fupstream%2Fglib.git GLib 2.39.0 --- diff --git a/NEWS b/NEWS index 122b06e..f0e2277 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,216 @@ +Overview of changes from GLib 2.38.0 to GLib 2.39.0 +==================================================== + + * prep for the 2.40 series (version macros, docs index, etc.) + + * GNotification + + - new API for sending persistent notifications via the desktop shell + + - notifications persist when the application has quit and clicking on + them can restart the application with an action (via + DBusActivatable) + + * GSubprocess + + - new API for launching subprocesses + + - nice GIO integration like async functions, cancellability, etc. + + - a convenient communicate() API inspired by the same API in Python + + - related: the gspawn API now has a CLOEXEC flag for the created + pipes for stdin/stdout/stderr + + * New gapplication(1) commandline tool + + - intended to be used with DBusActivatable apps + + - can be used for launching apps, opening files, invoking application + actions and listing apps and actions + + - bash tab completion is supported + + * GDesktopAppInfo changes: + + - g_file_get_path() can implicitly cause a FUSE mount so don't call + it until we know we need it (for an app that doesn't support URIs) + + - don't crash when trying to load from a keyfile with + DBusActivatable=true + + - remove some dead code, refactor the search path handling a bit and + do a large-scale whitespace cleanup (prep work for the pending + desktop file index) + + * File monitors + + - fix broken handling of mount point monitoring + + - remove some strange use of GObject::constructor() from the base + class and inotify backend + + - fix GFileMonitor to work in the non-default main context even when + the main context is not running (or is blocked) + + - add internal private API for easily creating a file monitor in the + GLib worker thread + + * GSettings + + - g_settings_list_children: only list viable schemas. This fixes a + longstanding issue where 'gsettings list-recursively' will crash + when there are invalid schemas installed + + - don't accept invalid paths on g_settings_new_with_path, etc. + + * GIO + + - GFile now has a thumbnail::is-valid attribute to check if the + thumbnail in thumbnail::path needs to be regenerated + + - GDBusProxy now has a flag to control autostarting of services at + construction time + + - for GSeekable, properly introduce the concept of "resizable" vs. + "fixed-sized" streams in the docs, explaining the expected + semantics of the interface in each case + + - fix some cases in GMemoryOutputStream that were violating the above + expectations (which may cause a slight API incompatibility) + + - clean up GCredentials code and add support for Hurd and Solaris + + - improve splicing by using different codepaths for the case where we + have real _read_async() and _write_async() implementations on the + stream vs. the case where they are internally emulated (via + dispatching the sync variant of the call in a thread) + + * GKeyFile + + - fix a leak in g_key_file_get_(u)int64 when we fail to parse the + value as an integer + + - add long-requested API g_key_file_save_to_file() + + * Portability improvements + + - avoid using O_DIRECTORY on platforms that don't have it + + - be careful about systems that define SOCK_CLOEXEC but don't + actually support it (like Hurd) + + - only use SA_RESTART if it exists + + * Other small API changes/additions + + - a pair of functions to support matching strings for the type of + search functionality that you'd expect to have with things like + GtkSearchBar. This will also be used by the desktop file index. + + - g_str_is_ascii() with obvious purpose + + - g_test_expect_message() no longer appears to allow you to catch + G_LOG_ERROR messages + + * GMainContext/GSource + + - fix handling of overflowing the 'next source id' counter + + - g_source_remove() will not throw a critical in the case that you + try to remove a non-existent source. We expect that there is some + code in the wild that will fall afoul of this new critical but + considering that we now reuse source IDs, this code is already + broken and should probably be fixed. + + - simplify handling of the 'current dispatching source' to not + require use of a linked list + + * GObject + + - the long-broken (and leaky) pattern of destroying a just-allocated + object from inside of a custom GObject::constructor is now + officially completely illegal and will abort the program + + * Unicode: update to 6.3.0 + + * Bug fixes + + - g_file_copy() now falls back to pathname queryinfo. This should + clear up the bugs with copying from some GVfs backends (afp, + gphoto, archive, at least). + + - fix an out-of-bounds read in the xdgmime code + + - fix a typo in the /org/freedesktop/DBus path on the object manager + client + + - skip emitting path_namespace='/' in match rules in order to + workaround a bug in the D-Bus daemon and fix our own implementation + (which shared exactly the same bug) + + - fix crashes on precondition violations for GParamSpec constructors + + - many other small fixups (see bug list) + + * Many documentation improvements + +Bugs fixed: + 309224 g_key_file_save_to_file missing + 583321 QNX: no SA_RESTART + 661576 fix handling of constructors that destroy half-constructed objects + 672102 GSubprocess class + 684842 Seeks on GMemoryOutputStream don't have opaque semantics + 688492 Add a notification API + 691581 g_output_stream_real_splice_async doesn't use overriden read/write_async functions + 702516 gfileutils: Make -Werror=format-nonliteral happy + 704218 New gapplication(1) tool + 704593 g_setenv: on some systems (BSD, OSX…), setting a variable to NULL crashes the system + 704882 GLocalDirectoryMonitorClass mount_notify field is useless + 704887 file monitoring improvements + 705029 Support for Solaris credentials + 705688 g_settings_list_children: only list viable schemas + 706254 Afp backend cannot copy files + 707887 Attempting to create GObject Property with underscore prefix segfaults + 708042 gapplication: don't rely on cmdline being finalized immediately + 708265 add support for GNU/Hurd in GLib D-Bus Library + 708266 fix error code checks when SOCK_CLOEXEC is defined but not supported + 708529 xdgmime: valgrind warns about invalid reads + 708677 incorrect object path 'deskop' used in gio/gdbusobjectmanagerclient.c + 708714 Typo in docs of GLIB_VERSION_2_40 macro. + 708753 gdesktopappinfo: Call g_file_get_path() on demand + 708793 glib build fails with clang < 3.1: error: expected ';' after top level declarator + 708828 GDBusProxy: add the ability to call methods on non autostarted proxies + 708860 glib-2.38.0 doesn't build on Solaris 10 + 708972 gnetworking.h in tarball screws up out-of-source builds + 709113 [PATCH] Main loop dispatch path has needless linked list + 709227 Update to unicode 6.3.0 + 709301 goutputstream: Add clear warning about short writes to _write_bytes() and async version + 709326 GDesktopAppInfo crashes creating a DBusActivatable app without a filename + 709440 Fix overloading of "source" and "target" terminology in GBinding + 709615 Cannot use g_test_expect_message with g_error + 709753 Add helpers for string matches when using GtkSearchBar-like widget + 709898 Expose thumbnail validity in GFile attributes + 709966 Remove outdated documentation + 709994 Minor fix for HACKERS doc to direct hackers to proper help file + 709995 Obsolete makefile rules + 710002 G_MAXUINT may be assigned as duplicate source id + 710313 Memory leak in g_key_file_get_(u)int64 with invalid integer values + 710345 [Patches] Fix some redundant-decls + 710496 g_locale_to/from_utf8() doc updated. + 710625 g_file_error_from_errno: Remove unneeded breaks + 710666 Frame clock related bug fixes + 710724 gmain: Warn when g_source_remove() fails + 710726 Work around D-Bus bug with path_namespace='/' match rules + +Translations: + Assamese + Brazilian Portuguese + Indonesian + Russian + Tamil + Traditional Chinese + What's new in Glib 2.38 ========================