Overview of changes in GLib 2.82.0, 2024-08-26
==============================================

* Change the default value of -Dglib_debug from `auto` to `enabled` for
  developers — distributions will almost certainly want to override it to
  `-Dglib_debug=disabled` for package release builds though; see #3421

* Revert per-instance locking changes in `GCancellable` as they introduced new
  races (#3448)

* Bugs fixed:
  - #3417 Investigate trampoline performance implications in g_mutex_lock_impl()
    changes (Philip Withnall)
  - #3421 Default value for glib_debug meson option (Philip Withnall)
  - #3428 wrong comment in gmessage.c:escape_string
  - #3450 Should check for epoll_create1 rather than epoll_create (Philip
    Withnall)
  - #3451 Gio.MenuModel docs have an outdated UI example (Philip Withnall)
  - !4195 Replace hi.po with updated translations.
  - !4197 gunixmounts: Fix use of uninitialised variable
  - !4198 tests: Run expected-to-hang cancellable tests in subprocesses
  - !4205 CI/msys2-mingw32: Set the G_DEBUGGER environment variable
  - !4207 Update Chinese translation
  - !4208 Update Swedish translation
  - !4211 Revert !2765 “GCancellable: Use per-instance mutex logic instead of
    global critical sections” for glib-2-82
  - !4213 Various small backports to glib-2-82
  - !4215 Backport !4214 “gthread: Move thread _impl functions to static inlines
    for speed” to glib-2-82

* Translation updates:
  - Chinese (China) (lumingzh)
  - Hindi (Karunakar Guntupalli)
  - Swedish (Anders Jonsson)


Overview of changes in GLib 2.81.2, 2024-08-16
==============================================

* Various introspection annotation changes (!4161, !4162, !4180, work by
  multiple people)

* Bugs fixed:
  - #2868 g_openuri_portal_open_uri_async: Does not accept a xdg-activation
    token (Julian Sparber)
  - #2885 Use TAP protocol 14 with newer meson (Marco Trevisan (Treviño))
  - #3315 unix test crashes intermittently on musl with alternate stack code
    (Philip Withnall)
  - #3381 Actually use Fedora 39 on CI (Marco Trevisan (Treviño))
  - #3403 GOsxAppInfo missing async launch implementation
  - #3429 gsettings list-recursively with --schemadir crashes with trace trap
    (core dumped) if no other schemas are installed on the system
  - !2980 ghash: fix g_hash_table_steal_extended() when requesting key and value
    of a set
  - !4161 GVariant: Add copy-func and free-func annotations
  - !4162 GBytes: Add copy-func and free-func annotations
  - !4163 gunixmounts: Add mount point/entry getters from files and add tests
    based on them
  - !4177 gmain: Adapt to gi-docgen comments
  - !4179 2.81.1
  - !4180 glib/mappedfile: g_mapped_file_get_contents() does not transfer
  - !4181 docs: Linkify a function
  - !4182 gstring: fix unused-result warning with g_string_free() in C++
  - !4186 doap: Remove invalid maintainer entry
  - !4187 docs: Fix mistakes from the GTK-Doc to GI-DocGen conversion
  - !4188 gobjectnotifyqueue: add G_GNUC_UNUSED in unused parameters
  - !4192 ghash: Fix the documentation of GHRFunc
  - !4193 docs: Clarify distinction between GDrive, GVolume and GMount

Overview of changes in GLib 2.81.1, 2024-08-02
==============================================

* Add g_sort_array() and deprecate g_qsort_with_data(), to ensure that
  it can be used with GArray without truncating the data set.

* Continue the port of the documentation over from gtk-doc to gi-docgen.

* Add network monitor implementation for macOS.

* Use per-instance locking in GCancellable, and fix races when disposing
  of a GCancellable.

* Ensure that errno is appropriately set when using g_ascii_strtoull()
  and similar functions.

* Bugs fixed:
  - #774 g_cancellable_connect() doesn't work like its docs claim, has race
    condition (Marco Trevisan (Treviño))
  - #1326 Network monitor support for macOS
  - #2309 cancellable test leaks many GCancellableSource objects (Marco Trevisan
    (Treviño))
  - #2313 gmenumodel test leaks GCancellableSource objects (Marco Trevisan
    (Treviño))
  - #2765 Descriptions for GSourceFuncs structure's members do not appear in
    generated docs (Gary Li)
  - #3370 Fails to build with Clang on Windows with ninja 1.12
  - #3393 Crash with Gio.Resolver
  - #3399 GContentType, GAppInfo, GSpawn, GThread introspection annotations
    missing on Windows
  - #3415 module-test-library and module-test-plugin tests fail on FreeBSD and
    muslc (Philip Withnall)
  - #3418 g_ascii_string_to_unsigned() can fail when it should succeed if
    get_C_locale() clobbers errno (Simon McVittie)
  - #3419 Could not build latest commit in macos sonoma 14.5 (Roshan-R)
  - !4113 Port some GIO files to gi-docgen
  - !4127 gqsort: Add g_sort_array() and deprecate g_qsort_with_data()
  - !4128 gasyncresult: Port all doc comments to gi-docgen
  - !4130 Fix gsocketclient-slow test on FreeBSD
  - !4131 GAsyncQueue: Add copy-func and free-func annotations
  - !4133 replace package.version.Version by internal code
  - !4136 gobject: Remove unused variable from macro
  - !4137 codegen: resolve pylint import issues
  - !4138 gobject: Fix macro name in comment; improve style
  - !4140 Docs: Replace Gio.MenuModel diagram with SVG
  - !4142 docs: Add source location URL
  - !4143 codegen: Drop unused import
  - !4144 gi: Add missing Since annotation
  - !4145 gfilteroutputstream.c: Port all doc comments to gi-docgen
  - !4146 gbufferedinputstream: Port all doc comments to gi-docgen
  - !4148 gbufferedoutputstream.c: Port doc comments to gi-docgen
  - !4149 tests: Make an error check less specific in gsocketclient-slow
  - !4150 glib-private: fix build under Cygwin
  - !4152 tests: Fix compilation of resolver-parsing test on FreeBSD
  - !4154 gmodule-dl: fix G_MODULE_BIND_LOCAL on Darwin
  - !4155 gfile: Add support for x-gvfs-trash mount option
  - !4157 docs(GNode): Traversal diagrams, color & dark-mode
  - !4158 gspawn: Move docs/annotations to be platform independent
  - !4159 introspection: Correct GIO-Windows pkg-config name
  - !4164 docs: Clarify that G_GNUC_UNUSED can’t be used on definitions
  - !4165 docs: Clarify conventions about type naming and name mangling in
    GObject
  - !4166 gmacros: Define G_STATIC_ASSERT for GI Scanner
  - !4167 gappinfo and gcontenttype: Make introspection annotations available on
    all platforms
  - !4173 CI: Mark msys2-mingw32 as allowing failures
  - !4174 meson: Fix another kqueue build race on macOS

