Overview of changes in GLib 2.66.7
==================================

* Fix various regressions caused by rushed security fixes in 2.66.6
  (work by Simon McVittie and Jan Alexander Steffens) (!1933, !1943)

* Fix a silent integer truncation when calling `g_byte_array_new_take()` for
  byte arrays bigger than `G_MAXUINT` (work by Krzesimir Nowak) (!1944)

* Disallow using currently-undefined D-Bus connection or server flags to prevent
  forward-compatibility problems with new security-sensitive flags likely to be
  released in GLib 2.68 (work by Simon McVittie) (!1945)

* Bugs fixed:
 - !1933 [2.66] Fix regressions in 2.66.6 where negative gssize indicates strlen()
 - !1943 Backport !1941 “gkeyfilesettingsbackend: Fix basename handling when group is unset” to glib-2-66
 - !1944 Backport !1942 “gbytearray: Do not accept too large byte arrays” to glib-2-66
 - !1945 Backport !1934 “gdbus: Reject attempts to set future connection or server flags” to glib-2-66


Overview of changes in GLib 2.66.6
==================================

* Fix various instances within GLib where `g_memdup()` was vulnerable to a
  silent integer truncation and heap overflow problem (discovered by
  Kevin Backhouse, work by Philip Withnall) (#2319)

* Bugs fixed:
 - !1927 Backport !1926 “Add g_memdup2()” to glib-2-66


Overview of changes in GLib 2.66.5
==================================

* Fix some issues with handling over-long (invalid) input when parsing for `GDate` (!1824)

* Don’t load GIO modules or parse other GIO environment variables when `AT_SECURE`
  is set (i.e. in a setuid/setgid/setcap process). GIO has always been
  documented as not being safe to use in privileged processes, but people persist
  in using it unsafely, so these changes should harden things against potential
  attacks at least a little. Unfortunately they break a couple of projects which
  were relying on reading `DBUS_SESSION_BUS_ADDRESS`, so GIO continues to read
  that for setgid/setcap (but not setuid) processes. This loophole will be closed
  in GLib 2.70 (see issue #2316), which should give modules 6 months to change
  their behaviour. (Work by Simon McVittie and Philip Withnall) (#2168, #2305)

* Fix `g_spawn()` searching `PATH` when it wasn’t meant to (work by
  Simon McVittie and Thomas Haller) (!1913)

* Bugs fixed:
 - #2168 giomodule: Loads GIO modules even if setuid, etc.
 - #2210 g_private_replace ordering issue
 - #2305 GIO security hardening causing gnome-keyring to regress when session bus is provided by dbus-launch (dbus-x11)
 - !1820 gthread: Destroy value after replacing it in g_private_replace()
 - !1824 Backport !1821 “gdate: Limit length of dates which can be parsed as valid” to glib-2-66
 - !1831 gdatetime.c: Fix MSVC builds for lack of NAN items
 - !1836 Backport !1827 “Windows: fix FD_READ condition flag still set on recoverable UDP socket errors.” to glib-2-66
 - !1864 Backport !1862 “gio: Ignore various environment variables when running as setuid” to glib-2-66
 - !1872 Backport !1868 “gdesktopappinfo: Fix validation of XDG_CURRENT_DESKTOP” to glib-2-66
 - !1913 Backport !1902 “spawn: Don't set a search path if we don't want to search PATH” to glib-2-66
 - !1922 Backport !1920 “Resolve GDBus regressions in setcap/setgid programs” to glib-2-66


Overview of changes in GLib 2.66.4
==================================

* Fix some issues in parsing floating point seconds in `GDateTime` (!1791, !1797)

* Fix some issues in handling invalid UTF-8 when parsing for `GDate` (!1788)

* Bugs fixed:
 - #2264 GPtrArray might call qsort() with NULL data
 - !1774 Backport !1771 “macos: fix frexpl checks in cross-compilation” to glib-2-66
 - !1790 Backport !1788 “gdate: Validate input as UTF-8 before parsing” to glib-2-66
 - !1793 Backport !1791 “gdatetime: Disallow NAN as a number of seconds in a GDateTime” to glib-2-66
 - !1799 Backport !1794 “gio-tool-info: Prevent criticals if mount options are not available” to glib-2-66
 - !1805 Backport !1797 “gdatetime: Improve ISO 8601 parsing to avoid floating point checks” to glib-2-66


Overview of changes in GLib 2.66.3
==================================

* Fix awkward bug with `GPollFD` handling in some situations (work by Claudio
  Saavedra and Eugene M) (#1592)

* Fix sending FDs attached to very large D-Bus messages (work by Simon McVittie
  and Giovanni Campagna) (#2074)

* Bugs fixed:
 - #1592 Main loop ignores GPollFD sources when there is at least one source ready with priority higher than default one
 - !1720 Backport !1718 “gtrace: Add G_GNUC_PRINTF annotation” to glib-2-66
 - !1721 Backport !1713 “gmain: g_main_context_check() can skip updating polled FD sources” to glib-2-66
 - !1723 Backport !1711 “Fix race in socketclient-slow test” to glib-2-66
 - !1727 Backport !1725 “gdbus: Cope with sending fds in a message that takes multiple writes” to glib-2-66
 - !1736 Backport !1734 “glocalfileinfo: Use a single timeout source at a time for hidden file cache” to glib-2-66


Overview of changes in GLib 2.66.2
==================================

* Important and time-critical fix to DST transitions which will happen in Europe
  on 2020-10-25 on distributions which use the ‘slim’ tzdata format (which is
  now the default in tzdata/tzcode 2020b) (work by Claudi M., LRN) (#2224)

* Further timezone handling changes to restore support for changing the timezone
  when `/etc/localtime/` changes (work by António Fernandes, Sebastian Keller) (#2204)

* Fix deadlock on Windows when `G_SLICE` is set in the environment (diagnosis by
  Christoph Reiter) (#2225)

* Fix UTF-8 validation when escaping URI components (thanks to Marc-André Lureau) (!1680)

* Bugs fixed:
 - #2203 fstatat is available only on macOS 10.10+
 - #2224 top bar time is incorrect, timezone map in control center is broken
 - #2225 Setting G_SLICE makes Windows programs hang since 2.66
 - !1682 Backport !1680 “guri: Fix UTF-8 validation when escaping URI components” to glib-2-66
 - !1685 Backport !1684 “glocalfileinfo: Fix use of fstatat() on macOS < 10.10” to glib-2-66
 - !1689 uri: add missing (not)nullable annotations
 - !1693 Backport !1691 “gmain: Fix possible locking issue in source unref” to glib-2-66
 - !1694 Backport !1692 “gsignal: Plug g_signal_connect_object leak” to glib-2-66
 - !1700 Backport !1661 “Lookup fallback time zones in the cache to improve performance” to glib-2-66
 - !1702 Backport !1698 “gslice: Inline win32 implementation of g_getenv() to avoid deadlock” to glib-2-66
 - !1705 Backport !1683 “Fix the 6-days-until-the-end-of-the-month bug” to glib-2-66
 - !1710 Backport !1706 “Add various missing nullable annotations” to glib-2-66

* Translation updates:
 - Chinese (Taiwan)
 - Portuguese
 - Slovak


Overview of changes in GLib 2.66.1
==================================

* A performance problem where timezones were reloaded from disk every time a
  `GTimeZone` was created has been fixed (#2204), but this means that changes to
  `/etc/localtime` will not take effect until a process restarts; future changes
  in a subsequent 2.66.x release will improve this

* Security fix for incorrect scope/zone ID parsing in URIs (!1669)

* Bugs fixed:
 - #2077 Invalid Pointer Arithmetic in g_path_get_basename
 - #2164 GDBus DBUS_COOKIE_SHA1 mechanism may use too old a key
 - #2194 gtk3/glib crash on gimp
 - #2204 Time zone cache is constantly invalidated if TZ is NULL
 - #2209 gthreadedresolver: faulty logic in parse_res_txt
 - !1187 Define G_MSVC_SYMBOL_PREFIX correctly for ARM
 - !1643 Minor Coverity fixes
 - !1645 Fix various signedness warnings
 - !1648 glocalfile: Never require G_LOCAL_FILE_STAT_FIELD_ATIME
 - !1652 trash portal: Handle portal failures
 - !1654 gio-tool-trash: Prevent recursion to speed up emptying trash
 - !1657 glist: Clarify that g_list_free() and friends only free an entire list
 - !1658 utils: Limit the scope of the variable `max`
 - !1665 Fix g_module_symbol() under Windows sometimes not succeeding
 - !1669 guri: Fix URI scope parsing
 - !1671 gdatetime: Avoid integer overflow creating dates too far in the past

* Translation updates:
 - Danish
 - Greek, Modern (1453-)
 - Hebrew
 - Latvian
 - Portuguese
 - Russian


Overview of changes in GLib 2.66.0
==================================

* Bugs fixed:
 - #2200 missing tab in makefile rule
 - !1639 guri: Fix user passed to g_uri_split_with_user() not being NULL'd

* Translation updates:
 - Croatian
 - Hungarian
 - Italian
 - Serbian
 - Slovak
 - Swedish


Overview of changes in GLib 2.65.3
==================================

* Fixes to the new `statx()` calls — note that since GLib 2.65.2 uses `statx()`
  (if available) instead of `stat()`/`fstat()`/`lstat()`/`fstatat()`, syscall
  sandboxing for third party applications might need to be updated

* Bugs fixed:
 - #2189 g_file_query_info on ro file system: Numerical result out of range
 - #2191 Calling nice(20) can lead to thread related warnings
 - #2197 Segfaulting Integer Overflow in g_option_group_add_entries
 - !1025 Big o notations
 - !1626 gio: Document g_settings_new() missing schema behaviour
 - !1627 gthread: Add a sysprof mark for thread creation
 - !1628 Replace a bunch of fallthrough comments with an attribute
 - !1631 Fix splice behavior on cancellation
 - !1632 Fixing signedness warning in glib/gfileutils.c
 - !1635 gcancellable: Mark a variable as unused if built with G_DISABLE_ASSERT

* Translation updates:
 - Basque
 - Catalan
 - Chinese (China)
 - Czech
 - English (United Kingdom)
 - Friulian
 - German
 - Japanese
 - Kazakh
 - Korean
 - Lithuanian
 - Polish
 - Portuguese (Brazil)
 - Slovenian


Overview of changes in GLib 2.65.2
==================================

* Support `statx()` and `G_FILE_ATTRIBUTE_TIME_CREATED` (work by Andre Miranda) (#1970)

* Fix deadlock in `g_subprocess_communicate_async()` (work by Alexander Larsson) (#2182)

* Add `%f`/microsecond placeholder support to `g_date_time_format()` (work by Johan Bjäreholt) (!1605)

* Bugs fixed:
 - #5 g_new0 performance
 - #1970 Make G_FILE_ATTRIBUTE_TIME_CREATED support stx_btime
 - #2176 Inconsistent introspection annotations for g_input_stream_read and g_socket_receive
 - #2182 g_subprocess_communicate_async() can deadlock when writing
 - !1593 CI support for Coverity Scan
 - !1605 gdatetime: Add %f format specifier and microsecond precision to g_date_time_format_iso8601
 - !1613 gfile: Document TOCTTOU avoidance using g_file_delete()
 - !1615 docs: glib-compile-resources: json-stripblanks
 - !1616 gioerror: Map WSAENETRESET on Windows to G_IO_ERROR_CONNECTION_CLOSED
 - !1619 Minor Coverity fixes
 - !1620 gvariant: Ensure GVS.depth is initialised
 - !1622 gdatetime: Widen a variable before multiplication
 - !1623 gcancellable: Assert that make_pollfd() call succeeds
 - !1624 gdbusaddress: Drop an unnecessary NULL check
 - !1625 gdbusmessage: Drop redundant uint ≥ 0 checks

* Translation updates:
 - French
 - Galician
 - Greek, Modern (1453-)
 - Indonesian
 - Romanian
 - Spanish
 - Turkish
 - Ukrainian


Overview of changes in GLib 2.65.1
==================================

* Add `GUri` API for parsing, building and representing URIs according to
  [RFC 3986](https://tools.ietf.org/html/rfc3986) (work by Marc-André Lureau) (#110)

* Fix handling of xattr data with embedded nuls (#422)

* Add `g_file_set_contents_full()` which gives more control over fsyncs (#1302)

* Fix cross-compilation on iOS (work by Nirbheek Chauhan) (#1868)

* Add a `x-gvfs-notrash` option to disable trash on certain mounts (work by Ondrej Holy) (!1549)

* Support ‘slim’ TZif files generated with `zic -b slim` (work by Paul Eggert) (#2129)

* Support emitting profiling marks from `GMainContext` to sysprof capture files (!1551)

* Accept IPv6 zone IDs in `g_hostname_is_ip_address()` (work by Marc-André Lureau) (!1604)

* Bugs fixed:
 - #4 Include a UTF-8 safe escaping function
 - #110 Basic URI operations
 - #137 display_name should be always available
 - #250 GTestCase's setup/teardown functions appear pointless
 - #272 allow thread pools to adjust the number of threads to the number of cpu's/cores
 - #422 Wrong assumption in libgio GFileInfo on xattr/acl string: it may contain binary data.
 - #858 glib2 @2.40.0 issues a "Got weird mach timebase info" error (Macports, PPC)
 - #1022 g_object_new Should Mention That it Zeroes Out Private Struct
 - #1200 Make g_assert_null/nonnull clang static analyzer friendly
 - #1203 Add a variant of g_file_set_contents() which accepts file mode
 - #1288 gmacros: Introduce non-public G_CLANG_ANALYZER_NORETURN macro
 - #1302 g_file_set_contents() can fill target with NUL bytes if it did not previously exist
 - #1670 ThreadSanitizer data races
 - #1764 cancellable test: on_mock_operation_ready: assertion failed (iterations_requested > iterations_done): (10 > 10)
 - #1868 iOS cross compile impossible due to frexpl check not supporting cross compilation
 - #1869 iOS doesn't have Cocoa, which thankfully isn't a requirement of this code that supposedly requires it
 - #1982 GSocketAddressEnumerator documentation is inconsistent with existing usage
 - #2127 Spurious GIO module initialization on Fedora Silverblue (and other ostree-based systems?)
 - #2129 date_time bugs after 2038, or with today's date and 'zic -b slim' TZif files
 - #2132 Valgrind reports "still reachable" after g_thread_pool_new/free
 - #2136 Valgrind reports "still reachable" after g_option_context_parse
 - #2140 calling malloc in fork child is undefined-behaviour
 - #2141 g_value_copy is was recently broken
 - #2149 Make G_URI_FLAGS_PARSE_STRICT the default
 - #2156 Merge _g_uri_parse_authority() into GUri
 - #2159 Thread-unsafe initialization in gportalsupport.c
 - #2160 More guri regressions
 - #2165 More guri breakage
 - #2166 g_uri_build() functions should accept a NULL scheme
 - !1328 guri: new URI parsing and generating functions
 - !1527 Add g_tls_connection_get_channel_binding_data call and enums
 - !1534 Various GLocalFile fixes related to the filesystem::remote attribute
 - !1546 tree: Fix various ableist language
 - !1549 Add support to ignore trash for certain mounts
 - !1551 Add initial sysprof support
 - !1553 gtestutils: Mark that g_assert_whatever() macros do not normally return
 - !1554 GUri build fixes
 - !1555 Remove c-format from the string that is not c-formatted
 - !1556 fuzzing: Another fix for g_uri_parse() test
 - !1557 A few g_uri_parse_params() improvements
 - !1559 Fix buffer read overflows in GUri
 - !1561 gconvert: Use a pointer array in extract_uris
 - !1563 gdesktopappinfo: Fix unnecessarily copied and leaked URI list
 - !1564 tests: limit number of threads to something reasonable.
 - !1570 Reduce CI bandwidth requirements
 - !1572 Add GUriParamsIter
 - !1576 gtask: Only override g_task_set_source_tag() for GLib ≥ 2.60
 - !1577 uri: add illegal_characters argument to unescape_bytes
 - !1578 tests: Add tests for RFC 8536 v3 parsing of time zones
 - !1579 glib: Use g_getenv everywhere instead of getenv
 - !1582 appinfo: Add properties
 - !1583 gio: Remove broken support for XP
 - !1590 Use CI schedules and DAGs
 - !1591 gfileutils: Fix O_NOFOLLOW handling on BSD systems
 - !1594 GFile: Document that G_FILE_CREATE_REPLACE_DESTINATION can only be used with...
 - !1595 uri: add ENCODED_PATH & ENCODED_FRAGMENT flags
 - !1599 uri: do not add ipv6 brackets on non-ip host
 - !1600 uri: do not encode ':' and ';' from userinfo
 - !1601 timezone: Fix an uninitialized use
 - !1602 Revert "Merge branch 'appinfo-properties' into 'master'"
 - !1604 Make g_hostname_is_ip_address() accept ipv6 zoneid
 - !1609 Fix multiple typos in guri.c
 - !1611 guri: Always prepend `//` to the host when building a URI
 - !1612 guri: Document and check restrictions on path prefixes

* Translation updates:
 - Catalan
 - Kazakh
 - Lithuanian
 - Romanian
 - Slovenian
 - Spanish
 - Ukrainian


Overview of changes in GLib 2.65.0
==================================

* Fix memory monitor tests to only be installed if installed-tests are enabled,
  and to be skipped if GObject-Introspection is too old (!1407)

* Stability improvements for various unit tests

* D-Bus credentials support on macOS (#507)

* MSVC support for the files generated by `glib-compile-resource` and `gdbus-codegen` (#1215, !1452)

* Year 2038 fixes involving new API in `GBookmarkFile` (#1931)

* SOCKS5 proxy authentication fixes (#1986, #1988)

* Support for more than `MAXIMUM_WAIT_OBJECTS` FDs for `g_poll()` on Windows (#2107)

* Add `g_assert_no_errno()` test macro for testing POSIX-style functions (!1204)

* Update Unicode Character Database to version 13.0.0 (!1422)

* Support storing interned strings in `GValue`s efficiently, via `g_value_set_interned_string()` (#2109)

* Bugs fixed:
 - #2 g_filename_from_utf8() should normalize?
 - #176 the behaviour of constructors for GLib data types is not specified if memory allocation fails
 - #480 /gdbus/connection/signals test intermittently fails: assertion failed (count_name_owner_changed == 2): (1 == 2)
 - #507 GDBus credentials don’t work on OS X
 - #602 GLib.Thread not usable from GObject-Introspection
 - #1154 Missing documentation how to set a value in a GArray
 - #1215 MSVC cannot build glib-compile-resource's output resource file
 - #1323 meson, autotools: figure out if mem barrier is needed for arm64 host variant aarch64
 - #1398 gdate: Add error handling for GetDateFormatW calls
 - #1841 Signal handler disconnection race when finalising GCancellableSource
 - #1851 Meson Build Failure on Windows: Undefined Reference to libiconv
 - #1911 Memory leak in g_param_spec_flags and/or g_param_spec_enum
 - #1931 GBookmarkFile API involves time_t
 - #1954 gdbus-server-auth intermittent failure
 - #1957 gdbus-connection test failure on FreeBSD
 - #1986 Socks5 Proxy: Authentication seems broken
 - #1988 Socks5 Proxy: Wrong error returned when using no authentication
 - #2038 Bindings: g_tls_connection_set_database() does not allow None as argument
 - #2051 GUnixOutputStream can block on close()
 - #2057 Call malloc_trim() under memory pressure
 - #2067 Glib uses _Static_assert in C++17 mode
 - #2081 gdbus error messages contains mixed up body and head signatures
 - #2082 AM/PM - specific variation support needed to Hebrew language
 - #2083 Memory monitor tests fail if dbusmock isn't installed
 - #2092 FreeBSD CI timing out in gdbus-connection filter test
 - #2094 Deprecation warnings when compiling with -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_28 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_28
 - #2106 Duplicated if - else if conditions in gtranslit.c
 - #2107 g_poll() implementation on Windows stall when more than MAXIMUM_WAIT_OBJECTS FDs have passed
 - #2109 GValue: Add support for interned string
 - #2124 g_file_info_get_content_type() may return NULL
 - #2132 Valgrind reports "still reachable" after g_thread_pool_new/free
 - #2134 Valgrind reports "still reachable" after `g_uuid_string_random()`.
 - #2135 Valgrind reports "still reachable" after g_key_file_new/free
 - #2136 Valgrind reports "still reachable" after g_option_context_parse
 - !1204 gtestutils: Add a new g_assert_no_errno() test macro
 - !1302 gobject: new g_param_is_valid_property_name() function.
 - !1329 Support nanoseconds in stat timestamps on Windows
 - !1341 MUI capabilities for GWin32RegistryKey
 - !1360 CI: Show execution environment before we start
 - !1395 tests: Move memory_monitor_tests under installed_tests_enabled
 - !1396 macros: Define G_GNUC_FALLTHROUGH for more compilers
 - !1397 tests: Skip MemoryMonitor test if GObject-Introspection is too old
 - !1398 gcontenttype: Fix crash in _get_generic_icon_name()
 - !1402 ci: Update Android Docker image for aarch64 CPU naming change
 - !1405 tests: Disable link-time warning for mem-overflow
 - !1406 Replace fallthrough comments with G_GNUC_FALLTHROUGH
 - !1408 tests: Don't compare strings by pointer
 - !1409 gdummytlsconnection: Add missing overrides for ALPN properties
 - !1413 gapplication: Fix a minor typo in the documentation
 - !1414 gstrutils: Set locale explicitly for search-utils test
 - !1415 meson: Don't use assert in test code
 - !1418 ginetaddress, ginetsocketaddress: Add missing (nullable) annotations
 - !1422 glib: Update Unicode Character Database to version 13.0.0
 - !1423 gobject: Clarify assertion failure on ref-after-finalize
 - !1424 docs: Fix configuration with gtk_doc=true and installed_tests=false
 - !1425 gdbusconnection: GDBusSignalCallback can have a NULL sender_name
 - !1426 gunidecomp: Update and reformat Unicode version support history
 - !1427 gicon: Clarify GVariant refcounting in docs
 - !1428 Add missing 'extern' to the dllexport version of GLIB_VAR/GOBJECT_VAR
 - !1429 Fix arch detection ifdefs in glib/valgrind.h
 - !1430 Use __builtin_trap() on Clang on any platform
 - !1431 glib-unix.c: fix heap corruption in g_unix_get_passwd_entry
 - !1432 docs: Mention new gio tool options
 - !1433 meson: Fix buildtype usage
 - !1434 gdbusconnection: Clarify nullability of SignalInstance.sender
 - !1436 glib: Update internal copy of valgrind.h from Valgrind 3.15 release
 - !1437 gmarkup tests: tab character escape/unescape
 - !1439 Don't misdetect stpcpy on windows platforms on clang
 - !1440 Silence clang errors about -Wformat-nonliteral due to missing intermediate attributes
 - !1441 Meson: Override every dependency glib provides
 - !1442 gfile: Fallback to fast-content-type if content-type is not set
 - !1443 gio: use TAPTestRunner in the memory monitor tests
 - !1444 Meson: Add glib-checks and glib-asserts options
 - !1452 Make symbols generated by gdbus-codegen exportable on Visual Studio-style builds
 - !1455 gdesktopappinfo: Note that search results are not filtered
 - !1456 GCredentials documentation fixes
 - !1458 meson: Exclude gosxutils.m when building for iOS
 - !1459 meson: Fix the gnulib checks for isnan* functions
 - !1460 glib: Sync the local modification to glib/valgrind.h to what was upstreamed
 - !1462 gvariant-core: Add a note about memory safety of children
 - !1463 gdesktopappinfo: Add several nullable annotation to GAppInfo getters
 - !1464 Update Fedora CI
 - !1466 CI: Switch to new Windows runners
 - !1469 goption: Treat an empty option context parameter string as NULL
 - !1475 Improve documentation of g_tls_database_verify_chain()
 - !1476 tests: Fix remaining race in gdbus-connection filter test
 - !1479 Improve documentation of client connection validation flags
 - !1480 CI: Make sure we use meson 0.49.2 in MSYS2
 - !1481 array: fix corrupt state of GPtrArray after g_ptr_array_extend_and_steal()
 - !1482 [th/g-ptr-array-variable-cleanups] minor cleanup of variables for GPtrArray
 - !1487 glib: annotate static inline functions with G_AVAILABLE-type macros
 - !1488 Rebuild Fedora CI image
 - !1491 gdatetime: update annotations
 - !1492 glib-mkenums: allow optional 'since' tag
 - !1493 meson: Remove stray ] in O_DIRECTORY check
 - !1496 Fix GLIB_UNAVAILABLE_STATIC_INLINE declaration
 - !1498 array: add internal ptr_array_new() helper for creating GPtrArray
 - !1503 docs: Add indexes for symbols added in 2.66
 - !1505 gobject: Handle runtime checks as such
 - !1506 tests: Speed up the cancellable test
 - !1508 tests: Speed up the file test and make it more reliable
 - !1512 Various fixes when building for iOS
 - !1513 Initialize the visited time of a new GBookmarkFile
 - !1515 meson: check for stpcpy using cc.links()
 - !1516 gthreadedsocketservice: Mark source_object of run signal as nullable
 - !1517 GWin32RegistryKey: Move assertions
 - !1518 strfuncs: Use a GPtrArray in strsplit()
 - !1522 meson: Fix gnulib printf checks
 - !1524 meson: Fix gnulib build where isnan*() is needed
 - !1525 Normalize C source files to end with exactly one newline
 - !1528 gtlsconnection: Improve documentation of peer-certificate[-errors]
 - !1530 tree: Fix various typos and outdated terminology
 - !1531 gvariant: Fix documentation for g_variant_get_string() to match reality
 - !1532 win32: spelling fix
 - !1535 glib.supp improvements

* Translation updates:
 - Bokmål, Norwegian
 - Catalan
 - Catalan (Valencia)
 - Chinese (Taiwan)
 - Dutch
 - French
 - Galician
 - German
 - Hebrew
 - Indonesian
 - Italian
 - Japanese
 - Latvian
 - Lithuanian
 - Malay
 - Romanian
 - Serbian
 - Slovak
 - Slovenian
 - Spanish
 - Turkish
 - Ukrainian


Overview of changes in GLib 2.64.0
==================================

* Use `posix_spawn()` to speed up launching test D-Bus instances (!1388)

* Bugs fixed:
 - #1783 Document using glib-mkenums with meson
 - #2049 Crash in g_array_copy
 - !1384 Some minor clang warning fixes
 - !1386 docs: Document generated headers caveats for genmarshal
 - !1387 ci: Correctly propagate exit status in run-style-check-diff.sh
 - !1388 gtestdbus: Use posix_spawn() to spawn dbus-daemon
 - !1389 Update GError docs to use G_DEFINE_QUARK

* Translation updates:
 - Czech
 - Danish


Overview of changes in GLib 2.63.6
==================================

* Fix potential relative read when calling g_printerr(), which could lead to a
  denial of service from a setuid-root process being used to block access to the
  TTY for another user (#1919)

* Fix SOCKS proxy resolver sometimes not being used when resolving addresses
  via Happy Eyeballs (CVE-2020-6750) (#1989)

* Several other Happy Eyeballs fixes for address resolution (#1871, #1872, #1902)

* Various race fixes in `GDBusConnection` and its unit tests (#1515)

* Fix a race condition with D-Bus name ownership (#1517)

* Drop `gio-launch-desktop` helper application in favour of calling `sh` directly (#1633)

* Fix win32 exception handling with C# exceptions (#2025)

* Fix thread safety of `GUnixMountMonitor` (#2030)

* Additional fixes to new thread pool attribute behaviour from GLib 2.63.4 to
  check if sched_setattr() is allowed by system policies before depending on it (#2039, !1356)

* Fix memory leaks and corruption when freeing `GSource`s while freeing a `GMainContext` (!1353)

* Drop inappropriate installation of object manager example documentation (!1359)

* Bugs fixed:
 - #938 gdbus call -a doesn't support message bus connections
 - #1515 gio/gdbus-threading test sometimes fails in CI
 - #1517 g_bus_own_name does not always call name_lost_handler when _REPLACE and _ALLOW_REPLACEMENT are set
 - #1633 should not install gio-launch-desktop into PATH
 - #1919 read from relative path in g_printerr() in 2.58.3
 - #1995 Tracker issue for Happy Eyeballs regressions
 - #2002 g_io_channel_read_line does not honour the line_term symbols set
 - #2025 W32 exception handling misbehaves when C# exceptions are thrown when running inside the Visual Studio debugger
 - #2030 Random nautilus test suite failures involving GUnixMountMonitor
 - #2039 sched_setattr() still can cause EPERM through natural causes
 - #2043 Low memory monitor test failed in CI
 - #2044 GApplication docs suggest invalid GVariant type
 - !1185 gtimezone: Tidy up UTC timezone creation
 - !1281 ci: Update Docker packages
 - !1283 gmodule: change _g_module_close to only take a handle.
 - !1298 tests: Speed up the GIO actions test
 - !1299 gapplication: Fix a minor typo in the documentation
 - !1339 gsocketclient: Refactor g_socket_client_connect_async()
 - !1353 GMainContext - Fix memory leaks and memory corruption when freeing sources while freeing a context
 - !1354 GThreadPool - Add test for !1340
 - !1355 glist: Add docs examples of how to combine with g_steal_pointer()
 - !1356 GThread - Check if sched_setattr is allowed by the system policies before depending on it
 - !1359 docs: Don’t install object manager example separately
 - !1363 Make tests pass if we are euid != 0 with capabilities
 - !1366 Fix oss-fuzz coverage link
 - !1372 gobject: Fix strict aliasing warnings with g_set_object()
 - !1376 gitlab-ci: 64-bit ARM is aarch64, not arm64
 - !1381 ghash: Document the iteration order over a hash table is not defined
 - !1382 tests: Bump the refcount timeout in gdbus-threading
 - !1383 ci: Enable parallelisation when running installed tests

* Translation updates:
 - Basque
 - English (United Kingdom)
 - French
 - Galician
 - German
 - Greek, Modern (1453-)
 - Hungarian
 - Indonesian
 - Japanese
 - Korean
 - Lithuanian
 - Polish
 - Portuguese (Brazil)
 - Spanish
 - Swedish
 - Turkish


Overview of changes in GLib 2.63.5
==================================

* Fix behaviour of `g_file_move()` fallback code to not follow symlinks (#986)

* Rename `--glib-min-version` argument of `gdbus-codegen` to `--glib-min-required`
  (this is not an API break as `--glib-min-version` was added earlier in the
  2.63 cycle) (#1993)

* Add gtk-doc checks to CI and fix a number of documentation issues
  (thanks to Xavier Claessens) (!978)

* Add `G_SIZEOF_MEMBER()` macro (!1333)

* Add a debug message if `g_setenv()` or `g_unsetenv()` are used after any
  threads have been spawned — this will be upgraded to a warning in future (!1337, #715)

* Skip memory monitor tests if xdg-desktop-portal or dbusmock are not available (!1296, !1338)

* Change the `libmount` configure option from a boolean to a Meson `feature` (!1344)

* Do not return `target-uri` from `g_file_peek_path()` when called on trash/recent files (!1346)

* Drop new TLS certificate API for PKCS #11 backed certificates, as the implementation
  is not ready yet (this is not an API break as the API was added earlier in the
  2.63 cycle) (!1347)

* Bugs fixed:
 - #986 g_file_move: remove G_FILE_COPY_NOFOLLOW_SYMLINKS section
 - #1551 CI: Add checks for `TODO` in MRs
 - #1925 Large number of routes installed into kernel cause high cpu usage
 - #1993 Rename gdbus-codegen --glib-min-version argument to --glib-min-required and add --glib-max-allowed
 - #2012 spawn_thread_queue not initialised in GThreadPool
 - #2020 g_network_monitor_base_add_network() improperly unrefs GInetAddressMask
 - !978 Various fixes to make gtkdoc-check pass on glib
 - !1018 docs: tag enclose 'all' and 'help' values
 - !1170 Avoid C++20 deprecated assignment to volatile
 - !1296 tests: Skip GMemoryMonitor tests if the dbusmock template is not available
 - !1307 Remove global declaration of GMemoryMonitor
 - !1322 gmain: Mark G_SOURCE_FUNC as available in 2.58
 - !1333 Add and use G_SIZEOF_MEMBER() macro
 - !1337 genviron: Message if g_setenv()/g_unsetenv() are used after threads spawned
 - !1338 tests: Skip GMemoryMonitor tests if xdg-desktop-portal is not available
 - !1344 meson: libmount autodectection
 - !1345 gio-tool-info: Print unix mount information where available
 - !1346 gfile: Do not return target-uri from g_file_peek_path()
 - !1347 Revert "gtlscertificate: Add support for PKCS #11 backed certificates"
 - !1348 ghash: Clarify that g_hash_table_add() always consumes the key
 - !1349 doc: Clarify that _locker_new() does not actually allocate memory
 - !1351 glib.supp: update g-threaded-resolver-getaddrinfo-config

* Translation updates:
 - Japanese
 - Lithuanian
 - Malay
 - Portuguese (Brazil)
 - Swedish


Overview of changes in GLib 2.63.4
==================================

* Fix various race conditions on signal emission in GDBus (#604, #978, #1232)

* Change thread pools so that thread attributes (in particular, priority) are
  inherited from the thread which created the `GThreadPool` initially, rather
  than from the thread which is pushing a new job into the pool (#1834, #2007)

* Expand support for running Windows apps with
  `g_app_info_launch_default_for_uri()` using rundll32 on Windows (#1932)

* Support multiple directories in `GSETTINGS_SCHEMA_DIR` environment variable (#1998)

* Support full Julian day range in `TZ` environment variable (#1999)

* Apply recursion depth limits to variants in D-Bus messages (!1201)

* Support adding call flags and timeouts to method calls generated by
  `gdbus-codegen` through the new `--glib-min-version` option (!1286)

* Fully deprecate TLS rehandshakes; they are now ignored due to TLS protocol
  changes (!1305)

* Bugs fixed:
 - #198 g_fopen and friends: should also state how to close a stream
 - #604 GDBus name watching dispatch is buggy/excessively-complicated
 - #833 g_object_set: document the need to cast varargs
 - #978 SIGSEGV in on_name_lost_or_acquired
 - #1232 Insufficient thread safety around GDBusObjectManagerClient
 - #1416 Re-add macOS CI
 - #1834 Unwanted priority/etc inheritance with GThreadPool and GThread and the POSIX implementation
 - #1932 Windows: Gio.AppInfo.launch_default_for_uri seems not to work for local files/folders
 - #1983 glib:gio / dbus-appinfo test fails: GLib-GIO:ERROR:../../../../Projects/glib/gio/tests/dbus-appinfo.c:326:on_flatpak_open: 'g_file_equal (files[0], f)' should be TRUE
 - #1997 Base64 encoding with "break_lines" claims to wrap at 72 characters but seems to wrap at 76
 - #1998 support multiple directories in GSETTINGS_SCHEMA_DIR
 - #1999 GTimeZone fails to accept full Julian day range when parsing the direct $TZ string format
 - #2007 Thread scheduler attributes fail under valgrind
 - !388 ci: Avoid downloading subprojects for each job
 - !1111 gio: test that launch_uris() exports files with the document portal when launching a flatpak
 - !1201 gdbusmessage: Limit recursion of variants in D-Bus messages
 - !1279 tests: Fix an error message set by foo_set_property()
 - !1286 gdbus-codegen: Add a GDBusCallFlags arg to method calls
 - !1291 gio-tool-list: Add an option to print display names
 - !1294 GMemoryMonitor docs fixes
 - !1295 gio: Fix socket test
 - !1301 GThread - Inherit parent thread priority by default for new Win32 threads
 - !1303 gvariant-core: Don't pass NULL second argument to memcpy
 - !1305 Fully deprecate TLS rehandshakes
 - !1308 gsocketclient: run timeout source on the task's main context
 - !1309 Fix crash in gutils when application is prevented access to passwd file
 - !1317 gfdonotificationbackend: remove notifications when bus name vanishes
 - !1320 subprojects: Temporarily avoid using wrapdb while it’s down
 - !1324 ci: Add some documentation to the style check CI test
 - !1325 Check for SYS_sched_getattr before using it unconditionally
 - !1330 W32: Correctly set st_ino when doing private stat()
 - !1334 gthread: Ensure GThreadSchedulerSettings is always defined

* Translation updates:
 - Catalan
 - Galician
 - Hungarian
 - Indonesian
 - Polish
 - Portuguese (Brazil)
 - Spanish


Overview of changes in GLib 2.63.3
==================================

* Add a `--glib-min-version` argument to `gdbus-codegen` which controls breaks in the API of generated code (#1726)

* Add `g_clear_list()` API to clear `GList`s to `NULL` (#1943)

* Add a `GMemoryMonitor` API to be notified of memory pressure situations using the low-memory-monitor project (!1005)

* Add support for dispose functions for `GSource` implementations (!1175)

* Tighten up validation of GObject signal and property names, allowing performance improvements (!1224)

* Fix installation path of GIO modules on MSVC to be the bindir (!1254)

* Bugs fixed:
 - #650 g_signal_lookup gives too many warnings
 - #1011 GListStore, easily find if the item is already inserted
 - #1130 gdbus-codegen: Add an option to strictly generate markdown in source comments
 - #1687 glocalvfs.c uses non-thread-safe getpwnam()
 - #1726 Warn when method/signal uses type 'h' but lacks GDBus.C.UnixFD annotation
 - #1935 Assert in _kqsub_free seems to be too strict
 - #1943 Consider g_clear_list()
 - #1947 Documentation clarification for g_uuid_string_random()
 - #1953 Documentation for g_type_init() and others missing from online gtk-doc documentation
 - #1961 A typo in the comment of `g_settings_schema_get_path`: threfore -> therefore
 - !1005 gio: Add GMemoryMonitor to monitor for low-memory
 - !1172 gptrarray: Add an example to the g_ptr_array_steal() docs
 - !1175 Implement a dispose function for GSource
 - !1223 Add additional valgrind suppressions
 - !1224 Signal name handling improvements
 - !1230 ci: Run installed-tests on Fedora
 - !1235 Add sudo to Fedora docker image
 - !1239 tests: Run "timeout tests" sequentially
 - !1248 ci: Update all Debian CI runners to use v5 of the Dockerfile
 - !1249 gio-tool-mount: Allow mounting by the given UUID
 - !1252 ci: Fix running all jobs on merge requests
 - !1253 gthread: Fix "zero as null pointer" warning
 - !1254 giomodule: gio modules are no longer installed in bindir on MSVC
 - !1255 ci: Build Docker images rather than OCI images if using podman
 - !1256 gdate: Add autoptr support
 - !1258 Minor CI fixups
 - !1261 gtk-doc: Ensure we have recent enough version
 - !1262 tests: Add tests for the gdbus-codegen executable
 - !1265 build: don't check for protected visibility
 - !1267 Revert "doc: Workaround gtkdoc-scan bug leading to undocumented symbols"
 - !1268 ci: Work-around successful installed tests having no logs
 - !1269 gvariant: Add guard to g_variant_get()
 - !1271 tests: Enable GDBus debug for a number of unreliable tests
 - !1274 trash portal: Don't follow symlinks
 - !1275 Small doc correction
 - !1277 Various gtk-doc improvements
 - !1278 Update installed tests CI
 - !1280 clang-format-diff: Output diff for multiple files, not just one
 - !1282 Revert "Revert "docs: remove GDBusObjectManager example""
 - !1284 Update POTFILES.in 191212
 - !1287 atomic/tests: test g_atomic_pointer_compare_and_exchange() with const pointers
 - !1289 gtype: Define auto-cleanup functions for Module class

* Translation updates:
 - Spanish


Overview of changes in GLib 2.63.2
==================================

* Use `lldb` rather than `gdb` on macOS for debugging (#1004)

* Switch the atomic builtins from `__sync_fetch_*()` to the slightly more modern
  `__atomic_*()` (#1750)

* Fix calculation of `gsize` width on various platforms (including OpenBSD) (#1777)

* Fix undefined behaviour causing brokenness in `g_utf8_find_prev_char()` when
  compiling with GCC ≥ 8 (#1917)

* Revert UNIX mode changes in `G_FILE_ATTRIBUTE_ID_UNIX_MODE` which broke OSTree (#1934)

* Slightly improve performance for signal emissions when no handlers are connected (!1083)

* Add `g_task_return_value()` and `g_task_propagate_value()` APIs to allow
  `GTask` to be used from language bindings more easily (!1216)

* Fix a file monitoring crash on kqueue-based systems (BSD) (!1221)

* Bugs fixed:
 - #1004 [PATCH] Make gbacktrace use lldb on Mac OS X
 - #1552 CI: Add code style checks
 - #1750 Switch from  __sync_fetch_*() to __atomic_*() in glib/gatomic.h
 - #1777 gsize: improper typedef on (at least) OpenBSD
 - #1895 Regression: glib does not compile on centos 6: "objcopy: unrecognized option '--add-symbol'"
 - #1917 Test utf8-pointer fails with static build, LTO, optimisations, and new GCC
 - #1930 glib/tests/bookmarkfile.c:385:test_modify: assertion failed: (stamp == now)
 - #1934 ostree tests broken since bfdc5fc4fc84ef8518d2d1a328c8482cf5a38e98: File '/tmp/test-tmp-libostree_test-basic-user.sh.test-QB4SA0/diff-test2' is not empty
 - #1938 GDateTime doesn't support leap seconds
 - #1940 atomics test fails on FreeBSD CI since !1123
 - !1039 Improve documentation for footgun function g_tls_client_connection_copy_session_state()
 - !1083 Use the GObject hole on 64bit arches for some flags to improve performance
 - !1202 CI updates after !1177
 - !1208 gutils: Slightly improve docs formatting for g_get_os_info()
 - !1209 Make ld executable configurable
 - !1210 gdbus-server-auth test: Include gcredentialsprivate.h
 - !1213 gsocket: Improve diagnostics on bind() failure
 - !1214 gvariant, gbytes: Avoid memcmp (NULL, ., 0) or memcmp (., NULL, 0)
 - !1216 Make GTask more binding-friendly
 - !1218 gdb: Fix GHashTable pretty printer off-by-one error
 - !1220 gparam: fix memory leak in g_param_value_defaults()
 - !1221 Add NOTE_REVOKE to the list of the monitoring events
 - !1225 gtlsconnection: clarify handshake() documentation
 - !1227 Deprecate old GTlsConnection functionality even harder!
 - !1231 Fix build on old libc that does not define _SC_HOST_NAME_MAX
 - !1238 gstrfuncs: use gsize type internally for strv functions
 - !1242 gfileinfo: Clarify the documentation for G_FILE_ATTRIBUTE_UNIX_MODE
 - !1243 docs: Fix "occurred" typos in API documentation

* Translation updates:
 - Spanish


Overview of changes in GLib 2.63.1
==================================

* Several usability improvements to command line `gio` tool (!1153)

* Add `g_array_steal()`, `g_ptr_array_steal()` and `g_byte_array_steal()` APIs (#285)

* Add `g_get_os_info()` API (!1063, !1160)

* Add `g_warning_once()` API (!1028)

* Always resolve `localhost` to loopback address in `GResolver` (!616)

* Add `GMainContextPusher` API (!983)

* Limit recursion in `g_variant_parse()` (!1173)

* Fix crash in `g_spawn()` with high FD numbers due to use of `select()` rather
  than `poll()` (#954)

* Allow passing empty `GValue`s to `g_param_value_set_default()` (!1186)

* Escape header guards generated by `gdbus-codegen` better (#1379)

* Bugs fixed:
 - #285 [PATCH] add array steal and memdup functions
 - #954 The g_spawn_sync() function uses select() which has limitations
 - #1318 rare failure in gdbus-peer test: invalid uninstantiatable type '(null)' in cast to 'GDBusServer'
 - #1379 gdbus-codegen generates invalid header guards when build directory contains a + character
 - #1622 NULL pointer derefs on g_vasprintf() failure
 - #1813 g_option_context_add_main_entries() is missing array annotation for entries parameter
 - #1831 No reply on private socket due to auth problem
 - #1836 gobject.c uses undefined annotation “(not optional)”
 - #1858 docs/reference/gobject/tut_gobject.xml: object properties example uses deprecated API
 - #1877 g_cancellable_source_new annotated with 'skip'
 - #1896 Use after free when calling g_dbus_connection_flush_sync() in a dedicated thread
 - #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7
 - #1903 use-after-free in mimeapps test causes intermittent segfault during testing
 - #1906 test_os_info fails on FreeBSD
 - #1916 objcopy not used from cross-compilation file in GIO tests
 - #1923 Recent Versions of GLib Break Dolphin File-Manager's Thumbnailing when Using 'gtk2' Style
 - !616 Always resolve localhost to loopback address
 - !983 gmain: Add GMainContextPusher convenience API
 - !1014 tests: Add a test for g_assert_finalize_object()
 - !1028 gmessages: Add g_warning_once()
 - !1035 Switching from C gnu89 to C gnu99 standard
 - !1063 gutils: Add g_get_os_info()
 - !1082 gdatetime: Document RFC 3339 extensions when parsing ISO 8601
 - !1105 syscall flood on every time*() function call
 - !1120 Update documentation with FreeBSD build instructions
 - !1135 gmain: use atomic operation instead of GMutex to access g_main_context_default()
 - !1146 Solaris build fixes
 - !1147 gmodule: fix typo in doc comment
 - !1148 gio/gfileinfo: fix parameter references
 - !1149 gio/gfile: fix parameter reference for value_p
 - !1150 gio/gfile: fix parameter references to @contents
 - !1151 gio/gfile: fix typo in doc comment
 - !1152 gwinhttpvfs: Handle g_get_prgname() returning NULL
 - !1153 Several gio-tool bash completion fixes and improvements
 - !1155 Strict-aliasing fixes to new atomic built-ins
 - !1157 Fix various compiler warnings on Android
 - !1160 Add Windows support to g_get_os_info()
 - !1161 hash: Remove an assertion from the hot path
 - !1163 gcharset: Expand the documentation for g_get_locale_variants()
 - !1165 Use uname as a fallback to get OS info
 - !1167 Fix some minor leaks in testfilemonitor
 - !1168 Fix gdatetime tests on toolbox
 - !1171 Revert "gdbus-codegen: emit GUnixFDLists if an arg has type 'h'"
 - !1173 gvariant: Limit recursion in g_variant_parse()
 - !1177 ci: Add libdbus development files to CI Docker images
 - !1179 Improve GPtrArray doc-comments
 - !1180 array: Avoid use of memcpy(dest, NULL, 0)
 - !1181 gmain: Clarify thread safety of some common GSource functions
 - !1182 gio: Fix typo in URL
 - !1186 Allow using an empty GValue with g_param_value_set_default()
 - !1189 gparamspecs: Fix type class leaks on error handling paths
 - !1197 Fix GDBus test failures on non-Linux (in particular FreeBSD)
 - !1200 Minor fixes from a scan-build run

* Translation updates:
 - Catalan
 - Chinese (Taiwan)
 - Spanish


Overview of changes in GLib 2.63.0
==================================

* Add g_fsync() API (#35)

* Fix regression in g_file_copy() when passing
  `G_FILE_COPY_TARGET_DEFAULT_PERMS` flag; the destination permissions would be
  private rather than following the process’ umask (!1142)

* Several `GDateTime` parsing fixes (!1127)

* Always build the tests if installed-tests are enabled, so that the tests can
  actually be installed (!1141)

* Rework atomic function implementations to use memory barrier in the correct
  place (when compiler intrinsics aren’t providing the atomics), and fix
  signedness issues (#1449, #1565)

* Use the OS’ `fdwalk()` function (if safe) to speed up `g_spawn_*()` on BSD (#1638)

* Remove the macOS `dyld` `GModule` implementation in favour of `dl` instead (!1093)

* Bump Python requirement to ≥ 3.5, which we implicitly relied on anyway through
  our Meson dependency (!1132)

* Bugs fixed:
 - #35 add g_fsync to API
 - #174 g_file_copy always preserves  permissions, even if G_FILE_COPY_ALL_METADATA flag is not set
 - #259 docs: fix a misunderstanding in g_type_add_interface_*
 - #767 g_signal_lookup fails if class is not referenced
 - #1052 g_io_write_chars calls abort when given a null byte as input
 - #1449 glib fallback atomic int/ptr get/set have memory barrier in wrong place
 - #1565 Signedness of atomic operations
 - #1638 g_spawn_*() is extremely slow under certain circumstances
 - #1809 Provide API for working with PKCS11 backed certificates
 - #1843 TSAN false positive with g_atomic_pointer_get/g_atomic_pointer_set under Clang
 - #1865 g_variant_get_data_as_bytes fails after serializing a variant
 - #1875 Segfault and Overflow in __gio_xdg_cache_mime_type_subclass() with Wps-Office installed
 - #1887 glib 2.62.0 breaks loading dylibs as modules
 - #1888 2.62: docs build on Windows broken
 - #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7
 - !1020 docs: Remove priv pointers from the tutorial example
 - !1062 gtype: mark the inline functions in G_DECLARE_*_TYPE() as UNUSED
 - !1080 tests: Fix skipping mkdir-with-parents-permission test
 - !1088 Various small scan-build fixes
 - !1090 giochannel: Clarify type of GSource callback in documentation
 - !1093 gmodule: remove macOS dyld implementation
 - !1095 Define G_IOV_MAX to 512 on macOS/iOS
 - !1099 gmem: clarify that g_malloc always uses the system allocator
 - !1109 doc: fix typo in gio/gsettings.c
