Imported Upstream version 2.67.2
[platform/upstream/glib.git] / NEWS
diff --git a/NEWS b/NEWS
index b74a492..d0b8258 100644 (file)
--- a/NEWS
+++ b/NEWS
-Overview of changes in GLib 2.64.6
+Overview of changes in GLib 2.67.2
 ==================================
 
-* This is expected to be the last release in the 2.64 series; the new stable
-  series is 2.66, and maintenance efforts will shift to that
+* 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
- - !1633 Backport !1632 Fix large writes in gfileutils to glib-2-64
- - !1634 Backport !1631 “Fix splice behavior on cancellation” to glib-2-64
- - !1656 Backport !1187 “Define G_MSVC_SYMBOL_PREFIX correctly for ARM32” to glib-2-64
- - !1659 Backport !1652 “trash portal: Handle portal failures” to glib-2-64
- - !1666 Backport !1665 “Fix g_module_symbol() under Windows sometimes not succeeding” to glib-2-64
- - !1672 Backport !1671 “gdatetime: Avoid integer overflow creating dates too far in the past” to glib-2-64
+ - #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:
- - Croatian
+ - Chinese (Taiwan)
+ - Danish
+ - Greek, Modern (1453-)
+ - Hebrew
+ - Latvian
  - Portuguese
+ - Russian
+ - Slovak
+ - Ukrainian
 
 
-Overview of changes in GLib 2.64.5
+Overview of changes in GLib 2.66.0
 ==================================
 
-* Fix deadlock in `g_subprocess_communicate_async()` (work by Alexander Larsson) (#2182)
-
-* Fix cross-compilation on iOS (work by Nirbheek Chauhan) (#1868)
-
 * Bugs fixed:
- - !1519 Backport !1468 “glib-compile-resources: Fix exporting on Visual Studio” to glib-2-64
- - !1520 Backport !1517 “GWin32RegistryKey: Move assertions” to glib-2-64
- - !1565 Backport !1563 “gdesktopappinfo: Fix unnecessarily copied and leaked URI list” to glib-2-64
- - !1608 Backport !1607 “meson: Don't use gnulib for printf on iOS” to glib-2-64
- - !1618 Backport !1617 “Ensure g_subprocess_communicate_async() never blocks” to glib-2-64
- - !1621 Backport !1620 “gvariant: Ensure GVS.depth is initialised” to glib-2-64
+ - #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.64.4
+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:
- - #2140 calling malloc in fork child is undefined-behaviour
- - !1507 Backport !1504 “win32 gpoll: Fix wait for at least one thread to return” to glib-2-64
- - !1523 Backport !1522 “meson: Fix gnulib printf checks” to glib-2-64
- - !1547 Backport !1544 “Resolve "calling malloc in fork child is undefined-behaviour"” to glib-2-64
+ - #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.64.3
+Overview of changes in GLib 2.65.2
 ==================================
 
-* Stability improvements for various unit tests
+* Support `statx()` and `G_FILE_ATTRIBUTE_TIME_CREATED` (work by Andre Miranda) (#1970)
 
-* Bugs fixed:
- - #1954 gdbus-server-auth intermittent failure
- - #2094 Deprecation warnings when compiling with -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_28 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_28
- - !1470 Backport !1440 -Wformat-nonliteral fixes to glib-2-64
- - !1471 Backport !1448 memory monitor test dependency fixes to glib-2-64
- - !1473 CI: Switch to new Windows runners (2.64)
- - !1478 Backport !1477 D-Bus keyring handling fixes to glib-2-64
- - !1483 Backport !1481 “array: fix corrupt state of GPtrArray after g_ptr_array_extend_and_steal()” to glib-2-64
- - !1484 Backport !1480 “CI: Make sure we use meson 0.49.2 in MSYS2” to glib-2-64
- - !1486 Backport !1472 “gthread: ignore deprecated declarations in static inline functions” to glib-2-64
- - !1495 Backport !1493 “meson: Remove stray ], in O_DIRECTORY check” to glib-2-64
- - !1501 Backport !1439 “Fix stpcpy() detection“ to glib-2-64
+* 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:
- - Chinese (Taiwan)
- - German
+ - French
+ - Galician
+ - Greek, Modern (1453-)
+ - Indonesian
+ - Romanian
+ - Spanish
+ - Turkish
+ - Ukrainian
 
 
-Overview of changes in GLib 2.64.2
+Overview of changes in GLib 2.65.1
 ==================================
 
-* Bugs fixed:
- - #2067 Glib uses _Static_assert in C++17 mode
- - #2081 gdbus error messages contains mixed up body and head signatures
- - !1421 Backport !1420 “gmacros.h: avoid using _Static_assert in C++17 mode” to glib-2-64
- - !1438 Backport various patches to glib-2-64
-  - !1424 docs: Fix configuration with gtk_doc=true and installed_tests=false
-  - !1428 Add missing 'extern' to the dllexport version of GLIB_VAR/GOBJECT_VAR
-  - !1429 Fix arch detection ifdefs in glib/valgrind.h
-  - !1431 glib-unix.c: fix heap corruption in g_unix_get_passwd_entry
-  - !1432 docs: Mention new gio tool options
-  - !1435 gdbusmessage: Fix swapped signatures in error messages
- - !1447 Backport !1442 “gfile: Fallback to fast-content-type if content-type is not set” to glib-2-64
+* 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:
- - Hebrew
+ - Catalan
+ - Kazakh
+ - Lithuanian
  - Romanian
+ - Slovenian
+ - Spanish
  - Ukrainian
 
 
-Overview of changes in GLib 2.64.1
+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
- - !1407 Backport various patches from master to glib-2-64
- - !1412 Backport SOCKS5 fixes to glib-2-64
+ - #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