gnome-gitlab GNOME/glib 2.75.0

latest releases: 2.82.2, 2.82.1, 2.80.5...
24 months ago

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 GTypes/GObjects
    (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_strhas*() 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
    • !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 greturn() 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)

Don't miss a new glib release

NewReleases is sending notifications on new releases.