Overview of changes in GLib 2.81.0, 2024-06-28
==============================================

* Add a strong recommendation to build with a toolchain that supports C11; this
  will become a hard requirement in future stable release cycles (!4082, work by
  Emmanuele Bassi)

* Fix CVE-2024-34397: GDBus signal subscriptions for well-known names are
  vulnerable to unicast spoofing (#3268, work by Simon McVittie, reported by
  Alicia Boya García)

* Fix a regression with IBus caused by the fix for CVE-2024-34397 (#3353,
  work by Simon McVittie)

* Fix Devhelp documentation indexes (#3287, work by Philip Withnall)

* Fix installation directory of the GVariant specification (#3351, work by
  Michael Catanzaro)

* Change `dtrace` and `systemtap` Meson options to auto-enabled features, and
  change default for `sysprof` from `disabled` to `auto` (#3354, work by Michael
  Catanzaro)

* Change how Python is found at configure time and in script shebangs
  (#3301, #3331, work by multiple people)

* Make various libgirepository APIs return reproducible results by defining an
  order over namespaces (#3303, work by Philip Withnall)

* Ignore `SIGPIPE` for the entire parent process when creating a `GSubprocess`
  (#3310, work by Philip Withnall)

* Use alternate signal stack to receive signals if the process provides one
  (!3983, #3314, #3315, #3337, work by Marco Trevisan, Pablo Correa Gomez,
  Philip Withnall)

* Allow multiple parameters for D-Bus activation of app actions (#3333, work by
  Philip Withnall, Julian Sparber)

* Fix out-of-bounds access when reading >4GiB files (#3397, work by
  Benjamin Otte, Philip Withnall)

* Use `ppoll()` rather than `poll()` where possible for more precise timeouts
  (!3958, work by Christian Hergert)

* Port various parts of the documentation to gi-docgen format (#3250, work by
  Sudhanshu Tiwari, Philip Withnall)

* Fix `futex_time64()` use on Android ≤ 10 (!3987, work by Amyspark)

* Various improvements to bash completion for GLib utilities (!3989, !4012,
  !4013, work by Ville Skyttä, Philip Withnall)

* Bugs fixed:
  - GNOME/tracker-miners#315 3.7.0 - GLib-GIO-WARNING **: 09:27:12.186: Error
    creating IO channel for /proc/self/mountinfo: Invalid argument (g-io-error-
    quark, 13) (Ondrej Holy)
  - GNOME/gobject-introspection#509 Gio Typelib error on method call:
    'gi.repository.Gio' object has no attribute 'content_type_get_icon'
    (Biswapriyo Nath)
  - #564 create introspection-friendly version of g_settings_bind_with_mapping
    (Philip Chimento)
  - #1767 Fix scan-build reports and gate CI pipeline success on scan-build
    success (Philip Withnall)
  - #2896 Links to docs for glib-compile-resources are broken (Emmanuele Bassi)
  - #3184 g_socket_client_connect_to_host_async leaks memory when target host
    doesn't respond to ARP (Philip Withnall)
  - #3254 Property deprecation warning can be issued in cases when deprecated
    property isn't used (Philip Withnall)
  - #3268 CVE-2024-34397: GDBus signal subscriptions for well-known names are
    vulnerable to unicast spoofing (Simon McVittie)
  - #3286 g_strrstr, g_strrstr_len, g_strstr_len return ownership note is
    incorrect (Philip Withnall)
  - #3287 Devhelp does not show indexes for GLib, GIO, or GObject (Philip
    Withnall)
  - #3289 readlink -f fails in CI on macOS (Simon McVittie)
  - #3290 Cleanup after G_TEST_OPTION_ISOLATE_DIRS follows symlinks (Will
    Thompson)
  - #3301 consider glib development binaries usable without external python
    modules
  - #3303 gi_repository_find_by_gtype is nondeterministic (Philip Withnall)
  - #3310 Race condition in `g_subprocess_communicate()` with
    `G_SUBPROCESS_FLAGS_STDIN_PIPE` (Philip Withnall)
  - #3313 GBookmarkFile documentation links to non-existant page (Philip
    Withnall)
  - #3314 unix test fails on macOS due to alternate signal stack changes
  - #3317 test failures during glib bootstrap
  - #3326 Switch TRUE and FALSE to C99 constants (Emmanuele Bassi)
  - #3333 Gio.Application: Takes only first parameter when activating an action
    via D-Bus Activation (Julian Sparber)
  - #3337 unix test fails under valgrind due to alternate stack changes (Marco
    Trevisan (Treviño))
  - #3342 Crash in gdbus schedule_callbacks() due to missing NULL check before
    g_str_equal() (Philip Withnall)
  - #3351 GVariant specification installed in wrong directory (Michael
    Catanzaro)
  - #3353 Fixing CVE-2024-34397 caused regressions for ibus (Simon McVittie)
  - #3354 Reconsider default values for certain build options
  - #3355 GIBaseInfo/GIBaseInfoStack bitfield definition doesn't match on
    16-bit-aligned-pointer systems
  - #3361 Documentation for i18n is limited, i18n macros not available
    (Emmanuele Bassi)
  - #3363 Factor out untranslatable parts of translatable error messages
  - #3366 Crash in error path of g_dbus_connection_export_menu_model() (Philip
    Withnall)
  - #3369 Remove links to dead developer-old.gnome.org (Philip Withnall)
  - #3372 G_LIKELY doesn’t appear in gi-docgen documentation (Emmanuele Bassi)
  - #3394 GLib unit tests fail on macOS runner due to localhost being out of
    addresses (Philip Withnall)
  - #3397 g_file_load_contents reads large (>4GiB) files past end of array due
    to gsize to guint truncation
  - #3401 Random failures to build glib 2.80.3 (Philip Withnall)
  - #3402 g_output_stream_write fails assertion if buffer is NULL and count is 0
    (Gary Li)
  - !3697 GLocalFile: support trashing long file name
  - !3939 Add g_file_copy_async_with_closures() and
    g_file_move_async_with_closures()
  - !3952 Add unref-to-strv to GStrvBuilder
  - !3954 [th/performance] add script for combining performance results
  - !3958 Use ppoll() when possible for more precise timeouts
  - !3959 [th/gobject-toggle-refs-check] Fix critical warning for toggle
    notifications in g_object_ref()/g_object_unref()
  - !3962 meson: Fix a needless recompilation of some gdbus tests
  - !3966 girparser: Don't assume sizeof(size_t) == sizeof(void *)
  - !3967 girparser: Allow time_t, off_t, etc. to appear in GIR XML
  - !3969 Ported the first few documentation comments in `gio/gaction.c` to gi-
    docgen
  - !3970 girparser: Make sizes in integer_aliases more obviously correct
  - !3972 girparser: Adjust signedness() macro
  - !3973 glib/gvariant: fix compile error with GCC 14.0.1
  - !3974 tests: Mark several additional tests as can_fail on GNU Hurd
  - !3975 build: Post-release version bump
  - !3977 tests: Remove unnecessary subprocess from dataset tests
  - !3978 gio: Fix docs links to description of I/O priority
  - !3979 Don't assume CPU_ISSET will return 0 or 1
  - !3983 gmain: Use alternate signal stack if the application provides one
  - !3984 Fix a typo
  - !3985 gio: Change ‘unrecognised’ to ‘unrecognized’ in various user-visible
    places
  - !3986 Port the remaining documentation comments in `gio/gaction.c` to GI-
    Docgen
  - !3987 glib/gthread-posix: Block futex_time64 usage on Android API level < 30
  - !3988 Introspection: Fix running g-ir-scanner 1.80.x+ on Windows
  - !3989 completion: make gsettings work in nounset mode
  - !3990 docs: spelling and grammar fixes
  - !3993 Convert  __BIONIC__ usages that check for Android to __ANDROID__
  - !3994 glib/gthread-posix: Fix missing saved_errno variable in Android's
    g_futex_simple
  - !3996 docs: Fix g_object_connect()'s docblock
  - !4000 Revert "gmain: Use alternate signal stack if the application provides
    one"
  - !4002 Ports the documentation comments in gio/gactiongroup.c to GI-Docgen
  - !4003 Remove unused cmph files
  - !4005 Fix various bugs found by scan-build and refresh scan-build config in
    CI
  - !4008 docs: Update Code of Conduct URI
  - !4011 docs: Minor GVariant fixes
  - !4012 tests: Enable shellcheck for bash completion scripts
  - !4013 completion: Invoke the command being completed
  - !4014 Add a few more missing license and copyright headers to files
  - !4016 gunicode.h: fix warning with -Wcast-qual for define g_utf8_next_char()
  - !4017 docs(gio/overview): Restore missing heading
  - !4020 girepository/introspection: correctly install .gir files into custom
    locations
  - !4022 gfileinfo: Fixed broken link to gio/file-attributes.html
  - !4023 Fix various implicit conversions from size_t to smaller types
  - !4024 gdatetime: Fix string type used to initialise array
  - !4031 gdocumentportal: Handle EROFS and similar errors more gracefully
  - !4034 link with -latomic when needed
  - !4035 Add g_converter_convert_bytes
  - !4045 gapplication: Fix a small leak on an error handling path
  - !4051 gdbusconnection: Fix test signal subscription ordering
  - !4057 gdbusmessage: Clean the cached arg0 when setting the message body
  - !4058 Tests: Build fixes when running `meson test` without previous builds
  - !4059 tests: Fix various memory leaks and valgrind / ASAN errors
  - !4063 gdbusconnection: Fix a misleading comment
  - !4064 girepository/build: Actually use our compiler to generate GLib
    typelibs and fix parser leaks
  - !4066 Fix several GCC 14 warnings to please msys2-mingw32 CI
  - !4067 Remove unused struct
  - !4068 docs: Fix string-utils paragraph heading
  - !4069 gdbus: Make more use of symbolic constants for various aspects of the
    D-Bus protocol
  - !4075 ci: Update Fedora CI image to Fedora 39
  - !4078 tests: Fix clang compilation failure due to unrecognised option in
    pragma
  - !4081 gpattern: Port the docs to gi-docgen syntax
  - !4082 docs: Update toolchain requirement to C11
  - !4083 gobject: fix broken links to parameters and signals naming rules
  - !4084 docs: Improve g_strescape & g_strcompress descriptions
  - !4087 ci: Disable systemtap on musl CI build
  - !4088 girepository: add support for relocations
  - !4089 Revert "Alias TRUE and FALSE to C99's true and false"
  - !4091 build: Use C89 for the standard version check
  - !4092 docs: Improve conversion-macros formatting and add
    GTYPE_TO_POINTER/GPOINTER_TO_TYPE
  - !4093 gmem.c: Update g_clear_pointer() documentation
  - !4094 tests: Fix compilation failure on macOS due to missing include
  - !4095 Improve handling of standard types' signedness
  - !4097 docs: Fix docs reference to main-loop
  - !4098 Dump pointer types in the introspection blob
  - !4099 gfile: Fix finish-func annotations
  - !4100 docs: Mention XDG_DATA_HOME in glib-compile-schemas manual
  - !4101 gio/g-i: Mark Application:action-group property as deprecated
  - !4102 tests: Add basic tests for gdump.c in libgirepository
  - !4108 build: Rename meson_options.txt to meson.options
  - !4114 glocalfileinfo: A few fixes on win32
  - !4115 tests: Use g_assert_*() rather than g_assert() in notification tests
  - !4117 tests: Improve 4GB file loading test to work on i386
  - !4120 gtestutils: Free test_data when freeing a test case
  - !4121 gmacros: Avoid casting functions

