commit 90bb8778f2eabf00bee5bff1259c48f1e7b791b8
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Thu Jun 22 09:15:23 2017 -0400

    2.52.3

 NEWS         | 11 +++++++++++
 configure.ac |  4 ++--
 2 files changed, 13 insertions(+), 2 deletions(-)

commit 373fda6809e50703fcd85c8ece26bd710d89bfdf
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Fri Jun 2 11:42:42 2017 -0700

    appinfo: Fix the build on windows

    The previous commit forgot to protect some unix-only
    calls by an ifdef.

    Pointed out by John Emmas.

 gio/gappinfo.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 098f9c6088ff7d9aad5199294f0b2fc70604eec0
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Wed May 31 12:10:25 2017 -0400

    OpenFile support: Handle open failing

    This can happen, report it as an error when it does.

 gio/gopenuriportal.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit 7cb7967cf563a57e7d2012088403ac29fad436eb
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Sat May 20 16:21:14 2017 -0400

    Use OpenFile for local files

    The OpenURI portal has a separate method to handle local
    files now. Use it.

    At the same time, split out the openuri helpers into separate
    files, and generate code for the OpenURI portal.

    https://bugzilla.gnome.org/show_bug.cgi?id=783193

 gio/Makefile.am                        |   4 +
 gio/gappinfo.c                         | 269
 +++--------------------------
 gio/gopenuriportal.c                   | 302
 +++++++++++++++++++++++++++++++++
 gio/gopenuriportal.h                   |  41 +++++
 gio/org.freedesktop.portal.OpenURI.xml | 105 ++++++++++++
 5 files changed, 476 insertions(+), 245 deletions(-)

commit 2026cb7498cb1687e2458a622d17169240914247
Author: Florian Müllner <fmuellner@gnome.org>
Date:   Mon May 29 00:38:19 2017 +0200

    gdbus-codegen: Apply --output-directory to generated docs as well

    In addition to code, gdbus-codegen can also generate docbook
    documentation for DBus interfaces. There's no good reason why
    the newly added --output-directory option shouldn't apply to
    those generated files as well.

    https://bugzilla.gnome.org/show_bug.cgi?id=783201

 gio/gdbus-2.0/codegen/codegen_docbook.py | 6 ++++--
 gio/gdbus-2.0/codegen/codegen_main.py    | 5 +++--
 2 files changed, 7 insertions(+), 4 deletions(-)

commit 169c7f1d57591e1d3de6909920025ea16caa1da6
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Sat May 6 14:22:38 2017 -0400

    Make dbus activation sandbox-aware

    When we call org.freedesktop.Application.Open to activate
    an application and pass file uris, the application may not
    be able to see the files due to a flatpak sandbox.

    Flatpak puts the flatpak app-id in the  X-Flatpak key in
    desktop files that it exports, so we can easily recognize
    applications that may be affected by this.

    In this case, call the document portal to export the files
    and pass the resulting uri's instead of the original ones.

    https://bugzilla.gnome.org/show_bug.cgi?id=783130

 gio/gdesktopappinfo.c | 43 ++++++++++++++++++++++++++++++++++++-------
 1 file changed, 36 insertions(+), 7 deletions(-)

commit 05cc4048bb20ca4bae429a692e8d4204ccd8a854
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Tue May 23 22:08:01 2017 -0400

    Add a wrapper for the AddFull document portal api

    This is a wrapper which takes a list of uris and rewrites
    them by calling AddFull with the file:// uris.

    https://bugzilla.gnome.org/show_bug.cgi?id=783130

 gio/gdocumentportal.c | 126
 +++++++++++++++++++++++++++++++++++++++++++++++++-
 gio/gdocumentportal.h |   4 ++
 2 files changed, 129 insertions(+), 1 deletion(-)

commit ba984abddc4402f5b55b5a4303f615478ca9cfd8
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Tue May 23 21:54:39 2017 -0400

    Update flatpak document portal interface

    This api has been changed upstream, recently.

    A new AddFull method has been added in this commit:
    https://github.com/flatpak/flatpak/commit/6ce8521b640c7a69f97a2fd7c96de94eb9a83125

    https://bugzilla.gnome.org/show_bug.cgi?id=783130

 gio/Makefile.am                          |   1 +
 gio/org.freedesktop.portal.Documents.xml | 161
 ++++++++++++++++++++++++++++++-
 2 files changed, 160 insertions(+), 2 deletions(-)

