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`
* Fix `-Dlibelf=disabled` on Linux
* Bugs fixed:
- NetworkManager 1.44.0 crashes repeatedly with glib 2.78.0 (Philip
Withnall)
- gsubprocess-testprog.c: build error with cygwin (sys/ptrace.h: No such
file or directory) (Philip Withnall)
- gio clears modification time in microseconds when setting with
`set_modification_date_time` (Lukáš Tyrychtr)
- Build of glib 2.78.0 ignores -Dlibelf=disabled (Philip Withnall)
- glib-2.78.0 fails at gio/tests/gsubprocess.p/gsubprocess.c.o
- Segfault when creating GIO GPropertyAction without properties
- `g_file_set_contents_full()` doesn't truncate the file (without
`G_FILE_SET_CONTENTS_CONSISTENT`) (Philip Withnall)
- guniprop.c: Avoid creating (temporarily) out-of-bounds pointers
- Fixes for integer cast warnings when targeting CHERI
- Fix test_find_program on FreeBSD
- gconstructor.h: Ensure [c|d]tor prototypes are present for MSVC (Chun-
wei Fan)
- Fix gutils-user-database test on macOS
- Add value annotation to G_TYPE_FUNDAMENTAL_MAX
- meson: Fix Windows build with PCRE2 as sibling subproject
- Backport “gconstructor.h: Ensure [c|d]tor prototypes are present
for MSVC” to glib-2-78
- Backport “glocalfileinfo: Preserve microseconds for
access/modify times” to glib-2-78
- Backport “Make sure the `GTask` is freed on a graceful
disconnect” to glib-2-78 (Pavel Sobolev)
- Backport “Buffer needs to be aligned correctly to receive
linux_dirent64.” to glib-2-78
- Backport “gtestutils.h: Fix warning with -Wsign-conversion
caused by g_assert_cmpint” to glib-2-78
- Backport “tests: Drop unnecessary include from gsubprocess-
testprog.c” to glib-2-78
- Backport “wakeup: do single read when using eventfd()” to
glib-2-78
- Backport “wakeup: Fix g_wakeup_acknowledge if signal comes in”
to glib-2-78
- Backport “Use g_task_return in task threads” to glib-2-78
- Backport “build: Fix -Dlibelf=disabled on Linux” to glib-2-78
- Backport “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
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
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
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
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
Instead of depending on one of the removed packages (that are now included
in the base Python packages), include batteries-included.mk to require
a Python version that supplies them.
Remove now included packages.
Bump PKGREVISION.
Overview of changes in GLib 2.76.5, 2023-08-31
==============================================
* Bugs fixed:
- Possible SEGV (null pointer deref) in distribute_method_call() (Philip
Withnall)
- Possible SEGV (null pointer deref) in _g_resource_file_new() (Philip
Withnall)
- Backport !3529 “gmenuexporter: synchronization in
org_gtk_Menus_get_interface.” to glib-2-76
- Backport !3547 “glib/gfileutils.c: use 64 bits for value in
get_tmp_file()” to glib-2-76
- Backport !3554 “gresourcefile: Fix crash if called with a badly
escaped URI” to glib-2-76
- Backport !3555 “gkeyfile: Fix overwriting of GError” to glib-2-76
- Backport !3539 “gdbusmessage: Validate required headers have the right
type” to glib-2-76
Use DYLD_LIBRARY_PATH (searched first) instead of
DYLD_FALLBACK_LIBRARY_PATH (searched last) to find newly built libraries
even if an earlier version is already installed.
Overview of changes in GLib 2.76.4, 2023-07-06
==============================================
* Fix build failure on Android with `statx()` support
* Bugs fixed:
- glib-compile-schemas failed on directory name with no Latin symbols
(Daniyar Tleulin)
- Build failure due to statx fields with NDK r25.c (Philip Withnall)
- Backport !3446 “glib-compile-resources: Fix non-ASCII arg parsing on
Windows” to glib-2-76
- Backport !3473 ”glib: reset errno to 0 when futex() returns EAGAIN” to
glib-2-76
- Backport !3468 “Avoid stack overflow in gspawn on macOS” to glib-2-76
- Backport !3482 “glocalfileinfo: Fix incorrect use of struct
statx.st_mtimensec on Android” to glib-2-76
* Translation updates:
- English (United Kingdom) (Bruce Cowan)
- Portuguese (Brazil) (Leônidas Araújo)
- Slovak (Dušan Kazik)
Overview of changes in GLib 2.76.3, 2023-05-23
==============================================
* Bugs fixed:
- Use-after-free under
send_message_with_reply_cleanup():gdbusconnection.c:1792 (Philip Withnall)
- Backport !3398 “Avoid having g_futex_simple() inadvertently modify
errno” to glib-2-76
- Backport !3400 “Revert "Fix error format in gio/gunixconnection.c
(part 2)"” to glib-2-76
- Backport !3291 “gdbusconnection: Fix double unref on timeout/cancel
sending a message” to glib-2-76
- Backport !3425 “gwin32networkmonitor: Fix returning address of local
variable” to glib-2-76
- Backport !3430 “gobject_gdb.py: fix regression caused by bfbe7127d5”
to glib-2-76
* Translation updates:
- Galician (Fran Dieguez)
Overview of changes in GLib 2.76.2, 2023-04-21
==============================================
* Fixed various build failures in less common setups (by Philip Withnall,
by Marco Trevisan)
* Fix launching files in Windows via GtkFileLauncher (by Luca Bacci)
* Bugs fixed:
- GMarkupParser documentation completion (David King)
- Disagreement between runtime and docs on whether interfaces are
"classed" (Philip Withnall)
- gdbus-example-proxy-subclass.c is not complete. (Colin Walters)
- GAppInfoMonitor documentation deficiencies (Philip Withnall)
- Check for __kernel_long_t when enabling futex()
- Documentation mentions non-existing function `g_value_free` (Philip
Withnall)
- Not clear that GPollableInputStream methods are undefined if
can_poll() returns FALSE (Philip Withnall)
- Missing docs for GOption (commandline parser) (Sam Thursfield)
- GDebugControllerDBus wrong default in documentation (Philip Withnall)
- Probably wrong information regarding G_PLATFORM_WIN32 in
README.win32.md
- Multiple Definition Error When Generating gio/tests/test5.gresource
(Dan Yeaw)
- user docs: GLib.DateTime.format: broken highlighting (Philip Withnall)
- GtkFileLauncher: generated paths not recognized on Win32 (Luca Bacci)
- Build failed due to NULL pointer redefinition in C++ (Marco Trevisan)
- Build randomly fails with: 'gmodule/gmodule-visibility.h' file not
found (Marco Trevisan)
- unicode: add tests for g_utf8_normalize() and empty strings
- build: Drop old .gitignore files from test directories
- tools: Drop check-abis.sh script
- docs: Drop section about default branch renaming from README.md
- tests: Update Unicode normalisation tests from Unicode 15
- Make clang++ happier when using G_STATIC_ASSERT
- gwin32: Avoid use of function call with side effect in g_return_*
macro
- gsignal: Clarify documentation for GSignalMatchType matching
* Translation updates:
- Bulgarian (Alexander Shopov)
- Chinese (China) (Boyuan Yang)
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
* 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
* Bugs fixed:
- g_strstr_len() ignores haystack_len (Philip Withnall)
- Docs for g_file_enumerator_next_files_async () are unclear about end
condition (Owen Taylor)
- g_variant_dict_lookup is unclear about what happens on failure (Philip
Withnall)
- GWin32AppInfo: Missing NULL string check (Luca Bacci)
- Possible regression in 2.75.3 when used from C++ due to g_strdup
becoming a macro
- Meson fails TAP test when g_test_message is called before g_test_init
(Philip Withnall)
- gio list triggers 'GFileInfo created without …' warnings for trash,
smb and google-drive GVFS backends (Philip Withnall)
- inotify: Avoid empty root directory string
- tests: Change the time function used in the bookmark tests
- gmacros: Add GCC < 5 fallback for __always_inline__
- fuzzing: do not build tests if build_tests is false
- tests: only build messages-low-memory if RTLD_NEXT is available
- tests: Fix timeout sources in gdbus-auth and gapplication tests
- tests: Reduce number of iterations in queue test
- gdesktopappinfo: Add a missing NULL check
- tests: Check a few results in strfuncs tests
- 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
* Bugs fixed:
- ETAG_VALUE not set in GFileInfo when requested (Philip Withnall)
- File attributes are not set when their value is FALSE/NULL (Philip
Withnall)
- gfile: Fix file size detection when copying on btrfs
- glocalfileinfo: Mark the lost+found dir as hidden again
- 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)
Uses DYLD_FALLBACK_LIBRARY_PATH to locate a library used in the
build process but not yet installed
Patch submitted in PR pkg/57415 by jonathan buschmann
ok wiz@
Overview of changes in GLib 2.74.5
==================================
* Bugs fixed:
- gtk_show_uri can't open browser on MSYS2 on Windows (Luca Bacci)
- Invalid read of size 4 in get_matched_substring_number (Philip
Withnall)
- g_file_set_contents fails on mingw64 with "no error" if file size >
INT_MAX (CCode)
- gthread-posix: need to #include <errno.h>
- Backport !3160 “GWin32AppInfo: Check for local file path first” to
glib-2-74
- Backport !3178 “glocalfileinfo: Don't reset mtime tv_sec when setting
tv_usec” to glib-2-74
- Backport !3194 “gregex: Prevent invalid memory access for unmatched
subpatterns” to glib-2-74
- Backport !3200 “gfileutils: Use 'write' with 'count' <= max value of
its return type” to glib-2-74
- Backport !3213 “gvariant: Optimise g_variant_print() for nested
maybes” to glib-2-74
* Translation updates:
- Abkhazian (Nart Tlisha)
Overview of changes in GLib 2.74.4
==================================
* Fix missing input validation in `GDBusMenuModel` (work by Lars Uebernickel)
* Various GVariant security fixes when handling untrusted data (work by
William Manley, Philip Withnall, Simon McVittie)
* Bugs fixed:
- insufficient input validation in GDBusMenuModel (Lars Uebernickel)
- GVariant deserialisation does not match spec for non-normal data
(William Manley, Philip Withnall)
- Parsing serialized GVariants can blow up run-time and memory (Philip
Withnall)
- GVariant offset table entry size is not checked in is_normal() (Philip
Withnall)
- g_variant_byteswap() can take a long time with some non-normal inputs
(Philip Withnall)
- gio/gapplication test fails with test_dbus_activate: assertion failed
(n_activations == 2): (1 == 2) (Philip Withnall)
- [bisected] GVariant test regression on big-endian architectures (Simon
McVittie)
- fuzz_variant_binary_byteswap: Heap-buffer-overflow in
g_variant_serialised_get_child (Philip Withnall)
- fuzz_variant_text: Timeout in fuzz_variant_text (Philip Withnall)
- 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)
- !3114 Backport !3113 “gaction: Validate actions activated over D-Bus” to
glib-2-74
- !3126 Backport !3125 “Various fixes to normal form handling in GVariant” to
glib-2-74
- !3134 Backport !3133 “gmenumodel: disallow exporting large menus on the bus”
to glib-2-74
- !3138 Backport !3136 “gvariant-serialiser: Convert endianness of offsets” to
glib-2-74
- !3153 Backport !3120 “glib/gthread-posix: Conditionally use `futex` and/or
`futex_time64` syscalls...” to glib-2-74
- !3161 Backport !3158 ”gmain: Define fallback values for siginfo_t constants
for musl” to glib-2-74
- !3164 Backport !3163 “gvariant: Check offset table doesn’t fall outside
variant bounds and speed up text parsing” to glib-2-74
* Translation updates:
- Abkhazian (Nart Tlisha)
- Belarusian (Vasil Pupkin)
- Georgian (Ekaterine Papava)
- Interlingue (Olga Smirnova)
Overview of changes in GLib 2.74.3
==================================
* Fix regression in type checking `g_str_equal()` from C++ projects (2820)
* Bugs fixed:
- 2820 g_str_equal: New macro version breaks compilation in C++ projects
(Philip Withnall)
- !3096 Backport !3094 “gstrfuncs: Fix regression in C++ types accepted by
g_str_equal()” to glib-2-74
Overview of changes in GLib 2.74.2
==================================
* Fix `GVariant` type depths checks on text format variants (work by Philip Withnall) (2782)
* Fix an obscure corner case with FD handling in `g_spawn_*()` when a process
has already closed the standard I/O FDs (work by Ray Strode) (2795)
* Fix regression in type checking on `const` arguments to `g_str_equal()` (2809)
* Bugs fixed:
- 2782 GVariant type depth not checked on typedecls in text format variants
(Philip Withnall)
- 2795 [regression] gnome-keyring-daemon uses 100% CPU with glib-2.74.1 (Ray
Strode)
- 2799 Wrong GTask tag on error return path in
g_proxy_resolver_lookup_async() (Michael Catanzaro)
- 2809 g_str_equal switched to stricter API (typing) (Philip Withnall)
- !3017 Backport !3008 “gio/gdesktopappinfo: Free the wrapped argv array on
launch failure” to glib-2-74
- !3038 Backport !3035 “portal: Fix broken header guard” to glib-2-74
- !3039 Backport !3029 “Revert "Handling collision between standard i/o file
descriptors and newly created ones" ” to glib-2-74
- !3046 Backport !3045 “gproxyresolver: lookup_finish() should better parallel
lookup_async()” to glib-2-74
- !3063 Backport !3061 “gvariant-parser: Speed up maybe_wrapper() by an order
of magnitude” to glib-2-74
- !3084 Backport !3082 “gstrfuncs: Fix regression in types accepted by
g_str_equal()” to glib-2-74
* Translation updates:
- Abkhazian (Nart Tlisha)
- Dutch (Nathan Follens)
- Serbian (Мирослав Николић)
fam support was removed in 2.73:
* Remove FAM/gamin file monitor and `-Dfam` meson option, as libgamin was last
released in 2007 and is dead upstream (work by Emmanuele Bassi) (#2605)
Closes PR 57091 by Jason Bowen.
Overview of changes in GLib 2.74.1
==================================
* Update Unicode data to version 15 (work by Marco Trevisan)
* Fix various build failures in different situations
(work by Kjell Ahlstedt, Marco Trevisan (TreviĂąo))
* Fix over-eager deprecated property warnings for construct properties
(work by Simon McVittie)
* Fix a crash calling `g_param_value_is_valid()` on a `GParamSpecParam` (work by
Emmanuele Bassi)
* Fix floating `GVariant` leaks with GObject properties (work by Matthias Clasen)
* Add inline optimised version of `g_str_equal()` (work by Xavier Claessens)
* Fix `GVariant` type depths checks on text format variants (work by Philip Withnall)
* Fix regression with int64 and double hashing functions on big-endian architectures
(work by Simon McVittie)
* Build the API documentation only when building GLib as a shared library (work
by Emmanuele Bassi)
* Ignore weird `/etc/localtime` configurations generated by toolbx (work by Ray Strode)
* Avoid `EINTR` races when closing FDs in `g_spawn_*()` (work by Thomas Haller)
* Bugs fixed.
Overview of changes in GLib 2.74.0, 17-09-2022
==============================================
* Use EPOLL_CLOEXEC by default (Colin Walters)
* Fixed various regression on GRegex as per the PCRE2 porting (Marco Trevisan)
* Fixed various memory leaks (Sebastian Keller, Marco Trevisan)
* Bugs fixed:
- GNOME/gtksourceview-278 Failed to load html.lang after GLib switched to PCRE2
(Marco Trevisan (TreviĂąo))
- GNOME/gtksourceview-283 GRegex-on-PCRE2 regressions (Marco Trevisan)
- -2688 Follow-up from "replace pcre1 with pcre2" (Marco Trevisan (TreviĂąo))
- -2713 static_assert is undefined in C99 (wen Rafferty)
- -2719 GParamSpec constructors should have nullable annotation on nick/blurb
(Andy Holmes)
- -2729 GRegex/GMatchInfo related crashes after upgrade to 2.73.2 (Marco
Trevisan)
- -2733 gio: GVariantBuilder builder leaked in g_document_portal_add_documents
when URI list is empty (Sebastian Keller)
- -2737 gio mount coredumps on prompt exit since 2.73 (Marco Trevisan)
- -2741 Memory errors on GRegex (Marco Trevisan (TreviĂąo))
- GNOME/gtk-4400 gtk_show_uri can't open browser on MSYS2 on Windows (Luca
Bacci)
- !2820 ci: Expose the coverage report and docs as links in the MR's (Marco)
- !2855 gtlscertificate: Update reference to G_TLS_CERTIFICATE_NO_FLAGS
- !2861 mem: Document OOM behavior for allocations (Matthias Clasen)
- !2868 gio-unix: Use EPOLL_CLOEXEC by default (Colin Walters)
- !2873 Fix array-bounds compiler warnings with GCC 12 (Emmanuele Bassi)
- !2874 tests, GDesktopAppInfo: Fix various GVariant leaks (Marco Trevisan)
- !2875 g_strsplit: Use a pre-allocated GArray when max_tokens is provided
(Marco Trevisan)
- !2876 GActionGroup: Fix ownership transfer annotation for query_action()
(Andy Holmes)
- !2879 gioenumtypes: Only define GLIB_DISABLE_DEPRECATION_WARNINGS if needed
(Marco Trevisan)
- !2881 GWin32AppInfo: Add missing g_spawn_close_pid (Luca Bacci)
- !2882 meson: Set install_tag on all tools (Xavier Claessens)
- !2883 ci: Improve style check script (Matthias Clasen)
- !2900 docs: Improve wording in documentation of g_unix_signal_source_new()
(Tom Levy)
Overview of changes in GLib 2.72.3
==================================
* Bugs fixed:
- disposing a non-cancelled inotify GFileMonitor causes deadlocks
- Crash in g_socket_client_enumerator_callback when proxy resolving
- xdgmime update breaks webkit2gtk file:// requests
- Growing memory when using cancellable in g_socket_client_connect_async
- glocalfilemonitor: Avoid file monitor destruction from event thread
- Backport !2707 âcredentials: macos: check for existence of LOCAL_PEERPIDâ to glib-2-72
- Backport !2708 âxdgmime: Fix broken file:// content type lookups for webkitgtkâ to glib-2-72
- Backport !2745 âgsocketclient: Fix still-reachable references to cancellablesâ to glib-2-72
- Backport !2742 âproxyaddressenumerator: set error parameter more thoughtfullyâ to glib-2-72
Overview of changes in GLib 2.72.2
==================================
* Bugs fixed:
- #2640 UWP warnings about extensions and verbs with glib 2.72.1
- !2605 Backport !2449 and !2600 mingw test fixes to glib-2-72
- !2616 Backport !2615 “Meson: Fix gio-windows-2.0 override name” to glib-2-72
- !2629 Backport !2626, !2627 minor leak fixes to glib-2-72
- !2643 Backport !2642 “meson: Check rres.compiled() before calling rres.returncode()” to glib-2-72
- !2644 Backport !2631 “Cast to guintptr instead of subtracting by null” to glib-2-72
- !2662 Backport !2654 “gtask: use g_strconcat() in g_task_return() only if needed” to glib-2-72
- !2691 Backport !2661 “win32appinfo: change log level from warning to debug” to glib-2-72
Overview of changes in GLib 2.72.1
==================================
* Fix building projects which use g_warning_once() with clang++ (#2625)
* Fix `g_file_trash()` not deleting directories via the portals backend (work by Matthias Clasen) (#2629)
* A number more compiler warnings fixed for MSVC (work by Loïc Le Page) (!2495)
* Fix detection of broken `poll()` function on macOS (work by Haruka Ma) (!2571)
* Fix spawning subprocesses from GUI programs on Windows (work by Marc-André Lureau) (!2582)
* Bugs fixed:
- #2312 gdbus-test-codegen tests leak GWeakRef objects
- #2625 g_warning_once fails to build with clang++
- #2629 g_file_trash() does not work on directories inside a sandbox
- !2495 Cleanup warnings split 6
- !2499 Various contenttype-related test fixes on win32
- !2534 gpowerprofilemonitor: Tweak wording of documentation to make more sense
- !2540 Various win32 tests skip & fixes
- !2541 meson: simplify lookup of python command
- !2543 ci: Update the Fedora CI image to Fedora 34
- !2556 gdbusconnection: Use g_strv_contains() rather than a home-grown version
- !2557 gdbusmethodinvocation: Fix a leak on an early return path
- !2558 Move unit test on g_basename() function to glib/tests/fileutils.c
- !2559 Move tests/relation-test.c to glib/tests/relation.c
- !2560 ci: Update Coverity, mingw and Android CI images to Fedora 34
- !2563 glib: Format GDateTime ISO8601 years as %C%y
- !2564 Move test files on slices from tests/ to glib/tests/
- !2566 tests: Add more tests for GResolver response parsing
- !2573 Backport translation fixes and !2571 “meson: Set BROKEN_POLL in macOS builds” to glib-2-72
- !2574 Backport !2565 “Revert "meson: simplify lookup of python command"” to glib-2-72
- !2587 Backport !2583 “Fix trashing sandboxed directories” to glib-2-72
- !2588 Backport !2582 “glib/win32: fix spawn from GUI regression” to glib-2-72
- !2590 Backport !2589 “tests: Don’t exit gdbus-method-invocation test early on connection close” to glib-2-72
- !2593 Backport !2578 “gatomic: Add a C++ variant of g_atomic_int_compare_and_exchange()” to glib-2-72
Overview of changes in GLib 2.72.0
==================================
* Bugs fixed:
- #2620 g_time_zone_new_offset() assertion failure if offset >= 25 hours
- !2538 Various unit test fixes
- !2542 fuzzing: Fix test failure with G_DISABLE_ASSERT
- !2547 gprintf: Fix a memory leak with an invalid format in g_vasprintf()
- !2548 tests: Various fixes to gdbus-auth, gdbus-non-socket, gdbus-connection-flush, spawn-multithreaded tests
- !2551 tests: More flaky test fixes to converter-stream and test-printf
- !2552 gtlsconnection: fix typo in docs
Overview of changes in GLib 2.71.3
==================================
* Fix flaky `GDebugController` tests (!2504)
* Numerous small documentation updates
* Bugs fixed:
- #517 g_utf8_collate returns 0 on U+C5D0 vs U+CD94
- #1929 gdbus-connection-flush: setup_client_cb: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1)
- #2589 Hash sign misinterpreted as heading
- #2598 g_main_loop_run() may leak a GMainLoop reference
- #2609 Clarify documentation for g_log_set_debug_enabled()
- #2611 Unspecified options considered present
- #2612 side effects of ensure_valid_dict result used in g_return_if_fail macro
- #2613 Naked magic literal in gvariant.h
- !1707 Add cache to g_unix_mount_points_get()
- !2424 Remove old test file tests/testglib.c
- !2451 glib: fix buffer overflow in g_canonicalize_filename()
- !2466 Various minor fixes for empty argv handling
- !2480 Various glib/tests/date fixes on win32
- !2485 Various spawn-related test fixes on win32
- !2490 Cleanup warnings split 1
- !2491 Cleanup warnings split 2
- !2492 Cleanup warnings split 3
- !2493 Cleanup warnings split 4
- !2501 glib-compile-resources: Fix a memory leak of the compiler option
- !2502 tests: Merge iochannel-test into io-channel tests in glib directory
- !2503 gbacktrace: Fix a set-but-not-used variable
- !2504 gdebugcontrollerdbus: Track pending tasks with weak refs
- !2505 tests: Stop ignoring test failures on macOS
- !2506 gresource-tool: Fix unused-but-set-variable warn with G_DISABLE_ASSERT
- !2507 ci: Drop custom dependency builds from installed-tests
- !2508 codegen: Reformat parser.py according to black
- !2509 tests: Fix various small memory leaks
- !2510 gdesktopappinfo: Fix a leak when launching URIs over D-Bus
- !2512 doc: Extend a bit G_DECLARE_* documentation example
- !2513 gmain: Expand documentation about GSource priorities a little
- !2514 ci: Various cleanups and moving Android API 21 and FreeBSD 12 to scheduled run
- !2515 gmessages: Fix typo in docs
- !2516 glocalfileinfo: Always define _g_stat_mtim_nsec, etc.
- !2517 meson: Add schemasdir and giomoduledir to gio dependency
- !2518 meson: Set GIO_EXTRA_MODULES in devenv
- !2519 gdebugcontrollerdbus: Mark a variable as G_GNUC_UNUSED
- !2520 tests: Remove threads from mock-resolver/network-address test
- !2523 Add handling of NULL time_t* pointer as argument
- !2524 Revert "meson: Add schemasdir and giomoduledir to gio dependency"
- !2525 meson: Add schemasdir and giomoduledir to gio dependency
- !2526 Remove unused test tests/testgdateparser.c
- !2527 Move tests/type-test.c to glib/tests/types.c
- !2528 meson: Add PYTHONPATH to load GDB helper module
- !2531 gtask: Document that task name is set by g_task_set_source_tag()
Overview of changes in GLib 2.71.2
==================================
* Rework `glib-compile-resources` to output compiler-specific files to reduce
compilation time; see the new `--compiler` option (work by Emmanuele Bassi) (#2492)
* Add a cross-platform API for aligned memory allocations (`g_aligned_alloc()`,
`g_aligned_alloc0()` and `g_aligned_free()`) (work by Emmanuele Bassi) (#2574)
* Deprecate `force_posix_threads` configure option, since it was a workaround
for static linking on Windows (#2592)
* Add `GBindingGroup` and `GSignalGroup` APIs (work by Christian Hergert and
Garrett Regier) (!2235)
* Implement FD remapping support for `g_spawn_async_with_pipes_and_fds()` on
Windows (work by Marc-André Lureau) (!2458)
* Add an async file move API, `g_file_move_async()` (work by Lucas Schwiderski) (!2469)
* Bugs fixed:
- #1190 gapplication: Add an org.gtk.Debugging interface
- #2329 GApplication CLI parsing of DOUBLE type failure
- #2492 glib-compile-resources contains resource data twice and creates large output files
- #2563 g_test_build_filename and friends not safe to call after g_test_run() has finished
- #2574 Add API for aligned allocations
- #2592 Consider deprecating 'force_posix_threads' build option
- #2601 Missing <para> tag in generated files
- !2235 Add GBindingGroup and GSignalGroup
- !2378 gtestutils: Mention the unit used for the test timer
- !2404 File tests
- !2433 Remove tests/testgdate.c from tests
- !2458 Implement fd passing for Windows spawn
- !2464 Amend g_bus_get* documentation regarding private connection
- !2465 gi: expose some files as variable for gobject-introspection
- !2467 ci: Add link to Coverage output at end of coverage job
- !2468 gfile: resolve_relative_path isn't nullable
- !2469 Implement async file movement
- !2471 Fix test on the date format for FreeBSD and MacOS X.
- !2472 Fix test date (again)...
- !2473 Fix glib/test/date.c for FreeBSD/OpenBSD/MacOS X
- !2476 Add G_UNICODE_SCRIPT_MATH to GUnicodeScript
- !2477 Improve coverage of two digit years in gdate tests
- !2481 Fix glib/tests/fileutils on win32
- !2482 Fix unit test on date format '%Z' which is too versatile to be trustable
- !2483 Fix glib/tests/gdatetime on win32
- !2484 tests: Use g_test_skip() to skip a test on Windows
- !2487 gconstructor.h: Visual Studio: Only include gslist.h if needed
- !2488 Fix some problems with g_aligned_alloc() tests
Overview of changes in GLib 2.71.1
==================================
* Basic support for static builds on Windows (work by Loïc Le Page,
Marc-André Lureau, with contributions from Xavier Claessens, Nirbheek Chauhan,
Charlie Barto, Luca Bacci, Amos Wenger) (#692, #2585, !2442)
* Add `GDebugController` and a D-Bus implementation which exposes whether
debug output is enabled in a process using the `org.gtk.Debugging` D-Bus
interface (work by Philip Withnall) (#1190)
* Support for `AF_UNIX` sockets on Windows 10 (and later) (work by Marc-André Lureau) (#2487)
* Several important fixes to GDBus message and GVariant parsing of invalid data (work by Sebastian Wilhelmi) (#2557, #2572)
* Fix potential data loss due to missing fsync when saving files on btrfs (work by Sebastian Keller) (!2425)
* Fix potential buffer overflows in `garray.c` for very large `GArray`s and `GPtrArray`s (work by Tobias Stoeckmann) (#2578)
* Fix FDs in gspawn not being closed and causing process hangs if `close_range()` fails unexpectedly (work by Dan Nicholson) (#2580)
* Fix `g_find_program_in_path()` not returning an absolute path if `$PATH` is relative (work by Christoph Niethammer) (#2586)
* Add support for loading PKCS#12 encrypted files in `GTlsCertificate` (work by Patrick Griffis) (!2239)
* A number of improvements to unit tests (work by Emmanuel Fleury, Charlie Barto) (!2399, !2400, !2402, !2403, !2428, !2431, !2432, !2434)
* Support `LOCAL_PEERPID` on macOS, giving partial support for PIDs in
`GCredentials` on that platform (work by Ignacio Casal Quinteiro) (!2362)
* Add `g_get_user_state_dir()` to support `XDG_STATE_HOME` (work by Sophie Herold) (!2395)
* Add `g_hash_table_new_similar()` to copy a hash table and its hash/equal functions without its data (work by Jonas Ådahl) (!2405)
* Support D-Bus client authentication with `EXTERNAL` on Windows (work by Marc-André Lureau) (!2429)
* Add a reStructuredText documentation generator to `gdbus-codegen` (work by Emmanuele Bassi) (!2448)
* Add a Windows implementation of `GMemoryMonitor` (work by Marc-André Lureau) (!2452)
* Bugs fixed:
- #692 meta: Fix static build on Windows
- #1190 gapplication: Add an org.gtk.Debugging interface
- #2487 Add support for native unix domain sockets on WIN32 to GLib.Socket and related classes
- #2550 possible GDateTime issue with localtime on Illumos/Solaris
- #2557 Arrays of zero-element tuples with non-zero length lead to infinite loops in g_dbus_message_new_from_blob
- #2559 2.71.0: compile and link time warnings
- #2560 Link error xdgmime.c: unresolved external symbol S_ISREG when building with VS2022
- #2564 Hangul Jamo Extended-B should be 0-width
- #2565 Build glib-2.71.0 failed in Windows using MSYS2-MINGW64
- #2571 Cross build error "undefined reference to `_g_binary_test1_resource_data'" when building tests for Windows on openSUSE Leap
- #2572 Check for GVariant recursion depth before recursing
- #2578 buffer overflows in garray.c
- #2579 Outdated paths in INSTALL.in
- #2580 gspawn doesn't set CLOEXEC if close_range fails unexpectedly
- #2582 glib 2.71.0 muslc - build error missing sentinel in function call
- #2585 Static link issue on Windows due to resource files being linked in twice
- #2586 g_find_program_in_path not returning an absolute path
- !2239 gtlscertificate: Add ability to load PKCS#12 encrypted files
- !2362 credentials: support the local peerpid on macos
- !2384 meson: Fix linking with static library in Windows
- !2395 utils: Add XDG_STATE_HOME support
- !2399 Move tests/env-test.c into glib/tests/environment.c
- !2400 Prevent gtest tests from popping up dialog boxes
- !2402 Improving glib/tests/environment.c
- !2403 Improve test coverage of glib/tests/asyncqueue.c
- !2405 ghash: Add g_hash_table_new_similar
- !2407 tests: Fix environment test on FreeBSD
- !2411 annotate `g_content_type_guess` parameter as filename
- !2412 paramspec: fix unref annotation
- !2413 Use meson dependency to link against apple framework
- !2414 docs: Improve docs for gdbusutils.c
- !2417 gtestutils: Fix minor typos in the g_test_get_filename() docs
- !2423 Make clear in doc that signals are emitted synchroniously
- !2425 gfileutils: Remove outdated BTRFS fsync optimization from set_contents
- !2426 gdbus-codegen: Fix a typo in a comment
- !2428 Merge tests/gobject/gvalue-test.c with gobject/tests/value.c
- !2429 gdbus: make client work with EXTERNAL on Windows
- !2431 Merge tests/gobject/paramspec-test.c into gobject/tests/param.c
- !2432 Merge test/unicode-caseconv.c into glib/tests/unicode.c
- !2434 Remove a disabled test case that was covered by glib/tests/collate.c
- !2440 Improve g_ascii_formatd docs and preconditions
- !2441 Reduce the amount of compile-time warnings
- !2442 Fix tests with static build on Windows
- !2447 giowin32: use gint64 and _lseeki64
- !2448 Add reStructuredText documentation generator for gdbus-codegen
- !2452 gio/win32: add GMemoryMonitorWin32
- !2453 Add `(array length)` annotation to `g_tls_certificate_new_from_pkcs12()`
- !2454 gdbusmessage, gvariant and garray fixes
- !2456 tests: Pass --internal and -z noexecstack to glib-compile-resources tests
- !2459 gio: add missing zlib dependency in gio-windows-2.0.pc
- !2461 Fix memory leak in gio/gdbusauthmechanismsha1.c
- !2463 Revert "Merge branch 'fix-windows-pc' into 'main'"
Overview of changes in GLib 2.71.0
==================================
* Fix network changes not being signalled from NetworkManager (work by
Julian Andres Klode) (#2505)
* Fix build when building with --fatal-meson-warnings (work by Eli Schwartz) (!2304)
* Fix use of the default log writer with journald namespaces (diagnosis by Ilya Basin) (#2530)
* Fix hang in `dbus-daemon` under `GTestDBus` when `G_MESSAGES_DEBUG=all` is set (work by Marco Trevisan) (#2537)
* Speed up `g_canonicalize_filename()` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi) (#2541)
* Fix URI for pcre subproject as it’s moved upstream (work by Albert Astals Cid) (!2324)
* Fix storing GSettings dictionaries on macOS (work by Maurice) (#2527)
* Speed up ‘remove dot segments’ algorithm in `GUri` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi) (#2526)
* Fix infinite loops in D-Bus message parsing for truncated inputs (work by Sebastian Wilhelmi) (#2528)
* Improve correctness of version information returned by `g_get_os_info()` for Windows 10/Server 2019+ (work by Chun-wei Fan) (#2443)
* Various fixes to GWeakRef cleanup (#865, #2390) and toggle refs (#2394) (work by Marco Trevisan)
* Add `G_DBUS_PROXY_FLAGS_NO_MATCH_RULE` flag for disabling match rules when creating a `GDBusProxy` (#1109)
* Fix FD remapping in `g_spawn_async_with_pipes_and_fds()` with certain values of target FDs (#2503, #2506) (work by Michael Catanzaro)
* Make `GDBusProxy::g-signal` signal detailed with D-Bus signal names (#2536) (work by Aleksandr Mezin)
* Emit `launched` signal for D-Bus activation of apps with `GDesktopAppInfo` (!2227) (work by Guido Günther)
* Fix IDs of `GDesktopAppInfo`s which are constructed from a `.desktop` file in a subdirectory (!2283) (work by Ivalyo Dimitrov)
* Add `--interactive` option to `gdbus call` (!2329)
* Add `G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP` to `GSubprocess` (!2333) (work by Hristo Venev)
* Bugs fixed:
- #475 Add g_alloca0() and g_newa0()
- #847 g_set_prgname() should be thread-safe
- #865 GWeakRefs not cleared by g_object_run_dispose()
- #1109 [PATCH] GDBusProxy: add G_DBUS_PROXY_FLAGS_NO_MATCH_RULE flag
- #1231 gobject declare macros cause alignment warnings on armhf/armhf/mipsel
- #1331 GArray with 10 million items overflows index arithmetic
- #1735 Get back to a -werror build
- #1781 Sort output of gsettings command-line tool
- #2310 contenttype test leaks xdg-mime internal data
- #2390 GWeakRef's aren't cleared again on finalization (and not fully thread-safe)
- #2394 Toggle refs notification may not handle multiple threads correctly
- #2400 Use-after-free in invoke_set_property_in_idle_cb()
- #2401 GDBus runtime warning from remove_interfaces()
- #2404 GTask: clarify that GTask assumes are running mainloop
- #2426 GSettings delayed apply generates runtime warnings
- #2443 Add Windows 11 support to get_windows_version()
- #2468 GSequence pessimizes itself and slows down
- #2471 g_output_stream_write_all_async prints error when count == 0 and content == NULL
- #2488 Unix password unit test fails on FreeBSD 13
- #2489 Add a (diagnostic) warning for finalized objects with floating refs
- #2490 Upgrade to Unicode Character Database 14.0
- #2496 Wrong parameter type for g_simple_proxy_resolver_set_ignore_hosts
- #2498 GIR: Remove non-existing IOModule methods `load`, `unload`
- #2500 Able to export object manager and object on root path, but not other paths
- #2503 gspawn.c may clobber target fds
- #2505 g_network_monitor_nm never updates on connection change (listens for signal on wrong dbus interface)
- #2506 gspawn.c fails to close child_err_report_fd if it is duped to avoid conflation with one of the target_fds
- #2507 Strange behavior of GFileEnumerator with GVfs locations
- #2514 test suite failure in glib/tests/gdatetime.c if German locale de_DE.ISO-8859-1 is available
- #2518 Misleading message when privileged program starts G_BUS_TYPE_SESSION
- #2520 g_date_new_ functions return NULL on invalid input
- #2523 MacOS generates warnings for g_size_checked_mul()
- #2526 fuzz_uri_parse failure
- #2527 Error storing dictionary with string keys as GSettings on macOS
- #2528 g_dbus_message_new_from_blob goes into infinite loop for certain inputs
- #2529 load_user_special_dirs returns NULL in certain cases
- #2530 g_log_writer_is_journald fails if a Journal Namespace is used
- #2536 GDBusProxy: make g-signal detailed
- #2537 GTestDBus dbus daemon causes child process to hang when using verbose output
- #2541 g_canonicalize_filename should work in linear time complexity
- #2553 Consider not depending on strtoull_l and strtoll_l as much
- !1960 Add g_main_context_new_with_flags() and ownerless polling option
- !1968 gspawn: Implement fd remapping for posix_spawn codepath, and fix file descriptor conflation issues
- !1991 Keyfile parsing performance improvements
- !2029 Updating xdgmime
- !2064 gobject: Cleanup GWeakRef locations on object finalization
- !2114 Coerce type cast to void* because it causes compiler warnings
- !2191 docs: Add .editorconfig file
- !2214 Document potential footgun with GTlsCertificateFlags and deprecate certain usages
- !2223 Better detection of the cleanup attribute.
- !2227 gdesktopappinfo: Emit "launched" signal for D-Bus activation too
- !2242 gsettings: Add various missing (nullable) or (not nullable) annotations
- !2244 gutils: Avoid segfault in g_get_user_database_entry
- !2245 gdesktopappinfo: Do not call xterm when it does not exist, inform the caller the launch failed
- !2246 gobject: Document it’s unsafe to call g_object_ref() from GWeakNotify
- !2249 Add version macros for GLib 2.72 and bump version to 2.71.0
- !2251 GString: Bump minimum size
- !2254 Small optimization for g_object_set
- !2255 gobject: Clarify behaviour of adding weak refs during disposal
- !2257 Fix documentation for g_dbus_object_manager_get_object().
- !2260 GWin32AppInfo: Do not assert about successful open'ing of registry keys
- !2261 Provide built DLLs as Gitlab-CI artifacts
- !2266 fix uninitial variable
- !2273 Fix more (Windows) warnings
- !2277 Revert "Don't compile some unused functions in gio/xdgmime/"
- !2283 GDesktopAppInfo: Try to always correctly set id
- !2284 update the proxy-libintl subproject to the latest release
- !2285 fix issues found by svace static code analyzer
- !2286 meson: fix warnings for extract_all_objects function
- !2287 ci: Update CI images to latest stable Debian and Fedora, bump Meson dependency to 0.52
- !2288 Update g_source_remove doc comment: the function doesn't always return TRUE
- !2289 Update g_source_remove documentation for the returned value
- !2290 mkdir path specified by XDG_RUNTIME_DIR
- !2292 Fix cast from pointer to integer of different size warning in gio/gwin32appinfo.c
- !2293 glib-private: Fix MSVC build with AddressSanitizer
- !2294 Fix windows warnings
- !2295 gutf8: Document that out args from g_utf16_to_utf8() are non-negative
- !2303 Fix more windows warnings
- !2305 gio: document GFile API when relative path is absolute
- !2306 gunixmounts: Drop references to pamconsole mount option
- !2308 gthread-win32: Remove an unnecessary volatile qualifier
- !2309 Rename libpcre.wrap to pcre.wrap
- !2310 tests: Fix a typo in a test message in gdatetime.c
- !2311 Fix always true comparison warning in glib/garray.c
- !2319 docs: Fix the GListModel description
- !2323 Fix final warnings in Windows code
- !2324 Fix link to pcre-8.37.tar.bz2
- !2326 Improve some documentation related to GTlsDatabase
- !2328 gutf8: add string length check when ending character offset is -1
- !2329 gdbus: Add --interactive option to `gdbus call`
- !2332 Changed gendered terms to be gender-neutral
- !2333 gsubprocess: Add G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP
- !2336 tests: Drop arbitrary and flaky waits from actions tests
- !2339 ci: Bump Meson version to 0.60.1 on macOS
- !2341 tests: Wait for gdbus-testserver to die when killing it
- !2342 tests: Reformat mkenums.py slightly to make run-black.sh happy
- !2345 gutils: Disable some dead code on macOS
- !2347 Removing tests/asyncqueue-test.c from tests/
- !2348 gio/tests/codegen.py: bump timeout to 100 seconds
- !2349 Annotate `g_getenv()` and `g_environ_getenv()` return value as `nullable`
- !2352 tests: Fix a flaky wait in converter-stream
- !2353 Address some oddities around GResolver::reload
- !2357 ci: Upgrade to clang-format-11 from clang-format-7
- !2360 meson: specify when commands need to succeed in run_command
- !2364 tests: Allow `objcopy --help` to fail, because it fails on FreeBSD
- !2365 Add vfunc checks in gappinfo.c
- !2368 De-duplicate g_nearest_pow() implementation and add some overflow protections to g_ptr_array_maybe_expand(), g_string_maybe_expand() and g_string_chunk_insert_len()
- !2370 gqsort: Move test to glib/tests/
- !2371 Freeze notification during object destruction
- !2372 docs: Improve GVariant docs
- !2373 glib.supp: Suppress one-time allocation in g_get_home_dir()
- !2376 GSource: move test to glib/tests/
- !2379 Merging tests/bit-test.c into glib/tests/utils.c
- !2381 tests: Test the function forms of g_bit_*() APIs too
- !2382 gfileutils: Correctly reset start value when canonicalising paths
- !2385 gfileutils: Fix transfer annotation and whitespace issues
- !2386 docs: Add API documentation links to the README
- !2387 docs: Update the README a little
- !2390 Merging tests/child-test.c into glib/tests/spawn-multithreaded.c
- !2391 Removing redundant cxx test tests/cxx-test.cpp
- !2392 Move tests/completion-test.c to glib/tests/completion.c
- !2393 Removing unnecessary test on gdatetime.c
- !2396 fuzzing: Add a fuzz test for parsing DNS records
- !2397 Moving tests/dirname-test.c to glib/tests/fileutils.c
- !2398 fix /list/position test
Overview of changes in GLib 2.70.5
==================================
* Bugs fixed:
- g_time_zone_new_offset() assertion failure if offset >= 25 hours
- glib: fix buffer overflow in g_canonicalize_filename()
- gtimezone: Fix assertion failure when called with a huge offset
* Translation updates:
- Catalan
- German
- Hungarian
- Lithuanian
- Romanian
- Serbian
- Turkish
Overview of changes in GLib 2.70.4
==================================
* Bugs fixed:
- Backport !2461 “Fix memory leak in gio/gdbusauthmechanismsha1.c” to glib-2-70
* Translation updates:
- Czech
- French
- Indonesian
- Japanese
- Polish
- Portuguese (Brazil)
- Russian
- Slovenian
- Spanish
- Swedish
- Ukrainian
Overview of changes in GLib 2.70.3
==================================
* Several important fixes to FD handling in gspawn
* Several important fixes to GDBus message and GVariant parsing of invalid data
* Fix potential data loss due to missing fsync when saving files on btrfs
* Bugs fixed:
- gspawn.c may clobber target fds
- gspawn.c fails to close child_err_report_fd if it is duped to avoid conflation with one of the target_fds
- Arrays of zero-element tuples with non-zero length lead to infinite loops in g_dbus_message_new_from_blob
- Check for GVariant recursion depth before recursing
- gspawn doesn't set CLOEXEC if close_range fails unexpectedly
- Backport !1968 “gspawn: Fix file descriptor conflation issues” to glib-2-70
- Backport !2412 “paramspec: fix unref annotation” to glib-2-70
- Backport !2425 “gfileutils: Remove outdated BTRFS fsync optimization from set_contents” to glib-2-70
- Backport !2435 “gspawn: Report errors with closing file descriptors between fork/exec” to glib-2-70
- Backport !2454 gdbusmessage and gvariant fixes to glib-2-70
* Translation updates:
- Czech
- Indonesian
- Italian
- Lithuanian
- Polish
- Portuguese
- Romanian
- Serbian
- Slovenian
- Spanish
- Swedish
- Turkish
- Ukrainian
Overview of changes in GLib 2.70.2
==================================
* Fix use of the default log writer with journald namespaces (diagnosis by Ilya Basin)
* Fix hang in `dbus-daemon` under `GTestDBus` when `G_MESSAGES_DEBUG=all` is set (work by Marco Trevisan)
* Speed up `g_canonicalize_filename()` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi)
* Fix URI for pcre subproject as itâs moved upstream (work by Albert Astals Cid)
* Fix storing GSettings dictionaries on macOS (work by Maurice)
* Speed up âremove dot segmentsâ algorithm in `GUri` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi)
* Fix infinite loops in D-Bus message parsing for truncated inputs (work by Sebastian Wilhelmi)
* Improve correctness of version information returned by `g_get_os_info()` for Windows 10/Server 2019+ (work by Chun-wei Fan)
* Bugs fixed:
- Use-after-free in invoke_set_property_in_idle_cb()
- GSettings delayed apply generates runtime warnings
- g_dbus_message_new_from_blob goes into infinite loop for certain inputs
- g_log_writer_is_journald fails if a Journal Namespace is used
- GTestDBus dbus daemon causes child process to hang when using verbose output
- g_canonicalize_filename should work in linear time complexity
- Backport !2265 âgdbusconnection: Fix race between method calls and object unregistrationâ to glib-2-70
- Backport !2260 âGWin32AppInfo: Remove assertion on the opened registry keyâ to glib-2-70
- Backport !2308 âgthread-win32: Remove an unnecessary volatile qualifierâ to glib-2-70
- Backport !2309 âRename libpcre.wrap to pcre.wrapâ to glib-2-70
- Backport !2161 âgdelayedsettingsbackend: Fix applying after calling g_settings_reset()â to glib-2-70
- Backport !2324 âFix link to pcre-8.37.tar.bz2â to glib-2-70
- Backport !2325 âFix GSettings dict error macOSâ to glib-2-70
- Backport !2338 âgmessages: Support namespaced journalsâ to glib-2-70
- Backport !2327 âguri: Improve performance of remove_dot_segments() algorithmâ to glib-2-70
- Backport !2355 âgdbusmessage: Add more bounds checking when parsing D-Bus messagesâ to glib-2-70
- gutils.c: Improve g_get_os_info() for Windows 10/Server 2019+
- Backport !2354 âgtestdbus: Print the dbus address on a specific FD intead of stdoutâ to glib-2-70
- Backport !2360 âmeson: specify when commands need to succeed in run_commandâ to glib-2-70
- Backport !2364 âtests: Allow `objcopy --help` to fail, because it fails on FreeBSDâ to glib-2-70
- Backport !2374 âgfileutils: Improve performance of g_canonicalize_filename()â to glib-2-70
- Backport !2382 âgfileutils: Correctly reset start value when canonicalising pathsâ to glib-2-70
* Translation updates:
- Croatian
- Italian
- Occitan (post 1500)
- Polish
- Portuguese
- Portuguese (Brazil)
- Russian
- Swedish
- Ukrainian
Overview of changes in GLib 2.70.1
==================================
* Fix network changes not being signalled from NetworkManager (work by
Julian Andres Klode)
* Fix build when building with --fatal-meson-warnings (work by Eli Schwartz) (!2304)
* Bugs fixed:
- g_network_monitor_nm never updates on connection change (listens for signal on wrong dbus interface)
- !2245 gdesktopappinfo: Do not call xterm when it does not exist, inform the caller the launch failed
- !2253 Backport !2251 âGString: Bump minimum sizeâ to glib-2-70
- !2256 Backport !2254 âSmall optimization for g_object_setâ to glib-2-70
- !2259 Backport !2257 âFix documentation for g_dbus_object_manager_get_object().â to glib-2-70
- !2262 Backport !2244 âgutils: Avoid segfault in g_get_user_database_entryâ to glib-2-70
- !2271 Backport !2266 âfix uninitial variableâ to glib-2-70
- !2276 Backport !2274 âDo not try to access errno after calling getpwnam_r.â to glib-2-70
- !2300 Backport !2285 âfix issues found by svace static code analyzerâ to glib-2-70
- !2301 Backport !2293 âglib-private: Fix MSVC build with AddressSanitizerâ to glib-2-70
- !2302 Backport !2291 âgnetworkmonitornm: Stop using removed PropertiesChanged signalâ to glib-2-70
- !2304 meson: fix warnings for extract_all_objects function
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Could not be committed due to merge conflict:
devel/py-traitlets/distinfo
The following distfiles were unfetchable (note: some may be only fetched
conditionally):
./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
Overview of changes in GLib 2.70.0
==================================
* Bugs fixed:
- !2248 ci: Replace FreeBSD 11 with FreeBSD 13
* Translation updates:
- Croatian
- Danish
- English (United Kingdom)
- French
- German
- Hungarian
- Polish
- Swedish
- Turkish
Overview of changes in GLib 2.69.3
==================================
* Bugs fixed:
- #2425 g_settings_schema_key_range_check() misbehaves for int versus bool
- #2472 Compiling anything with GCC <4.6 spews deprecation warnings
- #2477 `g_invoke_closure` bindings API break.
- #2481 GPowerProfileMonitorPortal does not notice initial power-saver-enabled status
- !2219 doc: Explicitly said, that no null term. is needed
- !2238 ci: Use C.UTF-8 locale on FreeBSD 12
- !2240 gio: Fix conditions in memory-monitor test
* Translation updates:
- Basque
- Catalan
- Chinese (China)
- Galician
- Kazakh
- Korean
- Lithuanian
- Romanian
Overview of changes in GLib 2.69.2
==================================
* The `DBUS_SESSION_BUS_ADDRESS` environment variable is once more not used if
the process is `AT_SECURE` (setuid/setgid/setcap); this change was previously
applied and then reverted because it broke gnome-keyring (#2316)
* Add `g_test_fail_printf()`, `g_test_skip_printf()`,
`g_test_incomplete_printf()` helper functions for printing messages when tests
end prematurely (work by Simon McVittie) (!2215)
* Add portal implementation of `GPowerProfileMonitor` (work by
Bastien Nocera) (!2222)
* Bugs fixed:
- #2316 Re-harden DBUS_SESSION_BUS_ADDRESS for AT_SECURE processes in GLib 2.70
- #2343 Document explicitly refcount mgmt of source-object during GAsyncReadyCallbacks
- #2454 Read past the end of buffer in g_win32_package_parser_enum_packages
- #2456 Frequent test failure on FreeBSD: glib/tests/thread-pool.c:197:test_thread_pool_full: 'free_func_called' should be TRUE
- !2157 tests: Add missing wakeup calls to gdbus-names test
- !2165 docs: Mention the stable/unstable support version in README.md
- !2211 Improve documentation of various TLS stuff
- !2215 gtestutils: Add more convenience functions
- !2216 tests: Fix error handling when testing gtestutils
- !2222 gio: Add portal version of GPowerProfileMonitor
- !2224 Docs: Mention that G_VA_COPY() must be followed by `va_end()`
- !2225 build: Fix implicit declaration of function errors
- !2226 Annotate the GString constructors
* Translation updates:
- Czech
- Hebrew
- Slovenian
- Spanish
- Swedish
Overview of changes in GLib 2.69.1
==================================
* Support categories in desktop notifications (`GNotification`)
(work by Guido Günther) (#2446)
* Add `GPowerProfileMonitor` for monitoring when to use less power (due to being
on battery power, electricity being expensive or high-carbon, etc.)
(work by Patrick Griffis, Bastien Nocera) (#2444)
* Allow static names to be set for `GSource`s to avoid unnecessary string copies
(work by Matthias Clasen) (!2196)
* Bugs fixed:
- #203 API: need g_module_open() variant with GError
- #2058 win32: GPrivate can leak some objects
- #2321 Add a GTypeFlag for final types
- #2429 safe_fdwalk/safe_closefrom for Solaris 11.3/11.4
- #2439 gio trash doesn't recognize existing trash directory in non-fs-root mount
- #2446 Support `categories` for notifications
- #2452 g_string_replace() loops 2**32 times when replacing empty string
- !2177 gio/tests/g-file-info: don't assume million-in-one events don't happen
- !2178 Clarify GValue documentation
- !2179 Update GValue doc: How to use GBoxed with GValue
- !2180 correctly use 3 parameters for close_range
- !2181 gclosure: Fix the invoke() return_value annotation
- !2182 glocalfileinfo: Fix usec/nsec confusion with filetimes on Windows
- !2184 gspawn: Use CLOSE_RANGE_CLOEXEC if available
- !2188 g_boxed_type_register_static, G_DEFINE_BOXED_TYPE: added correlating information
- !2192 Fix more warnings
- !2193 glib.supp: Expand match kinds for g_get_language_names() suppressions
- !2194 Add GPowerProfileMonitor
- !2195 Fix some test suite memory leaks
- !2196 mainloop: Add g_source_set_static_name
- !2197 GResource compiler: Prefix static [con|de]strutors with c_name
- !2198 Port internal uses to use g_source_set_static_name()
- !2200 Fix doc stanzas for GDataInputStream properties
- !2201 Fix a Unicode typo
- !2202 Document the stance on ID-based mainloop APIs
- !2204 tests: Add a test for Unicode normalization
- !2205 GWin32RegistryKey / GWin32AppInfo registry watch fixes
- !2206 Adapt documentation to gi-docgen
- !2210 GWin32AppInfo: Fix missing initialization
* Translation updates:
- Indonesian
- Portuguese
- Portuguese (Brazil)
- Russian
- Ukrainian
Overview of changes in GLib 2.69.0
==================================
* Fix a crash in `GKeyFile` when parsing a file which contains translations
using a `GKeyFile` instance which has loaded another file previously (#2361)
* Pin GIO DLL in memory on Windows (!2016)
* Fix building third-party projects against GLib on CentOS 7 (work by
Ignacio Casal Quinteiro) (#2387)
* Add `g_thread_pool_new_full()` API to allow queued `GThreadPool` data to be
freed if the pool is freed early (work by Nitin Wartkar) (#121)
* Ensure `dlerror()` is used with locking as it’s not thread-safe in some libc
implementations (#399)
* Add `g_dbus_is_error_name()` and `g_dbus_is_interface_name()` convenience
functions (work by Nitin Wartkar) (#402)
* Drop internal libpcre copy in favour of a subproject from wrapdb (#962, #642)
* Add `g_prefix_error_literal()` helper function (work by Emmanuel Fleury,
building on work by Dan Williams) (#663)
* Add `g_bytes_get_region()` to get data from a `GBytes` with range checks
(work by Nitin Wartkar, building on work by Allison Karlitskaya) (#1098)
* Add `g_object_take_ref()` to sink a floating ref (work by Nitin Wartkar,
building on work by Allison Karlitskaya) (#1112)
* Optimise grefcount atomic operations (work by Nishal Kulkarni) (#1583)
* Fix resolving child GSettings schemas from the parent’s schema source (work
by Christian Persch) (#1884)
* Fix `g_date_time_format()` return value encoding if `LC_TIME` is not a UTF-8
locale but other locale settings are (work by Frederic Martinsons) (#2055)
* Set app name in freedesktop.org notifications with `GNotification` (work
by André Apitzsch) (#2069)
* Significantly improve retrieval of mount data on Windows (work by LRN based
on initial analysis by Jehan Pagès) (#2096)
* Add `g_file_info_get_(access|creation)_date_time()` accessors (work
by Abanoub Ghadban) (#2281)
* Always apply the remove_dot_segments algorithm to URIs in `g_uri_parse()`;
previously it was only applied to relative URIs (work
by Carlos Garcia Campos) (#2342)
* Rename git `master` branch to `main` (#2348)
* Various macro and version check cleanup (work by Gaël Bonithon,
Robin Verdenal-Tallieux, Nishal Kulkarni) (#2376, #2388, #2389)
* Add a `GTlsConnectionClass.get_negotiated_protocol` vfunc so that
`g_tls_connection_get_negotiated_protocol()` can be made thread-safe
(work by Michael Catanzaro) (#2393)
* Improve guess about whether a Windows process is a console process
(work by Princeton Ferro with input from LRN) (!1662)
* Add `g_steal_fd()` function (work by Simon McVittie) (!1966)
* Add `g_spawn_check_wait_status()` and distinguish more carefully between
wait status and exit status in the `GSpawn` API (work by Simon McVittie) (!1967)
* Document GLib’s security policy; see
https://gitlab.gnome.org/GNOME/glib/-/blob/main/SECURITY.md (!1985)
* Add `g_tree_remove_all()` (work by Lighto-Ku) (!1986)
* Simplify exception handling on Windows to eliminate risk of it failing due
to prior heap corruption (work by LRN) (!2031)
* Fix handling EOF when reading from SOCKS5 proxy stream (work
by Benjamin Berg) (!2032)
* Unset the registered state of a `GApplication` after it has shut down (work
by Marco Trevisan) (!2056)
* Support `GPattern` as a boxed type (work by Marco Trevisan) (!2066)
* Add `g_tls_connection_get_protocol_version()` and
`g_tls_connection_get_ciphersuite_name()` to get TLS connection information
(work by Michael Catanzaro) (!2077)
* Make TLS private key properties readable in `GTlsCertificate` (work
by Michael Catanzaro) (!2087)
* Fix detection of static libintl when building on macOS (work
by Jonas Hahnfeld) (!2109)
* Add `g_strv_builder_addv()` and `g_strv_builder_add_many()` to the
`GStrvBuilder` API (work by Alexandros Theodotou) (!2112)
* Add `not-valid-before`, `not-valid-after`, `subject-name`, `issuer-name`,
`dns-names`, `ip-addresses` properties to `GTlsCertificate`
(work by Ross Wollman) (!2113, !2142)
* Add PKCS#11 flags to `GTlsPasswordFlags` (work by Patrick Griffis) (!2126)
* Bugs fixed:
- #121 GThreadPool and the ability to free data waiting to be handled
- #229 g_match_info_fetch_named not return empty string as expected
- #310 ref doc doesn't talk about "helper getters" optimization in g_file_info.c
- #399 dlerror() not thread-safe in all libc, making gmodule-dl.c's fetch_dlerror fail sometimes
- #402 please consider: #define g_dbus_is_error_name(x) g_dbus_is_interface_name (x)
- #626 Add documentation example for GArray and g_array_set_clear_func()
- #642 update to pcre 8.35+
- #663 [patch] add g_prefix_error_literal()
- #793 Potentially confusing error message when object doesn't exist
- #817 gobject: Allow passing %NULL for @data in g_object_remove_toggle_ref
- #962 drop embedded pcre copy
- #1036 gdbusproxy stops tracking if dbus service restarts
- #1098 GBytes: add range-checked pointer getter
- #1112 GObject: add g_object_take_ref()
- #1583 Optimise gatomicrefcount operations
- #1864 Somewhat misleading documentation of GSourceFuncs
- #1884 `g_settings_get_child` not compatible with `g_settings_schema_source_new_from_directory`
- #2011 Add additional unit tests for D-Bus name watching
- #2055 g_date_time_format() does not return UTF-8 if LC_TIME is not UTF8 but other locale settings are UTF-8
- #2069 FreedesktopNotification fails to set app_name
- #2096 SHGetFileInfoW() is not reliable (time-wise)
- #2281 Add g_file_info_get_(access|creation)_date_time()
- #2300 Crash on Windows MSVC build around gio
- #2311 testfilemonitor test leaks ip_watched_file_t struct
- #2340 GIO tests fail to build with clang-cl
- #2342 g_uri_parse doesn't apply the remove_dot_segments algorithm to the path
- #2348 Investigate renaming master git branch to main
- #2352 RUN_FIRST | RUN_CLEANUP signals with a default handler ignore return values from user handlers
- #2359 GLib 2.68.0: gio-querymodules segfaults on Windows
- #2361 g_key_file_load_from_file segfaults on "Key[*]="like lines
- #2363 g_newa() doesn’t check for multiplication overflow
- #2368 g_task_run_in_thread () limits are not clear
- #2369 glocalfile: Add native exfat magic number to filesystem list
- #2376 GLIB_VERSION_MAX_ALLOWED < 2.60 does not warn when using G_GNUC_FALLTHROUGH
- #2387 json-glib does not build with glib 2.68.1
- #2388 Pixman compilation error due to glib
- #2389 Use G_GNUC_CHECK_VERSION to check the GNUC version
- #2393 g_tls_connection_get_negotiated_protocol() is not threadsafe
- #2397 Slow to list device in windows
- #2399 Change spelling of ‘serialise’ to ‘serialize’ in documentation
- #2405 Mention that GNotification requires an installed .desktop file to work
- #2409 Project crashes when executing g_application_mark_busy
- #2414 Devhelp: Glib Reference Manual/Glib Overview/Running Glib Applications formatting issue.
- #2416 certificate: g_tls_certificate_new_from_pem invalid read on non null terminated data
- #2417 GFile: `g_file_replace_contents()` reports `G_IO_ERROR_WRONG_ETAG` when saving from a symlink
- #2418 gatomic: __atomic functions are called for CV-qualified output variables
- #2423 resources.c:656:test_resource_binary_linked: 'found' should be TRUE
- !1514 gbookmarkfile: Don't crash if we're not visited
- !1662 gspawn-win32: improve guess whether process is console process
- !1812 docs: Expand documentation about D-Bus GUIDs
- !1957 Fix more warnings
- !1965 gversionmacros: Add version macros for GLib 2.70
- !1966 Add g_steal_fd() to API
- !1967 Distinguish more clearly between wait status and exit status
- !1969 glib_typeof: Move definition to its own header
- !1985 docs: Add a policy for handling security issues
- !1986 make g_tree_remove_all public
- !1996 Include glibconfig.h to get the G_OS_UNIX token
- !1998 gpollableinputstream: Add missing annotation
- !1999 goption.c: Simplfy parse_short_option()
- !2004 Some improvements to clang-cl builds
- !2005 introspection: Remove 'caller-allocates' from POD types
- !2006 fuzzing: Add fuzz tests for functions which parse paths
- !2008 tests: Deactivate tls-bindings test suite for windows
- !2011 docs: Fix example program link
- !2012 docs: Replace git.gnome.org with gitlab.gnome.org urls
- !2013 fuzzing: Fix assertion failure in fuzz_paths.c
- !2016 GIO W32: Pin gio DLL
- !2023 gtlspassword: Fix g-i annotation of return for g_tls_password_get_value
- !2025 [th/gdbus-cleanup] two minor cleanup patches for gdbusconnection.c
- !2026 Split g_test_log() messages that contain multiple lines
- !2027 Fix a handful of minor leaks found by Coverity
- !2030 Fix more warnings
- !2031 Re-simplify exception handling on Windows
- !2032 gsocks5proxy: Handle EOF when reading from a stream
- !2033 Fix annotation of count arguments
- !2036 gmacros.h: use G_GNUC_CHECK_VERSION
- !2038 Fix more warnings
- !2039 Implement G_ANALYZER_NORETURN for Coverity
- !2040 Fix more warnings
- !2041 refcount: Clarify when the ref count ends up undefined
- !2042 grefcount: Clarify that the initial reference count is 1
- !2043 gmacros.h: use g_macro__has_attribute() where possible
- !2046 gerror: Clarify docs around message requirements
- !2047 Fix more warnings
- !2048 Fix more warnings
- !2049 Fix typo in g_socket_listener_accept_async()'s comment
- !2050 gdbus: document completion after idle action for g_dbus_connection_signal_unsubscribe()
- !2051 Add nullable annotations in GUnixMountEntry
- !2052 g_string_replace(): Fix documentation of 'limit' parameter
- !2054 docs: Fix formatting of code block
- !2055 Improve handling of FILENAME_MAX
- !2056 application: Unset the registered state after shutting down
- !2063 Fix more warnings
- !2066 gpattern: Register as Boxed type and support introspection for it
- !2067 gmacros: missing check if __STDC_VERSION__ is defined
- !2069 gdbus-tool: Actually use argv[0] basename as program name
- !2071 gstring: Cleanup documentation of g_string_replace
- !2074 Fix more warnings
- !2075 gdtlsconnection: Fix a check for a vfunc being implemented
- !2077 tls: add functions to get protocol version and ciphersuite name
- !2078 gthreadedresolver: don't ignore flags in lookup_by_name_with_flags
- !2080 guuid: fix shift operation to parse hex string in uuid_parse_string()
- !2081 Fix more warnings
- !2085 gcredentials.h: Fix comment typo
- !2087 gtlscertificate: make private key properties readable
- !2088 Fix more warnings
- !2090 docs: Standardize spelling of serializ*
- !2091 Fix more warnings (clang)
- !2098 grefcount: Optimise g_atomic_ref_count_dec
- !2099 gmacros.h: G_NORETURN: remove useless checks
- !2100 tests: Add missing return value check in string test
- !2101 Fix more warnings
- !2104 tests: Drop use of g_test_bug_base()
- !2105 tests: Use a temporary file in the bookmarkfile tests
- !2106 Fix more warnings
- !2108 glib spawn-singlethread test only if F_DUPFD_CLOEXEC is defined
- !2109 meson: Fix detection of static libintl on macOS
- !2112 gstrvbuilder: add addv and add_many to the API
- !2113 tls: expose cert details on GTlsCertificate
- !2119 Fix more warnings
- !2120 gdbusobjectmanagerclient: Call GetManagedObjects async
- !2123 gdbus: Add various missing (nullable) or (not nullable) annotations
- !2126 gtlspassword: Add flags signifying PIN type for PKCS#11
- !2127 gutils: ensure g_find_program_in_path() return an absolute path
- !2130 Revert "tests: Deactivate tls-bindings test suite for windows"
- !2139 gdbus, win32: Fix accidental dllexport in static builds
- !2142 tls: expose SAN details on GTlsCertificate
- !2143 compiling.xml: Don't recommend backticks
- !2144 pcre: Drop internal libpcre copy
- !2145 gunixmounts: Document NULL return value for g_unix_mount_for()
- !2152 tests: A few small improvements to GBytes tests
- !2153 docs: Fix annotations for optional arguments
- !2155 glocalfilemonitor: Avoid a deadlock on finalization
- !2162 testgdate: fix -Wmisleading-indentation warning
- !2166 gtlscertificate: Add more annotations to new properties
- !2167 g_value_set_string description: clarified (unified), that v_string is a copy.
- !2173 gasyncqueue: Add missing (nullable) annotation to free function
- !2174 data-to-c.py: generate new-line at the end of the file
* Translation updates:
- Chinese (China)
- English (United Kingdom)
- Hebrew
- Nepali
- Occitan (post 1500)
- Serbian
Overview of changes in GLib 2.68.4
==================================
* Bugs fixed:
- Read past the end of buffer in g_win32_package_parser_enum_packages
- Backport !2155 âglocalfilemonitor: Avoid a deadlock on finalizationâ to glib-2-68
- Backport !2174 âdata-to-c.py: generate new-line at the end of the fileâ to glib-2-68
- Backport !2180 âcorrectly use 3 parameters for close_rangeâ to glib-2-68
- Backport !2185 âglocalfile: Fix the global trash dir detectionâ to glib-2-68
- Backport !2208 âg_string_replace: Don't replace empty string more than once per locationâ to glib-2-68
- Backport GWin32AppInfo fixes to glib-2-68
* Translation updates:
- Chinese (China)
- Chinese (Taiwan)
- Occitan (post 1500)
glib2's gobject subsystem is essentially a wrapper for dlopen. In
view of comments in PR lib/49791 which can be summarised as
"RTLD_GLOBAL is a bug", make gobject use RTLD_DEFAULT instead.
This should fix PR pkg/56212
The upstream merge request
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2171
has been updated - feel free to add a description of the problems you
experienced without this patch to it.
Overview of changes in GLib 2.68.3
==================================
* Bugs fixed:
- 2311 testfilemonitor test leaks ip_watched_file_t struct
- 2417 GFile: `g_file_replace_contents()` reports `G_IO_ERROR_WRONG_ETAG` when saving from a symlink
- !2133 Backport !2128 “inotify: Fix a memory leak” to glib-2-68
- !2137 Backport !2136 “tlscertificate: Avoid possible invalid read” to glib-2-68
- !2141 Backport !2138 “glocalfileoutputstream: Fix ETag check when replacing through a symlink” to glib-2-68
Overview of changes in GLib 2.68.2
- Fix building third-party projects against GLib on CentOS 7 (work by
Ignacio Casal Quinteiro) (#2387)
Bugs fixed:
- #2387 json-glib does not build with glib 2.68.1
- !2060 gmacros: check that __cplusplus or _MSC_VER is defined
- !2068 gmacros: missing check if STDC_VERSION is defined
- !2079 Backport !2078 “gthreadedresolver: don't ignore flags in lookup_by_name_with_flags” to glib-2-68
Translation updates:
- Nepali
- Serbian
Overview of changes in GLib 2.68.1
==================================
* Fix a crash in `GKeyFile` when parsing a file which contains translations
using a `GKeyFile` instance which has loaded another file previously
* Pin GIO DLL in memory on Windows (!2016)
* Bugs fixed:
- g_key_file_load_from_file segfaults on "Key[*]="like lines
- !1997 Backport !1996 Include glibconfig.h to get the G_OS_UNIX token to glib-2-68
- !2016 GIO W32: Pin gio DLL
- !2021 Backport MR !2016 (GIO W32: Pin gio DLL) into glib-2-68
- !2022 Few fixes and notes for building on Visual Studio 2012 and earlier
- !2034 Backport MR !2032 (gkeyfile: Drop a redundant check) into glib-2-68
- !2035 Backport !2026 Split g_test_log() messages that contain multiple lines to glib-2-68
* Translation updates:
- English (United Kingdom)