Overview of changes in GLib 2.78.2, 2023-12-05
==============================================

* Bugs fixed:
  - #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)
  - !3673 Backport !3669 “meson: Improve PTRACE_O_EXITKILL presence check” to
    glib-2-78
  - !3680 Backport !3677 “Make GQuark register intentional leaks” to glib-2-78
  - !3681 Backport 3678 “gsignalgroup: Avoid function call with side effect in
    g_return_* macro” to glib-2-78
  - !3686 Backport !3685 “tests: Don't assume that sh optimizes simple commands
    into exec” to glib-2-78
  - !3718 Backport !3714 “xdgmime: Handle buggy type definitions with circular
    inheritance” to glib-2-78
  - !3727 Backport !3725 “collate: Don't segfault on bad input” to glib-2-78

* Translation updates:
  - Ukrainian (Yuri Chornoivan)


Overview of changes in GLib 2.78.1, 2023-10-25
==============================================

* Fix truncating files when `g_file_set_contents_full()` is called without
  `G_FILE_SET_CONTENTS_CONSISTENT` (#3144, work by Philip Withnall)

* Fix `-Dlibelf=disabled` on Linux (#3120, work by Philip Withnall)

* Bugs fixed:
  - #3105 NetworkManager 1.44.0 crashes repeatedly with glib 2.78.0 (Philip
    Withnall)
  - #3111 gsubprocess-testprog.c: build error with cygwin (sys/ptrace.h: No such
    file or directory) (Philip Withnall)
  - #3116 gio clears modification time in microseconds when setting with
    `set_modification_date_time` (Lukáš Tyrychtr)
  - #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
  - #3144 `g_file_set_contents_full()` doesn't truncate the file (without
    `G_FILE_SET_CONTENTS_CONSISTENT`) (Philip Withnall)
  - !3576 guniprop.c: Avoid creating (temporarily) out-of-bounds pointers
  - !3579 Fixes for integer cast warnings when targeting CHERI
  - !3580 Fix test_find_program on FreeBSD
  - !3589 gconstructor.h: Ensure [c|d]tor prototypes are present for MSVC (Chun-
    wei Fan)
  - !3594 Fix gutils-user-database test on macOS
  - !3596 Add value annotation to G_TYPE_FUNDAMENTAL_MAX
  - !3601 meson: Fix Windows build with PCRE2 as sibling subproject
  - !3604 Backport !3589 “gconstructor.h: Ensure [c|d]tor prototypes are present
    for MSVC” to glib-2-78
  - !3608 Backport !3587 “glocalfileinfo: Preserve microseconds for
    access/modify times” to glib-2-78
  - !3609 Backport !3607 “Make sure the `GTask` is freed on a graceful
    disconnect” to glib-2-78 (Pavel Sobolev)
  - !3614 Backport !3582 “Buffer needs to be aligned correctly to receive
    linux_dirent64.” to glib-2-78
  - !3616 Backport !3590 “gtestutils.h: Fix warning with -Wsign-conversion
    caused by g_assert_cmpint” to glib-2-78
  - !3619 Backport !3617 “tests: Drop unnecessary include from gsubprocess-
    testprog.c” to glib-2-78
  - !3622 Backport !3621 “wakeup: do single read when using eventfd()” to
    glib-2-78
  - !3625 Backport !3624 “wakeup: Fix g_wakeup_acknowledge if signal comes in”
    to glib-2-78
  - !3644 Backport !3633 “Use g_task_return in task threads” to glib-2-78
  - !3649 Backport !3648 “build: Fix -Dlibelf=disabled on Linux” to glib-2-78
  - !3659 Backport !3650 “gfileutils: Add a missing ftruncate() call when
    writing files” to glib-2-78

* Translation updates:
  - Catalan (Jordi Mas i Hernandez)
  - Chinese (China) (Boyuan Yang)
  - Czech (Daniel Rusek)
  - Esperanto (Kristjan SCHMIDT)
  - French (Alexandre Franke)
  - Georgian (Ekaterine Papava)
  - Italian (Milo Casagrande)
  - Latvian (Rūdolfs Mazurs)
  - Portuguese (Brazil) (Rafael Fontenelle)
  - Romanian (Daniel Șerbănescu)
  - Russian (Artur S0)
  - Slovenian (Matej Urbančič)
  - Spanish (Daniel Mustieles)
  - Turkish (Sabri Ünal)


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)
  - Russian (Artur So)
  - Spanish (Daniel Mustieles)
  - Turkish (Sabri Ünal)


Overview of changes in GLib 2.77.1, 2023-07-30
==============================================

* Fix some regressions with `GKeyFile` comment handling (#3047, work by Gaël Bonithon)

* Improve handling of query and fragment components in `file:` URIs (#3050, work by Lukáš Tyrychtr)

* Bugs fixed:
  - #473 systemtap probes for gvariant (Allison Karlitskaya)
  - #623 g_type_query() doesn't work for dynamic types (Philip Withnall)
  - #931 Optimise GPrivate by removing one malloc (Allison Karlitskaya)
  - #2929 gio: Failing build due to race generating glib/gversionmacros.h (Eric
    van Gyzen)
  - #3045 2.77.0: gio pkg-config test has incorrect install location for gio-
    querymodules & glib-compile-schemas (Philip Withnall)
  - #3047 2.77.0 changes formatting of keyfiles (Gaël Bonithon)
  - #3048 Forcing fallback for libintl does not work (Brendan Shanks)
  - #3050 g_file_new_for_uri() handles query strings incorrectly ("?") (Lukáš
    Tyrychtr)
  - #3054 Fedora installer (anaconda) crashes early with glib 2.77.0 due to
    "Attempt to unlock mutex that was not locked", when it runs `hwclock` and
    changes the system time (Thomas Haller, Philip Withnall)
  - !3287 Audit and fix incorrect use of (closure) in glib
  - !3461 gfileinfo: add file_path methods for language bindings
  - !3485 docs: Expand supported platforms documentation a little
  - !3494 ci: Manually fetch submodules for style-check CI jobs
  - !3495 gdbus-codegen: Error on invalid dbus types
  - !3496 garray: Fix typo in doc comment of g_ptr_array_sort[_with_data]()
  - !3499 strfuncs: Add missing ownership annotations for returned string
    vectors
  - !3504 Revert "build/gmodule-2.0.pc: Move compiler flags from Libs to Cflags"
  - !3505 meson: help gobject-introspection locate source and build dirs
  - !3509 build-sys: drop -mms-bitfields GCC flag
  - !3510 testutils: Use prctl PR_SET_DUMPABLE to silence core dumps on Linux
  - !3514 Revert "build-sys: drop -mms-bitfields GCC flag"
  - !3515 gnetworkmonitor: Expand guidelines for metered data use
  - !3517 tests: Add some more tests for g_type_query()
  - !3518 m4macros: drop unused m4 files