* Translation updates:
  - Catalan (Jordi Mas i Hernandez)
  - Czech (Daniel Rusek)
  - Danish (Ask Hjorth Larsen)
  - French (Vincent Chatelain)
  - Galician (Fran Dieguez)
  - Georgian (Ekaterine Papava)
  - German (Christian Kirbach)
  - Hungarian (Balázs Úr)
  - Indonesian (Andika Triwidada)
  - Italian (Milo Casagrande)
  - Kabyle (Rachida SACI, Athmane MOKRAOUI)
  - Korean (Changwoo Ryu)
  - Latvian (Rūdolfs Mazurs)
  - Persian (Danial Behzadi)
  - Polish (Piotr Drąg)
  - Portuguese (Hugo Carvalho)
  - Portuguese (Brazil) (Juliano de Souza Camargo, Leônidas Araújo)
  - Slovenian (Martin)
  - Turkish (Sabri Ünal)
  - Ukrainian (Yuri Chornoivan)


Overview of changes in GLib 2.80.0, 2024-03-07
==============================================

* Bugs fixed:
  - #3271 GLib: string malformed for gettext (Philip Withnall)
  - !3940 tests: Don’t run check-missing-install-tag.py test under valgrind
    (Philip Withnall)
  - !3946 Add missing argument placeholders to several command-line tools (Simon
    McVittie)
  - !3947 docs: Fix a typo in the macros docs page (Philip Withnall)
  - !3951 g_warn_if_fail: Document as always evaluating expr (Simon McVittie)
  - !3953 docs: Specify gi-docgen as a native dependency (Bobby Rong)
  - !3955 docs: Fix building with docs enabled and introspection disabled (Bobby
    Rong)
  - !3956 docs: Minor improvements to GSignal documentation (Philip Withnall)

