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 thantext/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
andGPtrArray
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/orfutex_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
- #621 file-info: catch thumbnail files in large directory as well (Matthias
Translation updates:
- Interlingue (Olga Smirnova)
- Serbian (Мирослав Николић)
- Interlingue (Olga Smirnova)