* Translation updates:
  - Georgian (Ekaterine Papava)
  - Hebrew (Yosef Or Boczko)
  - Hungarian (Balázs Úr)
  - Persian (Danial Behzadi)
  - Slovenian (Matej Urbančič)
  - Ukrainian (Yuri Chornoivan)


Overview of changes in GLib 2.77.0, 2023-07-06
==============================================

* Fix `GSocketClient` connecting to a proxy if the port is not specified
  (#2832, work by Michael Catanzaro)

* Support using `copy_file_range()` in `g_file_copy()`, if available (#2863,
  work by Philip Withnall)

* Improve handling of comments above groups in key files (#2927,
  work by Gaël Bonithon)

* Re-upgrade missing attribute debugs to criticals in `GFileInfo` (#2951,
  work by Philip Withnall)

* Do not redefine NULL on C++ (#2973, work by Marco Trevisan)

* Make `g_signal_handlers_block_matched()` work for `G_SIGNAL_MATCH_ID`
  (#2980, work by Przemyslaw Gorszkowski)

* Fixes to support building with bionic libc better (#3008, work by Øyvind Kolås)

* Fix potential stack overflow in gspawn on macOS if open file limit is very
  high (#3024, work by Dario Saccavino)

* Fix support for `--force-fallback-for libpcre` in meson configuration (#3025,
  work by Marius Kintel)

* Generate specific marshallers in `gdbus-codegen` (#3028, work by Marco Trevisan)

* Fix build failure on Android with `statx()` support (#3039, work by Philip Withnall)

* Improve locking performance of `GSignal` (!2824, work by Marco Trevisan)

* Improve locking performance of `g_main_context_iterate()` (!3235, work by
  Marco Trevisan)

* Add an inline definition of `g_free()` to automatically use `g_free_sized()`
  if available (!3252, work by Marco Trevisan)

* Fix race with `waitpid()` and `GChildWatchSource` (!3353, work by Thomas Haller)

* Add `glib_valgrind_suppressions` variable to glib pkg-config file (!3361, work
  by Marco Trevisan)

* Fix build on macOS SDK 10.11 (!3385, work by Peter Williams)

* Switch to using a separate thread pool and support timeouts in
  `GThreadedResolver` (!3397, work by Philip Withnall)

* Track pending `GTask`s if `G_ENABLE_DEBUG` is defined (!3404, work by Philip Withnall)

* Support GSignal fast path and more marshallers in `gobject_gdb.py` (!3437,
  work by Nelson Ben)

* Disable the macOS CI because it’s too unreliable — if you rely on GLib working
  on macOS, please get in touch and do something to help! (!3463, decision taken
  by Philip Withnall)

* Bugs fixed:
  - #65 glib-mkenums: parse_trigraph() chokes on quoted commas (Emmanuel Fleury)
  - #95 GMarkupParser documentation completion (David King)
  - #98 g_get_current_dir SIGSEGV on long path (Philip Withnall)
  - #104 Invocation of the interface "g_key_file_remove_comment" does not remove
    comment in specific case (Gaël Bonithon)
  - #116 Document UTF-8 behaviour and requirements throughout GLib (Philip
    Withnall)
  - #252 Disagreement between runtime and docs on whether interfaces are
    "classed" (Philip Withnall)
  - #322 gdbus-example-proxy-subclass.c is not complete. (Colin Walters)
  - #799 GAppInfoMonitor documentation deficiencies (Philip Withnall)
  - #1264 Use-after-free under
    send_message_with_reply_cleanup():gdbusconnection.c:1792 (Philip Withnall)
  - #2289 Document clearly that libgio is not guaranteed to be safe to use in
    setuid processes (Philip Withnall)
  - #2307 mainloop test leaks a GMainLoop object (Philip Withnall)
  - #2829 "glib-compile-resources --dependency-file=DEPFILE" creates wrong set
    of dependencies (Michael Catanzaro)
  - #2832 GSocketClient cannot proxy connect unless default port is explicitly
    specified in proxy URL (Michael Catanzaro)
  - #2855 gio/tests/socket-client.c name is too confusing because it does not
    use GSocketClient (Mike Salmela)
  - #2861 Check for __kernel_long_t when enabling futex()
  - #2863 Use copy_file_range() whenever possible in g_file_copy (Philip
    Withnall)
  - #2864 Documentation mentions non-existing function `g_value_free` (Philip
    Withnall)
  - #2879 Job #2498619 failed: gio/tests/socket.c:1654:test_reuse_tcp: assertion
    failed (error == (g-io-error-quark, 33)): error is NULL (Philip Withnall)
  - #2927 GKeyFile: Inconsistent behavior of comment writing above a group (Gaël
    Bonithon)
  - #2939 mkenums.py test fails on FreeBSD (Philip Withnall)
  - #2951 Re-upgrade missing attribute debugs to criticals in GFileInfo (Philip
    Withnall)
  - #2952 Not clear that GPollableInputStream methods are undefined if
    can_poll() returns FALSE (Philip Withnall)
  - #2953 Missing docs for GOption (commandline parser) (Sam Thursfield)
  - #2958 nbd server fails with glib 2.76.0
  - #2960 GDebugControllerDBus wrong default in documentation (Philip Withnall)
  - #2963 Probably wrong information regarding G_PLATFORM_WIN32 in
    README.win32.md
  - #2965 test_measure fails with coreutils 9.2 (Joan Bruguera)
  - #2966 Multiple Definition Error When Generating gio/tests/test5.gresource
    (Dan Yeaw)
  - #2969 user docs: GLib.DateTime.format: broken highlighting (Philip Withnall)
  - #2972 GtkFileLauncher: generated paths not recognized on Win32 (Luca Bacci)
  - #2973 Build failed due to NULL pointer redefinition in C++ (Marco Trevisan
    (Treviño))
  - #2980 g_signal_handlers_block_matched does not work for G_SIGNAL_MATCH_ID
    (Przemyslaw Gorszkowski)
  - #2982 Build randomly fails with: 'gmodule/gmodule-visibility.h' file not
    found (Marco Trevisan (Treviño))
  - #2993 g_dbus_interface_skeleton_get_vtable misses transfer annotation and is
    not introspectable
  - #2997 g_assert_cmpuint() should display positive, not negative values (Eric
    Blake)
  - #3003 glib-compile-schemas failed on directory name with no Latin symbols
    (Daniyar Tleulin)
  - #3007 GOptionContext group headings missing colon at the end (Philip
    Withnall)
  - #3008 Adaptations for building with bionic libc under termux (Øyvind Kolås)
  - #3020 Races in gio/tests/portal-support-snap* tests
  - #3024 Possible stack overflow in gspawn on MacOS
  - #3025 libpcre and libintl cannot be chosen to use the builtins
  - #3027 action exporter fails in the presence of actions with maybe parameter
    types (Matthias Clasen)
  - #3028 gdbus-codegen should generate marshallers (Marco Trevisan (Treviño))
  - #3030 Document GListModel requiring unique instance pointers from
    GListModelInterface.get_item (Christian Hergert)
  - #3034 futex based g_mutex_lock sometimes splatters errno with EAGAIN on
    contended locks
  - #3039 Build failure due to statx fields with NDK r25.c (Philip Withnall)
  - #3040 gtester in custom_target() run against system rather than built
    libglib during build
  - !2824 gsignal: Reduce lock/unlock pairs and ensure we always work on valid
    signal nodes
  - !3146 Make GVariant/GHash opaque types compatible with CHERI
  - !3235 gmain: Avoid some lock/unlock dance during g_main_context_iterate
  - !3252 gmem: Add an inline definition of g_free() to automatically use
    g_free_sized()
  - !3289 Work around an UCRT issue with _wspawn() functions taking an envp
    block
  - !3306 gregistrysettingsbackend: Allow a different root key path
  - !3308 doc: Workaround missing API index
  - !3314 gmain: More explicitly document g_main_context_release() prereqs
  - !3326 unicode: add tests for g_utf8_normalize() and empty strings
  - !3333 build: Drop old .gitignore files from test directories
  - !3335 meson: allow -Dlibelf=enabled without pkg-config
  - !3337 gio-tool-info: Fix a duplicate attribute name in the UI
  - !3340 meson: Move msvc_recommended_pragmas.h to a subdirectory
  - !3341 g_utf8_normalize: don't read past the end of the buffer
  - !3342 Add fuzzing harness for g_utf8_normalize()
  - !3344 tools: Drop check-abis.sh script
  - !3345 docs: Drop section about default branch renaming from README.md
  - !3347 gsocket/inotify/gwakeup: Use SOCK_NONBLOCK and O_NONBLOCK to avoid
    fcntl() syscalls where possible
  - !3351 tests: Update Unicode normalisation tests from Unicode 15
  - !3352 meson: Fix detection of a system-provided proxy-libintl
  - !3353 [th/child-watch-waitpid] fix race with waitpid() and child watcher
    sources
  - !3356 build/gmodule-2.0.pc: Move compiler flags from Libs to Cflags
  - !3357 Make clang++ happier when using G_STATIC_ASSERT
  - !3361 meson: Add glib_valgrind_suppressions variable to glib pkg-config file
  - !3365 gwin32: Avoid use of function call with side effect in g_return_*
    macro
  - !3366 Add init macros for refcounting types
  - !3367 actiongroup: Add a compiler warning
  - !3371 Explicitly mark size parameter as (in)
  - !3377 gsignal: Clarify documentation for GSignalMatchType matching
  - !3378 build: Post-release version bump
  - !3381 gtimer: Avoid doing anything on g_usleep (0)
  - !3382 gsocket: Explicitly mark size parameter as (in)
  - !3383 add g_timeout_add_seconds_once
  - !3384 Test g_signal_handlers_disconnect_matched for G_SIGNAL_MATCH_ID match
  - !3385 gio: fix build on older macOS SDKs
  - !3388 appmonitor: Skip the test under OSX
  - !3389 glib/tests/[rec-]mutex: Allow each thread to work
  - !3390 Fix error format in gio/gunixconnection.c (part 2)
  - !3392 gvariant: Fix doc for g_variant_new_object_path
  - !3393 Fix small issues in docs
  - !3395 gtask: Document that g_task_run_in_thread() uses a shared resource
  - !3396 glib-unix: Improve documentation for g_unix_fd_source_new()
  - !3397 gthreadedresolver: Switch to using a separate thread pool and support
    timeouts
  - !3398 Avoid having g_futex_simple() inadvertently modify errno
  - !3399 meson: wrap html documentation generation with gtk_doc option
  - !3400 restore error messages in gunixconnection while maintaining older
    compiler support
  - !3401 ci: Disable the Coverity CI job
  - !3404 gtask: Track pending GTasks if G_ENABLE_DEBUG is defined
  - !3405 gthreadedresolver: Remove some incorrect assertions
  - !3406 gthreadpool: Clarify that item_free_func is not normally called
  - !3407 gregistrysettingsbackend: Remove translatable pspec nick/blurb
  - !3408 docs: Update/Drop txt documents from docs directory
  - !3409 docs: Don’t ignore gunixfdlist.h when building docs on Windows
  - !3410 tests: Add descriptions to environment tests
  - !3416 gtestutils: Fix section marker in documentation
  - !3418 docs: Add lb90 as a Windows maintainer
  - !3419 docs: Update various broken/redirected links and fix list formatting
  - !3420 gtestutils: print timing information per test case in TAP output
  - !3421 glib/tests/fileutils:fix asserts when running as root
  - !3422 Check for linux/netlink.h buildability
  - !3423 gstring: add g_string_new_take
  - !3425 gwin32networkmonitor: Fix returning address of local variable
  - !3426 gdataset, gobject: Use atomic compare and exchange full to set
    pointers
  - !3429 Rename GTK+ to GTK (mostly comments and documentation)
  - !3430 gobject_gdb.py: fix regression caused by bfbe7127d5
  - !3431 gfile: Ensure loff_t is defined on FreeBSD
  - !3435 Ignore g_task_print_alive_task() when introspecting GIO
  - !3437 gobject_gdb.py: support gsignal fastpath and detect more marshallers
  - !3438 gio: Check cancellable iterating local file enumerator
  - !3439 gstring: Add `Since` marker to `g_string_new_take()`
  - !3440 gutf8: Add a g_utf8_truncate_middle() function
  - !3441 Allow proper introspection of GTypeValueTable
  - !3442 gio: Add g_file_new_build_filenamev
  - !3448 meson: try iconv in libintl lookup
  - !3449 docs: Move README.win32.md to the docs folder and update
    CONTRIBUTING.md
  - !3450 gactionmap: Add g_action_map_remove_action_entries()
  - !3453 docs: Use the type name as the section name for GKeyFile
  - !3455 gfileinfo: add (type filename) annotation to symlink_target functions
  - !3456 gmain: Document that g_steal_fd() preserves errno
  - !3458 gstdio: Improve documentation of some functions as async-signal safe
  - !3462 tests: Reduce thread and iteration count on CI for /thread/rec-mutex3
  - !3463 ci: Disable the macOS CI
  - !3465 gobject_gdb.py: adapt to recent gsignal changes
  - !3466 resolver: Add space in documentations
  - !3470 pcre subproject fixes: Allow fallback & static build
  - !3471 gio-tool-mount: Add option to show progress when unmounting
  - !3472 tests: Fix an intermittent timing error with testing g_usleep(0)
  - !3477 gdbus-codegen: Fix some minor typos in the documentation
  - !3484 docs: Fix a typo in the backports policy
  - !3486 docs: Document issue and merge request triaging and review guidelines
  - !3488 codegen: Use g_signal_emit to emit signals
  - !3489 guniprop: fix param direction in g_unichar_get_mirror_char(), for
    introspection
  - !3490 gobject/tests: Fix running on 32-bit Windows