* Translation updates:
  - Basque (Asier Sarasua Garmendia)
  - British English (Andi Chandler, Bruce Cowan)
  - Chinese (China) (Luming Zh)
  - Czech (Daniel Rusek)
  - Georgian (Ekaterine Papava)
  - Hebrew (Yaron Shahrabani)
  - Hungarian (Balázs Úr)
  - Kazakh (Baurzhan Muftakhidinov)
  - Lithuanian (Aurimas Černius)
  - Norwegian Bokmål (Brage Fuglseth)
  - Persian (Danial Behzadi)
  - Russian (Artur S0)
  - Slovenian (Matej Urbančič)
  - Spanish (Daniel Mustieles)
  - Swedish (Anders Jonsson)
  - Turkish (Sabri Ünal)
  - Ukrainian (Yuri Chornoivan)


Overview of changes in GLib 2.79.3, 2024-02-27
==============================================

* Various consistency improvements to the command line libgirepository tools
  (!3926, !3927, !3928, !3930, work by Simon McVittie)

* Bugs fixed:
  - #3080 Gimp GTK file chooser hang when a remote file is open (Luca Bacci)
  - #3210 Critical using Open location: GWinHttpFile doesn’t set
    G_FILE_ATTRIBUTE_STANDARD_TYPE (Luca Bacci)
  - #3252 [2.79.1] gdatetime installed tests fails on s390x (Simon McVittie)
  - #3255 g_base_info_clear on zero-initialized stack-allocated introspection
    info (Philip Withnall)
  - #3258 Possible memory leak in GUnixVolumeMonitor (Ondrej Holy)
  - #3260 Add man pages for girepository tools
  - #3262 msys2-mingw32 build failing with error code 3221225785 (0xc0000139)
    (Philip Withnall)
  - #3263 Ensure girepository tools are translatable (Philip Withnall)
  - #3266 Use-after-free in gsocketclient.c:connection_attempt_remove() (Philip
    Withnall)
  - #3271 GLib: string malformed for gettext (Philip Withnall)
  - !3918 tests: Don’t run lint tests under valgrind
  - !3919 tests: Speed up threaded toggle notify test unless -m slow is passed
  - !3921 ci: Fix printing the execution environment
  - !3922 gdatetime test: Produce more helpful output on mismatches
  - !3923 girepository test: Don't assume doubles are naturally-aligned
  - !3925 girwriter: Take the GIRepository as a parameter
  - !3926 gi- tools: Remove unused options, improve --debug/--verbose
  - !3927 g-ir-compiler: Only accept one input file
  - !3928 gi-decompile-typelib: Interpret --includedir as most-important-first
  - !3930 migrating-gi: Document command-line option removals
  - !3935 Restrict macOS CI to origin
  - !3937 girepository: Fix static build under Windows
  - !3945 tests: Remove variable-length lookbehind tests for GRegex

* Translation updates:
  - Basque (Asier Sarasua Garmendia)
  - Catalan (Jordi Mas i Hernandez)
  - Chinese (China) (Boyuan Yang)
  - Czech (Daniel Rusek)
  - Galician (Fran Dieguez)
  - Georgian (Ekaterine Papava)
  - Hebrew (Yaron Shahrabani)
  - Indonesian (Andika Triwidada)
  - Kazakh (Baurzhan Muftakhidinov)
  - Latvian (Rūdolfs Mazurs)
  - Lithuanian (Aurimas Černius)
  - Persian (Danial Behzadi)
  - Russian (Artur S0)
  - Slovenian (Matej Urbančič)
  - Spanish (Daniel Mustieles)
  - Turkish (Sabri Ünal, Emin Tufan Çetin)
  - Ukrainian (Yuri Chornoivan)


Overview of changes in GLib 2.79.2, 2024-02-12
==============================================

* More work to reduce lock contention and improve performance in GObject (#743,
  !3869, !3873, work by Thomas Haller)

* More API changes to libgirepository, which is now stable as of this release
  (#3155, #3217, #3218, #3231, #3234, #3243, #3244, #3245, #3246, work by
  Philip Chimento, Evan Welsh, Philip Withnall)

* Import `g-ir-compiler`, `g-ir-generate` and `g-ir-inspect` from
  gobject-introspection.git and update them to work with girepository-2.0,
  renaming them to `gi-compile-repository`, `gi-decompile-typelib` and
  `gi-inspect-typelib` (see docs/reference/girepository/migrating-gi.md) (!3853,
  !3909, work by Evan Welsh, Philip Withnall)

* Add new `GLibUnix-2.0.gir`, `GLibWin32-2.0.gir`, `GioUnix-2.0.gir` and
  `GioWin32-2.0.gir` GIRs which contain platform specific APIs, and are the
  preferred way for third parties to access those APIs in future; although
  platform specific APIs which were already exposed in `GLib-2.0.gir` and
  `Gio-2.0.gir` continue to be listed there; the underlying `.so` files have not
  changed (!3892, work by Philip Withnall)

