Overview of changes in GLib 2.73.0
==================================

* Support nanosecond time precision in file attributes (work by Nitin Wartkar) (#369)

* Add `g_list_store_find_with_equal_func_full()` API to make `GListStore` more
  introspection friendly (work by Jason Francis) (#2447)

* Document some GLib maintenance policies a bit better (work by
  Nirbheek Chauhan, Philip Withnall) (#2596, !2648, !2649, !2664)

* Remove FAM/gamin file monitor and `-Dfam` meson option, as libgamin was last
  released in 2007 and is dead upstream (work by Emmanuele Bassi) (#2605)

* Fix futex timespec type on 32-bit kernels with 64-bit userspace (#2634)

* Deprecate g_dtls_client_connection_set_validation_flags() (work by Michael Catanzaro) (#2646)

* Add support for automatically `NULL`-terminated `GPtrArray`s (work by Thomas Haller) (!1485)

* A lot of cleanup of warnings and old tests (work by Emmanuel Fleury)

* Various compilation and test fixes on Windows (work by Marc-André Lureau)
  (!2499, !2540, !2569, !2582, !2592, !2599, !2600, !2656)

* Fix detection of broken `poll()` implementation on macOS, broken since the
  port to Meson (work by Haruka Ma) (!2571)

* Add additional flags to `g_spawn_async_with_pipes_and_fds()` to make it more
  easily introspectable (work by Nicola Fontana) (!2632)

* Initial (incomplete) support for REUSE licensing (work by Philip Withnall) (!2663, !2665, !2666)

* GObject construction performance improvements (work by Matthias Clasen) (!2672, !2673, !2674, !2677, !2680, !2690)

* Add `g_idle_add_once()` and `g_timeout_add_once()` for one-shot sources (work by Emmanuele Bassi) (!2684, !2693)

* Simplify zlib dependency resolution using new built-in Meson support for it (work by Eli Schwartz) (!2685)

* Bugs fixed:
 - #369 file copy doesn't preserve nanosecond timestamps
 - #2312 gdbus-test-codegen tests leak GWeakRef objects
 - #2447 g_list_store_find_with_equal_func is not binding friendly
 - #2596 Policy on meson requirement bumping
 - #2605 Update Android CI to support API level 31
 - #2614 Remove FAM/gamin file monitor
 - #2625 g_warning_once fails to build with clang++
 - #2629 g_file_trash() does not work on directories inside a sandbox
 - #2633 Recent updates in gstdio.h breaks ABI on 64-bit MSVC builds
 - #2634 g_cond_wait_until: returning FALSE immediately on mips24
 - #2640 UWP warnings about extensions and verbs with glib 2.72.1
 - #2646 Should g_dtls_client_connection_set_validation_flags etc. be deprecated?
 - #2653 pango fails to build against glib main
 - !1485 array: add support for g_ptr_array_null_terminated()
 - !2449 Fix test suite on Windows
 - !2494 Cleanup warnings split 5
 - !2495 Cleanup warnings split 6
 - !2496 Cleanup warnings split 7
 - !2497 Cleanup warnings split 8
 - !2498 Cleanup warnings split 9
 - !2499 Various contenttype-related test fixes on win32
 - !2521 gobject: Add g_signal_group_connect_closure
 - !2534 gpowerprofilemonitor: Tweak wording of documentation to make more sense
 - !2539 Convert tests/gio-test.c to g_test framework
 - !2540 Various win32 tests skip & fixes
 - !2541 meson: simplify lookup of python command
 - !2543 ci: Update the Fedora CI image to Fedora 34
 - !2545 gutils: Add flags to g_format_size_full() to return only value or only units
 - !2550 Moving gobject tests from tests/gobjects to gobjects/tests
 - !2553 Moving tests/refcount/ directory to gobject/tests/
 - !2556 gdbusconnection: Use g_strv_contains() rather than a home-grown version
 - !2557 gdbusmethodinvocation: Fix a leak on an early return path
 - !2558 Move unit test on g_basename() function to glib/tests/fileutils.c
 - !2559 Move tests/relation-test.c to glib/tests/relation.c
 - !2560 ci: Update Coverity, mingw and Android CI images to Fedora 34
 - !2562 tests: Call openpty (if available) without using dlsym
 - !2563 glib: Format GDateTime ISO8601 years as %C%y
 - !2564 Move test files on slices from tests/ to glib/tests/
 - !2565 Revert "meson: simplify lookup of python command"
 - !2566 tests: Add more tests for GResolver response parsing
 - !2567 tests: Fix compilation when GLIB_DISABLE_DEPRECATION_WARNINGS is defined
 - !2569 Various win32 tests fixes
 - !2571 meson: Set BROKEN_POLL in macOS builds
 - !2572 gversionmacros: Add version macros for GLib 2.74
 - !2575 Move tests/spawn-test.c -> glib/tests/spawn-test.c
 - !2577 build: Post-release version bump to 2.73.0
 - !2579 Slice test
 - !2580 Moving slice-threadinit.c test to glib/tests/
 - !2581 Move tests/unicode-encoding.c to glib/tests/unicode-encoding.c
 - !2582 glib/win32: fix spawn from GUI regression
 - !2584 Move msvc warnings in meson.build file
 - !2585 GUnixFDList: Include only in unix build
 - !2586 Move test tests/unicode-normalize.c to glib/tests/
 - !2589 tests: Don’t exit gdbus-method-invocation test early on connection close
 - !2591 tests: Remove an incorrect assertion in converter-stream
 - !2592 gio/tests: DuplicateHandle() is inappropriate for SOCKET
 - !2594 ci: Expire CI artifacts after 1 week
 - !2597 tests: Make a string comparison on an error string more relaxed
 - !2598 ci: Combine style-check-diff and check-todos jobs into one
 - !2599 Various socket-related fixes for win32
 - !2600 GDate: Fix tests on Windows on certain locales
 - !2601 Move tests/onceinit.c to glib/tests/onceinit.c
 - !2602 tests: Ensure NormalizationTest.txt is installed for installed-tests
 - !2603 tests: Use G_TEST_OPTION_ISOLATE_DIRS in gdbus-peer-object-manager
 - !2604 tests: Reduce wakeup interval in gdbus-threading
 - !2606 tests: Fix a minor leak in the unicode-normalize test
 - !2607 Moving tests/mapping-test.c to glib/test/mapping.c
 - !2608 Fixes in tests
 - !2609 Remove tests/timeloop.c and tests/timeloopbasic.c
 - !2610 Expand tests on gbookmark file API
 - !2612 docs: Expand G_DEFINE_BOXED_TYPE docs with more detailed example
 - !2613 gtestutils: Include stdlib.h for exit function
 - !2614 Add inout annotations for g_iconv
 - !2615 Meson: Fix gio-windows-2.0 override name
 - !2617 gmessages: Error if g_log_set_writer_func() is called multiple times
 - !2619 gversion: Clarify that GLIB_CHECK_VERSION is a >= check
 - !2621 Fix the annotation of g_utf8_strncpy()
 - !2624 Expand ghook unit tests for a better coverage and add more checks
 - !2625 gsocket: Add assertions about socket address sizes for memcpy()
 - !2626 gio-tool: Fix a minor memory leak when using gio-set with bytestrings
 - !2627 gopenuriportal: Fix a use-after-free on an error path
 - !2628 Fix various scan-build warnings
 - !2630 build: Move lcovrc file to root so it’s picked up by Meson
 - !2631 Cast to ptrdiff_t instead of subtracting by null
 - !2632 g_spawn_async_with_pipes_and_fds uses out parameters as inputs
 - !2633 Fix closure annotations in callbacks' user data parameters
 - !2634 Move tests/threadpool-test.c to glib/test/thread-pool-slow.c
 - !2635 Add a couple of assertions to help with static analysis
 - !2636 ghmac: Fix some signed/unsigned issues with g_checksum_update()
 - !2637 guri: Preallocate a buffer for building URIs
 - !2638 fuzzing: Only set the writer function once
 - !2639 Move tests/thread-test.c to glib/tests/thread-deprecated.c
 - !2642 meson: Check rres.compiled() before calling rres.returncode()
 - !2645 Remove unnecessary test tests/mainloop-test.c duplicated in glib/tests/mainloop.c
 - !2646 Add some more assertions to help scan-build out
 - !2648 docs: Add a code of conduct document
 - !2649 Various updates to documentation and misc files in the root directory
 - !2650 meson: Use range() instead of listing all stable versions
 - !2651 Replace single quotes in gio/tests/codegen.py
 - !2652 resources: Hide external data symbol
 - !2653 build: Remove a few Meson workarounds and FIXMEs
 - !2654 gtask: use g_strconcat() in g_task_return() only if needed
 - !2655 Fix typo in gio/meson.build
 - !2656 gio: various unix/fd-related enablement on win32
 - !2657 ci: Temporarily allow failure of macOS CI runner until it’s fixed
 - !2658 tests: Fix a double-close of a GSource in tests
 - !2659 Cleaning a file left behind by glib/tests/bookmarkfile.c test case
 - !2660 Move tests/module-test.c to gmodules/tests/
 - !2663 docs: Initial REUSE licensing support
 - !2664 docs: Add compiler and toolchain requirements from the wiki
 - !2665 glib/gio/tests: Add SPDX license headers automatically
 - !2666 fuzzing: Add copyright/licensing headers to fuzzing files
 - !2669 Add a Unicode testcase
 - !2671 Add another Unicode testcase
 - !2672 gtype: small optimization
 - !2673 param: Avoid strcmps
 - !2674 Avoid g_type_peek_value_table
 - !2675 docs: Use G_PARAM_STATIC_STRINGS in examples and explain it more
 - !2677 param: Add a value_is_valid vfunc
 - !2679 Rename user data parameters to user_data
 - !2680 Speed up object finalization
 - !2684 Add one-shot idle and timeout functions
 - !2685 meson: use builtin dependency lookups for zlib
 - !2686 gitlab-ci: remove meson-junit-report.py conversion
 - !2687 gitlab-ci: left-over from junit cleanup
 - !2688 gparamspecs: Remove redundant NULL checks
 - !2689 build: update sysprof configuration options
 - !2690 gobject: Keep a count of construct params
 - !2693 gmain: Refactor idle-once and timeout-once to avoid a closure allocation

* Translation updates:
 - Basque
 - Bulgarian
 - Catalan
 - Croatian
 - Czech
 - Danish
 - English (United Kingdom)
 - French
 - Galician
 - German
 - Hungarian
 - Indonesian
 - Italian
 - Lithuanian
 - Nepali
 - Polish
 - Portuguese
 - Portuguese (Brazil)
 - Russian
 - Slovenian
 - Spanish
 - Swedish
 - Turkish
 - Ukrainian


Overview of changes in GLib 2.72.0
==================================

* Bugs fixed:
 - #2620 g_time_zone_new_offset() assertion failure if offset >= 25 hours
 - !2538 Various unit test fixes
 - !2542 fuzzing: Fix test failure with G_DISABLE_ASSERT
 - !2547 gprintf: Fix a memory leak with an invalid format in g_vasprintf()
 - !2548 tests: Various fixes to gdbus-auth, gdbus-non-socket, gdbus-connection-flush, spawn-multithreaded tests
 - !2551 tests: More flaky test fixes to converter-stream and test-printf
 - !2552 gtlsconnection: fix typo in docs

* Translation updates:
 - Czech
 - French
 - Friulian
 - Hebrew
 - Hungarian
 - Italian
 - Kazakh
 - Polish
 - Romanian
 - Serbian
 - Swedish


Overview of changes in GLib 2.71.3
==================================

* Fix flaky `GDebugController` tests (!2504)

* Numerous small documentation updates

* Bugs fixed:
 - #517 g_utf8_collate returns 0 on U+C5D0 vs U+CD94
 - #1929 gdbus-connection-flush: setup_client_cb: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1)
 - #2589 Hash sign misinterpreted as heading
 - #2598 g_main_loop_run() may leak a GMainLoop reference
 - #2609 Clarify documentation for g_log_set_debug_enabled()
 - #2611 Unspecified options considered present
 - #2612 side effects of ensure_valid_dict result used in g_return_if_fail macro
 - #2613 Naked magic literal in gvariant.h
 - !1707 Add cache to g_unix_mount_points_get()
 - !2424 Remove old test file tests/testglib.c
 - !2451 glib: fix buffer overflow in g_canonicalize_filename()
 - !2466 Various minor fixes for empty argv handling
 - !2480 Various glib/tests/date fixes on win32
 - !2485 Various spawn-related test fixes on win32
 - !2490 Cleanup warnings split 1
 - !2491 Cleanup warnings split 2
 - !2492 Cleanup warnings split 3
 - !2493 Cleanup warnings split 4
 - !2501 glib-compile-resources: Fix a memory leak of the compiler option
 - !2502 tests: Merge iochannel-test into io-channel tests in glib directory
 - !2503 gbacktrace: Fix a set-but-not-used variable
 - !2504 gdebugcontrollerdbus: Track pending tasks with weak refs
 - !2505 tests: Stop ignoring test failures on macOS
 - !2506 gresource-tool: Fix unused-but-set-variable warn with G_DISABLE_ASSERT
 - !2507 ci: Drop custom dependency builds from installed-tests
 - !2508 codegen: Reformat parser.py according to black
 - !2509 tests: Fix various small memory leaks
 - !2510 gdesktopappinfo: Fix a leak when launching URIs over D-Bus
 - !2512 doc: Extend a bit G_DECLARE_* documentation example
 - !2513 gmain: Expand documentation about GSource priorities a little
 - !2514 ci: Various cleanups and moving Android API 21 and FreeBSD 12 to scheduled run
 - !2515 gmessages: Fix typo in docs
 - !2516 glocalfileinfo: Always define _g_stat_mtim_nsec, etc.
 - !2517 meson: Add schemasdir and giomoduledir to gio dependency
 - !2518 meson: Set GIO_EXTRA_MODULES in devenv
 - !2519 gdebugcontrollerdbus: Mark a variable as G_GNUC_UNUSED
 - !2520 tests: Remove threads from mock-resolver/network-address test
 - !2523 Add handling of NULL time_t* pointer as argument
 - !2524 Revert "meson: Add schemasdir and giomoduledir to gio dependency"
 - !2525 meson: Add schemasdir and giomoduledir to gio dependency
 - !2526 Remove unused test tests/testgdateparser.c
 - !2527 Move tests/type-test.c to glib/tests/types.c
 - !2528 meson: Add PYTHONPATH to load GDB helper module
 - !2531 gtask: Document that task name is set by g_task_set_source_tag()

* Translation updates:
 - Basque
 - Catalan
 - Chinese (China)
 - Croatian
 - Danish
 - German
 - Hebrew
 - Indonesian
 - Korean
 - Lithuanian
 - Romanian
 - Russian
 - Spanish
 - Turkish


Overview of changes in GLib 2.71.2
==================================

* Rework `glib-compile-resources` to output compiler-specific files to reduce
  compilation time; see the new `--compiler` option (work by Emmanuele Bassi) (#2492)

* Add a cross-platform API for aligned memory allocations (`g_aligned_alloc()`,
  `g_aligned_alloc0()` and `g_aligned_free()`) (work by Emmanuele Bassi) (#2574)

* Deprecate `force_posix_threads` configure option, since it was a workaround
  for static linking on Windows (#2592)

* Add `GBindingGroup` and `GSignalGroup` APIs (work by Christian Hergert and
  Garrett Regier) (!2235)

* Implement FD remapping support for `g_spawn_async_with_pipes_and_fds()` on
  Windows (work by Marc-André Lureau) (!2458)

* Add an async file move API, `g_file_move_async()` (work by Lucas Schwiderski) (!2469)

* Bugs fixed:
 - #1190 gapplication: Add an org.gtk.Debugging interface
 - #2329 GApplication CLI parsing of DOUBLE type failure
 - #2492 glib-compile-resources contains resource data twice and creates large output files
 - #2563 g_test_build_filename and friends not safe to call after g_test_run() has finished
 - #2574 Add API for aligned allocations
 - #2592 Consider deprecating 'force_posix_threads' build option
 - #2601 Missing <para> tag in generated files
 - !2235 Add GBindingGroup and GSignalGroup
 - !2378 gtestutils: Mention the unit used for the test timer
 - !2404 File tests
 - !2433 Remove tests/testgdate.c from tests
 - !2458 Implement fd passing for Windows spawn
 - !2464 Amend g_bus_get* documentation regarding private connection
 - !2465 gi: expose some files as variable for gobject-introspection
 - !2467 ci: Add link to Coverage output at end of coverage job
 - !2468 gfile: resolve_relative_path isn't nullable
 - !2469 Implement async file movement
 - !2471 Fix test on the date format for FreeBSD and MacOS X.
 - !2472 Fix test date (again)...
 - !2473 Fix glib/test/date.c for FreeBSD/OpenBSD/MacOS X
 - !2476 Add G_UNICODE_SCRIPT_MATH to GUnicodeScript
 - !2477 Improve coverage of two digit years in gdate tests
 - !2481 Fix glib/tests/fileutils on win32
 - !2482 Fix unit test on date format '%Z' which is too versatile to be trustable
 - !2483 Fix glib/tests/gdatetime on win32
 - !2484 tests: Use g_test_skip() to skip a test on Windows
 - !2487 gconstructor.h: Visual Studio: Only include gslist.h if needed
 - !2488 Fix some problems with g_aligned_alloc() tests

* Translation updates:
 - Basque
 - Catalan
 - Chinese (China)
 - Czech
 - French
 - Galician
 - Indonesian
 - Japanese
 - Polish
 - Portuguese
 - Portuguese (Brazil)
 - Russian
 - Slovenian
 - Spanish
 - Ukrainian


Overview of changes in GLib 2.71.1
==================================

* Basic support for static builds on Windows (work by Loïc Le Page,
  Marc-André Lureau, with contributions from Xavier Claessens, Nirbheek Chauhan,
  Charlie Barto, Luca Bacci, Amos Wenger) (#692, #2585, !2442)

* Add `GDebugController` and a D-Bus implementation which exposes whether
  debug output is enabled in a process using the `org.gtk.Debugging` D-Bus
  interface (work by Philip Withnall) (#1190)

* Support for `AF_UNIX` sockets on Windows 10 (and later) (work by Marc-André Lureau) (#2487)

* Several important fixes to GDBus message and GVariant parsing of invalid data (work by Sebastian Wilhelmi) (#2557, #2572)

* Fix potential data loss due to missing fsync when saving files on btrfs (work by Sebastian Keller) (!2425)

* Fix potential buffer overflows in `garray.c` for very large `GArray`s and `GPtrArray`s (work by Tobias Stoeckmann) (#2578)

* Fix FDs in gspawn not being closed and causing process hangs if `close_range()` fails unexpectedly (work by Dan Nicholson) (#2580)

* Fix `g_find_program_in_path()` not returning an absolute path if `$PATH` is relative (work by Christoph Niethammer) (#2586)

* Add support for loading PKCS#12 encrypted files in `GTlsCertificate` (work by Patrick Griffis) (!2239)

* A number of improvements to unit tests (work by Emmanuel Fleury, Charlie Barto) (!2399, !2400, !2402, !2403, !2428, !2431, !2432, !2434)

* Support `LOCAL_PEERPID` on macOS, giving partial support for PIDs in
  `GCredentials` on that platform (work by Ignacio Casal Quinteiro) (!2362)

* Add `g_get_user_state_dir()` to support `XDG_STATE_HOME` (work by Sophie Herold) (!2395)

* Add `g_hash_table_new_similar()` to copy a hash table and its hash/equal functions without its data (work by Jonas Ådahl) (!2405)

* Support D-Bus client authentication with `EXTERNAL` on Windows (work by Marc-André Lureau) (!2429)

* Add a reStructuredText documentation generator to `gdbus-codegen` (work by Emmanuele Bassi) (!2448)

* Add a Windows implementation of `GMemoryMonitor` (work by Marc-André Lureau) (!2452)

* Bugs fixed:
 - #692 meta: Fix static build on Windows
 - #1190 gapplication: Add an org.gtk.Debugging interface
 - #2487 Add support for native unix domain sockets on WIN32 to GLib.Socket and related classes
 - #2550 possible GDateTime issue with localtime on Illumos/Solaris
 - #2557 Arrays of zero-element tuples with non-zero length lead to infinite loops in g_dbus_message_new_from_blob
 - #2559 2.71.0: compile and link time warnings
 - #2560 Link error xdgmime.c: unresolved external symbol S_ISREG when building with VS2022
 - #2564 Hangul Jamo Extended-B should be 0-width
 - #2565 Build glib-2.71.0 failed in Windows using MSYS2-MINGW64
 - #2571 Cross build error "undefined reference to `_g_binary_test1_resource_data'" when building tests for Windows on openSUSE Leap
 - #2572 Check for GVariant recursion depth before recursing
 - #2578 buffer overflows in garray.c
 - #2579 Outdated paths in INSTALL.in
 - #2580 gspawn doesn't set CLOEXEC if close_range fails unexpectedly
 - #2582 glib 2.71.0 muslc - build error missing sentinel in function call
 - #2585 Static link issue on Windows due to resource files being linked in twice
 - #2586 g_find_program_in_path not returning an absolute path
 - !2239 gtlscertificate: Add ability to load PKCS#12 encrypted files
 - !2362 credentials: support the local peerpid on macos
 - !2384 meson: Fix linking with static library in Windows
 - !2395 utils: Add XDG_STATE_HOME support
 - !2399 Move tests/env-test.c into glib/tests/environment.c
 - !2400 Prevent gtest tests from popping up dialog boxes
 - !2402 Improving glib/tests/environment.c
 - !2403 Improve test coverage of glib/tests/asyncqueue.c
 - !2405 ghash: Add g_hash_table_new_similar
 - !2407 tests: Fix environment test on FreeBSD
 - !2411 annotate `g_content_type_guess` parameter as filename
 - !2412 paramspec: fix unref annotation
 - !2413 Use meson dependency to link against apple framework
 - !2414 docs: Improve docs for gdbusutils.c
 - !2417 gtestutils: Fix minor typos in the g_test_get_filename() docs
 - !2423 Make clear in doc that signals are emitted synchroniously
 - !2425 gfileutils: Remove outdated BTRFS fsync optimization from set_contents
 - !2426 gdbus-codegen: Fix a typo in a comment
 - !2428 Merge tests/gobject/gvalue-test.c with gobject/tests/value.c
 - !2429 gdbus: make client work with EXTERNAL on Windows
 - !2431 Merge tests/gobject/paramspec-test.c into gobject/tests/param.c
 - !2432 Merge test/unicode-caseconv.c into glib/tests/unicode.c
 - !2434 Remove a disabled test case that was covered by glib/tests/collate.c
 - !2440 Improve g_ascii_formatd docs and preconditions
 - !2441 Reduce the amount of compile-time warnings
 - !2442 Fix tests with static build on Windows
 - !2447 giowin32: use gint64 and _lseeki64
 - !2448 Add reStructuredText documentation generator for gdbus-codegen
 - !2452 gio/win32: add GMemoryMonitorWin32
 - !2453 Add `(array length)` annotation to `g_tls_certificate_new_from_pkcs12()`
 - !2454 gdbusmessage, gvariant and garray fixes
 - !2456 tests: Pass --internal and -z noexecstack to glib-compile-resources tests
 - !2459 gio: add missing zlib dependency in gio-windows-2.0.pc
 - !2461 Fix memory leak in gio/gdbusauthmechanismsha1.c
 - !2463 Revert "Merge branch 'fix-windows-pc' into 'main'"

* Translation updates:
 - Catalan
 - Chinese (China)
 - Czech
 - Galician
 - Hebrew
 - Indonesian
 - Lithuanian
 - Polish
 - Portuguese
 - Portuguese (Brazil)
 - Russian
 - Spanish
 - Ukrainian


Overview of changes in GLib 2.71.0
==================================

* Fix network changes not being signalled from NetworkManager (work by
  Julian Andres Klode) (#2505)

* Fix build when building with --fatal-meson-warnings (work by Eli Schwartz) (!2304)

* Fix use of the default log writer with journald namespaces (diagnosis by Ilya Basin) (#2530)

* Fix hang in `dbus-daemon` under `GTestDBus` when `G_MESSAGES_DEBUG=all` is set (work by Marco Trevisan) (#2537)

* Speed up `g_canonicalize_filename()` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi) (#2541)

* Fix URI for pcre subproject as it’s moved upstream (work by Albert Astals Cid) (!2324)

* Fix storing GSettings dictionaries on macOS (work by Maurice) (#2527)

* Speed up ‘remove dot segments’ algorithm in `GUri` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi) (#2526)

* Fix infinite loops in D-Bus message parsing for truncated inputs (work by Sebastian Wilhelmi) (#2528)

* Improve correctness of version information returned by `g_get_os_info()` for Windows 10/Server 2019+ (work by Chun-wei Fan) (#2443)

* Various fixes to GWeakRef cleanup (#865, #2390) and toggle refs (#2394) (work by Marco Trevisan)

* Add `G_DBUS_PROXY_FLAGS_NO_MATCH_RULE` flag for disabling match rules when creating a `GDBusProxy` (#1109)

* Fix FD remapping in `g_spawn_async_with_pipes_and_fds()` with certain values of target FDs (#2503, #2506) (work by Michael Catanzaro)

* Make `GDBusProxy::g-signal` signal detailed with D-Bus signal names (#2536) (work by Aleksandr Mezin)

* Emit `launched` signal for D-Bus activation of apps with `GDesktopAppInfo` (!2227) (work by Guido Günther)

* Fix IDs of `GDesktopAppInfo`s which are constructed from a `.desktop` file in a subdirectory (!2283) (work by Ivalyo Dimitrov)

* Add `--interactive` option to `gdbus call` (!2329)

* Add `G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP` to `GSubprocess` (!2333) (work by Hristo Venev)

* Bugs fixed:
 - #475 Add g_alloca0() and g_newa0()
 - #847 g_set_prgname() should be thread-safe
 - #865 GWeakRefs not cleared by g_object_run_dispose()
 - #1109 [PATCH] GDBusProxy: add G_DBUS_PROXY_FLAGS_NO_MATCH_RULE flag
 - #1231 gobject declare macros cause alignment warnings on armhf/armhf/mipsel
 - #1331 GArray with 10 million items overflows index arithmetic
 - #1735 Get back to a -werror build
 - #1781 Sort output of gsettings command-line tool
 - #2310 contenttype test leaks xdg-mime internal data
 - #2390 GWeakRef's aren't cleared again on finalization (and not fully thread-safe)
 - #2394 Toggle refs notification may not handle multiple threads correctly
 - #2400 Use-after-free in invoke_set_property_in_idle_cb()
 - #2401 GDBus runtime warning from remove_interfaces()
 - #2404 GTask: clarify that GTask assumes are running mainloop
 - #2426 GSettings delayed apply generates runtime warnings
 - #2443 Add Windows 11 support to get_windows_version()
 - #2468 GSequence pessimizes itself and slows down
 - #2471 g_output_stream_write_all_async prints error when count == 0 and content == NULL
 - #2488 Unix password unit test fails on FreeBSD 13
 - #2489 Add a (diagnostic) warning for finalized objects with floating refs
 - #2490 Upgrade to Unicode Character Database 14.0
 - #2496 Wrong parameter type for g_simple_proxy_resolver_set_ignore_hosts
 - #2498 GIR: Remove non-existing IOModule methods `load`, `unload`
 - #2500 Able to export object manager and object on root path, but not other paths
 - #2503 gspawn.c may clobber target fds
 - #2505 g_network_monitor_nm never updates on connection change (listens for signal on wrong dbus interface)
 - #2506 gspawn.c fails to close child_err_report_fd if it is duped to avoid conflation with one of the target_fds
 - #2507 Strange behavior of GFileEnumerator with GVfs locations
 - #2514 test suite failure in glib/tests/gdatetime.c if German locale de_DE.ISO-8859-1 is available
 - #2518 Misleading message when privileged program starts G_BUS_TYPE_SESSION
 - #2520 g_date_new_ functions return NULL on invalid input
 - #2523 MacOS generates warnings for g_size_checked_mul()
 - #2526 fuzz_uri_parse failure
 - #2527 Error storing dictionary with string keys as GSettings on macOS
 - #2528 g_dbus_message_new_from_blob goes into infinite loop for certain inputs
 - #2529 load_user_special_dirs returns NULL in certain cases
 - #2530 g_log_writer_is_journald fails if a Journal Namespace is used
 - #2536 GDBusProxy: make g-signal detailed
 - #2537 GTestDBus dbus daemon causes child process to hang when using verbose output
 - #2541 g_canonicalize_filename should work in linear time complexity
 - #2553 Consider not depending on strtoull_l and strtoll_l as much
 - !1960 Add g_main_context_new_with_flags() and ownerless polling option
 - !1968 gspawn: Implement fd remapping for posix_spawn codepath, and fix file descriptor conflation issues
 - !1991 Keyfile parsing performance improvements
 - !2029 Updating xdgmime
 - !2064 gobject: Cleanup GWeakRef locations on object finalization
 - !2114 Coerce type cast to void* because it causes compiler warnings
 - !2191 docs: Add .editorconfig file
 - !2214 Document potential footgun with GTlsCertificateFlags and deprecate certain usages
 - !2223 Better detection of the cleanup attribute.
 - !2227 gdesktopappinfo: Emit "launched" signal for D-Bus activation too
 - !2242 gsettings: Add various missing (nullable) or (not nullable) annotations
 - !2244 gutils: Avoid segfault in g_get_user_database_entry
 - !2245 gdesktopappinfo: Do not call xterm when it does not exist, inform the caller the launch failed
 - !2246 gobject: Document it’s unsafe to call g_object_ref() from GWeakNotify
 - !2249 Add version macros for GLib 2.72 and bump version to 2.71.0
 - !2251 GString: Bump minimum size
 - !2254 Small optimization for g_object_set
 - !2255 gobject: Clarify behaviour of adding weak refs during disposal
 - !2257 Fix documentation for g_dbus_object_manager_get_object().
 - !2260 GWin32AppInfo: Do not assert about successful open'ing of registry keys
 - !2261 Provide built DLLs as Gitlab-CI artifacts
 - !2266 fix uninitial variable
 - !2273 Fix more (Windows) warnings
 - !2277 Revert "Don't compile some unused functions in gio/xdgmime/"
 - !2283 GDesktopAppInfo: Try to always correctly set id
 - !2284 update the proxy-libintl subproject to the latest release
 - !2285 fix issues found by svace static code analyzer
 - !2286 meson: fix warnings for extract_all_objects function
 - !2287 ci: Update CI images to latest stable Debian and Fedora, bump Meson dependency to 0.52
 - !2288 Update g_source_remove doc comment: the function doesn't always return TRUE
 - !2289 Update g_source_remove documentation for the returned value
 - !2290 mkdir path specified by XDG_RUNTIME_DIR
 - !2292 Fix cast from pointer to integer of different size warning in gio/gwin32appinfo.c
 - !2293 glib-private: Fix MSVC build with AddressSanitizer
 - !2294 Fix windows warnings
 - !2295 gutf8: Document that out args from g_utf16_to_utf8() are non-negative
 - !2303 Fix more windows warnings
 - !2305 gio: document GFile API when relative path is absolute
 - !2306 gunixmounts: Drop references to pamconsole mount option
 - !2308 gthread-win32: Remove an unnecessary volatile qualifier
 - !2309 Rename libpcre.wrap to pcre.wrap
 - !2310 tests: Fix a typo in a test message in gdatetime.c
 - !2311 Fix always true comparison warning in glib/garray.c
 - !2319 docs: Fix the GListModel description
 - !2323 Fix final warnings in Windows code
 - !2324 Fix link to pcre-8.37.tar.bz2
 - !2326 Improve some documentation related to GTlsDatabase
 - !2328 gutf8: add string length check when ending character offset is -1
 - !2329 gdbus: Add --interactive option to `gdbus call`
 - !2332 Changed gendered terms to be gender-neutral
 - !2333 gsubprocess: Add G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP
 - !2336 tests: Drop arbitrary and flaky waits from actions tests
 - !2339 ci: Bump Meson version to 0.60.1 on macOS
 - !2341 tests: Wait for gdbus-testserver to die when killing it
 - !2342 tests: Reformat mkenums.py slightly to make run-black.sh happy
 - !2345 gutils: Disable some dead code on macOS
 - !2347 Removing tests/asyncqueue-test.c from tests/
 - !2348 gio/tests/codegen.py: bump timeout to 100 seconds
 - !2349 Annotate `g_getenv()` and `g_environ_getenv()` return value as `nullable`
 - !2352 tests: Fix a flaky wait in converter-stream
 - !2353 Address some oddities around GResolver::reload
 - !2357 ci: Upgrade to clang-format-11 from clang-format-7
 - !2360 meson: specify when commands need to succeed in run_command
 - !2364 tests: Allow `objcopy --help` to fail, because it fails on FreeBSD
 - !2365 Add vfunc checks in gappinfo.c
 - !2368 De-duplicate g_nearest_pow() implementation and add some overflow protections to g_ptr_array_maybe_expand(), g_string_maybe_expand() and g_string_chunk_insert_len()
 - !2370 gqsort: Move test to glib/tests/
 - !2371 Freeze notification during object destruction
 - !2372 docs: Improve GVariant docs
 - !2373 glib.supp: Suppress one-time allocation in g_get_home_dir()
 - !2376 GSource: move test to glib/tests/
 - !2379 Merging tests/bit-test.c into glib/tests/utils.c
 - !2381 tests: Test the function forms of g_bit_*() APIs too
 - !2382 gfileutils: Correctly reset start value when canonicalising paths
 - !2385 gfileutils: Fix transfer annotation and whitespace issues
 - !2386 docs: Add API documentation links to the README
 - !2387 docs: Update the README a little
 - !2390 Merging tests/child-test.c into glib/tests/spawn-multithreaded.c
 - !2391 Removing redundant cxx test tests/cxx-test.cpp
 - !2392 Move tests/completion-test.c to glib/tests/completion.c
 - !2393 Removing unnecessary test on gdatetime.c
 - !2396 fuzzing: Add a fuzz test for parsing DNS records
 - !2397 Moving tests/dirname-test.c to glib/tests/fileutils.c
 - !2398 fix /list/position test

* Translation updates:
 - Croatian
 - Friulian
 - Galician
 - Hebrew
 - Indonesian
 - Italian
 - Latvian
 - Lithuanian
 - Occitan (post 1500)
 - Persian
 - Polish
 - Portuguese
 - Portuguese (Brazil)
 - Romanian
 - Russian
 - Serbian
 - Slovak
 - Spanish
 - Swedish
 - Ukrainian


Overview of changes in GLib 2.70.0
==================================

* Bugs fixed:
 - !2248 ci: Replace FreeBSD 11 with FreeBSD 13

* Translation updates:
 - Croatian
 - Danish
 - English (United Kingdom)
 - French
 - German
 - Hungarian
 - Polish
 - Swedish
 - Turkish


Overview of changes in GLib 2.69.3
==================================

* Bugs fixed:
 - #2425 g_settings_schema_key_range_check() misbehaves for int versus bool
 - #2472 Compiling anything with GCC <4.6 spews deprecation warnings
 - #2477 `g_invoke_closure` bindings API break.
 - #2481 GPowerProfileMonitorPortal does not notice initial power-saver-enabled status
 - !2219 doc: Explicitly said, that no null term. is needed
 - !2238 ci: Use C.UTF-8 locale on FreeBSD 12
 - !2240 gio: Fix conditions in memory-monitor test

* Translation updates:
 - Basque
 - Catalan
 - Chinese (China)
 - Galician
 - Kazakh
 - Korean
 - Lithuanian
 - Romanian


Overview of changes in GLib 2.69.2
==================================

* The `DBUS_SESSION_BUS_ADDRESS` environment variable is once more not used if
  the process is `AT_SECURE` (setuid/setgid/setcap); this change was previously
  applied and then reverted because it broke gnome-keyring (#2316)

* Add `g_test_fail_printf()`, `g_test_skip_printf()`,
  `g_test_incomplete_printf()` helper functions for printing messages when tests
  end prematurely (work by Simon McVittie) (!2215)

* Add portal implementation of `GPowerProfileMonitor` (work by
  Bastien Nocera) (!2222)

* Bugs fixed:
 - #2316 Re-harden DBUS_SESSION_BUS_ADDRESS for AT_SECURE processes in GLib 2.70
 - #2343 Document explicitly refcount mgmt of source-object during GAsyncReadyCallbacks
 - #2454 Read past the end of buffer in g_win32_package_parser_enum_packages
 - #2456 Frequent test failure on FreeBSD: glib/tests/thread-pool.c:197:test_thread_pool_full: 'free_func_called' should be TRUE
 - !2157 tests: Add missing wakeup calls to gdbus-names test
 - !2165 docs: Mention the stable/unstable support version in README.md
 - !2211 Improve documentation of various TLS stuff
 - !2215 gtestutils: Add more convenience functions
 - !2216 tests: Fix error handling when testing gtestutils
 - !2222 gio: Add portal version of GPowerProfileMonitor
 - !2224 Docs: Mention that G_VA_COPY() must be followed by `va_end()`
 - !2225 build: Fix implicit declaration of function errors
 - !2226 Annotate the GString constructors

* Translation updates:
 - Czech
 - Hebrew
 - Slovenian
 - Spanish
 - Swedish


Overview of changes in GLib 2.69.1
==================================

* Support categories in desktop notifications (`GNotification`)
  (work by Guido Günther) (#2446)

* Add `GPowerProfileMonitor` for monitoring when to use less power (due to being
  on battery power, electricity being expensive or high-carbon, etc.)
  (work by Patrick Griffis, Bastien Nocera) (#2444)

* Allow static names to be set for `GSource`s to avoid unnecessary string copies
  (work by Matthias Clasen) (!2196)

* Bugs fixed:
 - #203 API: need g_module_open() variant with GError
 - #2058 win32: GPrivate can leak some objects
 - #2321 Add a GTypeFlag for final types
 - #2429 safe_fdwalk/safe_closefrom for Solaris 11.3/11.4
 - #2439 gio trash doesn't recognize existing trash directory in non-fs-root mount
 - #2446 Support `categories` for notifications
 - #2452 g_string_replace() loops 2**32 times when replacing empty string
 - !2177 gio/tests/g-file-info: don't assume million-in-one events don't happen
 - !2178 Clarify GValue documentation
 - !2179 Update GValue doc: How to use GBoxed with GValue
 - !2180 correctly use 3 parameters for close_range
 - !2181 gclosure: Fix the invoke() return_value annotation
 - !2182 glocalfileinfo: Fix usec/nsec confusion with filetimes on Windows
 - !2184 gspawn: Use CLOSE_RANGE_CLOEXEC if available
 - !2188 g_boxed_type_register_static, G_DEFINE_BOXED_TYPE: added correlating information
 - !2192 Fix more warnings
 - !2193 glib.supp: Expand match kinds for g_get_language_names() suppressions
 - !2194 Add GPowerProfileMonitor
 - !2195 Fix some test suite memory leaks
 - !2196 mainloop: Add g_source_set_static_name
 - !2197 GResource compiler: Prefix static [con|de]strutors with c_name
 - !2198 Port internal uses to use g_source_set_static_name()
 - !2200 Fix doc stanzas for GDataInputStream properties
 - !2201 Fix a Unicode typo
 - !2202 Document the stance on ID-based mainloop APIs
 - !2204 tests: Add a test for Unicode normalization
 - !2205 GWin32RegistryKey / GWin32AppInfo registry watch fixes
 - !2206 Adapt documentation to gi-docgen
 - !2210 GWin32AppInfo: Fix missing initialization

* Translation updates:
 - Indonesian
 - Portuguese
 - Portuguese (Brazil)
 - Russian
 - Ukrainian


Overview of changes in GLib 2.69.0
==================================

* Fix a crash in `GKeyFile` when parsing a file which contains translations
  using a `GKeyFile` instance which has loaded another file previously (#2361)

* Pin GIO DLL in memory on Windows (!2016)

* Fix building third-party projects against GLib on CentOS 7 (work by
  Ignacio Casal Quinteiro) (#2387)

* Add `g_thread_pool_new_full()` API to allow queued `GThreadPool` data to be
  freed if the pool is freed early (work by Nitin Wartkar) (#121)

* Ensure `dlerror()` is used with locking as it’s not thread-safe in some libc
  implementations (#399)

* Add `g_dbus_is_error_name()` and `g_dbus_is_interface_name()` convenience
  functions (work by Nitin Wartkar) (#402)

* Drop internal libpcre copy in favour of a subproject from wrapdb (#962, #642)

* Add `g_prefix_error_literal()` helper function (work by Emmanuel Fleury,
  building on work by Dan Williams) (#663)

* Add `g_bytes_get_region()` to get data from a `GBytes` with range checks
  (work by Nitin Wartkar, building on work by Allison Karlitskaya) (#1098)

* Add `g_object_take_ref()` to sink a floating ref (work by Nitin Wartkar,
  building on work by Allison Karlitskaya) (#1112)

* Optimise grefcount atomic operations (work by Nishal Kulkarni) (#1583)

* Fix resolving child GSettings schemas from the parent’s schema source (work
  by Christian Persch) (#1884)

* Fix `g_date_time_format()` return value encoding if `LC_TIME` is not a UTF-8
  locale but other locale settings are (work by Frederic Martinsons) (#2055)

* Set app name in freedesktop.org notifications with `GNotification` (work
  by André Apitzsch) (#2069)

* Significantly improve retrieval of mount data on Windows (work by LRN based
  on initial analysis by Jehan Pagès) (#2096)

* Add `g_file_info_get_(access|creation)_date_time()` accessors (work
  by Abanoub Ghadban) (#2281)

* Always apply the remove_dot_segments algorithm to URIs in `g_uri_parse()`;
  previously it was only applied to relative URIs (work
  by Carlos Garcia Campos) (#2342)

* Rename git `master` branch to `main` (#2348)

* Various macro and version check cleanup (work by Gaël Bonithon,
  Robin Verdenal-Tallieux, Nishal Kulkarni) (#2376, #2388, #2389)

* Add a `GTlsConnectionClass.get_negotiated_protocol` vfunc so that
  `g_tls_connection_get_negotiated_protocol()` can be made thread-safe
  (work by Michael Catanzaro) (#2393)

* Improve guess about whether a Windows process is a console process
  (work by Princeton Ferro with input from LRN) (!1662)

* Add `g_steal_fd()` function (work by Simon McVittie) (!1966)

* Add `g_spawn_check_wait_status()` and distinguish more carefully between
  wait status and exit status in the `GSpawn` API (work by Simon McVittie) (!1967)

* Document GLib’s security policy; see
  https://gitlab.gnome.org/GNOME/glib/-/blob/main/SECURITY.md (!1985)

* Add `g_tree_remove_all()` (work by Lighto-Ku) (!1986)

* Simplify exception handling on Windows to eliminate risk of it failing due
  to prior heap corruption (work by LRN) (!2031)

* Fix handling EOF when reading from SOCKS5 proxy stream (work
  by Benjamin Berg) (!2032)

* Unset the registered state of a `GApplication` after it has shut down (work
  by Marco Trevisan) (!2056)

* Support `GPattern` as a boxed type (work by Marco Trevisan) (!2066)

* Add `g_tls_connection_get_protocol_version()` and
  `g_tls_connection_get_ciphersuite_name()` to get TLS connection information
  (work by Michael Catanzaro) (!2077)

* Make TLS private key properties readable in `GTlsCertificate` (work
  by Michael Catanzaro) (!2087)

* Fix detection of static libintl when building on macOS (work
  by Jonas Hahnfeld) (!2109)

* Add `g_strv_builder_addv()` and `g_strv_builder_add_many()` to the
  `GStrvBuilder` API (work by Alexandros Theodotou) (!2112)

* Add `not-valid-before`, `not-valid-after`, `subject-name`, `issuer-name`,
  `dns-names`, `ip-addresses` properties to `GTlsCertificate`
  (work by Ross Wollman) (!2113, !2142)

* Add PKCS#11 flags to `GTlsPasswordFlags` (work by Patrick Griffis) (!2126)

* Bugs fixed:
 - #121 GThreadPool and the ability to free data waiting to be handled
 - #229 g_match_info_fetch_named not return empty string as expected
 - #310 ref doc doesn't talk about "helper getters" optimization in g_file_info.c
 - #399 dlerror() not thread-safe in all libc, making gmodule-dl.c's fetch_dlerror fail sometimes
 - #402 please consider: #define g_dbus_is_error_name(x) g_dbus_is_interface_name (x)
 - #626 Add documentation example for GArray and g_array_set_clear_func()
 - #642 update to pcre 8.35+
 - #663 [patch] add g_prefix_error_literal()
 - #793 Potentially confusing error message when object doesn't exist
 - #817 gobject: Allow passing %NULL for @data in g_object_remove_toggle_ref
 - #962 drop embedded pcre copy
 - #1036 gdbusproxy stops tracking if dbus service restarts
 - #1098 GBytes: add range-checked pointer getter
 - #1112 GObject: add g_object_take_ref()
 - #1583 Optimise gatomicrefcount operations
 - #1864 Somewhat misleading documentation of GSourceFuncs
 - #1884 `g_settings_get_child` not compatible with `g_settings_schema_source_new_from_directory`
 - #2011 Add additional unit tests for D-Bus name watching
 - #2055 g_date_time_format() does not return UTF-8 if LC_TIME is not UTF8 but other locale settings are UTF-8
 - #2069 FreedesktopNotification fails to set app_name
 - #2096 SHGetFileInfoW() is not reliable (time-wise)
 - #2281 Add g_file_info_get_(access|creation)_date_time()
 - #2300 Crash on Windows MSVC build around gio
 - #2311 testfilemonitor test leaks ip_watched_file_t struct
 - #2340 GIO tests fail to build with clang-cl
 - #2342 g_uri_parse doesn't apply the remove_dot_segments algorithm to the path
 - #2348 Investigate renaming master git branch to main
 - #2352 RUN_FIRST | RUN_CLEANUP signals with a default handler ignore return values from user handlers
 - #2359 GLib 2.68.0: gio-querymodules segfaults on Windows
 - #2361 g_key_file_load_from_file segfaults on "Key[*]="like lines
 - #2363 g_newa() doesn’t check for multiplication overflow
 - #2368 g_task_run_in_thread () limits are not clear
 - #2369 glocalfile: Add native exfat magic number to  filesystem list
 - #2376 GLIB_VERSION_MAX_ALLOWED < 2.60 does not warn when using G_GNUC_FALLTHROUGH
 - #2387 json-glib does not build with glib 2.68.1
 - #2388 Pixman compilation error due to glib
 - #2389 Use G_GNUC_CHECK_VERSION to check the GNUC version
 - #2393 g_tls_connection_get_negotiated_protocol() is not threadsafe
 - #2397 Slow to list device in windows
 - #2399 Change spelling of ‘serialise’ to ‘serialize’ in documentation
 - #2405 Mention that GNotification requires an installed .desktop file to work
 - #2409 Project crashes when executing g_application_mark_busy
 - #2414 Devhelp: Glib Reference Manual/Glib Overview/Running Glib Applications formatting issue.
 - #2416 certificate: g_tls_certificate_new_from_pem invalid read on non null terminated data
 - #2417 GFile: `g_file_replace_contents()` reports `G_IO_ERROR_WRONG_ETAG` when saving from a symlink
 - #2418 gatomic: __atomic functions are called for CV-qualified output variables
 - #2423 resources.c:656:test_resource_binary_linked: 'found' should be TRUE
 - !1514 gbookmarkfile: Don't crash if we're not visited
 - !1662 gspawn-win32: improve guess whether process is console process
 - !1812 docs: Expand documentation about D-Bus GUIDs
 - !1957 Fix more warnings
 - !1965 gversionmacros: Add version macros for GLib 2.70
 - !1966 Add g_steal_fd() to API
 - !1967 Distinguish more clearly between wait status and exit status
 - !1969 glib_typeof: Move definition to its own header
 - !1985 docs: Add a policy for handling security issues
 - !1986 make g_tree_remove_all public
 - !1996 Include glibconfig.h to get the G_OS_UNIX token
 - !1998 gpollableinputstream: Add missing annotation
 - !1999 goption.c: Simplfy parse_short_option()
 - !2004 Some improvements to clang-cl builds
 - !2005 introspection: Remove 'caller-allocates' from POD types
 - !2006 fuzzing: Add fuzz tests for functions which parse paths
 - !2008 tests: Deactivate tls-bindings test suite for windows
 - !2011 docs: Fix example program link
 - !2012 docs: Replace git.gnome.org with gitlab.gnome.org urls
 - !2013 fuzzing: Fix assertion failure in fuzz_paths.c
 - !2016 GIO W32: Pin gio DLL
 - !2023 gtlspassword: Fix g-i annotation of return for g_tls_password_get_value
 - !2025 [th/gdbus-cleanup] two minor cleanup patches for gdbusconnection.c
 - !2026 Split g_test_log() messages that contain multiple lines
 - !2027 Fix a handful of minor leaks found by Coverity
 - !2030 Fix more warnings
 - !2031 Re-simplify exception handling on Windows
 - !2032 gsocks5proxy: Handle EOF when reading from a stream
 - !2033 Fix annotation of count arguments
 - !2036 gmacros.h: use G_GNUC_CHECK_VERSION
 - !2038 Fix more warnings
 - !2039 Implement G_ANALYZER_NORETURN for Coverity
 - !2040 Fix more warnings
 - !2041 refcount: Clarify when the ref count ends up undefined
 - !2042 grefcount: Clarify that the initial reference count is 1
 - !2043 gmacros.h: use g_macro__has_attribute() where possible
 - !2046 gerror: Clarify docs around message requirements
 - !2047 Fix more warnings
 - !2048 Fix more warnings
 - !2049 Fix typo in g_socket_listener_accept_async()'s comment
 - !2050 gdbus: document completion after idle action for g_dbus_connection_signal_unsubscribe()
 - !2051 Add nullable annotations in GUnixMountEntry
 - !2052 g_string_replace(): Fix documentation of 'limit' parameter
 - !2054 docs: Fix formatting of code block
 - !2055 Improve handling of FILENAME_MAX
 - !2056 application: Unset the registered state after shutting down
 - !2063 Fix more warnings
 - !2066 gpattern: Register as Boxed type and support introspection for it
 - !2067 gmacros: missing check if __STDC_VERSION__ is defined
 - !2069 gdbus-tool: Actually use argv[0] basename as program name
 - !2071 gstring: Cleanup documentation of g_string_replace
 - !2074 Fix more warnings
 - !2075 gdtlsconnection: Fix a check for a vfunc being implemented
 - !2077 tls: add functions to get protocol version and ciphersuite name
 - !2078 gthreadedresolver: don't ignore flags in lookup_by_name_with_flags
 - !2080 guuid: fix shift operation to parse hex string in uuid_parse_string()
 - !2081 Fix more warnings