* Translation updates:
  - Bulgarian (Alexander Shopov)
  - Chinese (China) (Boyuan Yang)
  - English (United Kingdom) (Bruce Cowan)
  - Galician (Fran Dieguez)
  - Portuguese (Brazil) (Leônidas Araújo)
  - Slovak (Dušan Kazik)
  - Swedish (Anders Jonsson)
  - Turkish (Sabri Ünal)


Overview of changes in GLib 2.76.1, 2023-03-22
==============================================

* Fix build failures in third party C++ projects using `g_strdup()` via C++
  qualified symbol lookup (#2936, work by Xi Ruoyao)

* Downgrade critical warnings from `GFileInfo` about missing attributes to debug
  messages, as it was affecting too many apps; the critical warnings will be
  reinstated early in the 2.78 cycle, so apps should continue to fix their
  ambiguous use of `GFileInfo` API (#2948, work by Philip Withnall)

* Bugs fixed:
  - #159 g_strstr_len() ignores haystack_len (Philip Withnall)
  - #352 Docs for g_file_enumerator_next_files_async () are unclear about end
    condition (Owen Taylor)
  - #919 g_variant_dict_lookup is unclear about what happens on failure (Philip
    Withnall)
  - #2922 GWin32AppInfo: Missing NULL string check (Luca Bacci)
  - #2936 Possible regression in 2.75.3 when used from C++ due to g_strdup
    becoming a macro
  - #2943 Meson fails TAP test when g_test_message is called before g_test_init
    (Philip Withnall)
  - #2948 gio list triggers 'GFileInfo created without …' warnings for trash,
    smb and google-drive GVFS backends (Philip Withnall)
  - !3241 inotify: Avoid empty root directory string
  - !3315 tests: Change the time function used in the bookmark tests
  - !3318 gmacros: Add GCC < 5 fallback for __always_inline__
  - !3319 fuzzing: do not build tests if build_tests is false
  - !3321 tests: only build messages-low-memory if RTLD_NEXT is available
  - !3323 tests: Fix timeout sources in gdbus-auth and gapplication tests
  - !3324 tests: Reduce number of iterations in queue test
  - !3325 gdesktopappinfo: Add a missing NULL check
  - !3330 tests: Check a few results in strfuncs tests
  - !3338 gfileinfo: Temporarily downgrade missing attribute criticals to debugs

* Translation updates:
  - French (Guillaume Bernard)
  - Persian (Danial Behzadi)
  - Turkish (Sabri Ünal)


Overview of changes in GLib 2.76.0, 2023-03-10
==============================================

* Fix several regressions in handling `GFileInfo` attributes (#2932, #2934,
  work by Ondrej Holy and Philip Withnall)

* Bugs fixed:
  - #2932 ETAG_VALUE not set in GFileInfo when requested (Philip Withnall)
  - #2934 File attributes are not set when their value is FALSE/NULL (Philip
    Withnall)
  - !3309 gfile: Fix file size detection when copying on btrfs
  - !3310 glocalfileinfo: Mark the lost+found dir as hidden again
  - !3311 glocalfileinfo: Ensure that is-backup is always set