* Bugs fixed:
  - #743 GLib weak refs depend on cascade of locks, including global ones, which
    makes them non-scalable
  - #2887 memory-monitor-dbus.test fails in installed-tests suite (Philip
    Withnall)
  - #3198 Support --version in standard GApplication command line arguments
    (Maxim Moskalets)
  - #3217 Feedback on gobject-introspection: APIs for stack-allocated
    introspection info (Philip Withnall)
  - #3218 Segfault in gi_function_info_prep_invoker (Philip Withnall)
  - #3231 New functions in the glib introspection data (Philip Withnall)
  - #3234 Reference cycle between GIRepository and GIBaseInfos cached by it
    (Philip Withnall)
  - #3236 threaded_resolver_worker_cb leaks memory when lookup fails and
    connection is already canceled (Philip Withnall)
  - #3238 Python packaging module is missing on Hurd CI runner (Philip Withnall)
  - #3240 Missing preconditions checks in GArray (Tobias Stoeckmann)
  - #3242 Memory leak in gresources over libelf (Maxim Moskalets)
  - #3243 Feedback on girepository 2.0: Naming of get_type_info vs load_type
    (Philip Withnall)
  - #3244 Feedback on girepository 2.0: Where to find uninstalled typelibs
    (Philip Withnall)
  - #3245 Feedback on girepository 2.0: GIBoxedInfo's place in the type
    hierarchy (Philip Withnall)
  - #3246 Wrong out parameter type in
    gi_object_info_find_method_using_interfaces (Philip Withnall)
  - #3247 safe_closefrom(), safe_fdwalk_set_cloexec() as public API (Simon
    McVittie)
  - !3797 Refactor GIRepository GIR generation to avoid cyclical dependency
  - !3807 gprintf/gstrfuncs: Improve and port doc comments to gi-docgen
  - !3824 gconvert: match GNU iconv behaviour on FreeBSD
  - !3838 build: Add thorough test setup
  - !3843 Add more test coverage for girepository
  - !3845 gunixmounts: Use libmnt_monitor API for monitoring
  - !3847 ci: Add ability to run manually some specific jobs
  - !3848 Fix build with introspection on Windows
  - !3849 girepository: Remove GI_FUNCTION_THROWS and GI_VFUNC_THROWS flags
  - !3850 [th/strdup-in-ascii-strdown] glib: use g_strdup() in
    g_ascii_strdown(),g_ascii_strup()
  - !3851 ci: Fix post-merge CI pipelines
  - !3853 girepository: Update gir-compiler and use it to compile GIRs
  - !3854 girnode: Document ownership and element types of internal structs
  - !3855 gitypelib: Replace multiple constructors with
    gi_typelib_new_from_bytes()
  - !3856 girepository: Drop gi_repository_get_default()
  - !3859 [th/glib-private-const] glib: return const pointer from
    glib__private__()
  - !3860 tests: Fix typo in memory-monitor-portal.py.in
  - !3861 girepository: Fix a memory leak of a mapped file
  - !3865 [th/test-weak-notify] gobject/tests: add test checking that GWeakRef
    is cleared in GWeakNotify
  - !3866 [th/gobject-carray-comment] gobject: remove obsolete code comment
    about CArray
  - !3868 Link to the main context tutorial from the main loop docs
  - !3869 [th/optimize-weak-ref-list] rework GObject's `WeakRefData` to track
    references in an array instead of GSList
  - !3870 Revert "Don't skip dbus-codegen tests on Win32"
  - !3871 docs: Fix include path for the build
  - !3872 gio: tests: Use slightly more explicit assert functions
  - !3873 [th/datalist-shrink] shrink the interal buffer of `GData`
  - !3874 Don't skip dbus-codegen tests on Win32
  - !3876 build: Only override g-ir-compiler when GIR generation is enabled
  - !3877 Various girepository fixes
  - !3879 [th/gdataset-comment] gdataset: add code comment to
    g_datalist_get_data()
  - !3881 docs: Add migration guide for libgirepository
  - !3886 codegen: Use `-` instead of `stdout` for output to stdout
  - !3887 gtestutils: Ensure test_data is freed even if a test is skipped
  - !3888 gitypes: Fix integer values of GIInfoType and add unit tests for
    GIUnionInfo
  - !3892 introspection: Generate separate GIR files and documentation for
    platform specific APIs
  - !3893 glocalfile: Support statvfs.f_type
  - !3894 Minor fixes/docs changes to GFileDescriptorBased and GTask
  - !3895 [th/meson-werror-fixes] some fixes for meson detection failure with
    -Werror
  - !3896 reuse: Add dep5 lines for gnulib and libcharset
  - !3897 reuse: Fix screen-scraping expression for version 2.x
  - !3898 Incorporate some lint checks into `meson test`
  - !3900 gitypelib: Switch to refcounting
  - !3901 girepository: Add length ‘out’ arguments to several getter methods
  - !3902 gicallableinfo: Clarify docs for callables with no return type
  - !3903 gibaseinfo: Rename gi_info_new() to gi_base_info_new()
  - !3904 [th/meson-werror-fixes-2] more workarounds for compiler warnings in
    meson compiler checks
  - !3909 Rename g-ir-generate and g-ir-inspect and update to girepository-2.0
  - !3911 glib/tests/unix: Mostly pass O_CLOEXEC to g_unix_pipe_open()
  - !3912 glib-unix: Fix reference to FD_CLOEXEC in docs for g_unix_pipe_open()
  - !3913 cmph: Fix a typo
  - !3914 Revert "ci: Remove not-printable chars from generated junit file"
  - !3916 tests: Skip lint tests if bash is not available
  - !3917 ci: Build and tar libgirepository documentation

* Translation updates:
  - Georgian (Ekaterine Papava)
  - Russian (Artur S0)


Overview of changes in GLib 2.79.1, 2024-01-22
==============================================