commit 87c928f39cd68f42907911347f48b0980320f473
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Wed Jun 14 11:48:27 2017 +0800

    Visual Studio builds: Visual Studio 2013 and later has va_copy()

    Update config.h.win32.in and glib/glibconfig.h.win32.in to indicate
    so.

 config.h.win32.in          | 4 ++--
 glib/glibconfig.h.win32.in | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

commit 3245eba169c439180cc13ed3c76f47298d723031
Author: Руслан Ижбулатов <lrn1986@gmail.com>
Date:   Fri Apr 14 07:29:05 2017 +0000

    GetTickCount64 is a __stdcall function

    https://bugzilla.gnome.org/show_bug.cgi?id=781301

 glib/gmain.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8e517df7d42fc06a1997f66a5271d35336759b4f
Author: John Lindgren <john@jlindgren.net>
Date:   Fri Apr 14 02:09:35 2017 -0400

    NtNotifyChangeMultipleKeys is a __stdcall function.

    https://bugzilla.gnome.org/show_bug.cgi?id=781301

 gio/gwin32registrykey.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

commit 958902ed9ae2f3fee7cdc038f9a25ed02ee952ec
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Wed May 24 15:43:59 2017 +0800

    Visual Studio builds: Redo utility script generation

    Use the new gen_util_scripts.py script to generate the glib-mkenums
    and
    gdbus-codegen scripts with the proper info in them so that they can be
    used properly by other build systems such as Meson, during "install".

 win32/vs10/glib-gen-srcs.props          |  4 --
 win32/vs10/glib-install.propsin         | 14 ++++++-
 win32/vs10/glib-install.vcxproj         | 22 +++++++++--
 win32/vs10/glib-install.vcxproj.filters |  4 +-
 win32/vs10/gobject.vcxproj.filtersin    |  7 +---
 win32/vs10/gobject.vcxprojin            | 18 ++-------
 win32/vs9/glib-gen-srcs.vsprops         |  4 --
 win32/vs9/glib-install.vcproj           | 68
 +++++++++++++++++++++++++++++++++
 win32/vs9/glib-install.vspropsin        | 10 ++++-
 win32/vs9/gobject.vcprojin              | 42 ++------------------
 10 files changed, 121 insertions(+), 72 deletions(-)

commit b095df45658d17af38d7b75c10d68270585e4584
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Wed May 24 12:55:37 2017 +0800

    Visual Studio builds: Add script to generate utility scripts

    This will allow the utility scripts glib-mkenums and gdbus-codegen be
    generated with the proper info in them, as build systems such as Meson
    might look for shebang lines to determine the commands that need to be
    called to invoke the scripts (which is necessary for calling these
    scripts on standard Windows cmd.exe)

 win32/Makefile.am         |  3 ++-
 win32/gen_util_scripts.py | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+), 1 deletion(-)

commit bae70d74825a61e7df58c10ea540f4cb1c1cf6aa
Author: Ignacio Casal Quinteiro <qignacio@amazon.com>
Date:   Thu May 11 17:51:56 2017 +0200

    Revert "GSocket: Fix race conditions on Win32 if multiple threads
    are waiting on conditions for the same socket"

    This reverts commit 799f8dcd46fb40ea206d9f1b5468db62cc00a72e.
    This patch seems to break applications that use GTask specific
    operations with GSocket. We will need to investigate a bit more
    on this issue but for now we revert it and leave it for the
    next major release.

 gio/gsocket.c | 94
 +++++++++++++++++------------------------------------------
 1 file changed, 26 insertions(+), 68 deletions(-)