* Translation updates:
  - Bulgarian (Alexander Shopov)
  - Catalan (Jordi Mas i Hernandez)
  - Czech (Marek Černocký)
  - German (Tim Sabsch)
  - Korean (Changwoo Ryu)
  - Polish (Piotr Drąg)
  - Russian (Aleksandr Melman)
  - Turkish (Sabri Ünal)


Overview of changes in GLib 2.75.4, 2023-03-03
==============================================

* Emit a critical warning when acquiring the notification queue during GObject
  finalization. A type's `finalize()` implementation should not call public
  API that emits property notifications. (!3119, work by Marco Trevisan and Emmanuele Bassi)

* Bugs fixed:
  - #2720 Fails to create resource.o with LLVM ld
  - #2905 [MSVC] gstring.h: warning C4141: 'inline': used more than once
  - #2907 g_file_info_get_name returns NULL in contradiction to docs (Philip
    Withnall)
  - #2913 `glib:glib / error` fails with Glibc-2.37 (Philip Withnall)
  - #2915 Python tests fail on Windows when an environment variable contains
    non-ASCII characters (Luca Bacci)
  - #2916 gdbus: Never buffer reads during server authentication
  - #2918 2.75.3: array-test fails on big-endian CPUs (Simon McVittie)
  - #2919 2.75.3: g_string_append_len_inline: error: implicit conversion changes
    signedness
  - #2924 Use-after-free of GDBusMethodInvocation in GDBusInterfaceSkeleton
    (Philip Withnall)
  - !3168 GWin32AppInfo: Retrieve display name for UWP / Packaged apps
  - !3273 Revert "Revert "tests: Temporarily disable socket test due to a kernel
    bug""
  - !3275 tests: Add a -Wsign-conversion test for gstring.h
  - !3279 tests: Don’t run the GObject performance tests under valgrind
  - !3280 ci: Use Meson 1.0.0 on Windows and macOS CI builds
  - !3281 tests: Remove custom printerr logging from live-g-file
  - !3282 spawn-test: Use an absolute path to the system sort.exe on Windows
  - !3283 Make sure new file descriptors have close-on-exec flag set on them in
    a race-free way
  - !3284 Allow passing a `NULL` item to `g_list_store_find_with_equal_func()`
  - !3288 spawn-test: Fix running on non-English Windows
  - !3290 g_type_name: Fix return annotation
  - !3292 Close-on-exec flag few missed places
  - !3294 gio/tests/cxx.cpp: fix missing sentinel for musl
  - !3295 tests: Add some missing g_thread_join() calls to onceinit test
  - !3296 gdbusconnection: Explicitly destroy an idle source on cleanup
  - !3299 Update the NEWS file
  - !3301 GObject: Add nullable annotations
  - !3304 tests: Skip assert-msg-test.py if gdb fails
  - !3305 Fix a memory leak in g_strerror