* Fix a race condition in `g_object_unref()` (#3064, work by Thomas Haller)

* Various API and build changes to libgirepository as it is not yet API-stable
  (#3216, !3780, !3805, !3823, !3833, !3840)

* Build fixes on big-endian 64-bit systems and mips64el (#3225, #3226, work by
  Simon McVittie)

* Reduce contention on global locks within GObject (!3774, work by Thomas
  Haller)

* Allow building man pages without the reference documentation (!3817, work by
  Simon McVittie)

* Bugs fixed:
  - #1010 g_get_num_processor does not respect cpuset/affinity
  - #3064 Crash under g_object_unref()
  - #3093 GDBusMessage: should validate the type of all known headers (Philip
    Withnall)
  - #3207 Add support for syslog to Structured Logging
  - #3216 Feedback on gobject-introspection: Casting to and from GIBaseInfo*
    (Philip Withnall)
  - #3222 pthread_t usages lack type name (Emmanuele Bassi)
  - #3223 CLang, GMutexLocker: error: unused variable 'locker'
    [-Werror,-Wunused-variable]
  - #3225 2.79 regression: gdatetime test failing on 64-bit big-endian since
    #3119
  - #3226 resource test fails on Debian mips64el: test5.gresource is not linked
    but the test assumes it should be (Simon McVittie)
  - !3774 [th/g-object-priv] add private data to GObject and use per-object
    locking
  - !3780 girepository: Use standard types instead of glib specific
  - !3789 gdatetime: Fix title of documentation comment
  - !3792 build: Tell gi-docgen where to find the GIR files
  - !3793 Shorten the title for D-Bus interface docs
  - !3794 Add boxed GType for GRand
  - !3795 girepository: Skip GIRepository versions not matching GIRepository-3.0
  - !3798 docs: Drop outdated .gitignore files
  - !3799 tests: Fix a minor leak in the new GParamSpecPool test
  - !3800 ci: Re-enable and fix FreeBSD CI
  - !3801 gmessages: Port all doc comments to gi-docgen
  - !3802 [th/g-pointer-bit-lock-ext] glib: add g_pointer_bit_unlock_and_set()
    and g_pointer_bit_lock_mask_ptr()
  - !3803 ci: Fix tarballing the docs on dist
  - !3805 girepository: Various small API cleanups
  - !3806 gsignal.c: drop an optimization that is undefined behaviour
  - !3808 glib/deprecated: Skip all the deprecated gthread api
  - !3809 docs: Fix links to symbols outside the allowed namsepace
  - !3810 gstrfuncs: Improve and port g_set_str() docs to gi-docgen
  - !3811 gvariant-parser: Mention annotated types
  - !3812 brz.c: Use uintptr_t instead of a hardcoded list of 64-bit arches
  - !3813 gobject: define HAVE_OPTIONAL_FLAGS for sizeof(void*) > 8
  - !3814 Fix typo in GPOINTER_TO_SIZE documentation
  - !3817 docs: Allow building man pages without the reference documentation
  - !3818 docs: Clarify >=2.76 changes to g_module_open()
  - !3821 tests: Fix a minor leak in the socket test
  - !3823 girepository: Misc cleanups
  - !3826 genums: use g_once_init_enter_pointer for GType initializers
  - !3827 array-test: Don't assume sizeof(void*)==sizeof(gsize)
  - !3831 gvariant-core: Don’t call posix_memalign() with size==0
  - !3833 girepository: Change various alignments to use size_t
  - !3835 build: Ignore branches in g_clear_*() functions under lcov
  - !3837 tests: A couple of test isolation improvements
  - !3839 gvarianttype: Fix typos
  - !3840 girepository: Exclude private symbols from the ABI
  - !3841 docs: Fix member names of GLib.LogLevelFlags
  - !3842 gio, gmodule, gthread: compile windows resources only in shared build

* Translation updates:
  - Georgian (Ekaterine Papava)
  - Russian (Artur S0)


Overview of changes in GLib 2.79.0, 2023-12-22
==============================================

 * Port to gi-docgen and drop gtk-doc support — dependencies have changed, and
   Meson needs `-Ddocumentation` now rather than `-Dgtk_doc` (#3037, work by
   multiple people)

 * Move libgirepository into glib.git from gobject-introspection.git — but tools
   like `g-ir-scanner` are currently still in gobject-introspection.git. For the
   moment, glib.git needs to be built twice, once with `-Dintrospection=false`,
   then build gobject-introspection.git, then re-build glib.git with
   `-Dintrospection=true`. This process will evolve throughout the GLib 2.80
   cycle. The API and ABI of libgirepository has changed, and accordingly its
   version number has been bumped from 1.0 to 2.0 (note: the version number of
   `GIRepository-*.gir` has been bumped from 2.0 to 3.0; see !3786). The GIR and
   typelib file formats have not been changed, and are still at version 1.0.
   (#3155, work by multiple people)

 * Match behaviour for `GAppInfo` searches has changed (#3082, work by Nelson
   Benítez León)

 * Rename `GTK_USE_PORTAL` environment variable to `GIO_USE_PORTALS` (#3107,
   work by Philip Withnall)

 * Bump Meson dependency to 1.2.0 and depend on Python `packaging` module
   (!3666, !3752)

Bugs fixed:
  - #596 GApplication in Garbage Collected environments would benefit from a
    g_application_command_line_exit() to enable remote instances to exit.
    (Aleksandr Mezin)
  - #791 Wish: Add a "nodelay" property to GSocket or GTcpConnection (Philip
    Withnall)
  - #2810 thread-pool-slow intermittent assertion failure in
    test_thread_sort_entry_func() (Philip Withnall)
  - #2824 G_REGEX_OPTIMIZE causes incorrect regex behaviour
  - #2991 Drop translatable pspec nick/blurbs from properties in GIO (Sophie
    Herold)
  - #3082 Investigate prioritising prefix matches on GAppInfo keywords over
    substring matches on names (Nelson Benítez León)
  - #3087 glib doesn't cleanly unload on Windows (Luca Bacci)
  - #3098 Make invalid escape sequences in GKeyFile fatal (Philip Withnall)
  - #3103 mkenums: Can't parse an enum value with value ',' (Lukáš Tyrychtr)
  - #3105 NetworkManager 1.44.0 crashes repeatedly with glib 2.78.0 (Philip
    Withnall)
  - #3107 Rename GTK_USE_PORTAL to avoid portal services being run with portals
    force-enabled (Philip Withnall)
  - #3111 gsubprocess-testprog.c: build error with cygwin (sys/ptrace.h: No such
    file or directory) (Philip Withnall)
  - #3112 Update to Unicode 15.1 (Philip Withnall)
  - #3115 Support for additional strftime formatting capabilities
  - #3116 gio clears modification time in microseconds when setting with
    `set_modification_date_time` (Lukáš Tyrychtr)
  - #3119 Add support for `%Ey` to g_date_time_format() (Philip Withnall)
  - #3120 Build of glib 2.78.0 ignores -Dlibelf=disabled (Philip Withnall)
  - #3128 glib-2.78.0 fails at gio/tests/gsubprocess.p/gsubprocess.c.o
  - #3130 Segfault when creating GIO GPropertyAction without properties
  - #3134 glib incompatible with Python 3.12 due to distutils usage
  - #3135 Add GNU/Hurd CI
  - #3140 Add a flag to not copy modification time when copying files (Khalid
    Abu Shawarib)
  - #3144 `g_file_set_contents_full()` doesn't truncate the file (without
    `G_FILE_SET_CONTENTS_CONSISTENT`) (Philip Withnall)
  - #3156 check for #ifdef PTRACE_O_EXITKILL will always fail since it isn't a
    macro (Alessandro Bono)
  - #3157 gsubprocess build-time test intermittently timing out since 2.78.1
    (Simon McVittie)
  - #3158 "CRITICAL" log when using --attributes option for "gio info" (Philip
    Withnall)
  - #3159 glib regex test fails JIT compiler tests under musl libc (Pablo Correa
    Gómez)
  - #3161 codegen installation is broken
  - #3168 gvfs-udisks2-volume-monitor SIGSEGV in g_content_type_guess_for_tree()
    due to filename with bad encoding (Ondrej Holy)
  - #3183 g_dbus_connection_signal_subscribe with flag
    G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH doesn't work with an arg0 that is an
    object path (Philip Withnall)
  - #3185 g_utf8_collate_key() segfaults when passed an invalid length
  - #3186 [RFE] Increase gio sniff buffer for mime type magic detection to 16K
    or so (Philip Withnall)
  - #3187 g_vasprintf crashes when passed invalid UTF-8 (Philip Withnall)
  - #3191 Crash in __gio_xdg_cache_mime_type_subclass (Philip Withnall)
  - #3203 Fdo notification fails without AppID (Michael Catanzaro)
  - !3143 gatomic: Use g(u)intptr where appropriate
  - !3316 gobject: Separate GWeakRef from GWeakNotify
  - !3394 gsocketclient: Document delays/timeouts better
  - !3457 glib-unix: Add convenience API for pipes
  - !3524 add muslc ci
  - !3552 gutils: Use international symbol for bits
  - !3566 Update annotations for GAsyncQueue and GDir
  - !3567 Update annotations for GHmac
  - !3568 Update GOptionContext annotations
  - !3569 Small fixes and cleanups for Vectored Exception Handlers
  - !3571 Update GStringChunk annotations
  - !3572 Update GRand annotations
  - !3573 Update GTimer annotations
  - !3576 guniprop.c: Avoid creating (temporarily) out-of-bounds pointers
  - !3577 gthread: introduce g_once_init_{enter,leave}_pointer
  - !3578 GType: Use guintptr as the underlying storage if larger than gsize
  - !3579 Fixes for integer cast warnings when targeting CHERI
  - !3580 Fix test_find_program on FreeBSD
  - !3581 gthread: Fix optional/nullable annotations for g_once_init_*()
  - !3582 Buffer needs to be aligned correctly to receive linux_dirent64.
  - !3589 gconstructor.h: Ensure [c|d]tor prototypes are present for MSVC
    (Chun-wei Fan)
  - !3590 gtestutils.h: Fix warning with -Wsign-conversion caused by
    g_assert_cmpint
  - !3591 Switch to using gi-docgen for docs (batch 1)
  - !3594 Fix gutils-user-database test on macOS
  - !3595 gobject: cache flags needed for g_type_create_instance()
  - !3596 Add value annotation to G_TYPE_FUNDAMENTAL_MAX
  - !3597 Expand security policy to cover previous stable branch
  - !3598 Document NULL pointer pitfall in toolchain requirements
  - !3601 meson: Fix Windows build with PCRE2 as sibling subproject
  - !3603 Add GBytes variants for GSocket receive methods
  - !3605 build: Post-release version bump
  - !3607 Make sure the `GTask` is freed on a graceful disconnect
  - !3610 gdesktopappinfo: Do not search Comment field
  - !3611 tests/constructor: Fix "unknown pragma ignored" warning on clang
  - !3612 Update GStrv annotations
  - !3613 tests: Fix gdatetime test on non-UTC systems
  - !3620 gmain: avoid a GList traversal when removing source
  - !3621 wakeup: do single read when using eventfd()
  - !3623 Windows: Compile with the UNICODE / _UNICODE macros
  - !3624 wakeup: Fix g_wakeup_acknowledge if signal comes in
  - !3627 Add Hurd code owners
  - !3628 glib-unix: Use full path to gstdio.h include
  - !3629 glib/tests/meson.build: remove identical build targets
  - !3630 glib-compile-resources: ensure alignment is at least sizeof(void *)
  - !3632 Stop using enums in bitfields
  - !3633 Use g_task_return in task threads
  - !3634 Switch to using gi-docgen for docs (batch 2)
  - !3635 Fix warnings with Clang on Windows and enable --Werror in CI
  - !3636 Generate introspection data
  - !3637 gstrvbuilder: Add g_strv_builder_take
  - !3638 Cleanup and add content to glib debugging using gdb scripts
  - !3640 GIO/tests: skip test_resources_binary on MIPS platforms
  - !3641 build: Simplify MIPS test check
  - !3645 Switch to using gi-docgen for docs (batch 3)
  - !3646 ci: Update from clang-format-11 to clang-format-14
  - !3647 Switch to using gi-docgen for docs (batch 4)
  - !3652 GApplicationCommandLine: add print[err]_literal()
  - !3654 gdatetime: Fix minor leaks from strup/strdown calls
  - !3655 gdatetime: Fix incorrect alt-digits being used after changing locale
  - !3656 gmodule-dl: Use RTLD_DEFAULT on FreeBSD too
  - !3660 Switch to using gi-docgen for docs (batch 5)
  - !3661 Switch to using gi-docgen for docs (batch 6)
  - !3662 Switch to using gi-docgen for docs (batch 7)
  - !3663 gdbusconnection: don't cache G_IO_ERROR_CANCELLED errors
  - !3664 gmain: optimize "context->sources" hash table to use as set
  - !3665 ci: Remove .build-linux from Hurd CI scheduled job
  - !3666 build: Bump Meson dependency to 1.2.0
  - !3667 Switch to using gi-docgen for docs (batch 8)
  - !3668 Socket & readiness fixes
  - !3671 gio/tests: Add test generated txt as the resources test dependency
  - !3672 glib-private: Check for LSAN support at runtime when controlling it
  - !3674 gtask: Add g_task_return_prefixed_error()
  - !3677 Make GQuark register intentional leaks
  - !3678 gsignalgroup: Avoid function call with side effect in g_return_* macro
  - !3679 gmessages: fix dropping irrelevant log domains
  - !3682 tests: Fix dependency of test.gresource on test-generated.txt
  - !3683 glib: Disable dynamic asan loading on macOS
  - !3687 fix: about libproc.h and PROC_PIDLISTFD_SIZE
  - !3688 build: Fix the inclusion paths for GIR files in gi-docgen
  - !3689 meson: Add missing dependencies for utility files for gdbus-codegen
  - !3690 Switch to using gi-docgen for docs (batch 9)
  - !3695 gvalue: add "steal_string"
  - !3699 [th/prgname] use atomic pointers for g_prgname/g_application_name and
    add g_set_prgname_once()
  - !3701 tests: Fix gio-tool.py test on macOS
  - !3702 glib.supp: Suppress the global_mime_dirs allocations
  - !3703 Port GIRepository to GTypeInstance and add introspection
  - !3704 girepository: Rename symbols to the GI namespace
  - !3707 girepository: Ignore set-but-not-used warnings with G_DISABLE_ASSERT
  - !3708 Fix various leaks in cmph-bdz-test and gutils
  - !3709 Switch to using gi-docgen for docs (batch 10)
  - !3710 gmessages: introduce g_log_writer_default_set_debug_domains()
  - !3711 ghmac: Add a boxed type for GHmac and fix introspection build
    accordingly
  - !3712 Switch to using gi-docgen for docs (batch 11)
  - !3713 gfileutils: Fix g_file_get_contents() silent under-read of large files
    when off_t is wider than size_t
  - !3714 xdgmime: Handle buggy type definitions with circular inheritance
  - !3715 goption: Fix a typo
  - !3716 tests: Improve build of cmph tests in girepository
  - !3717 tests: provide reason for disabling convert test under musl
  - !3721 gtestutils: Add g_test_trap_subprocess_with_envp() for testing envs
  - !3722 gdir, gstrvbuilder: Add refcounting support and a boxed type
  - !3723 gwin32: Un-hide symbols when building GIR
  - !3726 tests: Fix fileutils build on FreeBSD and macOS
  - !3731 tests: Fix string test failure on BSDs
  - !3732 gspawn: Stop spewing debug messages
  - !3733 ci: Make the Alpine CI name more consistent
  - !3734 gdatetime: Disable ERA support on platforms which don’t support this
  - !3735 ci: Fix printing info message at end of run-style-check-diff.sh
  - !3736 build: Rename -Dgtk_doc option to -Ddocumentation and fix some
    g-ir-scanner warnings
  - !3739 Documentation only: Added clarification about GWeakNotify and removed
    ambiguous text
  - !3741 hash: Explicitly annotate key in iter_next as nullable
  - !3743 ci: Install correct version of Meson on Alpine CI image
  - !3745 tests: Assert there no errors first in gdbus-test-codegen
  - !3751 Fix generated RST anchors for methods, signals and properties
  - !3752 build: Make packaging module required
  - !3753 gobject_gdb.py: Do not break bt on optimized build
  - !3755 tests: Use textwrap.dedent to indent expected strings pleasingly
  - !3757 ci: Re-add explicit Meson version to Alpine CI image
  - !3758 docs: Add a section on version checking macros
  - !3760 girepository: Various API cleanups
  - !3761 gerror: Fix an old allow-none annotation
  - !3762 [th/notify-queue] some optimization around
    g_object_freeze_notify()/g_object_thaw_notify()
  - !3763 girepository: Drop libgio dependency from gdump.c
  - !3764 gsignal: fix reference to signals documentation page
  - !3765 gapplication: Fix minor typo in docs
  - !3767 girepository: Port documentation to gi-docgen and update
  - !3768 ci: Build docs artifacts for deployment to docs.gtk.org
  - !3770 GDateTime: Add usec precision API for unix time
  - !3771 gtask: Add g_task_return_new_error_literal()
  - !3772 gobject: Make GLib-2.0 gir build depend on GObject dependency
  - !3773 girepository: Return enumerated versions and search paths as a GStrv
  - !3776 glocalvfs: Remove unnecessary and buggy code
  - !3777 Fix detecting size_t size when `-Wmissing-prototypes` is in CFLAGS
  - !3779 gtypemodule: Add assertions in finalize()
  - !3782 docs: fix a typo
  - !3786 girepository: Re-number GIR file from 2.0 to 3.0
  - !3787 docs: Install the gi-docgen docs

