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
 - !1110 gio: Add missing "gio remove" option to bash completion script
 - !1112 Add version macros for GLib 2.64
 - !1115 gdatetime: Fix error handling in g_date_time_new_ordinal()
 - !1116 gmarkup: Add a limit on the number of attributes in an element
 - !1119 Annotate the return value of various utility functions
 - !1124 docs: Fix typo in GConverter{Input,Output}Stream section titles
 - !1125 gdatetime: Fix error handling in g_date_time_new_week()
 - !1126 fileinfo: Mention that usec mtimes are set
 - !1129 gdate: Fix tautological comparison warnings on Android
 - !1130 Improve GLIB_DEPRECATED_MACRO_FOR output
 - !1131 gio/gfileinfo: fix param reference in doc comment
 - !1132 build: Bump Python requirement to ≥ 3.5
 - !1137 gregistrysettings: bump key name length to 2048
 - !1138 Always build tests if we enabled installed-tests
 - !1139 g_file_info_get_modification_date_time: Calculate in integer domain

* Translation updates:
 - Danish
 - Italian
 - Panjabi
 - Serbian
 - Turkish


Overview of changes in GLib 2.62.0
==================================

* Fix new `GFileInfo` APIs to work when `G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC`
  was not queried (!1087)

* Bugs fixed:
 - #487 Add valgrind test runs to CI
 - !1084 garray: Fix reference to GLIB_SIZEOF_INT
 - !1086 glib.supp: make gobject_init() calloc also of the possible kind
 - !1087 fileinfo: ignore USEC if not available

* Translation updates:
 - Friulian
 - Portuguese (Brazil)


Overview of changes in GLib 2.61.3
==================================

* Support setting thread name on BSD systems (#1761)

* Install previously-uninstalled headers for public `GNativeSocketAddress`
  object (#1854)

* Very initial support for Windows apps (UWP) (!1057)

* Add various new valgrind suppressions to `glib.supp` (#1879, !1075)

* Bugs fixed:
 - #83 Optimisation for g_nearest_pow() in garray.c
 - #512 GSignal: accumulator function not called to accumulate G_SIGNAL_RUN_CLEANUP object handler return values
 - #873 allow NULL arguments to parse_strv
 - #905 Patches from static analysis run on 2.40
 - #1057 goption: add sanity check to input parameters
 - #1309 GSettings object stops emitting "changed" signal on g_settings_reset after call to g_settings_delay
 - #1620 GDBus criticals from GVfs with GLib master
 - #1761 Setting thread-name on BSD systems
 - #1803 GDK_SCALE=X is not respected when using "gio open"
