diff --git a/NEWS b/NEWS index e23634ffe..c3a56b9bf 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,257 @@ +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 ==================================