* Translation updates:
  - Catalan (Jordi Mas i Hernandez)
  - Chinese (China) (Boyuan Yang)
  - Czech (Daniel Rusek)
  - Esperanto (Kristjan SCHMIDT)
  - French (Alexandre Franke)
  - Italian (Milo Casagrande)
  - Latvian (Rūdolfs Mazurs)
  - Portuguese (Brazil) (Rafael Fontenelle)
  - Romanian (Florentina Mușat)
  - Russian (Artur S0)
  - Slovenian (Matej Urbančič)
  - Spanish (Daniel Mustieles)
  - Turkish (Sabri Ünal)
  - Ukrainian (Yuri Chornoivan)


Overview of changes in GLib 2.78.0, 2023-09-08
==============================================

* Bugs fixed:
  - #3095 Error handling of invalid GKeyFile string escape sequences changed in
    GLib 2.77.3 (Philip Withnall)
  - !3559 gdb: Workaround optimized out quark_seq_id
  - !3561 meson: fix `gnetworking.h` install tag
  - !3562 gthread: Annotate g_thread_exit() with G_NORETURN
  - !3564 Fix gutils-user-database unit test

* Translation updates:
  - Basque (Asier Sarasua Garmendia)
  - Czech (Vojtěch Perník)
  - Danish (Alan Mortensen)
  - English (United Kingdom) (Bruce Cowan)
  - Galician (Fran Dieguez)
  - Georgian (Ekaterine Papava)
  - German (Philipp Kiemle, Jürgen Benvenuti)
  - Hebrew (Yosef Or Boczko)
  - Hungarian (Balázs Úr)
  - Indonesian (Andika Triwidada)
  - Korean (Changwoo Ryu)
  - Lithuanian (Aurimas Černius)
  - Persian (Danial Behzadi)
  - Polish (Piotr Drąg)
  - Swedish (Anders Jonsson)
  - Turkish (Emin Tufan Çetin)
  - Ukrainian (Yuri Chornoivan)


