gnome-gitlab GNOME/glib 2.79.0

latest releases: 2.82.1, 2.80.5, 2.82.0...
9 months ago

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

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

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

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

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

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

Bugs fixed:

  • #596 GApplication in Garbage Collected environments would benefit from a
    g_application_command_line_exit() to enable remote instances to exit.
    (Aleksandr Mezin)

  • #791 Wish: Add a "nodelay" property to GSocket or GTcpConnection (Philip
    Withnall)

  • #2810 thread-pool-slow intermittent assertion failure in
    test_thread_sort_entry_func() (Philip Withnall)

  • #2824 G_REGEX_OPTIMIZE causes incorrect regex behaviour

  • #2991 Drop translatable pspec nick/blurbs from properties in GIO (Sophie
    Herold)

  • #3082 Investigate prioritising prefix matches on GAppInfo keywords over
    substring matches on names (Nelson Benítez León)

  • #3087 glib doesn't cleanly unload on Windows (Luca Bacci)

  • #3098 Make invalid escape sequences in GKeyFile fatal (Philip Withnall)

  • #3103 mkenums: Can't parse an enum value with value ',' (Lukáš Tyrychtr)

  • #3105 NetworkManager 1.44.0 crashes repeatedly with glib 2.78.0 (Philip
    Withnall)

  • #3107 Rename GTK_USE_PORTAL to avoid portal services being run with portals
    force-enabled (Philip Withnall)

  • #3111 gsubprocess-testprog.c: build error with cygwin (sys/ptrace.h: No such
    file or directory) (Philip Withnall)

  • #3112 Update to Unicode 15.1 (Philip Withnall)

  • #3115 Support for additional strftime formatting capabilities

  • #3116 gio clears modification time in microseconds when setting with
    set_modification_date_time (Lukáš Tyrychtr)

  • #3119 Add support for %Ey to g_date_time_format() (Philip Withnall)

  • #3120 Build of glib 2.78.0 ignores -Dlibelf=disabled (Philip Withnall)

  • #3128 glib-2.78.0 fails at gio/tests/gsubprocess.p/gsubprocess.c.o

  • #3130 Segfault when creating GIO GPropertyAction without properties

  • #3134 glib incompatible with Python 3.12 due to distutils usage

  • #3135 Add GNU/Hurd CI

  • #3140 Add a flag to not copy modification time when copying files (Khalid
    Abu Shawarib)

  • #3144 g_file_set_contents_full() doesn't truncate the file (without
    G_FILE_SET_CONTENTS_CONSISTENT) (Philip Withnall)

  • #3156 check for #ifdef PTRACE_O_EXITKILL will always fail since it isn't a
    macro (Alessandro Bono)

  • #3157 gsubprocess build-time test intermittently timing out since 2.78.1
    (Simon McVittie)

  • #3158 "CRITICAL" log when using --attributes option for "gio info" (Philip
    Withnall)

  • #3159 glib regex test fails JIT compiler tests under musl libc (Pablo Correa
    Gómez)

  • #3161 codegen installation is broken

  • #3168 gvfs-udisks2-volume-monitor SIGSEGV in g_content_type_guess_for_tree()
    due to filename with bad encoding (Ondrej Holy)

  • #3183 g_dbus_connection_signal_subscribe with flag
    G_DBUS_SIGNAL_FLAGS_MATCH_ARG0_PATH doesn't work with an arg0 that is an
    object path (Philip Withnall)

  • #3185 g_utf8_collate_key() segfaults when passed an invalid length

  • #3186 [RFE] Increase gio sniff buffer for mime type magic detection to 16K
    or so (Philip Withnall)

  • #3187 g_vasprintf crashes when passed invalid UTF-8 (Philip Withnall)

  • #3191 Crash in __gio_xdg_cache_mime_type_subclass (Philip Withnall)

  • #3203 Fdo notification fails without AppID (Michael Catanzaro)

  • !3143 gatomic: Use g(u)intptr where appropriate

  • !3316 gobject: Separate GWeakRef from GWeakNotify

  • !3394 gsocketclient: Document delays/timeouts better

  • !3457 glib-unix: Add convenience API for pipes

  • !3524 add muslc ci

  • !3552 gutils: Use international symbol for bits

  • !3566 Update annotations for GAsyncQueue and GDir

  • !3567 Update annotations for GHmac

  • !3568 Update GOptionContext annotations

  • !3569 Small fixes and cleanups for Vectored Exception Handlers

  • !3571 Update GStringChunk annotations

  • !3572 Update GRand annotations

  • !3573 Update GTimer annotations

  • !3576 guniprop.c: Avoid creating (temporarily) out-of-bounds pointers

  • !3577 gthread: introduce g_onceinit{enter,leave}_pointer

  • !3578 GType: Use guintptr as the underlying storage if larger than gsize

  • !3579 Fixes for integer cast warnings when targeting CHERI

  • !3580 Fix test_find_program on FreeBSD

  • !3581 gthread: Fix optional/nullable annotations for g_onceinit*()

  • !3582 Buffer needs to be aligned correctly to receive linux_dirent64.

  • !3589 gconstructor.h: Ensure [c|d]tor prototypes are present for MSVC
    (Chun-wei Fan)

  • !3590 gtestutils.h: Fix warning with -Wsign-conversion caused by
    g_assert_cmpint

  • !3591 Switch to using gi-docgen for docs (batch 1)

  • !3594 Fix gutils-user-database test on macOS

  • !3595 gobject: cache flags needed for g_type_create_instance()

  • !3596 Add value annotation to G_TYPE_FUNDAMENTAL_MAX

  • !3597 Expand security policy to cover previous stable branch

  • !3598 Document NULL pointer pitfall in toolchain requirements

  • !3601 meson: Fix Windows build with PCRE2 as sibling subproject

  • !3603 Add GBytes variants for GSocket receive methods

  • !3605 build: Post-release version bump

  • !3607 Make sure the GTask is freed on a graceful disconnect

  • !3610 gdesktopappinfo: Do not search Comment field

  • !3611 tests/constructor: Fix "unknown pragma ignored" warning on clang

  • !3612 Update GStrv annotations

  • !3613 tests: Fix gdatetime test on non-UTC systems

  • !3620 gmain: avoid a GList traversal when removing source

  • !3621 wakeup: do single read when using eventfd()

  • !3623 Windows: Compile with the UNICODE / _UNICODE macros

  • !3624 wakeup: Fix g_wakeup_acknowledge if signal comes in

  • !3627 Add Hurd code owners

  • !3628 glib-unix: Use full path to gstdio.h include

  • !3629 glib/tests/meson.build: remove identical build targets

  • !3630 glib-compile-resources: ensure alignment is at least sizeof(void *)

  • !3632 Stop using enums in bitfields

  • !3633 Use g_task_return in task threads

  • !3634 Switch to using gi-docgen for docs (batch 2)

  • !3635 Fix warnings with Clang on Windows and enable --Werror in CI

  • !3636 Generate introspection data

  • !3637 gstrvbuilder: Add g_strv_builder_take

  • !3638 Cleanup and add content to glib debugging using gdb scripts

  • !3640 GIO/tests: skip test_resources_binary on MIPS platforms

  • !3641 build: Simplify MIPS test check

  • !3645 Switch to using gi-docgen for docs (batch 3)

  • !3646 ci: Update from clang-format-11 to clang-format-14

  • !3647 Switch to using gi-docgen for docs (batch 4)

  • !3652 GApplicationCommandLine: add print[err]_literal()

  • !3654 gdatetime: Fix minor leaks from strup/strdown calls

  • !3655 gdatetime: Fix incorrect alt-digits being used after changing locale

  • !3656 gmodule-dl: Use RTLD_DEFAULT on FreeBSD too

  • !3660 Switch to using gi-docgen for docs (batch 5)

  • !3661 Switch to using gi-docgen for docs (batch 6)

  • !3662 Switch to using gi-docgen for docs (batch 7)

  • !3663 gdbusconnection: don't cache G_IO_ERROR_CANCELLED errors

  • !3664 gmain: optimize "context->sources" hash table to use as set

  • !3665 ci: Remove .build-linux from Hurd CI scheduled job

  • !3666 build: Bump Meson dependency to 1.2.0

  • !3667 Switch to using gi-docgen for docs (batch 8)

  • !3668 Socket & readiness fixes

  • !3671 gio/tests: Add test generated txt as the resources test dependency

  • !3672 glib-private: Check for LSAN support at runtime when controlling it

  • !3674 gtask: Add g_task_return_prefixed_error()

  • !3677 Make GQuark register intentional leaks

  • !3678 gsignalgroup: Avoid function call with side effect in greturn* macro

  • !3679 gmessages: fix dropping irrelevant log domains

  • !3682 tests: Fix dependency of test.gresource on test-generated.txt

  • !3683 glib: Disable dynamic asan loading on macOS

  • !3687 fix: about libproc.h and PROC_PIDLISTFD_SIZE

  • !3688 build: Fix the inclusion paths for GIR files in gi-docgen

  • !3689 meson: Add missing dependencies for utility files for gdbus-codegen

  • !3690 Switch to using gi-docgen for docs (batch 9)

  • !3695 gvalue: add "steal_string"

  • !3699 [th/prgname] use atomic pointers for g_prgname/g_application_name and
    add g_set_prgname_once()

  • !3701 tests: Fix gio-tool.py test on macOS

  • !3702 glib.supp: Suppress the global_mime_dirs allocations

  • !3703 Port GIRepository to GTypeInstance and add introspection

  • !3704 girepository: Rename symbols to the GI namespace

  • !3707 girepository: Ignore set-but-not-used warnings with G_DISABLE_ASSERT

  • !3708 Fix various leaks in cmph-bdz-test and gutils

  • !3709 Switch to using gi-docgen for docs (batch 10)

  • !3710 gmessages: introduce g_log_writer_default_set_debug_domains()

  • !3711 ghmac: Add a boxed type for GHmac and fix introspection build
    accordingly

  • !3712 Switch to using gi-docgen for docs (batch 11)

  • !3713 gfileutils: Fix g_file_get_contents() silent under-read of large files
    when off_t is wider than size_t

  • !3714 xdgmime: Handle buggy type definitions with circular inheritance

  • !3715 goption: Fix a typo

  • !3716 tests: Improve build of cmph tests in girepository

  • !3717 tests: provide reason for disabling convert test under musl

  • !3721 gtestutils: Add g_test_trap_subprocess_with_envp() for testing envs

  • !3722 gdir, gstrvbuilder: Add refcounting support and a boxed type

  • !3723 gwin32: Un-hide symbols when building GIR

  • !3726 tests: Fix fileutils build on FreeBSD and macOS

  • !3731 tests: Fix string test failure on BSDs

  • !3732 gspawn: Stop spewing debug messages

  • !3733 ci: Make the Alpine CI name more consistent

  • !3734 gdatetime: Disable ERA support on platforms which don’t support this

  • !3735 ci: Fix printing info message at end of run-style-check-diff.sh

  • !3736 build: Rename -Dgtk_doc option to -Ddocumentation and fix some
    g-ir-scanner warnings

  • !3739 Documentation only: Added clarification about GWeakNotify and removed
    ambiguous text

  • !3741 hash: Explicitly annotate key in iter_next as nullable

  • !3743 ci: Install correct version of Meson on Alpine CI image

  • !3745 tests: Assert there no errors first in gdbus-test-codegen

  • !3751 Fix generated RST anchors for methods, signals and properties

  • !3752 build: Make packaging module required

  • !3753 gobject_gdb.py: Do not break bt on optimized build

  • !3755 tests: Use textwrap.dedent to indent expected strings pleasingly

  • !3757 ci: Re-add explicit Meson version to Alpine CI image

  • !3758 docs: Add a section on version checking macros

  • !3760 girepository: Various API cleanups

  • !3761 gerror: Fix an old allow-none annotation

  • !3762 [th/notify-queue] some optimization around
    g_object_freeze_notify()/g_object_thaw_notify()

  • !3763 girepository: Drop libgio dependency from gdump.c

  • !3764 gsignal: fix reference to signals documentation page

  • !3765 gapplication: Fix minor typo in docs

  • !3767 girepository: Port documentation to gi-docgen and update

  • !3768 ci: Build docs artifacts for deployment to docs.gtk.org

  • !3770 GDateTime: Add usec precision API for unix time

  • !3771 gtask: Add g_task_return_new_error_literal()

  • !3772 gobject: Make GLib-2.0 gir build depend on GObject dependency

  • !3773 girepository: Return enumerated versions and search paths as a GStrv

  • !3776 glocalvfs: Remove unnecessary and buggy code

  • !3777 Fix detecting size_t size when -Wmissing-prototypes is in CFLAGS

  • !3779 gtypemodule: Add assertions in finalize()

  • !3782 docs: fix a typo

  • !3786 girepository: Re-number GIR file from 2.0 to 3.0

  • !3787 docs: Install the gi-docgen docs

  • Translation updates:

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

Don't miss a new glib release

NewReleases is sending notifications on new releases.