[glibmm] Glib, Gio: Regenerate docs.xml and .defs files



commit f042c043a776e72ab95f4efa626ce942b5fc1c19
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Tue Oct 5 10:39:49 2021 +0200

    Glib, Gio: Regenerate docs.xml and .defs files
    
    using gtk files from glib 2.70.0.
    And update gio_docs_override.xml and glib_extra_objects.defs.

 gio/src/gio_docs.xml             | 1286 +++++++++++--
 gio/src/gio_docs_override.xml    |    2 +
 gio/src/gio_enums.defs           |   44 +-
 gio/src/gio_methods.defs         |  267 ++-
 gio/src/gio_signals.defs         |  100 +-
 glib/src/glib_docs.xml           | 3741 +++++++++++++++++++++++++++-----------
 glib/src/glib_enums.defs         |    8 +-
 glib/src/glib_extra_objects.defs |    6 +
 glib/src/glib_functions.defs     |  443 ++++-
 glib/src/gmodule_enums.defs      |   17 +
 glib/src/gmodule_functions.defs  |   25 +
 glib/src/gobject_enums.defs      |   11 +-
 glib/src/gobject_functions.defs  |   38 +
 13 files changed, 4765 insertions(+), 1223 deletions(-)
---
diff --git a/gio/src/gio_docs.xml b/gio/src/gio_docs.xml
index ebf6bd87..3bc7c30f 100644
--- a/gio/src/gio_docs.xml
+++ b/gio/src/gio_docs.xml
@@ -986,7 +986,7 @@ authenticating.
 
 If you are constructing a #GDBusConnection and pass
 %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER in the
-#GDBusConnection:flags property then you MUST also set this
+#GDBusConnection:flags property then you **must** also set this
 property to a valid guid.
 
 If you are constructing a #GDBusConnection and pass
@@ -995,6 +995,15 @@ If you are constructing a #GDBusConnection and pass
 of the other peer here after the connection has been successfully
 initialized.
 
+Note that the
+[D-Bus specification](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses)
+uses the term ‘UUID’ to refer to this, whereas GLib consistently uses the
+term ‘GUID’ for historical reasons.
+
+Despite its name, the format of #GDBusConnection:guid does not follow
+[RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122) or the Microsoft
+GUID format.
+
 Since: 2.26
 
 </description>
@@ -1071,6 +1080,11 @@ message bus. This means that the Hello() method will be invoked as part of the c
 delayed until g_dbus_connection_start_message_processing() is called.
 </parameter_description>
 </parameter>
+<parameter name="G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER">
+<parameter_description> When authenticating
+as a server, require the UID of the peer to be the same as the UID of the server. (Since: 2.68)
+</parameter_description>
+</parameter>
 </parameters>
 </enum>
 
@@ -2296,7 +2310,9 @@ Since: 2.26
 
 <property name="GDBusServer:guid">
 <description>
-The guid of the server.
+The GUID of the server.
+
+See #GDBusConnection:guid for more details.
 
 Since: 2.26
 
@@ -2326,6 +2342,11 @@ details).
 authentication method.
 </parameter_description>
 </parameter>
+<parameter name="G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER">
+<parameter_description> Require the UID of the
+peer to be the same as the UID of the server when authenticating. (Since: 2.68)
+</parameter_description>
+</parameter>
 </parameters>
 </enum>
 
@@ -2382,27 +2403,27 @@ to dynamically spawn objects in the subtree.
 </parameters>
 </enum>
 
-<property name="GDataOutputStream:byte-order">
+<property name="GDataInputStream:byte-order">
 <description>
-Determines the byte ordering that is used when writing 
-multi-byte entities (such as integers) to the stream.
+The :byte-order property determines the byte ordering that
+is used when reading multi-byte entities (such as integers)
+from the stream.
 
 </description>
 </property>
 
-<property name="GDataStream:byte-order">
+<property name="GDataInputStream:newline-type">
 <description>
-The ::byte-order property determines the byte ordering that
-is used when reading multi-byte entities (such as integers)
-from the stream.
+The :newline-type property determines what is considered
+as a line ending when reading complete lines from the stream.
 
 </description>
 </property>
 
-<property name="GDataStream:newline-type">
+<property name="GDataOutputStream:byte-order">
 <description>
-The :newline-type property determines what is considered
-as a line ending when reading complete lines from the stream.
+Determines the byte ordering that is used when writing 
+multi-byte entities (such as integers) to the stream.
 
 </description>
 </property>
@@ -2720,6 +2741,15 @@ Since: 2.48
 </description>
 </property>
 
+<property name="GDtlsConnection:ciphersuite-name">
+<description>
+The name of the DTLS ciphersuite in use. See g_dtls_connection_get_ciphersuite_name().
+
+Since: 2.70
+
+</description>
+</property>
+
 <property name="GDtlsConnection:database">
 <description>
 The certificate database to use when verifying this TLS connection.
@@ -2780,6 +2810,15 @@ Since: 2.48
 </description>
 </property>
 
+<property name="GDtlsConnection:protocol-version">
+<description>
+The DTLS protocol version in use. See g_dtls_connection_get_protocol_version().
+
+Since: 2.70
+
+</description>
+</property>
+
 <property name="GDtlsConnection:rehandshake-mode">
 <description>
 The rehandshaking mode. See
@@ -4528,6 +4567,15 @@ Since: 2.60
 </parameters>
 </enum>
 
+<property name="GPowerProfileMonitor:power-saver-enabled">
+<description>
+Whether “Power Saver” mode is enabled on the system.
+
+Since: 2.70
+
+</description>
+</property>
+
 <property name="GPropertyAction:enabled">
 <description>
 If @action is currently enabled.
@@ -5364,7 +5412,7 @@ Each event except %G_SOCKET_CLIENT_COMPLETE may be emitted
 multiple times (or not at all) for a given connectable (in
 particular, if @client ends up attempting to connect to more than
 one address). However, if @client emits the #GSocketClient::event
-signal at all for a given connectable, that it will always emit
+signal at all for a given connectable, then it will always emit
 it with %G_SOCKET_CLIENT_COMPLETE when it is done.
 
 Note that there may be additional #GSocketClientEvent values in
@@ -5907,6 +5955,26 @@ Since: 2.28
 </description>
 </property>
 
+<property name="GTlsCertificate:dns-names">
+<description>
+The DNS names from the certificate's Subject Alternative Names (SANs),
+%NULL if unavailable.
+
+Since: 2.70
+
+</description>
+</property>
+
+<property name="GTlsCertificate:ip-addresses">
+<description>
+The IP addresses from the certificate's Subject Alternative Names (SANs),
+%NULL if unavailable.
+
+Since: 2.70
+
+</description>
+</property>
+
 <property name="GTlsCertificate:issuer">
 <description>
 A #GTlsCertificate representing the entity that issued this
@@ -5914,22 +5982,85 @@ certificate. If %NULL, this means that the certificate is either
 self-signed, or else the certificate of the issuer is not
 available.
 