Overview of changes in GLib 2.77.3, 2023-08-31
==============================================

* Bugs fixed:
  - #2575 GSettings schemas default value translations don't work when using
    l10n=time (Michael Catanzaro)
  - #3032 gdbus-codegen eats indentation in RST in XML comments (André)
  - #3051 g_dbus_connection_export_menu_model() is not thread_safe
  - #3061 Possible SEGV (null pointer deref) in distribute_method_call() (Philip
    Withnall)
  - #3083 `arg_data`  in GOptionEntry is not a list (Philip Withnall)
  - #3090 Possible SEGV (null pointer deref) in _g_resource_file_new() (Philip
    Withnall)
  - !3459 glib-unix: Clean up use of O_NONBLOCK
  - !3503 interim solution for macOS CI
  - !3519 meson: warn if -mms-bitfields is necessary
  - !3526 gnetworkaddress: use reentrant getservbyname_r() if available
  - !3527 tests: Use g_assert_*() rather than g_assert() in tree tests
  - !3528 gio-tool-info: Move translator comments so they’re visible
  - !3530 gregex: set default max stack size for PCRE2 JIT compiler to 512KiB
  - !3532 tests: Disable use of ptrace() in tests on BSD and macOS
  - !3533 ci: Only run pages CI job on scheduled job runs
  - !3534 ci: Further fix to pages CI job
  - !3535 Use 'meson setup' to configure
  - !3538 glib-unix: Accept O_CLOEXEC as well as FD_CLOEXEC in
    g_unix_open_pipe()
  - !3540 gio: Add gresource.dtd
  - !3541 gtestutils: Mention not ignoring SIGCHLD in g_test_trap_subprocess()
    docs
  - !3542 [th/gchildwatch-fail-message] gmain: improve g_warning() for failure
    in g_child_watch_dispatch()
  - !3543 [th/use-localtime-r] use localtime_r() in g_log_writer_format_fields()
  - !3545 gregex: if JIT stack limit is reached, fall back to interpretive
    matching
  - !3547 glib/gfileutils.c: use 64 bits for value in get_tmp_file()
  - !3550 glib/tests/asyncqueue.c: skip test_async_queue_timed in 2038 or later
  - !3553 Generate missing docs for out arguments
  - !3555 gkeyfile: Fix overwriting of GError

* Translation updates:
  - Basque (Asier Sarasua Garmendia)
  - Kazakh (Baurzhan Muftakhidinov)
  - Panjabi (Amn Alam)
  - Persian (Danial Behzadi)
  - Swedish (Anders Jonsson)


Overview of changes in GLib 2.77.2, 2023-08-12
==============================================

* Bugs fixed:
  - #3071 g_test_trap_subprocess and g_test_subprocess broken in 2.77.1 (Jonas
    Ådahl)
  - !3432 ci: Don’t run pipeline after merging a MR
  - !3520 Fix typos
  - !3521 GTree: Handle node counter overflow and return it as an unsigned value
  - !3523 gspawn, gdataset: Restore nullable callback functions

* Translation updates:
  - Chinese (China) (Luming Zh)
  - Galician (Fran Dieguez)
  - Indonesian (Kukuh Syafaat)
  - Polish (Piotr Drąg)
  - Portuguese (Hugo Carvalho)