* Translation updates:
  - Basque (Asier Sarasua Garmendia)
  - Danish (Alan Mortensen)
  - Galician (Fran Dieguez)
  - Georgian (Ekaterine Papava)
  - German (Tim Sabsch)
  - Hebrew (Yaron Shahrabani)
  - Hungarian (Balázs Úr)
  - Indonesian (Kukuh Syafaat)
  - Lithuanian (Aurimas Černius)
  - Portuguese (Hugo Carvalho)
  - Serbian (Марко Костић)
  - Slovenian (Matej Urbančič)
  - Spanish (Daniel)
  - Swedish (Anders Jonsson)
  - Turkish (Sabri Ünal, Emin Tufan Çetin)
  - Ukrainian (Yuri Chornoivan)


Overview of changes in GLib 2.75.3, 2023-02-13
==============================================

* Drop the implementation of GSlice, and make the API use the system `malloc()`
  internally (#1079) (based on investigation work by multiple people)

* Use a thread-spawning thread to keep thread scheduler settings consistent;
  fixes GThreadPool critical warnings due to failing to set scheduler settings
  in some situations (#2769, work by Sebastian Dröge and others)

* GIR annotation improvements for multiple APIs (#2827, #2894, #2895, #2897,
  !3198, !3234, !3236, !3238, !3245, !3266, work by multiple people)

* Optimise printing of nested maybes in `g_variant_print()` (#2862, work by Philip Withnall)

* Use `tap` test protocol within GLib, and support TAP 13/14 (!3140, work by Marco Trevisan)

* Fix a regression in glib-compile-schemas 2.75.2 causing schemas and override
  files to be sorted incorrectly (!3188, spotted by John Wudrick, work by Philip Withnall)

* Support per-desktop overrides in `GSettingsAction` (!3193, work by Philip Withnall)

* Various optimisations to `GString` (!3199, work by Matthias Clasen and Marco Trevisan)

* Reduce allocations in message printing functions if there’s nothing to format (!3205, work by Marco Trevisan)

* Add inline version of `g_strdup()`, allowing the compiler to do `NULL` folding
  and constant folding on `strlen()` calls (!3209, work by Marco Trevisan)

* Add a `GPathBuf` API for building and manipulating file paths (!3216, work by Emmanuele Bassi)

* Add `g_string_free_and_steal()` and use it to warn on unused results from
  `g_string_free (_, FALSE)` (!3219, !3226, work by Matthias Clasen and Sergey Bugaev)

* Add `g_free_sized()` and `g_aligned_free_sized()` to mirror the upcoming
  `free_sized()` function in C23; use these if porting away from `g_slice_free()`
  (!3231, work by Philip Withnall)

* Fix underspecified dependencies on generated headers in `meson.build`, which
  should reduce spurious build failures (!3260, work by Eli Schwartz)

* Bugs fixed:
  - #1079 Investigate dropping or deprecating the GSlice allocator (Natanael
    Copa)
  - #2769 GThreadPool crashes with: Failed to set scheduler settings: Operation
    not permitted (Sebastian Dröge)
  - #2827 Callback parameters get wrong attributes in gir files
  - #2862 fuzz_variant_text: Timeout in fuzz_variant_text when printing nested
    maybes
  - #2876 g_find_program_for_path is public ABI but not declared in a public
    header (Philip Withnall)
  - #2877 glib/tests/array-
    test.c:1828:pointer_array_new_from_null_terminated_array_from_gstrv:
    'g_ptr_array_index (gparray, 4)' should be NULL (Simon McVittie)
  - #2881 Invalid read of size 4 in get_matched_substring_number (Philip
    Withnall)
  - #2883 g_file_set_contents fails on mingw64 with "no error" if file size >
    INT_MAX (CCode)
  - #2890 g_string_append() macro evaluates arguments multiple times (Marco
    Trevisan (Treviño))
  - #2891 Memory leak in "gio/win32/gwin32fsmonitorutils.c" (Philip Withnall)
  - #2892 Memory leak in "gio/gwin32mount.c" (Philip Withnall)
  - #2894 g_value_take_string: wrong ownership transfer info in GIR (Lukáš
    Tyrychtr)
  - #2895 g_io_channel_get_line_term: wrong GIR (Bart Jacobs)
  - #2897 g_time_zone_adjust_time: GIR says gint64 but it's gint64* (Bart
    Jacobs)
  - #2898 g_print replaces non-ascii characters with question mark
  - #2900 msys2-clang64: g_spawn_[a]sync() fails in clang builds when envp is
    not NULL
  - #2901 g_app_info_get_executable doesn't work well on latest Ubuntu with
    Firefox installed as snap
  - #2908 Crash when creating GtkTextView with G_DEBUG=gc-friendly (Marco
    Trevisan (Treviño))
  - #2914 Should GPathBuf split on both directions of slashes on Windows? (Simon
    McVittie)
  - GNOME/gimp#9094 devel: None of the extensions and plugins load in Clang
    builds
  - !3140 meson: Use 'tap' test protocol and support TAP 13/14
  - !3184 build: Don't overwrite build variables
  - !3185 Include gobject-visibility.h in glib-types.h
  - !3187 tests/desktop-app-info: fix stack-use-after-scope
  - !3188 glib-compile-schemas: Fix typo in comparison function
  - !3189 docs: Fix return type in cmpint
  - !3191 tests: Improve error message if setting max processes to 1 fails
  - !3192 garray: Avoid calling memcpy with no items
  - !3193 gsettings: Support per-desktop overrides in GSettingsAction
  - !3196 gio/tests/file.c:Fix expectations when running as root
  - !3198 Fix a couple of `closure` annotations
  - !3199 Some GString optimizations
  - !3203 GTask: Document issues
  - !3205 gmessages: Avoid strings duplication if there's nothing to format
  - !3206 tests: Add a test print to spawn-test on Windows
  - !3207 tests: Fix a minor leak in the GString tests
  - !3209 gstrfuncs: Add inline version of g_strdup()
  - !3216 Add GPathBuf
  - !3219 Add g_string_free_and_steal
  - !3221 TAP: some further cleanups
  - !3223 Add a few suppressions to glib.supp and fix a minor bug in
    gapplication test
  - !3224 gtestutils: Fix a potential NULL pointer dereference in g_test_log()
  - !3225 tests: Temporarily disable socket test due to a kernel bug
  - !3226 Make g_string_free (_, FALSE) warn on unused result
  - !3231 gmem: Add g_free_sized() and g_aligned_free_sized()
  - !3234 GMainContext: Use nullable context in docs (and in some missing code)
  - !3236 g_regex_escape_string: bad GIR: utf8[] -> utf8
  - !3238 Fix GIR: gunichar -> gunichar[]
  - !3242 GAtomicArray: Ensure metadata does not misalign the payload
  - !3243 Allow using msort_r CHERI-enabled architectures
  - !3245 gio: converter: Forbid null out arguments
  - !3246 tests: Fix a few minor leaks in gdbus-example-peer
  - !3247 tests: Fix a minor leak in the cxx string append tests
  - !3248 timezone: Fix a compiler warning
  - !3249 gstring: Avoid warnings from inline functions
  - !3250 ci: Temporarily only run the FreeBSD 13 CI on a schedule
  - !3251 Revert "gtype: Use the system allocator on UNIX" and use g_free_sized
    instead
  - !3256 Remove n_preallocs field from InstanceData
  - !3258 Revert "ci: Temporarily only run the FreeBSD 13 CI on a schedule"
  - !3259 gmessages: use g_atomic_pointer to access handlers for
    g_print()/g_printerr()
  - !3260 fix underspecified dependencies on generated headers
  - !3262 Add a (temporary) assertion that sizeof(gsize) == sizeof(guintptr)
  - !3263 Revert "glib-init: Add more static assertions for gintptr, guintptr"
  - !3265 fileutils: Make some sample code detect symlinks as intended
  - !3266 Avoid some warnings from GObject-Introspection
  - !3268 po: Add missing header file to POTFILES.in