commit c589084003aadb2cd17d45160a1e46a40f4a3716
Author: Philip Withnall <withnall@endlessm.com>
Date:   Mon Apr 24 21:38:59 2017 +0100

    gmain: Allow GSource methods to be called from a finalize() callback

    Temporarily increase the ref count of a GSource to 1 while calling its
    finalize() callback, so that the finalize() implementation can call
    GSource methods (like g_source_set_ready_time()) without causing
    critical warnings. It’s safe to call those methods at this point,
    as the
    source has been destroyed, but nothing has been freed.

    This is an indirect way of fixing a race between GCancellable and
    GCancellableSource, whereby the GCancellable::cancelled callback
    for the
    GCancellableSource is not disconnected until the
    GCancellableSource’s
    finalize() function is called. Previously, this meant there was
    a window
    in which the GCancellableSource’s ref count was 0, but the
    ::cancelled
    callback was still connected, and could legitimately be called as a
    result of another thread calling g_cancellable_cancel() on the
    GCancellable. The callback calls g_source_set_ready_time() on the
    GSource, and there’s no thread-safe way of checking whether
    the GSource
    has been destroyed. Instead, we have to change GSource so its
    ref count
    is only decremented to 0 inside the locked section in
    g_source_unref_internal() *after* the finalize() function has been
    called, and hence after the GCancellable::cancelled callback has been
    disconnected. The use of g_cancellable_disconnect() ensures that the
    callback disconnection is thread safe.

    Signed-off-by: Philip Withnall <withnall@endlessm.com>

    https://bugzilla.gnome.org/show_bug.cgi?id=781601

 glib/gmain.c | 4 ++++
 glib/gmain.h | 5 ++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

