X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=NEWS;h=a6202af4031dc8c6c550bac2c092faf58d0d66dd;hb=073339230bc0c4b42387f786c6b0d7aaca3f1a81;hp=f1eb02445ab3e8fb4b00171df5c4250f3f5290ae;hpb=04c78d148a2f91f9b4592873c98677f6f20361ca;p=platform%2Fupstream%2Fglib.git diff --git a/NEWS b/NEWS index f1eb024..a6202af 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,2305 @@ +Overview of changes in GLib 2.78.4, 2024-01-21 +============================================== + +* Bugs fixed: + - !3754 Backport !3751 “Fix generated RST anchors for methods, signals and + properties” to glib-2-78 + - !3756 docs/reference: depend on a native gtk-doc + - !3759 Backport !3753 “gobject_gdb.py: Do not break bt on optimized build” to + glib-2-78 + - !3766 Backport !3750 “gregex: clean up usage of _GRegex.jit_status” to + glib-2-78 + + +Overview of changes in GLib 2.78.3, 2023-12-06 +============================================== + +* Fix a crash-causing regression in xdgmime (#3191, work by Philip Withnall) + +* Bugs fixed: + - #3191 Crash in __gio_xdg_cache_mime_type_subclass (Philip Withnall) + - !3747 Backport !3742 “xdgmime: Update to upstream commit c2c814d4051f232” to + glib-2-78 + + +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 + - !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) + +* Set Meson’s `install_tag` on installed files (work by Xavier Claessens) (!2905) + +* Add `G_TYPE_FLAG_DEPRECATED` for tagging deprecated `GType`s/`GObject`s + (work by Matthias Clasen) (!2993) + +* Add `g_clear_fd()` and `g_autofd` for automatically closing FDs when exiting a + scope (work by Simon McVittie) (!3007) + +* Convert GVariant Specification to reStructuredText and host it at + https://developer.gnome.org/documentation/specifications/gvariant-specification-1.0.html + (work by Philip Withnall) (!3044) + +* Bugs fixed: + - #16 gspawn.c file descriptor handling (Emmanuel Fleury, Ray Strode) + - #19 Workaround dlopen(NULL, 0) brokenness + - #24 inlined g_str_has optimisations (Emmanuel Fleury) + - #333 Make GLib valgrind friendly (Marco Trevisan (Treviño)) + - #520 g_module_build_path builds incorrect paths on macOS and Windows (MSVC) + (Nirbheek Chauhan) + - #1211 macros: generate uniq variable name in _G_BOOLEAN_EXPR()/G_LIKELY() + (Thomas Haller) + - #1413 Meson build defines G_MODULE_SUFFIX to `dylib` on macOS but autotools + uses `so` (Nirbheek Chauhan) + - #1484 Deprecate sized integer types in favour of C99 stdint.h (Simon + McVittie) + - #2622 GThreadedResolver incorrectly expands domain names in SRV records + (Philip Withnall) + - #2726 G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE not set for sshfs (Philip Withnall) + - #2735 Update unicode data to version 15 + - #2740 gio-launch-desktop: clang compiler can't compile with commit 813ce7f0b + (Kjell Ahlstedt) + - #2742 glib:gio / file test fails after update to 2.73.3. (Marco Trevisan + (Treviño)) + - #2747 Add g_set_string for simplified and correct property setters + (Christian Hergert) + - #2748 construct properties always trigger the deprecated property warning + (Simon McVittie) + - #2753 Infinite recursion on ENOMEM in g_vasprintf() (Philip Withnall) + - #2754 `glib / spawn-test` fails with non-English locale (Philip Withnall) + - #2758 gmessages.c compile failure with -Werror=unused-result (Marco Trevisan + (Treviño)) + - #2759 gosxcontenttype.m compile failure with -Werror=declaration-after- + statement (Marco Trevisan (Treviño)) + - #2766 glocalfileinfo.c compile failure when utimensat() not available (= + MacOS) + - #2767 GFileInfo fails to find x-large and xx-large thumbnail paths (Marco + Trevisan (Treviño)) + - #2770 Random crashes with GLib 2.74.0 (Emmanuele Bassi) + - #2774 Floating GVariant leaks since 2.73.1 in g_object_set() (Matthias + Clasen) + - #2775 Add an inline version of g_str_equal (Xavier Claessens) + - #2782 GVariant type depth not checked on typedecls in text format variants + (Philip Withnall) + - #2783 Enable no-interrupt close() on macOS + - #2784 Remove workaround to avoid false-positive -Werror=nonnull in + g_str_has_*() macro versions + - #2785 Invalid FD assertion in g_close() triggers test failures on macOS (Ray + Strode) + - #2787 new int64, double hash functions always hash to 0 on big-endian (Simon + McVittie) + - #2791 function name typo in comment explaining the private struct memory + layout (gtype.c) (sunce) + - #2795 [regression] gnome-keyring-daemon uses 100% CPU with glib-2.74.1 (Ray + Strode) + - #2796 _g_clear_fd_ignore_error() breaks with GLIB_VERSION_MAX_ALLOWED (Simon + McVittie) + - #2798 msys2-clang64 fails to compile cxx tests on versions < 11 (Marco + Trevisan (Treviño)) + - #2799 Wrong GTask tag on error return path in + g_proxy_resolver_lookup_async() (Michael Catanzaro) + - #2800 fileutils test regression on vs2017-x64 builds: + appcrt\lowio\commit.cpp(19) : Assertion failed: (_osfile(fh) & FOPEN) + - #2802 Remove G_OS_DARWIN in favour of platform-specific defines (Philip + Withnall) + - #2805 g_task_set_name() should not use g_task_set_static_name() unless + permitted by GLIB_VERSION_MAX_ALLOWED (Michael Catanzaro) + - #2807 ../glib/gstrfuncs.h:186:41: error: argument 1 null where non-null + expected [-Werror=nonnull] (Ray Strode) + - !2799 Use the system allocator on UNIX when creating GTypeInstances + - !2839 Add support for xdg-terminal-exec for handling desktop applications + using 'Terminal=true' + - !2848 giomodule: Automatically detect modules on macOS + - !2850 Automatically disable cast checks when building with optimization + - !2852 Replace most GObject warnings with criticals + - !2857 glib-mkenums: Specify output encoding as UTF-8 explicitly for non- + English locale + - !2864 gatomic: fix the atomic compare_and_exchange macros on older C++ + standard versions + - !2866 tests: skip g-file-info test if atime unsupported + - !2867 tests: skip shared libs if default_library=static + - !2869 task: Don't overwrite source names + - !2880 gbacktrace: Don't truncate gdb output + - !2884 tests/desktop-app-info: Add tests to verify if launching with terminal + works + - !2885 tests/desktop-app-info: Use unique temporary paths for action files + - !2889 Run tests with G_ENABLE_DIAGNOSTIC=1 + - !2892 tests/unix-streams: Free the cancelled error on cancelled cancellable + - !2894 Disable cast checks in plain builds + - !2896 Build API docs only with shared libraries + - !2899 gio: make g_task_get_cancellable return value (nullable) + - !2901 glocalfileoutputstream: Do not double-close an fd on unlink error + - !2903 docs: Fix markup error in code blocks for "DEPRECATED" macros + - !2904 tests: Only run g_error_new_valist() programmer error test on glibc + - !2905 meson: Set install_tag remaining installed files + - !2907 gthread-win32: Fix conversion error from pointer to integer + - !2911 glocalfileinfo: In set_mtime_atime(), don't use utimensat() if it's + not available + - !2913 gregex: Use pcre2 error messages if we don't provide a specific one + - !2915 Consider the GLogField.length of "MESSAGE"/"GLIB_DOMAIN" fields in + g_log_writer_format_fields() + - !2916 Update version in the docs to 2.74.1 for the fixed handling of... + - !2920 gregex: Allow G_REGEX_JAVASCRIPT_COMPAT in compile mask + - !2922 ci: Conform to Python's coding style + - !2924 Optimize the implementation of `g_double_hash` + - !2928 build: Let Meson figure out Python installation + - !2931 gdatetime: add missing g_return_() check in g_date_time_format_iso8601 + - !2933 Fix style warning in gvariant.c + - !2936 Fix symbol visibility macros on Windows + - !2937 gicon: Add introspection for to_tokens / from_tokens vfunc's + - !2938 gdatetime: add NULL guard in g_date_time_new_now() + - !2939 gobject/tests/param: Add unit test for handling invalid NULL param + spec + - !2942 gbookmarkfile: Add copy function and define it as boxed type for + introspection + - !2945 gmessages: Add missing trailing newline in fallback log handler + - !2946 tests: Check the return value of fwrite() in a test + - !2947 gspawn: avoid race due to retry with EINTR on close() + - !2948 ghash: document g_hash_table_steal_extended() behavior for sets + - !2949 doc: Correctly annotate g_async_queue_push() + - !2951 meson: Don't explicitly disable mixed declarations and statements + - !2952 Various win32 test fixes + - !2953 build: Post-release version bump to 2.75.0 + - !2954 tools: Fix code style warnings in gen-visibility-macros.py + - !2955 gtimezone: Reject weird /etc/localtime configurations + - !2956 gstrfuncs: Fix a compiler warning in g_strerror() + - !2957 Fix include order of glib-visibility.h + - !2959 Some leaks fixes + - !2961 tests: Remove an unnecessary sleep from desktop-app-info test + - !2963 tests: Fix race condition on cancellation in unix-streams test + - !2964 gstdio: fail assertion in g_close() for invalid file descriptor + (EBADF) + - !2965 ghash: comment g_hash_table_steal_extended() about not destroying + key/value + - !2967 Fix build when G_DISABLE_CAST_CHECKS is defined to empty string + - !2968 tests: Fix minor race in desktop-app-info terminals test + - !2969 tests/desktop-app-info: Make sure scripts writes to the right end of + the pipe + - !2970 Fix GIOModule regression from !2959 + - !2972 tests: Temporarily disable desktop-app-info terminal test on FreeBSD + - !2976 Fix a couple of minor Coverity issues + - !2977 gstdio: Temporarily disable g_close() warning on macOS + - !2978 A couple of test fixes on OS X + - !2979 gtask: Use unsigned bit-field struct values to avoid warnings + - !2981 meson: Define G_OS_DARWIN when compiling under OSX or iOS + - !2984 tests: Fix code style in Python files to satisfy black and flake8 + - !2985 ci: Do not store docs artifacts + - !2987 meson, ci: Support tests that can fail under certain conditions + - !2990 gio/tests/g-file-info: don't assume million-in-one events don't happen + - !2991 glib, gmodule, gobject: Add generated headers to the lib dependency + - !2993 Add G_TYPE_FLAG_DEPRECATED + - !2997 docs: Mention platform-specific predefined macros + - !2999 Soft-deprecate G_VA_COPY in favour of va_copy + - !3000 docs: Stop claiming that gsize is wide enough to hold a pointer + - !3001 Improve documentation and static assertions around g(s)size, + g(u)intptr + - !3002 docs: Soft-deprecate G_STRUCT_OFFSET in favour of offsetof + - !3003 docs: Soft-deprecate types that are just aliases for a standard C type + - !3004 build: Mark the g-file-info test as succeeding + - !3005 Fix sandbox escape in GDBusServer + - !3007 gstdio: Add g_clear_fd() and g_autofd + - !3008 gio/gdesktopappinfo: Free the wrapped argv array on launch failure + - !3009 gtimezone: Fix symlink checks on relative link targets + - !3011 meson: Cleanup and fix include files paths, using base path without + repetitions + - !3012 meson: Handle various build system FIXME's + - !3013 tests: Fix few new clang warnings + - !3015 test/meson: Add tests dependencies on built programs, libraries and + modules + - !3018 Install gversionmacros.h in the right place + - !3019 ci: Fix check for missing install tag + - !3021 Add kgx (gnome console) to known terminals lists + - !3022 Fix coding style issue in .gitlab-ci/check-missing-install-tag.py + - !3023 ci: Move shellcheck/black/flake8 checks to a new CI job which can fail + - !3025 fuzzing: Add a new fuzz test for g_variant_byteswap() + - !3027 gstdio: Preserve errno in g_autofd, document async-signal safety + - !3033 glib/gmacros: Always define NULL as nullptr in C++11 and newer + - !3034 ci: Open issues when scheduled pipelines fail + - !3035 portal: Fix broken header guard + - !3037 gio: Create a sandbox checking function + - !3040 gspawn: Provide less brute force fdwalk implementation on macOS + - !3043 glib-mkenums: feature use of previous symbols in evaluation + - !3044 docs: Convert GVariant Specification to reStructuredText + - !3048 docs: Add licensing/copyright data to GVariant specification and fix + various formatting issues + - !3049 Add a SPDX LicenseRef for the license historically used for tests + - !3050 tests: Shorten internal codegen test timeout + - !3051 ci: Add a CI check for REUSE-compliant licensing/copyright headers + - !3055 fileutils test: Use no-op invalid-parameter handler when exercising + EBADF + - !3058 ci: Build with -Wnonnull + - !3060 fuzzing: Add a fuzz test for g_utf8_validate() + - !3062 tests: Fix a small leak in the GVariant tests and some minor + documentation typos + +* Translation updates: + - Abkhazian (Nart Tlisha) + - Dutch (Nathan Follens) + - Friulian (Fabio Tomat) + - German (Christian Kirbach) + - Hebrew (Yaron Shahrabani) + - Kazakh (Baurzhan Muftakhidinov) + - Occitan (post 1500) (Quentin PAGÈS) + + +Overview of changes in GLib 2.74.0, 2022-09-17 +============================================== + +* 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) + +* Translation updates: + - Abkhazian (Nart Tlisha) + - Basque (Asier Sarasua Garmendia) + - Bulgarian (Alexander Shopov) + - Catalan (Jordi Mas) + - Chinese (China) (Luming Zh, Boyuan Yang) + - Croatian (Goran Vidović) + - Czech (Marek Černocký) + - Danish (Alan Mortensen) + - Finnish (Jiri Grönroos) + - French (Claude Paroz) + - Galician (Fran Dieguez) + - Hungarian (Balázs Úr) + - Indonesian (Kukuh Syafaat) + - Korean (Changwoo Ryu) + - Lithuanian (Aurimas Černius) + - Persian (Danial Behzadi) + - Polish (Piotr Drąg) + - Portuguese (Hugo Carvalho) + - Portuguese (Brazil) (Leônidas Araújo) + - Russian (Aleksandr Melman) + - Slovenian (Matej Urbančič) + - Spanish (Daniel Mustieles) + - Swedish (Luna Jernberg) + - Turkish (Emin Tufan Çetin) + - Ukrainian (Yuri Chornoivan) + +Overview of changes in GLib 2.73.3, 2022-08-05 +============================================== + +* Revitalize G_REGEX_OPTIMIZE flag and use it to enable PCRE JIT compiler (work + by Aleksei Rybalkin) (!2817) + +* Fix some regressions due to the PCRE2 port (work + by Aleksei Rybalkin, Mamoru TASAKA and Marco Trevisan) (!2814, !2827, #2694, + #2699, #2700) + +* Fix a pidfd leak that was introduced in the previous release (work by + Christian Hergert) (#2708) + +* Support compilation without a C++ toolchain (work by James Hilliard) (!2822) + +* GDBus: Use namespace-friendly protocol for Linux message buses, and optionally + other connections (work by Simon McVittie) (!2832) + +* Fix potential races in multi-threaded signal connections handling (work by + Marco Trevisan) (!2823) + +* Add back gio-launch-desktop to redirect stdout/stderr of launched + GDesktopAppInfo's to the journal with proper parent (work by Simon McVittie) + (!2818, !2819, #2682) + +* Executables that are invoked when installing other software, typically + from packaging system triggers, can now be installed into + architecture-dependent locations. Unix OS distributors who install + GLib for more than one architecture in parallel (multiarch or multilib + installations) should consider building with -Dmultiarch=true, installing + the bin/glib-compile-schemas and bin/gio-querymodules symbolic links in + packages for the primary architecture, and omitting those symlinks from + packages for secondary architectures. (work by Simon McVittie) (!2818) + +* Some enumerators introduced in previous releases have been changed, for better + introspection results: + - G_MARKUP_PARSE_FLAGS_NONE renamed to G_MARKUP_DEFAULT_FLAGS + - G_TLS_CERTIFICATE_FLAGS_NONE renamed to G_TLS_CERTIFICATE_NO_FLAGS + - G_APPLICATION_FLAGS_NONE was deprecated, use G_APPLICATION_DEFAULT_FLAGS now + (work by Emmanuele Bassi) (!2835) + +* gfileinfo: Implement xattr attribute removal (work by madmurphy) (#1187) + +* Add support to --delete option to gio set, to unset a file attribute (work by + codeboybebop) (#2588) + +* Improve default value of glib_debug option: G_ENABLE_DEBUG will be defined + only if using `--buildtype=debug` or enabled via `-Dglib_debug`, but it + won't ever be set if an optimized build is requested (specifically if the + optimization level is not `0` or `g`) as it may be the case when using + `--buildtype=debugoptimized` (work by Michael Catanzaro) (!2851) + +* Probably the first revision of any GNOME module ever released from Cuba :) + +* Bugs fixed: + - #566 support using the PCRE JIT + - #1187 xattr add possibility to remove an extended attribute + - #2509 g_spawn_*() is not thread-safe on Windows when an environment table is + provided + - #2542 Flatten line breaks in filenames printed by gio-tool + - #2588 gio-tool: -d option to delete attribute + - #2682 Launching a GDesktopAppInfo "blames" parent process for its output + - #2692 2.73.2: build failure on musl >= 1.2.0 + - #2694 Recent GRegex changes break vala-language-server compilation + - #2699 g_regex_match_all fails on s390x with Fedora glib2-2.73.2-4.fc37 + - #2700 g_regex_match fails on multiple archs (including x86_64) with Fedora + - #2703 Fix GCancellable tests for Windows 64bit + glib2-2.73.2-4.fc37 + - #2705 GResourceFile crashes on `g_file_set_display_name()` + - #2708 pidfd leak causes processes to run out of file-descriptors + - !2299 GWin32AppInfo: Fix PID reporting in launched signal + - !2759 Use atomic exchange operations more + - !2812 ci: Setup submodules and subprojects before building on dist + - !2813 Add missing extension point register for various settings backends + - !2814 gregex: use %s format specifier for localized error message + - !2815 giomodule: Use g_once_init_enter/leave to register extensions and load dirs + - !2818 gio: Optionally install trigger executables to architecture-specific paths + - !2822 meson: fix build without cpp toolchain + - !2823 gsignal: Perform signal unlocked handlers block, unblock and disconnect ops + - !2825 gioenums: G_IO_ERROR_NO_SUCH_DEVICE is new in 2.74 + - !2826 GDBus: improve interoperability of SASL handshake + - !2827 gregex: Free match info if offset matching recalc failed + - !2829 gregex: use g_debug instead of g_warning in case JIT is not available + - !2830 goption: Slightly improve the documentation for G_OPTION_FLAG_REVERSE + - !2832 GDBus: Use namespace-friendly protocol for Linux message buses, and + optionally other connections + - !2833 Fix installed-tests failures + - !2835 Introduce G_APPLICATION_DEFAULT_FLAGS + - !2836 gio-launch-desktop: Only replace fds that point to the Journal + - !2851 Improve default value of glib_debug option + - !2853 Expose tls-exporter channel binding + - !2854 docs: Add --delete option to gio-tool attributes documentation + +* Translation updates: + - Abkhazian + - Basque + - Georgian + - Hebrew + - Persian + - Portuguese + - Russian + - Turkish + - Ukrainian + +* Contributors: + Aleksandr Melman, Aleksei Rybalkin, Asier Sarasua Garmendia, Christian Hergert, + codeboybebop, Danial Behzadi, Emin Tufan Çetin, Emmanuele Bassi, + Giuseppe Scrivano, Hugo Carvalho, James Hilliard, Luca Bacci, madmurphy, + Mamoru TASAKA, Marco Trevisan, Matthias Clasen, Michael Catanzaro, + Nart Tlisha, Owen Rafferty, Philip Withnall, Ryan Hope, Simon McVittie, + Yosef Or Boczko, Yuri Chornoivan, Zurab Kargareteli. + +Overview of changes in GLib 2.73.2, 2022-07-12 +============================================== + +* Replace PCRE1 with PCRE2: This is a major change to drop the libpcre1 + dependency and use libpcre2 instead, while preserving the behaviour and API of + GRegex. G_REGEX_OPTIMIZE and G_REGEX_JAVASCRIPT_COMPAT are now deprecated + and became a no-op, while other flags are adapted accordingly to the new API + (work by Aleksei Rybalkin, Philipp Withnall) (!2529, #1085) + +* Preserve destruction order in gdataset, fixing various crashes during + objects disposal (work by Peter Bloomfield) (!2776, #2672, #2676) + +* Require C99 __VA_ARGS__ (work by Emmanuele Bassi) (!2791, #2681) + +* Add NONE or DEFAULT members to most flags types (work by Simon McVittie) (!2576) + +* GFile: Add some missing async APIs (work by Marco Trevisan) (!2717) + +* Improve internal and process documentation (work by Philipp Withnall) (!2763) + +* Add atomic compare-and-exchange APIs returning previous value (work by Marco + Trevisan) (!2766) + +* Add G_DEFINE_ENUM_TYPE and G_DEFINE_ENUM_VALUE macros (work by Emmanuele Bassi) + (!2788) + +* Add platform-independent G_ALWAYS_INLINE and G_NO_INLINE (work by Marco Trevisan) + (!2781) + +* Use waitid() on pidfds rather than a global SIGCHLD handler (work by Philip + Withnall) (!2408) + +* Bugs fixed: + - #1434 Move tests/* into */tests/ + - #2216 Chain signal handlers for SIGCHLD + - #2597 Crash in g_socket_client_enumerator_callback when proxy resolving + - #2659 /maincontext/timeout-once randomly fails + - #2681 Set C99's `__VA_ARGS__` as a toolchain hard requirement + - #2672 Finalization speedup (commit fa8c7c0da) causes crash in gtk3 demo + - #2676 gnome-shell assertion failure with GLib 2.73.1 while + g_object_real_dispose() cleans up weak refs + - #2687 Regression: in GLib 2.72.3, in gsocketclient/cancellable + - !1717 Add lock in _g_get_unix_mount_points() around *fsent() functions + - !2408 gmain: Use waitid() on pidfds rather than a global SIGCHLD handler + - !2529 gregex: replace pcre1 with pcre2 + - !2576 Add a NONE or DEFAULT member to most flags-sets + - !2667 test: Potentially fix a race in thread-pool-slow test + - !2706 Add more SPDX license headers + - !2717 gfile (and GAppInfo): Add some missing async APIs and ensure async calls + always use them + - !2744 fuzzing: Add fuzz test for g_uuid_string_is_valid() + - !2748 docs: Add a testing policy + - !2749 tests: Various fixes for TAP output of tests + - !2755 docs: Sync glib.doap to set of users listed in CODEOWNERS + - !2763 docs: Document the release process + - !2766 gatomic: Add Compare and Exchange functions that returns the previous value + - !2770 Correct documentation of g_atomic_pointer_exchange + - !2771 use gvdb as a subproject + - !2772 gobject/tests/performance: fix leaks + - !2773 gdatetime test: Consistently expect %k to generate a figure space + - !2774 tests: Fix type mismatches in new atomic tests when compiling with clang + - !2775 gthread: Some code cleanups and fixes + - !2776 gdataset: Preserve destruction order + - !2779 tests: Fix macOS failures in the file tests + - !2781 gmacros: Provide platform-independent G_ALWAYS_INLINE and G_NO_INLINE + - !2782 ci: Update CI images to add gdb and pcre2 + - !2783 _g_get_unix_mount_points(): reduce syscalls inside loop + - !2784 Revert "gobject: Use g_datalist_id_remove_multiple" + - !2785 tests: Fix incorrect basename comparison in gsubprocess test + - !2786 gcontenttype: Fix a potential use-after-free of xdgmime data + - !2788 Add G_DEFINE macros for enum and flags types + - !2789 gdate: Fix a typo in a code comment + - !2790 tests: Skip assert-msg-test.py if gdb is non-functional + - !2791 Require C99's __VA_ARGS__ + - !2792 ci: Ensure git submodules are updated before running macOS CI + - !2794 gobject: Don't skip custom dispatch_properties_changed + - !2795 gkeyfile: Remove some unreachable code + - !2796 gmodule: Improve error handling for invalid .la files + - !2797 gio: Add some missing license and copyright headers + - !2798 Remove occurrences of unused-results warnings and mark them as errors + - !2800 gbacktrace: Handle case of strerror_r returning an int value + - !2801 gobject: Small speedup in weak-ref-set + - !2802 gobject/tests/custom-dispatch: Add few more tests + - !2804 gthreadpool: Ensure all unused threads are really counted as stopped + - !2805 gthread-posix: Do not do unguarded and non-atomic assignment of an atomic + - !2807 ci: Specify -Wno-overlength-strings on macOS + build: Specify -Werror=pointer-sign + - !2808 gsocketclient: Fix passing NULL to g_task_get_cancellable() + - !2809 gio/tests/desktop-app-info: Wait until the callback is called + +* Translation updates: + - Lithuanian + - Persian + - Portuguese + - Russian + - Serbian + - Ukrainian + +* Contributors: + Aleksandr Melman, Aleksei Rybalkin, Aurimas Černius, Danial Behzadi, + Emmanuele Bassi, Emmanuel Fleury, ericLemanissier, Hugo Carvalho, + Marc-André Lureau, Marco Trevisan (Treviño), Matthias Clasen, + Michael Catanzaro, Michael Vetter, Peter Bloomfield, Philip Withnall, + Rozhuk Ivan, Simon McVittie, Yuri Chornoivan, Мирослав Николић + +Overview of changes in GLib 2.73.1 +================================== + +* Remove the `-Diconv` configure option, as GLib now uses Meson’s built-in logic for + finding which iconv implementation to use (work by Eli Schwartz) (!2734) + +* Move gvdb to a Meson subproject and git submodule to avoid duplicating its + source (work by Philip Withnall) (!2733) + +* Add `add_test_setup()` in Meson to allow GLib tests to be run under valgrind + with correct settings easily, using `meson test --setup=valgrind` (work by + Philip Withnall) (!2752) + +* Fix deadlocks when disposing non-cancelled inotify `GFileMonitor`s (work by + Benjamin Berg) (#1941) + +* Fix `file://` requests in webkit2gtk due to incorrect xdgmime update (work by + Stephen Jung, Michael Catanzaro, Philip Withnall) (#2639) + +* Fix build errors on macOS ≤10.7 for `LOCAL_PEERPID` (work by Christopher Nielsen) (!2707) + +* Add new `g_atomic_int_exchange()` and `g_atomic_pointer_exchange()` APIs (work + by Marco Trevisan) (!2726) + +* Add new `GListStore:n-items` property to allow easy binding in UIs (work by + Benjamin Otte) (!2738) + +* Performance improvements for GObject construction and destruction (work by + Matthias Clasen) (#2661, #2665, #2666, !2678, !2700, !2705, !2712, !2713, + !2714, !2715, !2716, !2721, !2722, !2723, !2724, !2725, !2756) + +* Use a numeric space (U+2007) for padding with some `g_date_time_format()` + placeholders (work by Maksym Hazevych) (#2655) + +* Fix a slow memory leak in `GSocketClient` when using long-lived `GCancellable`s + (work by Jens Georg) (#2670) + +* Bugs fixed: + - #1941 disposing a non-cancelled inotify GFileMonitor causes deadlocks + - #2639 xdgmime update breaks webkit2gtk file:// requests + - #2655 Use the numeric space for the DateTime.format()'s `\%l` specifier + - #2656 2.73.0: test suite is failing in `glib:gobject / object` unit + - #2661 Speeding up type checks for final types (commit 0ddea2d8e) breaks C++ bindings + - #2665 GObject speed up causes gtk3 apps to crash :( + - #2666 GObject speedup causes warnings with custom constructors + - #2670 Growing memory when using cancellable in g_socket_client_connect_async + - !2670 docs: Add a backports policy + - !2678 Speed up property lookup + - !2681 docs: Add a roadmap policy + - !2692 tests: Drop redundant collate test data files + - !2694 Restore macOS CI + - !2696 Move tests/gobject/testgobject.c to gobject/tests/basics-gobject.c + - !2697 Delete tests/gobject/timeloop-closure.c + - !2700 gtype: Speed up type checks for final types + - !2701 gsocketaddressenumerator: add nullable annotation to the result of `next` + - !2702 tests: Fix a potential race condition in pollable test + - !2704 tests: Remove various bits of overly-verbose test output + - !2705 gobject: Drop an unused quark + - !2707 credentials: macos: check for existence of LOCAL_PEERPID + - !2710 ci: Try reducing FD soft limit to fix valgrind tests + - !2711 tests: Various small test fixes for valgrind + - !2712 Improve the GObject performance test + - !2713 Simplify g_object_new_with_properties + - !2714 Simplify g_object_notify_by_pspec + - !2715 Don't inline deprecation warnings + - !2716 Don't copy values in g_object_new + - !2719 Add nullable annotation to return value of `g_variant_dict_lookup_value`. + - !2721 Avoid g_object_ref/unref in some cases + - !2722 Avoid g_param_spec_get_redirect_target + - !2723 Avoid g_type_class_peek + - !2724 gobject: Avoid redundant atomics + - !2725 Keep a separate flag for notify handlers + - !2726 gatomic: Add APIs to perform atomic int / pointer exchanges + - !2729 tests: Reduce number of threads in once test under valgrind + - !2730 garray: Fix NULL-termination of GPtrArray copies + - !2731 tests: Various static analysis fixes + - !2732 gobject: Sink floating pspecs if adding them to a class fails + - !2733 build: Move gvdb to a subproject + - !2734 meson: simplify iconv/intl lookups using Meson's builtin dependency lookup + - !2735 tests: Move GObject performance tests to gobject/tests/performance/ + - !2738 liststore: add n-items property + - !2739 gobject-query: Minor cleanups and add unit tests + - !2740 gbinding: Remove some duplicated code for checking property names and improve tests slightly + - !2747 gobject: Change GObject notify semantics under static analysis + - !2751 glib-unix: Mark GLib.unix_open_pipe fds input array as fixed-size + - !2752 build: Use add_test_setup() to allow tests to be run under valgrind + - !2753 xdgmime: fix double free + - !2754 docs: Add Marco Trevisan as a co-maintainer + - !2756 gobject: Fix crash when disposing a GtkAccelGroup + - !2758 gio: Don't bundle gtrace in static builds + - !2761 gtlscertificate: Hold a ref on the root certificate when building chains + - !2762 gsignal: Change signal instance ref semantics under static analysis + +* Translation updates: + - Georgian + - Hebrew + + +Overview of changes in GLib 2.73.0 +================================== + +* Support nanosecond time precision in file attributes (work by Nitin Wartkar) (#369) + +* Add `g_list_store_find_with_equal_func_full()` API to make `GListStore` more + introspection friendly (work by Jason Francis) (#2447) + +* Document some GLib maintenance policies a bit better (work by + Nirbheek Chauhan, Philip Withnall) (#2596, !2648, !2649, !2664) + +* Remove FAM/gamin file monitor and `-Dfam` meson option, as libgamin was last + released in 2007 and is dead upstream (work by Emmanuele Bassi) (#2605) + +* Fix futex timespec type on 32-bit kernels with 64-bit userspace (#2634) + +* Deprecate g_dtls_client_connection_set_validation_flags() (work by Michael Catanzaro) (#2646) + +* Add support for automatically `NULL`-terminated `GPtrArray`s (work by Thomas Haller) (!1485) + +* A lot of cleanup of warnings and old tests (work by Emmanuel Fleury) + +* Various compilation and test fixes on Windows (work by Marc-André Lureau) + (!2499, !2540, !2569, !2582, !2592, !2599, !2600, !2656) + +* Fix detection of broken `poll()` implementation on macOS, broken since the + port to Meson (work by Haruka Ma) (!2571) + +* Add additional flags to `g_spawn_async_with_pipes_and_fds()` to make it more + easily introspectable (work by Nicola Fontana) (!2632) + +* Initial (incomplete) support for REUSE licensing (work by Philip Withnall) (!2663, !2665, !2666) + +* GObject construction performance improvements (work by Matthias Clasen) (!2672, !2673, !2674, !2677, !2680, !2690) + +* Add `g_idle_add_once()` and `g_timeout_add_once()` for one-shot sources (work by Emmanuele Bassi) (!2684, !2693) + +* Simplify zlib dependency resolution using new built-in Meson support for it (work by Eli Schwartz) (!2685) + +* Bugs fixed: + - #369 file copy doesn't preserve nanosecond timestamps + - #2312 gdbus-test-codegen tests leak GWeakRef objects + - #2447 g_list_store_find_with_equal_func is not binding friendly + - #2596 Policy on meson requirement bumping + - #2605 Update Android CI to support API level 31 + - #2614 Remove FAM/gamin file monitor + - #2625 g_warning_once fails to build with clang++ + - #2629 g_file_trash() does not work on directories inside a sandbox + - #2633 Recent updates in gstdio.h breaks ABI on 64-bit MSVC builds + - #2634 g_cond_wait_until: returning FALSE immediately on mips24 + - #2640 UWP warnings about extensions and verbs with glib 2.72.1 + - #2646 Should g_dtls_client_connection_set_validation_flags etc. be deprecated? + - #2653 pango fails to build against glib main + - !1485 array: add support for g_ptr_array_null_terminated() + - !2449 Fix test suite on Windows + - !2494 Cleanup warnings split 5 + - !2495 Cleanup warnings split 6 + - !2496 Cleanup warnings split 7 + - !2497 Cleanup warnings split 8 + - !2498 Cleanup warnings split 9 + - !2499 Various contenttype-related test fixes on win32 + - !2521 gobject: Add g_signal_group_connect_closure + - !2534 gpowerprofilemonitor: Tweak wording of documentation to make more sense + - !2539 Convert tests/gio-test.c to g_test framework + - !2540 Various win32 tests skip & fixes + - !2541 meson: simplify lookup of python command + - !2543 ci: Update the Fedora CI image to Fedora 34 + - !2545 gutils: Add flags to g_format_size_full() to return only value or only units + - !2550 Moving gobject tests from tests/gobjects to gobjects/tests + - !2553 Moving tests/refcount/ directory to gobject/tests/ + - !2556 gdbusconnection: Use g_strv_contains() rather than a home-grown version + - !2557 gdbusmethodinvocation: Fix a leak on an early return path + - !2558 Move unit test on g_basename() function to glib/tests/fileutils.c + - !2559 Move tests/relation-test.c to glib/tests/relation.c + - !2560 ci: Update Coverity, mingw and Android CI images to Fedora 34 + - !2562 tests: Call openpty (if available) without using dlsym + - !2563 glib: Format GDateTime ISO8601 years as %C%y + - !2564 Move test files on slices from tests/ to glib/tests/ + - !2565 Revert "meson: simplify lookup of python command" + - !2566 tests: Add more tests for GResolver response parsing + - !2567 tests: Fix compilation when GLIB_DISABLE_DEPRECATION_WARNINGS is defined + - !2569 Various win32 tests fixes + - !2571 meson: Set BROKEN_POLL in macOS builds + - !2572 gversionmacros: Add version macros for GLib 2.74 + - !2575 Move tests/spawn-test.c -> glib/tests/spawn-test.c + - !2577 build: Post-release version bump to 2.73.0 + - !2579 Slice test + - !2580 Moving slice-threadinit.c test to glib/tests/ + - !2581 Move tests/unicode-encoding.c to glib/tests/unicode-encoding.c + - !2582 glib/win32: fix spawn from GUI regression + - !2584 Move msvc warnings in meson.build file + - !2585 GUnixFDList: Include only in unix build + - !2586 Move test tests/unicode-normalize.c to glib/tests/ + - !2589 tests: Don’t exit gdbus-method-invocation test early on connection close + - !2591 tests: Remove an incorrect assertion in converter-stream + - !2592 gio/tests: DuplicateHandle() is inappropriate for SOCKET + - !2594 ci: Expire CI artifacts after 1 week + - !2597 tests: Make a string comparison on an error string more relaxed + - !2598 ci: Combine style-check-diff and check-todos jobs into one + - !2599 Various socket-related fixes for win32 + - !2600 GDate: Fix tests on Windows on certain locales + - !2601 Move tests/onceinit.c to glib/tests/onceinit.c + - !2602 tests: Ensure NormalizationTest.txt is installed for installed-tests + - !2603 tests: Use G_TEST_OPTION_ISOLATE_DIRS in gdbus-peer-object-manager + - !2604 tests: Reduce wakeup interval in gdbus-threading + - !2606 tests: Fix a minor leak in the unicode-normalize test + - !2607 Moving tests/mapping-test.c to glib/test/mapping.c + - !2608 Fixes in tests + - !2609 Remove tests/timeloop.c and tests/timeloopbasic.c + - !2610 Expand tests on gbookmark file API + - !2612 docs: Expand G_DEFINE_BOXED_TYPE docs with more detailed example + - !2613 gtestutils: Include stdlib.h for exit function + - !2614 Add inout annotations for g_iconv + - !2615 Meson: Fix gio-windows-2.0 override name + - !2617 gmessages: Error if g_log_set_writer_func() is called multiple times + - !2619 gversion: Clarify that GLIB_CHECK_VERSION is a >= check + - !2621 Fix the annotation of g_utf8_strncpy() + - !2624 Expand ghook unit tests for a better coverage and add more checks + - !2625 gsocket: Add assertions about socket address sizes for memcpy() + - !2626 gio-tool: Fix a minor memory leak when using gio-set with bytestrings + - !2627 gopenuriportal: Fix a use-after-free on an error path + - !2628 Fix various scan-build warnings + - !2630 build: Move lcovrc file to root so it’s picked up by Meson + - !2631 Cast to ptrdiff_t instead of subtracting by null + - !2632 g_spawn_async_with_pipes_and_fds uses out parameters as inputs + - !2633 Fix closure annotations in callbacks' user data parameters + - !2634 Move tests/threadpool-test.c to glib/test/thread-pool-slow.c + - !2635 Add a couple of assertions to help with static analysis + - !2636 ghmac: Fix some signed/unsigned issues with g_checksum_update() + - !2637 guri: Preallocate a buffer for building URIs + - !2638 fuzzing: Only set the writer function once + - !2639 Move tests/thread-test.c to glib/tests/thread-deprecated.c + - !2642 meson: Check rres.compiled() before calling rres.returncode() + - !2645 Remove unnecessary test tests/mainloop-test.c duplicated in glib/tests/mainloop.c + - !2646 Add some more assertions to help scan-build out + - !2648 docs: Add a code of conduct document + - !2649 Various updates to documentation and misc files in the root directory + - !2650 meson: Use range() instead of listing all stable versions + - !2651 Replace single quotes in gio/tests/codegen.py + - !2652 resources: Hide external data symbol + - !2653 build: Remove a few Meson workarounds and FIXMEs + - !2654 gtask: use g_strconcat() in g_task_return() only if needed + - !2655 Fix typo in gio/meson.build + - !2656 gio: various unix/fd-related enablement on win32 + - !2657 ci: Temporarily allow failure of macOS CI runner until it’s fixed + - !2658 tests: Fix a double-close of a GSource in tests + - !2659 Cleaning a file left behind by glib/tests/bookmarkfile.c test case + - !2660 Move tests/module-test.c to gmodules/tests/ + - !2663 docs: Initial REUSE licensing support + - !2664 docs: Add compiler and toolchain requirements from the wiki + - !2665 glib/gio/tests: Add SPDX license headers automatically + - !2666 fuzzing: Add copyright/licensing headers to fuzzing files + - !2669 Add a Unicode testcase + - !2671 Add another Unicode testcase + - !2672 gtype: small optimization + - !2673 param: Avoid strcmps + - !2674 Avoid g_type_peek_value_table + - !2675 docs: Use G_PARAM_STATIC_STRINGS in examples and explain it more + - !2677 param: Add a value_is_valid vfunc + - !2679 Rename user data parameters to user_data + - !2680 Speed up object finalization + - !2684 Add one-shot idle and timeout functions + - !2685 meson: use builtin dependency lookups for zlib + - !2686 gitlab-ci: remove meson-junit-report.py conversion + - !2687 gitlab-ci: left-over from junit cleanup + - !2688 gparamspecs: Remove redundant NULL checks + - !2689 build: update sysprof configuration options + - !2690 gobject: Keep a count of construct params + - !2693 gmain: Refactor idle-once and timeout-once to avoid a closure allocation + +* Translation updates: + - Basque + - Bulgarian + - Catalan + - Croatian + - Czech + - Danish + - English (United Kingdom) + - French + - Galician + - German + - Hungarian + - Indonesian + - Italian + - Lithuanian + - Nepali + - Polish + - Portuguese + - Portuguese (Brazil) + - Russian + - Slovenian + - Spanish + - Swedish + - Turkish + - Ukrainian + + +Overview of changes in GLib 2.72.0 +================================== + +* Bugs fixed: + - #2620 g_time_zone_new_offset() assertion failure if offset >= 25 hours + - !2538 Various unit test fixes + - !2542 fuzzing: Fix test failure with G_DISABLE_ASSERT + - !2547 gprintf: Fix a memory leak with an invalid format in g_vasprintf() + - !2548 tests: Various fixes to gdbus-auth, gdbus-non-socket, gdbus-connection-flush, spawn-multithreaded tests + - !2551 tests: More flaky test fixes to converter-stream and test-printf + - !2552 gtlsconnection: fix typo in docs + +* Translation updates: + - Czech + - French + - Friulian + - Hebrew + - Hungarian + - Italian + - Kazakh + - Polish + - Romanian + - Serbian + - Swedish + + +Overview of changes in GLib 2.71.3 +================================== + +* Fix flaky `GDebugController` tests (!2504) + +* Numerous small documentation updates + +* Bugs fixed: + - #517 g_utf8_collate returns 0 on U+C5D0 vs U+CD94 + - #1929 gdbus-connection-flush: setup_client_cb: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1) + - #2589 Hash sign misinterpreted as heading + - #2598 g_main_loop_run() may leak a GMainLoop reference + - #2609 Clarify documentation for g_log_set_debug_enabled() + - #2611 Unspecified options considered present + - #2612 side effects of ensure_valid_dict result used in g_return_if_fail macro + - #2613 Naked magic literal in gvariant.h + - !1707 Add cache to g_unix_mount_points_get() + - !2424 Remove old test file tests/testglib.c + - !2451 glib: fix buffer overflow in g_canonicalize_filename() + - !2466 Various minor fixes for empty argv handling + - !2480 Various glib/tests/date fixes on win32 + - !2485 Various spawn-related test fixes on win32 + - !2490 Cleanup warnings split 1 + - !2491 Cleanup warnings split 2 + - !2492 Cleanup warnings split 3 + - !2493 Cleanup warnings split 4 + - !2501 glib-compile-resources: Fix a memory leak of the compiler option + - !2502 tests: Merge iochannel-test into io-channel tests in glib directory + - !2503 gbacktrace: Fix a set-but-not-used variable + - !2504 gdebugcontrollerdbus: Track pending tasks with weak refs + - !2505 tests: Stop ignoring test failures on macOS + - !2506 gresource-tool: Fix unused-but-set-variable warn with G_DISABLE_ASSERT + - !2507 ci: Drop custom dependency builds from installed-tests + - !2508 codegen: Reformat parser.py according to black + - !2509 tests: Fix various small memory leaks + - !2510 gdesktopappinfo: Fix a leak when launching URIs over D-Bus + - !2512 doc: Extend a bit G_DECLARE_* documentation example + - !2513 gmain: Expand documentation about GSource priorities a little + - !2514 ci: Various cleanups and moving Android API 21 and FreeBSD 12 to scheduled run + - !2515 gmessages: Fix typo in docs + - !2516 glocalfileinfo: Always define _g_stat_mtim_nsec, etc. + - !2517 meson: Add schemasdir and giomoduledir to gio dependency + - !2518 meson: Set GIO_EXTRA_MODULES in devenv + - !2519 gdebugcontrollerdbus: Mark a variable as G_GNUC_UNUSED + - !2520 tests: Remove threads from mock-resolver/network-address test + - !2523 Add handling of NULL time_t* pointer as argument + - !2524 Revert "meson: Add schemasdir and giomoduledir to gio dependency" + - !2525 meson: Add schemasdir and giomoduledir to gio dependency + - !2526 Remove unused test tests/testgdateparser.c + - !2527 Move tests/type-test.c to glib/tests/types.c + - !2528 meson: Add PYTHONPATH to load GDB helper module + - !2531 gtask: Document that task name is set by g_task_set_source_tag() + +* Translation updates: + - Basque + - Catalan + - Chinese (China) + - Croatian + - Danish + - German + - Hebrew + - Indonesian + - Korean + - Lithuanian + - Romanian + - Russian + - Spanish + - Turkish + + +Overview of changes in GLib 2.71.2 +================================== + +* Rework `glib-compile-resources` to output compiler-specific files to reduce + compilation time; see the new `--compiler` option (work by Emmanuele Bassi) (#2492) + +* Add a cross-platform API for aligned memory allocations (`g_aligned_alloc()`, + `g_aligned_alloc0()` and `g_aligned_free()`) (work by Emmanuele Bassi) (#2574) + +* Deprecate `force_posix_threads` configure option, since it was a workaround + for static linking on Windows (#2592) + +* Add `GBindingGroup` and `GSignalGroup` APIs (work by Christian Hergert and + Garrett Regier) (!2235) + +* Implement FD remapping support for `g_spawn_async_with_pipes_and_fds()` on + Windows (work by Marc-André Lureau) (!2458) + +* Add an async file move API, `g_file_move_async()` (work by Lucas Schwiderski) (!2469) + +* Bugs fixed: + - #1190 gapplication: Add an org.gtk.Debugging interface + - #2329 GApplication CLI parsing of DOUBLE type failure + - #2492 glib-compile-resources contains resource data twice and creates large output files + - #2563 g_test_build_filename and friends not safe to call after g_test_run() has finished + - #2574 Add API for aligned allocations + - #2592 Consider deprecating 'force_posix_threads' build option + - #2601 Missing tag in generated files + - !2235 Add GBindingGroup and GSignalGroup + - !2378 gtestutils: Mention the unit used for the test timer + - !2404 File tests + - !2433 Remove tests/testgdate.c from tests + - !2458 Implement fd passing for Windows spawn + - !2464 Amend g_bus_get* documentation regarding private connection + - !2465 gi: expose some files as variable for gobject-introspection + - !2467 ci: Add link to Coverage output at end of coverage job + - !2468 gfile: resolve_relative_path isn't nullable + - !2469 Implement async file movement + - !2471 Fix test on the date format for FreeBSD and MacOS X. + - !2472 Fix test date (again)... + - !2473 Fix glib/test/date.c for FreeBSD/OpenBSD/MacOS X + - !2476 Add G_UNICODE_SCRIPT_MATH to GUnicodeScript + - !2477 Improve coverage of two digit years in gdate tests + - !2481 Fix glib/tests/fileutils on win32 + - !2482 Fix unit test on date format '%Z' which is too versatile to be trustable + - !2483 Fix glib/tests/gdatetime on win32 + - !2484 tests: Use g_test_skip() to skip a test on Windows + - !2487 gconstructor.h: Visual Studio: Only include gslist.h if needed + - !2488 Fix some problems with g_aligned_alloc() tests + +* Translation updates: + - Basque + - Catalan + - Chinese (China) + - Czech + - French + - Galician + - Indonesian + - Japanese + - Polish + - Portuguese + - Portuguese (Brazil) + - Russian + - Slovenian + - Spanish + - Ukrainian + + +Overview of changes in GLib 2.71.1 +================================== + +* Basic support for static builds on Windows (work by Loïc Le Page, + Marc-André Lureau, with contributions from Xavier Claessens, Nirbheek Chauhan, + Charlie Barto, Luca Bacci, Amos Wenger) (#692, #2585, !2442) + +* Add `GDebugController` and a D-Bus implementation which exposes whether + debug output is enabled in a process using the `org.gtk.Debugging` D-Bus + interface (work by Philip Withnall) (#1190) + +* Support for `AF_UNIX` sockets on Windows 10 (and later) (work by Marc-André Lureau) (#2487) + +* Several important fixes to GDBus message and GVariant parsing of invalid data (work by Sebastian Wilhelmi) (#2557, #2572) + +* Fix potential data loss due to missing fsync when saving files on btrfs (work by Sebastian Keller) (!2425) + +* Fix potential buffer overflows in `garray.c` for very large `GArray`s and `GPtrArray`s (work by Tobias Stoeckmann) (#2578) + +* Fix FDs in gspawn not being closed and causing process hangs if `close_range()` fails unexpectedly (work by Dan Nicholson) (#2580) + +* Fix `g_find_program_in_path()` not returning an absolute path if `$PATH` is relative (work by Christoph Niethammer) (#2586) + +* Add support for loading PKCS#12 encrypted files in `GTlsCertificate` (work by Patrick Griffis) (!2239) + +* A number of improvements to unit tests (work by Emmanuel Fleury, Charlie Barto) (!2399, !2400, !2402, !2403, !2428, !2431, !2432, !2434) + +* Support `LOCAL_PEERPID` on macOS, giving partial support for PIDs in + `GCredentials` on that platform (work by Ignacio Casal Quinteiro) (!2362) + +* Add `g_get_user_state_dir()` to support `XDG_STATE_HOME` (work by Sophie Herold) (!2395) + +* Add `g_hash_table_new_similar()` to copy a hash table and its hash/equal functions without its data (work by Jonas Ådahl) (!2405) + +* Support D-Bus client authentication with `EXTERNAL` on Windows (work by Marc-André Lureau) (!2429) + +* Add a reStructuredText documentation generator to `gdbus-codegen` (work by Emmanuele Bassi) (!2448) + +* Add a Windows implementation of `GMemoryMonitor` (work by Marc-André Lureau) (!2452) + +* Bugs fixed: + - #692 meta: Fix static build on Windows + - #1190 gapplication: Add an org.gtk.Debugging interface + - #2487 Add support for native unix domain sockets on WIN32 to GLib.Socket and related classes + - #2550 possible GDateTime issue with localtime on Illumos/Solaris + - #2557 Arrays of zero-element tuples with non-zero length lead to infinite loops in g_dbus_message_new_from_blob + - #2559 2.71.0: compile and link time warnings + - #2560 Link error xdgmime.c: unresolved external symbol S_ISREG when building with VS2022 + - #2564 Hangul Jamo Extended-B should be 0-width + - #2565 Build glib-2.71.0 failed in Windows using MSYS2-MINGW64 + - #2571 Cross build error "undefined reference to `_g_binary_test1_resource_data'" when building tests for Windows on openSUSE Leap + - #2572 Check for GVariant recursion depth before recursing + - #2578 buffer overflows in garray.c + - #2579 Outdated paths in INSTALL.in + - #2580 gspawn doesn't set CLOEXEC if close_range fails unexpectedly + - #2582 glib 2.71.0 muslc - build error missing sentinel in function call + - #2585 Static link issue on Windows due to resource files being linked in twice + - #2586 g_find_program_in_path not returning an absolute path + - !2239 gtlscertificate: Add ability to load PKCS#12 encrypted files + - !2362 credentials: support the local peerpid on macos + - !2384 meson: Fix linking with static library in Windows + - !2395 utils: Add XDG_STATE_HOME support + - !2399 Move tests/env-test.c into glib/tests/environment.c + - !2400 Prevent gtest tests from popping up dialog boxes + - !2402 Improving glib/tests/environment.c + - !2403 Improve test coverage of glib/tests/asyncqueue.c + - !2405 ghash: Add g_hash_table_new_similar + - !2407 tests: Fix environment test on FreeBSD + - !2411 annotate `g_content_type_guess` parameter as filename + - !2412 paramspec: fix unref annotation + - !2413 Use meson dependency to link against apple framework + - !2414 docs: Improve docs for gdbusutils.c + - !2417 gtestutils: Fix minor typos in the g_test_get_filename() docs + - !2423 Make clear in doc that signals are emitted synchroniously + - !2425 gfileutils: Remove outdated BTRFS fsync optimization from set_contents + - !2426 gdbus-codegen: Fix a typo in a comment + - !2428 Merge tests/gobject/gvalue-test.c with gobject/tests/value.c + - !2429 gdbus: make client work with EXTERNAL on Windows + - !2431 Merge tests/gobject/paramspec-test.c into gobject/tests/param.c + - !2432 Merge test/unicode-caseconv.c into glib/tests/unicode.c + - !2434 Remove a disabled test case that was covered by glib/tests/collate.c + - !2440 Improve g_ascii_formatd docs and preconditions + - !2441 Reduce the amount of compile-time warnings + - !2442 Fix tests with static build on Windows + - !2447 giowin32: use gint64 and _lseeki64 + - !2448 Add reStructuredText documentation generator for gdbus-codegen + - !2452 gio/win32: add GMemoryMonitorWin32 + - !2453 Add `(array length)` annotation to `g_tls_certificate_new_from_pkcs12()` + - !2454 gdbusmessage, gvariant and garray fixes + - !2456 tests: Pass --internal and -z noexecstack to glib-compile-resources tests + - !2459 gio: add missing zlib dependency in gio-windows-2.0.pc + - !2461 Fix memory leak in gio/gdbusauthmechanismsha1.c + - !2463 Revert "Merge branch 'fix-windows-pc' into 'main'" + +* Translation updates: + - Catalan + - Chinese (China) + - Czech + - Galician + - Hebrew + - Indonesian + - Lithuanian + - Polish + - Portuguese + - Portuguese (Brazil) + - Russian + - Spanish + - Ukrainian + + +Overview of changes in GLib 2.71.0 +================================== + +* Fix network changes not being signalled from NetworkManager (work by + Julian Andres Klode) (#2505) + +* Fix build when building with --fatal-meson-warnings (work by Eli Schwartz) (!2304) + +* Fix use of the default log writer with journald namespaces (diagnosis by Ilya Basin) (#2530) + +* Fix hang in `dbus-daemon` under `GTestDBus` when `G_MESSAGES_DEBUG=all` is set (work by Marco Trevisan) (#2537) + +* Speed up `g_canonicalize_filename()` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi) (#2541) + +* Fix URI for pcre subproject as it’s moved upstream (work by Albert Astals Cid) (!2324) + +* Fix storing GSettings dictionaries on macOS (work by Maurice) (#2527) + +* Speed up ‘remove dot segments’ algorithm in `GUri` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi) (#2526) + +* Fix infinite loops in D-Bus message parsing for truncated inputs (work by Sebastian Wilhelmi) (#2528) + +* Improve correctness of version information returned by `g_get_os_info()` for Windows 10/Server 2019+ (work by Chun-wei Fan) (#2443) + +* Various fixes to GWeakRef cleanup (#865, #2390) and toggle refs (#2394) (work by Marco Trevisan) + +* Add `G_DBUS_PROXY_FLAGS_NO_MATCH_RULE` flag for disabling match rules when creating a `GDBusProxy` (#1109) + +* Fix FD remapping in `g_spawn_async_with_pipes_and_fds()` with certain values of target FDs (#2503, #2506) (work by Michael Catanzaro) + +* Make `GDBusProxy::g-signal` signal detailed with D-Bus signal names (#2536) (work by Aleksandr Mezin) + +* Emit `launched` signal for D-Bus activation of apps with `GDesktopAppInfo` (!2227) (work by Guido Günther) + +* Fix IDs of `GDesktopAppInfo`s which are constructed from a `.desktop` file in a subdirectory (!2283) (work by Ivalyo Dimitrov) + +* Add `--interactive` option to `gdbus call` (!2329) + +* Add `G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP` to `GSubprocess` (!2333) (work by Hristo Venev) + +* Bugs fixed: + - #475 Add g_alloca0() and g_newa0() + - #847 g_set_prgname() should be thread-safe + - #865 GWeakRefs not cleared by g_object_run_dispose() + - #1109 [PATCH] GDBusProxy: add G_DBUS_PROXY_FLAGS_NO_MATCH_RULE flag + - #1231 gobject declare macros cause alignment warnings on armhf/armhf/mipsel + - #1331 GArray with 10 million items overflows index arithmetic + - #1735 Get back to a -werror build + - #1781 Sort output of gsettings command-line tool + - #2310 contenttype test leaks xdg-mime internal data + - #2390 GWeakRef's aren't cleared again on finalization (and not fully thread-safe) + - #2394 Toggle refs notification may not handle multiple threads correctly + - #2400 Use-after-free in invoke_set_property_in_idle_cb() + - #2401 GDBus runtime warning from remove_interfaces() + - #2404 GTask: clarify that GTask assumes are running mainloop + - #2426 GSettings delayed apply generates runtime warnings + - #2443 Add Windows 11 support to get_windows_version() + - #2468 GSequence pessimizes itself and slows down + - #2471 g_output_stream_write_all_async prints error when count == 0 and content == NULL + - #2488 Unix password unit test fails on FreeBSD 13 + - #2489 Add a (diagnostic) warning for finalized objects with floating refs + - #2490 Upgrade to Unicode Character Database 14.0 + - #2496 Wrong parameter type for g_simple_proxy_resolver_set_ignore_hosts + - #2498 GIR: Remove non-existing IOModule methods `load`, `unload` + - #2500 Able to export object manager and object on root path, but not other paths + - #2503 gspawn.c may clobber target fds + - #2505 g_network_monitor_nm never updates on connection change (listens for signal on wrong dbus interface) + - #2506 gspawn.c fails to close child_err_report_fd if it is duped to avoid conflation with one of the target_fds + - #2507 Strange behavior of GFileEnumerator with GVfs locations + - #2514 test suite failure in glib/tests/gdatetime.c if German locale de_DE.ISO-8859-1 is available + - #2518 Misleading message when privileged program starts G_BUS_TYPE_SESSION + - #2520 g_date_new_ functions return NULL on invalid input + - #2523 MacOS generates warnings for g_size_checked_mul() + - #2526 fuzz_uri_parse failure + - #2527 Error storing dictionary with string keys as GSettings on macOS + - #2528 g_dbus_message_new_from_blob goes into infinite loop for certain inputs + - #2529 load_user_special_dirs returns NULL in certain cases + - #2530 g_log_writer_is_journald fails if a Journal Namespace is used + - #2536 GDBusProxy: make g-signal detailed + - #2537 GTestDBus dbus daemon causes child process to hang when using verbose output + - #2541 g_canonicalize_filename should work in linear time complexity + - #2553 Consider not depending on strtoull_l and strtoll_l as much + - !1960 Add g_main_context_new_with_flags() and ownerless polling option + - !1968 gspawn: Implement fd remapping for posix_spawn codepath, and fix file descriptor conflation issues + - !1991 Keyfile parsing performance improvements + - !2029 Updating xdgmime + - !2064 gobject: Cleanup GWeakRef locations on object finalization + - !2114 Coerce type cast to void* because it causes compiler warnings + - !2191 docs: Add .editorconfig file + - !2214 Document potential footgun with GTlsCertificateFlags and deprecate certain usages + - !2223 Better detection of the cleanup attribute. + - !2227 gdesktopappinfo: Emit "launched" signal for D-Bus activation too + - !2242 gsettings: Add various missing (nullable) or (not nullable) annotations + - !2244 gutils: Avoid segfault in g_get_user_database_entry + - !2245 gdesktopappinfo: Do not call xterm when it does not exist, inform the caller the launch failed + - !2246 gobject: Document it’s unsafe to call g_object_ref() from GWeakNotify + - !2249 Add version macros for GLib 2.72 and bump version to 2.71.0 + - !2251 GString: Bump minimum size + - !2254 Small optimization for g_object_set + - !2255 gobject: Clarify behaviour of adding weak refs during disposal + - !2257 Fix documentation for g_dbus_object_manager_get_object(). + - !2260 GWin32AppInfo: Do not assert about successful open'ing of registry keys + - !2261 Provide built DLLs as Gitlab-CI artifacts + - !2266 fix uninitial variable + - !2273 Fix more (Windows) warnings + - !2277 Revert "Don't compile some unused functions in gio/xdgmime/" + - !2283 GDesktopAppInfo: Try to always correctly set id + - !2284 update the proxy-libintl subproject to the latest release + - !2285 fix issues found by svace static code analyzer + - !2286 meson: fix warnings for extract_all_objects function + - !2287 ci: Update CI images to latest stable Debian and Fedora, bump Meson dependency to 0.52 + - !2288 Update g_source_remove doc comment: the function doesn't always return TRUE + - !2289 Update g_source_remove documentation for the returned value + - !2290 mkdir path specified by XDG_RUNTIME_DIR + - !2292 Fix cast from pointer to integer of different size warning in gio/gwin32appinfo.c + - !2293 glib-private: Fix MSVC build with AddressSanitizer + - !2294 Fix windows warnings + - !2295 gutf8: Document that out args from g_utf16_to_utf8() are non-negative + - !2303 Fix more windows warnings + - !2305 gio: document GFile API when relative path is absolute + - !2306 gunixmounts: Drop references to pamconsole mount option + - !2308 gthread-win32: Remove an unnecessary volatile qualifier + - !2309 Rename libpcre.wrap to pcre.wrap + - !2310 tests: Fix a typo in a test message in gdatetime.c + - !2311 Fix always true comparison warning in glib/garray.c + - !2319 docs: Fix the GListModel description + - !2323 Fix final warnings in Windows code + - !2324 Fix link to pcre-8.37.tar.bz2 + - !2326 Improve some documentation related to GTlsDatabase + - !2328 gutf8: add string length check when ending character offset is -1 + - !2329 gdbus: Add --interactive option to `gdbus call` + - !2332 Changed gendered terms to be gender-neutral + - !2333 gsubprocess: Add G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP + - !2336 tests: Drop arbitrary and flaky waits from actions tests + - !2339 ci: Bump Meson version to 0.60.1 on macOS + - !2341 tests: Wait for gdbus-testserver to die when killing it + - !2342 tests: Reformat mkenums.py slightly to make run-black.sh happy + - !2345 gutils: Disable some dead code on macOS + - !2347 Removing tests/asyncqueue-test.c from tests/ + - !2348 gio/tests/codegen.py: bump timeout to 100 seconds + - !2349 Annotate `g_getenv()` and `g_environ_getenv()` return value as `nullable` + - !2352 tests: Fix a flaky wait in converter-stream + - !2353 Address some oddities around GResolver::reload + - !2357 ci: Upgrade to clang-format-11 from clang-format-7 + - !2360 meson: specify when commands need to succeed in run_command + - !2364 tests: Allow `objcopy --help` to fail, because it fails on FreeBSD + - !2365 Add vfunc checks in gappinfo.c + - !2368 De-duplicate g_nearest_pow() implementation and add some overflow protections to g_ptr_array_maybe_expand(), g_string_maybe_expand() and g_string_chunk_insert_len() + - !2370 gqsort: Move test to glib/tests/ + - !2371 Freeze notification during object destruction + - !2372 docs: Improve GVariant docs + - !2373 glib.supp: Suppress one-time allocation in g_get_home_dir() + - !2376 GSource: move test to glib/tests/ + - !2379 Merging tests/bit-test.c into glib/tests/utils.c + - !2381 tests: Test the function forms of g_bit_*() APIs too + - !2382 gfileutils: Correctly reset start value when canonicalising paths + - !2385 gfileutils: Fix transfer annotation and whitespace issues + - !2386 docs: Add API documentation links to the README + - !2387 docs: Update the README a little + - !2390 Merging tests/child-test.c into glib/tests/spawn-multithreaded.c + - !2391 Removing redundant cxx test tests/cxx-test.cpp + - !2392 Move tests/completion-test.c to glib/tests/completion.c + - !2393 Removing unnecessary test on gdatetime.c + - !2396 fuzzing: Add a fuzz test for parsing DNS records + - !2397 Moving tests/dirname-test.c to glib/tests/fileutils.c + - !2398 fix /list/position test + +* Translation updates: + - Croatian + - Friulian + - Galician + - Hebrew + - Indonesian + - Italian + - Latvian + - Lithuanian + - Occitan (post 1500) + - Persian + - Polish + - Portuguese + - Portuguese (Brazil) + - Romanian + - Russian + - Serbian + - Slovak + - Spanish + - Swedish + - Ukrainian + + +Overview of changes in GLib 2.70.0 +================================== + +* Bugs fixed: + - !2248 ci: Replace FreeBSD 11 with FreeBSD 13 + +* Translation updates: + - Croatian + - Danish + - English (United Kingdom) + - French + - German + - Hungarian + - Polish + - Swedish + - Turkish + + Overview of changes in GLib 2.69.3 ================================== @@ -13822,3 +16124,250 @@ What's new in GLib 1.3.1: * the g_string(x) macro has been removed, #x may be used instead. + +Overview of changes in GLib 1.2.1 +================================= + +* g_realloc() fix for SunOS (please report further problems). +* Continued the never ending fix vendetta regarding getpwuid(), + this time AIX has been the culprit. +* Upgrade to libtool 1.2f +* Miscellaneous other buglets fixed. + + +Overview of changes in GLib 1.2.0 +================================= + +* GLib is distributed seperatedly from Gtk+ +* Win32 Portability +* Threading support +* GModule mechanism (implemented in an extra library) which wraps dynamic + object code loading facilities in a portable manner +* GIOChannel structure to encapsulate the IPC mechanism +* GQuarks and datasets +* GRelations for n-way mapping of certain data +* An n-way tree implementation +* GDate functionality for calendar date manipulations +* GAllocator type and associated functions +* Added generic callback maintenance functions (ghook) +* Generic functions for TAB completions +* Endian defines (G_*_ENDIAN) +* g_log() mechanism for logging of messages at different log levels +* Generic main-loop mechanism +* New glib-config helper script +* Many more API extensions + + +Overview of changes in GLib 1.1.16 +================================== + +* Allocate smaller pools of memory for glists, gslists, gnodes +* Bug Fixes + + +Overview of changes in GLib 1.1.15 +================================== + +* HPUX 11 thread system detection should now work +* Release the main loop lock around calls to prepare() and + check() so it is not held over user code +* A few Win32 fixups + + +Overview of changes in GLib 1.1.14 +================================== + +* Check for dlsym() in system libraries and -dl +* FreeBSD portability fixes +* Random bug fixes and autoconf/automake changes + + +Overview of changes in GLib 1.1.13 +================================== + +* Removed alloca() based function and macro variants again. +* Improved thread related configure tests. +* GSource destruction fixups. +* Fixed up idle function removal based on user_data pointer. +* Advanced Win32 portability. +* Enforced GSource's check(), prepare() and dispatch() constrains, + loop recursions may only happen from dispatch(), and check() as well + as prepare() are called while the main_loop lock is being held. +* GLib development now requires GNU autoconf 2.13, GNU automake 1.4 + and GNU libtool 1.2d. +* Lots of random portability and bug fixes. + + +Overview of changes in GLib 1.1.12 +================================== + +* Added alloca functions/macros: g_strdup_a, g_strconcat3_a, g_alloca, + g_new_a, g_new0_a +* New tests structure. Type 'make check' on your system to run them. +* Avoid unnecessary extra hook referencing in g_hook_list_marshal + + +Overview of changes in GLib 1.1.11 +================================== + +* provide defaults for POLL sysdefs +* g_main_is_running: new function to check whether a main loop has been quitted +* a few other enhancement/fixes + + +Overview of changes in GLib 1.1.9 +================================= + +* Check for pthread_attr_init in all cases, Digital Unix 4 requires this +* For G_LOCK_DECLARE_*, if !G_THREADS_ENABLED, eat trailing semicolon better +* Changed g_main_poll_(add|remove) to g_main_(add|remove)_poll + + +Overview of changes in GLib 1.1.8 +================================= + +* Added threading support + - The ability to specify a set of functions to be used for + locking at runtime. + - Default implementations of locking functions for pthreads, + Solaris threads, and (experimentally) NSPR. + - All static variables should now properly locked. + - Enhancements to the generic main-loop mechanism to be thread-safe. + (It is used for the main-loop in GTK+ as of GTK+-1.1.8) +* Portability fixes. + + +Overview of changes in GLib 1.1.7 +================================= + +* Removed multiple define from glibconfig.h + + +Overview of changes in GLib 1.1.6 +================================= + +* New GDate functionality for calendar date manipulations (g_date_*) +* New GAllocator type and associated functions +* New functions g_slist_copy and g_list_copy to duplicate a list with all + its data pointers. +* New function g_array_insert_vals and new macro g_array_insert_val to + insert elements at an arbitrary index +* GAllocators used for glist, gslist, gnode node allocations +* Incremental freezing in ghash +* New function g_hook_list_marshal_check to eventually destroy hooks after + they got marshalled +* Revised GIOChannel to provide generic virtual-function based interface +* Added generic main-loop abstraction +* Removed GListAllocator type and its g_*_allocator_*() function variants +* Bug fixes + + +Overview of changes in GLib 1.1.5 +================================= + +* Win32 portability +* GIOChannel structure to encapsulate the IPC mechanism +* Reimplemented endian stuff, using inline asm for x86 +* New functions: + - g_strescape: escapes backslashes + - g_path_is_absolute and g_path_skip_root + - g_getenv: expands environment variables that contain references + to other environment variables + - g_scanner_sync_file_offset: rewind the filedescriptor to the current + buffer position and blow the file read ahead buffer + - g_array_remove_index: remove an entry, preserving the order + - g_array_remove_index_fast: remove an entry, order might be distorted + - g_ptr_array_remove: remove an entry, preserving the order + - g_ptr_array_remove_fast: remove an entry, order might be distorted + - g_byte_array_remove_index: wrapper for g_array_remove_index + - g_byte_array_remove_index_fast: wrapper for g_array_remove_index_fast + - g_strncasecmp: modeled closely after g_strcasecmp + - g_list_sort, g_slist_sort: to merge sort GLists and GSLists +* New macros: + - G_DIR_SEPARATOR, G_DIR_SEPARATOR_S: platform-dependant file name + syntax elements + - G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S: platform-dependant + search path syntax conventions + - G_STRUCT_OFFSET, G_STRUCT_MEMBER_P, G_STRUCT_MEMBER: for handling + structure fields through their offsets +* Removed G_ENUM, G_FLAGS, G_NV, and G_SV macros +* Bug fixes + + +Overview of changes in GLib 1.1.4 +================================= + +* Added generic callback maintenance functions (ghook) +* New endian defines (G_*_ENDIAN) +* New string join/split/free routines +* Fixes + + +Overview of changes in GLib 1.1.3 +================================= + +* New GModule mechanism (implemented in an extra library) which wraps dynamic + object code loading facilities in a portable manner. +* glib-config features extra "glib" (old behaviour remains) and "gmodule" + (add libgmodule.so to the --libs output) arguments now. this can also + be specified as fourth argument to the AM_PATH_GLIB() macro. +* Overhaul of the `inline' autoconfiguration stuff, so inlining should be + sufficiently supported on all systems that allow inlining now. +* New g_log() mechanism for logging of messages at different log levels, + associated with certain log domains (define -DG_LOG_DOMAIN for your library). +* New inline functions for bit masks tests. +* GNode macros (and functions) now return the newly allocated node. +* New macro G_VA_COPY() to work around va_list copying oddities on some + platforms. the non-static g_vsprintf() function vanished in favour of + a publically exported g_strdup_vprintf(). + People that used the former g_vsprintf() would definitely want to read the + associated ChangeLog entries (grep for printf). +* New utility functions: + g_strndup(), g_on_error_query(), g_on_error_stack_trace(), g_strdup_printf(), + g_strdup_vprintf(), g_printf_string_upper_bound(), g_spaced_primes_closest(), + g_strnfill(), g_memdup(). +* Overhaul of the array implementations, this contains some source incompatible + changes. Again, the ChangeLog is much more informative (grep for garray.c). +* The internals of the g_dataset mechanism are now exported through the + new g_datalist_* API (this is also the underlying implementation for the + keyed data of GtkObjects). +* New function g_atexit(), use of the ATEXIT() macro is discouraged. +* Better configure checks for ansi compliance. +* Libtool update to version 1.2b. +* Lotsa bug fixes and cleanups as always ;) + + +Overview of changes in GLib 1.1.2 +================================= + +* Fixed packaging mistake which occured in 1.1.1 +* fix 64-bitness in g_prints in glibtest + + +Overview of changes in GLib 1.1.1 +================================= + +* An n-way tree implementation is provided now, based on the GNode structure. +* Bugfix for pointer arrays. + + +Overview of changes in GLib 1.1.0 +================================= + +* GLib is distributed seperatedly from Gtk+ now and uses a sophisticated + shared library versioning scheme to deal with interface and binary + incompatibilities. +* There is a glib-config helper script installed now. +* Fixups all over the place. +* gboolean is now a gint, not a gchar anymore. +* API extensions for GList and GSList. +* New g_str*() functions for simple string handling. +* GScanner extensions for scope, warning and error handling. +* Minor performance improvements for GMemChunks. +* Implementations of GQuarks and datasets (similar to GtkObjects data + mechansim, but works for generic memory locations). +* More convenience macros for GNU C function arguments. +* Const correction all over the place, including a new pointer type + gconstpointer. +* Generic functions for TAB completions. +* GRelations for n-way mapping of certain data.