Overview of changes in GLib 2.87.1, 2025-12-30
Several low-risk CVE fixes (#3827, #3834, #3845)
Fix return type of
gi_callable_info_get_closure_native_address()(#3859,
work by Philip Chimento)Tweak thread pool handling for
GTaskthreads to prevent stalls (#3840, work
by Ignazio Pillai)Respect
NO_COLORenvironment variable in log output (!4898, work by
Aaron Andersen)Update file system type lists to mark more file system types as system ones
and to recognisentfs3file systems (!4916 and #3828, work by
Christian Hergert and Alexander Schwinn)Add
G_GNUC_FLAG_ENUMattribute to mark enums as flags (!4900, work by
Philip Chimento)Add a static CRT constructor and fusion manifest XML for GLib utilities on
Windows so thatstderrcan be unbuffered and streams are flushed on exit
(#3733, work by Luca Bacci)Fix
G_FILE_MONITOR_WATCH_HARD_LINKSon Windows (#3819, work by Jehan)Bugs fixed:
- #74 ignore case and '-' vs '_' differences when maching on enum/flag
nick/name (Emmanuel Fleury)
- #1181 Test failure: check_expected_events
- #3360 msys2-mingw32 CI failure: mingw-w64-i686-gcc and mingw-w64-i686-gcc-
objc are in conflict
- #3733 gi-compile-repository.py test intermittently fails on Windows with
empty stderr (Luca Bacci)
- #3818 g_main_context_check with a NULL context crashes (Michiel Jan Laurens
de Hoon)
- #3819 G_FILE_MONITOR_WATCH_HARD_LINKS flag does not monitor files on Windows
- #3827 (CVE-2025-13601) (#YWH-PGM9867-134) Incorrect calculation of buffer
size in g_escape_uri_string() (Philip Withnall)
- #3828 NTFS not detected by g_file_info_get_attribute_string
- #3834 (CVE-2025-14087) (#YWH-PGM9867-145) Buffer underflow on Glib through
glib/gvariant via bytestring_parse() or string_parse() leads to OOB Write
(Philip Withnall)
- #3840 GTask: g_task_run_in_thread never starts pending tasks (Ignazio
Pillai)
- #3843 glib: Integer overflow in
g_bytes_new_from_bytes()leads to
corruptedGBytesobject (Philip Withnall)
- #3845 (CVE-2025-14512) GIO: Integer overflow in file attribute escaping
(Philip Withnall)
- #3851 Integer overflow in
g_buffered_input_stream_peek()leads to
segmentation fault (Philip Withnall)
- #3859 Return type of gi_callable_info_get_closure_native_address() should be
void* (Philip Chimento)
- !4883 ci: Do not use anymore only/except deprecated syntax
- !4885 ci: Track changes to gir files using artifacts and MRs comments
- !4898 glog: respect NO_COLOR environment variable
- !4899 genvironment: consider macOS behavior when testing g_getenv
- !4900 Add G_GNUC_FLAG_ENUM
- !4904 glog: guard NO_COLOR environment variable check with a GOnce for
performance reasons
- !4907 completion: fix error on nounset mode unknown completions
- !4908 glocalfile: Complain if
faccessatsets an unusual error and use
AT_FDCWD
- !4909 glocalfile: Fix trash user cancellation not reported on Windows
- !4910 ci: Use issue bot native support for $ISSUE_BOT_API_TOKEN_FILE
- !4913 gdbusprivate: check length of path to GDBus binary
- !4916 gio/gunixmounts: mark some file-system types as system
- !4920 tests: Fix static-link test when running installed
- !4921 gutf8: Add tests and clarify documentation for g_unichar_to_utf8()
- !4922 ci: Enable the gobject-introspection build for the debian-stable-i386
job
- !4923 Added AIX implementation of g_unix_fd_query_path
- !4926 Fix g_strcompress docs (mod 256)
- !4928 Update of the Occitan translation
- !4930 gio/gunixmounts: Mark more file systems as system internal
- !4931 gio/gunixmounts: Replace /bin/efi with /boot/efi
- !4937 docs(GResource): Tweak overlays description
- !4939 gsocks4aproxy: Fix a buffer leak when finishing connecting
- !4941 gsignal: Cleanup handler disconnection avoiding unneeded operations
- !4942 gio: Fix a few -Wsign-conversion warnings
- !4943 ci: Some fixups on the gir checker
- #74 ignore case and '-' vs '_' differences when maching on enum/flag
Translation updates:
- Occitan (post 1500) (Mejans)
- Occitan (post 1500) (Mejans)