* Translation updates:
  - Belarusian (Vasil Pupkin)
  - Galician (Fran Dieguez)
  - Georgian (Ekaterine Papava)
  - Hebrew (Yosef Or Boczko)
  - Indonesian (Kukuh Syafaat)
  - Portuguese (Hugo Carvalho)
  - Russian (Aleksandr Melman)
  - Turkish (Sabri Ünal, Emin Tufan Çetin)
  - Ukrainian (Yuri Chornoivan)


Overview of changes in GLib 2.75.2, 2023-01-06
==============================================

* Add `g_ptr_array_sort_values()` and `g_ptr_array_sort_values_with_data()` APIs
  (work by Marco Trevisan) (!3155)

* Some fixes for activation of UWP apps on Windows (work by Luca Bacci) (#2843, !3167)

* Support Markdown output from `gdbus-codegen` (work by Guido Günther) (!3171)

* Bugs fixed:
  - #2871 Leak in g_find_program_for_path() (Philip Withnall)
  - #2843 gtk_show_uri can't open browser on MSYS2 on Windows (Luca Bacci)
  - #2857 Grammar issue in documentation glib stpcpy (Peter Bloomfield)
  - !3155 garray: Add g_ptr_array_sort_values[_with_data]() wrappers
  - !3162 gobject: Add a missing NULL check for the return from
    lookup_type_node_I()
  - !3167 GWin32AppInfo: Fixes for UWP (packaged) apps activation
  - !3169 GLocalFile: Delete redundant error saving statement
  - !3170 GLocalFile: add error handle for trash info file writing
  - !3171 codegen: Support markdown suitable for gi-docgen
  - !3173 gdesktopappinfo: Drop an unnecessary NULL check
  - !3174 garray: Add some additional length assertions
  - !3175 codegen: Check parameter before calling its interface method
  - !3177 Various fixes for how we interact with subproject dependencies
  - !3178 glocalfileinfo: Don't reset mtime tv_sec when setting tv_usec
  - !3181 INSTALL.md,README.win32.md: Actualize links

* Translation updates:
  - Turkish (Sabri Ünal)


Overview of changes in GLib 2.75.1, 2022-12-21
==============================================

* Add new `GFileInfo` properties for large thumbnails (work by Matthias Clasen) (#621)

* Fix missing input validation in `GDBusMenuModel` (work by Lars Uebernickel) (#861)

* Change default `g_desktop_app_info_search()` algorithm to include substring
  matches (work by Alynx Zhou) (#1152)

* Various GVariant security fixes when handling untrusted data (work by
  William Manley, Philip Withnall, Simon McVittie) (#2121, #2540, #2794, #2797,
  #2839, #2840, #2841)

* Add support for XDG Activation protocol in `GAppLaunchContext` (work by
  Ilya Fedin) (#2709)

* Return `application/x-zerosize` rather than `text/plain` as content type for
  empty files (work by Philip Withnall) (#2777)

* Deprecate `-Druntime_libdir` configure option because it was unused (work by
  Philip Withnall) (#2786)

* Check for snap plugs when accessing portals (work by Robert Ancell) (!3020)

* Add `GArray` and `GPtrArray` constructors to take or copy C arrays (work by
  Marco Trevisan) (!3128)

* Add `GHashTable` methods to get and steal hash table keys and values as
  `GPtrArray`s (work by Marco Trevisan) (!3130)

* Change the default D-Bus system bus socket address from
  `/var/run/dbus/system_bus_socket` to `/run/dbus/system_bus_socket`, in line
  with changes in dbus.git. This can now be overridden by passing
  `-Druntime_dir=/some/path` at configure time — the default is `/run`, which
  should work for all users except distributions where `/run` is not equivalent
  to `/var/run`. OS distributors should check that this configured path matches
  the runtime directory configured for their D-Bus daemon. (work by
  Roman Stratiienko, Philip Withnall) (!3095, !3101)

* Bugs fixed:
  - #621 file-info: catch thumbnail files in large directory as well (Matthias
    Clasen)
  - #861 insufficient input validation in GDBusMenuModel (Lars Uebernickel)
  - #1152 Application search algorithm (g_desktop_app_info_search()) should use
    fuzzy matching (Alynx Zhou)
  - #1904 gaction: remote triggered crashes
  - #2121 GVariant deserialisation does not match spec for non-normal data
    (Philip Withnall, William Manley)
  - #2540 Parsing serialized GVariants can blow up run-time and memory (Philip
    Withnall)
  - #2709 Add support for XDG_ACTIVATION_TOKEN/XDG Activation protocol in
    GAppLaunchContext (Ilya Fedin)
  - #2777 Return application/x-zerosize for empty file content types rather than
    text/plain (Philip Withnall)
  - #2786 runtime_libdir and iconv options documented and exposed but not
    effective? (Philip Withnall)
  - #2793 Introspection annotations for g_clear_pointer() and g_clear_fd() might
    not be correct (Philip Withnall)
  - #2794 GVariant offset table entry size is not checked in is_normal() (Philip
    Withnall)
  - #2797 g_variant_byteswap() can take a long time with some non-normal inputs
    (Philip Withnall)
  - #2809 g_str_equal switched to stricter API (typing) (Philip Withnall)
  - #2811 Internal inotify symbols exposed in 2.75.0 ABI (Simon McVittie)
  - #2812 CI failing on macOS: -Werror,-Wmissing-field-initializers (Simon
    McVittie)
  - #2820 g_str_equal: New macro version breaks compilation in C++ projects
    (Philip Withnall)
  - #2821 GObject webpage documentation is mis-formatted during generation
    (Emmanuele Bassi)
  - #2835 gio/gapplication test fails with test_dbus_activate: assertion failed
    (n_activations == 2): (1 == 2) (Philip Withnall)
  - #2836 Conditional jump on uninitialised value in spawn-singlethread (Philip
    Withnall)
  - #2837 Assertion failure in contexts test (Philip Withnall)
  - #2839 [bisected] GVariant test regression on big-endian architectures (Simon
    McVittie)
  - #2840 fuzz_variant_binary_byteswap: Heap-buffer-overflow in
    g_variant_serialised_get_child (Philip Withnall)
  - #2841 fuzz_variant_text: Timeout in fuzz_variant_text (Philip Withnall)
  - #2845 MSVC: Build failure with g_array_append_val() in C++ mode
  - #2846 Follow-up from "garray: Add support adding literal values" — doesn’t
    work with clang (Emmanuele Bassi)
  - #2852 alpine/musl: catching signals from a subprocess triggers
    GLib:ERROR:../glib/gmain.c:5569:siginfo_t_to_wait_status: code should not be
    reached (Philip Withnall)
  - !385 gtask: Warn if a GTask is finalised without returning
  - !2479 glib/spawn: check user source_fds doesn't contain private fds
  - !2728 gtype: Speed up type checking for final types
  - !2764 GCancellable: Ensure it is always cancelled on connect callback
  - !2886 gtestutils: Use $G_TEST_TMPDIR as temporary directory when defined
  - !2895 Expose C and C++ standard versions and add macros to check them
  - !2917 meson: Use gnome.mkenum_simple()
  - !2992 glib/tests: Add test to check that we abort on low-memory
  - !3020 portal: Check for snap plugs before accessing portals
  - !3042 gdesktopappinfo: Fail early if trying to launch an invalid executable
    and always use desktop Path and context $PATH
  - !3064 ci: Exclude copylibs and fuzz tests from code coverage
  - !3065 tests: Add some trivial tests for g_thread_init()
  - !3067 tests/meson.build: do not use can_run_host_binaries()
  - !3068 gio: Fix missing visibility header dependency
  - !3070 type-flags test: Force G_ENABLE_DIAGNOSTIC=1 to be set
  - !3073 Misc docs fixes and test improvements in GAction and
    GNotificationBackend
  - !3075 gmodule: Fix redeclaration of symbol
  - !3076 gspawn: Ignore invalid FDs when using safe_fdwalk()
  - !3077 build: Bump Meson dependency to 0.64.0
  - !3078 build: Move -Wnonnull flag to meson.build
  - !3079 giochannel: Clarify assertions in g_io_channel_write_chars()
  - !3080 A few test improvements for scan-build
  - !3081 gthreadpool: Mark an explicit leak as to be ignored
  - !3083 tests: Remove a manual timeout from desktop-app-info test
  - !3086 gmacros: Use C++ namespaces attribute specifier sequences for msvc
  - !3088 tests: Add G_TEST_OPTION_ISOLATE_DIRS to almost all gdbus tests
  - !3089 Revert dependency bump to use Meson 0.64
  - !3091 Fix doc typo in g_dbus_connection_signal_subscribe
  - !3092 Fix gmodule/COPYING symlink path
  - !3095 gdbusaddress: Form default system dbus path using meson definitions
  - !3097 garray: Add assertions to help static analysis
  - !3098 gobject: Use compare and exchange full to re-read old ref value
  - !3099 gsocketcontrolmessage: add nullable annotation to deserialize return
  - !3100 gsimpleproxyresolver: Make explicit that a port is needed for
    HTTP/HTTPS
  - !3101 gdbusaddress: Use runstatedir rather than localstatedir
  - !3103 gclosure: Documentation improvements around floating closures
  - !3105 gsocket: use socklen_t in more places to fix build under cygwin
  - !3106 gobject: Check for valid ref counting via g_return_if_fail
  - !3107 gdesktopappinfo: Group search results by both categories and match
    types
  - !3108 gwakeuptest: Do not rely on alarm() to stop tests on timeout
  - !3112 docs: Remove a stray > in the glib-mkenums man page
  - !3115 ci: Don’t fail if testlog-unstable_tests.junit.xml doesn’t exist on
    MSVC
  - !3116 docs: Remove HACKING
  - !3117 tests: fix assert-msg-test with custom gdbinit
  - !3119 Improve notification queue warning
  - !3120 glib/gthread-posix: Conditionally use `futex` and/or `futex_time64`
    syscalls...
  - !3124 More gobject performance tests
  - !3127 docs: Update SECURITY to stop mentioning a deprecated mailing list
  - !3128 garray: Add more G(Ptr)Array constructors to take or copy C arrays
  - !3129 garray: Add support adding literal values
  - !3130 ghash: Add APIs to get (and steal) hash table keys and values as
    GPtrArray
  - !3132 gtestutils: Check for failure to setenv() and return
  - !3139 gtype: avoid "-Wcast-align" warning with optimized
    G_TYPE_CHECK_INSTANCE_CAST()
  - !3141 tests/slice-concurrent.c: avoid using rand() from multiple threads
  - !3142 tests/gdbus-method-invocation: Fix missing g_variant_new() argument
  - !3144 gspawn.c: prefer close_range() on FreeBSD if available
  - !3145 tests/gvariant.c: ensure posix_memalign alignment argument is correct
  - !3147 ci: Temporarily only run the FreeBSD 13 CI on a schedule
  - !3148 ghash: Use unsigned types for number of nodes and occupied ones
  - !3151 Revert "ci: Temporarily only run the FreeBSD 13 CI on a schedule"
  - !3152 tests: Fix stall/deadlock in slice-concurrent on macOS CI
  - !3156 gobject: Some GValue setting code cleanups
  - !3157 gthread-posix: need to #include <errno.h>
  - !3159 gmenuexporter: Fix warning of unused n_items when building with
    G_DISABLE_ASSERT

* Translation updates:
  - Interlingue (Olga Smirnova)
  - Serbian (Мирослав Николић)


Overview of changes in GLib 2.75.0, 2022-11-10
==============================================

* Update Unicode data to version 15 (work by Marco Trevisan) (#2735)

* Fix various build failures in different situations
  (work by Kjell Ahlstedt, Marco Trevisan (Treviño)) (#2740, #2758, #2759, #2766)

* Fix over-eager deprecated property warnings for construct properties
  (work by Simon McVittie) (#2748)

* Fix a crash calling `g_param_value_is_valid()` on a `GParamSpecParam` (work by
  Emmanuele Bassi) (#2770)

* Fix floating `GVariant` leaks with GObject properties (work by Matthias Clasen) (#2774)

* Add inline optimised version of `g_str_equal()` (work by Xavier Claessens) (#2775)

* Add inline optimised version of `g_str_has_{prefix,suffix}()` (work by Emmanuel Fleury) (#24)

* Fix `GVariant` type depths checks on text format variants (work by Philip Withnall) (#2782)

* Fix regression with int64 and double hashing functions on big-endian architectures
  (work by Simon McVittie) (#2787)

* Build the API documentation only when building GLib as a shared library (work
  by Emmanuele Bassi) (!2896)

* Ignore weird `/etc/localtime` configurations generated by toolbx (work by Ray Strode) (!2973)

* Avoid `EINTR` races when closing FDs in `g_spawn_*()` (work by Thomas Haller) (!2988)

* Deprecate `G_MODULE_SUFFIX` and improve `g_module_open()` to automatically find
  modules better on different platforms (work by Nirbheek Chauhan) (#520, #1413)

* Soft-deprecate sized integer types in favour of C99 `stdint.h` types (work by Simon McVittie) (#1484)

* Correctly mark sshfs file systems as `G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE` (work by Philip Withnall) (#2726)

* Add `g_set_string()` function for setting strings simply (work by Christian Hergert) (#2747)

* Add support for `xdg-terminal-exec` for handling desktop applications using
  `Terminal=true` (work by Max Gautier) (!2839)

* Change various configure-time defaults for cast checks and related
  (work by Michael Catanzaro) (!2850, !2894)