commit 5d74233476d61771b4d67d50bec5420f551ef922
Author: Paolo Bonzini <pbonzini@redhat.com>
Date:   Tue Apr 4 09:56:47 2017 +0200

    gmain: only signal GWakeup right before or during a blocking poll

    Since commit e4ee307 ("Do not wake up main loop if change is from same
    thread", bug 761102), GMainContext uses context->owner to decide
    if the
    event loop is being run in the current thread.  However, what really
    matters is the phase in the prepare/query/poll/check/dispatch
    sequence.
    Wakeups are only needed between the end of prepare and the end
    of poll,
    and then only if prepare found that no sources were ready.

    There is no need to take threads into account, because prepare, check
    and all callers of conditional_wakeup all look at the new need_wakeup
    flag inside LOCK_CONTEXT/UNLOCK_CONTEXT.

    With this change, g_main_context_is_owner and g_main_context_wait are
    the only functions for which acquire/release matters, just like before
    commit e4ee307.

    Signed-off-by: Paolo Bonzini <bonzini@gnu.org>

 glib/gmain.c | 30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

commit 21be268a308fef2535612ac8c11a956f2c055240
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Tue May 9 18:17:29 2017 -0700

    win32/replace.py: Fix replacing items in files with UTF-8 content

    Some files that this script will process might have UTF-8 items in
    there, which can cause problems on Python 3.x as it is more strict and
    careful on unicode issues.  Fix this by:

    -Doing what we did before on Python 2.x
    -Open the file with encoding='utf-8' on Python 3.x

 win32/replace.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit b8bd46bc862598db41013f4b56b0d74126e25c52
Author: Ondrej Holy <oholy@redhat.com>
Date:   Fri May 5 12:42:39 2017 +0200

    gunixmounts: Prevent unwanted automount requests

    mnt_table_is_fs_mounted causes unwanted automount requests due to
    canonicalization of source and target. It might be replaced by
    mnt_table_find_source as per the documentation in order to prevent
    the automounts, but it is redundant. All mtab entries should be
    already
    mounted and thus mnt_table_is_fs_mounted result is always true (it
    basically checks that the fs from mtab is in mtab). Let's remove
    the check at all.

    https://bugzilla.gnome.org/show_bug.cgi?id=781867

 gio/gunixmounts.c | 3 ---
 1 file changed, 3 deletions(-)

commit bbe2286be3e52f20c2757e2efeeb3ef366cf9947
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Mon May 8 11:28:22 2017 -0400

    2.52.2

 NEWS         | 14 ++++++++++++++
 configure.ac |  4 ++--
 2 files changed, 16 insertions(+), 2 deletions(-)

commit 3a6811a46084474e2308bdc991645f76a96156f0
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Tue May 2 06:28:22 2017 -0400

    portal support: Raise the priority for network monitor

    When we are inside a sandbox, we want to use the portal
    implementation, since it is the only one that has a chance
    of working.

    This is safe to do, since the portal implementation will
    just fail initialization when loaded outside a sandbox.

 gio/gnetworkmonitorportal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ab333f42b6cfee1547f3886d92bbdec928ff1767
Author: Daniel Macks <dmacks@netspace.org>
Date:   Mon Apr 24 01:52:27 2017 -0400

    Implement g_content_type_is_mime_type() (clone of win32's)

    Add missing function, copying from gcontenttype-win32.c per Patrick
    Griffis (Comment #55 of bug report)

    https://bugzilla.gnome.org/show_bug.cgi?id=734946

 gio/gosxcontenttype.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit bd555b9ba070df6c47d10a8b83e6b58d7fe94623
Author: Rafal Luzynski <digitalfreak@lingonborough.com>
Date:   Fri Mar 31 01:52:33 2017 +0200

    gosxappinfo: fix typo in g_osx_app_info_launch_internal

    Correct error domain is G_IO_ERROR.

    https://bugzilla.gnome.org/show_bug.cgi?id=734946

 gio/gosxappinfo.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 917f3068c3d30a1456f18f9bac7ea9cf58c3535c
Author: Patrick Griffis <tingping@tingping.se>
Date:   Thu Mar 30 19:49:21 2017 -0400

    gosxappinfo: Special case x-scheme-handler

    This is the only way they are exposed on Unix so we need to handle it

    https://bugzilla.gnome.org/show_bug.cgi?id=734946

 gio/gosxappinfo.c | 29 +++++++++++++++++++++--------
 1 file changed, 21 insertions(+), 8 deletions(-)

commit eb0fbe633c5345bb49f39066318e5a292cce7226
Author: Patrick Griffis <tingping@tingping.se>
Date:   Thu Mar 30 19:37:13 2017 -0400

    gosxappinfo: Fix get_default_for_type() on 10.10+

    https://bugzilla.gnome.org/show_bug.cgi?id=734946

 gio/gosxappinfo.c | 45 +++++++++++++++++++++++++++++++--------------
 1 file changed, 31 insertions(+), 14 deletions(-)

commit d99af84a363447b5f8857cb1e08b0bfa1eb5e3a0
Author: Patrick Griffis <tingping@tingping.se>
Date:   Thu Mar 30 17:13:41 2017 -0400

    build: Don't build dbus-appinfo on OSX

    https://bugzilla.gnome.org/show_bug.cgi?id=780309

 gio/tests/Makefile.am | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 4246b1ef8c32b19f15a0758d07285e4268710470
Author: Patrick Griffis <tingping@tingping.se>
Date:   Thu Mar 30 19:28:12 2017 -0400

    gosxappinfo: Fix typo in ifdef

    https://bugzilla.gnome.org/show_bug.cgi?id=780300

 gio/gosxappinfo.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 2eddcef1e75711c82719875ca80070eb6eb212ae
Author: John Lindgren <john@jlindgren.net>
Date:   Thu Apr 13 22:31:29 2017 -0400

    Do not mix declarations with code.

    https://bugzilla.gnome.org/show_bug.cgi?id=781298

 glib/gfileutils.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit bed861bcf816f78ff1050c23801b6079b8d3730d
Author: Kukuh Syafaat <syafaatkukuh@gmail.com>
Date:   Sun Apr 16 03:36:18 2017 +0000

    Update Indonesian translation

 po/id.po | 77
 ++++++++++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 51 insertions(+), 26 deletions(-)

commit 2b47c8360c70a8455d61fa4bb94ec57b93bf228e
Author: Paolo Bonzini <bonzini@gnu.org>
Date:   Mon Apr 3 13:32:32 2017 -0400

    gmain: Signal wakeups if context has never been acquired as well

    Should address backwards compatibility with how qemu is using
    `GMainContext`.

    See https://bugzilla.gnome.org/show_bug.cgi?id=761102#c14

    Input-into-keyboard-by: Colin Walters <walters@verbum.org>

 glib/gmain.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit 1d38e6cf6f5b19f90480b70d92c6200d3a830dc9
Author: Colin Walters <walters@verbum.org>
Date:   Fri Mar 31 16:19:58 2017 -0400

    main: Create a helper function for "owner wakeup" optimization

    The original patch really should have introduced a helper - among
    other things it deserves a code comment.  We're likely to make
    further changes too, so it's obviously better to only do it in one
    place.

    See: https://bugzilla.gnome.org/show_bug.cgi?id=761102

 glib/gmain.c | 28 +++++++++++++++++++---------
 1 file changed, 19 insertions(+), 9 deletions(-)

commit 8ef5eae6941c939eb4f7b78941d04162bf3ca872
Author: Matthias Clasen <mclasen@redhat.com>
Date:   Sat Apr 8 01:55:00 2017 -0400

    2.52.1

 NEWS         | 33 +++++++++++++++++++++++++++++++++
 configure.ac |  4 ++--
 2 files changed, 35 insertions(+), 2 deletions(-)

commit 35060eb9aecc6cc86448f859422f6c57b6407dde
Author: Philip Withnall <philip.withnall@collabora.co.uk>
Date:   Tue Sep 15 10:00:44 2015 +0100

    gfileutils: Add precondition checks to g_file_test()

    Otherwise g_file_test(NULL, …) causes a call to access(NULL, …) on
    Linux, which is disallowed and valgrind complains about it.

    https://bugzilla.gnome.org/show_bug.cgi?id=755046

 glib/gfileutils.c | 2 ++
 1 file changed, 2 insertions(+)

commit 632a224caba509b11c1db09bd061d528db50bf60
Author: Ole André Vadla Ravnås <oleavr@gmail.com>
Date:   Wed Mar 1 11:18:21 2017 +0100

    gdbus: fix false positive g_warning() in remove_filter()

    The GDBus thread might be holding a ref while requesting to remove the
    filter.

    https://bugzilla.gnome.org/show_bug.cgi?id=779409

 gio/gdbusconnection.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 4d1d5b4544a16c4a6c6e8be8c859a3517068b420
Author: Adrian Perez de Castro <aperez@igalia.com>
Date:   Tue Jan 31 03:10:24 2017 +0200

    Better documentation for g_app_info_equal()

    Explicitly state that the function may not compare the contents of the
    passed GAppInfo instances.

    This fixes bug #777961.

 gio/gappinfo.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 13b67ea2908db5b5897ec8494ddcaeefd4c48c01
Author: Alexandros Frantzis <alexandros.frantzis@canonical.com>
Date:   Wed Apr 5 14:57:44 2017 +0300

    gdbus: Fix memory leak in gdbusmethodinvocation.c

    https://bugzilla.gnome.org/show_bug.cgi?id=780924

 gio/gdbusmethodinvocation.c | 2 ++
 1 file changed, 2 insertions(+)

commit 6d56878b7566fc36496e8797da90914dd92bd326
Author: Philip Withnall <withnall@endlessm.com>
Date:   Tue Apr 4 15:10:01 2017 +0100

    gvariant: Minor documentation tweak for g_variant_get_fixed_array()

    Add a missing clausal comma, and add some backtick formatting.

    Signed-off-by: Philip Withnall <withnall@endlessm.com>

 glib/gvariant.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c3f555b69edb67c3bf353f5160428fcafa6977bd
Author: Debarshi Ray <debarshir@gnome.org>
Date:   Wed Mar 22 19:23:46 2017 +0100

    docs: Clarify the use of the GError in g_tls_database_verify_chain*

    Being able to determine that a certificate chain is invalid is not
    considered an error, but success. This might not be obvious at first
    due to the way the method is named and described currently. Since we
    cannot change the name, let's improve the description and clarify this
    aspect of its behaviour.

    https://bugzilla.gnome.org/show_bug.cgi?id=780310

 gio/gtlsdatabase.c | 31 +++++++++++++++++++++++++------
 1 file changed, 25 insertions(+), 6 deletions(-)

commit f7ca0a197e1174f027f945715709c83b746ad730
Author: Philip Withnall <philip@tecnocode.co.uk>
Date:   Sun Dec 7 22:41:57 2014 +0000

    gio: Handle NULL cached properties in NetworkManager monitor

    g_dbus_proxy_get_cached_property() and
    g_dbus_proxy_get_cached_property_names() can both return NULL if the
    property cache is empty. Avoid a crash if this situation arises (which
    it looks like it could, from reading the code) by gracefully
    bailing out
    on NULL return values.

    Coverity issues: #1257044, #1257045

    https://bugzilla.gnome.org/show_bug.cgi?id=741229

 gio/gnetworkmonitornm.c | 3 +++
 1 file changed, 3 insertions(+)

commit 20fcc2d1cbb4f790f862ed20517935a68a3f9608
Author: Philip Withnall <withnall@endlessm.com>
Date:   Mon Apr 3 11:56:43 2017 +0100

    gsocket: Fix potential multiplication overflow calculating timeout

    socket->priv->timeout is only a guint, and the multiplication is
    performed before it’s widened to gint64 to be stored in start_time
    (thanks, C). This means any timeout of 50 days or more would overflow.
    Fixing this bug makes me feel a real sense of self-worth.

    Coverity ID: 1159478

    Signed-off-by: Philip Withnall <withnall@endlessm.com>

 gio/gsocket.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b010caeca8be161e1231aa451ea24dc8e96bce72
Author: Philip Withnall <philip.withnall@collabora.co.uk>
Date:   Fri Mar 7 12:42:28 2014 +0000

    build: Include gettext libraries for static compilation on Mac OS X

    When compiling statically against the system-provided gettext on
    Mac OS
    X, GLib needs to be linked against CoreFramework, which provides some
    functions used by gettext.

    Fix this by including the necessary macro magic from upstream gettext.

    https://bugzilla.gnome.org/show_bug.cgi?id=725894

 m4macros/glib-gettext.m4 | 49
 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 48 insertions(+), 1 deletion(-)

commit 2a38996618d5e6307c84d3cb7905fc309ffc057a
Author: Colin Walters <walters@verbum.org>
Date:   Mon Mar 27 14:46:06 2017 -0400

    gdbusprivate: Include a few headers to fix win32 build

    Followup to previous commit.

    See: https://bugzilla.gnome.org/show_bug.cgi?id=674885

 gio/gdbusprivate.c | 2 ++
 1 file changed, 2 insertions(+)

commit 4367515d0674c476c74c740248955456a0bad695
Author: Colin Walters <walters@verbum.org>
Date:   Fri Nov 18 16:26:58 2016 -0500

    gdbus: Initialize types earlier to break proxy <-> connection deadlock

    This will help us break generic GType deadlocks between people using
    GDBus in different threads (which is supported), not just by GType
    usage in the GDBus thread.

    This should fix the common cases we're seeing in the wild, although I
    have some lingering concerns that if someone e.g. referenced
    e.g. `G_TYPE_DBUS_AUTH_MECHANISM_SHA1` etc. we'd need to add those
    too.

    https://bugzilla.gnome.org/show_bug.cgi?id=674885

 gio/gdbusprivate.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

commit 7725280cbf78a4defdf212c96f5c52fcebf4bba9
Author: INSUN PYO <insun.pyo@samsung.com>
Date:   Mon Oct 31 16:36:18 2016 +0900

    gdbus: Initialize types at async entrypoints

    This isn't a comprehensive fix, but should cover a lot of cases
    for GDBus.

    https://bugzilla.gnome.org/show_bug.cgi?id=674885

 gio/gdbusconnection.c | 13 +++++++++++++
 gio/gdbusproxy.c      |  6 ++++++
 2 files changed, 19 insertions(+)

commit 2f2100433f795c49c83e58e87ee96db58bbea0d4
Author: Patrick Griffis <tingping@tingping.se>
Date:   Wed Mar 22 01:37:43 2017 -0400

    gosxcontenttype: Fix various tests

    https://bugzilla.gnome.org/show_bug.cgi?id=780384

 gio/gosxcontenttype.c   | 35 +++++++++++++++++++++++++++++++----
 gio/tests/contenttype.c | 23 ++++++++++++++++++-----
 2 files changed, 49 insertions(+), 9 deletions(-)

commit 36f32134be34ea68a1e5b91d28fd8cb548397234
Author: Patrick Griffis <tingping@tingping.se>
Date:   Wed Mar 22 00:06:58 2017 -0400

    build: Skip gdesktopappinfo tests on OSX

    https://bugzilla.gnome.org/show_bug.cgi?id=780384

 gio/tests/Makefile.am | 2 ++
 1 file changed, 2 insertions(+)

commit 2d0b6c2b86acb52db798a496771b9b765e086986
Author: Philip Withnall <withnall@endlessm.com>
Date:   Thu Mar 23 21:12:12 2017 +0000

    gmessages: Don’t check G_MESSAGES_DEBUG in old logging API

    Now that the old logging API forwards through to the new structured
    logging API, we don’t need to check the level or domain of a message
    against INFO_LEVELS or G_MESSAGES_DEBUG — just pass it straight
    through
    to the new structured logging API writer function.

    https://bugzilla.gnome.org/show_bug.cgi?id=775879

 glib/gmessages.c | 11 -----------
 1 file changed, 11 deletions(-)

commit 082343f8028a0f16ed425a5853081b3616221a35
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date:   Sun Feb 5 19:28:21 2017 +0400

    gio-querymodules: fix memory leak

    Spotted thanks to ASAN.

    https://bugzilla.gnome.org/show_bug.cgi?id=778207

    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

 gio/gio-querymodules.c | 1 +
 1 file changed, 1 insertion(+)

commit ad1040ed0cf32ac2a5ef57193e505c301b91fe80
Author: Philip Withnall <withnall@endlessm.com>
Date:   Thu Mar 23 15:55:18 2017 +0000

    ghash: Document order of parameters in GEqualFunc usage

    See https://bugzilla.gnome.org/show_bug.cgi?id=698064#c15.

 glib/ghash.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 2ea36106b7b241260e06fca4c364c1a42f675f04
Author: Philip Withnall <withnall@endlessm.com>
Date:   Thu Mar 23 15:55:05 2017 +0000

    ghash: Fix gtk-doc syntax in a documentation comment

 glib/ghash.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5596bfb71e0a0d11ed8fb314c09f363edfd3d9b9
Author: Philip Withnall <withnall@endlessm.com>
Date:   Fri Mar 17 11:30:47 2017 +0000

    gbase64: Fix base-64 stepped encoding with small chunks

    If encoding with small chunks such that the call to
    g_base64_encode_close() has to deal with 0 < x < 24 bits of remaining
    state, the encoding code would not correctly use zeroes to pad out the
    state — it would use left-over state from an earlier iteration
    in the
    encoding process.

    This resulted in invalid base-64 encodings.

    Add a unit test for incremental encoding using different sized chunks
    too.

    Thanks to Rainier Perske for reporting and analysing the bug.

    https://bugzilla.gnome.org/show_bug.cgi?id=780066

    Signed-off-by: Philip Withnall <withnall@endlessm.com>

 glib/gbase64.c      |  1 +
 glib/tests/base64.c | 58
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+)

commit e7fc0bf389ff844593d43c8cfb7aacba94ca6efe
Author: Philip Withnall <withnall@endlessm.com>
Date:   Thu Mar 23 15:07:49 2017 +0000

    gmain: Document that set_ready_time() is safe on destroyed GSources

    Signed-off-by: Philip Withnall <withnall@endlessm.com>

    https://bugzilla.gnome.org/show_bug.cgi?id=778049

 glib/gmain.c | 3 +++
 1 file changed, 3 insertions(+)

commit e6dddc3636d278608d3c36f4ab2345efa36b75e9
Author: Philip Withnall <withnall@endlessm.com>
Date:   Sun Feb 5 16:40:33 2017 +0100

    gmain: Document threading properties of g_source_is_destroyed()

    https://bugzilla.gnome.org/show_bug.cgi?id=778049

 glib/gmain.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit e4ce400e8f7fe8dee651058a12c8665f7280ae38
Author: Philip Withnall <withnall@endlessm.com>
Date:   Sun Feb 5 16:34:54 2017 +0100

    gio: Drop redundant g_source_is_destroyed() calls

    These calls cause race warnings from tsan, but are not a thread safety
    problem, because we can only ever observe single bit changes: all
    modifications to the GSource.flags field are done with a lock
    held; all
    reads are of independent fields, so no intermediate state can ever be
    observed. This assumes that a non-atomic read will consistently
    give us
    an old value or a new value.

    In any case, these g_source_is_destroyed() calls can happen from any
    thread, and the state could be changed from another thread immediately
    after the call returns; so the checks are pointless. In addition,
    calling g_source_set_ready_time() or g_source_destroy() on a destroyed
    source is not a problem.

    https://bugzilla.gnome.org/show_bug.cgi?id=778049

 gio/gcancellable.c | 3 +--
 gio/gsubprocess.c  | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

commit f46cbf6b0865d1df7676e114f94a09a4be7c1b58
Author: Philip Withnall <withnall@endlessm.com>
Date:   Mon Feb 13 11:46:59 2017 +0000

    gmodule: Add the visibility attribute to G_MODULE_EXPORT on gcc

    For versions of GCC which support it (≥ 4), define G_MODULE_EXPORT
    as
    __attribute__((visibility("default"))). This is normally a no-op,
    unless
    compiling with -fvisibility=hidden, in which case it marks a symbol to
    be publicly exported from the library, which is what G_MODULE_EXPORT
    is
    for. Previously G_MODULE_EXPORT has only worked on Windows.

    The compatibility check for whether the compiler supports
    __attribute__((visibility)) is based on the __GNUC__ define, and is
    similar to the check done in configure.ac for defining
    G_GNUC_INTERNAL.

    Signed-off-by: Philip Withnall <withnall@endlessm.com>

    https://bugzilla.gnome.org/show_bug.cgi?id=778287

 gmodule/gmodule.c | 12 +++++++++---
 gmodule/gmodule.h |  4 +++-
 2 files changed, 12 insertions(+), 4 deletions(-)

commit 261de46cca7c3fad37a043f29dcdfee4afe9cd23
Author: Mario Sanchez Prada <mario@endlessm.com>
Date:   Thu Mar 23 14:46:02 2017 +0000

    appinfo: Don't hardcode strings for the OpenURI portal's D-Bus method

    We added several #define in the previous commit, so use those instead.

 gio/gappinfo.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 49cdd2a3aac6dd269e99daade5d14113799caf56
Author: Mario Sanchez Prada <mario@endlessm.com>
Date:   Wed Mar 22 17:49:27 2017 +0000

    appinfo: Launch the OpenURI portal using a synchronous D-Bus call

    Calling the D-Bus method for the OpenURI portal "protects" the
    logic from
    not ever having the remote method running in case the
    xdg-desktop-portal
    process is not yet running and the caller quits quickly after
    the call.

    This should not be a problem as the method returns immediately
    (regardless
    of the user making a selection), but making it synchronous would
    prevent
    situations where the OpenURI method would never be called because
    of D-Bus
    dropping the message after the caller dies, without explicitly
    waiting for
    a reply.

    https://bugzilla.gnome.org/show_bug.cgi?id=780441

 gio/gappinfo.c | 124
 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 103 insertions(+), 21 deletions(-)

commit 50960f80ce164ac7fd82f16e668b79ecbdf36a1e
Author: Mario Sanchez Prada <mario@endlessm.com>
Date:   Thu Mar 23 10:16:35 2017 +0000

    appinfo: Don't leak the session bus in
    launch_default_with_portal_async

    The session bus object needs to be unreferenced before early
    returning.

 gio/gappinfo.c | 1 +
 1 file changed, 1 insertion(+)

commit 34c7541edcdf8747cc2df70b167063b110dd453e
Author: Daniel Macks <dmacks@netspace.org>
Date:   Mon Mar 20 10:22:15 2017 -0400

    Do not build utf8_encode on CARBON platform

    utf8_encode is not used by g_utf8_collate_key on this platform.

    https://bugzilla.gnome.org/show_bug.cgi?id=780306

 glib/gunicollate.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 25f12a54d2edbe7ac4d5027890a39e808d786c08
Author: Philip Withnall <withnall@endlessm.com>
Date:   Fri Mar 17 12:09:36 2017 +0000

    gutf8: Clarify documentation for g_utf8_get_char_validated()

    There is no such thing as ‘no maximum’ when reading a
    string. It’s got
    to end somewhere.

    Signed-off-by: Philip Withnall <withnall@endlessm.com>

    https://bugzilla.gnome.org/show_bug.cgi?id=780095

 glib/gutf8.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit d5cd8322cc05ae4505858493f9bd1e0d281f8776
Author: Philip Withnall <withnall@endlessm.com>
Date:   Fri Mar 17 12:09:01 2017 +0000

    gutf8: Clarify return values from g_utf8_get_char_extended()

    It’s hard to remember what the difference is between -1 and -2,
    so give
    them names.

    This introduces no functional changes.

    Signed-off-by: Philip Withnall <withnall@endlessm.com>

    https://bugzilla.gnome.org/show_bug.cgi?id=780095

 glib/gutf8.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

commit 865ef86d8f6d06bc079b8472f7dfe40f2e24add2
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Wed Apr 5 00:15:26 2017 +0800

    Visual Studio 201x builds: Fix GIO x64 Debug builds

    The custom build rules did not have rules for x64 Debug builds during
    the refactoring.  Fix this by removing all Platform and Configuration
    conditions for it, since this is done on are configs in the same
    manner.

    Noted by Ignacio Casal Quinteiro.

 win32/vs10/gio.vcxprojin | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

commit 8c9d02acb7a35b5deedd63b53c03a5b168d91ff5
Author: Stas Solovey <whats_up@tut.by>
Date:   Mon Apr 3 19:10:29 2017 +0000

    Update Russian translation

 po/ru.po | 2524
 ++++++++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 1638 insertions(+), 886 deletions(-)

commit 6d05094462c6494a3adaa78688ea0c102df08c6b
Author: Florian Müllner <fmuellner@gnome.org>
Date:   Sun Mar 19 22:33:56 2017 +0100

    appinfo: Only use portal as fallback

    We currently assume that the OpenURI portal should be used
    unconditionally when running inside a flatpak sandbox. While
