gnome-gitlab GNOME/glib 2.75.3

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

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: gspawn[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_stringfree (, 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)

Don't miss a new glib release

NewReleases is sending notifications on new releases.