+Beware the issuer certificate may not be the same as the
+certificate that would actually be used to construct a valid
+certification path during certificate verification.
+[RFC 4158](https://datatracker.ietf.org/doc/html/rfc4158) explains
+why an issuer certificate cannot be naively assumed to be part of the
+the certification path (though GLib's TLS backends may not follow the
+path building strategies outlined in this RFC). Due to the complexity
+of certification path building, GLib does not provide any way to know
+which certification path will actually be used. Accordingly, this
+property cannot be used to make security-related decisions. Only
+GLib itself should make security decisions about TLS certificates.
+
 Since: 2.28
 
 </description>
 </property>
 
+<property name="GTlsCertificate:issuer-name">
+<description>
+The issuer from the certificate,
+%NULL if unavailable.
+
+Since: 2.70
+
+</description>
+</property>
+
+<property name="GTlsCertificate:not-valid-after">
+<description>
+The time at which this cert is no longer valid,
+%NULL if unavailable.
+
+Since: 2.70
+
+</description>
+</property>
+
+<property name="GTlsCertificate:not-valid-before">
+<description>
+The time at which this cert is considered to be valid,
+%NULL if unavailable.
+
+Since: 2.70
+
+</description>
+</property>
+
+<property name="GTlsCertificate:pkcs11-uri">
+<description>
+A URI referencing the [PKCS 
\#11](https://docs.oasis-open.org/pkcs11/pkcs11-base/v3.0/os/pkcs11-base-v3.0-os.html)
+objects containing an X.509 certificate and optionally a private key.
+
+If %NULL, the certificate is either not backed by PKCS \#11 or the
+#GTlsBackend does not support PKCS \#11.
+
+Since: 2.68
+
+</description>
+</property>
+
 <property name="GTlsCertificate:private-key">
 <description>
 The DER (binary) encoded representation of the certificate's
-private key, in either PKCS#1 format or unencrypted PKCS#8
-format. This property (or the #GTlsCertificate:private-key-pem
-property) can be set when constructing a key (eg, from a file),
-but cannot be read.
-
-PKCS#8 format is supported since 2.32; earlier releases only
-support PKCS#1. You can use the `openssl rsa`
-tool to convert PKCS#8 keys to PKCS#1.
+private key, in either [PKCS \#1 format](https://datatracker.ietf.org/doc/html/rfc8017)
+or unencrypted [PKCS \#8 format.](https://datatracker.ietf.org/doc/html/rfc5208)
+PKCS \#8 format is supported since 2.32; earlier releases only
+support PKCS \#1. You can use the `openssl rsa` tool to convert
+PKCS \#8 keys to PKCS \#1.
+
+This property (or the #GTlsCertificate:private-key-pem property)
+can be set when constructing a key (for example, from a file).
+Since GLib 2.70, it is now also readable; however, be aware that if
+the private key is backed by a PKCS \#11 URI – for example, if it
+is stored on a smartcard – then this property will be %NULL. If so,
+the private key must be referenced via its PKCS \#11 URI,
+#GTlsCertificate:private-key-pkcs11-uri. You must check both
+properties to see if the certificate really has a private key.
+When this property is read, the output format will be unencrypted
+PKCS \#8.
 
 Since: 2.28
 
@@ -5939,21 +6070,49 @@ Since: 2.28
 <property name="GTlsCertificate:private-key-pem">
 <description>
 The PEM (ASCII) encoded representation of the certificate's
-private key in either PKCS#1 format (&quot;`BEGIN RSA PRIVATE
-KEY`&quot;) or unencrypted PKCS#8 format (&quot;`BEGIN
-PRIVATE KEY`&quot;). This property (or the
-#GTlsCertificate:private-key property) can be set when
-constructing a key (eg, from a file), but cannot be read.
-
-PKCS#8 format is supported since 2.32; earlier releases only
-support PKCS#1. You can use the `openssl rsa`
-tool to convert PKCS#8 keys to PKCS#1.
+private key in either [PKCS \#1 format](https://datatracker.ietf.org/doc/html/rfc8017)
+(&quot;`BEGIN RSA PRIVATE KEY`&quot;) or unencrypted
+[PKCS \#8 format](https://datatracker.ietf.org/doc/html/rfc5208)
+(&quot;`BEGIN PRIVATE KEY`&quot;). PKCS \#8 format is supported since 2.32;
+earlier releases only support PKCS \#1. You can use the `openssl rsa`
+tool to convert PKCS \#8 keys to PKCS \#1.
+
+This property (or the #GTlsCertificate:private-key property)
+can be set when constructing a key (for example, from a file).
+Since GLib 2.70, it is now also readable; however, be aware that if
+the private key is backed by a PKCS \#11 URI - for example, if it
+is stored on a smartcard - then this property will be %NULL. If so,
+the private key must be referenced via its PKCS \#11 URI,
+#GTlsCertificate:private-key-pkcs11-uri. You must check both
+properties to see if the certificate really has a private key.
+When this property is read, the output format will be unencrypted
+PKCS \#8.
 
 Since: 2.28
 
 </description>
 </property>
 
+<property name="GTlsCertificate:private-key-pkcs11-uri">
+<description>
+A URI referencing a [PKCS 
\#11](https://docs.oasis-open.org/pkcs11/pkcs11-base/v3.0/os/pkcs11-base-v3.0-os.html)
+object containing a private key.
+
+Since: 2.68
+
+</description>
+</property>
+
+<property name="GTlsCertificate:subject-name">
+<description>
+The subject from the cert,
+%NULL if unavailable.
+
+Since: 2.70
+
+</description>
+</property>
+
 <enum name="GTlsCertificateFlags">
 <description>
 A set of flags describing TLS certification validation. This can be
@@ -6250,6 +6409,15 @@ Since: 2.28
 </description>
 </property>
 
+<property name="GTlsConnection:ciphersuite-name">
+<description>
+The name of the TLS ciphersuite in use. See g_tls_connection_get_ciphersuite_name().
+
+Since: 2.70
+
+</description>
+</property>
+
 <property name="GTlsConnection:database">
 <description>
 The certificate database to use when verifying this TLS connection.
@@ -6310,6 +6478,15 @@ Since: 2.28
 </description>
 </property>
 
+<property name="GTlsConnection:protocol-version">
+<description>
+The TLS protocol version in use. See g_tls_connection_get_protocol_version().
+
+Since: 2.70
+
+</description>
+</property>
+
 <property name="GTlsConnection:rehandshake-mode">
 <description>
 The rehandshaking mode. See
@@ -6498,6 +6675,72 @@ wrong many times, and the user may not have many chances left.
 this password right.
 </parameter_description>
 </parameter>
+<parameter name="G_TLS_PASSWORD_PKCS11_USER">
+<parameter_description> For PKCS #11, the user PIN is required.
+Since: 2.70.
+</parameter_description>
+</parameter>
+<parameter name="G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER">
+<parameter_description> For PKCS #11, the security officer
+PIN is required. Since: 2.70.
+</parameter_description>
+</parameter>
+<parameter name="G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC">
+<parameter_description> For PKCS #11, the context-specific
+PIN is required. Since: 2.70.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
+<enum name="GTlsProtocolVersion">
+<description>
+The TLS or DTLS protocol version used by a #GTlsConnection or
+#GDtlsConnection. The integer values of these versions are sequential
+to ensure newer known protocol versions compare greater than older
+known versions. Any known DTLS protocol version will compare greater
+than any SSL or TLS protocol version. The protocol version may be
+%G_TLS_PROTOCOL_VERSION_UNKNOWN if the TLS backend supports a newer
+protocol version that GLib does not yet know about. This means that
+it's possible for an unknown DTLS protocol version to compare less
+than the TLS protocol versions.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="G_TLS_PROTOCOL_VERSION_UNKNOWN">
+<parameter_description> No protocol version or unknown protocol version
+</parameter_description>
+</parameter>
+<parameter name="G_TLS_PROTOCOL_VERSION_SSL_3_0">
+<parameter_description> SSL 3.0, which is insecure and should not be used
+</parameter_description>
+</parameter>
+<parameter name="G_TLS_PROTOCOL_VERSION_TLS_1_0">
+<parameter_description> TLS 1.0, which is insecure and should not be used
+</parameter_description>
+</parameter>
+<parameter name="G_TLS_PROTOCOL_VERSION_TLS_1_1">
+<parameter_description> TLS 1.1, which is insecure and should not be used
+</parameter_description>
+</parameter>
+<parameter name="G_TLS_PROTOCOL_VERSION_TLS_1_2">
+<parameter_description> TLS 1.2, defined by [RFC 5246](https://datatracker.ietf.org/doc/html/rfc5246)
+</parameter_description>
+</parameter>
+<parameter name="G_TLS_PROTOCOL_VERSION_TLS_1_3">
+<parameter_description> TLS 1.3, defined by [RFC 8446](https://datatracker.ietf.org/doc/html/rfc8446)
+</parameter_description>
+</parameter>
+<parameter name="G_TLS_PROTOCOL_VERSION_DTLS_1_0">
+<parameter_description> DTLS 1.0, which is insecure and should not be used
+</parameter_description>
+</parameter>
+<parameter name="G_TLS_PROTOCOL_VERSION_DTLS_1_2">
+<parameter_description> DTLS 1.2, defined by [RFC 6347](https://datatracker.ietf.org/doc/html/rfc6347)
+</parameter_description>
+</parameter>
 </parameters>
 </enum>
 
@@ -7388,6 +7631,33 @@ parameter must be given as @parameter.  If the action is expecting no
 parameters then @parameter must be %NULL.  See
 g_action_group_get_action_parameter_type().
 
+If the #GActionGroup implementation supports asynchronous remote
+activation over D-Bus, this call may return before the relevant
+D-Bus traffic has been sent, or any replies have been received. In
+order to block on such asynchronous activation calls,
+g_dbus_connection_flush() should be called prior to the code, which
+depends on the result of the action activation. Without flushing
+the D-Bus connection, there is no guarantee that the action would
+have been activated.
+
+The following code which runs in a remote app instance, shows an
+example of a &quot;quit&quot; action being activated on the primary app
+instance over D-Bus. Here g_dbus_connection_flush() is called
+before `exit()`. Without g_dbus_connection_flush(), the &quot;quit&quot; action
+may fail to be activated on the primary instance.
+
+|[&lt;!-- language=&quot;C&quot; --&gt;
+// call &quot;quit&quot; action on primary instance
+g_action_group_activate_action (G_ACTION_GROUP (app), &quot;quit&quot;, NULL);
+
+// make sure the action is activated now
+g_dbus_connection_flush (...);
+
+g_debug (&quot;application has been terminated. exiting.&quot;);
+
+exit (0);
+]|
+
 Since: 2.28
 
 </description>
@@ -8100,7 +8370,7 @@ Creates a duplicate of a #GAppInfo.
 <description>
 Checks if two #GAppInfos are equal.
 
-Note that the check &lt;emphasis&gt;may not&lt;/emphasis&gt; compare each individual
+Note that the check *may not* compare each individual
 field, and only does an identity check. In case detecting changes in the 
 contents is needed, program code must additionally compare relevant fields.
 
@@ -9432,7 +9702,7 @@ Gets the stdin of the invoking process.
 The #GInputStream can be used to read data passed to the standard
 input of the invoking process.
 This doesn't work on all platforms.  Presently, it is only available
-on UNIX when using a DBus daemon capable of passing file descriptors.
+on UNIX when using a D-Bus daemon capable of passing file descriptors.
 If stdin is not available then %NULL will be returned.  In the
 future, support may be expanded to other platforms.
 
@@ -9902,6 +10172,8 @@ spinner).
 
 To cancel the busy indication, use g_application_unmark_busy().
 
+The application must be registered before calling this function.
+
 Since: 2.38
 
 </description>
@@ -10123,7 +10395,7 @@ commandline then you should implement your own #GApplication subclass
 and override local_command_line(). In this case, you most likely want
 to return %TRUE from your local_command_line() implementation to
 suppress the default handling. See
-[gapplication-example-cmdline2.c][gapplication-example-cmdline2]
+[gapplication-example-cmdline2.c][https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/gio/tests/gapplication-example-cmdline2.c]
 for an example.
 
 If, after the above is done, the use count of the application is zero
@@ -11901,7 +12173,7 @@ Since: 2.38
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GBytes, or %NULL.
+<return> a #GBytes.
 
 </return>
 </function>
@@ -11910,6 +12182,9 @@ Since: 2.38
 <description>
 Creates a new icon for a bytes.
 
+This cannot fail, but loading and interpreting the bytes may fail later on
+(for example, if g_loadable_icon_load() is called) if the image is invalid.
+
 Since: 2.38
 
 </description>
@@ -11920,7 +12195,7 @@ Since: 2.38
 </parameter>
 </parameters>
 <return> a #GIcon for the given
-@bytes, or %NULL on error.
+@bytes.
 
 </return>
 </function>
@@ -12964,10 +13239,10 @@ Since: 2.26
 </parameter_description>
 </parameter>
 </parameters>
-<return> The pointer to native credentials or %NULL if the
-operation there is no #GCredentials support for the OS or if
-@native_type isn't supported by the OS. Do not free the returned
-data, it is owned by @credentials.
+<return> The pointer to native credentials or
+%NULL if there is no #GCredentials support for the OS or if @native_type
+isn't supported by the OS. Do not free the returned data, it is owned
+by @credentials.
 
 </return>
 </function>
@@ -12995,7 +13270,7 @@ Since: 2.36
 </parameter_description>
 </parameter>
 </parameters>
-<return> The UNIX process ID, or -1 if @error is set.
+<return> The UNIX process ID, or `-1` if @error is set.
 
 </return>
 </function>
@@ -13022,7 +13297,7 @@ Since: 2.26
 </parameter_description>
 </parameter>
 </parameters>
-<return> The UNIX user identifier or -1 if @error is set.
+<return> The UNIX user identifier or `-1` if @error is set.
 
 </return>
 </function>
@@ -14656,6 +14931,9 @@ Since: 2.26
 <description>
 Finishes an operation started with g_dbus_address_get_stream().
 
+A server is not required to set a GUID, so @out_guid may be set to %NULL
+even on success.
+
 Since: 2.26
 
 </description>
@@ -14685,6 +14963,9 @@ sets up the connection so it is in a state to run the client-side
 of the D-Bus authentication conversation. @address must be in the
 [D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
 
+A server is not required to set a GUID, so @out_guid may be set to %NULL
+even on success.
+
 This is a synchronous failable function. See
 g_dbus_address_get_stream() for the asynchronous version.
 
@@ -15063,8 +15344,8 @@ Since: 2.26
 </parameter_description>
 </parameter>
 </parameters>
-<return> %NULL if @error is set. Otherwise a #GVariant tuple with
-return values. Free with g_variant_unref().
+<return> %NULL if @error is set. Otherwise a non-floating
+#GVariant tuple with return values. Free with g_variant_unref().
 
 </return>
 </function>
@@ -15160,8 +15441,8 @@ timeout or %G_MAXINT for no timeout
 </parameter_description>
 </parameter>
 </parameters>
-<return> %NULL if @error is set. Otherwise a #GVariant tuple with
-return values. Free with g_variant_unref().
+<return> %NULL if @error is set. Otherwise a non-floating
+#GVariant tuple with return values. Free with g_variant_unref().
 
 </return>
 </function>
@@ -15170,6 +15451,18 @@ return values. Free with g_variant_unref().
 <description>
 Like g_dbus_connection_call() but also takes a #GUnixFDList object.
 
+The file descriptors normally correspond to %G_VARIANT_TYPE_HANDLE
+values in the body of the message. For example, if a message contains
+two file descriptors, @fd_list would have length 2, and
+`g_variant_new_handle (0)` and `g_variant_new_handle (1)` would appear
+somewhere in the body of the message (not necessarily in that order!)
+to represent the file descriptors at indexes 0 and 1 respectively.
+
+When designing D-Bus APIs that are intended to be interoperable,
+please note that non-GDBus implementations of D-Bus can usually only
+access file descriptors if they are referenced in this way by a
+value of type %G_VARIANT_TYPE_HANDLE in the body of the message.
+
 This method is only available on UNIX.
 
 Since: 2.30
@@ -15241,6 +15534,17 @@ method invocation
 <description>
 Finishes an operation started with g_dbus_connection_call_with_unix_fd_list().
 
+The file descriptors normally correspond to %G_VARIANT_TYPE_HANDLE
+values in the body of the message. For example,
+if g_variant_get_handle() returns 5, that is intended to be a reference
+to the file descriptor that can be accessed by
+`g_unix_fd_list_get (*out_fd_list, 5, ...)`.
+
+When designing D-Bus APIs that are intended to be interoperable,
+please note that non-GDBus implementations of D-Bus can usually only
+access file descriptors if they are referenced in this way by a
+value of type %G_VARIANT_TYPE_HANDLE in the body of the message.
+
 Since: 2.30
 
 </description>
@@ -15263,8 +15567,8 @@ g_dbus_connection_call_with_unix_fd_list()
 </parameter_description>
 </parameter>
 </parameters>
-<return> %NULL if @error is set. Otherwise a #GVariant tuple with
-return values. Free with g_variant_unref().
+<return> %NULL if @error is set. Otherwise a non-floating
+#GVariant tuple with return values. Free with g_variant_unref().
 
 </return>
 </function>
@@ -15272,6 +15576,8 @@ return values. Free with g_variant_unref().
 <function name="g_dbus_connection_call_with_unix_fd_list_sync">
 <description>
 Like g_dbus_connection_call_sync() but also takes and returns #GUnixFDList objects.
+See g_dbus_connection_call_with_unix_fd_list() and
+g_dbus_connection_call_with_unix_fd_list_finish() for more details.
 
 This method is only available on UNIX.
 
@@ -15335,8 +15641,8 @@ timeout or %G_MAXINT for no timeout
 </parameter_description>
 </parameter>
 </parameters>
-<return> %NULL if @error is set. Otherwise a #GVariant tuple with
-return values. Free with g_variant_unref().
+<return> %NULL if @error is set. Otherwise a non-floating
+#GVariant tuple with return values. Free with g_variant_unref().
 
 </return>
 </function>
@@ -15970,8 +16276,9 @@ which must be in the
 This constructor can only be used to initiate client-side
 connections - use g_dbus_connection_new() if you need to act as the
 server. In particular, @flags cannot contain the
-%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER or
-%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS flags.
+%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER,
+%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS or
+%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER flags.
 
 When the operation is finished, @callback will be invoked. You can
 then call g_dbus_connection_new_for_address_finish() to get the result of
@@ -16034,8 +16341,8 @@ to g_dbus_connection_new()
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GDBusConnection or %NULL if @error is set. Free with
-g_object_unref().
+<return> a #GDBusConnection or %NULL if @error is set.
+Free with g_object_unref().
 
 </return>
 </function>
@@ -16050,8 +16357,9 @@ which must be in the
 This constructor can only be used to initiate client-side
 connections - use g_dbus_connection_new_sync() if you need to act
 as the server. In particular, @flags cannot contain the
-%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER or
-%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS flags.
+%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER,
+%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS or
+%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER flags.
 
 This is a synchronous failable constructor. See
 g_dbus_connection_new_for_address() for the asynchronous version.
@@ -16084,8 +16392,8 @@ Since: 2.26
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GDBusConnection or %NULL if @error is set. Free with
-g_object_unref().
+<return> a #GDBusConnection or %NULL if @error is set.
+Free with g_object_unref().
 
 </return>
 </function>
@@ -16137,7 +16445,8 @@ Since: 2.26
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GDBusConnection or %NULL if @error is set. Free with g_object_unref().
+<return> a #GDBusConnection or %NULL if @error is set.
+Free with g_object_unref().
 
 </return>
 </function>
@@ -16260,7 +16569,7 @@ Since: 2.46
 </parameter_description>
 </parameter>
 </parameters>
-<return> 0 if @error is set, otherwise a registration id (never 0)
+<return> 0 if @error is set, otherwise a registration ID (never 0)
 that can be used with g_dbus_connection_unregister_object() .
 
 </return>
@@ -16337,8 +16646,8 @@ dispatch nodes in the subtree
 </parameter_description>
 </parameter>
 </parameters>
-<return> 0 if @error is set, otherwise a subtree registration id (never 0)
-that can be used with g_dbus_connection_unregister_subtree() .
+<return> 0 if @error is set, otherwise a subtree registration ID (never 0)
+that can be used with g_dbus_connection_unregister_subtree()
 
 </return>
 </function>
@@ -16379,7 +16688,9 @@ Unless @flags contain the
 will be assigned by @connection and set on @message via
 g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
 serial number used will be written to this location prior to
-submitting the message to the underlying transport.
+submitting the message to the underlying transport. While it has a `volatile`
+qualifier, this is a historical artifact and the argument passed to it should
+not be `volatile`.
 
 If @connection is closed then the operation will fail with
 %G_IO_ERROR_CLOSED. If @message is not well-formed,
@@ -16433,7 +16744,9 @@ Unless @flags contain the
 will be assigned by @connection and set on @message via
 g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
 serial number used will be written to this location prior to
-submitting the message to the underlying transport.
+submitting the message to the underlying transport. While it has a `volatile`
+qualifier, this is a historical artifact and the argument passed to it should
+not be `volatile`.
 
 If @connection is closed then the operation will fail with
 %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will
@@ -16545,7 +16858,9 @@ Unless @flags contain the
 will be assigned by @connection and set on @message via
 g_dbus_message_set_serial(). If @out_serial is not %NULL, then the
 serial number used will be written to this location prior to
-submitting the message to the underlying transport.
+submitting the message to the underlying transport. While it has a `volatile`
+qualifier, this is a historical artifact and the argument passed to it should
+not be `volatile`.
 
 If @connection is closed then the operation will fail with
 %G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will
@@ -16755,6 +17070,9 @@ until the #GDestroyNotify function passed to
 g_dbus_connection_signal_subscribe() is called, in order to avoid memory
 leaks through callbacks queued on the #GMainContext after it’s stopped being
 iterated.
+Alternatively, any idle source with a priority lower than %G_PRIORITY_DEFAULT
+that was scheduled after unsubscription, also indicates that all resources
+of this subscription are released.
 
 Since: 2.26
 
@@ -16911,7 +17229,8 @@ Since: 2.26
 </parameter_description>
 </parameter>
 </parameters>
-<return> A D-Bus error name (never %NULL). Free with g_free().
+<return> A D-Bus error name (never %NULL).
+Free with g_free().
 
 </return>
 </function>
@@ -16934,8 +17253,8 @@ Since: 2.26
 </parameter_description>
 </parameter>
 </parameters>
-<return> an allocated string or %NULL if the D-Bus error name
-could not be found. Free with g_free().
+<return> an allocated string or %NULL if the
+D-Bus error name could not be found. Free with g_free().
 
 </return>
 </function>
@@ -17042,6 +17361,9 @@ exists.
 <description>
 Helper function for associating a #GError error domain with D-Bus error names.
 
+While @quark_volatile has a `volatile` qualifier, this is a historical
+artifact and the argument passed to it should not be `volatile`.
+
 Since: 2.26
 
 </description>
@@ -17181,13 +17503,71 @@ Since: 2.26
 </return>
 </function>
 
+<function name="g_dbus_escape_object_path">
+<description>
+This is a language binding friendly version of g_dbus_escape_object_path_bytestring().
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="s">
+<parameter_description> the string to escape
+</parameter_description>
+</parameter>
+</parameters>
+<return> an escaped version of @s. Free with g_free().
+
+</return>
+</function>
+
+<function name="g_dbus_escape_object_path_bytestring">
+<description>
+Escapes @bytes for use in a D-Bus object path component.
+@bytes is an array of zero or more nonzero bytes in an
+unspecified encoding, followed by a single zero byte.
+
+The escaping method consists of replacing all non-alphanumeric
+characters (see g_ascii_isalnum()) with their hexadecimal value
+preceded by an underscore (`_`). For example:
+`foo.bar.baz` will become `foo_2ebar_2ebaz`.
+
+This method is appropriate to use when the input is nearly
+a valid object path component but is not when your input
+is far from being a valid object path component.
+Other escaping algorithms are also valid to use with
+D-Bus object paths.
+
+This can be reversed with g_dbus_unescape_object_path().
+
+Since: 2.68
+
+
+</description>
+<parameters>
+<parameter name="bytes">
+<parameter_description> the string of bytes to escape
+</parameter_description>
+</parameter>
+</parameters>
+<return> an escaped version of @bytes. Free with g_free().
+
+</return>
+</function>
+
 <function name="g_dbus_generate_guid">
 <description>
 Generate a D-Bus GUID that can be used with
 e.g. g_dbus_connection_new().
 
-See the D-Bus specification regarding what strings are valid D-Bus
-GUID (for example, D-Bus GUIDs are not RFC-4122 compliant).
+See the
+[D-Bus specification](https://dbus.freedesktop.org/doc/dbus-specification.html#uuids)
+regarding what strings are valid D-Bus GUIDs. The specification refers to
+these as ‘UUIDs’ whereas GLib (for historical reasons) refers to them as
+‘GUIDs’. The terms are interchangeable.
+
+Note that D-Bus GUIDs do not follow
+[RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122).
 
 Since: 2.26
 
@@ -17243,9 +17623,9 @@ Since: 2.30
 </parameter_description>
 </parameter>
 </parameters>
-<return> A #GVariant (never floating) of #GVariantType @type holding
-the data from @gvalue or %NULL in case of failure. Free with
-g_variant_unref().
+<return> A #GVariant (never floating) of
+#GVariantType @type holding the data from @gvalue or an empty #GVariant
+in case of failure. Free with g_variant_unref().
 
 </return>
 </function>
@@ -17851,12 +18231,34 @@ Since: 2.26
 </return>
 </function>
 
+<function name="g_dbus_is_error_name">
+<description>
+Check whether @string is a valid D-Bus error name.
+
+This function returns the same result as g_dbus_is_interface_name(),
+because D-Bus error names are defined to have exactly the
+same syntax as interface names.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> The string to check.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if valid, %FALSE otherwise.
+
+</return>
+</function>
+
 <function name="g_dbus_is_guid">
 <description>
 Checks if @string is a D-Bus GUID.
 
-See the D-Bus specification regarding what strings are valid D-Bus
-GUID (for example, D-Bus GUIDs are not RFC-4122 compliant).
+See the documentation for g_dbus_generate_guid() for more information about
+the format of a GUID.
 
 Since: 2.26
 
@@ -17867,7 +18269,7 @@ Since: 2.26
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if @string is a guid, %FALSE otherwise.
+<return> %TRUE if @string is a GUID, %FALSE otherwise.
 
 </return>
 </function>
@@ -18384,6 +18786,8 @@ Since: 2.26
 <description>
 Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field.
 
+This will always be non-%NULL, but may be an empty string.
+
 Since: 2.26
 
 </description>
@@ -18404,6 +18808,12 @@ Gets the UNIX file descriptors associated with @message, if any.
 
 This method is only available on UNIX.
 
+The file descriptors normally correspond to %G_VARIANT_TYPE_HANDLE
+values in the body of the message. For example,
+if g_variant_get_handle() returns 5, that is intended to be a reference
+to the file descriptor that can be accessed by
+`g_unix_fd_list_get (list, 5, ...)`.
+
 Since: 2.26
 
 </description>
@@ -18413,7 +18823,7 @@ Since: 2.26
 </parameter_description>
 </parameter>
 </parameters>
-<return>A #GUnixFDList or %NULL if no file descriptors are
+<return> A #GUnixFDList or %NULL if no file descriptors are
 associated. Do not free, this object is owned by @message.
 
 </return>
@@ -19022,6 +19432,11 @@ field is set to the number of fds in @fd_list (or cleared if
 
 This method is only available on UNIX.
 
+When designing D-Bus APIs that are intended to be interoperable,
+please note that non-GDBus implementations of D-Bus can usually only
+access file descriptors if they are referenced by a value of type
+%G_VARIANT_TYPE_HANDLE in the body of the message.
+
 Since: 2.26
 
 </description>
@@ -21101,6 +21516,10 @@ Since: 2.26
 <description>
 Gets the name that @proxy was constructed for.
 
+When connected to a message bus, this will usually be non-%NULL.
+However, it may be %NULL for a proxy that communicates using a peer-to-peer
+pattern.
+
 Since: 2.26
 
 </description>
@@ -21552,6 +21971,8 @@ Gets a
 [D-Bus address](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses)
 string that can be used by clients to connect to @server.
 
+This is valid and non-empty if initializing the #GDBusServer succeeded.
+
 Since: 2.26
 
 </description>
@@ -21587,7 +22008,7 @@ Since: 2.26
 
 <function name="g_dbus_server_get_guid">
 <description>
-Gets the GUID for @server.
+Gets the GUID for @server, as provided to g_dbus_server_new_sync().
 
 Since: 2.26
 
@@ -21748,6 +22169,33 @@ Since: 2.26
 <return></return>
 </function>
 
+<function name="g_dbus_unescape_object_path">
+<description>
+Unescapes an string that was previously escaped with
+g_dbus_escape_object_path(). If the string is in a format that could
+not have been returned by g_dbus_escape_object_path(), this function
+returns %NULL.
+
+Encoding alphanumeric characters which do not need to be
+encoded is not allowed (e.g `_63` is not valid, the string
+should contain `c` instead).
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="s">
+<parameter_description> the string to unescape
+</parameter_description>
+</parameter>
+</parameters>
+<return> an
+unescaped version of @s, or %NULL if @s is not a string returned
+from g_dbus_escape_object_path(). Free with g_free().
+
+</return>
+</function>
+
 <function name="g_desktop_app_info_get_action_name">
 <description>
 Gets the user-visible display name of the &quot;additional application
@@ -21839,7 +22287,7 @@ or %NULL if not known.
 
 <function name="g_desktop_app_info_get_generic_name">
 <description>
-Gets the generic name from the destkop file.
+Gets the generic name from the desktop file.
 
 
 </description>
@@ -23407,6 +23855,31 @@ filled with the binding data, or %NULL
 </return>
 </function>
 
+<function name="g_dtls_connection_get_ciphersuite_name">
+<description>
+Returns the name of the current DTLS ciphersuite, or %NULL if the
+connection has not handshaked or has been closed. Beware that the TLS
+backend may use any of multiple different naming conventions, because
+OpenSSL and GnuTLS have their own ciphersuite naming conventions that
+are different from each other and different from the standard, IANA-
+registered ciphersuite names. The ciphersuite name is intended to be
+displayed to the user for informative purposes only, and parsing it
+is not recommended.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="conn">
+<parameter_description> a #GDTlsConnection
+</parameter_description>
+</parameter>
+</parameters>
+<return> The name of the current DTLS ciphersuite, or %NULL
+
+</return>
+</function>
+
 <function name="g_dtls_connection_get_database">
 <description>
 Gets the certificate database that @conn uses to verify
@@ -23510,6 +23983,27 @@ Since: 2.48
 </return>
 </function>
 
+<function name="g_dtls_connection_get_protocol_version">
+<description>
+Returns the current DTLS protocol version, which may be
+%G_TLS_PROTOCOL_VERSION_UNKNOWN if the connection has not handshaked, or
+has been closed, or if the TLS backend has implemented a protocol version
+that is not a recognized #GTlsProtocolVersion.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="conn">
+<parameter_description> a #GDTlsConnection
+</parameter_description>
+</parameter>
+</parameters>
+<return> The current DTLS protocol version
+
+</return>
+</function>
+
 <function name="g_dtls_connection_get_rehandshake_mode">
 <description>
 Gets @conn rehandshaking mode. See
@@ -24631,6 +25125,46 @@ Sets an attribute's value from another attribute.
 <return></return>
 </function>
 
+<function name="g_file_build_attribute_list_for_copy">
+<description>
+Prepares the file attribute query string for copying to @file.
+
+This function prepares an attribute query string to be
+passed to g_file_query_info() to get a list of attributes
+normally copied with the file (see g_file_copy_attributes()
+for the detailed description). This function is used by the
+implementation of g_file_copy_attributes() and is useful
+when one needs to query and set the attributes in two
+stages (e.g., for recursive move of a directory).
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="file">
+<parameter_description> a #GFile to copy attributes to
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> a set of #GFileCopyFlags
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> optional #GCancellable object,
+%NULL to ignore
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError, %NULL to ignore
+</parameter_description>
+</parameter>
+</parameters>
+<return> an attribute query string for g_file_query_info(),
+or %NULL if an error occurs.
+
+</return>
+</function>
+
 <function name="g_file_copy">
 <description>
 Copies the file @source to the location specified by @destination.
@@ -26223,7 +26757,8 @@ This call does no blocking I/O.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a string containing the #GFile's URI.
+<return> a string containing the #GFile's URI. If the #GFile was constructed
+with an invalid URI, an invalid URI is returned.
 The returned string should be freed with g_free()
 when no longer needed.
 </return>
@@ -26238,6 +26773,9 @@ URI = scheme &quot;:&quot; hier-part [ &quot;?&quot; query ] [ &quot;#&quot; fra
 ]|
 Common schemes include &quot;file&quot;, &quot;http&quot;, &quot;ftp&quot;, etc.
 
+The scheme can be different from the one used to construct the #GFile,
+in that it might be replaced with one that is logically equivalent to the #GFile.
+
 This call does no blocking I/O.
 
 
@@ -26249,8 +26787,8 @@ This call does no blocking I/O.
 </parameter>
 </parameters>
 <return> a string containing the URI scheme for the given
-#GFile. The returned string should be freed with g_free()
-when no longer needed.
+#GFile or %NULL if the #GFile was constructed with an invalid URI. The
+returned string should be freed with g_free() when no longer needed.
 </return>
 </function>
 
@@ -26374,7 +26912,7 @@ Gets the #GFile associated with the given @icon.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GFile, or %NULL.
+<return> a #GFile.
 </return>
 </function>
 
@@ -26444,6 +26982,28 @@ Duplicates a file info structure.
 </return>
 </function>
 
+<function name="g_file_info_get_access_date_time">
+<description>
+Gets the access time of the current @info and returns it as a
+#GDateTime.
+
+This requires the %G_FILE_ATTRIBUTE_TIME_ACCESS attribute. If
+%G_FILE_ATTRIBUTE_TIME_ACCESS_USEC is provided, the resulting #GDateTime
+will have microsecond precision.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GFileInfo.
+</parameter_description>
+</parameter>
+</parameters>
+<return> access time, or %NULL if unknown
+</return>
+</function>
+
 <function name="g_file_info_get_attribute_as_string">
 <description>
 Gets the value of a attribute, formatted as a string.
@@ -26761,6 +27321,28 @@ or %NULL if unknown.
 </return>
 </function>
 
+<function name="g_file_info_get_creation_date_time">
+<description>
+Gets the creation time of the current @info and returns it as a
+#GDateTime.
+
+This requires the %G_FILE_ATTRIBUTE_TIME_CREATED attribute. If
+%G_FILE_ATTRIBUTE_TIME_CREATED_USEC is provided, the resulting #GDateTime
+will have microsecond precision.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GFileInfo.
+</parameter_description>
+</parameter>
+</parameters>
+<return> creation time, or %NULL if unknown
+</return>
+</function>
+
 <function name="g_file_info_get_deletion_date">
 <description>
 Returns the #GDateTime representing the deletion date of the file, as
@@ -26973,7 +27555,9 @@ Gets the name for a file. This is guaranteed to always be set.
 
 <function name="g_file_info_get_size">
 <description>
-Gets the file's size.
+Gets the file's size (in bytes). The size is retrieved through the value of
+the %G_FILE_ATTRIBUTE_STANDARD_SIZE attribute and is converted
+from #guint64 to #goffset before returning the result.
 
 
 </description>
@@ -26983,7 +27567,7 @@ Gets the file's size.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #goffset containing the file's size.
+<return> a #goffset containing the file's size (in bytes).
 </return>
 </function>
 
@@ -27136,6 +27720,28 @@ Removes all cases of @attribute from @info if it exists.
 <return></return>
 </function>
 
+<function name="g_file_info_set_access_date_time">
+<description>
+Sets the %G_FILE_ATTRIBUTE_TIME_ACCESS and
+%G_FILE_ATTRIBUTE_TIME_ACCESS_USEC attributes in the file info to the
+given date/time value.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GFileInfo.
+</parameter_description>
+</parameter>
+<parameter name="atime">
+<parameter_description> a #GDateTime.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_file_info_set_attribute">
 <description>
 Sets the @attribute to contain the given value, if possible. To unset the
@@ -27442,6 +28048,28 @@ See %G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE.
 <return></return>
 </function>
 
+<function name="g_file_info_set_creation_date_time">
+<description>
+Sets the %G_FILE_ATTRIBUTE_TIME_CREATED and
+%G_FILE_ATTRIBUTE_TIME_CREATED_USEC attributes in the file info to the
+given date/time value.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="info">
+<parameter_description> a #GFileInfo.
+</parameter_description>
+</parameter>
+<parameter name="creation_time">
+<parameter_description> a #GDateTime.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_file_info_set_display_name">
 <description>
 Sets the display name for the current #GFileInfo.
@@ -31680,9 +32308,9 @@ Obtains a completion for @initial_text from @completer.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a completed string, or %NULL if no completion exists. 
-This string is not owned by GIO, so remember to g_free() it 
-when finished.
+<return> a completed string, or %NULL if no
+completion exists. This string is not owned by GIO, so remember to g_free()
+it when finished.
 </return>
 </function>
 
@@ -37513,7 +38141,7 @@ Gets the domain of the mount operation.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a string set to the domain. 
+<return> a string set to the domain.
 </return>
 </function>
 
@@ -38489,7 +39117,8 @@ Since: 2.32
 </description>
 <parameters>
 </parameters>
-<return> a #GNetworkMonitor
+<return> a #GNetworkMonitor, which will be
+a dummy object if no network monitor is available
 
 </return>
 </function>
@@ -38816,6 +39445,31 @@ Since: 2.40
 <return></return>
 </function>
 
+<function name="g_notification_set_category">
+<description>
+Sets the type of @notification to @category. Categories have a main
+type like `email`, `im` or `device` and can have a detail separated
+by a `.`, e.g. `im.received` or `email.arrived`. Setting the category
+helps the notification server to select proper feedback to the user.
+
+Standard categories are [listed in the 
specification](https://specifications.freedesktop.org/notification-spec/latest/ar01s06.html).
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="notification">
+<parameter_description> a #GNotification
+</parameter_description>
+</parameter>
+<parameter name="category">
+<parameter_description> the category for @notification, or %NULL for no category
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_notification_set_default_action">
 <description>
 Sets the default action of @notification to @detailed_action. This
@@ -40644,8 +41298,8 @@ Virtual: read_nonblocking
 </parameter_description>
 </parameter>
 <parameter name="buffer">
-<parameter_description> a buffer to
-read data into (which should be at least @count bytes long).
+<parameter_description> a
+buffer to read data into (which should be at least @count bytes long).
 </parameter_description>
 </parameter>
 <parameter name="count">
@@ -41063,6 +41717,42 @@ written to the stream
 </return>
 </function>
 
+<function name="g_power_profile_monitor_dup_default">
+<description>
+Gets a reference to the default #GPowerProfileMonitor for the system.
+
+Since: 2.70
+
+</description>
+<parameters>
+</parameters>
+<return> a new reference to the default #GPowerProfileMonitor
+
+</return>
+</function>
+
+<function name="g_power_profile_monitor_get_power_saver_enabled">
+<description>
+Gets whether the system is in “Power Saver” mode.
+
+You are expected to listen to the
+#GPowerProfileMonitor::notify::power-saver-enabled signal to know when the profile has
+changed.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="monitor">
+<parameter_description> a #GPowerProfileMonitor
+</parameter_description>
+</parameter>
+</parameters>
+<return> Whether the system is in “Power Saver” mode.
+
+</return>
+</function>
+
 <function name="g_property_action_new">
 <description>
 Creates a #GAction corresponding to the value of property
@@ -41407,7 +42097,8 @@ Since: 2.26
 </description>
 <parameters>
 </parameters>
-<return> the default #GProxyResolver.
+<return> the default #GProxyResolver, which
+will be a dummy object if no proxy resolver is available
 
 </return>
 </function>
@@ -42869,7 +43560,8 @@ Tells the current position within the stream.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the offset from the beginning of the buffer.
+<return> the (positive or zero) offset from the beginning of the
+buffer, zero if the target is not seekable.
 </return>
 </function>
 
@@ -43049,7 +43741,9 @@ Since: 2.28
 </description>
 <parameters>
 </parameters>
-<return> the default #GSettingsBackend
+<return> the default #GSettingsBackend,
+which will be a dummy (memory) settings backend if no other settings
+backend is available.
 
 </return>
 </function>
@@ -44568,10 +45262,10 @@ Since: 2.40
 
 <function name="g_settings_schema_key_range_check">
 <description>
-Checks if the given @value is of the correct type and within the
+Checks if the given @value is within the
 permitted range for @key.
 
-It is a programmer error if @value is not of the correct type -- you
+It is a programmer error if @value is not of the correct type — you
 must check for this first.
 
 Since: 2.40
@@ -46842,6 +47536,15 @@ Since: 2.22
 <description>
 This is the asynchronous version of g_socket_client_connect().
 
+You may wish to prefer the asynchronous version even in synchronous
+command line programs because, since 2.60, it implements
+[RFC 8305](https://tools.ietf.org/html/rfc8305) &quot;Happy Eyeballs&quot;
+recommendations to work around long connection timeouts in networks
+where IPv6 is broken by performing an IPv4 connection simultaneously
+without waiting for IPv6 to time out, which is not supported by the
+synchronous call. (This is not an API guarantee, and may change in
+the future.)
+
 When the operation is finished @callback will be
 called. You can then call g_socket_client_connect_finish() to get
 the result of the operation.
@@ -49099,7 +49802,7 @@ Since: 2.22
 This is the asynchronous version of g_socket_listener_accept().
 
 When the operation is finished @callback will be
-called. You can then call g_socket_listener_accept_socket()
+called. You can then call g_socket_listener_accept_finish()
 to get the result of the operation.
 
 Since: 2.22
@@ -50019,6 +50722,11 @@ will be returned. To be notified when space is available, wait for the
 notified of a %G_IO_OUT condition. (On Windows in particular, this is
 very common due to the way the underlying APIs work.)
 
+The sum of the sizes of each #GOutputVector in vectors must not be
+greater than %G_MAXSSIZE. If the message can be larger than this,
+then it is mandatory to use the g_socket_send_message_with_timeout()
+function.
+
 On error -1 is returned and @error is set accordingly.
 
 Since: 2.22
@@ -51305,7 +52013,7 @@ Gets the raw status code of the process, as from waitpid().
 
 This value has no particular meaning, but it can be used with the
 macros defined by the system headers such as WIFEXITED.  It can also
-be used with g_spawn_check_exit_status().
+be used with g_spawn_check_wait_status().
 
 It is more likely that you want to use g_subprocess_get_if_exited()
 followed by g_subprocess_get_exit_status().
@@ -51332,8 +52040,8 @@ Since: 2.40
 Gets the #GInputStream from which to read the stderr output of
 @subprocess.
 
-The process must have been created with
-%G_SUBPROCESS_FLAGS_STDERR_PIPE.
+The process must have been created with %G_SUBPROCESS_FLAGS_STDERR_PIPE,
+otherwise %NULL will be returned.
 
 Since: 2.40
 
@@ -51354,8 +52062,8 @@ Since: 2.40
 Gets the #GOutputStream that you can write to in order to give data
 to the stdin of @subprocess.
 
-The process must have been created with
-%G_SUBPROCESS_FLAGS_STDIN_PIPE.
+The process must have been created with %G_SUBPROCESS_FLAGS_STDIN_PIPE and
+not %G_SUBPROCESS_FLAGS_STDIN_INHERIT, otherwise %NULL will be returned.
 
 Since: 2.40
 
@@ -51376,8 +52084,8 @@ Since: 2.40
 Gets the #GInputStream from which to read the stdout output of
 @subprocess.
 
-The process must have been created with
-%G_SUBPROCESS_FLAGS_STDOUT_PIPE.
+The process must have been created with %G_SUBPROCESS_FLAGS_STDOUT_PIPE,
+otherwise %NULL will be returned.
 
 Since: 2.40
 
@@ -51440,6 +52148,31 @@ Since: 2.40
 </return>
 </function>
 
+<function name="g_subprocess_launcher_close">
+<description>
+Closes all the file descriptors previously passed to the object with
+g_subprocess_launcher_take_fd(), g_subprocess_launcher_take_stderr_fd(), etc.
+
+After calling this method, any subsequent calls to g_subprocess_launcher_spawn() or 
g_subprocess_launcher_spawnv() will
+return %G_IO_ERROR_CLOSED. This method is idempotent if
+called more than once.
+
+This function is called automatically when the #GSubprocessLauncher
+is disposed, but is provided separately so that garbage collected
+language bindings can call it earlier to guarantee when FDs are closed.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GSubprocessLauncher
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_subprocess_launcher_getenv">
 <description>
 Returns the value of the environment variable @variable in the
@@ -51804,16 +52537,16 @@ Since: 2.40
 <function name="g_subprocess_launcher_take_fd">
 <description>
 Transfer an arbitrary file descriptor from parent process to the
-child.  This function takes &quot;ownership&quot; of the fd; it will be closed
+child.  This function takes ownership of the @source_fd; it will be closed
 in the parent when @self is freed.
 
 By default, all file descriptors from the parent will be closed.
-This function allows you to create (for example) a custom pipe() or
-socketpair() before launching the process, and choose the target
+This function allows you to create (for example) a custom `pipe()` or
+`socketpair()` before launching the process, and choose the target
 descriptor in the child.
 
 An example use case is GNUPG, which has a command line argument
---passphrase-fd providing a file descriptor number where it expects
+`--passphrase-fd` providing a file descriptor number where it expects
 the passphrase to be written.
 
 </description>
@@ -52127,7 +52860,7 @@ Since: 2.40
 
 <function name="g_subprocess_wait_check">
 <description>
-Combines g_subprocess_wait() with g_spawn_check_exit_status().
+Combines g_subprocess_wait() with g_spawn_check_wait_status().
 
 Since: 2.40
 
@@ -52154,7 +52887,7 @@ Since: 2.40
 
 <function name="g_subprocess_wait_check_async">
 <description>
-Combines g_subprocess_wait_async() with g_spawn_check_exit_status().
+Combines g_subprocess_wait_async() with g_spawn_check_wait_status().
 
 This is the asynchronous version of g_subprocess_wait_check().
 
@@ -52970,9 +53703,9 @@ See #GTaskThreadFunc for more details about how @task_func is handled.
 
 Although GLib currently rate-limits the tasks queued via
 g_task_run_in_thread(), you should not assume that it will always
-do this. If you have a very large number of tasks to run, but don't
-want them to all run at once, you should only queue a limited
-number of them at a time.
+do this. If you have a very large number of tasks to run (several tens of
+tasks), but don't want them to all run at once, you should only queue a
+limited number of them (around ten) at a time.
 
 Since: 2.36
 
@@ -53669,7 +54402,8 @@ Since: 2.28
 </description>
 <parameters>
 </parameters>
-<return> a #GTlsBackend
+<return> a #GTlsBackend, which will be a
+dummy object if no TLS backend is available
 
 </return>
 </function>
@@ -53833,6 +54567,44 @@ Since: 2.28
 </return>
 </function>
 
+<function name="g_tls_certificate_get_dns_names">
+<description>
+Gets the value of #GTlsCertificate:dns-names.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="cert">
+<parameter_description> a #GTlsCertificate
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GPtrArray of
+#GBytes elements, or %NULL if it's not available.
+
+</return>
+</function>
+
+<function name="g_tls_certificate_get_ip_addresses">
+<description>
+Gets the value of #GTlsCertificate:ip-addresses.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="cert">
+<parameter_description> a #GTlsCertificate
+</parameter_description>
+</parameter>
+</parameters>
+<return> A #GPtrArray
+of #GInetAddress elements, or %NULL if it's not available.
+
+</return>
+</function>
+
 <function name="g_tls_certificate_get_issuer">
 <description>
 Gets the #GTlsCertificate representing @cert's issuer, if known
@@ -53853,6 +54625,78 @@ certificate.
 </return>
 </function>
 
+<function name="g_tls_certificate_get_issuer_name">
+<description>
+Returns the issuer name from the certificate.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="cert">
+<parameter_description> a #GTlsCertificate
+</parameter_description>
+</parameter>
+</parameters>
+<return> The issuer name, or %NULL if it's not available.
+
+</return>
+</function>
+
+<function name="g_tls_certificate_get_not_valid_after">
+<description>
+Returns the time at which the certificate became or will become invalid.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="cert">
+<parameter_description> a #GTlsCertificate
+</parameter_description>
+</parameter>
+</parameters>
+<return> The not-valid-after date, or %NULL if it's not available.
+
+</return>
+</function>
+
+<function name="g_tls_certificate_get_not_valid_before">
+<description>
+Returns the time at which the certificate became or will become valid.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="cert">
+<parameter_description> a #GTlsCertificate
+</parameter_description>
+</parameter>
+</parameters>
+<return> The not-valid-before date, or %NULL if it's not available.
+
+</return>
+</function>
+
+<function name="g_tls_certificate_get_subject_name">
+<description>
+Returns the subject name from the certificate.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="cert">
+<parameter_description> a #GTlsCertificate
+</parameter_description>
+</parameter>
+</parameters>
+<return> The subject name, or %NULL if it's not available.
+
+</return>
+</function>
+
 <function name="g_tls_certificate_is_same">
 <description>
 Check if two #GTlsCertificate objects represent the same certificate.
@@ -54021,6 +54865,55 @@ Since: 2.28
 </return>
 </function>
 
+<function name="g_tls_certificate_new_from_pkcs11_uris">
+<description>
+Creates a #GTlsCertificate from a
+[PKCS \#11](https://docs.oasis-open.org/pkcs11/pkcs11-base/v3.0/os/pkcs11-base-v3.0-os.html) URI.
+
+An example @pkcs11_uri would be 
`pkcs11:model=Model;manufacturer=Manufacture;serial=1;token=My%20Client%20Certificate;id=%01`
+
+Where the token’s layout is:
+
+|[
+Object 0:
+URL: 
pkcs11:model=Model;manufacturer=Manufacture;serial=1;token=My%20Client%20Certificate;id=%01;object=private%20key;type=private
+Type: Private key (RSA-2048)
+ID: 01
+
+Object 1:
+URL: 
pkcs11:model=Model;manufacturer=Manufacture;serial=1;token=My%20Client%20Certificate;id=%01;object=Certificate%20for%20Authentication;type=cert
+Type: X.509 Certificate (RSA-2048)
+ID: 01
+]|
+
+In this case the certificate and private key would both be detected and used as expected.
+@pkcs_uri may also just reference an X.509 certificate object and then optionally
+@private_key_pkcs11_uri allows using a private key exposed under a different URI.
+
+Note that the private key is not accessed until usage and may fail or require a PIN later.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="pkcs11_uri">
+<parameter_description> A PKCS \#11 URI
+</parameter_description>
+</parameter>
+<parameter name="private_key_pkcs11_uri">
+<parameter_description> A PKCS \#11 URI
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError for error reporting, or %NULL to ignore.
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new certificate, or %NULL on error
+
+</return>
+</function>
+
 <function name="g_tls_certificate_verify">
 <description>
 This verifies @cert and returns a set of #GTlsCertificateFlags
@@ -54043,6 +54936,13 @@ value.
 (All other #GTlsCertificateFlags values will always be set or unset
 as appropriate.)
 
+Because TLS session context is not used, #GTlsCertificate may not
+perform as many checks on the certificates as #GTlsConnection would.
+For example, certificate constraints cannot be honored, and some
+revocation checks cannot be performed. The best way to verify TLS
+certificates used by a TLS connection is to let #GTlsConnection
+handle the verification.
+
 Since: 2.28
 
 </description>
@@ -54410,6 +55310,31 @@ filled with the binding data, or %NULL
 </return>
 </function>
 
+<function name="g_tls_connection_get_ciphersuite_name">
+<description>
+Returns the name of the current TLS ciphersuite, or %NULL if the
+connection has not handshaked or has been closed. Beware that the TLS
+backend may use any of multiple different naming conventions, because
+OpenSSL and GnuTLS have their own ciphersuite naming conventions that
+are different from each other and different from the standard, IANA-
+registered ciphersuite names. The ciphersuite name is intended to be
+displayed to the user for informative purposes only, and parsing it
+is not recommended.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="conn">
+<parameter_description> a #GTlsConnection
+</parameter_description>
+</parameter>
+</parameters>
+<return> The name of the current TLS ciphersuite, or %NULL
+
+</return>
+</function>
+
 <function name="g_tls_connection_get_database">
 <description>
 Gets the certificate database that @conn uses to verify
@@ -54513,6 +55438,27 @@ Since: 2.28
 </return>
 </function>
 
+<function name="g_tls_connection_get_protocol_version">
+<description>
+Returns the current TLS protocol version, which may be
+%G_TLS_PROTOCOL_VERSION_UNKNOWN if the connection has not handshaked, or
+has been closed, or if the TLS backend has implemented a protocol version
+that is not a recognized #GTlsProtocolVersion.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="conn">
+<parameter_description> a #GTlsConnection
+</parameter_description>
+</parameter>
+</parameters>
+<return> The current TLS protocol version
+
+</return>
+</function>
+
 <function name="g_tls_connection_get_rehandshake_mode">
 <description>
 Gets @conn rehandshaking mode. See
@@ -55065,14 +56011,26 @@ Use g_object_unref() to release the certificate.
 
 <function name="g_tls_database_lookup_certificate_issuer">
 <description>
-Look up the issuer of @certificate in the database.
-
-The #GTlsCertificate:issuer property
-of @certificate is not modified, and the two certificates are not hooked
-into a chain.
-
-This function can block, use g_tls_database_lookup_certificate_issuer_async() to perform
-the lookup operation asynchronously.
+Look up the issuer of @certificate in the database. The
+#GTlsCertificate:issuer property of @certificate is not modified, and
+the two certificates are not hooked into a chain.
+
+This function can block. Use g_tls_database_lookup_certificate_issuer_async()
+to perform the lookup operation asynchronously.
+
+Beware this function cannot be used to build certification paths. The
+issuer certificate returned by this function may not be the same as
+the certificate that would actually be used to construct a valid
+certification path during certificate verification.
+[RFC 4158](https://datatracker.ietf.org/doc/html/rfc4158) explains
+why an issuer certificate cannot be naively assumed to be part of the
+the certification path (though GLib's TLS backends may not follow the
+path building strategies outlined in this RFC). Due to the complexity
+of certification path building, GLib does not provide any way to know
+which certification path will actually be used when verifying a TLS
+certificate. Accordingly, this function cannot be used to make
+security-related decisions. Only GLib itself should make security
+decisions about TLS certificates.
 
 Since: 2.30
 
@@ -55295,15 +56253,11 @@ objects. Use g_object_unref() on each certificate, and g_list_free() on the rele
 
 <function name="g_tls_database_verify_chain">
 <description>
-Determines the validity of a certificate chain after looking up and
-adding any missing certificates to the chain.
+Determines the validity of a certificate chain, outside the context
+of a TLS session.
 
 @chain is a chain of #GTlsCertificate objects each pointing to the next
-certificate in the chain by its #GTlsCertificate:issuer property. The chain may initially
-consist of one or more certificates. After the verification process is
-complete, @chain may be modified by adding missing certificates, or removing
-extra certificates. If a certificate anchor was found, then it is added to
-the @chain.
+certificate in the chain by its #GTlsCertificate:issuer property.
 
 @purpose describes the purpose (or usage) for which the certificate
 is being used. Typically @purpose will be set to #G_TLS_DATABASE_PURPOSE_AUTHENTICATE_SERVER
@@ -55330,8 +56284,27 @@ before it completes) then the return value will be
 accordingly. @error is not set when @chain is successfully analyzed
 but found to be invalid.
 
-This function can block, use g_tls_database_verify_chain_async() to perform
-the verification operation asynchronously.
+Prior to GLib 2.48, GLib's default TLS backend modified @chain to
+represent the certification path built by #GTlsDatabase during
+certificate verification by adjusting the #GTlsCertificate:issuer
+property of each certificate in @chain. Since GLib 2.48, this no
+longer occurs, so you cannot rely on #GTlsCertificate:issuer to
+represent the actual certification path used during certificate
+verification.
+
+Because TLS session context is not used, #GTlsDatabase may not
+perform as many checks on the certificates as #GTlsConnection would.
+For example, certificate constraints cannot be honored, and some
+revocation checks cannot be performed. The best way to verify TLS
+certificates used by a TLS connection is to let #GTlsConnection
+handle the verification.
+
+The TLS backend may attempt to look up and add missing certificates
+to the chain. Since GLib 2.70, this may involve HTTP requests to
+download missing certificates.
+
+This function can block. Use g_tls_database_verify_chain_async() to
+perform the verification operation asynchronously.
 
 Since: 2.30
 
@@ -56956,6 +57929,8 @@ if the mounts have changed since with g_unix_mounts_changed_since().
 If more mounts have the same mount path, the last matching mount
 is returned.
 
+This will return %NULL if there is no mount point at @mount_path.
+
 
 </description>
 <parameters>
@@ -57020,6 +57995,9 @@ if the mounts have changed since with g_unix_mounts_changed_since().
 If more mounts have the same mount path, the last matching mount
 is returned.
 
+This will return %NULL if looking up the mount entry fails, if
+@file_path doesn’t exist or there is an I/O error.
+
 Since: 2.52
 
 </description>
@@ -57989,7 +58967,8 @@ Gets the default #GVfs for the system.
 </description>
 <parameters>
 </parameters>
-<return> a #GVfs.
+<return> a #GVfs, which will be the local
+file system #GVfs if no other implementation is available.
 </return>
 </function>
 
@@ -58826,6 +59805,49 @@ Returns whether the volume should be automatically mounted.
 </return>
 </function>
 
+<function name="g_win32_file_sync_stream_new">
+<description>
+Creates an IStream object backed by a HANDLE.
+
+@stgm_mode should match the mode of the @handle, otherwise the stream might
+attempt to perform operations that the @handle does not allow. The implementation
+itself ignores these flags completely, they are only used to report
+the mode of the stream to third parties.
+
+The stream only does synchronous access and will never return `E_PENDING` on I/O.
+
+The returned stream object should be treated just like any other
+COM object, and released via `IUnknown_Release()`.
+its elements have been unreffed with g_object_unref().
+
+
+</description>
+<parameters>
+<parameter name="handle">
+<parameter_description> a Win32 HANDLE for a file.
+</parameter_description>
+</parameter>
+<parameter name="owns_handle">
+<parameter_description> %TRUE if newly-created stream owns the handle
+(and closes it when destroyed)
+</parameter_description>
+</parameter>
+<parameter name="stgm_mode">
+<parameter_description> a combination of [STGM 
constants](https://docs.microsoft.com/en-us/windows/win32/stg/stgm-constants)
+that specify the mode with which the stream
+is opened.
+</parameter_description>
+</parameter>
+<parameter name="output_hresult">
+<parameter_description> a HRESULT from the internal COM calls.
+Will be `S_OK` on success.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new IStream object on success, %NULL on failure.
+</return>
+</function>
+
 <function name="g_win32_input_stream_get_close_handle">
 <description>
 Returns whether the handle of @stream will be
diff --git a/gio/src/gio_docs_override.xml b/gio/src/gio_docs_override.xml
index c0c1a82d..b7bbcb3e 100644
--- a/gio/src/gio_docs_override.xml
+++ b/gio/src/gio_docs_override.xml
@@ -90,6 +90,7 @@
 <substitute_enumerator_name from_prefix="G_TLS_INTERACTION_" to_prefix="Gio::TlsInteractionResult::" />
 <substitute_enumerator_name from_prefix="G_TLS_ERROR_" to_prefix="Gio::TlsError::" />
 <substitute_enumerator_name from_prefix="G_TLS_PASSWORD_" to_prefix="Gio::TlsPassword::Flags::" />
+<substitute_enumerator_name from_prefix="G_TLS_PROTOCOL_VERSION_" to_prefix="Gio::TlsProtocolVersion::" />
 <substitute_enumerator_name from_prefix="G_ZLIB_COMPRESSOR_FORMAT_" to_prefix="Gio::ZlibCompressorFormat::" 
/>
 <substitute_enumerator_name from_prefix="G_UNIX_SOCKET_ADDRESS_" to_prefix="Gio::UnixSocketAddress::Type::" 
/>
 <!-- Some GFileError enumerators have different names in glibmm. -->
@@ -110,6 +111,7 @@
 <substitute_enumerator_name from_prefix="G_VARIANT_TYPE_" to_prefix="G_VARIANT_TYPE_" />
 <substitute_enumerator_name from_prefix="G_TLS_DATABASE_PURPOSE_AUTHENTICATE_" 
to_prefix="G_TLS_DATABASE_PURPOSE_AUTHENTICATE_" />
 <substitute_enumerator_name from_prefix="G_KEY_FILE_DESKTOP_KEY_" to_prefix="G_KEY_FILE_DESKTOP_KEY_" />
+<substitute_enumerator_name from_prefix="G_PRIORITY_" to_prefix="G_PRIORITY_" />
 <substitute_enumerator_name from_prefix="GIO_LAUNCHED_" to_prefix="GIO_LAUNCHED_" />
 <substitute_enumerator_name from_prefix="DESKTOP_" to_prefix="DESKTOP_" />
 <substitute_enumerator_name from_prefix="GIT_" to_prefix="GIT_" />
diff --git a/gio/src/gio_enums.defs b/gio/src/gio_enums.defs
index 0161a97c..ef399fa8 100644
--- a/gio/src/gio_enums.defs
+++ b/gio/src/gio_enums.defs
@@ -1022,7 +1022,8 @@
 ;;   G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER = (1<<1),
 ;;   G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = (1<<2),
 ;;   G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION = (1<<3),
-;;   G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING = (1<<4)
+;;   G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING = (1<<4),
+;;   G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER GLIB_AVAILABLE_ENUMERATOR_IN_2_68 = (1<<5)
 ;; } GDBusConnectionFlags;
 
 (define-flags-extended DBusConnectionFlags
@@ -1035,6 +1036,7 @@
     '("authentication-allow-anonymous" "G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS" "(1<<2)")
     '("message-bus-connection" "G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION" "(1<<3)")
     '("delay-message-processing" "G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING" "(1<<4)")
+    '("authentication-require-same-user" "G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER" "(1<<5)")
   )
 )
 
@@ -1180,7 +1182,8 @@
 ;; {
 ;;   G_DBUS_SERVER_FLAGS_NONE = 0,
 ;;   G_DBUS_SERVER_FLAGS_RUN_IN_THREAD = (1<<0),
-;;   G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = (1<<1)
+;;   G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS = (1<<1),
+;;   G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER GLIB_AVAILABLE_ENUMERATOR_IN_2_68 = (1<<2)
 ;; } GDBusServerFlags;
 
 (define-flags-extended DBusServerFlags
@@ -1190,6 +1193,7 @@
     '("none" "G_DBUS_SERVER_FLAGS_NONE" "0x0")
     '("run-in-thread" "G_DBUS_SERVER_FLAGS_RUN_IN_THREAD" "(1<<0)")
     '("authentication-allow-anonymous" "G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS" "(1<<1)")
+    '("authentication-require-same-user" "G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER" "(1<<2)")
   )
 )
 
@@ -1437,7 +1441,10 @@
 ;;   G_TLS_PASSWORD_NONE = 0,
 ;;   G_TLS_PASSWORD_RETRY = 1 << 1,
 ;;   G_TLS_PASSWORD_MANY_TRIES = 1 << 2,
-;;   G_TLS_PASSWORD_FINAL_TRY = 1 << 3
+;;   G_TLS_PASSWORD_FINAL_TRY = 1 << 3,
+;;   G_TLS_PASSWORD_PKCS11_USER = 1 << 4,
+;;   G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER = 1 << 5,
+;;   G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC = 1 << 6
 ;; } GTlsPasswordFlags;
 
 (define-flags-extended TlsPasswordFlags
@@ -1448,6 +1455,9 @@
     '("retry" "G_TLS_PASSWORD_RETRY" "1 << 1")
     '("many-tries" "G_TLS_PASSWORD_MANY_TRIES" "1 << 2")
     '("final-try" "G_TLS_PASSWORD_FINAL_TRY" "1 << 3")
+    '("pkcs11-user" "G_TLS_PASSWORD_PKCS11_USER" "1 << 4")
+    '("pkcs11-security-officer" "G_TLS_PASSWORD_PKCS11_SECURITY_OFFICER" "1 << 5")
+    '("pkcs11-context-specific" "G_TLS_PASSWORD_PKCS11_CONTEXT_SPECIFIC" "1 << 6")
   )
 )
 
@@ -1541,6 +1551,33 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum {
+;;   G_TLS_PROTOCOL_VERSION_UNKNOWN = 0,
+;;   G_TLS_PROTOCOL_VERSION_SSL_3_0 = 1,
+;;   G_TLS_PROTOCOL_VERSION_TLS_1_0 = 2,
+;;   G_TLS_PROTOCOL_VERSION_TLS_1_1 = 3,
+;;   G_TLS_PROTOCOL_VERSION_TLS_1_2 = 4,
+;;   G_TLS_PROTOCOL_VERSION_TLS_1_3 = 5,
+;;   G_TLS_PROTOCOL_VERSION_DTLS_1_0 = 201,
+;;   G_TLS_PROTOCOL_VERSION_DTLS_1_2 = 202,
+;; } GTlsProtocolVersion;
+
+(define-enum-extended TlsProtocolVersion
+  (in-module "G")
+  (c-name "GTlsProtocolVersion")
+  (values
+    '("unknown" "G_TLS_PROTOCOL_VERSION_UNKNOWN" "0")
+    '("ssl-3-0" "G_TLS_PROTOCOL_VERSION_SSL_3_0" "1")
+    '("tls-1-0" "G_TLS_PROTOCOL_VERSION_TLS_1_0" "2")
+    '("tls-1-1" "G_TLS_PROTOCOL_VERSION_TLS_1_1" "3")
+    '("tls-1-2" "G_TLS_PROTOCOL_VERSION_TLS_1_2" "4")
+    '("tls-1-3" "G_TLS_PROTOCOL_VERSION_TLS_1_3" "5")
+    '("dtls-1-0" "G_TLS_PROTOCOL_VERSION_DTLS_1_0" "201")
+    '("dtls-1-2" "G_TLS_PROTOCOL_VERSION_DTLS_1_2" "202")
+  )
+)
+
 ;; Original typedef:
 ;; typedef enum {
 ;;   G_IO_MODULE_SCOPE_NONE,
@@ -1697,6 +1734,7 @@
   (values
     '("failed" "G_POLLABLE_RETURN_FAILED" "0")
     '("ok" "G_POLLABLE_RETURN_OK" "1")
+    '("would-block" "G_POLLABLE_RETURN_WOULD_BLOCK" "-27")
   )
 )
 
diff --git a/gio/src/gio_methods.defs b/gio/src/gio_methods.defs
index d5b997a1..1887a2fd 100644
--- a/gio/src/gio_methods.defs
+++ b/gio/src/gio_methods.defs
@@ -1405,6 +1405,7 @@
     '("authentication-allow-anonymous" "G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS")
     '("message-bus-connection" "G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION")
     '("delay-message-processing" "G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING")
+    '("authentication-require-same-user" "G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER")
   )
 )
 
@@ -1501,6 +1502,7 @@
     '("none" "G_DBUS_SERVER_FLAGS_NONE")
     '("run-in-thread" "G_DBUS_SERVER_FLAGS_RUN_IN_THREAD")
     '("authentication-allow-anonymous" "G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS")
+    '("authentication-require-same-user" "G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER")
   )
 )
 
@@ -1705,6 +1707,22 @@
   )
 )
 
+(define-enum ProtocolVersion
+  (in-module "GTls")
+  (c-name "GTlsProtocolVersion")
+  (gtype-id "G_TYPE_TLS_PROTOCOL_VERSION")
+  (values
+    '("unknown" "G_TLS_PROTOCOL_VERSION_UNKNOWN")
+    '("ssl-3-0" "G_TLS_PROTOCOL_VERSION_SSL_3_0")
+    '("tls-1-0" "G_TLS_PROTOCOL_VERSION_TLS_1_0")
+    '("tls-1-1" "G_TLS_PROTOCOL_VERSION_TLS_1_1")
+    '("tls-1-2" "G_TLS_PROTOCOL_VERSION_TLS_1_2")
+    '("tls-1-3" "G_TLS_PROTOCOL_VERSION_TLS_1_3")
+    '("dtls-1-0" "G_TLS_PROTOCOL_VERSION_DTLS_1_0")
+    '("dtls-1-2" "G_TLS_PROTOCOL_VERSION_DTLS_1_2")
+  )
+)
+
 (define-enum ScopeFlags
   (in-module "GIOModule")
   (c-name "GIOModuleScopeFlags")
@@ -6792,6 +6810,14 @@
   )
 )
 
+(define-function g_dbus_is_error_name
+  (c-name "g_dbus_is_error_name")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "string")
+  )
+)
+
 (define-function g_dbus_gvariant_to_gvalue
   (c-name "g_dbus_gvariant_to_gvalue")
   (return-type "none")
@@ -6810,6 +6836,30 @@
   )
 )
 
+(define-function g_dbus_escape_object_path_bytestring
+  (c-name "g_dbus_escape_object_path_bytestring")
+  (return-type "gchar*")
+  (parameters
+    '("const-guint8*" "bytes")
+  )
+)
+
+(define-function g_dbus_escape_object_path
+  (c-name "g_dbus_escape_object_path")
+  (return-type "gchar*")
+  (parameters
+    '("const-gchar*" "s")
+  )
+)
+
+(define-function g_dbus_unescape_object_path
+  (c-name "g_dbus_unescape_object_path")
+  (return-type "guint8*")
+  (parameters
+    '("const-gchar*" "s")
+  )
+)
+
 
 
 ;; From gdelayedsettingsbackend.h
@@ -7611,6 +7661,18 @@
   )
 )
 
+(define-method get_protocol_version
+  (of-object "GDtlsConnection")
+  (c-name "g_dtls_connection_get_protocol_version")
+  (return-type "GTlsProtocolVersion")
+)
+
+(define-method get_ciphersuite_name
+  (of-object "GDtlsConnection")
+  (c-name "g_dtls_connection_get_ciphersuite_name")
+  (return-type "gchar*")
+)
+
 
 
 ;; From gdtlsserverconnection.h
@@ -9015,6 +9077,17 @@
   )
 )
 
+(define-method build_attribute_list_for_copy
+  (of-object "GFile")
+  (c-name "g_file_build_attribute_list_for_copy")
+  (return-type "char*")
+  (parameters
+    '("GFileCopyFlags" "flags")
+    '("GCancellable*" "cancellable")
+    '("GError**" "error")
+  )
+)
+
 (define-method copy_attributes
   (of-object "GFile")
   (c-name "g_file_copy_attributes")
@@ -9773,6 +9846,18 @@
   (return-type "GDateTime*")
 )
 
+(define-method get_access_date_time
+  (of-object "GFileInfo")
+  (c-name "g_file_info_get_access_date_time")
+  (return-type "GDateTime*")
+)
+
+(define-method get_creation_date_time
+  (of-object "GFileInfo")
+  (c-name "g_file_info_get_creation_date_time")
+  (return-type "GDateTime*")
+)
+
 (define-method get_symlink_target
   (of-object "GFileInfo")
   (c-name "g_file_info_get_symlink_target")
@@ -9914,6 +9999,24 @@
   )
 )
 
+(define-method set_access_date_time
+  (of-object "GFileInfo")
+  (c-name "g_file_info_set_access_date_time")
+  (return-type "none")
+  (parameters
+    '("GDateTime*" "atime")
+  )
+)
+
+(define-method set_creation_date_time
+  (of-object "GFileInfo")
+  (c-name "g_file_info_set_creation_date_time")
+  (return-type "none")
+  (parameters
+    '("GDateTime*" "creation_time")
+  )
+)
+
 (define-method set_symlink_target
   (of-object "GFileInfo")
   (c-name "g_file_info_set_symlink_target")
@@ -11337,6 +11440,16 @@
   )
 )
 
+(define-function handle_launch
+  (c-name "handle_launch")
+  (return-type "int")
+  (parameters
+    '("int" "argc")
+    '("char*[]" "argv")
+    '("gboolean" "do_help")
+  )
+)
+
 (define-function handle_list
   (c-name "handle_list")
   (return-type "int")
@@ -11488,6 +11601,14 @@
   )
 )
 
+(define-function gio_win32_appinfo_init
+  (c-name "gio_win32_appinfo_init")
+  (return-type "none")
+  (parameters
+    '("gboolean" "do_wait")
+  )
+)
+
 
 
 ;; From glistmodel.h
@@ -13220,6 +13341,15 @@
   )
 )
 
+(define-method set_category
+  (of-object "GNotification")
+  (c-name "g_notification_set_category")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "category")
+  )
+)
+
 (define-method add_button
   (of-object "GNotification")
   (c-name "g_notification_add_button")
@@ -13330,7 +13460,7 @@
 (define-method get_filename
   (of-object "GOsxAppInfo")
   (c-name "g_osx_app_info_get_filename")
-  (return-type "char*")
+  (return-type "const-char*")
 )
 
 (define-function g_osx_app_info_get_all_for_scheme
@@ -13978,6 +14108,29 @@
 
 
 
+;; From gpowerprofilemonitordbus.h
+
+
+
+;; From gpowerprofilemonitor.h
+
+(define-function g_power_profile_monitor_dup_default
+  (c-name "g_power_profile_monitor_dup_default")
+  (return-type "GPowerProfileMonitor*")
+)
+
+(define-method get_power_saver_enabled
+  (of-object "GPowerProfileMonitor")
+  (c-name "g_power_profile_monitor_get_power_saver_enabled")
+  (return-type "gboolean")
+)
+
+
+
+;; From gpowerprofilemonitorportal.h
+
+
+
 ;; From gpropertyaction.h
 
 (define-function g_property_action_get_type
@@ -15630,6 +15783,15 @@
   )
 )
 
+(define-method get_child_schema
+  (of-object "GSettingsSchema")
+  (c-name "g_settings_schema_get_child_schema")
+  (return-type "GSettingsSchema*")
+  (parameters
+    '("const-gchar*" "name")
+  )
+)
+
 (define-method init
   (of-object "GSettingsSchemaKey")
   (c-name "g_settings_schema_key_init")
@@ -17925,6 +18087,12 @@
   )
 )
 
+(define-method close
+  (of-object "GSubprocessLauncher")
+  (c-name "g_subprocess_launcher_close")
+  (return-type "none")
+)
+
 (define-method set_child_setup
   (of-object "GSubprocessLauncher")
   (c-name "g_subprocess_launcher_set_child_setup")
@@ -18555,6 +18723,16 @@
   )
 )
 
+(define-function g_tls_certificate_new_from_pkcs11_uris
+  (c-name "g_tls_certificate_new_from_pkcs11_uris")
+  (return-type "GTlsCertificate*")
+  (parameters
+    '("const-gchar*" "pkcs11_uri")
+    '("const-gchar*" "private_key_pkcs11_uri")
+    '("GError**" "error")
+  )
+)
+
 (define-function g_tls_certificate_list_new_from_file
   (c-name "g_tls_certificate_list_new_from_file")
   (return-type "GList*")
@@ -18589,6 +18767,42 @@
   )
 )
 
+(define-method get_not_valid_before
+  (of-object "GTlsCertificate")
+  (c-name "g_tls_certificate_get_not_valid_before")
+  (return-type "GDateTime*")
+)
+
+(define-method get_not_valid_after
+  (of-object "GTlsCertificate")
+  (c-name "g_tls_certificate_get_not_valid_after")
+  (return-type "GDateTime*")
+)
+
+(define-method get_subject_name
+  (of-object "GTlsCertificate")
+  (c-name "g_tls_certificate_get_subject_name")
+  (return-type "gchar*")
+)
+
+(define-method get_issuer_name
+  (of-object "GTlsCertificate")
+  (c-name "g_tls_certificate_get_issuer_name")
+  (return-type "gchar*")
+)
+
+(define-method get_dns_names
+  (of-object "GTlsCertificate")
+  (c-name "g_tls_certificate_get_dns_names")
+  (return-type "GPtrArray*")
+)
+
+(define-method get_ip_addresses
+  (of-object "GTlsCertificate")
+  (c-name "g_tls_certificate_get_ip_addresses")
+  (return-type "GPtrArray*")
+)
+
 
 
 ;; From gtlsclientconnection.h
@@ -18838,6 +19052,18 @@
   )
 )
 
+(define-method get_protocol_version
+  (of-object "GTlsConnection")
+  (c-name "g_tls_connection_get_protocol_version")
+  (return-type "GTlsProtocolVersion")
+)
+
+(define-method get_ciphersuite_name
+  (of-object "GTlsConnection")
+  (c-name "g_tls_connection_get_ciphersuite_name")
+  (return-type "gchar*")
+)
+
 (define-function g_tls_error_quark
   (c-name "g_tls_error_quark")
   (return-type "GQuark")
@@ -20300,6 +20526,22 @@
 
 
 
+;; From gwin32file-sync-stream.h
+
+(define-function g_win32_file_sync_stream_new
+  (c-name "g_win32_file_sync_stream_new")
+  (is-constructor-of "GWin32FileSyncStream")
+  (return-type "IStream*")
+  (parameters
+    '("HANDLE" "file_handle")
+    '("gboolean" "owns_handle")
+    '("DWORD" "stgm_mode")
+    '("HRESULT*" "output_hresult")
+  )
+)
+
+
+
 ;; From gwin32inputstream.h
 
 (define-function g_win32_input_stream_get_type
@@ -20388,6 +20630,20 @@
 
 
 
+;; From gwin32packageparser.h
+
+(define-function g_win32_package_parser_enum_packages
+  (c-name "g_win32_package_parser_enum_packages")
+  (return-type "gboolean")
+  (parameters
+    '("GWin32PackageParserCallback" "callback")
+    '("gpointer" "user_data")
+    '("GError**" "error")
+  )
+)
+
+
+
 ;; From gwin32registrykey.h
 
 (define-method copy
@@ -20523,7 +20779,7 @@
   (c-name "g_win32_registry_subkey_iter_get_name")
   (return-type "gboolean")
   (parameters
-    '("gchar**" "subkey_name")
+    '("const-gchar**" "subkey_name")
     '("gsize*" "subkey_name_len")
     '("GError**" "error")
   )
@@ -20534,7 +20790,7 @@
   (c-name "g_win32_registry_subkey_iter_get_name_w")
   (return-type "gboolean")
   (parameters
-    '("gunichar2**" "subkey_name")
+    '("const-gunichar2**" "subkey_name")
     '("gsize*" "subkey_name_len")
     '("GError**" "error")
   )
@@ -21143,6 +21399,11 @@
   (return-type "GType")
 )
 
+(define-function g_tls_protocol_version_get_type
+  (c-name "g_tls_protocol_version_get_type")
+  (return-type "GType")
+)
+
 (define-function g_io_module_scope_flags_get_type
   (c-name "g_io_module_scope_flags_get_type")
   (return-type "GType")
diff --git a/gio/src/gio_signals.defs b/gio/src/gio_signals.defs
index 905a294c..3036c5e0 100644
--- a/gio/src/gio_signals.defs
+++ b/gio/src/gio_signals.defs
@@ -2271,7 +2271,7 @@
   (of-object "GTlsCertificate")
   (prop-type "GParamBoxed")
   (docs "The DER representation of the certificate’s private key")
-  (readable #f)
+  (readable #t)
   (writable #t)
   (construct-only #t)
 )
@@ -2280,7 +2280,7 @@
   (of-object "GTlsCertificate")
   (prop-type "GParamString")
   (docs "The PEM representation of the certificate’s private key")
-  (readable #f)
+  (readable #t)
   (writable #t)
   (construct-only #t)
   (default-value "")
@@ -2295,6 +2295,82 @@
   (construct-only #t)
 )
 
+(define-property pkcs11-uri
+  (of-object "GTlsCertificate")
+  (prop-type "GParamString")
+  (docs "The PKCS #11 URI")
+  (readable #t)
+  (writable #t)
+  (construct-only #t)
+  (default-value "")
+)
+
+(define-property private-key-pkcs11-uri
+  (of-object "GTlsCertificate")
+  (prop-type "GParamString")
+  (docs "The PKCS #11 URI for a private key")
+  (readable #t)
+  (writable #t)
+  (construct-only #t)
+  (default-value "")
+)
+
+(define-property not-valid-before
+  (of-object "GTlsCertificate")
+  (prop-type "GParamBoxed")
+  (docs "Cert should not be considered valid before this time.")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property not-valid-after
+  (of-object "GTlsCertificate")
+  (prop-type "GParamBoxed")
+  (docs "Cert should not be considered valid after this time.")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property subject-name
+  (of-object "GTlsCertificate")
+  (prop-type "GParamString")
+  (docs "The subject name from the certificate.")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "")
+)
+
+(define-property issuer-name
+  (of-object "GTlsCertificate")
+  (prop-type "GParamString")
+  (docs "The issuer from the certificate.")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "")
+)
+
+(define-property dns-names
+  (of-object "GTlsCertificate")
+  (prop-type "GParamBoxed")
+  (docs "DNS Names listed on the cert.")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property ip-addresses
+  (of-object "GTlsCertificate")
+  (prop-type "GParamBoxed")
+  (docs "IP Addresses listed on the cert.")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
 ;; From GTlsClientConnection
 
 (define-property accepted-cas
@@ -2454,6 +2530,26 @@
   (default-value "")
 )
 
+(define-property protocol-version
+  (of-object "GTlsConnection")
+  (prop-type "GParamEnum")
+  (docs "TLS protocol version negotiated for this connection")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "G_TLS_PROTOCOL_VERSION_UNKNOWN")
+)
+
+(define-property ciphersuite-name
+  (of-object "GTlsConnection")
+  (prop-type "GParamString")
+  (docs "Name of ciphersuite negotiated for this connection")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "")
+)
+
 ;; From GTlsDatabase
 
 ;; From GTlsFileDatabase
diff --git a/glib/src/glib_docs.xml b/glib/src/glib_docs.xml
index 90c72d7d..df9b6a57 100644
--- a/glib/src/glib_docs.xml
+++ b/glib/src/glib_docs.xml
@@ -259,8 +259,8 @@ to mark a number as a day, month, or year.
 
 <enum name="GDateMonth">
 <description>
-Enumeration representing a month; values are #G_DATE_JANUARY,
-#G_DATE_FEBRUARY, etc. #G_DATE_BAD_MONTH is the invalid value.
+Enumeration representing a month; values are %G_DATE_JANUARY,
+%G_DATE_FEBRUARY, etc. %G_DATE_BAD_MONTH is the invalid value.
 
 </description>
 <parameters>
@@ -1145,6 +1145,25 @@ another namespace).  Since: 2.40.
 </parameters>
 </enum>
 
+<enum name="GModuleError">
+<description>
+Errors returned by g_module_open_full().
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="G_MODULE_ERROR_FAILED">
+<parameter_description> there was an error loading or opening a module file
+</parameter_description>
+</parameter>
+<parameter name="G_MODULE_ERROR_CHECK_FAILED">
+<parameter_description> a module returned an error from its `g_module_check_init()` function
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
 <enum name="GModuleFlags">
 <description>
 Flags passed to g_module_open().
@@ -1260,11 +1279,13 @@ and common practice is to do that only when the value has actually changed.
 This signal is typically used to obtain change notification for a
 single property, by specifying the property name as a detail in the
 g_signal_connect() call, like this:
+
 |[&lt;!-- language=&quot;C&quot; --&gt; 
 g_signal_connect (text_view-&gt;buffer, &quot;notify::paste-target-list&quot;,
 G_CALLBACK (gtk_text_view_target_list_notify),
 text_view)
 ]|
+
 It is important to note that you must use
 [canonical parameter names][canonical-parameter-names] as
 detail strings for the notify signal.
@@ -1445,7 +1466,9 @@ your direct control. Since 2.8.
 <enum name="GParamFlags">
 <description>
 Through the #GParamFlags flag values, certain aspects of parameters
-can be configured. See also #G_PARAM_STATIC_STRINGS.
+can be configured.
+
+See also: %G_PARAM_STATIC_STRINGS
 
 </description>
 <parameters>
@@ -2092,9 +2115,7 @@ Error codes returned by shell functions.
 
 <enum name="GSignalFlags">
 <description>
-The signal flags are used to specify a signal's behaviour, the overall
-signal description outlines how especially the RUN flags control the
-stages of a signal emission.
+The signal flags are used to specify a signal's behaviour.
 
 </description>
 <parameters>
@@ -2145,6 +2166,12 @@ in a future version. A warning will be generated if it is connected while
 running with G_ENABLE_DIAGNOSTIC=1.  Since 2.32.
 </parameter_description>
 </parameter>
+<parameter name="G_SIGNAL_ACCUMULATOR_FIRST_RUN">
+<parameter_description> Only used in #GSignalAccumulator accumulator
+functions for the #GSignalInvocationHint::run_type field to mark the first
+call to the accumulator function for a signal emission.  Since 2.68.
+</parameter_description>
+</parameter>
 </parameters>
 </enum>
 
@@ -2743,6 +2770,11 @@ that introduces a value table, but can't be used for
 g_value_init()
 </parameter_description>
 </parameter>
+<parameter name="G_TYPE_FLAG_FINAL">
+<parameter_description> Indicates a final type. A final type is a non-derivable
+leaf node in a deep derivable type hierarchy tree. Since: 2.70
+</parameter_description>
+</parameter>
 </parameters>
 </enum>
 
@@ -2758,7 +2790,7 @@ fundamental type.
 </parameter_description>
 </parameter>
 <parameter name="G_TYPE_FLAG_INSTANTIATABLE">
-<parameter_description> Indicates an instantiable type (implies classed)
+<parameter_description> Indicates an instantiatable type (implies classed)
 </parameter_description>
 </parameter>
 <parameter name="G_TYPE_FLAG_DERIVABLE">
@@ -2928,7 +2960,11 @@ See [Unicode Line Breaking Algorithm](http://www.unicode.org/unicode/reports/tr1
 </parameter_description>
 </parameter>
 <parameter name="G_UNICODE_BREAK_CLOSE_PARANTHESIS">
-<parameter_description> Closing Parenthesis (CP). Since 2.28
+<parameter_description> Closing Parenthesis (CP). Since 2.28. Deprecated: 2.70: Use 
%G_UNICODE_BREAK_CLOSE_PARENTHESIS instead.
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_BREAK_CLOSE_PARENTHESIS">
+<parameter_description> Closing Parenthesis (CP). Since 2.70
 </parameter_description>
 </parameter>
 <parameter name="G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER">
@@ -3866,6 +3902,13 @@ field only.
 fragment only.
 </parameter_description>
 </parameter>
+<parameter name="G_URI_FLAGS_SCHEME_NORMALIZE">
+<parameter_description> A scheme-based normalization will be applied.
+For example, when parsing an HTTP URI changing omitted path to `/` and
+omitted port to `80`; and when building a URI, changing empty path to `/`
+and default port `80`). This only supports a subset of known schemes. (Since: 2.68)
+</parameter_description>
+</parameter>
 </parameters>
 </enum>
 
@@ -4259,6 +4302,11 @@ return like e.g. with malloc(). Instead, most systems probably handle it the sam
 way as out of stack space situations from infinite function recursion, i.e.
 with a segmentation fault.
 
+- Allowing @size to be specified by an untrusted party would allow for them
+to trigger a segmentation fault by specifying a large size, leading to a
+denial of service vulnerability. @size must always be entirely under the
+control of the program.
+
 - Special care has to be taken when mixing alloca() with GNU C variable sized arrays.
 Stack space allocated with alloca() in the same scope as a variable sized array
 will be freed together with the variable sized array upon exit of that scope, and
@@ -4757,6 +4805,27 @@ Note that in contrast with other uses of #GDestroyNotify
 functions, @clear_func is expected to clear the contents of
 the array element it is given, but not free the element itself.
 
+|[&lt;!-- language=&quot;C&quot; --&gt;
+typedef struct
+{
+gchar *str;
+GObject *obj;
+} ArrayElement;
+
+static void
+array_element_clear (ArrayElement *element)
+{
+g_clear_pointer (&amp;element-&gt;str, g_free);
+g_clear_object (&amp;element-&gt;obj);
+}
+
+// main code
+GArray *garray = g_array_new (FALSE, FALSE, sizeof (ArrayElement));
+g_array_set_clear_func (garray, (GDestroyNotify) array_element_clear);
+// assign data to the structure
+g_array_free (garray, TRUE);
+]|
+
 Since: 2.32
 
 </description>
@@ -5929,6 +5998,40 @@ One of `==`, `!=`, `&lt;`, `&gt;`, `&lt;=`, `&gt;=`.
 <return></return>
 </function>
 
+<function name="g_assert_cmpstrv">
+<description>
+Debugging macro to check if two %NULL-terminated string arrays (i.e. 2
+#GStrv) are equal. If they are not equal, an error message is logged and the
+application is either terminated or the testcase marked as failed.
+If both arrays are %NULL, the check passes. If one array is %NULL but the
+other is not, an error message is logged.
+
+The effect of `g_assert_cmpstrv (strv1, strv2)` is the same as
+`g_assert_true (g_strv_equal (strv1, strv2))` (if both arrays are not
+%NULL). The advantage of this macro is that it can produce a message that
+includes how @strv1 and @strv2 are different.
+
+|[&lt;!-- language=&quot;C&quot; --&gt;
+const char *expected[] = { &quot;one&quot;, &quot;two&quot;, &quot;three&quot;, NULL };
+g_assert_cmpstrv (mystrv, expected);
+]|
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="strv1">
+<parameter_description> a string array (may be %NULL)
+</parameter_description>
+</parameter>
+<parameter name="strv2">
+<parameter_description> another string array (may be %NULL)
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_assert_cmpuint">
 <description>
 Debugging macro to compare two unsigned integers.
@@ -6965,6 +7068,9 @@ This call acts as a full compiler and hardware memory barrier.
 Before version 2.30, this function did not return a value
 (but g_atomic_int_exchange_and_add() did, and had the same meaning).
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.4
 
 </description>
@@ -6993,6 +7099,9 @@ This call acts as a full compiler and hardware memory barrier.
 Think of this operation as an atomic version of
 `{ tmp = *atomic; *atomic &amp;= val; return tmp; }`.
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.30
 
 </description>
@@ -7023,6 +7132,9 @@ Think of this operation as an atomic version of
 
 This call acts as a full compiler and hardware memory barrier.
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.4
 
 </description>
@@ -7054,6 +7166,9 @@ Think of this operation as an atomic version of
 
 This call acts as a full compiler and hardware memory barrier.
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.4
 
 </description>
@@ -7099,6 +7214,9 @@ Gets the current value of @atomic.
 This call acts as a full compiler and hardware
 memory barrier (before the get).
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.4
 
 </description>
@@ -7121,6 +7239,9 @@ Think of this operation as an atomic version of `{ *atomic += 1; }`.
 
 This call acts as a full compiler and hardware memory barrier.
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.4
 
 </description>
@@ -7143,6 +7264,9 @@ Think of this operation as an atomic version of
 
 This call acts as a full compiler and hardware memory barrier.
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.30
 
 </description>
@@ -7168,6 +7292,9 @@ Sets the value of @atomic to @newval.
 This call acts as a full compiler and hardware
 memory barrier (after the set).
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.4
 
 </description>
@@ -7194,6 +7321,9 @@ Think of this operation as an atomic version of
 
 This call acts as a full compiler and hardware memory barrier.
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.30
 
 </description>
@@ -7221,6 +7351,9 @@ Think of this operation as an atomic version of
 
 This call acts as a full compiler and hardware memory barrier.
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.30
 
 </description>
@@ -7249,6 +7382,9 @@ Think of this operation as an atomic version of
 
 This call acts as a full compiler and hardware memory barrier.
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.30
 
 </description>
@@ -7279,6 +7415,9 @@ Think of this operation as an atomic version of
 
 This call acts as a full compiler and hardware memory barrier.
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.4
 
 </description>
@@ -7308,6 +7447,9 @@ Gets the current value of @atomic.
 This call acts as a full compiler and hardware
 memory barrier (before the get).
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.4
 
 </description>
@@ -7332,6 +7474,9 @@ Think of this operation as an atomic version of
 
 This call acts as a full compiler and hardware memory barrier.
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.30
 
 </description>
@@ -7357,6 +7502,9 @@ Sets the value of @atomic to @newval.
 This call acts as a full compiler and hardware
 memory barrier (after the set).
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.4
 
 </description>
@@ -7383,6 +7531,9 @@ Think of this operation as an atomic version of
 
 This call acts as a full compiler and hardware memory barrier.
 
+While @atomic has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.30
 
 </description>
@@ -7634,6 +7785,10 @@ as the given value
 <description>
 Atomically decreases the reference count.
 
+If %TRUE is returned, the reference count reached 0. After this point, @arc
+is an undefined state and must be reinitialized with
+g_atomic_ref_count_init() to be used again.
+
 Since: 2.58
 
 </description>
@@ -7666,7 +7821,7 @@ Since: 2.58
 
 <function name="g_atomic_ref_count_init">
 <description>
-Initializes a reference count variable.
+Initializes a reference count variable to 1.
 
 Since: 2.58
 
@@ -8188,6 +8343,52 @@ directory components
 </return>
 </function>
 
+<function name="g_binding_dup_source">
+<description>
+Retrieves the #GObject instance used as the source of the binding.
+
+A #GBinding can outlive the source #GObject as the binding does not hold a
+strong reference to the source. If the source is destroyed before the
+binding then this function will return %NULL.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="binding">
+<parameter_description> a #GBinding
+</parameter_description>
+</parameter>
+</parameters>
+<return> the source #GObject, or %NULL if the
+source does not exist any more.
+
+</return>
+</function>
+
+<function name="g_binding_dup_target">
+<description>
+Retrieves the #GObject instance used as the target of the binding.
+
+A #GBinding can outlive the target #GObject as the binding does not hold a
+strong reference to the target. If the target is destroyed before the
+binding then this function will return %NULL.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="binding">
+<parameter_description> a #GBinding
+</parameter_description>
+</parameter>
+</parameters>
+<return> the target #GObject, or %NULL if the
+target does not exist any more.
+
+</return>
+</function>
+
 <function name="g_binding_get_flags">
 <description>
 Retrieves the flags passed when constructing the #GBinding.
@@ -8214,6 +8415,13 @@ A #GBinding can outlive the source #GObject as the binding does not hold a
 strong reference to the source. If the source is destroyed before the
 binding then this function will return %NULL.
 
+Use g_binding_dup_source() if the source or binding are used from different
+threads as otherwise the pointer returned from this function might become
+invalid if the source is finalized from another thread in the meantime.
+
+Deprecated: 2.68: Use g_binding_dup_source() for a safer version of this
+function.
+
 Since: 2.26
 
 </description>
@@ -8256,6 +8464,13 @@ A #GBinding can outlive the target #GObject as the binding does not hold a
 strong reference to the target. If the target is destroyed before the
 binding then this function will return %NULL.
 
+Use g_binding_dup_target() if the target or binding are used from different
+threads as otherwise the pointer returned from this function might become
+invalid if the target is finalized from another thread in the meantime.
+
+Deprecated: 2.68: Use g_binding_dup_target() for a safer version of this
+function.
+
 Since: 2.26
 
 </description>
@@ -8296,9 +8511,13 @@ Explicitly releases the binding between the source and the target
 property expressed by @binding.
 
 This function will release the reference that is being held on
-the @binding instance; if you want to hold on to the #GBinding instance
-after calling g_binding_unbind(), you will need to hold a reference
-to it.
+the @binding instance if the binding is still bound; if you want to hold on
+to the #GBinding instance after calling g_binding_unbind(), you will need
+to hold a reference to it.
+
+Note however that this function does not take ownership of @binding, it
+only unrefs the reference that was initially created by
+g_object_bind_property() and is owned by the binding.
 
 Since: 2.38
 
@@ -8326,7 +8545,8 @@ between 0 and 31 then the result is undefined.
 
 This function accesses @address atomically.  All other accesses to
 @address must be atomic in order for this function to work
-reliably.
+reliably. While @address has a `volatile` qualifier, this is a historical
+artifact and the argument passed to it should not be `volatile`.
 
 Since: 2.24
 
@@ -8423,7 +8643,8 @@ between 0 and 31 then the result is undefined.
 
 This function accesses @address atomically.  All other accesses to
 @address must be atomic in order for this function to work
-reliably.
+reliably. While @address has a `volatile` qualifier, this is a historical
+artifact and the argument passed to it should not be `volatile`.
 
 Since: 2.24
 
@@ -8451,7 +8672,8 @@ woken up.
 
 This function accesses @address atomically.  All other accesses to
 @address must be atomic in order for this function to work
-reliably.
+reliably. While @address has a `volatile` qualifier, this is a historical
+artifact and the argument passed to it should not be `volatile`.
 
 Since: 2.24
 
@@ -10064,8 +10286,14 @@ Free the boxed structure @boxed which is of type @boxed_type.
 <function name="g_boxed_type_register_static">
 <description>
 This function creates a new %G_TYPE_BOXED derived type id for a new
-boxed type with name @name. Boxed type handling functions have to be
-provided to copy and free opaque boxed structures of this type.
+boxed type with name @name.
+
+Boxed type handling functions have to be provided to copy and free
+opaque boxed structures of this type.
+
+For the general case, it is recommended to use #G_DEFINE_BOXED_TYPE 
+instead of calling g_boxed_type_register_static() directly. The macro 
+will create the appropriate `*_get_type()` function for the boxed type.
 
 
 </description>
@@ -10336,6 +10564,10 @@ Creates a new #GByteArray with a reference count of 1.
 Create byte array containing the data. The data will be owned by the array
 and will be freed with g_free(), i.e. it could be allocated using g_strdup().
 
+Do not use it if @len is greater than %G_MAXUINT. #GByteArray
+stores the length of its data in #guint, which may be shorter than
+#gsize.
+
 Since: 2.32
 
 
@@ -10691,6 +10923,55 @@ a pointer to the byte data, or %NULL
 </return>
 </function>
 
+<function name="g_bytes_get_region">
+<description>
+Gets a pointer to a region in @bytes.
+
+The region starts at @offset many bytes from the start of the data
+and contains @n_elements many elements of @element_size size.
+
+@n_elements may be zero, but @element_size must always be non-zero.
+Ideally, @element_size is a static constant (eg: sizeof a struct).
+
+This function does careful bounds checking (including checking for
+arithmetic overflows) and returns a non-%NULL pointer if the
+specified region lies entirely within the @bytes. If the region is
+in some way out of range, or if an overflow has occurred, then %NULL
+is returned.
+
+Note: it is possible to have a valid zero-size region. In this case,
+the returned pointer will be equal to the base pointer of the data of
+@bytes, plus @offset.  This will be non-%NULL except for the case
+where @bytes itself was a zero-sized region.  Since it is unlikely
+that you will be using this function to check for a zero-sized region
+in a zero-sized @bytes, %NULL effectively always means &quot;error&quot;.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="bytes">
+<parameter_description> a #GBytes
+</parameter_description>
+</parameter>
+<parameter name="element_size">
+<parameter_description> a non-zero element size
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> an offset to the start of the region within the @bytes
+</parameter_description>
+</parameter>
+<parameter name="n_elements">
+<parameter_description> the number of elements in the region
+</parameter_description>
+</parameter>
+</parameters>
+<return> the requested region, or %NULL in case of an error
+
+</return>
+</function>
+
 <function name="g_bytes_get_size">
 <description>
 Get the size of the byte data in the #GBytes.
@@ -10937,6 +11218,10 @@ if this was the last reference to bytes and bytes was created with
 g_bytes_new(), g_bytes_new_take() or g_byte_array_free_to_bytes(). In all
 other cases the data is copied.
 
+Do not use it if @bytes contains more than %G_MAXUINT
+bytes. #GByteArray stores the length of its data in #guint, which
+may be shorter than #gsize, that @bytes is using.
+
 Since: 2.32
 
 </description>
@@ -11280,40 +11565,35 @@ g_closure_set_meta_marshal()
 
 <function name="g_cclosure_marshal_BOOLEAN__FLAGS">
 <description>
-A #GClosureMarshal function for use with signals with handlers that
-take a flags type as an argument and return a boolean.  If you have
-such a signal, you will probably also need to use an accumulator,
-such as g_signal_accumulator_true_handled().
+A marshaller for a #GCClosure with a callback of type
+`gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter
+denotes a flags type.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> a #GValue which can store the returned #gboolean
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding instance and arg1
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
@@ -11442,87 +11722,132 @@ g_closure_set_meta_marshal()
 
 <function name="g_cclosure_marshal_BOOL__FLAGS">
 <description>
-An old alias for g_cclosure_marshal_BOOLEAN__FLAGS().
+Another name for g_cclosure_marshal_BOOLEAN__FLAGS().
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_cclosure_marshal_STRING__OBJECT_POINTER">
+<description>
+A marshaller for a #GCClosure with a callback of type
+`gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> a #GValue, which can store the returned string
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 3
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding instance, arg1 and arg2
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
+<parameter_description> additional data specified when registering the marshaller
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_cclosure_marshal_STRING__OBJECT_POINTERv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_STRING__OBJECT_POINTER().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
 g_closure_set_meta_marshal()
 </parameter_description>
 </parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_STRING__OBJECT_POINTER">
+<function name="g_cclosure_marshal_VOID__BOOLEAN">
 <description>
-A #GClosureMarshal function for use with signals with handlers that
-take a #GObject and a pointer and produce a string.  It is highly
-unlikely that your signal handler fits this description.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, gboolean arg1, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #gboolean parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_STRING__OBJECT_POINTERv">
+<function name="g_cclosure_marshal_VOID__BOOLEANv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_STRING__OBJECT_POINTER().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOOLEAN().
 
 </description>
 <parameters>
@@ -11563,49 +11888,45 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__BOOLEAN">
+<function name="g_cclosure_marshal_VOID__BOXED">
 <description>
-A #GClosureMarshal function for use with signals with a single
-boolean argument.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #GBoxed* parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__BOOLEANv">
+<function name="g_cclosure_marshal_VOID__BOXEDv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOOLEAN().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOXED().
 
 </description>
 <parameters>
@@ -11646,49 +11967,45 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__BOXED">
+<function name="g_cclosure_marshal_VOID__CHAR">
 <description>
-A #GClosureMarshal function for use with signals with a single
-argument which is any boxed pointer type.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, gchar arg1, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #gchar parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__BOXEDv">
+<function name="g_cclosure_marshal_VOID__CHARv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__BOXED().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__CHAR().
 
 </description>
 <parameters>
@@ -11729,49 +12046,45 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__CHAR">
+<function name="g_cclosure_marshal_VOID__DOUBLE">
 <description>
-A #GClosureMarshal function for use with signals with a single
-character argument.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, gdouble arg1, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #gdouble parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__CHARv">
+<function name="g_cclosure_marshal_VOID__DOUBLEv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__CHAR().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__DOUBLE().
 
 </description>
 <parameters>
@@ -11812,49 +12125,45 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__DOUBLE">
+<function name="g_cclosure_marshal_VOID__ENUM">
 <description>
-A #GClosureMarshal function for use with signals with one
-double-precision floating point argument.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes an 
enumeration type..
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the enumeration parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__DOUBLEv">
+<function name="g_cclosure_marshal_VOID__ENUMv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__DOUBLE().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ENUM().
 
 </description>
 <parameters>
@@ -11895,49 +12204,45 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__ENUM">
+<function name="g_cclosure_marshal_VOID__FLAGS">
 <description>
-A #GClosureMarshal function for use with signals with a single
-argument with an enumerated type.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes a 
flags type.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the flags parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__ENUMv">
+<function name="g_cclosure_marshal_VOID__FLAGSv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ENUM().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLAGS().
 
 </description>
 <parameters>
@@ -11978,49 +12283,45 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__FLAGS">
+<function name="g_cclosure_marshal_VOID__FLOAT">
 <description>
-A #GClosureMarshal function for use with signals with a single
-argument with a flags types.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, gfloat arg1, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #gfloat parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__FLAGSv">
+<function name="g_cclosure_marshal_VOID__FLOATv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLAGS().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLOAT().
 
 </description>
 <parameters>
@@ -12061,49 +12362,45 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__FLOAT">
+<function name="g_cclosure_marshal_VOID__INT">
 <description>
-A #GClosureMarshal function for use with signals with one
-single-precision floating point argument.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, gint arg1, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #gint parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__FLOATv">
+<function name="g_cclosure_marshal_VOID__INTv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__FLOAT().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__INT().
 
 </description>
 <parameters>
@@ -12144,49 +12441,124 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__INT">
+<function name="g_cclosure_marshal_VOID__LONG">
 <description>
-A #GClosureMarshal function for use with signals with a single
-integer argument.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, glong arg1, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #glong parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
+<parameter_description> additional data specified when registering the marshaller
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_cclosure_marshal_VOID__LONGv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__LONG().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
 g_closure_set_meta_marshal()
 </parameter_description>
 </parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__INTv">
+<function name="g_cclosure_marshal_VOID__OBJECT">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__INT().
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, GObject *arg1, gpointer user_data)`.
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> ignored
+</parameter_description>
+</parameter>
+<parameter name="n_param_values">
+<parameter_description> 2
+</parameter_description>
+</parameter>
+<parameter name="param_values">
+<parameter_description> a #GValue array holding the instance and the #GObject* parameter
+</parameter_description>
+</parameter>
+<parameter name="invocation_hint">
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when registering the marshaller
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_cclosure_marshal_VOID__OBJECTv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__OBJECT().
 
 </description>
 <parameters>
@@ -12227,49 +12599,45 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__LONG">
+<function name="g_cclosure_marshal_VOID__PARAM">
 <description>
-A #GClosureMarshal function for use with signals with with a single
-long integer argument.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #GParamSpec* parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__LONGv">
+<function name="g_cclosure_marshal_VOID__PARAMv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__LONG().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__PARAM().
 
 </description>
 <parameters>
@@ -12310,49 +12678,45 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__OBJECT">
+<function name="g_cclosure_marshal_VOID__POINTER">
 <description>
-A #GClosureMarshal function for use with signals with a single
-#GObject argument.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, gpointer arg1, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #gpointer parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__OBJECTv">
+<function name="g_cclosure_marshal_VOID__POINTERv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__OBJECT().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__POINTER().
 
 </description>
 <parameters>
@@ -12393,49 +12757,45 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__PARAM">
+<function name="g_cclosure_marshal_VOID__STRING">
 <description>
-A #GClosureMarshal function for use with signals with a single
-argument of type #GParamSpec.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #gchar* parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__PARAMv">
+<function name="g_cclosure_marshal_VOID__STRINGv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__PARAM().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__STRING().
 
 </description>
 <parameters>
@@ -12476,53 +12836,45 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__POINTER">
+<function name="g_cclosure_marshal_VOID__UCHAR">
 <description>
-A #GClosureMarshal function for use with signals with a single raw
-pointer argument type.
-
-If it is possible, it is better to use one of the more specific
-functions such as g_cclosure_marshal_VOID__OBJECT() or
-g_cclosure_marshal_VOID__OBJECT().
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, guchar arg1, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #guchar parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__POINTERv">
+<function name="g_cclosure_marshal_VOID__UCHARv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__POINTER().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UCHAR().
 
 </description>
 <parameters>
@@ -12563,49 +12915,46 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__STRING">
+<function name="g_cclosure_marshal_VOID__UINT">
 <description>
-A #GClosureMarshal function for use with signals with a single string
-argument.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, guint arg1, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #guint parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__STRINGv">
+<function name="g_cclosure_marshal_VOID__UINT_POINTER">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__STRING().
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data)`.
 
 </description>
 <parameters>
@@ -12614,81 +12963,76 @@ The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__STRING().
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> a #GValue to store the return
-value. May be %NULL if the callback of @closure doesn't return a
-value.
-</parameter_description>
-</parameter>
-<parameter name="instance">
-<parameter_description> the instance on which the closure is invoked.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
-<parameter name="args">
-<parameter_description> va_list of arguments to be passed to the closure.
+<parameter name="n_param_values">
+<parameter_description> 3
 </parameter_description>
 </parameter>
-<parameter name="marshal_data">
-<parameter_description> additional data specified when
-registering the marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter name="param_values">
+<parameter_description> a #GValue array holding instance, arg1 and arg2
 </parameter_description>
 </parameter>
-<parameter name="n_params">
-<parameter_description> the length of the @param_types array
+<parameter name="invocation_hint">
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
-<parameter name="param_types">
-<parameter_description> the #GType of each argument from
-@args.
+<parameter name="marshal_data">
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__UCHAR">
+<function name="g_cclosure_marshal_VOID__UINT_POINTERv">
 <description>
-A #GClosureMarshal function for use with signals with a single
-unsigned character argument.
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT_POINTER().
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
-</parameter_description>
-</parameter>
-<parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
 </parameter_description>
 </parameter>
-<parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
 </parameter_description>
 </parameter>
-<parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
 g_closure_set_meta_marshal()
 </parameter_description>
 </parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__UCHARv">
+<function name="g_cclosure_marshal_VOID__UINTv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UCHAR().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT().
 
 </description>
 <parameters>
@@ -12729,298 +13073,126 @@ g_closure_set_meta_marshal()
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__UINT">
+<function name="g_cclosure_marshal_VOID__ULONG">
 <description>
-A #GClosureMarshal function for use with signals with with a single
-unsigned integer argument.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, gulong arg1, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #gulong parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
+<parameter_description> additional data specified when registering the marshaller
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_cclosure_marshal_VOID__ULONGv">
+<description>
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ULONG().
+
+</description>
+<parameters>
+<parameter name="closure">
+<parameter_description> the #GClosure to which the marshaller belongs
+</parameter_description>
+</parameter>
+<parameter name="return_value">
+<parameter_description> a #GValue to store the return
+value. May be %NULL if the callback of @closure doesn't return a
+value.
+</parameter_description>
+</parameter>
+<parameter name="instance">
+<parameter_description> the instance on which the closure is invoked.
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of arguments to be passed to the closure.
+</parameter_description>
+</parameter>
+<parameter name="marshal_data">
+<parameter_description> additional data specified when
+registering the marshaller, see g_closure_set_marshal() and
 g_closure_set_meta_marshal()
 </parameter_description>
 </parameter>
+<parameter name="n_params">
+<parameter_description> the length of the @param_types array
+</parameter_description>
+</parameter>
+<parameter name="param_types">
+<parameter_description> the #GType of each argument from
+@args.
+</parameter_description>
+</parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__UINT_POINTER">
+<function name="g_cclosure_marshal_VOID__VARIANT">
 <description>
-A #GClosureMarshal function for use with signals with an unsigned int
-and a pointer as arguments.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data)`.
+
+Since: 2.26
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 2
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding the instance and the #GVariant* parameter
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
 <return></return>
 </function>
 
-<function name="g_cclosure_marshal_VOID__UINT_POINTERv">
+<function name="g_cclosure_marshal_VOID__VARIANTv">
 <description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT_POINTER().
-
-</description>
-<parameters>
-<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
-</parameter_description>
-</parameter>
-<parameter name="return_value">
-<parameter_description> a #GValue to store the return
-value. May be %NULL if the callback of @closure doesn't return a
-value.
-</parameter_description>
-</parameter>
-<parameter name="instance">
-<parameter_description> the instance on which the closure is invoked.
-</parameter_description>
-</parameter>
-<parameter name="args">
-<parameter_description> va_list of arguments to be passed to the closure.
-</parameter_description>
-</parameter>
-<parameter name="marshal_data">
-<parameter_description> additional data specified when
-registering the marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
-</parameter_description>
-</parameter>
-<parameter name="n_params">
-<parameter_description> the length of the @param_types array
-</parameter_description>
-</parameter>
-<parameter name="param_types">
-<parameter_description> the #GType of each argument from
-@args.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="g_cclosure_marshal_VOID__UINTv">
-<description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__UINT().
-
-</description>
-<parameters>
-<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
-</parameter_description>
-</parameter>
-<parameter name="return_value">
-<parameter_description> a #GValue to store the return
-value. May be %NULL if the callback of @closure doesn't return a
-value.
-</parameter_description>
-</parameter>
-<parameter name="instance">
-<parameter_description> the instance on which the closure is invoked.
-</parameter_description>
-</parameter>
-<parameter name="args">
-<parameter_description> va_list of arguments to be passed to the closure.
-</parameter_description>
-</parameter>
-<parameter name="marshal_data">
-<parameter_description> additional data specified when
-registering the marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
-</parameter_description>
-</parameter>
-<parameter name="n_params">
-<parameter_description> the length of the @param_types array
-</parameter_description>
-</parameter>
-<parameter name="param_types">
-<parameter_description> the #GType of each argument from
-@args.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="g_cclosure_marshal_VOID__ULONG">
-<description>
-A #GClosureMarshal function for use with signals with a single
-unsigned long integer argument.
-
-</description>
-<parameters>
-<parameter name="closure">
-<parameter_description> A #GClosure.
-</parameter_description>
-</parameter>
-<parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
-</parameter_description>
-</parameter>
-<parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
-</parameter_description>
-</parameter>
-<parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
-</parameter_description>
-</parameter>
-<parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
-</parameter_description>
-</parameter>
-<parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="g_cclosure_marshal_VOID__ULONGv">
-<description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__ULONG().
-
-</description>
-<parameters>
-<parameter name="closure">
-<parameter_description> the #GClosure to which the marshaller belongs
-</parameter_description>
-</parameter>
-<parameter name="return_value">
-<parameter_description> a #GValue to store the return
-value. May be %NULL if the callback of @closure doesn't return a
-value.
-</parameter_description>
-</parameter>
-<parameter name="instance">
-<parameter_description> the instance on which the closure is invoked.
-</parameter_description>
-</parameter>
-<parameter name="args">
-<parameter_description> va_list of arguments to be passed to the closure.
-</parameter_description>
-</parameter>
-<parameter name="marshal_data">
-<parameter_description> additional data specified when
-registering the marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
-</parameter_description>
-</parameter>
-<parameter name="n_params">
-<parameter_description> the length of the @param_types array
-</parameter_description>
-</parameter>
-<parameter name="param_types">
-<parameter_description> the #GType of each argument from
-@args.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="g_cclosure_marshal_VOID__VARIANT">
-<description>
-A #GClosureMarshal function for use with signals with a single
-#GVariant argument.
-
-</description>
-<parameters>
-<parameter name="closure">
-<parameter_description> A #GClosure.
-</parameter_description>
-</parameter>
-<parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
-</parameter_description>
-</parameter>
-<parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
-</parameter_description>
-</parameter>
-<parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
-</parameter_description>
-</parameter>
-<parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
-</parameter_description>
-</parameter>
-<parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="g_cclosure_marshal_VOID__VARIANTv">
-<description>
-The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__VARIANT().
+The #GVaClosureMarshal equivalent to g_cclosure_marshal_VOID__VARIANT().
 
 </description>
 <parameters>
@@ -13063,37 +13235,34 @@ g_closure_set_meta_marshal()
 
 <function name="g_cclosure_marshal_VOID__VOID">
 <description>
-A #GClosureMarshal function for use with signals with no arguments.
+A marshaller for a #GCClosure with a callback of type
+`void (*callback) (gpointer instance, gpointer user_data)`.
 
 </description>
 <parameters>
 <parameter name="closure">
-<parameter_description> A #GClosure.
+<parameter_description> the #GClosure to which the marshaller belongs
 </parameter_description>
 </parameter>
 <parameter name="return_value">
-<parameter_description> A #GValue to store the return value. May be %NULL
-if the callback of closure doesn't return a value.
+<parameter_description> ignored
 </parameter_description>
 </parameter>
 <parameter name="n_param_values">
-<parameter_description> The length of the @param_values array.
+<parameter_description> 1
 </parameter_description>
 </parameter>
 <parameter name="param_values">
-<parameter_description> An array of #GValues holding the arguments
-on which to invoke the callback of closure.
+<parameter_description> a #GValue array holding only the instance
 </parameter_description>
 </parameter>
 <parameter name="invocation_hint">
-<parameter_description> The invocation hint given as the last argument to
-g_closure_invoke().
+<parameter_description> the invocation hint given as the last argument
+to g_closure_invoke()
 </parameter_description>
 </parameter>
 <parameter name="marshal_data">
-<parameter_description> Additional data specified when registering the
-marshaller, see g_closure_set_marshal() and
-g_closure_set_meta_marshal()
+<parameter_description> additional data specified when registering the marshaller
 </parameter_description>
 </parameter>
 </parameters>
@@ -13374,8 +13543,8 @@ Since: 2.16
 </parameter_description>
 </parameter>
 </parameters>
-<return> the copy of the passed #GChecksum. Use g_checksum_free()
-when finished using it.
+<return> the copy of the passed #GChecksum. Use
+g_checksum_free() when finished using it.
 
 </return>
 </function>
@@ -13545,10 +13714,10 @@ Since: 2.16
 <function name="g_child_watch_add">
 <description>
 Sets a function to be called when the child indicated by @pid 
-exits, at a default priority, #G_PRIORITY_DEFAULT.
+exits, at a default priority, %G_PRIORITY_DEFAULT.
 
 If you obtain @pid from g_spawn_async() or g_spawn_async_with_pipes() 
-you will need to pass #G_SPAWN_DO_NOT_REAP_CHILD as flag to 
+you will need to pass %G_SPAWN_DO_NOT_REAP_CHILD as flag to 
 the spawn function for the child watching to work.
 
 Note that on platforms where #GPid must be explicitly closed
@@ -13570,9 +13739,9 @@ Since: 2.4
 </description>
 <parameters>
 <parameter name="pid">
-<parameter_description>      process id to watch. On POSIX the positive pid of a child
-process. On Windows a handle for a process (which doesn't have to be
-a child).
+<parameter_description> process id to watch. On POSIX the positive pid of a child
+process. On Windows a handle for a process (which doesn't have
+to be a child).
 </parameter_description>
 </parameter>
 <parameter name="function">
@@ -13580,7 +13749,7 @@ a child).
 </parameter_description>
 </parameter>
 <parameter name="data">
-<parameter_description>     data to pass to @function
+<parameter_description> data to pass to @function
 </parameter_description>
 </parameter>
 </parameters>
@@ -13595,10 +13764,10 @@ Sets a function to be called when the child indicated by @pid
 exits, at the priority @priority.
 
 If you obtain @pid from g_spawn_async() or g_spawn_async_with_pipes() 
-you will need to pass #G_SPAWN_DO_NOT_REAP_CHILD as flag to 
+you will need to pass %G_SPAWN_DO_NOT_REAP_CHILD as flag to 
 the spawn function for the child watching to work.
 
-In many programs, you will want to call g_spawn_check_exit_status()
+In many programs, you will want to call g_spawn_check_wait_status()
 in the callback to determine whether or not the child exited
 successfully.
 
@@ -13622,11 +13791,11 @@ Since: 2.4
 <parameters>
 <parameter name="priority">
 <parameter_description> the priority of the idle source. Typically this will be in the
-range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.
+range between %G_PRIORITY_DEFAULT_IDLE and %G_PRIORITY_HIGH_IDLE.
 </parameter_description>
 </parameter>
 <parameter name="pid">
-<parameter_description>      process to watch. On POSIX the positive pid of a child process. On
+<parameter_description> process to watch. On POSIX the positive pid of a child process. On
 Windows a handle for a process (which doesn't have to be a child).
 </parameter_description>
 </parameter>
@@ -13635,7 +13804,7 @@ Windows a handle for a process (which doesn't have to be a child).
 </parameter_description>
 </parameter>
 <parameter name="data">
-<parameter_description>     data to pass to @function
+<parameter_description> data to pass to @function
 </parameter_description>
 </parameter>
 <parameter name="notify">
@@ -13674,7 +13843,7 @@ first argument, for instance in another thread
 * the application must not wait for @pid to exit by any other
 mechanism, including `waitpid(pid, ...)` or a second child-watch
 source for the same @pid
-* the application must not ignore SIGCHILD
+* the application must not ignore `SIGCHLD`
 
 If any of those conditions are not met, this and related APIs will
 not work correctly. This can often be diagnosed via a GLib warning
@@ -13863,8 +14032,8 @@ connected to. The @handler_id_ptr is then set to zero, which is never a valid ha
 
 If the handler ID is 0 then this function does nothing.
 
-A macro is also included that allows this function to be used without
-pointer casts.
+There is also a macro version of this function so that the code
+will be inlined.
 
 Since: 2.62
 
@@ -13876,6 +14045,7 @@ Since: 2.62
 </parameter>
 <parameter name="instance">
 <parameter_description> The instance to remove the signal handler from.
+This pointer may be %NULL or invalid, if the handler ID is zero.
 </parameter_description>
 </parameter>
 </parameters>
@@ -13961,11 +14131,12 @@ Since: 2.36
 <function name="g_closure_add_finalize_notifier">
 <description>
 Registers a finalization notifier which will be called when the
-reference count of @closure goes down to 0. Multiple finalization
-notifiers on a single closure are invoked in unspecified order. If
-a single call to g_closure_unref() results in the closure being
-both invalidated and finalized, then the invalidate notifiers will
-be run before the finalize notifiers.
+reference count of @closure goes down to 0.
+
+Multiple finalization notifiers on a single closure are invoked in
+unspecified order. If a single call to g_closure_unref() results in
+the closure being both invalidated and finalized, then the invalidate
+notifiers will be run before the finalize notifiers.
 
 </description>
 <parameters>
@@ -13988,9 +14159,10 @@ be run before the finalize notifiers.
 <function name="g_closure_add_invalidate_notifier">
 <description>
 Registers an invalidation notifier which will be called when the
-@closure is invalidated with g_closure_invalidate(). Invalidation
-notifiers are invoked before finalization notifiers, in an
-unspecified order.
+@closure is invalidated with g_closure_invalidate().
+
+Invalidation notifiers are invoked before finalization notifiers,
+in an unspecified order.
 
 </description>
 <parameters>
@@ -14013,9 +14185,11 @@ unspecified order.
 <function name="g_closure_add_marshal_guards">
 <description>
 Adds a pair of notifiers which get invoked before and after the
-closure callback, respectively. This is typically used to protect
-the extra arguments for the duration of the callback. See
-g_object_watch_closure() for an example of marshal guards.
+closure callback, respectively.
+
+This is typically used to protect the extra arguments for the
+duration of the callback. See g_object_watch_closure() for an
+example of marshal guards.
 
 </description>
 <parameters>
@@ -14050,7 +14224,9 @@ to @post_marshal_notify
 Sets a flag on the closure to indicate that its calling
 environment has become invalid, and thus causes any future
 invocations of g_closure_invoke() on this @closure to be
-ignored. Also, invalidation notifiers installed on the closure will
+ignored.
+
+Also, invalidation notifiers installed on the closure will
 be called at this point. Note that unless you are holding a
 reference to the closure yourself, the invalidation notifiers may
 unref the closure and cause it to be destroyed, so if you need to
@@ -14133,8 +14309,9 @@ allocated #GClosure
 <function name="g_closure_new_simple">
 <description>
 Allocates a struct of the given size and initializes the initial
-part as a #GClosure. This function is mainly useful when
-implementing new types of closures.
+part as a #GClosure.
+
+This function is mainly useful when implementing new types of closures:
 
 |[&lt;!-- language=&quot;C&quot; --&gt; 
 typedef struct _MyClosure MyClosure;
@@ -14255,13 +14432,17 @@ when registering @notify_func
 
 <function name="g_closure_set_marshal">
 <description>
-Sets the marshaller of @closure. The `marshal_data`
-of @marshal provides a way for a meta marshaller to provide additional
-information to the marshaller. (See g_closure_set_meta_marshal().) For
-GObject's C predefined marshallers (the g_cclosure_marshal_*()
+Sets the marshaller of @closure.
+
+The `marshal_data` of @marshal provides a way for a meta marshaller to
+provide additional information to the marshaller.
+
+For GObject's C predefined marshallers (the `g_cclosure_marshal_*()`
 functions), what it provides is a callback function to use instead of
 @closure-&gt;callback.
 
+See also: g_closure_set_meta_marshal()
+
 </description>
 <parameters>
 <parameter name="closure">
@@ -14278,12 +14459,15 @@ functions), what it provides is a callback function to use instead of
 
 <function name="g_closure_set_meta_marshal">
 <description>
-Sets the meta marshaller of @closure.  A meta marshaller wraps
-@closure-&gt;marshal and modifies the way it is called in some
-fashion. The most common use of this facility is for C callbacks.
+Sets the meta marshaller of @closure.
+
+A meta marshaller wraps the @closure's marshal and modifies the way
+it is called in some fashion. The most common use of this facility
+is for C callbacks.
+
 The same marshallers (generated by [glib-genmarshal][glib-genmarshal]),
 are used everywhere, but the way that we get the callback function
-differs. In most cases we want to use @closure-&gt;callback, but in
+differs. In most cases we want to use the @closure's callback, but in
 other cases we want to use some different technique to retrieve the
 callback function.
 
@@ -14314,27 +14498,34 @@ to @meta_marshal
 
 <function name="g_closure_sink">
 <description>
-Takes over the initial ownership of a closure.  Each closure is
-initially created in a &quot;floating&quot; state, which means that the initial
-reference count is not owned by any caller. g_closure_sink() checks
-to see if the object is still floating, and if so, unsets the
-floating state and decreases the reference count. If the closure
-is not floating, g_closure_sink() does nothing. The reason for the
-existence of the floating state is to prevent cumbersome code
-sequences like:
+Takes over the initial ownership of a closure.
+
+Each closure is initially created in a &quot;floating&quot; state, which means
+that the initial reference count is not owned by any caller.
+
+This function checks to see if the object is still floating, and if so,
+unsets the floating state and decreases the reference count. If the
+closure is not floating, g_closure_sink() does nothing.
+
+The reason for the existence of the floating state is to prevent
+cumbersome code sequences like:
+
 |[&lt;!-- language=&quot;C&quot; --&gt; 
 closure = g_cclosure_new (cb_func, cb_data);
 g_source_set_closure (source, closure);
 g_closure_unref (closure); // GObject doesn't really need this
 ]|
+
 Because g_source_set_closure() (and similar functions) take ownership of the
 initial reference count, if it is unowned, we instead can write:
+
 |[&lt;!-- language=&quot;C&quot; --&gt; 
 g_source_set_closure (source, g_cclosure_new (cb_func, cb_data));
 ]|
 
 Generally, this function is used together with g_closure_ref(). An example
 of storing a closure for later notification looks like:
+
 |[&lt;!-- language=&quot;C&quot; --&gt; 
 static GClosure *notify_closure = NULL;
 void
@@ -14369,8 +14560,10 @@ still being held
 <function name="g_closure_unref">
 <description>
 Decrements the reference count of a closure after it was previously
-incremented by the same caller. If no other callers are using the
-closure, then the closure will be destroyed and freed.
+incremented by the same caller.
+
+If no other callers are using the closure, then the closure will be
+destroyed and freed.
 
 </description>
 <parameters>
@@ -14590,8 +14783,10 @@ Since: 2.34
 </parameter_description>
 </parameter>
 </parameters>
-<return> the digest of the binary data as a string in hexadecimal.
-The returned string should be freed with g_free() when done using it.
+<return> the digest of the binary data as a
+string in hexadecimal, or %NULL if g_checksum_new() fails for
+@checksum_type. The returned string should be freed with g_free() when
+done using it.
 
 </return>
 </function>
@@ -14621,8 +14816,10 @@ Since: 2.16
 </parameter_description>
 </parameter>
 </parameters>
-<return> the digest of the binary data as a string in hexadecimal.
-The returned string should be freed with g_free() when done using it.
+<return> the digest of the binary data as a
+string in hexadecimal, or %NULL if g_checksum_new() fails for
+@checksum_type. The returned string should be freed with g_free() when
+done using it.
 
 </return>
 </function>
@@ -14650,7 +14847,8 @@ Since: 2.16
 </parameter_description>
 </parameter>
 </parameters>
-<return> the checksum as a hexadecimal string. The returned string
+<return> the checksum as a hexadecimal string,
+or %NULL if g_checksum_new() fails for @checksum_type. The returned string
 should be freed with g_free() when done using it.
 
 </return>
@@ -15281,7 +15479,7 @@ from creat().
 
 <function name="g_critical">
 <description>
-Logs a &quot;critical warning&quot; (#G_LOG_LEVEL_CRITICAL).
+Logs a &quot;critical warning&quot; (%G_LOG_LEVEL_CRITICAL).
 
 Critical warnings are intended to be used in the event of an error
 that originated in the current process (a programmer error).
@@ -19255,6 +19453,90 @@ Makes a copy of @error.
 </return>
 </function>
 
+<function name="g_error_domain_register">
+<description>
+This function registers an extended #GError domain.
+@error_type_name will be duplicated. Otherwise does the same as
+g_error_domain_register_static().
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="error_type_name">
+<parameter_description> string to create a #GQuark from
+</parameter_description>
+</parameter>
+<parameter name="error_type_private_size">
+<parameter_description> size of the private error data in bytes
+</parameter_description>
+</parameter>
+<parameter name="error_type_init">
+<parameter_description> function initializing fields of the private error data
+</parameter_description>
+</parameter>
+<parameter name="error_type_copy">
+<parameter_description> function copying fields of the private error data
+</parameter_description>
+</parameter>
+<parameter name="error_type_clear">
+<parameter_description> function freeing fields of the private error data
+</parameter_description>
+</parameter>
+</parameters>
+<return> #GQuark representing the error domain
+</return>
+</function>
+
+<function name="g_error_domain_register_static">
+<description>
+This function registers an extended #GError domain.
+
+@error_type_name should not be freed. @error_type_private_size must
+be greater than 0.
+
+@error_type_init receives an initialized #GError and should then initialize
+the private data.
+
+@error_type_copy is a function that receives both original and a copy
+#GError and should copy the fields of the private error data. The standard
+#GError fields are already handled.
+
+@error_type_clear receives the pointer to the error, and it should free the
+fields of the private error data. It should not free the struct itself though.
+
+Normally, it is better to use G_DEFINE_EXTENDED_ERROR(), as it
+already takes care of passing valid information to this function.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="error_type_name">
+<parameter_description> static string to create a #GQuark from
+</parameter_description>
+</parameter>
+<parameter name="error_type_private_size">
+<parameter_description> size of the private error data in bytes
+</parameter_description>
+</parameter>
+<parameter name="error_type_init">
+<parameter_description> function initializing fields of the private error data
+</parameter_description>
+</parameter>
+<parameter name="error_type_copy">
+<parameter_description> function copying fields of the private error data
+</parameter_description>
+</parameter>
+<parameter name="error_type_clear">
+<parameter_description> function freeing fields of the private error data
+</parameter_description>
+</parameter>
+</parameters>
+<return> #GQuark representing the error domain
+</return>
+</function>
+
 <function name="g_error_free">
 <description>
 Frees a #GError and associated resources.
@@ -19392,8 +19674,9 @@ Since: 2.22
 <function name="g_file_error_from_errno">
 <description>
 Gets a #GFileError constant based on the passed-in @err_no.
+
 For example, if you pass in `EEXIST` this function returns
-#G_FILE_ERROR_EXIST. Unlike `errno` values, you can portably
+%G_FILE_ERROR_EXIST. Unlike `errno` values, you can portably
 assume that all #GFileError values will exist.
 
 Normally a #GFileError value goes into a #GError returned
@@ -19408,7 +19691,7 @@ g_file_error_from_errno() when constructing a #GError.
 </parameter_description>
 </parameter>
 </parameters>
-<return> #GFileError corresponding to the given @errno
+<return> #GFileError corresponding to the given @err_no
 </return>
 </function>
 
@@ -19522,7 +19805,7 @@ the symbolic link, or %NULL if an error occurred.
 <function name="g_file_set_contents">
 <description>
 Writes all of @contents to a file named @filename. This is a convenience
-wrapper around calling g_file_set_contents() with `flags` set to
+wrapper around calling g_file_set_contents_full() with `flags` set to
 `G_FILE_SET_CONTENTS_CONSISTENT | G_FILE_SET_CONTENTS_ONLY_EXISTING` and
 `mode` set to `0666`.
 
@@ -20843,9 +21126,12 @@ data for all users is used instead. A typical path is
 This folder is used for application data
 that is not user specific. For example, an application can store
 a spell-check dictionary, a database of clip art, or a log file in the
-CSIDL_COMMON_APPDATA folder. This information will not roam and is available
+FOLDERID_ProgramData folder. This information will not roam and is available
 to anyone using the computer.
 
+The return value is cached and modifying it at runtime is not supported, as
+it’s not thread-safe to modify environment variables at runtime.
+
 Since: 2.6
 
 </description>
@@ -20873,8 +21159,8 @@ If `XDG_DATA_DIRS` is undefined,
 the first elements in the list are the Application Data
 and Documents folders for All Users. (These can be determined only
 on Windows 2000 or later and are not present in the list on other
-Windows versions.) See documentation for CSIDL_COMMON_APPDATA and
-CSIDL_COMMON_DOCUMENTS.
+Windows versions.) See documentation for FOLDERID_ProgramData and
+FOLDERID_PublicDocuments.
 
 Then follows the &quot;share&quot; subfolder in the installation folder for
 the package containing the DLL that calls this function, if it can
@@ -20892,6 +21178,9 @@ itself.
 Note that on Windows the returned list can vary depending on where
 this function is called.
 
+The return value is cached and modifying it at runtime is not supported, as
+it’s not thread-safe to modify environment variables at runtime.
+
 Since: 2.6
 
 </description>
@@ -20943,7 +21232,10 @@ On Windows it follows XDG Base Directory Specification if `XDG_CACHE_HOME` is de
 If `XDG_CACHE_HOME` is undefined, the directory that serves as a common
 repository for temporary Internet files is used instead. A typical path is
 `C:\Documents and Settings\username\Local Settings\Temporary Internet Files`.
-See the [documentation for 
`CSIDL_INTERNET_CACHE`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_internet_cache).
+See the [documentation for 
`FOLDERID_InternetCache`](https://docs.microsoft.com/en-us/windows/win32/shell/knownfolderid).
+
+The return value is cached and modifying it at runtime is not supported, as
+it’s not thread-safe to modify environment variables at runtime.
 
 Since: 2.6
 
@@ -20968,10 +21260,13 @@ In this case the directory retrieved will be `XDG_CONFIG_HOME`.
 On Windows it follows XDG Base Directory Specification if `XDG_CONFIG_HOME` is defined.
 If `XDG_CONFIG_HOME` is undefined, the folder to use for local (as opposed
 to roaming) application data is used instead. See the
-[documentation for 
`CSIDL_LOCAL_APPDATA`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata).
+[documentation for 
`FOLDERID_LocalAppData`](https://docs.microsoft.com/en-us/windows/win32/shell/knownfolderid).
 Note that in this case on Windows it will be  the same
 as what g_get_user_data_dir() returns.
 
+The return value is cached and modifying it at runtime is not supported, as
+it’s not thread-safe to modify environment variables at runtime.
+
 Since: 2.6
 
 </description>
@@ -20995,10 +21290,13 @@ In this case the directory retrieved will be `XDG_DATA_HOME`.
 On Windows it follows XDG Base Directory Specification if `XDG_DATA_HOME`
 is defined. If `XDG_DATA_HOME` is undefined, the folder to use for local (as
 opposed to roaming) application data is used instead. See the
-[documentation for 
`CSIDL_LOCAL_APPDATA`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata).
+[documentation for 
`FOLDERID_LocalAppData`](https://docs.microsoft.com/en-us/windows/win32/shell/knownfolderid).
 Note that in this case on Windows it will be the same
 as what g_get_user_config_dir() returns.
 
+The return value is cached and modifying it at runtime is not supported, as
+it’s not thread-safe to modify environment variables at runtime.
+
 Since: 2.6
 
 </description>
@@ -21038,6 +21336,9 @@ specified in the `XDG_RUNTIME_DIR` environment variable.
 In the case that this variable is not set, we return the value of
 g_get_user_cache_dir(), after verifying that it exists.
 
+The return value is cached and modifying it at runtime is not supported, as
+it’s not thread-safe to modify environment variables at runtime.
+
 Since: 2.28
 
 </description>
@@ -22783,8 +23084,8 @@ Since: 2.22
 </parameter_description>
 </parameter>
 </parameters>
-<return> an ASCII hostname, which must be freed, or %NULL if
-@hostname is in some way invalid.
+<return> an ASCII hostname, which must be freed,
+or %NULL if @hostname is in some way invalid.
 
 </return>
 </function>
@@ -22808,8 +23109,8 @@ Since: 2.22
 </parameter_description>
 </parameter>
 </parameters>
-<return> a UTF-8 hostname, which must be freed, or %NULL if
-@hostname is in some way invalid.
+<return> a UTF-8 hostname, which must be freed,
+or %NULL if @hostname is in some way invalid.
 
 </return>
 </function>
@@ -22943,7 +23244,7 @@ opening the converter failed.
 <description>
 Adds a function to be called whenever there are no higher priority
 events pending to the default main loop. The function is given the
-default idle priority, #G_PRIORITY_DEFAULT_IDLE.  If the function
+default idle priority, %G_PRIORITY_DEFAULT_IDLE.  If the function
 returns %FALSE it is automatically removed from the list of event
 sources and will not be called again.
 
@@ -22975,7 +23276,9 @@ use a custom main context.
 <function name="g_idle_add_full">
 <description>
 Adds a function to be called whenever there are no higher priority
-events pending.  If the function returns %FALSE it is automatically
+events pending.
+
+If the function returns %G_SOURCE_REMOVE or %FALSE it is automatically
 removed from the list of event sources and will not be called again.
 
 See [memory management of sources][mainloop-memory-management] for details
@@ -22992,7 +23295,7 @@ use a custom main context.
 <parameters>
 <parameter name="priority">
 <parameter_description> the priority of the idle source. Typically this will be in the
-range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.
+range between %G_PRIORITY_DEFAULT_IDLE and %G_PRIORITY_HIGH_IDLE.
 </parameter_description>
 </parameter>
 <parameter name="function">
@@ -23000,7 +23303,7 @@ range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.
 </parameter_description>
 </parameter>
 <parameter name="data">
-<parameter_description>     data to pass to @function
+<parameter_description> data to pass to @function
 </parameter_description>
 </parameter>
 <parameter name="notify">
@@ -26950,7 +27253,7 @@ output via the structured log writer function (see g_log_set_writer_func()).
 </description>
 <parameters>
 <parameter name="log_domain">
-<parameter_description> the log domain, usually #G_LOG_DOMAIN, or %NULL
+<parameter_description> the log domain, usually %G_LOG_DOMAIN, or %NULL
 for the default
 </parameter_description>
 </parameter>
@@ -26960,7 +27263,7 @@ or a user-defined level
 </parameter_description>
 </parameter>
 <parameter name="format">
-<parameter_description> the message format. See the printf() documentation
+<parameter_description> the message format. See the `printf()` documentation
 </parameter_description>
 </parameter>
 <parameter name="Varargs">
@@ -26994,7 +27297,8 @@ these messages are not printed.
 
 stderr is used for levels %G_LOG_LEVEL_ERROR, %G_LOG_LEVEL_CRITICAL,
 %G_LOG_LEVEL_WARNING and %G_LOG_LEVEL_MESSAGE. stdout is used for
-the rest.
+the rest, unless stderr was requested by
+g_log_writer_default_set_use_stderr().
 
 This has no effect if structured logging is enabled; see
 [Using Structured Logging][using-structured-logging].
@@ -27139,31 +27443,35 @@ This function is mostly intended to be used with
 <function name="g_log_set_handler">
 <description>
 Sets the log handler for a domain and a set of log levels.
+
 To handle fatal and recursive messages the @log_levels parameter
-must be combined with the #G_LOG_FLAG_FATAL and #G_LOG_FLAG_RECURSION
+must be combined with the %G_LOG_FLAG_FATAL and %G_LOG_FLAG_RECURSION
 bit flags.
 
-Note that since the #G_LOG_LEVEL_ERROR log level is always fatal, if
+Note that since the %G_LOG_LEVEL_ERROR log level is always fatal, if
 you want to set a handler for this log level you must combine it with
-#G_LOG_FLAG_FATAL.
+%G_LOG_FLAG_FATAL.
 
 This has no effect if structured logging is enabled; see
 [Using Structured Logging][using-structured-logging].
 
 Here is an example for adding a log handler for all warning messages
 in the default domain:
+
 |[&lt;!-- language=&quot;C&quot; --&gt; 
 g_log_set_handler (NULL, G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL
 | G_LOG_FLAG_RECURSION, my_log_handler, NULL);
 ]|
 
 This example adds a log handler for all critical messages from GTK+:
+
 |[&lt;!-- language=&quot;C&quot; --&gt; 
 g_log_set_handler (&quot;Gtk&quot;, G_LOG_LEVEL_CRITICAL | G_LOG_FLAG_FATAL
 | G_LOG_FLAG_RECURSION, my_log_handler, NULL);
 ]|
 
 This example adds a log handler for all messages from GLib:
+
 |[&lt;!-- language=&quot;C&quot; --&gt; 
 g_log_set_handler (&quot;GLib&quot;, G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL
 | G_LOG_FLAG_RECURSION, my_log_handler, NULL);
@@ -27180,8 +27488,8 @@ application domain
 <parameter name="log_levels">
 <parameter_description> the log levels to apply the log handler for.
 To handle fatal and recursive messages as well, combine
-the log levels with the #G_LOG_FLAG_FATAL and
-#G_LOG_FLAG_RECURSION bit flags.
+the log levels with the %G_LOG_FLAG_FATAL and
+%G_LOG_FLAG_RECURSION bit flags.
 </parameter_description>
 </parameter>
 <parameter name="log_func">
@@ -27216,8 +27524,8 @@ application domain
 <parameter name="log_levels">
 <parameter_description> the log levels to apply the log handler for.
 To handle fatal and recursive messages as well, combine
-the log levels with the #G_LOG_FLAG_FATAL and
-#G_LOG_FLAG_RECURSION bit flags.
+the log levels with the %G_LOG_FLAG_FATAL and
+%G_LOG_FLAG_RECURSION bit flags.
 </parameter_description>
 </parameter>
 <parameter name="log_func">
@@ -27273,10 +27581,12 @@ finished with, if non-%NULL
 
 <function name="g_log_structured">
 <description>
-Log a message with structured data. The message will be passed through to
-the log writer set by the application using g_log_set_writer_func(). If the
-message is fatal (i.e. its log level is %G_LOG_LEVEL_ERROR), the program will
-be aborted by calling G_BREAKPOINT() at the end of this function. If the log writer returns
+Log a message with structured data.
+
+The message will be passed through to the log writer set by the application
+using g_log_set_writer_func(). If the message is fatal (i.e. its log level
+is %G_LOG_LEVEL_ERROR), the program will be aborted by calling
+G_BREAKPOINT() at the end of this function. If the log writer returns
 %G_LOG_WRITER_UNHANDLED (failure), no other fallback writers will be tried.
 See the documentation for #GLogWriterFunc for information on chaining
 writers.
@@ -27310,9 +27620,10 @@ Other fields you may commonly want to pass into this function:
 Note that `CODE_FILE`, `CODE_LINE` and `CODE_FUNC` are automatically set by
 the logging macros, G_DEBUG_HERE(), g_message(), g_warning(), g_critical(),
 g_error(), etc, if the symbols `G_LOG_USE_STRUCTURED` is defined before including
-glib.h.
+`glib.h`.
 
 For example:
+
 |[&lt;!-- language=&quot;C&quot; --&gt;
 g_log_structured (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,
 &quot;MESSAGE_ID&quot;, &quot;06d4df59e6c24647bfe69d2c27ef0b4e&quot;,
@@ -27333,6 +27644,7 @@ as a field with #GLogField.length set to zero, otherwise it will be
 interpreted as a string.
 
 For example:
+
 |[&lt;!-- language=&quot;C&quot; --&gt;
 const GLogField fields[] = {
 { &quot;MESSAGE&quot;, &quot;This is a debug message.&quot;, -1 },
@@ -27466,6 +27778,10 @@ As with g_log_default_handler(), this function drops debug and informational
 messages unless their log domain (or `all`) is listed in the space-separated
 `G_MESSAGES_DEBUG` environment variable.
 
+g_log_writer_default() uses the mask set by g_log_set_always_fatal() to
+determine which messages are fatal. When using a custom writer func instead it is
+up to the writer function to determine which log messages are fatal.
+
 Since: 2.50
 
 </description>
@@ -27493,6 +27809,84 @@ the log message
 </return>
 </function>
 
+<function name="g_log_writer_default_set_use_stderr">
+<description>
+Configure whether the built-in log functions
+(g_log_default_handler() for the old-style API, and both
+g_log_writer_default() and g_log_writer_standard_streams() for the
+structured API) will output all log messages to `stderr`.
+
+By default, log messages of levels %G_LOG_LEVEL_INFO and
+%G_LOG_LEVEL_DEBUG are sent to `stdout`, and other log messages are
+sent to `stderr`. This is problematic for applications that intend
+to reserve `stdout` for structured output such as JSON or XML.
+
+This function sets global state. It is not thread-aware, and should be
+called at the very start of a program, before creating any other threads
+or creating objects that could create worker threads of their own.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="use_stderr">
+<parameter_description> If %TRUE, use `stderr` for log messages that would
+normally have appeared on `stdout`
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_log_writer_default_would_drop">
+<description>
+Check whether g_log_writer_default() and g_log_default_handler() would
+ignore a message with the given domain and level.
+
+As with g_log_default_handler(), this function drops debug and informational
+messages unless their log domain (or `all`) is listed in the space-separated
+`G_MESSAGES_DEBUG` environment variable.
+
+This can be used when implementing log writers with the same filtering
+behaviour as the default, but a different destination or output format:
+
+|[&lt;!-- language=&quot;C&quot; --&gt;
+if (g_log_writer_default_would_drop (log_level, log_domain))
+return G_LOG_WRITER_HANDLED;
+]|
+
+or to skip an expensive computation if it is only needed for a debugging
+message, and `G_MESSAGES_DEBUG` is not set:
+
+|[&lt;!-- language=&quot;C&quot; --&gt;
+if (!g_log_writer_default_would_drop (G_LOG_LEVEL_DEBUG, G_LOG_DOMAIN))
+{
+gchar *result = expensive_computation (my_object);
+
+g_debug (&quot;my_object result: %s&quot;, result);
+g_free (result);
+}
+]|
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="log_domain">
+<parameter_description> log domain
+</parameter_description>
+</parameter>
+<parameter name="log_level">
+<parameter_description> log level, either from #GLogLevelFlags, or a user-defined
+level
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the log message would be dropped by GLib's
+default log handlers
+</return>
+</function>
+
 <function name="g_log_writer_format_fields">
 <description>
 Format a structured log message as a string suitable for outputting to the
@@ -27602,7 +27996,9 @@ the log message
 <description>
 Format a structured log message and print it to either `stdout` or `stderr`,
 depending on its log level. %G_LOG_LEVEL_INFO and %G_LOG_LEVEL_DEBUG messages
-are sent to `stdout`; all other log levels are sent to `stderr`. Only fields
+are sent to `stdout`, or to `stderr` if requested by
+g_log_writer_default_set_use_stderr();
+all other log levels are sent to `stderr`. Only fields
 which are understood by this function are included in the formatted string
 which is printed.
 
@@ -27984,7 +28380,7 @@ afterwards.
 
 In any other case, an idle source is created to call @function and
 that source is attached to @context (presumably to be run in another
-thread).  The idle source is attached with #G_PRIORITY_DEFAULT
+thread).  The idle source is attached with %G_PRIORITY_DEFAULT
 priority.  If you want a different priority, use
 g_main_context_invoke_full().
 
@@ -28499,7 +28895,7 @@ loop with a termination condition, computed from multiple threads:
 
 |[&lt;!-- language=&quot;C&quot; --&gt; 
 #define NUM_TASKS 10
-static volatile gint tasks_remaining = NUM_TASKS;
+static gint tasks_remaining = NUM_TASKS;  // (atomic)
 ...
 
 while (g_atomic_int_get (&amp;tasks_remaining) != 0)
@@ -30282,6 +30678,9 @@ profiling tools instead
 Allocates @byte_size bytes of memory, and copies @byte_size bytes into it
 from @mem. If @mem is %NULL it returns %NULL.
 
+Deprecated: 2.68: Use g_memdup2() instead, as it accepts a #gsize argument
+for @byte_size, avoiding the possibility of overflow in a #gsize → #guint
+conversion
 
 </description>
 <parameters>
@@ -30299,6 +30698,32 @@ is %NULL.
 </return>
 </function>
 
+<function name="g_memdup2">
+<description>
+Allocates @byte_size bytes of memory, and copies @byte_size bytes into it
+from @mem. If @mem is %NULL it returns %NULL.
+
+This replaces g_memdup(), which was prone to integer overflows when
+converting the argument from a #gsize to a #guint.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="mem">
+<parameter_description> the memory to copy.
+</parameter_description>
+</parameter>
+<parameter name="byte_size">
+<parameter_description> the number of bytes to copy.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a pointer to the newly-allocated copy of the memory,
+or %NULL if @mem is %NULL.
+</return>
+</function>
+
 <function name="g_memmove">
 <description>
 Copies a block of memory @len bytes long, from @src to @dest.
@@ -30638,19 +31063,42 @@ If @module refers to the application itself, &quot;main&quot; is returned.
 
 <function name="g_module_open">
 <description>
+A thin wrapper function around g_module_open_full()
+
+
+</description>
+<parameters>
+<parameter name="file_name">
+<parameter_description> the name of the file containing the module, or %NULL
+to obtain a #GModule representing the main program itself
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> the flags used for opening the module. This can be the
+logical OR of any of the #GModuleFlags.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GModule on success, or %NULL on failure
+</return>
+</function>
+
+<function name="g_module_open_full">
+<description>
 Opens a module. If the module has already been opened,
 its reference count is incremented.
 
-First of all g_module_open() tries to open @file_name as a module.
+First of all g_module_open_full() tries to open @file_name as a module.
 If that fails and @file_name has the &quot;.la&quot;-suffix (and is a libtool
 archive) it tries to open the corresponding module. If that fails
 and it doesn't have the proper module suffix for the platform
 (#G_MODULE_SUFFIX), this suffix will be appended and the corresponding
 module will be opened. If that fails and @file_name doesn't have the
-&quot;.la&quot;-suffix, this suffix is appended and g_module_open() tries to open
+&quot;.la&quot;-suffix, this suffix is appended and g_module_open_full() tries to open
 the corresponding module. If eventually that fails as well, %NULL is
 returned.
 
+Since: 2.70
 
 </description>
 <parameters>
@@ -30664,8 +31112,13 @@ to obtain a #GModule representing the main program itself
 logical OR of any of the #GModuleFlags
 </parameter_description>
 </parameter>
+<parameter name="error">
+<parameter_description> #GError.
+</parameter_description>
+</parameter>
 </parameters>
 <return> a #GModule on success, or %NULL on failure
+
 </return>
 </function>
 
@@ -30990,6 +31443,12 @@ so might hide memory allocation errors.
 <description>
 Wraps g_alloca() in a more typesafe manner.
 
+As mentioned in the documentation for g_alloca(), @n_structs must always be
+entirely under the control of the program, or you may introduce a denial of
+service vulnerability. In addition, the multiplication of @struct_type by
+@n_structs is not checked, so an overflow may lead to a remote code execution
+vulnerability.
+
 
 </description>
 <parameters>
@@ -31875,10 +32334,12 @@ of a pointer.
 <function name="g_object_bind_property">
 <description>
 Creates a binding between @source_property on @source and @target_property
-on @target. Whenever the @source_property is changed the @target_property is
+on @target.
+
+Whenever the @source_property is changed the @target_property is
 updated using the same value. For instance:
 
-|[
+|[&lt;!-- language=&quot;C&quot; --&gt;
 g_object_bind_property (action, &quot;active&quot;, widget, &quot;sensitive&quot;, 0);
 ]|
 
@@ -31895,6 +32356,13 @@ The binding will automatically be removed when either the @source or the
 @source and the @target you can just call g_object_unref() on the returned
 #GBinding instance.
 
+Removing the binding by calling g_object_unref() on it must only be done if
+the binding, @source and @target are only used from a single thread and it
+is clear that both @source and @target outlive the binding. Especially it
+is not safe to rely on this if the binding, @source or @target can be
+finalized from different threads. Keep another reference to the binding and
+use g_binding_unbind() instead to be on the safe side.
+
 A #GObject can have multiple bindings.
 
 Since: 2.26
@@ -33063,7 +33531,8 @@ the last reference.
 </parameter_description>
 </parameter>
 <parameter name="data">
-<parameter_description> data to pass to @notify
+<parameter_description> data to pass to @notify, or %NULL to
+match any toggle refs with the @notify argument.
 </parameter_description>
 </parameter>
 </parameters>
@@ -33518,6 +33987,58 @@ g_object_set_qdata_full().
 </return>
 </function>
 
+<function name="g_object_take_ref">
+<description>
+If @object is floating, sink it.  Otherwise, do nothing.
+
+In other words, this function will convert a floating reference (if
+present) into a full reference.
+
+Typically you want to use g_object_ref_sink() in order to
+automatically do the correct thing with respect to floating or
+non-floating references, but there is one specific scenario where
+this function is helpful.
+
+The situation where this function is helpful is when creating an API
+that allows the user to provide a callback function that returns a
+GObject. We certainly want to allow the user the flexibility to
+return a non-floating reference from this callback (for the case
+where the object that is being returned already exists).
+
+At the same time, the API style of some popular GObject-based
+libraries (such as Gtk) make it likely that for newly-created GObject
+instances, the user can be saved some typing if they are allowed to
+return a floating reference.
+
+Using this function on the return value of the user's callback allows
+the user to do whichever is more convenient for them. The caller will
+alway receives exactly one full reference to the value: either the
+one that was returned in the first place, or a floating reference
+that has been converted to a full reference.
+
+This function has an odd interaction when combined with
+g_object_ref_sink() running at the same time in another thread on
+the same #GObject instance. If g_object_ref_sink() runs first then
+the result will be that the floating reference is converted to a hard
+reference. If g_object_take_ref() runs first then the result will be
+that the floating reference is converted to a hard reference and an
+additional reference on top of that one is added. It is best to avoid
+this situation.
+
+Since: 2.70
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> a #GObject
+</parameter_description>
+</parameter>
+</parameters>
+<return> @object
+</return>
+</function>
+
 <function name="g_object_thaw_notify">
 <description>
 Reverts the effect of a previous call to
@@ -33589,7 +34110,7 @@ use this @object as closure data.
 <function name="g_object_weak_ref">
 <description>
 Adds a weak reference callback to an object. Weak references are
-used for notification when an object is finalized. They are called
+used for notification when an object is disposed. They are called
 &quot;weak references&quot; because they allow you to safely hold a pointer
 to an object without calling g_object_ref() (g_object_ref() adds a
 strong reference, that is, forces the object to stay alive).
@@ -33802,6 +34323,9 @@ g_once_init_leave (&amp;initialization_value, setup_value);
 // use initialization_value here
 ]|
 
+While @location has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.14
 
 </description>
@@ -33826,6 +34350,9 @@ other than 0. Sets the variable to the initialization value, and
 releases concurrent threads blocking in g_once_init_enter() on this
 initialization variable.
 
+While @location has a `volatile` qualifier, this is a historical artifact and
+the pointer passed to it should not be `volatile`.
+
 Since: 2.14
 
 </description>
@@ -35259,7 +35786,8 @@ e.g. a tooltip. The @nick and @blurb should ideally be localized.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly allocated #GParamSpec instance
+<return> a newly allocated
+#GParamSpec instance, which is initially floating
 </return>
 </function>
 
@@ -36064,10 +36592,12 @@ use as the default value, or %NULL
 
 <function name="g_param_type_register_static">
 <description>
-Registers @name as the name of a new static type derived from
-#G_TYPE_PARAM. The type system uses the information contained in
-the #GParamSpecTypeInfo structure pointed to by @info to manage the
-#GParamSpec type and its instances.
+Registers @name as the name of a new static type derived
+from #G_TYPE_PARAM.
+
+The type system uses the information contained in the #GParamSpecTypeInfo
+structure pointed to by @info to manage the #GParamSpec type and its
+instances.
 
 
 </description>
@@ -36369,6 +36899,7 @@ not be obtained by g_strreverse(). This works only if the string
 does not contain any multibyte characters. GLib offers the
 g_utf8_strreverse() function to reverse UTF-8 encoded strings.
 
+Deprecated: 2.70: Use g_pattern_spec_match() instead
 
 </description>
 <parameters>
@@ -36423,6 +36954,7 @@ Matches a string against a compiled pattern. If the string is to be
 matched against more than one pattern, consider using
 g_pattern_match() instead while supplying the reversed string.
 
+Deprecated: 2.70: Use g_pattern_spec_match_string() instead
 
 </description>
 <parameters>
@@ -36439,6 +36971,24 @@ g_pattern_match() instead while supplying the reversed string.
 </return>
 </function>
 
+<function name="g_pattern_spec_copy">
+<description>
+Copies @pspec in a new #GPatternSpec.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="pspec">
+<parameter_description> a #GPatternSpec
+</parameter_description>
+</parameter>
+</parameters>
+<return> a copy of @pspec.
+
+</return>
+</function>
+
 <function name="g_pattern_spec_equal">
 <description>
 Compares two compiled pattern specs and returns whether they will
@@ -36474,6 +37024,77 @@ Frees the memory allocated for the #GPatternSpec.
 <return></return>
 </function>
 
+<function name="g_pattern_spec_match">
+<description>
+Matches a string against a compiled pattern. Passing the correct
+length of the string given is mandatory. The reversed string can be
+omitted by passing %NULL, this is more efficient if the reversed
+version of the string to be matched is not at hand, as
+g_pattern_match() will only construct it if the compiled pattern
+requires reverse matches.
+
+Note that, if the user code will (possibly) match a string against a
+multitude of patterns containing wildcards, chances are high that
+some patterns will require a reversed string. In this case, it's
+more efficient to provide the reversed string to avoid multiple
+constructions thereof in the various calls to g_pattern_match().
+
+Note also that the reverse of a UTF-8 encoded string can in general
+not be obtained by g_strreverse(). This works only if the string
+does not contain any multibyte characters. GLib offers the
+g_utf8_strreverse() function to reverse UTF-8 encoded strings.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="pspec">
+<parameter_description> a #GPatternSpec
+</parameter_description>
+</parameter>
+<parameter name="string_length">
+<parameter_description> the length of @string (in bytes, i.e. strlen(),
+not g_utf8_strlen())
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the UTF-8 encoded string to match
+</parameter_description>
+</parameter>
+<parameter name="string_reversed">
+<parameter_description> the reverse of @string or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @string matches @pspec
+
+</return>
+</function>
+
+<function name="g_pattern_spec_match_string">
+<description>
+Matches a string against a compiled pattern. If the string is to be
+matched against more than one pattern, consider using
+g_pattern_match() instead while supplying the reversed string.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="pspec">
+<parameter_description> a #GPatternSpec
+</parameter_description>
+</parameter>
+<parameter name="string">
+<parameter_description> the UTF-8 encoded string to match
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @string matches @pspec
+
+</return>
+</function>
+
 <function name="g_pattern_spec_new">
 <description>
 Compiles a pattern to a #GPatternSpec.
@@ -36498,6 +37119,9 @@ pointer-sized values).
 For portability reasons, you may only lock on the bottom 32 bits of
 the pointer.
 
+While @address has a `volatile` qualifier, this is a historical
+artifact and the argument passed to it should not be `volatile`.
+
 Since: 2.30
 
 </description>
@@ -36516,12 +37140,15 @@ Since: 2.30
 
 <function name="g_pointer_bit_trylock">
 <description>
-This is equivalent to g_bit_trylock, but working on pointers (or
+This is equivalent to g_bit_trylock(), but working on pointers (or
 other pointer-sized values).
 
 For portability reasons, you may only lock on the bottom 32 bits of
 the pointer.
 
+While @address has a `volatile` qualifier, this is a historical
+artifact and the argument passed to it should not be `volatile`.
+
 Since: 2.30
 
 </description>
@@ -36548,6 +37175,9 @@ pointer-sized values).
 For portability reasons, you may only lock on the bottom 32 bits of
 the pointer.
 
+While @address has a `volatile` qualifier, this is a historical
+artifact and the argument passed to it should not be `volatile`.
+
 Since: 2.30
 
 </description>
@@ -36654,6 +37284,27 @@ Since: 2.16
 <return></return>
 </function>
 
+<function name="g_prefix_error_literal">
+<description>
+Prefixes @prefix to an existing error message. If @err or *@err is
+%NULL (i.e.: no error variable) then do nothing.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="err">
+<parameter_description> a return location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="prefix">
+<parameter_description> string to prefix @err with
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_print">
 <description>
 Outputs a formatted message via the print handler.
@@ -37147,8 +37798,8 @@ functions.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the pointer array if @free_seg is %FALSE, otherwise %NULL.
-The pointer array should be freed using g_free().
+<return> the pointer array if @free_seg is
+%FALSE, otherwise %NULL. The pointer array should be freed using g_free().
 </return>
 </function>
 
@@ -39588,6 +40239,10 @@ as the given value
 <description>
 Decreases the reference count.
 
+If %TRUE is returned, the reference count reached 0. After this point, @rc
+is an undefined state and must be reinitialized with
+g_ref_count_init() to be used again.
+
 Since: 2.58
 
 </description>
@@ -39620,7 +40275,7 @@ Since: 2.58
 
 <function name="g_ref_count_init">
 <description>
-Initializes a reference count variable.
+Initializes a reference count variable to 1.
 
 Since: 2.58
 
@@ -41301,13 +41956,19 @@ Since: 2.32
 <function name="g_rw_lock_reader_lock">
 <description>
 Obtain a read lock on @rw_lock. If another thread currently holds
-the write lock on @rw_lock, the current thread will block. If another thread
-does not hold the write lock, but is waiting for it, it is implementation
-defined whether the reader or writer will block. Read locks can be taken
+the write lock on @rw_lock, the current thread will block until the
+write lock was (held and) released. If another thread does not hold
+the write lock, but is waiting for it, it is implementation defined
+whether the reader or writer will block. Read locks can be taken
 recursively.
 
-It is implementation-defined how many threads are allowed to
-hold read locks on the same lock simultaneously. If the limit is hit,
+Calling g_rw_lock_reader_lock() while the current thread already
+owns a write lock leads to undefined behaviour. Read locks however
+can be taken recursively, in which case you need to make sure to
+call g_rw_lock_reader_unlock() the same amount of times.
+
+It is implementation-defined how many read locks are allowed to be
+held on the same lock simultaneously. If the limit is hit,
 or if a deadlock is detected, a critical warning will be emitted.
 
 Since: 2.32
@@ -41407,10 +42068,13 @@ Since: 2.32
 
 <function name="g_rw_lock_writer_lock">
 <description>
-Obtain a write lock on @rw_lock. If any thread already holds
+Obtain a write lock on @rw_lock. If another thread currently holds
 a read or write lock on @rw_lock, the current thread will block
 until all other threads have dropped their locks on @rw_lock.
 
+Calling g_rw_lock_writer_lock() while the current thread already
+owns a read or write lock on @rw_lock leads to undefined behaviour.
+
 Since: 2.32
 
 </description>
@@ -41525,8 +42189,9 @@ Since: 2.62
 
 <function name="g_rw_lock_writer_trylock">
 <description>
-Tries to obtain a write lock on @rw_lock. If any other thread holds
-a read or write lock on @rw_lock, it immediately returns %FALSE.
+Tries to obtain a write lock on @rw_lock. If another thread
+currently holds a read or write lock on @rw_lock, it immediately
+returns %FALSE.
 Otherwise it locks @rw_lock and returns %TRUE.
 
 Since: 2.32
@@ -42305,9 +42970,9 @@ Since: 2.14
 
 <function name="g_sequence_get_length">
 <description>
-Returns the length of @seq. Note that this method is O(h) where `h' is the
-height of the tree. It is thus more efficient to use g_sequence_is_empty()
-when comparing the length to zero.
+Returns the positive length (&gt;= 0) of @seq. Note that this method is
+O(h) where `h' is the height of the tree. It is thus more efficient
+to use g_sequence_is_empty() when comparing the length to zero.
 
 Since: 2.14
 
@@ -43210,12 +43875,13 @@ Since: 2.18
 
 <function name="g_set_object">
 <description>
-Updates a #GObject pointer to refer to @new_object. It increments the
-reference count of @new_object (if non-%NULL), decrements the reference
-count of the current value of @object_ptr (if non-%NULL), and assigns
-@new_object to @object_ptr. The assignment is not atomic.
+Updates a #GObject pointer to refer to @new_object.
 
-@object_ptr must not be %NULL.
+It increments the reference count of @new_object (if non-%NULL), decrements
+the reference count of the current value of @object_ptr (if non-%NULL), and
+assigns @new_object to @object_ptr. The assignment is not atomic.
+
+@object_ptr must not be %NULL, but can point to a %NULL value.
 
 A macro is also included that allows this function to be used without
 pointer casts. The function itself is static inline, so its address may vary
@@ -43245,7 +43911,7 @@ Since: 2.44
 </parameter>
 <parameter name="new_object">
 <parameter_description> a pointer to the new #GObject to
-assign to it, or %NULL to clear the pointer
+assign to @object_ptr, or %NULL to clear the pointer
 </parameter_description>
 </parameter>
 </parameters>
@@ -43323,13 +43989,15 @@ example.
 
 <function name="g_set_weak_pointer">
 <description>
-Updates a pointer to weakly refer to @new_object. It assigns @new_object
-to @weak_pointer_location and ensures that @weak_pointer_location will
-automatically be set to %NULL if @new_object gets destroyed. The assignment
-is not atomic. The weak reference is not thread-safe, see
-g_object_add_weak_pointer() for details.
+Updates a pointer to weakly refer to @new_object.
 
-@weak_pointer_location must not be %NULL.
+It assigns @new_object to @weak_pointer_location and ensures
+that @weak_pointer_location will automatically be set to %NULL
+if @new_object gets destroyed. The assignment is not atomic.
+The weak reference is not thread-safe, see g_object_add_weak_pointer()
+for details.
+
+The @weak_pointer_location argument must not be %NULL.
 
 A macro is also included that allows this function to be used without
 pointer casts. The function itself is static inline, so its address may vary
@@ -43418,12 +44086,16 @@ contain '='.
 Parses a command line into an argument vector, in much the same way
 the shell would, but without many of the expansions the shell would
 perform (variable expansion, globs, operators, filename expansion,
-etc. are not supported). The results are defined to be the same as
-those you would get from a UNIX98 /bin/sh, as long as the input
-contains none of the unsupported shell expansions. If the input
-does contain such expansions, they are passed through
-literally. Possible errors are those from the #G_SHELL_ERROR
-domain. Free the returned vector with g_strfreev().
+etc. are not supported).
+
+The results are defined to be the same as those you would get from
+a UNIX98 `/bin/sh`, as long as the input contains none of the
+unsupported shell expansions. If the input does contain such expansions,
+they are passed through literally.
+
+Possible errors are those from the %G_SHELL_ERROR domain.
+
+Free the returned vector with g_strfreev().
 
 
 </description>
@@ -43453,10 +44125,14 @@ return location for array of args
 <function name="g_shell_quote">
 <description>
 Quotes a string so that the shell (/bin/sh) will interpret the
-quoted string to mean @unquoted_string. If you pass a filename to
-the shell, for example, you should first quote it with this
-function.  The return value must be freed with g_free(). The
-quoting style used is undefined (single or double quotes may be
+quoted string to mean @unquoted_string.
+
+If you pass a filename to the shell, for example, you should first
+quote it with this function.
+
+The return value must be freed with g_free().
+
+The quoting style used is undefined (single or double quotes may be
 used).
 
 
@@ -43473,27 +44149,33 @@ used).
 
 <function name="g_shell_unquote">
 <description>
-Unquotes a string as the shell (/bin/sh) would. Only handles
-quotes; if a string contains file globs, arithmetic operators,
-variables, backticks, redirections, or other special-to-the-shell
-features, the result will be different from the result a real shell
-would produce (the variables, backticks, etc. will be passed
-through literally instead of being expanded). This function is
-guaranteed to succeed if applied to the result of
+Unquotes a string as the shell (/bin/sh) would.
+
+This function only handles quotes; if a string contains file globs,
+arithmetic operators, variables, backticks, redirections, or other
+special-to-the-shell features, the result will be different from the
+result a real shell would produce (the variables, backticks, etc.
+will be passed through literally instead of being expanded).
+
+This function is guaranteed to succeed if applied to the result of
 g_shell_quote(). If it fails, it returns %NULL and sets the
-error. The @quoted_string need not actually contain quoted or
-escaped text; g_shell_unquote() simply goes through the string and
-unquotes/unescapes anything that the shell would. Both single and
-double quotes are handled, as are escapes including escaped
-newlines. The return value must be freed with g_free(). Possible
-errors are in the #G_SHELL_ERROR domain.
+error.
+
+The @quoted_string need not actually contain quoted or escaped text;
+g_shell_unquote() simply goes through the string and unquotes/unescapes
+anything that the shell would. Both single and double quotes are
+handled, as are escapes including escaped newlines.
+
+The return value must be freed with g_free().
+
+Possible errors are in the %G_SHELL_ERROR domain.
 
 Shell quoting rules are a bit strange. Single quotes preserve the
 literal string exactly. escape sequences are not allowed; not even
-\' - if you want a ' in the quoted text, you have to do something
-like 'foo'\''bar'.  Double quotes allow $, `, &quot;, \, and newline to
-be escaped with backslash. Otherwise double quotes preserve things
-literally.
+`\'` - if you want a `'` in the quoted text, you have to do something
+like `'foo'\''bar'`. Double quotes allow `$`, ```, `&quot;`, `\`, and
+newline to be escaped with backslash. Otherwise double quotes
+preserve things literally.
 
 
 </description>
@@ -43978,7 +44660,8 @@ if no handlers are connected, in contrast to g_signal_emitv().
 <parameter name="Varargs">
 <parameter_description> parameters to be passed to the signal, followed by a
 location for the return value. If the return type of the signal
-is #G_TYPE_NONE, the return value location can be omitted.
+is %G_TYPE_NONE, the return value location can be omitted. The
+number of parameters to pass to this function is defined when creating the signal.
 </parameter_description>
 </parameter>
 </parameters>
@@ -44062,7 +44745,8 @@ Returns the invocation hint of the innermost signal emission of instance.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the invocation hint of the innermost signal  emission.
+<return> the invocation hint of the innermost
+signal emission, or %NULL if not found.
 </return>
 </function>
 
@@ -44875,7 +45559,7 @@ without a return value
 </parameter>
 <parameter name="param_types">
 <parameter_description> an array of types, one for
-each parameter
+each parameter (may be %NULL if @n_params is zero)
 </parameter_description>
 </parameter>
 </parameters>
@@ -45182,11 +45866,13 @@ Since: 2.48
 <function name="g_slice_alloc">
 <description>
 Allocates a block of memory from the slice allocator.
+
 The block address handed out can be expected to be aligned
-to at least 1 * sizeof (void*),
-though in general slices are 2 * sizeof (void*) bytes aligned,
-if a malloc() fallback implementation is used instead,
-the alignment may be reduced in a libc dependent fashion.
+to at least `1 * sizeof (void*)`, though in general slices
+are `2 * sizeof (void*)` bytes aligned; if a `malloc()`
+fallback implementation is used instead, the alignment may
+be reduced in a libc dependent fashion.
+
 Note that the underlying slice allocation mechanism can
 be changed with the [`G_SLICE=always-malloc`][G_SLICE]
 environment variable.
@@ -45200,8 +45886,8 @@ Since: 2.10
 </parameter_description>
 </parameter>
 </parameters>
-<return> a pointer to the allocated memory block, which will be %NULL if and
-only if @mem_size is 0
+<return> a pointer to the allocated memory block, which will
+be %NULL if and only if @mem_size is 0
 
 </return>
 </function>
@@ -45347,6 +46033,7 @@ Since: 2.10
 <function name="g_slice_free_chain">
 <description>
 Frees a linked list of memory blocks of structure type @type.
+
 The memory blocks must be equal-sized, allocated via
 g_slice_alloc() or g_slice_alloc0() and linked together by
 a @next pointer (similar to #GSList). The name of the
@@ -46416,6 +47103,10 @@ g_source_unref() to drop it.
 This function is safe to call from any thread, regardless of which thread
 the #GMainContext is running in.
 
+If the source is currently attached to a #GMainContext, destroying it
+will effectively unset the callback similar to calling g_source_set_callback().
+This can mean, that the data's #GDestroyNotify gets called right away.
+
 </description>
 <parameters>
 <parameter name="source">
@@ -46606,10 +47297,10 @@ idle_callback (gpointer data)
 {
 SomeWidget *self = data;
 
-GDK_THREADS_ENTER ();
+g_mutex_lock (&amp;self-&gt;idle_id_mutex);
 // do stuff with self
 self-&gt;idle_id = 0;
-GDK_THREADS_LEAVE ();
+g_mutex_unlock (&amp;self-&gt;idle_id_mutex);
 
 return G_SOURCE_REMOVE;
 }
@@ -46617,7 +47308,17 @@ return G_SOURCE_REMOVE;
 static void 
 some_widget_do_stuff_later (SomeWidget *self)
 {
+g_mutex_lock (&amp;self-&gt;idle_id_mutex);
 self-&gt;idle_id = g_idle_add (idle_callback, self);
+g_mutex_unlock (&amp;self-&gt;idle_id_mutex);
+}
+
+static void
+some_widget_init (SomeWidget *self)
+{
+g_mutex_init (&amp;self-&gt;idle_id_mutex);
+
+// ...
 }
 
 static void 
@@ -46628,6 +47329,8 @@ SomeWidget *self = SOME_WIDGET (object);
 if (self-&gt;idle_id)
 g_source_remove (self-&gt;idle_id);
 
+g_mutex_clear (&amp;self-&gt;idle_id_mutex);
+
 G_OBJECT_CLASS (parent_class)-&gt;finalize (object);
 }
 ]|
@@ -46644,12 +47347,12 @@ idle_callback (gpointer data)
 {
 SomeWidget *self = data;
 
-GDK_THREADS_ENTER ();
+g_mutex_lock (&amp;self-&gt;idle_id_mutex);
 if (!g_source_is_destroyed (g_main_current_source ()))
 {
 // do stuff with self
 }
-GDK_THREADS_LEAVE ();
+g_mutex_unlock (&amp;self-&gt;idle_id_mutex);
 
 return FALSE;
 }
@@ -46953,6 +47656,9 @@ It is safe to call this function multiple times on a source which has already
 been attached to a context. The changes will take effect for the next time
 the source is dispatched after this call returns.
 
+Note that g_source_destroy() for a currently attached source has the effect
+of also unsetting the callback.
+
 </description>
 <parameters>
 <parameter name="source">
@@ -47148,6 +47854,8 @@ accessing it with g_source_get_name(); that function does not copy
 the value, and changing the value will free it while the other thread
 may be attempting to use it.
 
+Also see g_source_set_static_name().
+
 Since: 2.26
 
 </description>
@@ -47266,6 +47974,28 @@ Since: 2.36
 <return></return>
 </function>
 
+<function name="g_source_set_static_name">
+<description>
+A variant of g_source_set_name() that does not
+duplicate the @name, and can only be used with
+string literals.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="source">
+<parameter_description> a #GSource
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> debug name for the source
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_source_unref">
 <description>
 Decreases the reference count of a source by one. If the
@@ -47306,13 +48036,15 @@ which is larger than @num
 
 <function name="g_spawn_async">
 <description>
+Executes a child program asynchronously.
+
 See g_spawn_async_with_pipes() for a full description; this function
 simply calls the g_spawn_async_with_pipes() without any pipes.
 
 You should call g_spawn_close_pid() on the returned child process
 reference when you don't need it any more.
 
-If you are writing a GTK+ application, and the program you are spawning is a
+If you are writing a GTK application, and the program you are spawning is a
 graphical application too, then to ensure that the spawned program opens its
 windows on the right screen, you may want to use #GdkAppLaunchContext,
 #GAppLaunchContext, or set the %DISPLAY environment variable.
@@ -47366,24 +48098,10 @@ child's environment, or %NULL to inherit parent's
 
 <function name="g_spawn_async_with_fds">
 <description>
-Identical to g_spawn_async_with_pipes() but instead of
-creating pipes for the stdin/stdout/stderr, you can pass existing
-file descriptors into this function through the @stdin_fd,
-@stdout_fd and @stderr_fd parameters. The following @flags
-also have their behaviour slightly tweaked as a result:
+Executes a child program asynchronously.
 
-%G_SPAWN_STDOUT_TO_DEV_NULL means that the child's standard output
-will be discarded, instead of going to the same location as the parent's
-standard output. If you use this flag, @standard_output must be -1.
-%G_SPAWN_STDERR_TO_DEV_NULL means that the child's standard error
-will be discarded, instead of going to the same location as the parent's
-standard error. If you use this flag, @standard_error must be -1.
-%G_SPAWN_CHILD_INHERITS_STDIN means that the child will inherit the parent's
-standard input (by default, the child's standard input is attached to
-/dev/null). If you use this flag, @standard_input must be -1.
-
-It is valid to pass the same fd in multiple parameters (e.g. you can pass
-a single fd for both stdout and stderr).
+Identical to g_spawn_async_with_pipes_and_fds() but with `n_fds` set to zero,
+so no FD assignments are used.
 
 Since: 2.58
 
@@ -47418,15 +48136,15 @@ Since: 2.58
 </parameter_description>
 </parameter>
 <parameter name="stdin_fd">
-<parameter_description> file descriptor to use for child's stdin, or -1
+<parameter_description> file descriptor to use for child's stdin, or `-1`
 </parameter_description>
 </parameter>
 <parameter name="stdout_fd">
-<parameter_description> file descriptor to use for child's stdout, or -1
+<parameter_description> file descriptor to use for child's stdout, or `-1`
 </parameter_description>
 </parameter>
 <parameter name="stderr_fd">
-<parameter_description> file descriptor to use for child's stderr, or -1
+<parameter_description> file descriptor to use for child's stderr, or `-1`
 </parameter_description>
 </parameter>
 <parameter name="error">
@@ -47441,172 +48159,8 @@ Since: 2.58
 
 <function name="g_spawn_async_with_pipes">
 <description>
-Executes a child program asynchronously (your program will not
-block waiting for the child to exit). The child program is
-specified by the only argument that must be provided, @argv.
-@argv should be a %NULL-terminated array of strings, to be passed
-as the argument vector for the child. The first string in @argv
-is of course the name of the program to execute. By default, the
-name of the program must be a full path. If @flags contains the
-%G_SPAWN_SEARCH_PATH flag, the `PATH` environment variable is
-used to search for the executable. If @flags contains the
-%G_SPAWN_SEARCH_PATH_FROM_ENVP flag, the `PATH` variable from 
-@envp is used to search for the executable. If both the
-%G_SPAWN_SEARCH_PATH and %G_SPAWN_SEARCH_PATH_FROM_ENVP flags
-are set, the `PATH` variable from @envp takes precedence over
-the environment variable.
-
-If the program name is not a full path and %G_SPAWN_SEARCH_PATH flag is not
-used, then the program will be run from the current directory (or
-@working_directory, if specified); this might be unexpected or even
-dangerous in some cases when the current directory is world-writable.
-
-On Windows, note that all the string or string vector arguments to
-this function and the other g_spawn*() functions are in UTF-8, the
-GLib file name encoding. Unicode characters that are not part of
-the system codepage passed in these arguments will be correctly
-available in the spawned program only if it uses wide character API
-to retrieve its command line. For C programs built with Microsoft's
-tools it is enough to make the program have a wmain() instead of
-main(). wmain() has a wide character argument vector as parameter.
-
-At least currently, mingw doesn't support wmain(), so if you use
-mingw to develop the spawned program, it should call
-g_win32_get_command_line() to get arguments in UTF-8.
-
-On Windows the low-level child process creation API CreateProcess()
-doesn't use argument vectors, but a command line. The C runtime
-library's spawn*() family of functions (which g_spawn_async_with_pipes()
-eventually calls) paste the argument vector elements together into
-a command line, and the C runtime startup code does a corresponding
-reconstruction of an argument vector from the command line, to be
-passed to main(). Complications arise when you have argument vector
-elements that contain spaces or double quotes. The `spawn*()` functions
-don't do any quoting or escaping, but on the other hand the startup
-code does do unquoting and unescaping in order to enable receiving
-arguments with embedded spaces or double quotes. To work around this
-asymmetry, g_spawn_async_with_pipes() will do quoting and escaping on
-argument vector elements that need it before calling the C runtime
-spawn() function.
-
-The returned @child_pid on Windows is a handle to the child
-process, not its identifier. Process handles and process
-identifiers are different concepts on Windows.
-
-@envp is a %NULL-terminated array of strings, where each string
-has the form `KEY=VALUE`. This will become the child's environment.
-If @envp is %NULL, the child inherits its parent's environment.
-
-@flags should be the bitwise OR of any flags you want to affect the
-function's behaviour. The %G_SPAWN_DO_NOT_REAP_CHILD means that the
-child will not automatically be reaped; you must use a child watch
-(g_child_watch_add()) to be notified about the death of the child process,
-otherwise it will stay around as a zombie process until this process exits.
-Eventually you must call g_spawn_close_pid() on the @child_pid, in order to
-free resources which may be associated with the child process. (On Unix,
-using a child watch is equivalent to calling waitpid() or handling
-the %SIGCHLD signal manually. On Windows, calling g_spawn_close_pid()
-is equivalent to calling CloseHandle() on the process handle returned
-in @child_pid). See g_child_watch_add().
-
-Open UNIX file descriptors marked as `FD_CLOEXEC` will be automatically
-closed in the child process. %G_SPAWN_LEAVE_DESCRIPTORS_OPEN means that
-other open file descriptors will be inherited by the child; otherwise all
-descriptors except stdin/stdout/stderr will be closed before calling exec()
-in the child. %G_SPAWN_SEARCH_PATH means that @argv[0] need not be an
-absolute path, it will be looked for in the `PATH` environment
-variable. %G_SPAWN_SEARCH_PATH_FROM_ENVP means need not be an
-absolute path, it will be looked for in the `PATH` variable from
-@envp. If both %G_SPAWN_SEARCH_PATH and %G_SPAWN_SEARCH_PATH_FROM_ENVP
-are used, the value from @envp takes precedence over the environment.
-%G_SPAWN_STDOUT_TO_DEV_NULL means that the child's standard output
-will be discarded, instead of going to the same location as the parent's 
-standard output. If you use this flag, @standard_output must be %NULL.
-%G_SPAWN_STDERR_TO_DEV_NULL means that the child's standard error
-will be discarded, instead of going to the same location as the parent's
-standard error. If you use this flag, @standard_error must be %NULL.
-%G_SPAWN_CHILD_INHERITS_STDIN means that the child will inherit the parent's
-standard input (by default, the child's standard input is attached to
-`/dev/null`). If you use this flag, @standard_input must be %NULL.
-%G_SPAWN_FILE_AND_ARGV_ZERO means that the first element of @argv is
-the file to execute, while the remaining elements are the actual
-argument vector to pass to the file. Normally g_spawn_async_with_pipes()
-uses @argv[0] as the file to execute, and passes all of @argv to the child.
-
-@child_setup and @user_data are a function and user data. On POSIX
-platforms, the function is called in the child after GLib has
-performed all the setup it plans to perform (including creating
-pipes, closing file descriptors, etc.) but before calling exec().
-That is, @child_setup is called just before calling exec() in the
-child. Obviously actions taken in this function will only affect
-the child, not the parent.
-
-On Windows, there is no separate fork() and exec() functionality.
-Child processes are created and run with a single API call,
-CreateProcess(). There is no sensible thing @child_setup
-could be used for on Windows so it is ignored and not called.
-
-If non-%NULL, @child_pid will on Unix be filled with the child's
-process ID. You can use the process ID to send signals to the child,
-or to use g_child_watch_add() (or waitpid()) if you specified the
-%G_SPAWN_DO_NOT_REAP_CHILD flag. On Windows, @child_pid will be
-filled with a handle to the child process only if you specified the
-%G_SPAWN_DO_NOT_REAP_CHILD flag. You can then access the child
-process using the Win32 API, for example wait for its termination
-with the WaitFor*() functions, or examine its exit code with
-GetExitCodeProcess(). You should close the handle with CloseHandle()
-or g_spawn_close_pid() when you no longer need it.
-
-If non-%NULL, the @standard_input, @standard_output, @standard_error
-locations will be filled with file descriptors for writing to the child's
-standard input or reading from its standard output or standard error.
-The caller of g_spawn_async_with_pipes() must close these file descriptors
-when they are no longer in use. If these parameters are %NULL, the
-corresponding pipe won't be created.
-
-If @standard_input is %NULL, the child's standard input is attached to
-`/dev/null` unless %G_SPAWN_CHILD_INHERITS_STDIN is set.
-
-If @standard_error is NULL, the child's standard error goes to the same 
-location as the parent's standard error unless %G_SPAWN_STDERR_TO_DEV_NULL 
-is set.
-
-If @standard_output is NULL, the child's standard output goes to the same 
-location as the parent's standard output unless %G_SPAWN_STDOUT_TO_DEV_NULL 
-is set.
-
-@error can be %NULL to ignore errors, or non-%NULL to report errors.
-If an error is set, the function returns %FALSE. Errors are reported
-even if they occur in the child (for example if the executable in
-@argv[0] is not found). Typically the `message` field of returned
-errors should be displayed to users. Possible errors are those from
-the #G_SPAWN_ERROR domain.
-
-If an error occurs, @child_pid, @standard_input, @standard_output,
-and @standard_error will not be filled with valid values.
-
-If @child_pid is not %NULL and an error does not occur then the returned
-process reference must be closed using g_spawn_close_pid().
-
-On modern UNIX platforms, GLib can use an efficient process launching
-codepath driven internally by posix_spawn(). This has the advantage of
-avoiding the fork-time performance costs of cloning the parent process
-address space, and avoiding associated memory overcommit checks that are
-not relevant in the context of immediately executing a distinct process.
-This optimized codepath will be used provided that the following conditions
-are met:
-
-1. %G_SPAWN_DO_NOT_REAP_CHILD is set
-2. %G_SPAWN_LEAVE_DESCRIPTORS_OPEN is set
-3. %G_SPAWN_SEARCH_PATH_FROM_ENVP is not set
-4. @working_directory is %NULL
-5. @child_setup is %NULL
-6. The program is of a recognised binary format, or has a shebang. Otherwise, GLib will have to execute the 
program through the shell, which is not done using the optimized codepath.
-
-If you are writing a GTK+ application, and the program you are spawning is a
-graphical application too, then to ensure that the spawned program opens its
-windows on the right screen, you may want to use #GdkAppLaunchContext,
-#GAppLaunchContext, or set the %DISPLAY environment variable.
+Identical to g_spawn_async_with_pipes_and_fds() but with `n_fds` set to zero,
+so no FD assignments are used.
 
 
 </description>
@@ -47664,51 +48218,359 @@ name encoding
 </return>
 </function>
 
+<function name="g_spawn_async_with_pipes_and_fds">
+<description>
+Executes a child program asynchronously (your program will not
+block waiting for the child to exit).
+
+The child program is specified by the only argument that must be
+provided, @argv. @argv should be a %NULL-terminated array of strings,
+to be passed as the argument vector for the child. The first string
+in @argv is of course the name of the program to execute. By default,
+the name of the program must be a full path. If @flags contains the
+%G_SPAWN_SEARCH_PATH flag, the `PATH` environment variable is used to
+search for the executable. If @flags contains the
+%G_SPAWN_SEARCH_PATH_FROM_ENVP flag, the `PATH` variable from @envp
+is used to search for the executable. If both the
+%G_SPAWN_SEARCH_PATH and %G_SPAWN_SEARCH_PATH_FROM_ENVP flags are
+set, the `PATH` variable from @envp takes precedence over the
+environment variable.
+
+If the program name is not a full path and %G_SPAWN_SEARCH_PATH flag
+is not used, then the program will be run from the current directory
+(or @working_directory, if specified); this might be unexpected or even
+dangerous in some cases when the current directory is world-writable.
+
+On Windows, note that all the string or string vector arguments to
+this function and the other `g_spawn*()` functions are in UTF-8, the
+GLib file name encoding. Unicode characters that are not part of
+the system codepage passed in these arguments will be correctly
+available in the spawned program only if it uses wide character API
+to retrieve its command line. For C programs built with Microsoft's
+tools it is enough to make the program have a `wmain()` instead of
+`main()`. `wmain()` has a wide character argument vector as parameter.
+
+At least currently, mingw doesn't support `wmain()`, so if you use
+mingw to develop the spawned program, it should call
+g_win32_get_command_line() to get arguments in UTF-8.
+
+On Windows the low-level child process creation API `CreateProcess()`
+doesn't use argument vectors, but a command line. The C runtime
+library's `spawn*()` family of functions (which g_spawn_async_with_pipes()
+eventually calls) paste the argument vector elements together into
+a command line, and the C runtime startup code does a corresponding
+reconstruction of an argument vector from the command line, to be
+passed to `main()`. Complications arise when you have argument vector
+elements that contain spaces or double quotes. The `spawn*()` functions
+don't do any quoting or escaping, but on the other hand the startup
+code does do unquoting and unescaping in order to enable receiving
+arguments with embedded spaces or double quotes. To work around this
+asymmetry, g_spawn_async_with_pipes() will do quoting and escaping on
+argument vector elements that need it before calling the C runtime
+`spawn()` function.
+
+The returned @child_pid on Windows is a handle to the child
+process, not its identifier. Process handles and process
+identifiers are different concepts on Windows.
+
+@envp is a %NULL-terminated array of strings, where each string
+has the form `KEY=VALUE`. This will become the child's environment.
+If @envp is %NULL, the child inherits its parent's environment.
+
+@flags should be the bitwise OR of any flags you want to affect the
+function's behaviour. The %G_SPAWN_DO_NOT_REAP_CHILD means that the
+child will not automatically be reaped; you must use a child watch
+(g_child_watch_add()) to be notified about the death of the child process,
+otherwise it will stay around as a zombie process until this process exits.
+Eventually you must call g_spawn_close_pid() on the @child_pid, in order to
+free resources which may be associated with the child process. (On Unix,
+using a child watch is equivalent to calling waitpid() or handling
+the `SIGCHLD` signal manually. On Windows, calling g_spawn_close_pid()
+is equivalent to calling `CloseHandle()` on the process handle returned
+in @child_pid). See g_child_watch_add().
+
+Open UNIX file descriptors marked as `FD_CLOEXEC` will be automatically
+closed in the child process. %G_SPAWN_LEAVE_DESCRIPTORS_OPEN means that
+other open file descriptors will be inherited by the child; otherwise all
+descriptors except stdin/stdout/stderr will be closed before calling `exec()`
+in the child. %G_SPAWN_SEARCH_PATH means that @argv[0] need not be an
+absolute path, it will be looked for in the `PATH` environment
+variable. %G_SPAWN_SEARCH_PATH_FROM_ENVP means need not be an
+absolute path, it will be looked for in the `PATH` variable from
+@envp. If both %G_SPAWN_SEARCH_PATH and %G_SPAWN_SEARCH_PATH_FROM_ENVP
+are used, the value from @envp takes precedence over the environment.
+
+%G_SPAWN_STDOUT_TO_DEV_NULL means that the child's standard output
+will be discarded, instead of going to the same location as the parent's
+standard output. If you use this flag, @stdout_pipe_out must be %NULL.
+
+%G_SPAWN_STDERR_TO_DEV_NULL means that the child's standard error
+will be discarded, instead of going to the same location as the parent's
+standard error. If you use this flag, @stderr_pipe_out must be %NULL.
+
+%G_SPAWN_CHILD_INHERITS_STDIN means that the child will inherit the parent's
+standard input (by default, the child's standard input is attached to
+`/dev/null`). If you use this flag, @stdin_pipe_out must be %NULL.
+
+It is valid to pass the same FD in multiple parameters (e.g. you can pass
+a single FD for both @stdout_fd and @stderr_fd, and include it in
+@source_fds too).
+
+@source_fds and @target_fds allow zero or more FDs from this process to be
+remapped to different FDs in the spawned process. If @n_fds is greater than
+zero, @source_fds and @target_fds must both be non-%NULL and the same length.
+Each FD in @source_fds is remapped to the FD number at the same index in
+@target_fds. The source and target FD may be equal to simply propagate an FD
+to the spawned process. FD remappings are processed after standard FDs, so
+any target FDs which equal @stdin_fd, @stdout_fd or @stderr_fd will overwrite
+them in the spawned process.
+
+%G_SPAWN_FILE_AND_ARGV_ZERO means that the first element of @argv is
+the file to execute, while the remaining elements are the actual
+argument vector to pass to the file. Normally g_spawn_async_with_pipes()
+uses @argv[0] as the file to execute, and passes all of @argv to the child.
+
+@child_setup and @user_data are a function and user data. On POSIX
+platforms, the function is called in the child after GLib has
+performed all the setup it plans to perform (including creating
+pipes, closing file descriptors, etc.) but before calling `exec()`.
+That is, @child_setup is called just before calling `exec()` in the
+child. Obviously actions taken in this function will only affect
+the child, not the parent.
+
+On Windows, there is no separate `fork()` and `exec()` functionality.
+Child processes are created and run with a single API call,
+`CreateProcess()`. There is no sensible thing @child_setup
+could be used for on Windows so it is ignored and not called.
+
+If non-%NULL, @child_pid will on Unix be filled with the child's
+process ID. You can use the process ID to send signals to the child,
+or to use g_child_watch_add() (or `waitpid()`) if you specified the
+%G_SPAWN_DO_NOT_REAP_CHILD flag. On Windows, @child_pid will be
+filled with a handle to the child process only if you specified the
+%G_SPAWN_DO_NOT_REAP_CHILD flag. You can then access the child
+process using the Win32 API, for example wait for its termination
+with the `WaitFor*()` functions, or examine its exit code with
+`GetExitCodeProcess()`. You should close the handle with `CloseHandle()`
+or g_spawn_close_pid() when you no longer need it.
+
+If non-%NULL, the @stdin_pipe_out, @stdout_pipe_out, @stderr_pipe_out
+locations will be filled with file descriptors for writing to the child's
+standard input or reading from its standard output or standard error.
+The caller of g_spawn_async_with_pipes() must close these file descriptors
+when they are no longer in use. If these parameters are %NULL, the
+corresponding pipe won't be created.
+
+If @stdin_pipe_out is %NULL, the child's standard input is attached to
+`/dev/null` unless %G_SPAWN_CHILD_INHERITS_STDIN is set.
+
+If @stderr_pipe_out is NULL, the child's standard error goes to the same
+location as the parent's standard error unless %G_SPAWN_STDERR_TO_DEV_NULL
+is set.
+
+If @stdout_pipe_out is NULL, the child's standard output goes to the same
+location as the parent's standard output unless %G_SPAWN_STDOUT_TO_DEV_NULL
+is set.
+
+@error can be %NULL to ignore errors, or non-%NULL to report errors.
+If an error is set, the function returns %FALSE. Errors are reported
+even if they occur in the child (for example if the executable in
+`@argv[0]` is not found). Typically the `message` field of returned
+errors should be displayed to users. Possible errors are those from
+the #G_SPAWN_ERROR domain.
+
+If an error occurs, @child_pid, @stdin_pipe_out, @stdout_pipe_out,
+and @stderr_pipe_out will not be filled with valid values.
+
+If @child_pid is not %NULL and an error does not occur then the returned
+process reference must be closed using g_spawn_close_pid().
+
+On modern UNIX platforms, GLib can use an efficient process launching
+codepath driven internally by `posix_spawn()`. This has the advantage of
+avoiding the fork-time performance costs of cloning the parent process
+address space, and avoiding associated memory overcommit checks that are
+not relevant in the context of immediately executing a distinct process.
+This optimized codepath will be used provided that the following conditions
+are met:
+
+1. %G_SPAWN_DO_NOT_REAP_CHILD is set
+2. %G_SPAWN_LEAVE_DESCRIPTORS_OPEN is set
+3. %G_SPAWN_SEARCH_PATH_FROM_ENVP is not set
+4. @working_directory is %NULL
+5. @child_setup is %NULL
+6. The program is of a recognised binary format, or has a shebang.
+Otherwise, GLib will have to execute the program through the
+shell, which is not done using the optimized codepath.
+
+If you are writing a GTK application, and the program you are spawning is a
+graphical application too, then to ensure that the spawned program opens its
+windows on the right screen, you may want to use #GdkAppLaunchContext,
+#GAppLaunchContext, or set the `DISPLAY` environment variable.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="working_directory">
+<parameter_description> child's current working
+directory, or %NULL to inherit parent's, in the GLib file name encoding
+</parameter_description>
+</parameter>
+<parameter name="argv">
+<parameter_description> child's argument
+vector, in the GLib file name encoding
+</parameter_description>
+</parameter>
+<parameter name="envp">
+<parameter_description>
+child's environment, or %NULL to inherit parent's, in the GLib file
+name encoding
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> flags from #GSpawnFlags
+</parameter_description>
+</parameter>
+<parameter name="child_setup">
+<parameter_description> function to run in the child just before `exec()`
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data for @child_setup
+</parameter_description>
+</parameter>
+<parameter name="stdin_fd">
+<parameter_description> file descriptor to use for child's stdin, or `-1`
+</parameter_description>
+</parameter>
+<parameter name="stdout_fd">
+<parameter_description> file descriptor to use for child's stdout, or `-1`
+</parameter_description>
+</parameter>
+<parameter name="stderr_fd">
+<parameter_description> file descriptor to use for child's stderr, or `-1`
+</parameter_description>
+</parameter>
+<parameter name="source_fds">
+<parameter_description> array of FDs from the parent
+process to make available in the child process
+</parameter_description>
+</parameter>
+<parameter name="target_fds">
+<parameter_description> array of FDs to remap
+@source_fds to in the child process
+</parameter_description>
+</parameter>
+<parameter name="n_fds">
+<parameter_description> number of FDs in @source_fds and @target_fds
+</parameter_description>
+</parameter>
+<parameter name="child_pid_out">
+<parameter_description> return location for child process ID, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="stdin_pipe_out">
+<parameter_description> return location for file descriptor to write to child's stdin, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="stdout_pipe_out">
+<parameter_description> return location for file descriptor to read child's stdout, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="stderr_pipe_out">
+<parameter_description> return location for file descriptor to read child's stderr, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success, %FALSE if an error was set
+
+</return>
+</function>
+
 <function name="g_spawn_check_exit_status">
 <description>
-Set @error if @exit_status indicates the child exited abnormally
+An old name for g_spawn_check_wait_status(), deprecated because its
+name is misleading.
+
+Despite the name of the function, @wait_status must be the wait status
+as returned by g_spawn_sync(), g_subprocess_get_status(), `waitpid()`,
+etc. On Unix platforms, it is incorrect for it to be the exit status
+as passed to `exit()` or returned by g_subprocess_get_exit_status() or
+`WEXITSTATUS()`.
+
+Since: 2.34
+
+Deprecated: 2.70: Use g_spawn_check_wait_status() instead, and check whether your code is conflating wait 
and exit statuses.
+
+</description>
+<parameters>
+<parameter name="wait_status">
+<parameter_description> A status as returned from g_spawn_sync()
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a #GError
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if child exited successfully, %FALSE otherwise (and
+@error will be set)
+
+</return>
+</function>
+
+<function name="g_spawn_check_wait_status">
+<description>
+Set @error if @wait_status indicates the child exited abnormally
 (e.g. with a nonzero exit code, or via a fatal signal).
 
-The g_spawn_sync() and g_child_watch_add() family of APIs return an
-exit status for subprocesses encoded in a platform-specific way.
+The g_spawn_sync() and g_child_watch_add() family of APIs return the
+status of subprocesses encoded in a platform-specific way.
 On Unix, this is guaranteed to be in the same format waitpid() returns,
 and on Windows it is guaranteed to be the result of GetExitCodeProcess().
 
 Prior to the introduction of this function in GLib 2.34, interpreting
-@exit_status required use of platform-specific APIs, which is problematic
+@wait_status required use of platform-specific APIs, which is problematic
 for software using GLib as a cross-platform layer.
 
 Additionally, many programs simply want to determine whether or not
 the child exited successfully, and either propagate a #GError or
 print a message to standard error. In that common case, this function
 can be used. Note that the error message in @error will contain
-human-readable information about the exit status.
+human-readable information about the wait status.
 
 The @domain and @code of @error have special semantics in the case
 where the process has an &quot;exit code&quot;, as opposed to being killed by
 a signal. On Unix, this happens if WIFEXITED() would be true of
-@exit_status. On Windows, it is always the case.
+@wait_status. On Windows, it is always the case.
 
 The special semantics are that the actual exit code will be the
 code set in @error, and the domain will be %G_SPAWN_EXIT_ERROR.
 This allows you to differentiate between different exit codes.
 
 If the process was terminated by some means other than an exit
-status, the domain will be %G_SPAWN_ERROR, and the code will be
-%G_SPAWN_ERROR_FAILED.
+status (for example if it was killed by a signal), the domain will be
+%G_SPAWN_ERROR and the code will be %G_SPAWN_ERROR_FAILED.
 
 This function just offers convenience; you can of course also check
 the available platform via a macro such as %G_OS_UNIX, and use
-WIFEXITED() and WEXITSTATUS() on @exit_status directly. Do not attempt
+WIFEXITED() and WEXITSTATUS() on @wait_status directly. Do not attempt
 to scan or parse the error message string; it may be translated and/or
 change in future versions of GLib.
 
-Since: 2.34
+Prior to version 2.70, g_spawn_check_exit_status() provides the same
+functionality, although under a misleading name.
+
+Since: 2.70
 
 </description>
 <parameters>
-<parameter name="exit_status">
-<parameter_description> An exit code as returned from g_spawn_sync()
+<parameter name="wait_status">
+<parameter_description> A platform-specific wait status as returned from g_spawn_sync()
 </parameter_description>
 </parameter>
 <parameter name="error">
@@ -47742,8 +48604,9 @@ though it doesn't do anything under UNIX.
 <function name="g_spawn_command_line_async">
 <description>
 A simple version of g_spawn_async() that parses a command line with
-g_shell_parse_argv() and passes it to g_spawn_async(). Runs a
-command line in the background. Unlike g_spawn_async(), the
+g_shell_parse_argv() and passes it to g_spawn_async().
+
+Runs a command line in the background. Unlike g_spawn_async(), the
 %G_SPAWN_SEARCH_PATH flag is enabled, other flags are not. Note
 that %G_SPAWN_SEARCH_PATH can have security implications, so
 consider using g_spawn_async() directly if appropriate. Possible
@@ -47770,17 +48633,24 @@ The same concerns on Windows apply as for g_spawn_command_line_sync().
 <function name="g_spawn_command_line_sync">
 <description>
 A simple version of g_spawn_sync() with little-used parameters
-removed, taking a command line instead of an argument vector.  See
-g_spawn_sync() for full details. @command_line will be parsed by
-g_shell_parse_argv(). Unlike g_spawn_sync(), the %G_SPAWN_SEARCH_PATH flag
-is enabled. Note that %G_SPAWN_SEARCH_PATH can have security
-implications, so consider using g_spawn_sync() directly if
-appropriate. Possible errors are those from g_spawn_sync() and those
+removed, taking a command line instead of an argument vector.
+
+See g_spawn_sync() for full details.
+
+The @command_line argument will be parsed by g_shell_parse_argv().
+
+Unlike g_spawn_sync(), the %G_SPAWN_SEARCH_PATH flag is enabled.
+Note that %G_SPAWN_SEARCH_PATH can have security implications, so
+consider using g_spawn_sync() directly if appropriate.
+
+Possible errors are those from g_spawn_sync() and those
 from g_shell_parse_argv().
 
-If @exit_status is non-%NULL, the platform-specific exit status of
+If @wait_status is non-%NULL, the platform-specific status of
 the child is stored there; see the documentation of
-g_spawn_check_exit_status() for how to use and interpret this.
+g_spawn_check_wait_status() for how to use and interpret this.
+On Unix platforms, note that it is usually not equal
+to the integer passed to `exit()` or returned from `main()`.
 
 On Windows, please note the implications of g_shell_parse_argv()
 parsing @command_line. Parsing is done according to Unix shell rules, not 
@@ -47807,8 +48677,8 @@ separator. You need to enclose such paths with single quotes, like
 <parameter_description> return location for child errors
 </parameter_description>
 </parameter>
-<parameter name="exit_status">
-<parameter_description> return location for child exit status, as returned by waitpid()
+<parameter name="wait_status">
+<parameter_description> return location for child wait status, as returned by waitpid()
 </parameter_description>
 </parameter>
 <parameter name="error">
@@ -47823,20 +48693,24 @@ separator. You need to enclose such paths with single quotes, like
 <function name="g_spawn_sync">
 <description>
 Executes a child synchronously (waits for the child to exit before returning).
+
 All output from the child is stored in @standard_output and @standard_error,
 if those parameters are non-%NULL. Note that you must set the  
 %G_SPAWN_STDOUT_TO_DEV_NULL and %G_SPAWN_STDERR_TO_DEV_NULL flags when
 passing %NULL for @standard_output and @standard_error.
 
-If @exit_status is non-%NULL, the platform-specific exit status of
+If @wait_status is non-%NULL, the platform-specific status of
 the child is stored there; see the documentation of
-g_spawn_check_exit_status() for how to use and interpret this.
+g_spawn_check_wait_status() for how to use and interpret this.
+On Unix platforms, note that it is usually not equal
+to the integer passed to `exit()` or returned from `main()`.
+
 Note that it is invalid to pass %G_SPAWN_DO_NOT_REAP_CHILD in
 @flags, and on POSIX platforms, the same restrictions as for
 g_child_watch_source_new() apply.
 
 If an error occurs, no data is returned in @standard_output,
-@standard_error, or @exit_status.
+@standard_error, or @wait_status.
 
 This function calls g_spawn_async_with_pipes() internally; see that
 function for full details on the other parameters and details on
@@ -47880,8 +48754,8 @@ child's environment, or %NULL to inherit parent's
 <parameter_description> return location for child error messages, or %NULL
 </parameter_description>
 </parameter>
-<parameter name="exit_status">
-<parameter_description> return location for child exit status, as returned by waitpid(), or %NULL
+<parameter name="wait_status">
+<parameter_description> return location for child wait status, as returned by waitpid(), or %NULL
 </parameter_description>
 </parameter>
 <parameter name="error">
@@ -48485,6 +49359,33 @@ Deprecated: 2.32: Use g_rw_lock_writer_unlock() instead
 <return></return>
 </function>
 
+<function name="g_steal_fd">
+<description>
+Sets @fd_ptr to `-1`, returning the value that was there before.
+
+Conceptually, this transfers the ownership of the file descriptor
+from the referenced variable to the caller of the function (i.e.
+‘steals’ the reference). This is very similar to g_steal_pointer(),
+but for file descriptors.
+
+On POSIX platforms, this function is async-signal safe
+(see [`signal(7)`](man:signal(7)) and
+[`signal-safety(7)`](man:signal-safety(7))), making it safe to call from a
+signal handler or a #GSpawnChildSetupFunc.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="fd_ptr">
+<parameter_description> A pointer to a file descriptor
+</parameter_description>
+</parameter>
+</parameters>
+<return> the value that @fd_ptr previously had
+</return>
+</function>
+
 <function name="g_steal_pointer">
 <description>
 Sets @pp to %NULL, returning the value that was there before.
@@ -48821,14 +49722,17 @@ return location for ASCII alternates
 <function name="g_strcanon">
 <description>
 For each character in @string, if the character is not in @valid_chars,
-replaces the character with @substitutor. Modifies @string in place,
-and return @string itself, not a copy. The return value is to allow
-nesting such as
+replaces the character with @substitutor.
+
+Modifies @string in place, and return @string itself, not a copy. The
+return value is to allow nesting such as:
+
 |[&lt;!-- language=&quot;C&quot; --&gt;
 g_ascii_strup (g_strcanon (str, &quot;abc&quot;, '?'))
 ]|
 
-In order to modify a copy, you may use `g_strdup()`:
+In order to modify a copy, you may use g_strdup():
+
 |[&lt;!-- language=&quot;C&quot; --&gt;
 reformatted = g_strcanon (g_strdup (const_str), &quot;abc&quot;, '?');
 ...
@@ -48851,7 +49755,7 @@ g_free (reformatted);
 </parameter_description>
 </parameter>
 </parameters>
-<return> @string
+<return> the modified @string
 </return>
 </function>
 
@@ -49003,15 +49907,19 @@ often requires the pieces to be reordered.
 <function name="g_strdelimit">
 <description>
 Converts any delimiter characters in @string to @new_delimiter.
+
 Any characters in @string which are found in @delimiters are
 changed to the @new_delimiter character. Modifies @string in place,
-and returns @string itself, not a copy. The return value is to
-allow nesting such as
+and returns @string itself, not a copy.
+
+The return value is to allow nesting such as:
+
 |[&lt;!-- language=&quot;C&quot; --&gt;
 g_ascii_strup (g_strdelimit (str, &quot;abc&quot;, '?'))
 ]|
 
-In order to modify a copy, you may use `g_strdup()`:
+In order to modify a copy, you may use g_strdup():
+
 |[&lt;!-- language=&quot;C&quot; --&gt;
 reformatted = g_strdelimit (g_strdup (const_str), &quot;abc&quot;, '?');
 ...
@@ -49035,7 +49943,7 @@ or %NULL to use the standard delimiters defined in #G_STR_DELIMITERS
 </parameter_description>
 </parameter>
 </parameters>
-<return> @string
+<return> the modified @string
 </return>
 </function>
 
@@ -50110,6 +51018,45 @@ to contain the results. The previous contents of the
 <return></return>
 </function>
 
+<function name="g_string_replace">
+<description>
+Replaces the string @find with the string @replace in a #GString up to
+@limit times. If the number of instances of @find in the #GString is
+less than @limit, all instances are replaced. If @limit is `0`,
+all instances of @find are replaced.
+
+If @find is the empty string, since versions 2.69.1 and 2.68.4 the
+replacement will be inserted no more than once per possible position
+(beginning of string, end of string and between characters). This did
+not work correctly in earlier versions.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="string">
+<parameter_description> a #GString
+</parameter_description>
+</parameter>
+<parameter name="find">
+<parameter_description> the string to find in @string
+</parameter_description>
+</parameter>
+<parameter name="replace">
+<parameter_description> the string to insert in place of @find
+</parameter_description>
+</parameter>
+<parameter name="limit">
+<parameter_description> the maximum instances of @find to replace with @replace, or `0` for
+no limit
+</parameter_description>
+</parameter>
+</parameters>
+<return> the number of find and replace operations performed.
+
+</return>
+</function>
+
 <function name="g_string_set_size">
 <description>
 Sets the length of a #GString. If the length is less than
@@ -50145,8 +51092,7 @@ too often.
 </description>
 <parameters>
 <parameter name="dfl_size">
-<parameter_description> the default size of the space allocated to
-hold the string
+<parameter_description> the default size of the space allocated to hold the string
 </parameter_description>
 </parameter>
 </parameters>
@@ -50575,7 +51521,8 @@ to @haystack_len.
 </parameter_description>
 </parameter>
 <parameter name="haystack_len">
-<parameter_description> the maximum length of @haystack
+<parameter_description> the maximum length of @haystack in bytes. A length of -1
+can be used to mean &quot;search the entire string&quot;, like g_strrstr().
 </parameter_description>
 </parameter>
 <parameter name="needle">
@@ -50709,13 +51656,12 @@ to @haystack_len.
 </description>
 <parameters>
 <parameter name="haystack">
-<parameter_description> a string
+<parameter_description> a nul-terminated string
 </parameter_description>
 </parameter>
 <parameter name="haystack_len">
-<parameter_description> the maximum length of @haystack. Note that -1 is
-a valid length, if @haystack is nul-terminated, meaning it will
-search through the whole string.
+<parameter_description> the maximum length of @haystack in bytes. A length of -1
+can be used to mean &quot;search the entire string&quot;, like `strstr()`.
 </parameter_description>
 </parameter>
 <parameter name="needle">
@@ -50796,6 +51742,139 @@ or g_utf8_strup() instead.
 </return>
 </function>
 
+<function name="g_strv_builder_add">
+<description>
+Add a string to the end of the array.
+
+Since 2.68
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GStrvBuilder
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> a string.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_strv_builder_add_many">
+<description>
+Appends all the given strings to the builder.
+
+Since 2.70
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GStrvBuilder
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> one or more strings followed by %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_strv_builder_addv">
+<description>
+Appends all the strings in the given vector to the builder.
+
+Since 2.70
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GStrvBuilder
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the vector of strings to add
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_strv_builder_end">
+<description>
+Ends the builder process and returns the constructed NULL-terminated string
+array. The returned value should be freed with g_strfreev() when no longer
+needed.
+
+Since 2.68
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GStrvBuilder
+</parameter_description>
+</parameter>
+</parameters>
+<return> the constructed string array.
+
+</return>
+</function>
+
+<function name="g_strv_builder_new">
+<description>
+Creates a new #GStrvBuilder with a reference count of 1.
+Use g_strv_builder_unref() on the returned value when no longer needed.
+
+Since: 2.68
+
+</description>
+<parameters>
+</parameters>
+<return> the new #GStrvBuilder
+
+</return>
+</function>
+
+<function name="g_strv_builder_ref">
+<description>
+Atomically increments the reference count of @builder by one.
+This function is thread-safe and may be called from any thread.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GStrvBuilder
+</parameter_description>
+</parameter>
+</parameters>
+<return> The passed in #GStrvBuilder
+
+</return>
+</function>
+
+<function name="g_strv_builder_unref">
+<description>
+Decreases the reference count on @builder.
+
+In the event that there are no more references, releases all memory
+associated with the #GStrvBuilder.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="builder">
+<parameter_description> a #GStrvBuilder allocated by g_strv_builder_new()
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_strv_contains">
 <description>
 Checks if @strv contains @str. @strv must not be %NULL.
@@ -51025,18 +52104,22 @@ Since: 2.34
 <description>
 This function adds a message to test reports that
 associates a bug URI with a test case.
+
 Bug URIs are constructed from a base URI set with g_test_bug_base()
 and @bug_uri_snippet. If g_test_bug_base() has not been called, it is
 assumed to be the empty string, so a full URI can be provided to
 g_test_bug() instead.
 
+Since GLib 2.70, the base URI is not prepended to @bug_uri_snippet if it
+is already a valid URI.
+
 Since: 2.16
 See also: g_test_summary()
 
 </description>
 <parameters>
 <parameter name="bug_uri_snippet">
-<parameter_description> Bug specific bug tracker URI portion.
+<parameter_description> Bug specific bug tracker URI or URI portion.
 </parameter_description>
 </parameter>
 </parameters>
@@ -51055,7 +52138,7 @@ a test case changes the base URI for the scope of the test
 case only.
 Bug URIs are constructed by appending a bug specific URI
 portion to @uri_pattern, or by replacing the special string
-'\%s' within @uri_pattern if that is present.
+`%s` within @uri_pattern if that is present.
 
 If g_test_bug_base() is not called, bug URIs are formed solely
 from the value provided by g_test_bug().
@@ -51119,6 +52202,22 @@ Since: 2.38
 </return>
 </function>
 
+<function name="g_test_case_free">
+<description>
+Free the @test_case.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="test_case">
+<parameter_description> a #GTestCase
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_test_create_case">
 <description>
 Create a new #GTestCase, named @test_name.
@@ -51264,6 +52363,12 @@ the test.
 
 If not called from inside a test, this function does nothing.
 
+Note that unlike g_test_skip() and g_test_incomplete(), this
+function does not log a message alongside the test failure.
+If details of the test failure are available, either log them with
+g_test_message() before g_test_fail(), or use g_test_fail_printf()
+instead.
+
 Since: 2.30
 
 </description>
@@ -51272,6 +52377,27 @@ Since: 2.30
 <return></return>
 </function>
 
+<function name="g_test_fail_printf">
+<description>
+Equivalent to g_test_fail(), but also record a message like
+g_test_skip_printf().
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="format">
+<parameter_description> the format string
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description>    printf-like arguments to @format
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_test_failed">
 <description>
 Returns whether a test has already failed. This will
@@ -51354,6 +52480,25 @@ Since: 2.38
 </return>
 </function>
 
+<function name="g_test_get_path">
+<description>
+Gets the test path for the test currently being run.
+
+In essence, it will be the same string passed as the first argument to
+e.g. g_test_add() when the test was added.
+
+This function returns a valid string only within a test function.
+
+Since: 2.68
+
+</description>
+<parameters>
+</parameters>
+<return> the test path for the test currently being run
+
+</return>
+</function>
+
 <function name="g_test_get_root">
 <description>
 Get the toplevel test suite for the test path API.
@@ -51393,6 +52538,27 @@ Since: 2.38
 <return></return>
 </function>
 
+<function name="g_test_incomplete_printf">
+<description>
+Equivalent to g_test_incomplete(), but the explanation is formatted
+as if by g_strdup_printf().
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="format">
+<parameter_description> the format string
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description>    printf-like arguments to @format
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_test_init">
 <description>
 Initialize the GLib testing framework, e.g. by seeding the
@@ -51966,6 +53132,27 @@ Since: 2.38
 <return></return>
 </function>
 
+<function name="g_test_skip_printf">
+<description>
+Equivalent to g_test_skip(), but the explanation is formatted
+as if by g_strdup_printf().
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="format">
+<parameter_description> the format string
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description>    printf-like arguments to @format
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_test_slow">
 <description>
 Returns %TRUE if tests are run in slow mode.
@@ -52040,6 +53227,22 @@ Since: 2.16
 <return></return>
 </function>
 
+<function name="g_test_suite_free">
+<description>
+Free the @suite and all nested #GTestSuites.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="suite">
+<parameter_description> a #GTestSuite
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_test_summary">
 <description>
 Set the summary for a test, which describes what the test checks, and how it
@@ -52411,8 +53614,12 @@ Returns %TRUE if tests may provoke assertions and other formally-undefined
 behaviour, to verify that appropriate warnings are given. It might, in some
 cases, be useful to turn this off with if running tests under valgrind;
 in tests that use g_test_init(), the option `-m no-undefined` disables
-those tests, while `-m undefined` explicitly enables them (the default
-behaviour).
+those tests, while `-m undefined` explicitly enables them (normally
+the default behaviour).
+
+Since GLib 2.68, if GLib was compiled with gcc or clang and
+[AddressSanitizer](https://github.com/google/sanitizers/wiki/AddressSanitizer)
+is enabled, the default changes to not exercising undefined behaviour.
 
 
 </description>
@@ -52914,6 +54121,50 @@ in  the new thread pool, -1 means no limit
 </return>
 </function>
 
+<function name="g_thread_pool_new_full">
+<description>
+This function creates a new thread pool similar to g_thread_pool_new()
+but allowing @item_free_func to be specified to free the data passed
+to g_thread_pool_push() in the case that the #GThreadPool is stopped
+and freed before all tasks have been executed.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="func">
+<parameter_description> a function to execute in the threads of the new thread pool
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data that is handed over to @func every time it
+is called
+</parameter_description>
+</parameter>
+<parameter name="item_free_func">
+<parameter_description> used to pass as a free function to
+g_async_queue_new_full()
+</parameter_description>
+</parameter>
+<parameter name="max_threads">
+<parameter_description> the maximal number of threads to execute concurrently
+in the new thread pool, `-1` means no limit
+</parameter_description>
+</parameter>
+<parameter name="exclusive">
+<parameter_description> should this thread pool be exclusive?
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> return location for error, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GThreadPool
+
+</return>
+</function>
+
 <function name="g_thread_pool_push">
 <description>
 Inserts @data into the list of tasks to be executed by @pool.
@@ -53549,7 +54800,33 @@ Since: 2.26
 
 <function name="g_time_zone_new">
 <description>
-Creates a #GTimeZone corresponding to @identifier.
+A version of g_time_zone_new_identifier() which returns the UTC time zone
+if @identifier could not be parsed or loaded.
+
+If you need to check whether @identifier was loaded successfully, use
+g_time_zone_new_identifier().
+
+Deprecated: 2.68: Use g_time_zone_new_identifier() instead, as it provides
+error reporting. Change your code to handle a potentially %NULL return
+value.
+
+Since: 2.26
+
+</description>
+<parameters>
+<parameter name="identifier">
+<parameter_description> a timezone identifier
+</parameter_description>
+</parameter>
+</parameters>
+<return> the requested timezone
+</return>
+</function>
+
+<function name="g_time_zone_new_identifier">
+<description>
+Creates a #GTimeZone corresponding to @identifier. If @identifier cannot be
+parsed or loaded, %NULL is returned.
 
 @identifier can either be an RFC3339/ISO 8601 time offset or
 something that would pass as a valid value for the `TZ` environment
@@ -53614,7 +54891,7 @@ for the list of time zones on Windows.
 You should release the return value by calling g_time_zone_unref()
 when you are done with it.
 
-Since: 2.26
+Since: 2.68
 
 </description>
 <parameters>
@@ -53623,8 +54900,8 @@ Since: 2.26
 </parameter_description>
 </parameter>
 </parameters>
-<return> the requested timezone
-
+<return> the requested timezone, or %NULL on
+failure
 </return>
 </function>
 
@@ -53728,10 +55005,12 @@ Since: 2.26
 <function name="g_timeout_add">
 <description>
 Sets a function to be called at regular intervals, with the default
-priority, #G_PRIORITY_DEFAULT.  The function is called repeatedly
-until it returns %FALSE, at which point the timeout is automatically
-destroyed and the function will not be called again.  The first call
-to the function will be at the end of the first @interval.
+priority, %G_PRIORITY_DEFAULT.
+
+The given @function is called repeatedly until it returns %G_SOURCE_REMOVE
+or %FALSE, at which point the timeout is automatically destroyed and the
+function will not be called again. The first call to the function will be
+at the end of the first @interval.
 
 Note that timeout functions may be delayed, due to the processing of other
 event sources. Thus they should not be relied on for precise timing.
@@ -53771,7 +55050,7 @@ time.  See g_get_monotonic_time().
 </parameter_description>
 </parameter>
 <parameter name="data">
-<parameter_description>     data to pass to @function
+<parameter_description> data to pass to @function
 </parameter_description>
 </parameter>
 </parameters>
@@ -53811,7 +55090,7 @@ See g_get_monotonic_time().
 <parameters>
 <parameter name="priority">
 <parameter_description> the priority of the timeout source. Typically this will be in
-the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
+the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
 </parameter_description>
 </parameter>
 <parameter name="interval">
@@ -53824,7 +55103,7 @@ the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
 </parameter_description>
 </parameter>
 <parameter name="data">
-<parameter_description>     data to pass to @function
+<parameter_description> data to pass to @function
 </parameter_description>
 </parameter>
 <parameter name="notify">
@@ -53839,8 +55118,10 @@ the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
 <function name="g_timeout_add_seconds">
 <description>
 Sets a function to be called at regular intervals with the default
-priority, #G_PRIORITY_DEFAULT. The function is called repeatedly until
-it returns %FALSE, at which point the timeout is automatically destroyed
+priority, %G_PRIORITY_DEFAULT.
+
+The function is called repeatedly until it returns %G_SOURCE_REMOVE
+or %FALSE, at which point the timeout is automatically destroyed
 and the function will not be called again.
 
 This internally creates a main loop source using
@@ -53885,17 +55166,18 @@ Since: 2.14
 <function name="g_timeout_add_seconds_full">
 <description>
 Sets a function to be called at regular intervals, with @priority.
-The function is called repeatedly until it returns %FALSE, at which
-point the timeout is automatically destroyed and the function will
-not be called again.
+
+The function is called repeatedly until it returns %G_SOURCE_REMOVE
+or %FALSE, at which point the timeout is automatically destroyed and
+the function will not be called again.
 
 Unlike g_timeout_add(), this function operates at whole second granularity.
 The initial starting point of the timer is determined by the implementation
 and the implementation is expected to group multiple timers together so that
-they fire all at the same time.
-To allow this grouping, the @interval to the first timer is rounded
-and can deviate up to one second from the specified interval.
-Subsequent timer iterations will generally run at the specified interval.
+they fire all at the same time. To allow this grouping, the @interval to the
+first timer is rounded and can deviate up to one second from the specified
+interval. Subsequent timer iterations will generally run at the specified
+interval.
 
 Note that timeout functions may be delayed, due to the processing of other
 event sources. Thus they should not be relied on for precise timing.
@@ -53929,7 +55211,7 @@ Since: 2.14
 <parameters>
 <parameter name="priority">
 <parameter_description> the priority of the timeout source. Typically this will be in
-the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
+the range between %G_PRIORITY_DEFAULT and %G_PRIORITY_HIGH.
 </parameter_description>
 </parameter>
 <parameter name="interval">
@@ -53941,7 +55223,7 @@ the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
 </parameter_description>
 </parameter>
 <parameter name="data">
-<parameter_description>     data to pass to @function
+<parameter_description> data to pass to @function
 </parameter_description>
 </parameter>
 <parameter name="notify">
@@ -54266,6 +55548,38 @@ If this function returns %TRUE, the traversal is stopped.
 <return></return>
 </function>
 
+<function name="g_tree_foreach_node">
+<description>
+Calls the given function for each of the nodes in the #GTree.
+The function is passed the pointer to the particular node, and the given
+@data parameter. The tree traversal happens in-order.
+
+The tree may not be modified while iterating over it (you can't
+add/remove items). To remove all items matching a predicate, you need
+to add each item to a list in your #GTraverseFunc as you walk over
+the tree, then walk the list and remove each item.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GTree
+</parameter_description>
+</parameter>
+<parameter name="func">
+<parameter_description> the function to call for each node visited.
+If this function returns %TRUE, the traversal is stopped.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data to pass to the function
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_tree_height">
 <description>
 Gets the height of a #GTree.
@@ -54290,6 +55604,31 @@ If the root node has children the height is 2, etc.
 <description>
 Inserts a key/value pair into a #GTree.
 
+Inserts a new key and value into a #GTree as g_tree_insert_node() does,
+only this function does not return the inserted or set node.
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GTree
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> the key to insert
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the value corresponding to the key
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_tree_insert_node">
+<description>
+Inserts a key/value pair into a #GTree.
+
 If the given key already exists in the #GTree its corresponding value
 is set to the new value. If you supplied a @value_destroy_func when
 creating the #GTree, the old value is freed using that function. If
@@ -54302,6 +55641,8 @@ The cost of maintaining a balanced tree while inserting new key/value
 result in a O(n log(n)) operation where most of the other operations
 are O(log(n)).
 
+Since: 2.68
+
 </description>
 <parameters>
 <parameter name="tree">
@@ -54317,7 +55658,9 @@ are O(log(n)).
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the inserted (or set) node.
+
+</return>
 </function>
 
 <function name="g_tree_lookup">
@@ -54374,6 +55717,60 @@ g_tree_remove().
 </return>
 </function>
 
+<function name="g_tree_lookup_node">
+<description>
+Gets the tree node corresponding to the given key. Since a #GTree is
+automatically balanced as key/value pairs are added, key lookup
+is O(log n) (where n is the number of key/value pairs in the tree).
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GTree
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> the key to look up
+</parameter_description>
+</parameter>
+</parameters>
+<return> the tree node corresponding to
+the key, or %NULL if the key was not found
+
+</return>
+</function>
+
+<function name="g_tree_lower_bound">
+<description>
+Gets the lower bound node corresponding to the given key,
+or %NULL if the tree is empty or all the nodes in the tree
+have keys that are strictly lower than the searched key.
+
+The lower bound is the first node that has its key greater
+than or equal to the searched key.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GTree
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> the key to calculate the lower bound for
+</parameter_description>
+</parameter>
+</parameters>
+<return> the tree node corresponding to
+the lower bound, or %NULL if the tree is empty or has only
+keys strictly lower than the searched key.
+
+</return>
+</function>
+
 <function name="g_tree_new">
 <description>
 Creates a new #GTree.
@@ -54465,6 +55862,118 @@ Gets the number of nodes in a #GTree.
 </return>
 </function>
 
+<function name="g_tree_node_first">
+<description>
+Returns the first in-order node of the tree, or %NULL
+for an empty tree.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GTree
+</parameter_description>
+</parameter>
+</parameters>
+<return> the first node in the tree
+
+</return>
+</function>
+
+<function name="g_tree_node_key">
+<description>
+Gets the key stored at a particular tree node.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="node">
+<parameter_description> a #GTree node
+</parameter_description>
+</parameter>
+</parameters>
+<return> the key at the node.
+
+</return>
+</function>
+
+<function name="g_tree_node_last">
+<description>
+Returns the last in-order node of the tree, or %NULL
+for an empty tree.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GTree
+</parameter_description>
+</parameter>
+</parameters>
+<return> the last node in the tree
+
+</return>
+</function>
+
+<function name="g_tree_node_next">
+<description>
+Returns the next in-order node of the tree, or %NULL
+if the passed node was already the last one.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="node">
+<parameter_description> a #GTree node
+</parameter_description>
+</parameter>
+</parameters>
+<return> the next node in the tree
+
+</return>
+</function>
+
+<function name="g_tree_node_previous">
+<description>
+Returns the previous in-order node of the tree, or %NULL
+if the passed node was already the first one.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="node">
+<parameter_description> a #GTree node
+</parameter_description>
+</parameter>
+</parameters>
+<return> the previous node in the tree
+
+</return>
+</function>
+
+<function name="g_tree_node_value">
+<description>
+Gets the value stored at a particular tree node.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="node">
+<parameter_description> a #GTree node
+</parameter_description>
+</parameter>
+</parameters>
+<return> the value at the node.
+
+</return>
+</function>
+
 <function name="g_tree_ref">
 <description>
 Increments the reference count of @tree by one.
@@ -54515,9 +56024,49 @@ returned nothing)
 </return>
 </function>
 
+<function name="g_tree_remove_all">
+<description>
+Removes all nodes from a #GTree and destroys their keys and values,
+then resets the #GTree’s root to %NULL.
+
+Since: 2.70
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GTree
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_tree_replace">
 <description>
-Inserts a new key and value into a #GTree similar to g_tree_insert().
+Inserts a new key and value into a #GTree as g_tree_replace_node() does,
+only this function does not return the inserted or set node.
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GTree
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> the key to insert
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the value corresponding to the key
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_tree_replace_node">
+<description>
+Inserts a new key and value into a #GTree similar to g_tree_insert_node().
 The difference is that if the key already exists in the #GTree, it gets 
 replaced by the new key. If you supplied a @value_destroy_func when 
 creating the #GTree, the old value is freed using that function. If you 
@@ -54527,6 +56076,8 @@ freed using that function.
 The tree is automatically 'balanced' as new key/value pairs are added,
 so that the distance from the root to every leaf is as small as possible.
 
+Since: 2.68
+
 </description>
 <parameters>
 <parameter name="tree">
@@ -54542,7 +56093,9 @@ so that the distance from the root to every leaf is as small as possible.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> the inserted (or set) node.
+
+</return>
 </function>
 
 <function name="g_tree_search">
@@ -54578,6 +56131,41 @@ if the key was not found
 </return>
 </function>
 
+<function name="g_tree_search_node">
+<description>
+Searches a #GTree using @search_func.
+
+The @search_func is called with a pointer to the key of a key/value
+pair in the tree, and the passed in @user_data. If @search_func returns
+0 for a key/value pair, then the corresponding node is returned as
+the result of g_tree_search(). If @search_func returns -1, searching
+will proceed among the key/value pairs that have a smaller key; if
+@search_func returns 1, searching will proceed among the key/value
+pairs that have a larger key.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GTree
+</parameter_description>
+</parameter>
+<parameter name="search_func">
+<parameter_description> a function used to search the #GTree
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> the data passed as the second argument to @search_func
+</parameter_description>
+</parameter>
+</parameters>
+<return> the node corresponding to the
+found key, or %NULL if the key was not found
+
+</return>
+</function>
+
 <function name="g_tree_steal">
 <description>
 Removes a key and its associated value from a #GTree without calling 
@@ -54656,6 +56244,35 @@ Since: 2.22
 <return></return>
 </function>
 
+<function name="g_tree_upper_bound">
+<description>
+Gets the upper bound node corresponding to the given key,
+or %NULL if the tree is empty or all the nodes in the tree
+have keys that are lower than or equal to the searched key.
+
+The upper bound is the first node that has its key strictly greater
+than the searched key.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="tree">
+<parameter_description> a #GTree
+</parameter_description>
+</parameter>
+<parameter name="key">
+<parameter_description> the key to calculate the upper bound for
+</parameter_description>
+</parameter>
+</parameters>
+<return> the tree node corresponding to the
+upper bound, or %NULL if the tree is empty or has only keys
+lower than or equal to the searched key.
+
+</return>
+</function>
+
 <function name="g_try_malloc">
 <description>
 Attempts to allocate @n_bytes, and returns %NULL on failure.
@@ -54994,14 +56611,14 @@ is initialized
 
 <function name="g_type_add_interface_dynamic">
 <description>
-Adds @interface_type to the dynamic @instantiable_type. The information
+Adds @interface_type to the dynamic @instance_type. The information
 contained in the #GTypePlugin structure pointed to by @plugin
 is used to manage the relationship.
 
 </description>
 <parameters>
 <parameter name="instance_type">
-<parameter_description> #GType value of an instantiable type
+<parameter_description> #GType value of an instantiatable type
 </parameter_description>
 </parameter>
 <parameter name="interface_type">
@@ -55018,14 +56635,14 @@ is used to manage the relationship.
 
 <function name="g_type_add_interface_static">
 <description>
-Adds @interface_type to the static @instantiable_type.
+Adds @interface_type to the static @instance_type.
 The information contained in the #GInterfaceInfo structure
 pointed to by @info is used to manage the relationship.
 
 </description>
 <parameters>
 <parameter name="instance_type">
-<parameter_description> #GType value of an instantiable type
+<parameter_description> #GType value of an instantiatable type
 </parameter_description>
 </parameter>
 <parameter name="interface_type">
@@ -55692,6 +57309,29 @@ interface @interface_type of @instance_type
 </return>
 </function>
 
+<function name="g_type_interface_instantiatable_prerequisite">
+<description>
+Returns the most specific instantiatable prerequisite of an
+interface type. If the interface type has no instantiatable
+prerequisite, %G_TYPE_INVALID is returned.
+
+See g_type_interface_add_prerequisite() for more information
+about prerequisites.
+
+Since: 2.68
+
+</description>
+<parameters>
+<parameter name="interface_type">
+<parameter_description> an interface type
+</parameter_description>
+</parameter>
+</parameters>
+<return> the instantiatable prerequisite type or %G_TYPE_INVALID if none
+
+</return>
+</function>
+
 <function name="g_type_interface_peek">
 <description>
 Returns the #GTypeInterface structure of an interface to which the
@@ -55795,11 +57435,11 @@ whether @type conforms to it.
 </description>
 <parameters>
 <parameter name="type">
-<parameter_description> type to check anchestry for
+<parameter_description> type to check ancestry for
 </parameter_description>
 </parameter>
 <parameter name="is_a_type">
-<parameter_description> possible anchestor of @type or interface that @type
+<parameter_description> possible ancestor of @type or interface that @type
 could conform to
 </parameter_description>
 </parameter>
@@ -56042,7 +57682,7 @@ not be passed in and will most likely lead to a crash.
 <function name="g_type_next_base">
 <description>
 Given a @leaf_type and a @root_type which is contained in its
-anchestry, return the type that @root_type is the immediate parent
+ancestry, return the type that @root_type is the immediate parent
 of. In other words, this function determines the type that is
 derived directly from @root_type which is also a base class of
 @leaf_type.  Given a root type and a leaf type, this function can
@@ -56061,7 +57701,7 @@ descended from the root type.
 </parameter_description>
 </parameter>
 </parameters>
-<return> immediate child of @root_type and anchestor of @leaf_type
+<return> immediate child of @root_type and ancestor of @leaf_type
 </return>
 </function>
 
@@ -56095,7 +57735,7 @@ function outside of the GObject type system itself.
 </parameter_description>
 </parameter>
 <parameter name="instance_type">
-<parameter_description> the #GType of an instantiable type to which the interface
+<parameter_description> the #GType of an instantiatable type to which the interface
 is added
 </parameter_description>
 </parameter>
@@ -59525,10 +61165,15 @@ then the string is nul-terminated.
 
 <function name="g_utf8_next_char">
 <description>
-Skips to the next character in a UTF-8 string. The string must be
-valid; this macro is as fast as possible, and has no error-checking.
-You would use this macro to iterate over a string character by
-character. The macro returns the start of the next UTF-8 character.
+Skips to the next character in a UTF-8 string.
+
+The string must be valid; this macro is as fast as possible, and has
+no error-checking.
+
+You would use this macro to iterate over a string character by character.
+
+The macro returns the start of the next UTF-8 character.
+
 Before using this macro, use g_utf8_validate() to validate strings
 that may contain invalid UTF-8.
 
@@ -60439,8 +62084,8 @@ reference count.
 </parameter_description>
 </parameter>
 </parameters>
-<return> #GParamSpec content of @value, should be unreferenced when
-no longer needed.
+<return> #GParamSpec content of @value, should be
+unreferenced when no longer needed.
 </return>
 </function>
 
@@ -61337,6 +62982,7 @@ Since: 2.32
 <function name="g_value_set_static_boxed">
 <description>
 Set the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed.
+
 The boxed value is assumed to be static, and is thus not duplicated
 when setting the #GValue.
 
@@ -61379,7 +63025,7 @@ is more appropriate.
 
 <function name="g_value_set_string">
 <description>
-Set the contents of a %G_TYPE_STRING #GValue to @v_string.
+Set the contents of a %G_TYPE_STRING #GValue to a copy of @v_string.
 
 </description>
 <parameters>
@@ -62937,7 +64583,7 @@ g_variant_unref() when you're done with it.
 
 Note that values borrowed from the returned child are not guaranteed to
 still be valid after the child is freed even if you still hold a reference
-to @value, if @value has not been serialised at the time this function is
+to @value, if @value has not been serialized at the time this function is
 called. To avoid this, you can serialize @value by calling
 g_variant_get_data() and optionally ignoring the return value.
 
@@ -62968,31 +64614,31 @@ Since: 2.24
 
 <function name="g_variant_get_data">
 <description>
-Returns a pointer to the serialised form of a #GVariant instance.
+Returns a pointer to the serialized form of a #GVariant instance.
 The returned data may not be in fully-normalised form if read from an
 untrusted source.  The returned data must not be freed; it remains
 valid for as long as @value exists.
 
-If @value is a fixed-sized value that was deserialised from a
-corrupted serialised container then %NULL may be returned.  In this
+If @value is a fixed-sized value that was deserialized from a
+corrupted serialized container then %NULL may be returned.  In this
 case, the proper thing to do is typically to use the appropriate
 number of nul bytes in place of @value.  If @value is not fixed-sized
 then %NULL is never returned.
 
-In the case that @value is already in serialised form, this function
-is O(1).  If the value is not already in serialised form,
-serialisation occurs implicitly and is approximately O(n) in the size
+In the case that @value is already in serialized form, this function
+is O(1).  If the value is not already in serialized form,
+serialization occurs implicitly and is approximately O(n) in the size
 of the result.
 
-To deserialise the data returned by this function, in addition to the
-serialised data, you must know the type of the #GVariant, and (if the
+To deserialize the data returned by this function, in addition to the
+serialized data, you must know the type of the #GVariant, and (if the
 machine might be different) the endianness of the machine that stored
 it. As a result, file formats or network messages that incorporate
-serialised #GVariants must include this information either
+serialized #GVariants must include this information either
 implicitly (for instance &quot;the file always contains a
 %G_VARIANT_TYPE_VARIANT and it is always in little-endian order&quot;) or
 explicitly (by storing the type and/or endianness in addition to the
-serialised data).
+serialized data).
 
 Since: 2.24
 
@@ -63003,14 +64649,14 @@ Since: 2.24
 </parameter_description>
 </parameter>
 </parameters>
-<return> the serialised form of @value, or %NULL
+<return> the serialized form of @value, or %NULL
 
 </return>
 </function>
 
 <function name="g_variant_get_data_as_bytes">
 <description>
-Returns a pointer to the serialised form of a #GVariant instance.
+Returns a pointer to the serialized form of a #GVariant instance.
 The semantics of this function are exactly the same as
 g_variant_get_data(), except that the returned #GBytes holds
 a reference to the variant data.
@@ -63052,7 +64698,7 @@ Since: 2.24
 
 <function name="g_variant_get_fixed_array">
 <description>
-Provides access to the serialised data for an array of fixed-sized
+Provides access to the serialized data for an array of fixed-sized
 items.
 
 @value must be an array with fixed-sized elements.  Numeric types are
@@ -63060,7 +64706,7 @@ fixed-size, as are tuples containing only other fixed-sized types.
 
 @element_size must be the size of a single element in the array,
 as given by the section on
-[serialized data memory][gvariant-serialised-data-memory].
+[serialized data memory][gvariant-serialized-data-memory].
 
 In particular, arrays of these fixed-sized types can be interpreted
 as an array of the given C type, with @element_size set to the size
@@ -63073,7 +64719,7 @@ the appropriate type:
 
 For example, if calling this function for an array of 32-bit integers,
 you might say `sizeof(gint32)`. This value isn't used except for the purpose
-of a double-check that the form of the serialised data matches the caller's
+of a double-check that the form of the serialized data matches the caller's
 expectation.
 
 @n_elements, which must be non-%NULL, is set equal to the number of
@@ -63225,7 +64871,7 @@ If @value is found not to be in normal form then a new trusted
 #GVariant is created with the same value as @value.
 
 It makes sense to call this function if you've received #GVariant
-data from untrusted sources and you want to ensure your serialised
+data from untrusted sources and you want to ensure your serialized
 output is definitely in normal form.
 
 If @value is already in normal form, a new reference will be returned
@@ -63288,7 +64934,7 @@ with g_variant_store().
 If @value has a fixed-sized type then this function always returned
 that fixed size.
 
-In the case that @value is already in serialised form or the size has
+In the case that @value is already in serialized form or the size has
 already been calculated (ie: this function has been called before)
 then this function is O(1).  Otherwise, the size is calculated, an
 operation which is approximately O(n) in the number of values
@@ -63303,7 +64949,7 @@ Since: 2.24
 </parameter_description>
 </parameter>
 </parameters>
-<return> the serialised size of @value
+<return> the serialized size of @value
 
 </return>
 </function>
@@ -63629,7 +65275,7 @@ Since: 2.26
 Checks if @value is in normal form.
 
 The main reason to do this is to detect if a given chunk of
-serialised data is in normal form: load the data into a #GVariant
+serialized data is in normal form: load the data into a #GVariant
 using g_variant_new_from_data() and then use this function to
 check.
 
@@ -64388,7 +66034,7 @@ fixed-size as are tuples containing only other fixed-sized types.
 @element_size must be the size of a single element in the array.
 For example, if calling this function for an array of 32-bit integers,
 you might say sizeof(gint32). This value isn't used except for the purpose
-of a double-check that the form of the serialised data matches the caller's
+of a double-check that the form of the serialized data matches the caller's
 expectation.
 
 @n_elements must be the length of the @elements array.
@@ -64421,8 +66067,8 @@ Since: 2.32
 
 <function name="g_variant_new_from_bytes">
 <description>
-Constructs a new serialised-mode #GVariant instance.  This is the
-inner interface for creation of new serialised values that gets
+Constructs a new serialized-mode #GVariant instance.  This is the
+inner interface for creation of new serialized values that gets
 called from various functions in gvariant.c.
 
 A reference is taken on @bytes.
@@ -64455,7 +66101,7 @@ Since: 2.36
 
 <function name="g_variant_new_from_data">
 <description>
-Creates a new #GVariant instance from serialised data.
+Creates a new #GVariant instance from serialized data.
 
 @type is the type of #GVariant instance that will be constructed.
 The interpretation of @data depends on knowing the type.
@@ -64465,8 +66111,8 @@ unchanging value until such a time as @notify is called with
 @user_data.  If the contents of @data change before that time then
 the result is undefined.
 
-If @data is trusted to be serialised data in normal form then
-@trusted should be %TRUE.  This applies to serialised data created
+If @data is trusted to be serialized data in normal form then
+@trusted should be %TRUE.  This applies to serialized data created
 within this process or read from a trusted location on the disk (such
 as a file installed in /usr/lib alongside your application).  You
 should set trusted to %FALSE if @data is read from the network, a
@@ -64494,7 +66140,7 @@ Since: 2.24
 </parameter_description>
 </parameter>
 <parameter name="data">
-<parameter_description> the serialised data
+<parameter_description> the serialized data
 </parameter_description>
 </parameter>
 <parameter name="size">
@@ -65300,15 +66946,15 @@ Since: 2.24
 
 <function name="g_variant_store">
 <description>
-Stores the serialised form of @value at @data.  @data should be
+Stores the serialized form of @value at @data.  @data should be
 large enough.  See g_variant_get_size().
 
 The stored data is in machine native byte order but may not be in
 fully-normalised form if read from an untrusted source.  See
 g_variant_get_normal_form() for a solution.
 
-As with g_variant_get_data(), to be able to deserialise the
-serialised variant successfully, its type and (if the destination
+As with g_variant_get_data(), to be able to deserialize the
+serialized variant successfully, its type and (if the destination
 machine might be different) its endianness must also be available.
 
 This function is approximately O(n) in the size of @data.
@@ -65322,7 +66968,7 @@ Since: 2.24
 </parameter_description>
 </parameter>
 <parameter name="data">
-<parameter_description> the location to store the serialised data at
+<parameter_description> the location to store the serialized data at
 </parameter_description>
 </parameter>
 </parameters>
@@ -66211,7 +67857,7 @@ terminating nul character).
 </parameter>
 <parameter name="format">
 <parameter_description> a standard printf() format string, but notice 
-string precision pitfalls][string-precision]
+[string precision pitfalls][string-precision]
 </parameter_description>
 </parameter>
 <parameter name="args">
@@ -67176,18 +68822,19 @@ against at application run time.
 <function name="glib_check_version">
 <description>
 Checks that the GLib library in use is compatible with the
-given version. Generally you would pass in the constants
-#GLIB_MAJOR_VERSION, #GLIB_MINOR_VERSION, #GLIB_MICRO_VERSION
-as the three arguments to this function; that produces
-a check that the library in use is compatible with
-the version of GLib the application or module was compiled
-against.
+given version.
+
+Generally you would pass in the constants %GLIB_MAJOR_VERSION,
+%GLIB_MINOR_VERSION, %GLIB_MICRO_VERSION as the three arguments
+to this function; that produces a check that the library in use
+is compatible with the version of GLib the application or module
+was compiled against.
 
 Compatibility is defined by two things: first the version
 of the running library is newer than the version
-@required_major.required_minor.@required_micro. Second
+`@required_major.required_minor.@required_micro`. Second
 the running library must be binary compatible with the
-version @required_major.required_minor.@required_micro
+version `@required_major.@required_minor.@required_micro`
 (same major version.)
 
 Since: 2.6
@@ -67207,10 +68854,10 @@ Since: 2.6
 </parameter_description>
 </parameter>
 </parameters>
-<return> %NULL if the GLib library is compatible with the
-given version, or a string describing the version mismatch.
-The returned string is owned by GLib and must not be modified
-or freed.
+<return> %NULL if the GLib library is
+compatible with the given version, or a string describing the
+version mismatch. The returned string is owned by GLib and must
+not be modified or freed.
 
 </return>
 </function>
diff --git a/glib/src/glib_enums.defs b/glib/src/glib_enums.defs
index 454345d0..417fdbab 100644
--- a/glib/src/glib_enums.defs
+++ b/glib/src/glib_enums.defs
@@ -429,7 +429,7 @@
     '("is-writeable" "G_IO_FLAG_IS_WRITEABLE" "1 << 3")
     '("is-seekable" "G_IO_FLAG_IS_SEEKABLE" "1 << 4")
     '("mask" "G_IO_FLAG_MASK" "(1 << 5) - 1")
-    '("get-mask" "G_IO_FLAG_GET_MASK" "0x1F")
+    '("get-mask" "G_IO_FLAG_GET_MASK" "0x1f")
     '("set-mask" "G_IO_FLAG_SET_MASK" "0x3")
   )
 )
@@ -620,7 +620,7 @@
     '("level-message" "G_LOG_LEVEL_MESSAGE" "1 << 5")
     '("level-info" "G_LOG_LEVEL_INFO" "1 << 6")
     '("level-debug" "G_LOG_LEVEL_DEBUG" "1 << 7")
-    '("level-mask" "G_LOG_LEVEL_MASK" "0xFFFFFFFFFFFFFFFC")
+    '("level-mask" "G_LOG_LEVEL_MASK" "-0x4")
   )
 )
 
@@ -1546,6 +1546,7 @@
 ;;   G_UNICODE_BREAK_HANGUL_LV_SYLLABLE,
 ;;   G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE,
 ;;   G_UNICODE_BREAK_CLOSE_PARANTHESIS,
+;;   G_UNICODE_BREAK_CLOSE_PARENTHESIS GLIB_AVAILABLE_ENUMERATOR_IN_2_70 = G_UNICODE_BREAK_CLOSE_PARANTHESIS,
 ;;   G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER,
 ;;   G_UNICODE_BREAK_HEBREW_LETTER,
 ;;   G_UNICODE_BREAK_REGIONAL_INDICATOR,
@@ -1595,6 +1596,7 @@
     '("hangul-lv-syllable" "G_UNICODE_BREAK_HANGUL_LV_SYLLABLE" "34")
     '("hangul-lvt-syllable" "G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE" "35")
     '("close-paranthesis" "G_UNICODE_BREAK_CLOSE_PARANTHESIS" "36")
+    '("close-parenthesis" "G_UNICODE_BREAK_CLOSE_PARENTHESIS" "36")
     '("conditional-japanese-starter" "G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER" "37")
     '("hebrew-letter" "G_UNICODE_BREAK_HEBREW_LETTER" "38")
     '("regional-indicator" "G_UNICODE_BREAK_REGIONAL_INDICATOR" "39")
@@ -2000,6 +2002,7 @@
 ;;   G_URI_FLAGS_ENCODED_QUERY   = 1 << 5,
 ;;   G_URI_FLAGS_ENCODED_PATH    = 1 << 6,
 ;;   G_URI_FLAGS_ENCODED_FRAGMENT = 1 << 7,
+;;   G_URI_FLAGS_SCHEME_NORMALIZE GLIB_AVAILABLE_ENUMERATOR_IN_2_68 = 1 << 8,
 ;; } GUriFlags;
 
 (define-flags-extended UriFlags
@@ -2015,6 +2018,7 @@
     '("encoded-query" "G_URI_FLAGS_ENCODED_QUERY" "1 << 5")
     '("encoded-path" "G_URI_FLAGS_ENCODED_PATH" "1 << 6")
     '("encoded-fragment" "G_URI_FLAGS_ENCODED_FRAGMENT" "1 << 7")
+    '("scheme-normalize" "G_URI_FLAGS_SCHEME_NORMALIZE" "1 << 8")
   )
 )
 
diff --git a/glib/src/glib_extra_objects.defs b/glib/src/glib_extra_objects.defs
index 2171e9e0..0bf01b3b 100644
--- a/glib/src/glib_extra_objects.defs
+++ b/glib/src/glib_extra_objects.defs
@@ -6,6 +6,12 @@
 ; that are mentioned in documentation text.
 ; (DocsParser.pm:substitute_function(), which uses GtkDefs.pm:lookup_object().)
 
+(define-object Binding
+  (in-module "Glib")
+  (c-name "GBinding")
+  (gtype-id "G_TYPE_BINDING")
+)
+
 (define-object ByteArray
   (in-module "Glib")
   (c-name "GByteArray")
diff --git a/glib/src/glib_functions.defs b/glib/src/glib_functions.defs
index 1aea12c9..7e209657 100644
--- a/glib/src/glib_functions.defs
+++ b/glib/src/glib_functions.defs
@@ -826,6 +826,7 @@
     '("hangul-lv-syllable" "G_UNICODE_BREAK_HANGUL_LV_SYLLABLE")
     '("hangul-lvt-syllable" "G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE")
     '("close-paranthesis" "G_UNICODE_BREAK_CLOSE_PARANTHESIS")
+    '("close-parenthesis" "G_UNICODE_BREAK_CLOSE_PARENTHESIS")
     '("conditional-japanese-starter" "G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER")
     '("hebrew-letter" "G_UNICODE_BREAK_HEBREW_LETTER")
     '("regional-indicator" "G_UNICODE_BREAK_REGIONAL_INDICATOR")
@@ -1031,6 +1032,7 @@
     '("encoded-query" "G_URI_FLAGS_ENCODED_QUERY")
     '("encoded-path" "G_URI_FLAGS_ENCODED_PATH")
     '("encoded-fragment" "G_URI_FLAGS_ENCODED_FRAGMENT")
+    '("scheme-normalize" "G_URI_FLAGS_SCHEME_NORMALIZE")
   )
 )
 
@@ -2967,6 +2969,17 @@
   )
 )
 
+(define-method get_region
+  (of-object "GBytes")
+  (c-name "g_bytes_get_region")
+  (return-type "gconstpointer")
+  (parameters
+    '("gsize" "element_size")
+    '("gsize" "offset")
+    '("gsize" "n_elements")
+  )
+)
+
 
 
 ;; From gcharset.h
@@ -4350,6 +4363,30 @@
 
 ;; From gerror.h
 
+(define-function g_error_domain_register_static
+  (c-name "g_error_domain_register_static")
+  (return-type "GQuark")
+  (parameters
+    '("const-char*" "error_type_name")
+    '("gsize" "error_type_private_size")
+    '("GErrorInitFunc" "error_type_init")
+    '("GErrorCopyFunc" "error_type_copy")
+    '("GErrorClearFunc" "error_type_clear")
+  )
+)
+
+(define-function g_error_domain_register
+  (c-name "g_error_domain_register")
+  (return-type "GQuark")
+  (parameters
+    '("const-char*" "error_type_name")
+    '("gsize" "error_type_private_size")
+    '("GErrorInitFunc" "error_type_init")
+    '("GErrorCopyFunc" "error_type_copy")
+    '("GErrorClearFunc" "error_type_clear")
+  )
+)
+
 (define-function g_error_new
   (c-name "g_error_new")
   (is-constructor-of "GError")
@@ -4455,6 +4492,15 @@
   (varargs #t)
 )
 
+(define-function g_prefix_error_literal
+  (c-name "g_prefix_error_literal")
+  (return-type "none")
+  (parameters
+    '("GError**" "err")
+    '("const-gchar*" "prefix")
+  )
+)
+
 (define-function g_propagate_prefixed_error
   (c-name "g_propagate_prefixed_error")
   (return-type "none")
@@ -6445,6 +6491,11 @@
   (return-type "none")
 )
 
+(define-function g_error_init
+  (c-name "g_error_init")
+  (return-type "none")
+)
+
 (define-function g_thread_win32_process_detach
   (c-name "g_thread_win32_process_detach")
   (return-type "none")
@@ -6511,6 +6562,10 @@
 
 
 
+;; From glib-typeof.h
+
+
+
 ;; From glib-unix.h
 
 (define-function g_unix_error_quark
@@ -7270,6 +7325,15 @@
   )
 )
 
+(define-method set_static_name
+  (of-object "GSource")
+  (c-name "g_source_set_static_name")
+  (return-type "none")
+  (parameters
+    '("const-char*" "name")
+  )
+)
+
 (define-method get_name
   (of-object "GSource")
   (c-name "g_source_get_name")
@@ -8157,6 +8221,23 @@
   )
 )
 
+(define-function g_log_writer_default_set_use_stderr
+  (c-name "g_log_writer_default_set_use_stderr")
+  (return-type "none")
+  (parameters
+    '("gboolean" "use_stderr")
+  )
+)
+
+(define-function g_log_writer_default_would_drop
+  (c-name "g_log_writer_default_would_drop")
+  (return-type "gboolean")
+  (parameters
+    '("GLogLevelFlags" "log_level")
+    '("const-char*" "log_domain")
+  )
+)
+
 (define-function g_return_if_fail_warning
   (c-name "g_return_if_fail_warning")
   (return-type "none")
@@ -8179,18 +8260,6 @@
   )
 )
 
-(define-function g_assert_warning
-  (c-name "g_assert_warning")
-  (return-type "none")
-  (parameters
-    '("const-char*" "log_domain")
-    '("const-char*" "file")
-    '("const-int" "line")
-    '("const-char*" "pretty_function")
-    '("const-char*" "expression")
-  )
-)
-
 (define-function g_log_structured_standard
   (c-name "g_log_structured_standard")
   (return-type "none")
@@ -8205,8 +8274,8 @@
   (varargs #t)
 )
 
-(define-function g_error
-  (c-name "g_error")
+(define-function g_critical
+  (c-name "g_critical")
   (return-type "none")
   (parameters
     '("const-gchar*" "format")
@@ -8214,8 +8283,8 @@
   (varargs #t)
 )
 
-(define-function g_critical
-  (c-name "g_critical")
+(define-function g_error
+  (c-name "g_error")
   (return-type "none")
   (parameters
     '("const-gchar*" "format")
@@ -8797,6 +8866,12 @@
   (return-type "none")
 )
 
+(define-method copy
+  (of-object "GPatternSpec")
+  (c-name "g_pattern_spec_copy")
+  (return-type "GPatternSpec*")
+)
+
 (define-method equal
   (of-object "GPatternSpec")
   (c-name "g_pattern_spec_equal")
@@ -8806,6 +8881,26 @@
   )
 )
 
+(define-method match
+  (of-object "GPatternSpec")
+  (c-name "g_pattern_spec_match")
+  (return-type "gboolean")
+  (parameters
+    '("gsize" "string_length")
+    '("const-gchar*" "string")
+    '("const-gchar*" "string_reversed")
+  )
+)
+
+(define-method match_string
+  (of-object "GPatternSpec")
+  (c-name "g_pattern_spec_match_string")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "string")
+  )
+)
+
 (define-function g_pattern_match
   (c-name "g_pattern_match")
   (return-type "gboolean")
@@ -11019,6 +11114,30 @@
   )
 )
 
+(define-function g_spawn_async_with_pipes_and_fds
+  (c-name "g_spawn_async_with_pipes_and_fds")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "working_directory")
+    '("const-gchar*-const*" "argv")
+    '("const-gchar*-const*" "envp")
+    '("GSpawnFlags" "flags")
+    '("GSpawnChildSetupFunc" "child_setup")
+    '("gpointer" "user_data")
+    '("gint" "stdin_fd")
+    '("gint" "stdout_fd")
+    '("gint" "stderr_fd")
+    '("const-gint*" "source_fds")
+    '("const-gint*" "target_fds")
+    '("gsize" "n_fds")
+    '("GPid*" "child_pid_out")
+    '("gint*" "stdin_pipe_out")
+    '("gint*" "stdout_pipe_out")
+    '("gint*" "stderr_pipe_out")
+    '("GError**" "error")
+  )
+)
+
 (define-function g_spawn_async_with_fds
   (c-name "g_spawn_async_with_fds")
   (return-type "gboolean")
@@ -11049,7 +11168,7 @@
     '("gpointer" "user_data")
     '("gchar**" "standard_output")
     '("gchar**" "standard_error")
-    '("gint*" "exit_status")
+    '("gint*" "wait_status")
     '("GError**" "error")
   )
 )
@@ -11061,7 +11180,7 @@
     '("const-gchar*" "command_line")
     '("gchar**" "standard_output")
     '("gchar**" "standard_error")
-    '("gint*" "exit_status")
+    '("gint*" "wait_status")
     '("GError**" "error")
   )
 )
@@ -11075,11 +11194,20 @@
   )
 )
 
+(define-function g_spawn_check_wait_status
+  (c-name "g_spawn_check_wait_status")
+  (return-type "gboolean")
+  (parameters
+    '("gint" "wait_status")
+    '("GError**" "error")
+  )
+)
+
 (define-function g_spawn_check_exit_status
   (c-name "g_spawn_check_exit_status")
   (return-type "gboolean")
   (parameters
-    '("gint" "exit_status")
+    '("gint" "wait_status")
     '("GError**" "error")
   )
 )
@@ -11636,6 +11764,15 @@
   )
 )
 
+(define-function g_memdup2
+  (c-name "g_memdup2")
+  (return-type "gpointer")
+  (parameters
+    '("gconstpointer" "mem")
+    '("gsize" "byte_size")
+  )
+)
+
 (define-function g_strsplit
   (c-name "g_strsplit")
   (return-type "gchar**")
@@ -12054,6 +12191,17 @@
   )
 )
 
+(define-method replace
+  (of-object "GString")
+  (c-name "g_string_replace")
+  (return-type "guint")
+  (parameters
+    '("const-gchar*" "find")
+    '("const-gchar*" "replace")
+    '("guint" "limit")
+  )
+)
+
 (define-method ascii_down
   (of-object "GString")
   (c-name "g_string_ascii_down")
@@ -12140,6 +12288,61 @@
 
 
 
+;; From gstrvbuilder.h
+
+(define-function g_strv_builder_new
+  (c-name "g_strv_builder_new")
+  (is-constructor-of "GStrvBuilder")
+  (return-type "GStrvBuilder*")
+)
+
+(define-method unref
+  (of-object "GStrvBuilder")
+  (c-name "g_strv_builder_unref")
+  (return-type "none")
+)
+
+(define-method ref
+  (of-object "GStrvBuilder")
+  (c-name "g_strv_builder_ref")
+  (return-type "GStrvBuilder*")
+)
+
+(define-method add
+  (of-object "GStrvBuilder")
+  (c-name "g_strv_builder_add")
+  (return-type "none")
+  (parameters
+    '("const-char*" "value")
+  )
+)
+
+(define-method addv
+  (of-object "GStrvBuilder")
+  (c-name "g_strv_builder_addv")
+  (return-type "none")
+  (parameters
+    '("const-char**" "value")
+  )
+)
+
+(define-method add_many
+  (of-object "GStrvBuilder")
+  (c-name "g_strv_builder_add_many")
+  (return-type "none")
+  (parameters
+  )
+  (varargs #t)
+)
+
+(define-method end
+  (of-object "GStrvBuilder")
+  (c-name "g_strv_builder_end")
+  (return-type "GStrv")
+)
+
+
+
 ;; From gtestutils.h
 
 (define-function g_strcmp0
@@ -12221,11 +12424,25 @@
   )
 )
 
+(define-function g_test_get_path
+  (c-name "g_test_get_path")
+  (return-type "const-char*")
+)
+
 (define-function g_test_fail
   (c-name "g_test_fail")
   (return-type "none")
 )
 
+(define-function g_test_fail_printf
+  (c-name "g_test_fail_printf")
+  (return-type "none")
+  (parameters
+    '("const-char*" "format")
+  )
+  (varargs #t)
+)
+
 (define-function g_test_incomplete
   (c-name "g_test_incomplete")
   (return-type "none")
@@ -12234,6 +12451,15 @@
   )
 )
 
+(define-function g_test_incomplete_printf
+  (c-name "g_test_incomplete_printf")
+  (return-type "none")
+  (parameters
+    '("const-char*" "format")
+  )
+  (varargs #t)
+)
+
 (define-function g_test_skip
   (c-name "g_test_skip")
   (return-type "none")
@@ -12242,6 +12468,15 @@
   )
 )
 
+(define-function g_test_skip_printf
+  (c-name "g_test_skip_printf")
+  (return-type "none")
+  (parameters
+    '("const-char*" "format")
+  )
+  (varargs #t)
+)
+
 (define-function g_test_failed
   (c-name "g_test_failed")
   (return-type "gboolean")
@@ -12426,6 +12661,18 @@
   )
 )
 
+(define-method free
+  (of-object "GTestCase")
+  (c-name "g_test_case_free")
+  (return-type "none")
+)
+
+(define-method free
+  (of-object "GTestSuite")
+  (c-name "g_test_suite_free")
+  (return-type "none")
+)
+
 (define-function g_test_trap_assertions
   (c-name "g_test_trap_assertions")
   (return-type "none")
@@ -12451,8 +12698,8 @@
   )
 )
 
-(define-function g_assertion_message_expr
-  (c-name "g_assertion_message_expr")
+(define-function g_assertion_message_cmpstr
+  (c-name "g_assertion_message_cmpstr")
   (return-type "none")
   (parameters
     '("const-char*" "domain")
@@ -12460,11 +12707,14 @@
     '("int" "line")
     '("const-char*" "func")
     '("const-char*" "expr")
+    '("const-char*" "arg1")
+    '("const-char*" "cmp")
+    '("const-char*" "arg2")
   )
 )
 
-(define-function g_assertion_message_cmpstr
-  (c-name "g_assertion_message_cmpstr")
+(define-function g_assertion_message_cmpstrv
+  (c-name "g_assertion_message_cmpstrv")
   (return-type "none")
   (parameters
     '("const-char*" "domain")
@@ -12472,9 +12722,9 @@
     '("int" "line")
     '("const-char*" "func")
     '("const-char*" "expr")
-    '("const-char*" "arg1")
-    '("const-char*" "cmp")
-    '("const-char*" "arg2")
+    '("const-char*-const*" "arg1")
+    '("const-char*-const*" "arg2")
+    '("gsize" "first_wrong_idx")
   )
 )
 
@@ -12912,6 +13162,19 @@
   )
 )
 
+(define-function g_thread_pool_new_full
+  (c-name "g_thread_pool_new_full")
+  (return-type "GThreadPool*")
+  (parameters
+    '("GFunc" "func")
+    '("gpointer" "user_data")
+    '("GDestroyNotify" "item_free_func")
+    '("gint" "max_threads")
+    '("gboolean" "exclusive")
+    '("GError**" "error")
+  )
+)
+
 (define-method free
   (of-object "GThreadPool")
   (c-name "g_thread_pool_free")
@@ -13115,6 +13378,14 @@
   )
 )
 
+(define-function g_time_zone_new_identifier
+  (c-name "g_time_zone_new_identifier")
+  (return-type "GTimeZone*")
+  (parameters
+    '("const-gchar*" "identifier")
+  )
+)
+
 (define-function g_time_zone_new_utc
   (c-name "g_time_zone_new_utc")
   (return-type "GTimeZone*")
@@ -13272,6 +13543,30 @@
   )
 )
 
+(define-method node_first
+  (of-object "GTree")
+  (c-name "g_tree_node_first")
+  (return-type "GTreeNode*")
+)
+
+(define-method node_last
+  (of-object "GTree")
+  (c-name "g_tree_node_last")
+  (return-type "GTreeNode*")
+)
+
+(define-method previous
+  (of-object "GTreeNode")
+  (c-name "g_tree_node_previous")
+  (return-type "GTreeNode*")
+)
+
+(define-method next
+  (of-object "GTreeNode")
+  (c-name "g_tree_node_next")
+  (return-type "GTreeNode*")
+)
+
 (define-method ref
   (of-object "GTree")
   (c-name "g_tree_ref")
@@ -13290,6 +13585,16 @@
   (return-type "none")
 )
 
+(define-method insert_node
+  (of-object "GTree")
+  (c-name "g_tree_insert_node")
+  (return-type "GTreeNode*")
+  (parameters
+    '("gpointer" "key")
+    '("gpointer" "value")
+  )
+)
+
 (define-method insert
   (of-object "GTree")
   (c-name "g_tree_insert")
@@ -13300,6 +13605,16 @@
   )
 )
 
+(define-method replace_node
+  (of-object "GTree")
+  (c-name "g_tree_replace_node")
+  (return-type "GTreeNode*")
+  (parameters
+    '("gpointer" "key")
+    '("gpointer" "value")
+  )
+)
+
 (define-method replace
   (of-object "GTree")
   (c-name "g_tree_replace")
@@ -13319,6 +13634,12 @@
   )
 )
 
+(define-method remove_all
+  (of-object "GTree")
+  (c-name "g_tree_remove_all")
+  (return-type "none")
+)
+
 (define-method steal
   (of-object "GTree")
   (c-name "g_tree_steal")
@@ -13328,6 +13649,27 @@
   )
 )
 
+(define-method key
+  (of-object "GTreeNode")
+  (c-name "g_tree_node_key")
+  (return-type "gpointer")
+)
+
+(define-method value
+  (of-object "GTreeNode")
+  (c-name "g_tree_node_value")
+  (return-type "gpointer")
+)
+
+(define-method lookup_node
+  (of-object "GTree")
+  (c-name "g_tree_lookup_node")
+  (return-type "GTreeNode*")
+  (parameters
+    '("gconstpointer" "key")
+  )
+)
+
 (define-method lookup
   (of-object "GTree")
   (c-name "g_tree_lookup")
@@ -13358,6 +13700,16 @@
   )
 )
 
+(define-method foreach_node
+  (of-object "GTree")
+  (c-name "g_tree_foreach_node")
+  (return-type "none")
+  (parameters
+    '("GTraverseNodeFunc" "func")
+    '("gpointer" "user_data")
+  )
+)
+
 (define-method traverse
   (of-object "GTree")
   (c-name "g_tree_traverse")
@@ -13369,6 +13721,16 @@
   )
 )
 
+(define-method search_node
+  (of-object "GTree")
+  (c-name "g_tree_search_node")
+  (return-type "GTreeNode*")
+  (parameters
+    '("GCompareFunc" "search_func")
+    '("gconstpointer" "user_data")
+  )
+)
+
 (define-method search
   (of-object "GTree")
   (c-name "g_tree_search")
@@ -13379,6 +13741,24 @@
   )
 )
 
+(define-method lower_bound
+  (of-object "GTree")
+  (c-name "g_tree_lower_bound")
+  (return-type "GTreeNode*")
+  (parameters
+    '("gconstpointer" "key")
+  )
+)
+
+(define-method upper_bound
+  (of-object "GTree")
+  (c-name "g_tree_upper_bound")
+  (return-type "GTreeNode*")
+  (parameters
+    '("gconstpointer" "key")
+  )
+)
+
 (define-method height
   (of-object "GTree")
   (c-name "g_tree_height")
@@ -13391,6 +13771,12 @@
   (return-type "gint")
 )
 
+(define-method dump
+  (of-object "GTree")
+  (c-name "g_tree_dump")
+  (return-type "none")
+)
+
 
 
 ;; From gtypes.h
@@ -14495,11 +14881,6 @@
   )
 )
 
-(define-function g_abort
-  (c-name "g_abort")
-  (return-type "none")
-)
-
 
 
 ;; From guuid.h
diff --git a/glib/src/gmodule_enums.defs b/glib/src/gmodule_enums.defs
index a5b3fe34..34f43f13 100644
--- a/glib/src/gmodule_enums.defs
+++ b/glib/src/gmodule_enums.defs
@@ -18,3 +18,20 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;; {
+;;   G_MODULE_ERROR_FAILED,
+;;   G_MODULE_ERROR_CHECK_FAILED,
+;; } GModuleError
+;; GLIB_AVAILABLE_ENUMERATOR_IN_2_70;
+
+(define-enum-extended LIB_AVAILABLE_ENUMERATOR_IN_2_70
+  (in-module "G")
+  (c-name "GLIB_AVAILABLE_ENUMERATOR_IN_2_70")
+  (values
+    '("failed" "G_MODULE_ERROR_FAILED" "0")
+    '("check-failed" "G_MODULE_ERROR_CHECK_FAILED" "1")
+  )
+)
+
diff --git a/glib/src/gmodule_functions.defs b/glib/src/gmodule_functions.defs
index 831b300f..9946995c 100644
--- a/glib/src/gmodule_functions.defs
+++ b/glib/src/gmodule_functions.defs
@@ -13,9 +13,24 @@
   )
 )
 
+(define-enum Error
+  (in-module "GModule")
+  (c-name "GModuleError")
+  (gtype-id "G_TYPE_MODULE_ERROR")
+  (values
+    '("failed" "G_MODULE_ERROR_FAILED")
+    '("check-failed" "G_MODULE_ERROR_CHECK_FAILED")
+  )
+)
+
 
 ;; From gmodule.h
 
+(define-function g_module_error_quark
+  (c-name "g_module_error_quark")
+  (return-type "GQuark")
+)
+
 (define-function g_module_supported
   (c-name "g_module_supported")
   (return-type "gboolean")
@@ -30,6 +45,16 @@
   )
 )
 
+(define-function g_module_open_full
+  (c-name "g_module_open_full")
+  (return-type "GModule*")
+  (parameters
+    '("const-gchar*" "file_name")
+    '("GModuleFlags" "flags")
+    '("GError**" "error")
+  )
+)
+
 (define-method close
   (of-object "GModule")
   (c-name "g_module_close")
diff --git a/glib/src/gobject_enums.defs b/glib/src/gobject_enums.defs
index aba1fbdf..2735545b 100644
--- a/glib/src/gobject_enums.defs
+++ b/glib/src/gobject_enums.defs
@@ -73,7 +73,9 @@
 ;;   G_SIGNAL_ACTION   = 1 << 5,
 ;;   G_SIGNAL_NO_HOOKS = 1 << 6,
 ;;   G_SIGNAL_MUST_COLLECT = 1 << 7,
-;;   G_SIGNAL_DEPRECATED   = 1 << 8
+;;   G_SIGNAL_DEPRECATED   = 1 << 8,
+;;   /* normal signal flags until 1 << 16 */
+;;   G_SIGNAL_ACCUMULATOR_FIRST_RUN    = 1 << 17,
 ;; } GSignalFlags;
 
 (define-flags-extended SignalFlags
@@ -89,6 +91,7 @@
     '("no-hooks" "G_SIGNAL_NO_HOOKS" "1 << 6")
     '("must-collect" "G_SIGNAL_MUST_COLLECT" "1 << 7")
     '("deprecated" "G_SIGNAL_DEPRECATED" "1 << 8")
+    '("accumulator-first-run" "G_SIGNAL_ACCUMULATOR_FIRST_RUN" "1 << 17")
   )
 )
 
@@ -179,8 +182,9 @@
 ;; Original typedef:
 ;; typedef enum    /*< skip >*/
 ;; {
-;;   G_TYPE_FLAG_ABSTRACT              = (1 << 4),
-;;   G_TYPE_FLAG_VALUE_ABSTRACT        = (1 << 5)
+;;   G_TYPE_FLAG_ABSTRACT = (1 << 4),
+;;   G_TYPE_FLAG_VALUE_ABSTRACT = (1 << 5),
+;;   G_TYPE_FLAG_FINAL GLIB_AVAILABLE_ENUMERATOR_IN_2_70 = (1 << 6)
 ;; } GTypeFlags;
 
 (define-flags-extended TypeFlags
@@ -189,6 +193,7 @@
   (values
     '("abstract" "G_TYPE_FLAG_ABSTRACT" "(1 << 4)")
     '("value-abstract" "G_TYPE_FLAG_VALUE_ABSTRACT" "(1 << 5)")
+    '("final" "G_TYPE_FLAG_FINAL" "(1 << 6)")
   )
 )
 
diff --git a/glib/src/gobject_functions.defs b/glib/src/gobject_functions.defs
index 66fabf5a..d28ee7f5 100644
--- a/glib/src/gobject_functions.defs
+++ b/glib/src/gobject_functions.defs
@@ -61,6 +61,7 @@
     '("no-hooks" "G_SIGNAL_NO_HOOKS")
     '("must-collect" "G_SIGNAL_MUST_COLLECT")
     '("deprecated" "G_SIGNAL_DEPRECATED")
+    '("accumulator-first-run" "G_SIGNAL_ACCUMULATOR_FIRST_RUN")
   )
 )
 
@@ -120,6 +121,7 @@
   (values
     '("abstract" "G_TYPE_FLAG_ABSTRACT")
     '("value-abstract" "G_TYPE_FLAG_VALUE_ABSTRACT")
+    '("final" "G_TYPE_FLAG_FINAL")
   )
 )
 
@@ -152,12 +154,24 @@
   (return-type "GObject*")
 )
 
+(define-method dup_source
+  (of-object "GBinding")
+  (c-name "g_binding_dup_source")
+  (return-type "GObject*")
+)
+
 (define-method get_target
   (of-object "GBinding")
   (c-name "g_binding_get_target")
   (return-type "GObject*")
 )
 
+(define-method dup_target
+  (of-object "GBinding")
+  (c-name "g_binding_dup_target")
+  (return-type "GObject*")
+)
+
 (define-method get_source_property
   (of-object "GBinding")
   (c-name "g_binding_get_source_property")
@@ -779,6 +793,16 @@
   (return-type "GType")
 )
 
+(define-function g_tree_get_type
+  (c-name "g_tree_get_type")
+  (return-type "GType")
+)
+
+(define-function g_pattern_spec_get_type
+  (c-name "g_pattern_spec_get_type")
+  (return-type "GType")
+)
+
 (define-function g_variant_get_gtype
   (c-name "g_variant_get_gtype")
   (return-type "GType")
@@ -1664,6 +1688,14 @@
   )
 )
 
+(define-function g_object_take_ref
+  (c-name "g_object_take_ref")
+  (return-type "gpointer")
+  (parameters
+    '("gpointer" "object")
+  )
+)
+
 (define-function g_object_ref
   (c-name "g_object_ref")
   (return-type "gpointer")
@@ -3329,6 +3361,12 @@
   )
 )
 
+(define-method interface_instantiatable_prerequisite
+  (of-object "GType")
+  (c-name "g_type_interface_instantiatable_prerequisite")
+  (return-type "GType")
+)
+
 (define-function g_type_class_add_private
   (c-name "g_type_class_add_private")
   (return-type "none")


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]