Overview of changes in GLib 2.69.0
Fix a crash in
GKeyFile
when parsing a file which contains translations
using aGKeyFile
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 queuedGThreadPool
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()
andg_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 aGBytes
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 ifLC_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 tomain
(#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 theGSpawn
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()
andg_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 toGTlsCertificate
(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 withg_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_infoget(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()
reportsG_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
- #121 GThreadPool and the ability to free data waiting to be handled
Translation updates:
- Chinese (China)
- English (United Kingdom)
- Hebrew
- Nepali
- Occitan (post 1500)
- Serbian
- Chinese (China)