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
    the portal is what we usually want, there are exceptions:
    Yelp is now included in the GNOME runtime to allow displaying
    help without exporting the user documentation, and the sandboxed
    app itself may register a scheme handler.
    To account for those cases transparently, always try the normal
    code path first and only fall back to calling the portal when
    that fails.

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

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

commit d04acd623184be3f152c29fbee8651bfd18de8c2
Author: Fabio Tomat <f.t.public@gmail.com>
Date:   Fri Mar 31 08:09:50 2017 +0000

    Update Friulian translation

 po/fur.po | 146
 +++++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 82 insertions(+), 64 deletions(-)

commit e0c5dd7d7f3a7c4f6d015b409b86717577721f93
Author: Yosef Or Boczko <yoseforb@src.gnome.org>
Date:   Thu Mar 30 19:31:47 2017 +0300

    Updated Hebrew translation

 po/he.po | 231
 ++++++++++++++++++++++++++++++---------------------------------
 1 file changed, 110 insertions(+), 121 deletions(-)

commit 8407d6bd1dbd7a6481d495243ba9ea96a7fcda58
Author: Yosef Or Boczko <yoseforb@src.gnome.org>
Date:   Thu Mar 30 17:58:56 2017 +0300

    Updated Hebrew translation

 po/he.po | 938
 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 491 insertions(+), 447 deletions(-)

commit 311d740f9054968fa41a9543213bc8d23668ca47
Author: Christoph Reiter <reiter.christoph@gmail.com>
Date:   Wed Mar 15 08:37:10 2017 +0100

    gosxappinfo: fix typo in url_escape_hostname

    This duplicated everything after the hostname.

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

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

commit c1f7e0eb78d895a91d7f41ab218a8374dc5405c8
Author: Patrick Griffis <tingping@tingping.se>
Date:   Wed Mar 15 01:21:09 2017 -0400

    gosxappinfo: Fix launching default applications

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

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

commit bf7dc9edd30695b9ac082c110efb8285c8272c72
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sat Mar 25 19:38:29 2017 +0100

    Update Polish translation

 po/pl.po | 297
 ++++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 149 insertions(+), 148 deletions(-)

commit 30e382bace7ca3e9ec8bc960a6005b9fef57d663
Author: Andika Triwidada <atriwidada@gnome.org>
Date:   Sun Mar 19 08:07:48 2017 +0000

    Update Indonesian translation

 po/id.po | 628
 ++++++++++++++++++++++++++++++---------------------------------
 1 file changed, 298 insertions(+), 330 deletions(-)