blob: 573451542efb78b35b9048ad1f47f797fc9ba6c3 [file] [log] [blame]
Overview of changes in GLib 2.79.3, 2024-02-27
==============================================
* Various consistency improvements to the command line libgirepository tools
(!3926, !3927, !3928, !3930, work by Simon McVittie)
* Bugs fixed:
- #3080 Gimp GTK file chooser hang when a remote file is open (Luca Bacci)
- #3210 Critical using Open location: GWinHttpFile doesn’t set
G_FILE_ATTRIBUTE_STANDARD_TYPE (Luca Bacci)
- #3252 [2.79.1] gdatetime installed tests fails on s390x (Simon McVittie)
- #3255 g_base_info_clear on zero-initialized stack-allocated introspection
info (Philip Withnall)
- #3258 Possible memory leak in GUnixVolumeMonitor (Ondrej Holy)
- #3260 Add man pages for girepository tools
- #3262 msys2-mingw32 build failing with error code 3221225785 (0xc0000139)
(Philip Withnall)
- #3263 Ensure girepository tools are translatable (Philip Withnall)
- #3266 Use-after-free in gsocketclient.c:connection_attempt_remove() (Philip
Withnall)
- #3271 GLib: string malformed for gettext (Philip Withnall)
- !3918 tests: Don’t run lint tests under valgrind
- !3919 tests: Speed up threaded toggle notify test unless -m slow is passed
- !3921 ci: Fix printing the execution environment
- !3922 gdatetime test: Produce more helpful output on mismatches
- !3923 girepository test: Don't assume doubles are naturally-aligned
- !3925 girwriter: Take the GIRepository as a parameter
- !3926 gi- tools: Remove unused options, improve --debug/--verbose
- !3927 g-ir-compiler: Only accept one input file
- !3928 gi-decompile-typelib: Interpret --includedir as most-important-first
- !3930 migrating-gi: Document command-line option removals
- !3935 Restrict macOS CI to origin
- !3937 girepository: Fix static build under Windows
- !3945 tests: Remove variable-length lookbehind tests for GRegex
* Translation updates:
- Basque (Asier Sarasua Garmendia)
- Catalan (Jordi Mas i Hernandez)
- Chinese (China) (Boyuan Yang)
- Czech (Daniel Rusek)
- Galician (Fran Dieguez)
- Georgian (Ekaterine Papava)
- Hebrew (Yaron Shahrabani)
- Indonesian (Andika Triwidada)
- Kazakh (Baurzhan Muftakhidinov)
- Latvian (Rūdolfs Mazurs)
- Lithuanian (Aurimas Černius)
- Persian (Danial Behzadi)
- Russian (Artur S0)
- Slovenian (Matej Urbančič)
- Spanish (Daniel Mustieles)
- Turkish (Sabri Ünal, Emin Tufan Çetin)
- Ukrainian (Yuri Chornoivan)
Overview of changes in GLib 2.79.2, 2024-02-12
==============================================
* More work to reduce lock contention and improve performance in GObject (#743,
!3869, !3873, work by Thomas Haller)
* More API changes to libgirepository, which is now stable as of this release
(#3155, #3217, #3218, #3231, #3234, #3243, #3244, #3245, #3246, work by
Philip Chimento, Evan Welsh, Philip Withnall)
* Import `g-ir-compiler`, `g-ir-generate` and `g-ir-inspect` from
gobject-introspection.git and update them to work with girepository-2.0,
renaming them to `gi-compile-repository`, `gi-decompile-typelib` and
`gi-inspect-typelib` (see docs/reference/girepository/migrating-gi.md) (!3853,
!3909, work by Evan Welsh, Philip Withnall)
* Add new `GLibUnix-2.0.gir`, `GLibWin32-2.0.gir`, `GioUnix-2.0.gir` and
`GioWin32-2.0.gir` GIRs which contain platform specific APIs, and are the
preferred way for third parties to access those APIs in future; although
platform specific APIs which were already exposed in `GLib-2.0.gir` and
`Gio-2.0.gir` continue to be listed there; the underlying `.so` files have not
changed (!3892, work by Philip Withnall)
* Bugs fixed:
- #743 GLib weak refs depend on cascade of locks, including global ones, which
makes them non-scalable
- #2887 memory-monitor-dbus.test fails in installed-tests suite (Philip
Withnall)
- #3198 Support --version in standard GApplication command line arguments
(Maxim Moskalets)
- #3217 Feedback on gobject-introspection: APIs for stack-allocated
introspection info (Philip Withnall)
- #3218 Segfault in gi_function_info_prep_invoker (Philip Withnall)
- #3231 New functions in the glib introspection data (Philip Withnall)
- #3234 Reference cycle between GIRepository and GIBaseInfos cached by it
(Philip Withnall)
- #3236 threaded_resolver_worker_cb leaks memory when lookup fails and
connection is already canceled (Philip Withnall)
- #3238 Python packaging module is missing on Hurd CI runner (Philip Withnall)
- #3240 Missing preconditions checks in GArray (Tobias Stoeckmann)
- #3242 Memory leak in gresources over libelf (Maxim Moskalets)
- #3243 Feedback on girepository 2.0: Naming of get_type_info vs load_type
(Philip Withnall)
- #3244 Feedback on girepository 2.0: Where to find uninstalled typelibs
(Philip Withnall)
- #3245 Feedback on girepository 2.0: GIBoxedInfo's place in the type
hierarchy (Philip Withnall)
- #3246 Wrong out parameter type in
gi_object_info_find_method_using_interfaces (Philip Withnall)
- #3247 safe_closefrom(), safe_fdwalk_set_cloexec() as public API (Simon
McVittie)
- !3797 Refactor GIRepository GIR generation to avoid cyclical dependency
- !3807 gprintf/gstrfuncs: Improve and port doc comments to gi-docgen
- !3824 gconvert: match GNU iconv behaviour on FreeBSD
- !3838 build: Add thorough test setup
- !3843 Add more test coverage for girepository
- !3845 gunixmounts: Use libmnt_monitor API for monitoring
- !3847 ci: Add ability to run manually some specific jobs
- !3848 Fix build with introspection on Windows
- !3849 girepository: Remove GI_FUNCTION_THROWS and GI_VFUNC_THROWS flags
- !3850 [th/strdup-in-ascii-strdown] glib: use g_strdup() in
g_ascii_strdown(),g_ascii_strup()
- !3851 ci: Fix post-merge CI pipelines
- !3853 girepository: Update gir-compiler and use it to compile GIRs
- !3854 girnode: Document ownership and element types of internal structs
- !3855 gitypelib: Replace multiple constructors with
gi_typelib_new_from_bytes()
- !3856 girepository: Drop gi_repository_get_default()
- !3859 [th/glib-private-const] glib: return const pointer from
glib__private__()
- !3860 tests: Fix typo in memory-monitor-portal.py.in
- !3861 girepository: Fix a memory leak of a mapped file
- !3865 [th/test-weak-notify] gobject/tests: add test checking that GWeakRef
is cleared in GWeakNotify
- !3866 [th/gobject-carray-comment] gobject: remove obsolete code comment
about CArray
- !3868 Link to the main context tutorial from the main loop docs
- !3869 [th/optimize-weak-ref-list] rework GObject's `WeakRefData` to track
references in an array instead of GSList
- !3870 Revert "Don't skip dbus-codegen tests on Win32"
- !3871 docs: Fix include path for the build
- !3872 gio: tests: Use slightly more explicit assert functions
- !3873 [th/datalist-shrink] shrink the interal buffer of `GData`
- !3874 Don't skip dbus-codegen tests on Win32
- !3876 build: Only override g-ir-compiler when GIR generation is enabled
- !3877 Various girepository fixes
- !3879 [th/gdataset-comment] gdataset: add code comment to
g_datalist_get_data()
- !3881 docs: Add migration guide for libgirepository
- !3886 codegen: Use `-` instead of `stdout` for output to stdout
- !3887 gtestutils: Ensure test_data is freed even if a test is skipped
- !3888 gitypes: Fix integer values of GIInfoType and add unit tests for
GIUnionInfo
- !3892 introspection: Generate separate GIR files and documentation for
platform specific APIs
- !3893 glocalfile: Support statvfs.f_type
- !3894 Minor fixes/docs changes to GFileDescriptorBased and GTask
- !3895 [th/meson-werror-fixes] some fixes for meson detection failure with
-Werror
- !3896 reuse: Add dep5 lines for gnulib and libcharset
- !3897 reuse: Fix screen-scraping expression for version 2.x
- !3898 Incorporate some lint checks into `meson test`
- !3900 gitypelib: Switch to refcounting
- !3901 girepository: Add length ‘out’ arguments to several getter methods
- !3902 gicallableinfo: Clarify docs for callables with no return type
- !3903 gibaseinfo: Rename gi_info_new() to gi_base_info_new()
- !3904 [th/meson-werror-fixes-2] more workarounds for compiler warnings in
meson compiler checks
- !3909 Rename g-ir-generate and g-ir-inspect and update to girepository-2.0
- !3911 glib/tests/unix: Mostly pass O_CLOEXEC to g_unix_pipe_open()
- !3912 glib-unix: Fix reference to FD_CLOEXEC in docs for g_unix_pipe_open()
- !3913 cmph: Fix a typo
- !3914 Revert "ci: Remove not-printable chars from generated junit file"
- !3916 tests: Skip lint tests if bash is not available
- !3917 ci: Build and tar libgirepository documentation
* Translation updates:
- Georgian (Ekaterine Papava)
- Russian (Artur S0)
Overview of changes in GLib 2.79.1, 2024-01-22
==============================================
* Fix a race condition in `g_object_unref()` (#3064, work by Thomas Haller)
* Various API and build changes to libgirepository as it is not yet API-stable
(#3216, !3780, !3805, !3823, !3833, !3840)
* Build fixes on big-endian 64-bit systems and mips64el (#3225, #3226, work by
Simon McVittie)
* Reduce contention on global locks within GObject (!3774, work by Thomas
Haller)
* Allow building man pages without the reference documentation (!3817, work by
Simon McVittie)
* Bugs fixed:
- #1010 g_get_num_processor does not respect cpuset/affinity
- #3064 Crash under g_object_unref()
- #3093 GDBusMessage: should validate the type of all known headers (Philip
Withnall)
- #3207 Add support for syslog to Structured Logging
- #3216 Feedback on gobject-introspection: Casting to and from GIBaseInfo*
(Philip Withnall)
- #3222 pthread_t usages lack type name (Emmanuele Bassi)
- #3223 CLang, GMutexLocker: error: unused variable 'locker'
[-Werror,-Wunused-variable]
- #3225 2.79 regression: gdatetime test failing on 64-bit big-endian since
#3119
- #3226 resource test fails on Debian mips64el: test5.gresource is not linked
but the test assumes it should be (Simon McVittie)
- !3774 [th/g-object-priv] add private data to GObject and use per-object
locking
- !3780 girepository: Use standard types instead of glib specific
- !3789 gdatetime: Fix title of documentation comment
- !3792 build: Tell gi-docgen where to find the GIR files
- !3793 Shorten the title for D-Bus interface docs
- !3794 Add boxed GType for GRand
- !3795 girepository: Skip GIRepository versions not matching GIRepository-3.0
- !3798 docs: Drop outdated .gitignore files
- !3799 tests: Fix a minor leak in the new GParamSpecPool test
- !3800 ci: Re-enable and fix FreeBSD CI
- !3801 gmessages: Port all doc comments to gi-docgen
- !3802 [th/g-pointer-bit-lock-ext] glib: add g_pointer_bit_unlock_and_set()
and g_pointer_bit_lock_mask_ptr()
- !3803 ci: Fix tarballing the docs on dist
- !3805 girepository: Various small API cleanups
- !3806 gsignal.c: drop an optimization that is undefined behaviour
- !3808 glib/deprecated: Skip all the deprecated gthread api
- !3809 docs: Fix links to symbols outside the allowed namsepace
- !3810 gstrfuncs: Improve and port g_set_str() docs to gi-docgen
- !3811 gvariant-parser: Mention annotated types
- !3812 brz.c: Use uintptr_t instead of a hardcoded list of 64-bit arches
- !3813 gobject: define HAVE_OPTIONAL_FLAGS for sizeof(void*) > 8
- !3814 Fix typo in GPOINTER_TO_SIZE documentation
- !3817 docs: Allow building man pages without the reference documentation
- !3818 docs: Clarify >=2.76 changes to g_module_open()
- !3821 tests: Fix a minor leak in the socket test
- !3823 girepository: Misc cleanups
- !3826 genums: use g_once_init_enter_pointer for GType initializers
- !3827 array-test: Don't assume sizeof(void*)==sizeof(gsize)
- !3831 gvariant-core: Don’t call posix_memalign() with size==0
- !3833 girepository: Change various alignments to use size_t
- !3835 build: Ignore branches in g_clear_*() functions under lcov
- !3837 tests: A couple of test isolation improvements
- !3839 gvarianttype: Fix typos
- !3840 girepository: Exclude private symbols from the ABI
- !3841 docs: Fix member names of GLib.LogLevelFlags
- !3842 gio, gmodule, gthread: compile windows resources only in shared build
* Translation updates:
- Georgian (Ekaterine Papava)
- Russian (Artur S0)
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_once_init_{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_once_init_*()
- !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 g_return_* 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)
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 <errno.h>
- !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 <para> 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
==================================
* Bugs fixed:
- #2425 g_settings_schema_key_range_check() misbehaves for int versus bool
- #2472 Compiling anything with GCC <4.6 spews deprecation warnings
- #2477 `g_invoke_closure` bindings API break.
- #2481 GPowerProfileMonitorPortal does not notice initial power-saver-enabled status
- !2219 doc: Explicitly said, that no null term. is needed
- !2238 ci: Use C.UTF-8 locale on FreeBSD 12
- !2240 gio: Fix conditions in memory-monitor test
* Translation updates:
- Basque
- Catalan
- Chinese (China)
- Galician
- Kazakh
- Korean
- Lithuanian
- Romanian
Overview of changes in GLib 2.69.2
==================================
* The `DBUS_SESSION_BUS_ADDRESS` environment variable is once more not used if
the process is `AT_SECURE` (setuid/setgid/setcap); this change was previously
applied and then reverted because it broke gnome-keyring (#2316)
* Add `g_test_fail_printf()`, `g_test_skip_printf()`,
`g_test_incomplete_printf()` helper functions for printing messages when tests
end prematurely (work by Simon McVittie) (!2215)
* Add portal implementation of `GPowerProfileMonitor` (work by
Bastien Nocera) (!2222)
* Bugs fixed:
- #2316 Re-harden DBUS_SESSION_BUS_ADDRESS for AT_SECURE processes in GLib 2.70
- #2343 Document explicitly refcount mgmt of source-object during GAsyncReadyCallbacks
- #2454 Read past the end of buffer in g_win32_package_parser_enum_packages
- #2456 Frequent test failure on FreeBSD: glib/tests/thread-pool.c:197:test_thread_pool_full: 'free_func_called' should be TRUE
- !2157 tests: Add missing wakeup calls to gdbus-names test
- !2165 docs: Mention the stable/unstable support version in README.md
- !2211 Improve documentation of various TLS stuff
- !2215 gtestutils: Add more convenience functions
- !2216 tests: Fix error handling when testing gtestutils
- !2222 gio: Add portal version of GPowerProfileMonitor
- !2224 Docs: Mention that G_VA_COPY() must be followed by `va_end()`
- !2225 build: Fix implicit declaration of function errors
- !2226 Annotate the GString constructors
* Translation updates:
- Czech
- Hebrew
- Slovenian
- Spanish
- Swedish
Overview of changes in GLib 2.69.1
==================================
* Support categories in desktop notifications (`GNotification`)
(work by Guido Günther) (#2446)
* Add `GPowerProfileMonitor` for monitoring when to use less power (due to being
on battery power, electricity being expensive or high-carbon, etc.)
(work by Patrick Griffis, Bastien Nocera) (#2444)
* Allow static names to be set for `GSource`s to avoid unnecessary string copies
(work by Matthias Clasen) (!2196)
* Bugs fixed:
- #203 API: need g_module_open() variant with GError
- #2058 win32: GPrivate can leak some objects
- #2321 Add a GTypeFlag for final types
- #2429 safe_fdwalk/safe_closefrom for Solaris 11.3/11.4
- #2439 gio trash doesn't recognize existing trash directory in non-fs-root mount
- #2446 Support `categories` for notifications
- #2452 g_string_replace() loops 2**32 times when replacing empty string
- !2177 gio/tests/g-file-info: don't assume million-in-one events don't happen
- !2178 Clarify GValue documentation
- !2179 Update GValue doc: How to use GBoxed with GValue
- !2180 correctly use 3 parameters for close_range
- !2181 gclosure: Fix the invoke() return_value annotation
- !2182 glocalfileinfo: Fix usec/nsec confusion with filetimes on Windows
- !2184 gspawn: Use CLOSE_RANGE_CLOEXEC if available
- !2188 g_boxed_type_register_static, G_DEFINE_BOXED_TYPE: added correlating information
- !2192 Fix more warnings
- !2193 glib.supp: Expand match kinds for g_get_language_names() suppressions
- !2194 Add GPowerProfileMonitor
- !2195 Fix some test suite memory leaks
- !2196 mainloop: Add g_source_set_static_name
- !2197 GResource compiler: Prefix static [con|de]strutors with c_name
- !2198 Port internal uses to use g_source_set_static_name()
- !2200 Fix doc stanzas for GDataInputStream properties
- !2201 Fix a Unicode typo
- !2202 Document the stance on ID-based mainloop APIs
- !2204 tests: Add a test for Unicode normalization
- !2205 GWin32RegistryKey / GWin32AppInfo registry watch fixes
- !2206 Adapt documentation to gi-docgen
- !2210 GWin32AppInfo: Fix missing initialization
* Translation updates:
- Indonesian
- Portuguese
- Portuguese (Brazil)
- Russian
- Ukrainian
Overview of changes in GLib 2.69.0
==================================
* Fix a crash in `GKeyFile` when parsing a file which contains translations
using a `GKeyFile` instance which has loaded another file previously (#2361)
* Pin GIO DLL in memory on Windows (!2016)
* Fix building third-party projects against GLib on CentOS 7 (work by
Ignacio Casal Quinteiro) (#2387)
* Add `g_thread_pool_new_full()` API to allow queued `GThreadPool` data to be
freed if the pool is freed early (work by Nitin Wartkar) (#121)
* Ensure `dlerror()` is used with locking as it’s not thread-safe in some libc
implementations (#399)
* Add `g_dbus_is_error_name()` and `g_dbus_is_interface_name()` convenience
functions (work by Nitin Wartkar) (#402)
* Drop internal libpcre copy in favour of a subproject from wrapdb (#962, #642)
* Add `g_prefix_error_literal()` helper function (work by Emmanuel Fleury,
building on work by Dan Williams) (#663)
* Add `g_bytes_get_region()` to get data from a `GBytes` with range checks
(work by Nitin Wartkar, building on work by Allison Karlitskaya) (#1098)
* Add `g_object_take_ref()` to sink a floating ref (work by Nitin Wartkar,
building on work by Allison Karlitskaya) (#1112)
* Optimise grefcount atomic operations (work by Nishal Kulkarni) (#1583)
* Fix resolving child GSettings schemas from the parent’s schema source (work
by Christian Persch) (#1884)
* Fix `g_date_time_format()` return value encoding if `LC_TIME` is not a UTF-8
locale but other locale settings are (work by Frederic Martinsons) (#2055)
* Set app name in freedesktop.org notifications with `GNotification` (work
by André Apitzsch) (#2069)
* Significantly improve retrieval of mount data on Windows (work by LRN based
on initial analysis by Jehan Pagès) (#2096)
* Add `g_file_info_get_(access|creation)_date_time()` accessors (work
by Abanoub Ghadban) (#2281)
* Always apply the remove_dot_segments algorithm to URIs in `g_uri_parse()`;
previously it was only applied to relative URIs (work
by Carlos Garcia Campos) (#2342)
* Rename git `master` branch to `main` (#2348)
* Various macro and version check cleanup (work by Gaël Bonithon,
Robin Verdenal-Tallieux, Nishal Kulkarni) (#2376, #2388, #2389)
* Add a `GTlsConnectionClass.get_negotiated_protocol` vfunc so that
`g_tls_connection_get_negotiated_protocol()` can be made thread-safe
(work by Michael Catanzaro) (#2393)
* Improve guess about whether a Windows process is a console process
(work by Princeton Ferro with input from LRN) (!1662)
* Add `g_steal_fd()` function (work by Simon McVittie) (!1966)
* Add `g_spawn_check_wait_status()` and distinguish more carefully between
wait status and exit status in the `GSpawn` API (work by Simon McVittie) (!1967)
* Document GLib’s security policy; see
https://gitlab.gnome.org/GNOME/glib/-/blob/main/SECURITY.md (!1985)
* Add `g_tree_remove_all()` (work by Lighto-Ku) (!1986)
* Simplify exception handling on Windows to eliminate risk of it failing due
to prior heap corruption (work by LRN) (!2031)
* Fix handling EOF when reading from SOCKS5 proxy stream (work
by Benjamin Berg) (!2032)
* Unset the registered state of a `GApplication` after it has shut down (work
by Marco Trevisan) (!2056)
* Support `GPattern` as a boxed type (work by Marco Trevisan) (!2066)
* Add `g_tls_connection_get_protocol_version()` and
`g_tls_connection_get_ciphersuite_name()` to get TLS connection information
(work by Michael Catanzaro) (!2077)
* Make TLS private key properties readable in `GTlsCertificate` (work
by Michael Catanzaro) (!2087)
* Fix detection of static libintl when building on macOS (work
by Jonas Hahnfeld) (!2109)
* Add `g_strv_builder_addv()` and `g_strv_builder_add_many()` to the
`GStrvBuilder` API (work by Alexandros Theodotou) (!2112)
* Add `not-valid-before`, `not-valid-after`, `subject-name`, `issuer-name`,
`dns-names`, `ip-addresses` properties to `GTlsCertificate`
(work by Ross Wollman) (!2113, !2142)
* Add PKCS#11 flags to `GTlsPasswordFlags` (work by Patrick Griffis) (!2126)
* Bugs fixed:
- #121 GThreadPool and the ability to free data waiting to be handled
- #229 g_match_info_fetch_named not return empty string as expected
- #310 ref doc doesn't talk about "helper getters" optimization in g_file_info.c
- #399 dlerror() not thread-safe in all libc, making gmodule-dl.c's fetch_dlerror fail sometimes
- #402 please consider: #define g_dbus_is_error_name(x) g_dbus_is_interface_name (x)
- #626 Add documentation example for GArray and g_array_set_clear_func()
- #642 update to pcre 8.35+
- #663 [patch] add g_prefix_error_literal()
- #793 Potentially confusing error message when object doesn't exist
- #817 gobject: Allow passing %NULL for @data in g_object_remove_toggle_ref
- #962 drop embedded pcre copy
- #1036 gdbusproxy stops tracking if dbus service restarts
- #1098 GBytes: add range-checked pointer getter
- #1112 GObject: add g_object_take_ref()
- #1583 Optimise gatomicrefcount operations
- #1864 Somewhat misleading documentation of GSourceFuncs
- #1884 `g_settings_get_child` not compatible with `g_settings_schema_source_new_from_directory`
- #2011 Add additional unit tests for D-Bus name watching
- #2055 g_date_time_format() does not return UTF-8 if LC_TIME is not UTF8 but other locale settings are UTF-8
- #2069 FreedesktopNotification fails to set app_name
- #2096 SHGetFileInfoW() is not reliable (time-wise)
- #2281 Add g_file_info_get_(access|creation)_date_time()
- #2300 Crash on Windows MSVC build around gio
- #2311 testfilemonitor test leaks ip_watched_file_t struct
- #2340 GIO tests fail to build with clang-cl
- #2342 g_uri_parse doesn't apply the remove_dot_segments algorithm to the path
- #2348 Investigate renaming master git branch to main
- #2352 RUN_FIRST | RUN_CLEANUP signals with a default handler ignore return values from user handlers
- #2359 GLib 2.68.0: gio-querymodules segfaults on Windows
- #2361 g_key_file_load_from_file segfaults on "Key[*]="like lines
- #2363 g_newa() doesn’t check for multiplication overflow
- #2368 g_task_run_in_thread () limits are not clear
- #2369 glocalfile: Add native exfat magic number to filesystem list
- #2376 GLIB_VERSION_MAX_ALLOWED < 2.60 does not warn when using G_GNUC_FALLTHROUGH
- #2387 json-glib does not build with glib 2.68.1
- #2388 Pixman compilation error due to glib
- #2389 Use G_GNUC_CHECK_VERSION to check the GNUC version
- #2393 g_tls_connection_get_negotiated_protocol() is not threadsafe
- #2397 Slow to list device in windows
- #2399 Change spelling of ‘serialise’ to ‘serialize’ in documentation
- #2405 Mention that GNotification requires an installed .desktop file to work
- #2409 Project crashes when executing g_application_mark_busy
- #2414 Devhelp: Glib Reference Manual/Glib Overview/Running Glib Applications formatting issue.
- #2416 certificate: g_tls_certificate_new_from_pem invalid read on non null terminated data
- #2417 GFile: `g_file_replace_contents()` reports `G_IO_ERROR_WRONG_ETAG` when saving from a symlink
- #2418 gatomic: __atomic functions are called for CV-qualified output variables
- #2423 resources.c:656:test_resource_binary_linked: 'found' should be TRUE
- !1514 gbookmarkfile: Don't crash if we're not visited
- !1662 gspawn-win32: improve guess whether process is console process
- !1812 docs: Expand documentation about D-Bus GUIDs
- !1957 Fix more warnings
- !1965 gversionmacros: Add version macros for GLib 2.70
- !1966 Add g_steal_fd() to API
- !1967 Distinguish more clearly between wait status and exit status
- !1969 glib_typeof: Move definition to its own header
- !1985 docs: Add a policy for handling security issues
- !1986 make g_tree_remove_all public
- !1996 Include glibconfig.h to get the G_OS_UNIX token
- !1998 gpollableinputstream: Add missing annotation
- !1999 goption.c: Simplfy parse_short_option()
- !2004 Some improvements to clang-cl builds
- !2005 introspection: Remove 'caller-allocates' from POD types
- !2006 fuzzing: Add fuzz tests for functions which parse paths
- !2008 tests: Deactivate tls-bindings test suite for windows
- !2011 docs: Fix example program link
- !2012 docs: Replace git.gnome.org with gitlab.gnome.org urls
- !2013 fuzzing: Fix assertion failure in fuzz_paths.c
- !2016 GIO W32: Pin gio DLL
- !2023 gtlspassword: Fix g-i annotation of return for g_tls_password_get_value
- !2025 [th/gdbus-cleanup] two minor cleanup patches for gdbusconnection.c
- !2026 Split g_test_log() messages that contain multiple lines
- !2027 Fix a handful of minor leaks found by Coverity
- !2030 Fix more warnings
- !2031 Re-simplify exception handling on Windows
- !2032 gsocks5proxy: Handle EOF when reading from a stream
- !2033 Fix annotation of count arguments
- !2036 gmacros.h: use G_GNUC_CHECK_VERSION
- !2038 Fix more warnings
- !2039 Implement G_ANALYZER_NORETURN for Coverity
- !2040 Fix more warnings
- !2041 refcount: Clarify when the ref count ends up undefined
- !2042 grefcount: Clarify that the initial reference count is 1
- !2043 gmacros.h: use g_macro__has_attribute() where possible
- !2046 gerror: Clarify docs around message requirements
- !2047 Fix more warnings
- !2048 Fix more warnings
- !2049 Fix typo in g_socket_listener_accept_async()'s comment
- !2050 gdbus: document completion after idle action for g_dbus_connection_signal_unsubscribe()
- !2051 Add nullable annotations in GUnixMountEntry
- !2052 g_string_replace(): Fix documentation of 'limit' parameter
- !2054 docs: Fix formatting of code block
- !2055 Improve handling of FILENAME_MAX
- !2056 application: Unset the registered state after shutting down
- !2063 Fix more warnings
- !2066 gpattern: Register as Boxed type and support introspection for it
- !2067 gmacros: missing check if __STDC_VERSION__ is defined
- !2069 gdbus-tool: Actually use argv[0] basename as program name
- !2071 gstring: Cleanup documentation of g_string_replace
- !2074 Fix more warnings
- !2075 gdtlsconnection: Fix a check for a vfunc being implemented
- !2077 tls: add functions to get protocol version and ciphersuite name
- !2078 gthreadedresolver: don't ignore flags in lookup_by_name_with_flags
- !2080 guuid: fix shift operation to parse hex string in uuid_parse_string()
- !2081 Fix more warnings
- !2085 gcredentials.h: Fix comment typo
- !2087 gtlscertificate: make private key properties readable
- !2088 Fix more warnings
- !2090 docs: Standardize spelling of serializ*
- !2091 Fix more warnings (clang)
- !2098 grefcount: Optimise g_atomic_ref_count_dec
- !2099 gmacros.h: G_NORETURN: remove useless checks
- !2100 tests: Add missing return value check in string test
- !2101 Fix more warnings
- !2104 tests: Drop use of g_test_bug_base()
- !2105 tests: Use a temporary file in the bookmarkfile tests
- !2106 Fix more warnings
- !2108 glib spawn-singlethread test only if F_DUPFD_CLOEXEC is defined
- !2109 meson: Fix detection of static libintl on macOS
- !2112 gstrvbuilder: add addv and add_many to the API
- !2113 tls: expose cert details on GTlsCertificate
- !2119 Fix more warnings
- !2120 gdbusobjectmanagerclient: Call GetManagedObjects async
- !2123 gdbus: Add various missing (nullable) or (not nullable) annotations
- !2126 gtlspassword: Add flags signifying PIN type for PKCS#11
- !2127 gutils: ensure g_find_program_in_path() return an absolute path
- !2130 Revert "tests: Deactivate tls-bindings test suite for windows"
- !2139 gdbus, win32: Fix accidental dllexport in static builds
- !2142 tls: expose SAN details on GTlsCertificate
- !2143 compiling.xml: Don't recommend backticks
- !2144 pcre: Drop internal libpcre copy
- !2145 gunixmounts: Document NULL return value for g_unix_mount_for()
- !2152 tests: A few small improvements to GBytes tests
- !2153 docs: Fix annotations for optional arguments
- !2155 glocalfilemonitor: Avoid a deadlock on finalization
- !2162 testgdate: fix -Wmisleading-indentation warning
- !2166 gtlscertificate: Add more annotations to new properties
- !2167 g_value_set_string description: clarified (unified), that v_string is a copy.
- !2173 gasyncqueue: Add missing (nullable) annotation to free function
- !2174 data-to-c.py: generate new-line at the end of the file
* Translation updates:
- Chinese (China)
- English (United Kingdom)
- Hebrew
- Nepali
- Occitan (post 1500)
- Serbian
Overview of changes in GLib 2.68.0
==================================
* Bugs fixed:
- !1987 build: Drop gconstructor_as_data_h usage from glib-compile-schemas
- !1989 glib.supp: Generalize some suppressions
- !1992 gbytesicon: Fix error in g_bytes_icon_new() documentation
- !1994 glocalfileoutputstream: Tidy up error handling
- !1995 tests: Fix copy/paste error in queue test
* Translation updates:
- Czech
- Finnish
- Italian
- Korean
- Lithuanian
- Polish
- Romanian
- Slovenian
- Turkish
Overview of changes in GLib 2.67.6
==================================
* Fix a security issue when using `g_file_replace()` with
`G_FILE_CREATE_REPLACE_DESTINATION` (#2325)
* Disallow operations on the empty path with `g_file_new_from_path()` (#2328)
* Various fixes for GLib when building with clang-cl on Windows (work by
Aleksandr Mezin) (#2341, #2344)
* Bugs fixed:
- #2325 file-roller symlink attack
- #2327 Teach glib-mkenums about GLIB_AVAILABLE_ENUMERATOR_IN_2_68, and start using it
- #2328 g_file_new_for_path("") yields CWD, which seems wrong
- #2341 glib-genmarshal output is sometimes empty because output file is not closed
- #2344 c_std=c11: gbitlock.c: ‘asm’ undeclared
- !1962 Validate D-Bus machine ID after loading
- !1976 Use the right permissions for directory watching on Win32
- !1977 gio/tests/{meson.build,pollable.c}: Determine libutil SONAME at build time
- !1980 glib.supp: Add another system thread suppression
* Translation updates:
- Basque
- Catalan
- Czech
- French
- Galician
- German
- Hungarian
- Indonesian
- Korean
- Latvian
- Portuguese
- Portuguese (Brazil)
- Serbian
- Spanish
- Swedish
- Ukrainian
Overview of changes in GLib 2.67.5
==================================
* Fix more issues with `glib_typeof` macro from 2.67.3–2.67.4 (work by
Iain Lane, Simon McVittie) (#2331, !1975)
* Fix regression with some FD mappings passed to `g_subprocess_launcher_spawnv()`
caused by changes for #2097 in GLib 2.67.4 (work by Olivier Fourdan,
Philip Withnall) (#2332)
* Fix detection of `str[n]casecmp()` when building with `clang-cl` (work by
Aleksandr Mezin) (#2337)
* Use zlib from subproject if configured with `wrap_mode=forcefallback` (work by
Seungha Yang) (!1959)
* Bump Visual Studio compilation requirement to VS 2012, and Windows 8 SDK for
GLib 2.67.x onwards (work by Chun-wei Fan) (!1970)
* Bugs fixed:
- #832 Some tweaks re: GRWLock
- #2331 glib 2.67.3: <glib.h> can no longer be included in extern "C" blocks
- #2332 Glib 2.67.4 causes gnome-shell to exit when spawning Xwayland on demand
- #2333 Missing relation between g_file_info_get_size() and G_FILE_ATTRIBUTE_STANDARD_SIZE attribute in documentation
- #2337 Linking fails when building with clang-cl because of str[n]casecmp
- !1936 tests: Fix leak of dlopened module in pollable test
- !1954 Change SkipAsyncData fields to be gsize (and not gssize)
- !1956 The ETag returned by various GFile functions is nullable
- !1959 meson: Use subproject zlib if "wrap_mode=forcefallback" was specified
- !1961 gkeyfilesettingsbackend: check for errors when creating file monitors
- !1970 README.win32.md: Mention about Window 8+ SDK requirement
- !1971 gio/tests/pollable.c: Fix build on non-Linux UNIX
- !1975 gatomic.h: Make `glib_typeof` API break opt in.
* Translation updates:
- Basque
- Danish
- English (United Kingdom)
- Galician
- German
- Indonesian
- Lithuanian
- Portuguese
- Portuguese (Brazil)
- Slovenian
Overview of changes in GLib 2.67.4
==================================
* Add a `g_string_replace()` function (work by Joshua Lee) (#225)
* Add `G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER` flag to simplify
the common case for writing a D-Bus authentication observer, allowing most
uses of `GDBusAuthObserver` to be dropped (#1804)
* Add a new `g_spawn_with_pipes_and_fds()` variant which supports renumbering
FDs (#2097)
* Add new g_memdup2() API to replace g_memdup(), which is vulnerable to a
silent integer truncation and heap overflow problem if not used carefully
(discovered by Kevin Backhouse, work by Philip Withnall) (#2319)
* Fix various regressions caused by rushed security fixes in 2.66.6 (work by
Simon McVittie and Jan Alexander Steffens) (!1932, !1941, #2323)
* Fix a silent integer truncation when calling g_byte_array_new_take() for
byte arrays bigger than G_MAXUINT (work by Krzesimir Nowak) (!1942)
* Fix `g_utf8_strdown()` to fix some issues in Turkish
(work by Kjell Ahlstedt) (!1930)
* Bugs fixed:
- #225 GString doesn't have a g_string_replace() function
- #587 g_input_stream_skip() out-of-bounds behavior is inconsistent between implementations
- #1804 Add G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER flag
- #2097 GSubprocessLauncher with FD assignment can clash with g_spawn_async internal pipe
- #2315 httpproxy: Need overflow protection when reading response during connection establishment
- #2319 CVE-2021-27219 (GHSL-2021-045): integer overflow in g_bytes_new/g_memdup
- #2322 g_test_dbus: double output when piping
- #2323 [GLIB 2.66.6] g_io_channel_set_line_term() stopped working with null terminated strings and length -1
- !1917 Adding a missing test on integer overflow within g_http_proxy_connect()
- !1918 Fix more warnings
- !1923 Add support for Tilix and Konsole
- !1930 guniprop: Fix g_utf8_strdown() for Turkish locale
- !1932 gtlspassword: Fix inverted assertion
- !1934 gdbus: Reject attempts to set future connection or server flags
- !1938 Fix more warnings
- !1939 ci: Temporarily disable macOS CI job as runner is offline
- !1940 Fix more warnings
- !1941 gkeyfilesettingsbackend: Fix basename handling when group is unset
- !1942 CVE-2021-27218: gbytearray: Do not accept too large byte arrays
- !1947 Revert "Merge branch 'wip/pwithnall/macos-ci-disable' into 'master'"
- !1948 tests: Use a more realistic language code than sv_SV
- !1949 gatomic: Make fallback g_atomic_pointer_get type-safe
- !1951 Add a test for parsing 0 as double
- !1955 tests: Add missing NULL terminator to spawn-singlethread test
* Translation updates:
- Catalan
- Galician
- Hungarian
- Portuguese
- Romanian
- Slovenian
- Spanish
- Swedish
- Turkish
- Ukrainian
Overview of changes in GLib 2.67.3
==================================
* Add new `g_memdup2()` API to replace `g_memdup()`, which is vulnerable to a
silent integer truncation and heap overflow problem if not used carefully
(discovered by Kevin Backhouse, work by Philip Withnall) (#2319)
* Add new `g_dbus_object_path_escape()` and `g_dbus_object_path_unescape()` APIs
to provide one way of escaping arbitrary bytestrings for use in D-Bus object
paths (work by Lars Karlitski and Frederic Martinsons) (#968)
* Use `bash-completion.pc` (if available) to provide the path to install
completion files into (work by Frederic Martinsons) (#1054)
* Fix support for public/private trigraphs in `glib-mkenums` (work by Matthias Klumpp) (!1870)
* Add `glib_debug` configure option to allow disabling debug infrastructure in
builds with debug symbols enabled (work by Ole André Vadla Ravnås) (!1889)
* Fix a regression where `PATH` would always be searched when using `g_spawn()`,
even when it wasn’t supposed to (work by Simon McVittie and Thomas Haller) (!1902)
* Override `gio-querymodules` in Meson when used as a submodule (work by Xavier Claessens) (!1909)
* Bugs fixed:
- #344 gdbus(1) command-line completion issues
- #968 gdbus: add g_dbus_object_path_{un,}escape
- #1054 Use pkg-config to get path for bash-completion file installation
- #1180 GUnixInputStream and GUnixOutputStream don't consider TTYs pollable
- #2011 Add additional unit tests for D-Bus name watching
- #2226 clang++ compilation fails on clusterfuzz
- #2292 Cannot find a common ancestor when running CI style check jobs
- #2299 GObject introspection annotation of g_closure_new_object() is wrong
- #2305 GIO security hardening causing gnome-keyring to regress when session bus is provided by dbus-launch (dbus-x11)
- #2314 gdatetime: math library link issue
- #2319 GHSL-2021-045: integer overflow in g_bytes_new/g_memdup
- !610 Various memory leak cleanups to GSettings tests
- !1804 Add more GIR annotations to gparam.c and gsignal.c
- !1823 Fix more warnings
- !1843 gfile: Add Linux kernel headers compatibility kludge
- !1847 Port to QNX
- !1853 ginetaddress: Handle systems without IPv6 support
- !1859 docs: update g_action_group_activate_action() remote activation semantics
- !1860 glocalfile: Fix an uninitialized variable
- !1865 tests: Add more debug information to gdbus-connection-slow
- !1868 gdesktopappinfo: Fix validation of XDG_CURRENT_DESKTOP
- !1870 mkenums: Support public/private trigraph again
- !1873 Fix possible integer overflow of g_socket_send_message()
- !1876 Fixing g_socket_send_message() documentation to make it clearer
- !1877 Fix more warnings
- !1878 Another fix on g_socket_send_message()
- !1879 Fix more warnings
- !1880 GError documentation tweaks
- !1881 docs: Move ‘Notes’ section from README to NEWS
- !1883 gutils: Document caching of XDG directory variables
- !1884 gthread-win32: Use SetThreadDescription Win32 API for setting thread name
- !1887 ci: Fix msys-mingw32 CI builds due to package rename
- !1888 docs: Add documentation for GLIB_VERSION_CUR_STABLE and PREV_STABLE
- !1889 build: Add glib_debug option
- !1890 gtype: Improve formatting of GType documentation
- !1891 Fix more warnings
- !1893 gwin32appinfo: Fix printf length sub-specifier
- !1894 gsocket: Fix SO_NOSIGPIPE regression on Darwin
- !1898 gtestutils: Add g_test_get_path() API
- !1899 m4macros: replace obsolete macros AC_TRY_RUN and AC_TRY_LINK in glib-2.0.m4
- !1900 [th/gsignal-cleanup] minor changes to GSignal related code
- !1901 Check if the remote already exists before adding it.
- !1902 spawn: Don't set a search path if we don't want to search PATH
- !1903 m4macros: Increment serial number of glib-2.0.m4
- !1905 Start to ignore known leaks under AddressSanitizer
- !1906 gdbus-serialization: Don't leak string containing first serialization
- !1908 Fix straightforward memory leaks in tests
- !1909 Meson: override gio-querymodules program
- !1910 gio: Add explicit virtual g-i annotations for undiscovered invoker relationship
- !1911 Fix more warnings
- !1915 Mark g_key_file_get_comment() key parameter as nullable
- !1919 atomic: Fix type check of g_atomic_pointer_compare_and_exchange()
- !1921 guri: Mark g_uri_get_host as nullable
- !1925 gapplication: Fix a memory leak
* Translation updates:
- Czech
- Friulian
- Galician
- Hungarian
- Portuguese
- Portuguese (Brazil)
- Romanian
- Spanish
- Ukrainian
Overview of changes in GLib 2.67.2
==================================
* Add `gio launch` command to execute programs (work by Frederic Martinsons) (#54)
* Fix unused parameter warnings in code generated by `gdbus-codegen` (work by Frederic Martinsons) (#1105)
* Officially deprecate `to-pixdata` option for `glib-compile-resources`, in favour
of simply embedding more modern image formats in linked-in `GResource` files (#1281)
* Support querying and running UWP applications on Windows (work by LRN) (#1991)
* Support `gio trash --restore` and `gio trash --list` commands (work by Frederic Martinsons) (#2098)
* No longer read environment variables for GIO module locations when running as setuid (#2168)
* More progress on fixing compiler warnings (work by Emmanuel Fleury) (!1773 and others)
* `GKeyFile` performance improvements (work by Timm Bäder) (!1829, !1832)
* Improve UDP socket behaviour on Windows (work by Marco Mastropaolo and Ole André Vadla Ravnås) (!1827, !1844)
* Add `-Dtests` meson configure option for disabling tests entirely (work by Ole André Vadla Ravnås) (!1850)
* Bugs fixed:
- #54 Add `gio launch` command to execute .desktop files
- #513 GSignal: Impossible to have return values in signals which are G_SIGNAL_RUN_FIRST only
- #514 GSignal: Only limited usage of accumulator function possible
- #1105 gdbus-codegen: fix some unused parameter warnings
- #1188 Crash in gapplication.c:1014 when reading error message if dbus_register returns false without setting error
- #1281 Update glib-compile-resources and GResource docs to deprecate/remove to-pixdata in stable/master resp.
- #1283 gvfs-trash error message when unable to create trash directory is unhelpful
- #1568 GObject tutorial does not mention floating references
- #1991 W32: Glib cannot run UWP applications
- #2098 gio trash: restore trashed files to their original location
- #2168 giomodule: Loads GIO modules even if setuid, etc.
- #2264 GPtrArray might call qsort() with NULL data
- #2265 2.67.1 regression: assertion failure starting gnome-terminal
- #2275 gio/completion/gio: Some variables are not localized
- #2279 g_source_is_destroyed example uses deprecated GDK API
- !1304 Extended error
- !1773 Fix more warnings
- !1783 gtlsdatabase: remove duplicate precondition check
- !1784 fuzzing: Add more fuzzing tests for various string parsing functions
- !1785 glocalfile: Add an assertion to help static analysis
- !1787 Debuggability improvements in gosxappinfo.m
- !1788 gdate: Validate input as UTF-8 before parsing
- !1791 gdatetime: Disallow NAN as a number of seconds in a GDateTime
- !1794 gio-tool-info: Prevent criticals if mount options are not available
- !1796 gfileutils: Fix typo in docs
- !1797 gdatetime: Improve ISO 8601 parsing to avoid floating point checks
- !1801 glib: Add more missing return value annotations
- !1802 gobject: More missing return value annotations
- !1806 tests: Add some rounding tolerance in timeout test
- !1807 python: Reformat some files to keep style-check-diff happy
- !1808 tests: Be more lenient with timing checks on asyncqueue pops
- !1810 gfileinfo: Add missing preconditions to g_file_info_get_attribute_data()
- !1811 Add more missing nullable annotations
- !1813 gdbus-codegen: Ignore some flake8 warnings
- !1815 Fix more warnings
- !1816 fuzzing: Add more GUriFlags to the URI parsing test
- !1817 fuzzing: Add more parsing flags to the GKeyFile test
- !1818 Fix more warnings
- !1819 Fix more warnings
- !1821 gdate: Limit length of dates which can be parsed as valid
- !1822 Fix more warnings
- !1827 Windows: fix FD_READ condition flag still set on recoverable UDP socket errors.
- !1829 keyfile: Delay calling g_get_language_names() until it's needed
- !1830 gsocket: Fix credentials error-handling on Apple OSes
- !1832 More small GKeyFile performance improvements
- !1834 Update gvdb
- !1837 gdatetime.c: Fix MSVC builds for lack of NAN items
- !1838 Minor improvements to GError documentation
- !1840 Add nullable annotation for g_file_get_uri_scheme
- !1841 gthread: Fix incorrect cast
- !1842 gthread: Port native mutex to Clang
- !1844 gsocket: Improve default UDP behavior on Windows
- !1845 gsocket: Fix use-after-close
- !1848 gwin32: Always use unicode APIs
- !1850 build: Add option for disabling tests
- !1855 build: Fix ssize_t detection on older versions of glibc
- !1856 build: Fix Android system checks
- !1857 gtestutils: Fix g_assert_not_reached() on MSVC
- !1861 More GError tests
- !1863 tests: Ignore -Wformat-nonliteral warning in new GError tests
* Translation updates:
- Catalan
- Galician
- German
- Lithuanian
- Romanian
- Spanish
- Ukrainian
Overview of changes in GLib 2.67.1
==================================
* Deprecate `g_time_zone_new()` in favour of `g_time_zone_new_identifier()`,
which makes error checking easier (#553)
* Remove `volatile` from various public APIs, including `G_DEFINE_*`. You should
adjust your code to not use `volatile` for atomic variables, `GOnce`
variables, or mostly anything else (see
http://isvolatileusefulwiththreads.in/c/). (#600)
* Support passing file handles to `gdbus` command line tool (work by
Norbert Pocs and Tim Waugh) (#961)
* Add `g_assert_cmpstrv()` test convenience function (work by Niels De Graef) (#2015)
* Changes to the behaviour of the `G_URI_FLAGS_SCHEME_NORMALIZE` scheme
normalization flag in `GUri` (work by Carlos Garcia Campos) (#2257, !1716)
* Add new `--run-prefix` and `--skip-prefix` options to GTest, to allow running
or skipping test suites by prefix (work by Frederic Martinsons) (!1738)
* Fix thread-safety of `GBinding`; see the updated documentation for
`g_object_bind_property()` for full details — if your code uses `GBinding`
across threads, you should re-check it against the latest documentation, use
`g_binding_unbind()` rather than implicitly dropping the binding with your
last `g_object_unref()` call, and use `g_binding_dup_source()`/`g_binding_dup_target()`
instead of `g_binding_get_source()`/`g_binding_get_target()`
(work by Sebastian Dröge) (!1745)
* Bugs fixed:
- #553 Improved error-handling when timezone lookup fails
- #600 Remove "volatile" from G_DEFINE_*
- #961 gdbus tool: file handle passing doesn't work
- #994 mark g_assert_* as "noreturn" also on MSVC
- #1560 Can't get data for empty compressed resources
- #1592 Main loop ignores GPollFD sources when there is at least one source ready with priority higher than default one
- #1833 meson: reconsider G_DISABLE_CAST_CHECKS handling
- #1849 Documentation of g_set_object(): can object_ptr be null?
- #1963 Follow-up from "gdbusmessage: Limit recursion of variants in D-Bus messages"
- #2015 Add g_assert_cmpstrv() test utility
- #2046 Add pylint and shellcheck CI checks
- #2074 Big dbus writes with a FD list fail
- #2076 g_type_register_fundamental() and g_type_add_interface_static() should not trigger valgrind leak warnings
- #2150 Add URI parsing tests from GstURI to GUri
- #2221 GLib-GIO:ERROR:../gio/tests/gsocketclient-slow.c:99:on_event: 'connection' should be NULL
- #2223 Documentation of g_strrstr_len is misleading; suggested fix
- #2233 GSocketClient crashes on connection failure
- #2236 Docs: gdbus-codegen example links broken
- #2253 In gspawn.c, use sysconf() system call on Mac OS, instead of default maxfiles limit of 4096
- #2257 GUri: apply scheme normalization flag consistently
- !1251 Improve support for interface types
- !1385 gobject: allocate parameter list for g_object_new_valist() entirely on stack
- !1629 Add some tracing to GTask
- !1699 Fix signedness warnings
- !1701 gio: Fix some remaining DocBook syntax in a documentation comment
- !1708 gio: Add missing nullable annotations
- !1716 guri: Normalize uri segments if they are encoded and add a flag to do scheme-based normalization
- !1722 gio: Fix various typos of the name ‘D-Bus’
- !1724 glib/tests/fileutils: Fix expectations when running as root
- !1726 gdbus: Document the intended semantics of handles and fdsTim Waugh
- !1731 Make more use of g_assert_no_errno()
- !1733 gdbusauthmechanismsha1: Don’t create keyring dir when running as setuid
- !1734 glocalfileinfo: Use a single timeout source at a time for hidden file cache
- !1735 gobject: Standardise on the term ‘instantiatable’
- !1737 gscanner: Avoid undefined behaviour copying between union members
- !1738 Extend the usage of -p option for glib test framework
- !1740 Fix more warnings
- !1745 Make GBinding thread-safe (alternative approach)
- !1746 gkeyfilesettingsbackend: improve error-checking
- !1747 Fix broken link syntax in g_vasprintf docs
- !1748 Fix minor Coverity return value warnings
- !1750 Fix warnings
- !1754 GWin32AppInfo: Use a thread pool for async appinfo tree rebuilds
- !1755 Minor Coverity fixes
- !1756 shellcheck fixes
- !1757 Python formatting improvements
- !1758 Fix warnings
- !1765 Fix more warnings
- !1766 Fix some gdatetime annotations
- !1767 tests: Fix GDateTime tests on FreeBSD
- !1769 gfileicon: Fix unused-but-set variable with G_DISABLE_ASSERT
- !1770 Minor scan-build fixes
- !1771 macos: fix frexpl checks in cross-compilation
- !1776 gio: ‘security_context_t’ is deprecated
- !1780 Minor Coverity fixes
- !1781 gspawn: Handle ENOSYS from close_range()
- !1782 ghostutils: Abandon hostname conversion early if it’s too long
* Translation updates:
- Czech
- Spanish
- Ukrainian
Overview of changes in GLib 2.67.0
==================================
* Important and time-critical fix to DST transitions which will happen in Europe
on 2020-10-25 on distributions which use the ‘slim’ tzdata format (which is
now the default in tzdata/tzcode 2020b) (work by Claudi M., LRN) (#2224)
* Further timezone handling changes to improve performance of `GTimeZone` (work
by António Fernandes, Sebastian Keller) (#2204)
* Fix deadlock on Windows when `G_SLICE` is set in the environment (diagnosis by
Christoph Reiter) (#2225)
* Fix UTF-8 validation when escaping URI components (thanks to Marc-André Lureau) (!1680)
* Security fix for incorrect scope/zone ID parsing in URIs (!1669)
* Add `g_log_writer_default_set_use_stderr()` API for printing log messages to stderr (work by Simon McVittie) (#2087)
* Improve connection error reporting when IPv6 is available and disabled (work by Michael Catanzaro, debugging by Konstantin Kharlamov and Milan Crha) (#2211)
* Fix definition of `G_MSVC_SYMBOL_PREFIX` for ARM (work by Wolfgang Stöggl) (!1187)
* Add `GStrvBuilder` convenience API for building `NULL`-terminated string arrays (work by Robert Ancell) (!1417)
* Support appinfo verbs other than ‘open’ on Windows (work by LRN) (!1502)
* Expose node-based `GTree` APIs (work by Maciej S. Szmigiero) (!1509)
* Add `G_DBUS_METHOD_INVOCATION_HANDLED`/`_UNHANDLED` convenience constants (work by Simon McVittie) (!1603)
* Set `IP_BIND_ADDRESS_NO_PORT` on sockets when binding to local addresses (work by Cristian Rodríguez) (!1598)
* Add Meson option for libelf support (work by Niklas Gürtler) (!1650)
* Add support for PKCS #11-backed TLS certificates (work by Patrick Griffis) (!1663)
* Add `g_subprocess_launcher_close()` API to make `GSubprocessLauncher` more usable in bindings (work by Sergio Costas) (!1677)
* Bugs fixed:
- #1233 GType for GTree
- #2077 Invalid Pointer Arithmetic in g_path_get_basename
- #2087 Respecting G_MESSAGES_DEBUG in a custom log writer should be easy to do
- #2164 GDBus DBUS_COOKIE_SHA1 mechanism may use too old a key
- #2194 gtk3/glib crash on gimp
- #2203 fstatat is available only on macOS 10.10+
- #2204 Time zone cache is constantly invalidated if TZ is NULL
- #2209 gthreadedresolver: faulty logic in parse_res_txt
- #2210 g_private_replace ordering issue
- #2211 "Network is unreachable" error returned when IPv6 is disabled and network is reachable using IPv4
- #2215 DST incorrectly ends on wrong dates
- #2224 top bar time is incorrect, timezone map in control center is broken
- #2225 Setting G_SLICE makes Windows programs hang since 2.66
- !1187 Define G_MSVC_SYMBOL_PREFIX correctly for ARM
- !1417 gstrvbuilder: Add a new object to make NULL-terminated string arrays.
- !1449 gio: Expose g_file_query_info_for_copy()
- !1502 GWin32AppInfo: Support verbs other than "open"
- !1509 GTree: add an ability to iterate over a tree and a node-based API
- !1575 Use C++11 decltype where possible
- !1598 gsocketclient: set IP_BIND_ADDRESS_NO_PORT if binding to local address
- !1603 GDBus: Add G_DBUS_METHOD_INVOCATION_HANDLED, _UNHANDLED
- !1643 Minor Coverity fixes
- !1645 Fix various signedness warnings
- !1647 Fix warnings (keep going)
- !1648 glocalfile: Never require G_LOCAL_FILE_STAT_FIELD_ATIME
- !1650 Make libelf dependency optional via meson feature
- !1652 trash portal: Handle portal failures
- !1654 gio-tool-trash: Prevent recursion to speed up emptying trash
- !1657 glist: Clarify that g_list_free() and friends only free an entire list
- !1658 utils: Limit the scope of the variable `max`
- !1661 Lookup fallback time zones in the cache to improve performance
- !1663 gtlscertificate: Add support for PKCS #11 backed certificates
- !1665 Fix g_module_symbol() under Windows sometimes not succeeding
- !1669 guri: Fix URI scope parsing
- !1670 GSubprocessLauncher: Move cleanup to dispose()
- !1671 gdatetime: Avoid integer overflow creating dates too far in the past
- !1673 CI: Re-enable code coverage reporting for MSYS2 builds
- !1674 Add version macros for 2.68
- !1675 Make static assertions about standard types
- !1677 gsubprocesslauncher: Allow to close FDs
- !1678 gmessages: Document that using a custom log writer basically disables fatal handling
- !1679 gmain: Fix minor typo in documentation
- !1680 guri: Fix UTF-8 validation when escaping URI components
- !1681 gspawn: Handle error opening /dev/null
- !1686 Various improvements in GSocketClient
- !1687 uri: add missing (not)nullable annotations
- !1688 gspawn: Use close_range() if available to close FDs between fork/exec
- !1691 gmain: Fix possible locking issue in source unref
- !1692 gsignal: Plug g_signal_connect_object leak
- !1695 gfile: Clarify refcount handling for g_file_replace_contents_bytes_async()
- !1696 Fix various minor scan build warnings
- !1706 Add various missing nullable annotations
- !1712 Revert "Use C++11 decltype where possible"
- !1714 gmacros: Use __typeof__ when compiling with Clang
- !1718 gtrace: Add G_GNUC_PRINTF annotation
* Translation updates:
- Chinese (Taiwan)
- Danish
- Greek, Modern (1453-)
- Hebrew
- Latvian
- Portuguese
- Russian
- Slovak
- Ukrainian
Overview of changes in GLib 2.66.0
==================================
* Bugs fixed:
- #2200 missing tab in makefile rule
- !1639 guri: Fix user passed to g_uri_split_with_user() not being NULL'd
* Translation updates:
- Croatian
- Hungarian
- Italian
- Serbian
- Slovak
- Swedish
Overview of changes in GLib 2.65.3
==================================
* Fixes to the new `statx()` calls — note that since GLib 2.65.2 uses `statx()`
(if available) instead of `stat()`/`fstat()`/`lstat()`/`fstatat()`, syscall
sandboxing for third party applications might need to be updated
* Bugs fixed:
- #2189 g_file_query_info on ro file system: Numerical result out of range
- #2191 Calling nice(20) can lead to thread related warnings
- #2197 Segfaulting Integer Overflow in g_option_group_add_entries
- !1025 Big o notations
- !1626 gio: Document g_settings_new() missing schema behaviour
- !1627 gthread: Add a sysprof mark for thread creation
- !1628 Replace a bunch of fallthrough comments with an attribute
- !1631 Fix splice behavior on cancellation
- !1632 Fixing signedness warning in glib/gfileutils.c
- !1635 gcancellable: Mark a variable as unused if built with G_DISABLE_ASSERT
* Translation updates:
- Basque
- Catalan
- Chinese (China)
- Czech
- English (United Kingdom)
- Friulian
- German
- Japanese
- Kazakh
- Korean
- Lithuanian
- Polish
- Portuguese (Brazil)
- Slovenian
Overview of changes in GLib 2.65.2
==================================
* Support `statx()` and `G_FILE_ATTRIBUTE_TIME_CREATED` (work by Andre Miranda) (#1970)
* Fix deadlock in `g_subprocess_communicate_async()` (work by Alexander Larsson) (#2182)
* Add `%f`/microsecond placeholder support to `g_date_time_format()` (work by Johan Bjäreholt) (!1605)
* Bugs fixed:
- #5 g_new0 performance
- #1970 Make G_FILE_ATTRIBUTE_TIME_CREATED support stx_btime
- #2176 Inconsistent introspection annotations for g_input_stream_read and g_socket_receive
- #2182 g_subprocess_communicate_async() can deadlock when writing
- !1593 CI support for Coverity Scan
- !1605 gdatetime: Add %f format specifier and microsecond precision to g_date_time_format_iso8601
- !1613 gfile: Document TOCTTOU avoidance using g_file_delete()
- !1615 docs: glib-compile-resources: json-stripblanks
- !1616 gioerror: Map WSAENETRESET on Windows to G_IO_ERROR_CONNECTION_CLOSED
- !1619 Minor Coverity fixes
- !1620 gvariant: Ensure GVS.depth is initialised
- !1622 gdatetime: Widen a variable before multiplication
- !1623 gcancellable: Assert that make_pollfd() call succeeds
- !1624 gdbusaddress: Drop an unnecessary NULL check
- !1625 gdbusmessage: Drop redundant uint ≥ 0 checks
* Translation updates:
- French
- Galician
- Greek, Modern (1453-)
- Indonesian
- Romanian
- Spanish
- Turkish
- Ukrainian
Overview of changes in GLib 2.65.1
==================================
* Add `GUri` API for parsing, building and representing URIs according to
[RFC 3986](https://tools.ietf.org/html/rfc3986) (work by Marc-André Lureau) (#110)
* Fix handling of xattr data with embedded nuls (#422)
* Add `g_file_set_contents_full()` which gives more control over fsyncs (#1302)
* Fix cross-compilation on iOS (work by Nirbheek Chauhan) (#1868)
* Add a `x-gvfs-notrash` option to disable trash on certain mounts (work by Ondrej Holy) (!1549)
* Support ‘slim’ TZif files generated with `zic -b slim` (work by Paul Eggert) (#2129)
* Support emitting profiling marks from `GMainContext` to sysprof capture files (!1551)
* Accept IPv6 zone IDs in `g_hostname_is_ip_address()` (work by Marc-André Lureau) (!1604)
* Bugs fixed:
- #4 Include a UTF-8 safe escaping function
- #110 Basic URI operations
- #137 display_name should be always available
- #250 GTestCase's setup/teardown functions appear pointless
- #272 allow thread pools to adjust the number of threads to the number of cpu's/cores
- #422 Wrong assumption in libgio GFileInfo on xattr/acl string: it may contain binary data.
- #858 glib2 @2.40.0 issues a "Got weird mach timebase info" error (Macports, PPC)
- #1022 g_object_new Should Mention That it Zeroes Out Private Struct
- #1200 Make g_assert_null/nonnull clang static analyzer friendly
- #1203 Add a variant of g_file_set_contents() which accepts file mode
- #1288 gmacros: Introduce non-public G_CLANG_ANALYZER_NORETURN macro
- #1302 g_file_set_contents() can fill target with NUL bytes if it did not previously exist
- #1670 ThreadSanitizer data races
- #1764 cancellable test: on_mock_operation_ready: assertion failed (iterations_requested > iterations_done): (10 > 10)
- #1868 iOS cross compile impossible due to frexpl check not supporting cross compilation
- #1869 iOS doesn't have Cocoa, which thankfully isn't a requirement of this code that supposedly requires it
- #1982 GSocketAddressEnumerator documentation is inconsistent with existing usage
- #2127 Spurious GIO module initialization on Fedora Silverblue (and other ostree-based systems?)
- #2129 date_time bugs after 2038, or with today's date and 'zic -b slim' TZif files
- #2132 Valgrind reports "still reachable" after g_thread_pool_new/free
- #2136 Valgrind reports "still reachable" after g_option_context_parse
- #2140 calling malloc in fork child is undefined-behaviour
- #2141 g_value_copy is was recently broken
- #2149 Make G_URI_FLAGS_PARSE_STRICT the default
- #2156 Merge _g_uri_parse_authority() into GUri
- #2159 Thread-unsafe initialization in gportalsupport.c
- #2160 More guri regressions
- #2165 More guri breakage
- #2166 g_uri_build() functions should accept a NULL scheme
- !1328 guri: new URI parsing and generating functions
- !1527 Add g_tls_connection_get_channel_binding_data call and enums
- !1534 Various GLocalFile fixes related to the filesystem::remote attribute
- !1546 tree: Fix various ableist language
- !1549 Add support to ignore trash for certain mounts
- !1551 Add initial sysprof support
- !1553 gtestutils: Mark that g_assert_whatever() macros do not normally return
- !1554 GUri build fixes
- !1555 Remove c-format from the string that is not c-formatted
- !1556 fuzzing: Another fix for g_uri_parse() test
- !1557 A few g_uri_parse_params() improvements
- !1559 Fix buffer read overflows in GUri
- !1561 gconvert: Use a pointer array in extract_uris
- !1563 gdesktopappinfo: Fix unnecessarily copied and leaked URI list
- !1564 tests: limit number of threads to something reasonable.
- !1570 Reduce CI bandwidth requirements
- !1572 Add GUriParamsIter
- !1576 gtask: Only override g_task_set_source_tag() for GLib ≥ 2.60
- !1577 uri: add illegal_characters argument to unescape_bytes
- !1578 tests: Add tests for RFC 8536 v3 parsing of time zones
- !1579 glib: Use g_getenv everywhere instead of getenv
- !1582 appinfo: Add properties
- !1583 gio: Remove broken support for XP
- !1590 Use CI schedules and DAGs
- !1591 gfileutils: Fix O_NOFOLLOW handling on BSD systems
- !1594 GFile: Document that G_FILE_CREATE_REPLACE_DESTINATION can only be used with...
- !1595 uri: add ENCODED_PATH & ENCODED_FRAGMENT flags
- !1599 uri: do not add ipv6 brackets on non-ip host
- !1600 uri: do not encode ':' and ';' from userinfo
- !1601 timezone: Fix an uninitialized use
- !1602 Revert "Merge branch 'appinfo-properties' into 'master'"
- !1604 Make g_hostname_is_ip_address() accept ipv6 zoneid
- !1609 Fix multiple typos in guri.c
- !1611 guri: Always prepend `//` to the host when building a URI
- !1612 guri: Document and check restrictions on path prefixes
* Translation updates:
- Catalan
- Kazakh
- Lithuanian
- Romanian
- Slovenian
- Spanish
- Ukrainian
Overview of changes in GLib 2.65.0
==================================
* Fix memory monitor tests to only be installed if installed-tests are enabled,
and to be skipped if GObject-Introspection is too old (!1407)
* Stability improvements for various unit tests
* D-Bus credentials support on macOS (#507)
* MSVC support for the files generated by `glib-compile-resource` and `gdbus-codegen` (#1215, !1452)
* Year 2038 fixes involving new API in `GBookmarkFile` (#1931)
* SOCKS5 proxy authentication fixes (#1986, #1988)
* Support for more than `MAXIMUM_WAIT_OBJECTS` FDs for `g_poll()` on Windows (#2107)
* Add `g_assert_no_errno()` test macro for testing POSIX-style functions (!1204)
* Update Unicode Character Database to version 13.0.0 (!1422)
* Support storing interned strings in `GValue`s efficiently, via `g_value_set_interned_string()` (#2109)
* Bugs fixed:
- #2 g_filename_from_utf8() should normalize?
- #176 the behaviour of constructors for GLib data types is not specified if memory allocation fails
- #480 /gdbus/connection/signals test intermittently fails: assertion failed (count_name_owner_changed == 2): (1 == 2)
- #507 GDBus credentials don’t work on OS X
- #602 GLib.Thread not usable from GObject-Introspection
- #1154 Missing documentation how to set a value in a GArray
- #1215 MSVC cannot build glib-compile-resource's output resource file
- #1323 meson, autotools: figure out if mem barrier is needed for arm64 host variant aarch64
- #1398 gdate: Add error handling for GetDateFormatW calls
- #1841 Signal handler disconnection race when finalising GCancellableSource
- #1851 Meson Build Failure on Windows: Undefined Reference to libiconv
- #1911 Memory leak in g_param_spec_flags and/or g_param_spec_enum
- #1931 GBookmarkFile API involves time_t
- #1954 gdbus-server-auth intermittent failure
- #1957 gdbus-connection test failure on FreeBSD
- #1986 Socks5 Proxy: Authentication seems broken
- #1988 Socks5 Proxy: Wrong error returned when using no authentication
- #2038 Bindings: g_tls_connection_set_database() does not allow None as argument
- #2051 GUnixOutputStream can block on close()
- #2057 Call malloc_trim() under memory pressure
- #2067 Glib uses _Static_assert in C++17 mode
- #2081 gdbus error messages contains mixed up body and head signatures
- #2082 AM/PM - specific variation support needed to Hebrew language
- #2083 Memory monitor tests fail if dbusmock isn't installed
- #2092 FreeBSD CI timing out in gdbus-connection filter test
- #2094 Deprecation warnings when compiling with -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_28 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_28
- #2106 Duplicated if - else if conditions in gtranslit.c
- #2107 g_poll() implementation on Windows stall when more than MAXIMUM_WAIT_OBJECTS FDs have passed
- #2109 GValue: Add support for interned string
- #2124 g_file_info_get_content_type() may return NULL
- #2132 Valgrind reports "still reachable" after g_thread_pool_new/free
- #2134 Valgrind reports "still reachable" after `g_uuid_string_random()`.
- #2135 Valgrind reports "still reachable" after g_key_file_new/free
- #2136 Valgrind reports "still reachable" after g_option_context_parse
- !1204 gtestutils: Add a new g_assert_no_errno() test macro
- !1302 gobject: new g_param_is_valid_property_name() function.
- !1329 Support nanoseconds in stat timestamps on Windows
- !1341 MUI capabilities for GWin32RegistryKey
- !1360 CI: Show execution environment before we start
- !1395 tests: Move memory_monitor_tests under installed_tests_enabled
- !1396 macros: Define G_GNUC_FALLTHROUGH for more compilers
- !1397 tests: Skip MemoryMonitor test if GObject-Introspection is too old
- !1398 gcontenttype: Fix crash in _get_generic_icon_name()
- !1402 ci: Update Android Docker image for aarch64 CPU naming change
- !1405 tests: Disable link-time warning for mem-overflow
- !1406 Replace fallthrough comments with G_GNUC_FALLTHROUGH
- !1408 tests: Don't compare strings by pointer
- !1409 gdummytlsconnection: Add missing overrides for ALPN properties
- !1413 gapplication: Fix a minor typo in the documentation
- !1414 gstrutils: Set locale explicitly for search-utils test
- !1415 meson: Don't use assert in test code
- !1418 ginetaddress, ginetsocketaddress: Add missing (nullable) annotations
- !1422 glib: Update Unicode Character Database to version 13.0.0
- !1423 gobject: Clarify assertion failure on ref-after-finalize
- !1424 docs: Fix configuration with gtk_doc=true and installed_tests=false
- !1425 gdbusconnection: GDBusSignalCallback can have a NULL sender_name
- !1426 gunidecomp: Update and reformat Unicode version support history
- !1427 gicon: Clarify GVariant refcounting in docs
- !1428 Add missing 'extern' to the dllexport version of GLIB_VAR/GOBJECT_VAR
- !1429 Fix arch detection ifdefs in glib/valgrind.h
- !1430 Use __builtin_trap() on Clang on any platform
- !1431 glib-unix.c: fix heap corruption in g_unix_get_passwd_entry
- !1432 docs: Mention new gio tool options
- !1433 meson: Fix buildtype usage
- !1434 gdbusconnection: Clarify nullability of SignalInstance.sender
- !1436 glib: Update internal copy of valgrind.h from Valgrind 3.15 release
- !1437 gmarkup tests: tab character escape/unescape
- !1439 Don't misdetect stpcpy on windows platforms on clang
- !1440 Silence clang errors about -Wformat-nonliteral due to missing intermediate attributes
- !1441 Meson: Override every dependency glib provides
- !1442 gfile: Fallback to fast-content-type if content-type is not set
- !1443 gio: use TAPTestRunner in the memory monitor tests
- !1444 Meson: Add glib-checks and glib-asserts options
- !1452 Make symbols generated by gdbus-codegen exportable on Visual Studio-style builds
- !1455 gdesktopappinfo: Note that search results are not filtered
- !1456 GCredentials documentation fixes
- !1458 meson: Exclude gosxutils.m when building for iOS
- !1459 meson: Fix the gnulib checks for isnan* functions
- !1460 glib: Sync the local modification to glib/valgrind.h to what was upstreamed
- !1462 gvariant-core: Add a note about memory safety of children
- !1463 gdesktopappinfo: Add several nullable annotation to GAppInfo getters
- !1464 Update Fedora CI
- !1466 CI: Switch to new Windows runners
- !1469 goption: Treat an empty option context parameter string as NULL
- !1475 Improve documentation of g_tls_database_verify_chain()
- !1476 tests: Fix remaining race in gdbus-connection filter test
- !1479 Improve documentation of client connection validation flags
- !1480 CI: Make sure we use meson 0.49.2 in MSYS2
- !1481 array: fix corrupt state of GPtrArray after g_ptr_array_extend_and_steal()
- !1482 [th/g-ptr-array-variable-cleanups] minor cleanup of variables for GPtrArray
- !1487 glib: annotate static inline functions with G_AVAILABLE-type macros
- !1488 Rebuild Fedora CI image
- !1491 gdatetime: update annotations
- !1492 glib-mkenums: allow optional 'since' tag
- !1493 meson: Remove stray ] in O_DIRECTORY check
- !1496 Fix GLIB_UNAVAILABLE_STATIC_INLINE declaration
- !1498 array: add internal ptr_array_new() helper for creating GPtrArray
- !1503 docs: Add indexes for symbols added in 2.66
- !1505 gobject: Handle runtime checks as such
- !1506 tests: Speed up the cancellable test
- !1508 tests: Speed up the file test and make it more reliable
- !1512 Various fixes when building for iOS
- !1513 Initialize the visited time of a new GBookmarkFile
- !1515 meson: check for stpcpy using cc.links()
- !1516 gthreadedsocketservice: Mark source_object of run signal as nullable
- !1517 GWin32RegistryKey: Move assertions
- !1518 strfuncs: Use a GPtrArray in strsplit()
- !1522 meson: Fix gnulib printf checks
- !1524 meson: Fix gnulib build where isnan*() is needed
- !1525 Normalize C source files to end with exactly one newline
- !1528 gtlsconnection: Improve documentation of peer-certificate[-errors]
- !1530 tree: Fix various typos and outdated terminology
- !1531 gvariant: Fix documentation for g_variant_get_string() to match reality
- !1532 win32: spelling fix
- !1535 glib.supp improvements
* Translation updates:
- Bokmål, Norwegian
- Catalan
- Catalan (Valencia)
- Chinese (Taiwan)
- Dutch
- French
- Galician
- German
- Hebrew
- Indonesian
- Italian
- Japanese
- Latvian
- Lithuanian
- Malay
- Romanian
- Serbian
- Slovak
- Slovenian
- Spanish
- Turkish
- Ukrainian
Overview of changes in GLib 2.64.0
==================================
* Use `posix_spawn()` to speed up launching test D-Bus instances (!1388)
* Bugs fixed:
- #1783 Document using glib-mkenums with meson
- #2049 Crash in g_array_copy
- !1384 Some minor clang warning fixes
- !1386 docs: Document generated headers caveats for genmarshal
- !1387 ci: Correctly propagate exit status in run-style-check-diff.sh
- !1388 gtestdbus: Use posix_spawn() to spawn dbus-daemon
- !1389 Update GError docs to use G_DEFINE_QUARK
* Translation updates:
- Czech
- Danish
Overview of changes in GLib 2.63.6
==================================
* Fix potential relative read when calling g_printerr(), which could lead to a
denial of service from a setuid-root process being used to block access to the
TTY for another user (#1919)
* Fix SOCKS proxy resolver sometimes not being used when resolving addresses
via Happy Eyeballs (CVE-2020-6750) (#1989)
* Several other Happy Eyeballs fixes for address resolution (#1871, #1872, #1902)
* Various race fixes in `GDBusConnection` and its unit tests (#1515)
* Fix a race condition with D-Bus name ownership (#1517)
* Drop `gio-launch-desktop` helper application in favour of calling `sh` directly (#1633)
* Fix win32 exception handling with C# exceptions (#2025)
* Fix thread safety of `GUnixMountMonitor` (#2030)
* Additional fixes to new thread pool attribute behaviour from GLib 2.63.4 to
check if sched_setattr() is allowed by system policies before depending on it (#2039, !1356)
* Fix memory leaks and corruption when freeing `GSource`s while freeing a `GMainContext` (!1353)
* Drop inappropriate installation of object manager example documentation (!1359)
* Bugs fixed:
- #938 gdbus call -a doesn't support message bus connections
- #1515 gio/gdbus-threading test sometimes fails in CI
- #1517 g_bus_own_name does not always call name_lost_handler when _REPLACE and _ALLOW_REPLACEMENT are set
- #1633 should not install gio-launch-desktop into PATH
- #1919 read from relative path in g_printerr() in 2.58.3
- #1995 Tracker issue for Happy Eyeballs regressions
- #2002 g_io_channel_read_line does not honour the line_term symbols set
- #2025 W32 exception handling misbehaves when C# exceptions are thrown when running inside the Visual Studio debugger
- #2030 Random nautilus test suite failures involving GUnixMountMonitor
- #2039 sched_setattr() still can cause EPERM through natural causes
- #2043 Low memory monitor test failed in CI
- #2044 GApplication docs suggest invalid GVariant type
- !1185 gtimezone: Tidy up UTC timezone creation
- !1281 ci: Update Docker packages
- !1283 gmodule: change _g_module_close to only take a handle.
- !1298 tests: Speed up the GIO actions test
- !1299 gapplication: Fix a minor typo in the documentation
- !1339 gsocketclient: Refactor g_socket_client_connect_async()
- !1353 GMainContext - Fix memory leaks and memory corruption when freeing sources while freeing a context
- !1354 GThreadPool - Add test for !1340
- !1355 glist: Add docs examples of how to combine with g_steal_pointer()
- !1356 GThread - Check if sched_setattr is allowed by the system policies before depending on it
- !1359 docs: Don’t install object manager example separately
- !1363 Make tests pass if we are euid != 0 with capabilities
- !1366 Fix oss-fuzz coverage link
- !1372 gobject: Fix strict aliasing warnings with g_set_object()
- !1376 gitlab-ci: 64-bit ARM is aarch64, not arm64
- !1381 ghash: Document the iteration order over a hash table is not defined
- !1382 tests: Bump the refcount timeout in gdbus-threading
- !1383 ci: Enable parallelisation when running installed tests
* Translation updates:
- Basque
- English (United Kingdom)
- French
- Galician
- German
- Greek, Modern (1453-)
- Hungarian
- Indonesian
- Japanese
- Korean
- Lithuanian
- Polish
- Portuguese (Brazil)
- Spanish
- Swedish
- Turkish