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



commit caa976b18d289603c3ea0a2dc526e93e11903e22
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Mon Dec 11 09:52:50 2017 +0100

    Glib, Gio: Regenerate docs.xml and .defs files
    
    * glib/src/glib_docs_override.xml: Add some <substitute_enumerator_name>
    elements.
    * tools/extra_defs_gen/generate_defs_gio.cc: Add an initial call to
    get_defs(G_TYPE_APPLICATION) to make sure the first call to get_defs()
    requests info on a GObject, not a GInterface.

 gio/src/gio_docs.xml                      | 1668 +++++++++++++++++++++++++++--
 gio/src/gio_enums.defs                    |    4 +-
 gio/src/gio_methods.defs                  |  524 +++++++++-
 gio/src/gio_signals.defs                  |   10 +-
 glib/src/glib_docs.xml                    | 1321 +++++++++++++++++++----
 glib/src/glib_docs_override.xml           |    3 +
 glib/src/glib_enums.defs                  |   85 ++-
 glib/src/glib_functions.defs              |  383 +++----
 glib/src/gmodule_functions.defs           |   15 -
 glib/src/gobject_enums.defs               |    5 +-
 glib/src/gobject_functions.defs           |   55 +-
 tools/extra_defs_gen/generate_defs_gio.cc |    5 +
 12 files changed, 3458 insertions(+), 620 deletions(-)
---
diff --git a/gio/src/gio_docs.xml b/gio/src/gio_docs.xml
index 239e443..38ba91c 100644
--- a/gio/src/gio_docs.xml
+++ b/gio/src/gio_docs.xml
@@ -519,6 +519,11 @@ Since: 2.26
 specified #G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT, then take the name from the other connection.
 </parameter_description>
 </parameter>
+<parameter name="G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE">
+<parameter_description> If another message bus connection owns the name, immediately
+return an error from g_bus_own_name() rather than entering the waiting queue for that name. (Since 2.54)
+</parameter_description>
+</parameter>
 </parameters>
 </enum>
 
@@ -1659,7 +1664,8 @@ Since: 2.30
 </parameter_description>
 </parameter>
 <parameter name="invalidated_properties">
-<parameter_description> A %NULL terminated array of properties that was invalidated.
+<parameter_description> A %NULL terminated
+array of properties that were invalidated.
 </parameter_description>
 </parameter>
 </parameters>
@@ -2125,7 +2131,7 @@ This flag is only meaningful in proxies for well-known names.
 </parameter_description>
 </parameter>
 <parameter name="G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES">
-<parameter_description> If set, the property value for any &lt;emphasis&gt;invalidated 
property&lt;/emphasis&gt; will be (asynchronously) retrieved upon receiving the &lt;ulink 
url=&quot;http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties&quot;&gt;PropertiesChanged&lt;/ulink&gt;
 D-Bus signal and the property will not cause emission of the #GDBusProxy::g-properties-changed signal. When 
the value is received the #GDBusProxy::g-properties-changed signal is emitted for the property along with the 
retrieved value. Since 2.32.
+<parameter_description> If set, the property value for any __invalidated property__ will be (asynchronously) 
retrieved upon receiving the 
[`PropertiesChanged`](http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties) 
D-Bus signal and the property will not cause emission of the #GDBusProxy::g-properties-changed signal. When 
the value is received the #GDBusProxy::g-properties-changed signal is emitted for the property along with the 
retrieved value. Since 2.32.
 </parameter_description>
 </parameter>
 <parameter name="G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION">
@@ -2666,7 +2672,7 @@ Since: 2.48
 <description>
 The certificate database to use when verifying this TLS connection.
 If no certificate database is set, then the default database will be
-used. See g_dtls_backend_get_default_database().
+used. See g_tls_backend_get_default_database().
 
 Since: 2.48
 
@@ -3064,19 +3070,19 @@ Specifies what type of event a monitor event is.
 <parameter name="G_FILE_MONITOR_EVENT_RENAMED">
 <parameter_description> the file was renamed within the
 current directory -- only sent if the %G_FILE_MONITOR_WATCH_MOVES
-flag is set.  Since: 2.44.
+flag is set.  Since: 2.46.
 </parameter_description>
 </parameter>
 <parameter name="G_FILE_MONITOR_EVENT_MOVED_IN">
 <parameter_description> the file was moved into the
 monitored directory from another location -- only sent if the
-%G_FILE_MONITOR_WATCH_MOVES flag is set.  Since: 2.44.
+%G_FILE_MONITOR_WATCH_MOVES flag is set.  Since: 2.46.
 </parameter_description>
 </parameter>
 <parameter name="G_FILE_MONITOR_EVENT_MOVED_OUT">
 <parameter_description> the file was moved out of the
 monitored directory to another location -- only sent if the
-%G_FILE_MONITOR_WATCH_MOVES flag is set.  Since: 2.44
+%G_FILE_MONITOR_WATCH_MOVES flag is set.  Since: 2.46
 </parameter_description>
 </parameter>
 </parameters>
@@ -3101,7 +3107,7 @@ Flags used to set what a #GFileMonitor will watch for.
 by file renames (moves) and send a single G_FILE_MONITOR_EVENT_MOVED
 event instead (NB: not supported on all backends; the default
 behaviour -without specifying this flag- is to send single DELETED
-and CREATED events).  Deprecated since 2.44: use
+and CREATED events).  Deprecated since 2.46: use
 %G_FILE_MONITOR_WATCH_MOVES instead.
 </parameter_description>
 </parameter>
@@ -3114,7 +3120,7 @@ via another hard link. Since 2.36.
 <parameter_description> Watch for rename operations on a
 monitored directory.  This causes %G_FILE_MONITOR_EVENT_RENAMED,
 %G_FILE_MONITOR_EVENT_MOVED_IN and %G_FILE_MONITOR_EVENT_MOVED_OUT
-events to be emitted when possible.  Since: 2.44.
+events to be emitted when possible.  Since: 2.46.
 </parameter_description>
 </parameter>
 </parameters>
@@ -3743,9 +3749,12 @@ Emitted when the mount has been changed.
 
 <signal name="GMount::pre-unmount">
 <description>
-This signal is emitted when the #GMount is about to be
+This signal may be emitted when the #GMount is about to be
 unmounted.
 
+This signal depends on the backend and is only emitted if
+GIO was used to unmount.
+
 Since: 2.22
 
 </description>
@@ -4683,7 +4692,7 @@ callbacks when the writability of &quot;x&quot; changes.
 <return></return>
 </signal>
 
-<property name="GSettings:context">
+<property name="GSettings:backend">
 <description>
 The name of the context that the settings are stored in.
 
@@ -5980,7 +5989,7 @@ Deprecated: 2.30: Use GTlsConnection:database instead
 
 <enum name="GTlsDatabaseLookupFlags">
 <description>
-Flags for g_tls_database_lookup_certificate_handle(),
+Flags for g_tls_database_lookup_certificate_for_handle(),
 g_tls_database_lookup_certificate_issuer(),
 and g_tls_database_lookup_certificates_issued_by().
 
@@ -6507,7 +6516,10 @@ Emitted when a mount changes.
 
 <signal name="GVolumeMonitor::mount-pre-unmount">
 <description>
-Emitted when a mount is about to be removed.
+May be emitted when a mount is about to be removed.
+
+This signal depends on the backend and is only emitted if
+GIO was used to unmount.
 
 </description>
 <parameters>
@@ -6687,6 +6699,48 @@ If a signal handler returns %TRUE, it means the signal handler will handle the i
 </return>
 </signal>
 
+<signal name="GXdpDocuments::handle-add-full">
+<description>
+Signal emitted when a remote caller is invoking the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-Documents.AddFull&quot;&gt;AddFull()&lt;/link&gt; D-Bus 
method.
+
+If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a 
reference to @invocation and eventually call gxdp_documents_complete_add_full() or e.g. 
g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler 
handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> A #GXdpDocuments.
+</parameter_description>
+</parameter>
+<parameter name="invocation">
+<parameter_description> A #GDBusMethodInvocation.
+</parameter_description>
+</parameter>
+<parameter name="fd_list">
+<parameter_description> A #GUnixFDList or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="arg_o_path_fds">
+<parameter_description> Argument passed by remote caller.
+</parameter_description>
+</parameter>
+<parameter name="arg_flags">
+<parameter_description> Argument passed by remote caller.
+</parameter_description>
+</parameter>
+<parameter name="arg_app_id">
+<parameter_description> Argument passed by remote caller.
+</parameter_description>
+</parameter>
+<parameter name="arg_permissions">
+<parameter_description> Argument passed by remote caller.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
+</return>
+</signal>
+
 <signal name="GXdpDocuments::handle-add-named">
 <description>
 Signal emitted when a remote caller is invoking the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-Documents.AddNamed&quot;&gt;AddNamed()&lt;/link&gt; D-Bus 
method.
@@ -6923,6 +6977,15 @@ If a signal handler returns %TRUE, it means the signal handler will handle the i
 </return>
 </signal>
 
+<property name="GXdpDocuments:version">
+<description>
+Represents the D-Bus property &lt;link 
linkend=&quot;gdbus-property-org-freedesktop-portal-Documents.version&quot;&gt;&quot;version&quot;&lt;/link&gt;.
+
+Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read 
from it on both the client- and service-side. It is only meaningful, however, to write to it on the 
service-side.
+
+</description>
+</property>
+
 <signal name="GXdpNetworkMonitor::changed">
 <description>
 On the client-side, this signal is emitted whenever the D-Bus signal &lt;link 
linkend=&quot;gdbus-signal-org-freedesktop-portal-NetworkMonitor.changed&quot;&gt;&quot;changed&quot;&lt;/link&gt;
 is received.
@@ -6970,6 +7033,87 @@ Since the D-Bus property for this #GObject property is readable but not writable
 </description>
 </property>
 
+<signal name="GXdpOpenURI::handle-open-file">
+<description>
+Signal emitted when a remote caller is invoking the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-OpenURI.OpenFile&quot;&gt;OpenFile()&lt;/link&gt; D-Bus 
method.
+
+If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a 
reference to @invocation and eventually call gxdp_open_uri_complete_open_file() or e.g. 
g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler 
handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> A #GXdpOpenURI.
+</parameter_description>
+</parameter>
+<parameter name="invocation">
+<parameter_description> A #GDBusMethodInvocation.
+</parameter_description>
+</parameter>
+<parameter name="fd_list">
+<parameter_description> A #GUnixFDList or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="arg_parent_window">
+<parameter_description> Argument passed by remote caller.
+</parameter_description>
+</parameter>
+<parameter name="arg_fd">
+<parameter_description> Argument passed by remote caller.
+</parameter_description>
+</parameter>
+<parameter name="arg_options">
+<parameter_description> Argument passed by remote caller.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
+</return>
+</signal>
+
+<signal name="GXdpOpenURI::handle-open-uri">
+<description>
+Signal emitted when a remote caller is invoking the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-OpenURI.OpenURI&quot;&gt;OpenURI()&lt;/link&gt; D-Bus 
method.
+
+If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a 
reference to @invocation and eventually call gxdp_open_uri_complete_open_uri() or e.g. 
g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler 
handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> A #GXdpOpenURI.
+</parameter_description>
+</parameter>
+<parameter name="invocation">
+<parameter_description> A #GDBusMethodInvocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_parent_window">
+<parameter_description> Argument passed by remote caller.
+</parameter_description>
+</parameter>
+<parameter name="arg_uri">
+<parameter_description> Argument passed by remote caller.
+</parameter_description>
+</parameter>
+<parameter name="arg_options">
+<parameter_description> Argument passed by remote caller.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
+</return>
+</signal>
+
+<property name="GXdpOpenURI:version">
+<description>
+Represents the D-Bus property &lt;link 
linkend=&quot;gdbus-property-org-freedesktop-portal-OpenURI.version&quot;&gt;&quot;version&quot;&lt;/link&gt;.
+
+Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read 
from it on both the client- and service-side. It is only meaningful, however, to write to it on the 
service-side.
+
+</description>
+</property>
+
 <signal name="GXdpProxyResolver::handle-lookup">
 <description>
 Signal emitted when a remote caller is invoking the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-ProxyResolver.Lookup&quot;&gt;Lookup()&lt;/link&gt; D-Bus 
method.
@@ -8068,6 +8212,10 @@ 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
+field, and only does an identity check. In case detecting changes in the 
+contents is needed, program code must additionally compare relevant fields.
+
 
 </description>
 <parameters>
@@ -8365,7 +8513,7 @@ a list of content types.
 <function name="g_app_info_launch">
 <description>
 Launches the application. Passes @files to the launched application
-as arguments, using the optional @launch_context to get information
+as arguments, using the optional @context to get information
 about the details of the launcher (like what screen it is on).
 On error, @error will be set accordingly.
 
@@ -8390,7 +8538,7 @@ environment variable with the path of the launched desktop file and
 process. This can be used to ignore `GIO_LAUNCHED_DESKTOP_FILE`,
 should it be inherited by further processes. The `DISPLAY` and
 `DESKTOP_STARTUP_ID` environment variables are also set, based
-on information provided in @launch_context.
+on information provided in @context.
 
 
 </description>
@@ -8403,7 +8551,7 @@ on information provided in @launch_context.
 <parameter_description> a #GList of #GFile objects
 </parameter_description>
 </parameter>
-<parameter name="launch_context">
+<parameter name="context">
 <parameter_description> a #GAppLaunchContext or %NULL
 </parameter_description>
 </parameter>
@@ -8430,7 +8578,7 @@ required.
 <parameter_description> the uri to show
 </parameter_description>
 </parameter>
-<parameter name="launch_context">
+<parameter name="context">
 <parameter_description> an optional #GAppLaunchContext
 </parameter_description>
 </parameter>
@@ -8462,7 +8610,10 @@ Since: 2.50
 </parameter>
 <parameter name="context">
 <parameter_description> an optional #GAppLaunchContext
-cancellable: (allow-none): a #GCancellable
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> a #GCancellable
 </parameter_description>
 </parameter>
 <parameter name="callback">
@@ -8502,7 +8653,7 @@ Since: 2.50
 <function name="g_app_info_launch_uris">
 <description>
 Launches the application. This passes the @uris to the launched application
-as arguments, using the optional @launch_context to get information
+as arguments, using the optional @context to get information
 about the details of the launcher (like what screen it is on).
 On error, @error will be set accordingly.
 
@@ -8523,7 +8674,7 @@ no way to detect this.
 <parameter_description> a #GList containing URIs to launch.
 </parameter_description>
 </parameter>
-<parameter name="launch_context">
+<parameter name="context">
 <parameter_description> a #GAppLaunchContext or %NULL
 </parameter_description>
 </parameter>
@@ -8769,8 +8920,8 @@ Since: 2.32
 </parameter_description>
 </parameter>
 </parameters>
-<return> the
-child's environment
+<return>
+the child's environment
 
 </return>
 </function>
@@ -9158,8 +9309,8 @@ Since: 2.28
 </parameter_description>
 </parameter>
 </parameters>
-<return> the string array
-containing the arguments (the argv)
+<return> (array length=argc) (element-type filename) (transfer full)
+the string array containing the arguments (the argv)
 
 </return>
 </function>
@@ -9216,8 +9367,8 @@ Since: 2.28
 </parameter_description>
 </parameter>
 </parameters>
-<return> the environment
-strings, or %NULL if they were not sent
+<return>
+the environment strings, or %NULL if they were not sent
 
 </return>
 </function>
@@ -9728,7 +9879,7 @@ reproduced here:
 &quot;[A-Z][a-z][0-9]_-.&quot; and must not begin with a digit.
 
 - Application identifiers must contain at least one '.' (period)
-character (and thus at least three elements).
+character (and thus at least two elements).
 
 - Application identifiers must not begin or end with a '.' (period)
 character.
@@ -9850,6 +10001,10 @@ Upon return to the mainloop, g_application_run() will return,
 calling only the 'shutdown' function before doing so.
 
 The hold count is ignored.
+Take care if your code has called g_application_hold() on the application and
+is therefore still expecting it to exist.
+(Note that you may have called g_application_hold() indirectly, for example
+through gtk_application_add_window().)
 
 The result of calling g_application_run() again after it returns is
 unspecified.
@@ -10031,7 +10186,8 @@ Since: 2.28
 </parameter_description>
 </parameter>
 <parameter name="argv">
-<parameter_description> the argv from main(), or %NULL
+<parameter_description>
+the argv from main(), or %NULL
 </parameter_description>
 </parameter>
 </parameters>
@@ -10354,6 +10510,9 @@ interface. This must be done before any real use of the object after
 initial construction. If the object also implements #GInitable you can
 optionally call g_initable_init() instead.
 
+This method is intended for language bindings. If writing in C,
+g_async_initable_new_async() should typically be used instead.
+
 When the initialization is finished, @callback will be called. You can
 then call g_async_initable_init_finish() to get the result of the
 initialization.
@@ -10371,11 +10530,11 @@ g_object_ref() and g_object_unref() are considered to be invalid, and
 have undefined behaviour. They will often fail with g_critical() or
 g_warning(), but this must not be relied on.
 
-Implementations of this method must be idempotent: i.e. multiple calls
-to this function with the same argument should return the same results.
-Only the first call initializes the object; further calls return the result
-of the first call. This is so that it's safe to implement the singleton
-pattern in the GObject constructor function.
+Callers should not assume that a class which implements #GAsyncInitable can
+be initialized multiple times; for more information, see g_initable_init().
+If a class explicitly supports being initialized multiple times,
+implementation requires yielding all subsequent calls to init_async() on the
+results of the first call.
 
 For classes that also support the #GInitable interface, the default
 implementation of this method will run the g_initable_init() function
@@ -10574,6 +10733,8 @@ then call g_async_initable_new_finish() to get the new object and check
 for any errors.
 
 Since: 2.22
+Deprecated: 2.54: Use g_object_new_with_properties() and
+g_async_initable_init_async() instead. See #GParameter for more information.
 
 </description>
 <parameters>
@@ -10622,8 +10783,8 @@ Gets the source object from a #GAsyncResult.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new reference to the source object for the @res,
-or %NULL if there is none.
+<return> a new reference to the source
+object for the @res, or %NULL if there is none.
 </return>
 </function>
 
@@ -10810,7 +10971,7 @@ Finishes an asynchronous read.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #gssize of the read stream, or %-1 on an error.
+<return> a #gssize of the read stream, or `-1` on an error.
 </return>
 </function>
 
@@ -11781,7 +11942,7 @@ same time as the cancellable operation is finished and the
 signal handler is removed. See #GCancellable::cancelled for
 details on how to use this.
 
-If @cancellable is %NULL or @handler_id is %0 this function does
+If @cancellable is %NULL or @handler_id is `0` this function does
 nothing.
 
 Since: 2.22
@@ -11793,7 +11954,7 @@ Since: 2.22
 </parameter_description>
 </parameter>
 <parameter name="handler_id">
-<parameter_description> Handler id of the handler to be disconnected, or %0.
+<parameter_description> Handler id of the handler to be disconnected, or `0`.
 </parameter_description>
 </parameter>
 </parameters>
@@ -12366,11 +12527,36 @@ Determines if @type is a subset of @supertype.
 </return>
 </function>
 
+<function name="g_content_type_is_mime_type">
+<description>
+Determines if @type is a subset of @mime_type.
+Convenience wrapper around g_content_type_is_a().
+
+Since: 2.52
+
+</description>
+<parameters>
+<parameter name="type">
+<parameter_description> a content type string
+</parameter_description>
+</parameter>
+<parameter name="mime_type">
+<parameter_description> a mime type string
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @type is a kind of @mime_type,
+%FALSE otherwise.
+
+</return>
+</function>
+
 <function name="g_content_type_is_unknown">
 <description>
 Checks if the content type is the generic &quot;unknown&quot; type.
 On UNIX this is the &quot;application/octet-stream&quot; mimetype,
-while on win32 it is &quot;*&quot;.
+while on win32 it is &quot;*&quot; and on OSX it is a dynamic type
+or octet-stream.
 
 
 </description>
@@ -14215,7 +14401,8 @@ Since: 2.32
 </parameter_description>
 </parameter>
 <parameter name="bus_name">
-<parameter_description> the bus name which exports the action group
+<parameter_description> the bus name which exports the action
+group or %NULL if @connection is not a message bus connection
 </parameter_description>
 </parameter>
 <parameter name="object_path">
@@ -14233,10 +14420,10 @@ Since: 2.32
 Escape @string so it can appear in a D-Bus address as the value
 part of a key-value pair.
 
-For instance, if @string is &quot;/run/bus-for-:0&quot;,
-this function would return &quot;/run/bus-for-%3A0&quot;,
+For instance, if @string is `/run/bus-for-:0`,
+this function would return `/run/bus-for-%3A0`,
 which could be used in a D-Bus address like
-&quot;unix:nonce-tcp:host=127.0.0.1,port=42,noncefile=/run/bus-for-%3A0&quot;.
+`unix:nonce-tcp:host=127.0.0.1,port=42,noncefile=/run/bus-for-%3A0`.
 
 Since: 2.36
 
@@ -14260,6 +14447,9 @@ Synchronously looks up the D-Bus address for the well-known message
 bus instance specified by @bus_type. This may involve using various
 platform specific mechanisms.
 
+The returned address will be in the
+[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
+
 Since: 2.26
 
 </description>
@@ -14287,7 +14477,8 @@ Since: 2.26
 <description>
 Asynchronously connects to an endpoint specified by @address and
 sets up the connection so it is in a state to run the client-side
-of the D-Bus authentication conversation.
+of the D-Bus authentication conversation. @address must be in the
+[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
 
 When the operation is finished, @callback will be invoked. You can
 then call g_dbus_address_get_stream_finish() to get the result of
@@ -14350,7 +14541,8 @@ Since: 2.26
 <description>
 Synchronously connects to an endpoint specified by @address and
 sets up the connection so it is in a state to run the client-side
-of the D-Bus authentication conversation.
+of the D-Bus authentication conversation. @address must be in the
+[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
 
 This is a synchronous failable function. See
 g_dbus_address_get_stream() for the asynchronous version.
@@ -15608,7 +15800,8 @@ with g_object_unref().
 <description>
 Asynchronously connects and sets up a D-Bus client connection for
 exchanging D-Bus messages with an endpoint specified by @address
-which must be in the D-Bus address format.
+which must be in the
+[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
 
 This constructor can only be used to initiate client-side
 connections - use g_dbus_connection_new() if you need to act as the
@@ -15687,7 +15880,8 @@ g_object_unref().
 <description>
 Synchronously connects and sets up a D-Bus client connection for
 exchanging D-Bus messages with an endpoint specified by @address
-which must be in the D-Bus address format.
+which must be in the
+[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
 
 This constructor can only be used to initiate client-side
 connections - use g_dbus_connection_new_sync() if you need to act
@@ -16866,7 +17060,11 @@ g_variant_unref().
 Converts a #GVariant to a #GValue. If @value is floating, it is consumed.
 
 The rules specified in the g_dbus_gvalue_to_gvariant() function are
-used - this function is essentially its reverse form.
+used - this function is essentially its reverse form. So, a #GVariant
+containing any basic or string array type will be converted to a #GValue
+containing a basic value or string array. Any other #GVariant (handle,
+variant, tuple, dict entry) will be converted to a #GValue containing that
+#GVariant.
 
 The conversion never fails - a valid #GValue is always returned in
 @out_gvalue.
@@ -17198,7 +17396,7 @@ emitted immediately.
 
 For example, an exported D-Bus interface may queue up property
 changes and emit the
-`org.freedesktop.DBus.Properties::Propert``
+`org.freedesktop.DBus.Properties::PropertiesChanged`
 signal later (e.g. in an idle handler). This technique is useful
 for collapsing multiple property changes into one.
 
@@ -17437,7 +17635,8 @@ Since: 2.32
 
 <function name="g_dbus_is_address">
 <description>
-Checks if @string is a D-Bus address.
+Checks if @string is a
+[D-Bus address](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
 
 This doesn't check if @string is actually supported by #GDBusServer
 or #GDBusConnection - use g_dbus_is_supported_address() to do more
@@ -17534,9 +17733,10 @@ Since: 2.26
 
 <function name="g_dbus_is_supported_address">
 <description>
-Like g_dbus_is_address() but also checks if the library suppors the
+Like g_dbus_is_address() but also checks if the library supports the
 transports in @string and that key/value pairs for each transport
-are valid.
+are valid. See the specification of the
+[D-Bus address format](https://dbus.freedesktop.org/doc/dbus-specification.html#addresses).
 
 Since: 2.26
 
@@ -17596,6 +17796,7 @@ Since: 2.32
 </parameter>
 <parameter name="bus_name">
 <parameter_description> the bus name which exports the menu model
+or %NULL if @connection is not a message bus connection
 </parameter_description>
 </parameter>
 <parameter name="object_path">
@@ -18946,7 +19147,9 @@ Since: 2.26
 <description>
 Finishes handling a D-Bus method call by returning an error.
 
-This method will free @invocation, you cannot use it afterwards.
+This method will take ownership of @invocation. See
+#GDBusInterfaceVTable for more information about the ownership of
+@invocation.
 
 Since: 2.26
 
@@ -18983,7 +19186,9 @@ If you are writing an application intended to be portable,
 always register errors with g_dbus_error_register_error()
 or use g_dbus_method_invocation_return_dbus_error().
 
-This method will free @invocation, you cannot use it afterwards.
+This method will take ownership of @invocation. See
+#GDBusInterfaceVTable for more information about the ownership of
+@invocation.
 
 Since 2.48, if the method call requested for a reply not to be sent
 then this call will free @invocation but otherwise do nothing (as per
@@ -19021,7 +19226,9 @@ Since: 2.26
 <description>
 Like g_dbus_method_invocation_return_error() but without printf()-style formatting.
 
-This method will free @invocation, you cannot use it afterwards.
+This method will take ownership of @invocation. See
+#GDBusInterfaceVTable for more information about the ownership of
+@invocation.
 
 Since: 2.26
 
@@ -19052,7 +19259,9 @@ Since: 2.26
 Like g_dbus_method_invocation_return_error() but intended for
 language bindings.
 
-This method will free @invocation, you cannot use it afterwards.
+This method will take ownership of @invocation. See
+#GDBusInterfaceVTable for more information about the ownership of
+@invocation.
 
 Since: 2.26
 
@@ -19087,7 +19296,9 @@ Since: 2.26
 Like g_dbus_method_invocation_return_error() but takes a #GError
 instead of the error domain, error code and message.
 
-This method will free @invocation, you cannot use it afterwards.
+This method will take ownership of @invocation. See
+#GDBusInterfaceVTable for more information about the ownership of
+@invocation.
 
 Since: 2.26
 
@@ -19110,9 +19321,30 @@ Since: 2.26
 Finishes handling a D-Bus method call by returning @parameters.
 If the @parameters GVariant is floating, it is consumed.
 
-It is an error if @parameters is not of the right format.
+It is an error if @parameters is not of the right format: it must be a tuple
+containing the out-parameters of the D-Bus method. Even if the method has a
+single out-parameter, it must be contained in a tuple. If the method has no
+out-parameters, @parameters may be %NULL or an empty tuple.
 
-This method will free @invocation, you cannot use it afterwards.
+|[&lt;!-- language=&quot;C&quot; --&gt;
+GDBusMethodInvocation *invocation = some_invocation;
+g_autofree gchar *result_string = NULL;
+g_autoptr (GError) error = NULL;
+
+result_string = calculate_result (&amp;error);
+
+if (error != NULL)
+g_dbus_method_invocation_return_gerror (invocation, error);
+else
+g_dbus_method_invocation_return_value (invocation,
+g_variant_new (&quot;(s)&quot;, result_string));
+
+/&lt;!-- --&gt;* Do not free @invocation here; returning a value does that *&lt;!-- --&gt;/
+]|
+
+This method will take ownership of @invocation. See
+#GDBusInterfaceVTable for more information about the ownership of
+@invocation.
 
 Since 2.48, if the method call requested for a reply not to be sent
 then this call will sink @parameters and free @invocation, but
@@ -19141,7 +19373,9 @@ Like g_dbus_method_invocation_return_value() but also takes a #GUnixFDList.
 
 This method is only available on UNIX.
 
-This method will free @invocation, you cannot use it afterwards.
+This method will take ownership of @invocation. See
+#GDBusInterfaceVTable for more information about the ownership of
+@invocation.
 
 Since: 2.30
 
@@ -19168,7 +19402,9 @@ Since: 2.30
 Like g_dbus_method_invocation_return_gerror() but takes ownership
 of @error so the caller does not need to free it.
 
-This method will free @invocation, you cannot use it afterwards.
+This method will take ownership of @invocation. See
+#GDBusInterfaceVTable for more information about the ownership of
+@invocation.
 
 Since: 2.30
 
@@ -21096,8 +21332,9 @@ Since: 2.26
 
 <function name="g_dbus_server_get_client_address">
 <description>
-Gets a D-Bus address string that can be used by clients to connect
-to @server.
+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.
 
 Since: 2.26
 
@@ -23037,7 +23274,7 @@ Since: 2.48
 <description>
 Sets the certificate database that is used to verify peer certificates.
 This is set to the default database by default. See
-g_dtls_backend_get_default_database(). If set to %NULL, then
+g_tls_backend_get_default_database(). If set to %NULL, then
 peer certificate validation will always set the
 %G_TLS_CERTIFICATE_UNKNOWN_CA error (meaning
 #GDtlsConnection::accept-certificate will always be emitted on
@@ -23956,6 +24193,10 @@ If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks
 will be copied as symlinks, otherwise the target of the
 @source symlink will be copied.
 
+If the flag #G_FILE_COPY_ALL_METADATA is specified then all the metadata
+that is possible to copy is copied, not just the default subset (which,
+for instance, does not include the owner, see #GFileInfo).
+
 If @cancellable is not %NULL, then the operation can be cancelled by
 triggering the cancellable object from another thread. If the operation
 was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
@@ -24817,7 +25058,7 @@ sure resources are released as early as possible.
 </parameter_description>
 </parameter>
 <parameter name="cancellable">
-<parameter_description> optional #GCancellable object, %NULL to ignore. 
+<parameter_description> optional #GCancellable object, %NULL to ignore.
 </parameter_description>
 </parameter>
 <parameter name="error">
@@ -24849,7 +25090,7 @@ g_file_enumerator_close_finish().
 </parameter_description>
 </parameter>
 <parameter name="cancellable">
-<parameter_description> optional #GCancellable object, %NULL to ignore. 
+<parameter_description> optional #GCancellable object, %NULL to ignore.
 </parameter_description>
 </parameter>
 <parameter name="callback">
@@ -25119,7 +25360,7 @@ priority is %G_PRIORITY_DEFAULT.
 </parameter_description>
 </parameter>
 <parameter name="io_priority">
-<parameter_description> the [I/O priority][io-priority] of the request 
+<parameter_description> the [I/O priority][io-priority] of the request
 </parameter_description>
 </parameter>
 <parameter name="cancellable">
@@ -27211,6 +27452,124 @@ This call does no blocking I/O.
 </return>
 </function>
 
+<function name="g_file_load_bytes">
+<description>
+Loads the contents of @file and returns it as #GBytes.
+
+If @file is a resource:// based URI, the resulting bytes will reference the
+embedded resource instead of a copy. Otherwise, this is equivalent to calling
+g_file_load_contents() and g_bytes_new_take().
+
+For resources, @etag_out will be set to %NULL.
+
+The data contained in the resulting #GBytes is always zero-terminated, but
+this is not included in the #GBytes length. The resulting #GBytes should be
+freed with g_bytes_unref() when no longer in use.
+
+Since: 2.56
+
+</description>
+<parameters>
+<parameter name="file">
+<parameter_description> a #GFile
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> a #GCancellable or %NULL
+</parameter_description>
+</parameter>
+<parameter name="etag_out">
+<parameter_description> a location to place the current
+entity tag for the file, or %NULL if the entity tag is not needed
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a location for a #GError or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GBytes or %NULL and @error is set
+
+</return>
+</function>
+
+<function name="g_file_load_bytes_async">
+<description>
+Asynchronously loads the contents of @file as #GBytes.
+
+If @file is a resource:// based URI, the resulting bytes will reference the
+embedded resource instead of a copy. Otherwise, this is equivalent to calling
+g_file_load_contents_async() and g_bytes_new_take().
+
+@callback should call g_file_load_bytes_finish() to get the result of this
+asynchronous operation.
+
+See g_file_load_bytes() for more information.
+
+Since: 2.56
+
+</description>
+<parameters>
+<parameter name="file">
+<parameter_description> a #GFile
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> a #GCancellable or %NULL
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> a #GAsyncReadyCallback to call when the
+request is satisfied
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> the data to pass to callback function
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="g_file_load_bytes_finish">
+<description>
+Completes an asynchronous request to g_file_load_bytes_async().
+
+For resources, @etag_out will be set to %NULL.
+
+The data contained in the resulting #GBytes is always zero-terminated, but
+this is not included in the #GBytes length. The resulting #GBytes should be
+freed with g_bytes_unref() when no longer in use.
+
+See g_file_load_bytes() for more information.
+
+Since: 2.56
+
+</description>
+<parameters>
+<parameter name="file">
+<parameter_description> a #GFile
+</parameter_description>
+</parameter>
+<parameter name="result">
+<parameter_description> a #GAsyncResult provided to the callback
+</parameter_description>
+</parameter>
+<parameter name="etag_out">
+<parameter_description> a location to place the current
+entity tag for the file, or %NULL if the entity tag is not needed
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a location for a #GError, or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GBytes or %NULL and @error is set
+
+</return>
+</function>
+
 <function name="g_file_load_contents">
 <description>
 Loads the content of the file into memory. The data is always
@@ -27363,12 +27722,14 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
 </parameter_description>
 </parameter>
 <parameter name="read_more_callback">
-<parameter_description> a #GFileReadMoreCallback to receive partial data
+<parameter_description> a
+#GFileReadMoreCallback to receive partial data
 and to specify whether further data should be read
 </parameter_description>
 </parameter>
 <parameter name="callback">
-<parameter_description> a #GAsyncReadyCallback to call when the request is satisfied
+<parameter_description> a #GAsyncReadyCallback to call
+when the request is satisfied
 </parameter_description>
 </parameter>
 <parameter name="user_data">
@@ -28188,6 +28549,32 @@ the callback function
 </return>
 </function>
 
+<function name="g_file_new_build_filename">
+<description>
+Constructs a #GFile from a series of elements using the correct
+separator for filenames.
+
+Using this function is equivalent to calling g_build_filename(),
+followed by g_file_new_for_path() on the result.
+
+Since: 2.56
+
+</description>
+<parameters>
+<parameter name="first_element">
+<parameter_description> the first element in the path
+</parameter_description>
+</parameter>
+<parameter name="Varargs">
+<parameter_description> remaining elements in path, terminated by %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GFile
+
+</return>
+</function>
+
 <function name="g_file_new_for_commandline_arg">
 <description>
 Creates a #GFile with the given argument from the command line.
@@ -29717,7 +30104,7 @@ Free the returned object with g_object_unref().
 <description>
 Sets an attribute in the file with attribute name @attribute to @value.
 
-Some attributes can be unset by setting @attribute to
+Some attributes can be unset by setting @type to
 %G_FILE_ATTRIBUTE_TYPE_INVALID and @value_p to %NULL.
 
 If @cancellable is not %NULL, then the operation can be cancelled by
@@ -31654,6 +32041,9 @@ parsed.
 <description>
 Initializes the object implementing the interface.
 
+This method is intended for language bindings. If writing in C,
+g_initable_new() should typically be used instead.
+
 The object must be initialized before any real use after initial
 construction, either with this function or g_async_initable_init_async().
 
@@ -31669,11 +32059,24 @@ error, then all operations on the object except g_object_ref() and
 g_object_unref() are considered to be invalid, and have undefined
 behaviour. See the [introduction][ginitable] for more details.
 
-Implementations of this method must be idempotent, i.e. multiple calls
-to this function with the same argument should return the same results.
-Only the first call initializes the object, further calls return the result
-of the first call. This is so that it's safe to implement the singleton
-pattern in the GObject constructor function.
+Callers should not assume that a class which implements #GInitable can be
+initialized multiple times, unless the class explicitly documents itself as
+supporting this. Generally, a class’ implementation of init() can assume
+(and assert) that it will only be called once. Previously, this documentation
+recommended all #GInitable implementations should be idempotent; that
+recommendation was relaxed in GLib 2.54.
+
+If a class explicitly supports being initialized multiple times, it is
+recommended that the method is idempotent: multiple calls with the same
+arguments should return the same results. Only the first call initializes
+the object; further calls return the result of the first call.
+
+One reason why a class might need to support idempotent initialization is if
+it is designed to be used via the singleton pattern, with a
+#GObjectClass.constructor that sometimes returns an existing instance.
+In this pattern, a caller would expect to be able to call g_initable_init()
+on the result of g_object_new(), regardless of whether it is in fact a new
+instance.
 
 Since: 2.22
 
@@ -31785,6 +32188,8 @@ similar to g_object_newv() but also initializes the object
 and returns %NULL, setting an error on failure.
 
 Since: 2.22
+Deprecated: 2.54: Use g_object_new_with_properties() and
+g_initable_init() instead. See #GParameter for more information.
 
 </description>
 <parameters>
@@ -31885,7 +32290,7 @@ operation.
 
 For behaviour details see g_input_stream_close().
 
-The asyncronous methods have a default fallback that uses threads to implement
+The asynchronous methods have a default fallback that uses threads to implement
 asynchronicity, so they are optional for inheriting classes. However, if you
 override one you must override all.
 
@@ -32190,7 +32595,7 @@ Any outstanding i/o request with higher priority (lower numerical value) will
 be executed before an outstanding request with lower priority. Default
 priority is %G_PRIORITY_DEFAULT.
 
-The asyncronous methods have a default fallback that uses threads to implement
+The asynchronous methods have a default fallback that uses threads to implement
 asynchronicity, so they are optional for inheriting classes. However, if you
 override one you must override all.
 
@@ -32542,6 +32947,8 @@ value %G_IO_ERROR_FAILED is returned for error codes not currently
 handled (but note that future GLib releases may return a more
 specific value instead).
 
+As %errno is global and may be modified by intermediate function
+calls, you should save its value as soon as the call which sets it
 
 </description>
 <parameters>
@@ -35855,7 +36262,7 @@ Since: 2.38
 
 <function name="g_mount_can_eject">
 <description>
-Checks if @mount can be eject.
+Checks if @mount can be ejected.
 
 
 </description>
@@ -35871,7 +36278,7 @@ Checks if @mount can be eject.
 
 <function name="g_mount_can_unmount">
 <description>
-Checks if @mount can be mounted.
+Checks if @mount can be unmounted.
 
 
 </description>
@@ -37846,7 +38253,7 @@ the result of the operation.
 
 For behaviour details see g_output_stream_close().
 
-The asyncronous methods have a default fallback that uses threads 
+The asynchronous methods have a default fallback that uses threads
 to implement asynchronicity, so they are optional for inheriting 
 classes. However, if you override one you must override all.
 
@@ -37996,7 +38403,7 @@ ignore.
 
 <function name="g_output_stream_has_pending">
 <description>
-Checks if an ouput stream has pending actions.
+Checks if an output stream has pending actions.
 
 
 </description>
@@ -38370,7 +38777,7 @@ g_output_stream_write().
 </parameter_description>
 </parameter>
 <parameter name="bytes_written">
-<parameter_description> location to store the number of bytes that was 
+<parameter_description> location to store the number of bytes that was
 written to the stream
 </parameter_description>
 </parameter>
@@ -38506,7 +38913,7 @@ Any outstanding I/O request with higher priority (lower numerical
 value) will be executed before an outstanding request with lower 
 priority. Default priority is %G_PRIORITY_DEFAULT.
 
-The asyncronous methods have a default fallback that uses threads 
+The asynchronous methods have a default fallback that uses threads
 to implement asynchronicity, so they are optional for inheriting 
 classes. However, if you override one you must override all.
 
@@ -40766,6 +41173,10 @@ the data should not be modified or freed.
 If you want to use this resource in the global resource namespace you need
 to register it with g_resources_register().
 
+Note: @data must be backed by memory that is at least pointer aligned.
+Otherwise this function will internally create a copy of the memory since
+GLib 2.56, or in older versions fail and exit the process.
+
 Since: 2.32
 
 </description>
@@ -40912,8 +41323,8 @@ or %NULL if the length is not needed
 </parameter_description>
 </parameter>
 <parameter name="flags">
-<parameter_description> a location to place the flags about the file,
-or %NULL if the length is not needed
+<parameter_description> a location to place the #GResourceFlags about the file,
+or %NULL if the flags are not needed
 </parameter_description>
 </parameter>
 <parameter name="error">
@@ -41049,7 +41460,8 @@ Tests if the stream supports the #GSeekableIface.
 
 <function name="g_seekable_can_truncate">
 <description>
-Tests if the stream can be truncated.
+Tests if the length of the stream can be adjusted with
+g_seekable_truncate().
 
 
 </description>
@@ -41129,7 +41541,9 @@ Tells the current position within the stream.
 
 <function name="g_seekable_truncate">
 <description>
-Truncates a stream with a given #offset. 
+Sets the length of the stream to @offset. If the stream was previously
+larger than @offset, the extra data is discarded. If the stream was
+previouly shorter than @offset, it is extended with NUL ('\0') bytes.
 
 If @cancellable is not %NULL, then the operation can be cancelled by
 triggering the cancellable object from another thread. If the operation
@@ -41137,7 +41551,6 @@ was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an
 operation was partially finished when the operation was cancelled the
 partial result will be returned, without an error.
 
-Virtual: truncate_fn
 
 </description>
 <parameters>
@@ -41146,7 +41559,7 @@ Virtual: truncate_fn
 </parameter_description>
 </parameter>
 <parameter name="offset">
-<parameter_description> a #goffset.
+<parameter_description> new length for @seekable, in bytes.
 </parameter_description>
 </parameter>
 <parameter name="cancellable">
@@ -41464,7 +41877,7 @@ function also establishes a binding between the writability of
 a boolean property by that name). See g_settings_bind_writable()
 for more details about writable bindings.
 
-Note that the lifecycle of the binding is tied to the object,
+Note that the lifecycle of the binding is tied to @object,
 and that you can have only one binding per object property.
 If you bind the same property twice on the same object, the second
 binding overrides the first one.
@@ -41505,7 +41918,7 @@ and the property @property of @object.
 The binding uses the provided mapping functions to map between
 settings and property values.
 
-Note that the lifecycle of the binding is tied to the object,
+Note that the lifecycle of the binding is tied to @object,
 and that you can have only one binding per object property.
 If you bind the same property twice on the same object, the second
 binding overrides the first one.
@@ -41571,7 +41984,7 @@ When the @inverted argument is %TRUE, the binding inverts the
 value as it passes from the setting to the object, i.e. @property
 will be set to %TRUE if the key is not writable.
 
-Note that the lifecycle of the binding is tied to the object,
+Note that the lifecycle of the binding is tied to @object,
 and that you can have only one binding per object property.
 If you bind the same property twice on the same object, the second
 binding overrides the first one.
@@ -43546,8 +43959,7 @@ Since: 2.26
 
 <function name="g_settings_sync">
 <description>
-Ensures that all pending operations for the given are complete for
-the default backend.
+Ensures that all pending operations are complete for the default backend.
 
 Writes made to a #GSettings are handled asynchronously.  For this
 reason, it is very unlikely that the changes have it to disk by the
@@ -46963,7 +47375,7 @@ Since: 2.22
 
 <function name="g_socket_get_remote_address">
 <description>
-Try to get the remove address of a connected socket. This is only
+Try to get the remote address of a connected socket. This is only
 useful for connection oriented sockets that have been connected.
 
 Since: 2.22
@@ -47097,6 +47509,9 @@ If @source_specific is %TRUE, source-specific multicast as defined
 in RFC 4604 is used. Note that on older platforms this may fail
 with a %G_IO_ERROR_NOT_SUPPORTED error.
 
+To bind to a given source-specific multicast address, use
+g_socket_join_multicast_group_ssm() instead.
+
 Since: 2.32
 
 </description>
@@ -47127,6 +47542,55 @@ Since: 2.32
 </return>
 </function>
 
+<function name="g_socket_join_multicast_group_ssm">
+<description>
+Registers @socket to receive multicast messages sent to @group.
+@socket must be a %G_SOCKET_TYPE_DATAGRAM socket, and must have
+been bound to an appropriate interface and port with
+g_socket_bind().
+
+If @iface is %NULL, the system will automatically pick an interface
+to bind to based on @group.
+
+If @source_specific is not %NULL, use source-specific multicast as
+defined in RFC 4604. Note that on older platforms this may fail
+with a %G_IO_ERROR_NOT_SUPPORTED error.
+
+Note that this function can be called multiple times for the same
+@group with different @source_specific in order to receive multicast
+packets from more than one source.
+
+Since: 2.56
+
+</description>
+<parameters>
+<parameter name="socket">
+<parameter_description> a #GSocket.
+</parameter_description>
+</parameter>
+<parameter name="group">
+<parameter_description> a #GInetAddress specifying the group address to join.
+</parameter_description>
+</parameter>
+<parameter name="source_specific">
+<parameter_description> a #GInetAddress specifying the
+source-specific multicast address or %NULL to ignore.
+</parameter_description>
+</parameter>
+<parameter name="iface">
+<parameter_description> Name of the interface to use, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError for error reporting, or %NULL to ignore.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success, %FALSE on error.
+
+</return>
+</function>
+
 <function name="g_socket_leave_multicast_group">
 <description>
 Removes @socket from the multicast group defined by @group, @iface,
@@ -47136,6 +47600,9 @@ when you joined the group).
 @socket remains bound to its address and port, and can still receive
 unicast messages after calling this.
 
+To unbind to a given source-specific multicast address, use
+g_socket_leave_multicast_group_ssm() instead.
+
 Since: 2.32
 
 </description>
@@ -47166,6 +47633,46 @@ Since: 2.32
 </return>
 </function>
 
+<function name="g_socket_leave_multicast_group_ssm">
+<description>
+Removes @socket from the multicast group defined by @group, @iface,
+and @source_specific (which must all have the same values they had
+when you joined the group).
+
+@socket remains bound to its address and port, and can still receive
+unicast messages after calling this.
+
+Since: 2.56
+
+</description>
+<parameters>
+<parameter name="socket">
+<parameter_description> a #GSocket.
+</parameter_description>
+</parameter>
+<parameter name="group">
+<parameter_description> a #GInetAddress specifying the group address to leave.
+</parameter_description>
+</parameter>
+<parameter name="source_specific">
+<parameter_description> a #GInetAddress specifying the
+source-specific multicast address or %NULL to ignore.
+</parameter_description>
+</parameter>
+<parameter name="iface">
+<parameter_description> Name of the interface to use, or %NULL
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> #GError for error reporting, or %NULL to ignore.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE on success, %FALSE on error.
+
+</return>
+</function>
+
 <function name="g_socket_listen">
 <description>
 Marks the socket as a server socket, i.e. a socket that is used
@@ -47900,8 +48407,8 @@ pointer, or %NULL
 </parameter_description>
 </parameter>
 <parameter name="messages">
-<parameter_description> a pointer which
-may be filled with an array of #GSocketControlMessages, or %NULL
+<parameter_description> a pointer
+which may be filled with an array of #GSocketControlMessages, or %NULL
 </parameter_description>
 </parameter>
 <parameter name="num_messages">
@@ -49510,7 +50017,8 @@ Since: 2.40
 </parameter_description>
 </parameter>
 </parameters>
-<return> the value of the environment variable, %NULL if unset
+<return> the value of the environment variable,
+%NULL if unset
 
 </return>
 </function>
@@ -49611,6 +50119,13 @@ g_environ_unsetenv(), etc.
 As an alternative, you can use g_subprocess_launcher_setenv(),
 g_subprocess_launcher_unsetenv(), etc.
 
+Pass an empty array to set an empty environment. Pass %NULL to inherit the
+parent process’ environment. As of GLib 2.54, the parent process’ environment
+will be copied when g_subprocess_launcher_set_environ() is called.
+Previously, it was copied when the subprocess was executed. This means the
+copied environment may now be modified (using g_subprocess_launcher_setenv(),
+etc.) before launching the subprocess.
+
 On UNIX, all strings in this array can be arbitrary byte strings.
 On Windows, they should be in UTF-8.
 
@@ -49623,7 +50138,8 @@ Since: 2.40
 </parameter_description>
 </parameter>
 <parameter name="env">
-<parameter_description> the replacement environment
+<parameter_description>
+the replacement environment
 </parameter_description>
 </parameter>
 </parameters>
@@ -49771,7 +50287,8 @@ Since: 2.40
 </parameter_description>
 </parameter>
 <parameter name="variable">
-<parameter_description> the environment variable to set, must not contain '='
+<parameter_description> the environment variable to set,
+must not contain '='
 </parameter_description>
 </parameter>
 <parameter name="value">
@@ -49998,7 +50515,8 @@ Since: 2.40
 </parameter_description>
 </parameter>
 <parameter name="variable">
-<parameter_description> the environment variable to unset, must not contain '='
+<parameter_description> the environment variable to unset,
+must not contain '='
 </parameter_description>
 </parameter>
 </parameters>
@@ -51600,7 +52118,7 @@ Since: 2.48
 </parameter>
 </parameters>
 <return> the #GType of @backend’s #GDtlsClientConnection
-implementation.
+implementation, or %G_TYPE_INVALID if this backend doesn’t support DTLS.
 
 </return>
 </function>
@@ -51619,7 +52137,7 @@ Since: 2.48
 </parameter>
 </parameters>
 <return> the #GType of @backend’s #GDtlsServerConnection
-implementation.
+implementation, or %G_TYPE_INVALID if this backend doesn’t support DTLS.
 
 </return>
 </function>
@@ -52759,7 +53277,7 @@ Since: 2.30
 <function name="g_tls_database_lookup_certificate_for_handle_finish">
 <description>
 Finish an asynchronous lookup of a certificate by its handle. See
-g_tls_database_lookup_certificate_handle() for more information.
+g_tls_database_lookup_certificate_by_handle() for more information.
 
 If the handle is no longer valid, or does not point to a certificate in
 this database, then %NULL will be returned.
@@ -53019,11 +53537,11 @@ objects. Use g_object_unref() on each certificate, and g_list_free() on the rele
 
 <function name="g_tls_database_verify_chain">
 <description>
-Verify's a certificate chain after looking up and adding any missing
-certificates to the chain.
+Determines the validity of a certificate chain after looking up and
+adding any missing certificates to the chain.
 
 @chain is a chain of #GTlsCertificate objects each pointing to the next
-certificate in the chain by its %issuer property. The chain may initially
+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
@@ -53041,6 +53559,15 @@ host by host basis.
 Currently there are no @flags, and %G_TLS_DATABASE_VERIFY_NONE should be
 used.
 
+If @chain is found to be valid, then the return value will be 0. If
+@chain is found to be invalid, then the return value will indicate
+the problems found. If the function is unable to determine whether
+@chain is valid or not (eg, because @cancellable is triggered
+before it completes) then the return value will be
+%G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set
+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.
 
@@ -53089,9 +53616,9 @@ result of verification.
 
 <function name="g_tls_database_verify_chain_async">
 <description>
-Asynchronously verify's a certificate chain after looking up and adding
-any missing certificates to the chain. See g_tls_database_verify_chain()
-for more information.
+Asynchronously determines the validity of a certificate chain after
+looking up and adding any missing certificates to the chain. See
+g_tls_database_verify_chain() for more information.
 
 Since: 2.30
 
@@ -53140,7 +53667,17 @@ Since: 2.30
 <function name="g_tls_database_verify_chain_finish">
 <description>
 Finish an asynchronous verify chain operation. See
-g_tls_database_verify_chain() for more information. *
+g_tls_database_verify_chain() for more information.
+
+If @chain is found to be valid, then the return value will be 0. If
+@chain is found to be invalid, then the return value will indicate
+the problems found. If the function is unable to determine whether
+@chain is valid or not (eg, because @cancellable is triggered
+before it completes) then the return value will be
+%G_TLS_CERTIFICATE_GENERIC_ERROR and @error will be set
+accordingly. @error is not set when @chain is successfully analyzed
+but found to be invalid.
+
 Since: 2.30
 
 </description>
@@ -54585,6 +55122,53 @@ of the OS.
 </return>
 </function>
 
+<function name="g_unix_is_system_device_path">
+<description>
+Determines if @device_path is considered a block device path which is only
+used in implementation of the OS. This is primarily used for hiding
+mounted volumes that are intended as APIs for programs to read, and system
+administrators at a shell; rather than something that should, for example,
+appear in a GUI. For example, the Linux `/proc` filesystem.
+
+The list of device paths considered ‘system’ ones may change over time.
+
+Since: 2.56
+
+</description>
+<parameters>
+<parameter name="device_path">
+<parameter_description> a device path, e.g. `/dev/loop0` or `nfsd`
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @device_path is considered an implementation detail of
+the OS.
+</return>
+</function>
+
+<function name="g_unix_is_system_fs_type">
+<description>
+Determines if @fs_type is considered a type of file system which is only
+used in implementation of the OS. This is primarily used for hiding
+mounted volumes that are intended as APIs for programs to read, and system
+administrators at a shell; rather than something that should, for example,
+appear in a GUI. For example, the Linux `/proc` filesystem.
+
+The list of file system types considered ‘system’ ones may change over time.
+
+Since: 2.56
+
+</description>
+<parameters>
+<parameter name="fs_type">
+<parameter_description> a file system type, e.g. `procfs` or `tmpfs`
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @fs_type is considered an implementation detail of the OS.
+</return>
+</function>
+
 <function name="g_unix_mount_at">
 <description>
 Gets a #GUnixMountEntry for a given mount path. If @time_read
@@ -54628,6 +55212,48 @@ or less than @mount2, respectively.
 </return>
 </function>
 
+<function name="g_unix_mount_copy">
+<description>
+Makes a copy of @mount_entry.
+
+Since: 2.54
+
+</description>
+<parameters>
+<parameter name="mount_entry">
+<parameter_description> a #GUnixMountEntry.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GUnixMountEntry
+
+</return>
+</function>
+
+<function name="g_unix_mount_for">
+<description>
+Gets a #GUnixMountEntry for a given file path. If @time_read
+is set, it will be filled with a unix timestamp for checking
+if the mounts have changed since with g_unix_mounts_changed_since().
+
+Since: 2.52
+
+</description>
+<parameters>
+<parameter name="file_path">
+<parameter_description> file path on some unix mount.
+</parameter_description>
+</parameter>
+<parameter name="time_read">
+<parameter_description> guint64 to contain a timestamp.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GUnixMountEntry.
+
+</return>
+</function>
+
 <function name="g_unix_mount_free">
 <description>
 Frees a unix mount.
@@ -54809,7 +55435,12 @@ Checks if a unix mount is mounted read only.
 
 <function name="g_unix_mount_is_system_internal">
 <description>
-Checks if a unix mount is a system path.
+Checks if a Unix mount is a system mount. This is the Boolean OR of
+g_unix_is_system_fs_type(), g_unix_is_system_device_path() and
+g_unix_is_mount_path_system_internal() on @mount_entry’s properties.
+
+The definition of what a ‘system’ mount entry is may change over time as new
+file system types and device paths are ignored.
 
 
 </description>
@@ -54912,6 +55543,24 @@ or less than @mount2, respectively.
 </return>
 </function>
 
+<function name="g_unix_mount_point_copy">
+<description>
+Makes a copy of @mount_point.
+
+Since: 2.54
+
+</description>
+<parameters>
+<parameter name="mount_point">
+<parameter_description> a #GUnixMountPoint.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GUnixMountPoint
+
+</return>
+</function>
+
 <function name="g_unix_mount_point_free">
 <description>
 Frees a unix mount point.
@@ -55895,7 +56544,7 @@ volume_activation_root = g_volume_get_activation_root (volume); // assume not NU
 then the expression
 |[&lt;!-- language=&quot;C&quot; --&gt;
 (g_file_has_prefix (volume_activation_root, mount_root) ||
-      g_file_equal (volume_activation_root, mount_root))
+g_file_equal (volume_activation_root, mount_root))
 ]|
 will always be %TRUE.
 
@@ -57654,6 +58303,150 @@ Finishes an operation started with gxdp_documents_call_add().
 </return>
 </function>
 
+<function name="gxdp_documents_call_add_full">
+<description>
+Asynchronously invokes the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-Documents.AddFull&quot;&gt;AddFull()&lt;/link&gt; D-Bus 
method on @proxy.
+When the operation is finished, @callback will be invoked in the &lt;link 
linkend=&quot;g-main-context-push-thread-default&quot;&gt;thread-default main loop&lt;/link&gt; of the thread 
you are calling this method from.
+You can then call gxdp_documents_call_add_full_finish() to get the result of the operation.
+
+See gxdp_documents_call_add_full_sync() for the synchronous, blocking version of this method.
+
+</description>
+<parameters>
+<parameter name="proxy">
+<parameter_description> A #GXdpDocumentsProxy.
+</parameter_description>
+</parameter>
+<parameter name="arg_o_path_fds">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_flags">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_app_id">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_permissions">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="fd_list">
+<parameter_description> A #GUnixFDList or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> A #GCancellable or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> User data to pass to @callback.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gxdp_documents_call_add_full_finish">
+<description>
+Finishes an operation started with gxdp_documents_call_add_full().
+
+
+</description>
+<parameters>
+<parameter name="proxy">
+<parameter_description> A #GXdpDocumentsProxy.
+</parameter_description>
+</parameter>
+<parameter name="out_doc_ids">
+<parameter_description> Return location for return parameter or %NULL to ignore.
+</parameter_description>
+</parameter>
+<parameter name="out_extra_out">
+<parameter_description> Return location for return parameter or %NULL to ignore.
+</parameter_description>
+</parameter>
+<parameter name="out_fd_list">
+<parameter_description> Return location for a #GUnixFDList or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="res">
+<parameter_description> The #GAsyncResult obtained from the #GAsyncReadyCallback passed to 
gxdp_documents_call_add_full().
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for error or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the call succeded, %FALSE if @error is set.
+</return>
+</function>
+
+<function name="gxdp_documents_call_add_full_sync">
+<description>
+Synchronously invokes the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-Documents.AddFull&quot;&gt;AddFull()&lt;/link&gt; D-Bus 
method on @proxy. The calling thread is blocked until a reply is received.
+
+See gxdp_documents_call_add_full() for the asynchronous version of this method.
+
+
+</description>
+<parameters>
+<parameter name="proxy">
+<parameter_description> A #GXdpDocumentsProxy.
+</parameter_description>
+</parameter>
+<parameter name="arg_o_path_fds">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_flags">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_app_id">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_permissions">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="fd_list">
+<parameter_description> A #GUnixFDList or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="out_doc_ids">
+<parameter_description> Return location for return parameter or %NULL to ignore.
+</parameter_description>
+</parameter>
+<parameter name="out_extra_out">
+<parameter_description> Return location for return parameter or %NULL to ignore.
+</parameter_description>
+</parameter>
+<parameter name="out_fd_list">
+<parameter_description> Return location for a #GUnixFDList or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> A #GCancellable or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for error or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the call succeded, %FALSE if @error is set.
+</return>
+</function>
+
 <function name="gxdp_documents_call_add_named">
 <description>
 Asynchronously invokes the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-Documents.AddNamed&quot;&gt;AddNamed()&lt;/link&gt; D-Bus 
method on @proxy.
@@ -58548,6 +59341,38 @@ This method will free @invocation, you cannot use it afterwards.
 <return></return>
 </function>
 
+<function name="gxdp_documents_complete_add_full">
+<description>
+Helper function used in service implementations to finish handling invocations of the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-Documents.AddFull&quot;&gt;AddFull()&lt;/link&gt; D-Bus 
method. If you instead want to finish handling an invocation by returning an error, use 
g_dbus_method_invocation_return_error() or similar.
+
+This method will free @invocation, you cannot use it afterwards.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> A #GXdpDocuments.
+</parameter_description>
+</parameter>
+<parameter name="invocation">
+<parameter_description> A #GDBusMethodInvocation.
+</parameter_description>
+</parameter>
+<parameter name="fd_list">
+<parameter_description> A #GUnixFDList or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="doc_ids">
+<parameter_description> Parameter to return.
+</parameter_description>
+</parameter>
+<parameter name="extra_out">
+<parameter_description> Parameter to return.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gxdp_documents_complete_add_named">
 <description>
 Helper function used in service implementations to finish handling invocations of the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-Documents.AddNamed&quot;&gt;AddNamed()&lt;/link&gt; D-Bus 
method. If you instead want to finish handling an invocation by returning an error, use 
g_dbus_method_invocation_return_error() or similar.
@@ -58736,6 +59561,24 @@ This method will free @invocation, you cannot use it afterwards.
 <return></return>
 </function>
 
+<function name="gxdp_documents_get_version">
+<description>
+Gets the value of the &lt;link 
linkend=&quot;gdbus-property-org-freedesktop-portal-Documents.version&quot;&gt;&quot;version&quot;&lt;/link&gt;
 D-Bus property.
+
+Since this D-Bus property is readable, it is meaningful to use this function on both the client- and 
service-side.
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> A #GXdpDocuments.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The property value.
+</return>
+</function>
+
 <function name="gxdp_documents_interface_info">
 <description>
 Gets a machine-readable description of the &lt;link 
linkend=&quot;gdbus-interface-org-freedesktop-portal-Documents.top_of_page&quot;&gt;org.freedesktop.portal.Documents&lt;/link&gt;
 D-Bus interface.
@@ -58975,6 +59818,26 @@ See gxdp_documents_proxy_new() for the asynchronous version of this constructor.
 </return>
 </function>
 
+<function name="gxdp_documents_set_version">
+<description>
+Sets the &lt;link 
linkend=&quot;gdbus-property-org-freedesktop-portal-Documents.version&quot;&gt;&quot;version&quot;&lt;/link&gt;
 D-Bus property to @value.
+
+Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> A #GXdpDocuments.
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> The value to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gxdp_documents_skeleton_new">
 <description>
 Creates a skeleton object for the D-Bus interface &lt;link 
linkend=&quot;gdbus-interface-org-freedesktop-portal-Documents.top_of_page&quot;&gt;org.freedesktop.portal.Documents&lt;/link&gt;.
@@ -59370,6 +60233,587 @@ Creates a skeleton object for the D-Bus interface &lt;link linkend=&quot;gdbus-i
 </return>
 </function>
 
+<function name="gxdp_open_uri_call_open_file">
+<description>
+Asynchronously invokes the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-OpenURI.OpenFile&quot;&gt;OpenFile()&lt;/link&gt; D-Bus 
method on @proxy.
+When the operation is finished, @callback will be invoked in the &lt;link 
linkend=&quot;g-main-context-push-thread-default&quot;&gt;thread-default main loop&lt;/link&gt; of the thread 
you are calling this method from.
+You can then call gxdp_open_uri_call_open_file_finish() to get the result of the operation.
+
+See gxdp_open_uri_call_open_file_sync() for the synchronous, blocking version of this method.
+
+</description>
+<parameters>
+<parameter name="proxy">
+<parameter_description> A #GXdpOpenURIProxy.
+</parameter_description>
+</parameter>
+<parameter name="arg_parent_window">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_fd">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_options">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="fd_list">
+<parameter_description> A #GUnixFDList or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> A #GCancellable or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> User data to pass to @callback.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gxdp_open_uri_call_open_file_finish">
+<description>
+Finishes an operation started with gxdp_open_uri_call_open_file().
+
+
+</description>
+<parameters>
+<parameter name="proxy">
+<parameter_description> A #GXdpOpenURIProxy.
+</parameter_description>
+</parameter>
+<parameter name="out_handle">
+<parameter_description> Return location for return parameter or %NULL to ignore.
+</parameter_description>
+</parameter>
+<parameter name="out_fd_list">
+<parameter_description> Return location for a #GUnixFDList or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="res">
+<parameter_description> The #GAsyncResult obtained from the #GAsyncReadyCallback passed to 
gxdp_open_uri_call_open_file().
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for error or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the call succeded, %FALSE if @error is set.
+</return>
+</function>
+
+<function name="gxdp_open_uri_call_open_file_sync">
+<description>
+Synchronously invokes the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-OpenURI.OpenFile&quot;&gt;OpenFile()&lt;/link&gt; D-Bus 
method on @proxy. The calling thread is blocked until a reply is received.
+
+See gxdp_open_uri_call_open_file() for the asynchronous version of this method.
+
+
+</description>
+<parameters>
+<parameter name="proxy">
+<parameter_description> A #GXdpOpenURIProxy.
+</parameter_description>
+</parameter>
+<parameter name="arg_parent_window">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_fd">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_options">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="fd_list">
+<parameter_description> A #GUnixFDList or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="out_handle">
+<parameter_description> Return location for return parameter or %NULL to ignore.
+</parameter_description>
+</parameter>
+<parameter name="out_fd_list">
+<parameter_description> Return location for a #GUnixFDList or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> A #GCancellable or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for error or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the call succeded, %FALSE if @error is set.
+</return>
+</function>
+
+<function name="gxdp_open_uri_call_open_uri">
+<description>
+Asynchronously invokes the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-OpenURI.OpenURI&quot;&gt;OpenURI()&lt;/link&gt; D-Bus 
method on @proxy.
+When the operation is finished, @callback will be invoked in the &lt;link 
linkend=&quot;g-main-context-push-thread-default&quot;&gt;thread-default main loop&lt;/link&gt; of the thread 
you are calling this method from.
+You can then call gxdp_open_uri_call_open_uri_finish() to get the result of the operation.
+
+See gxdp_open_uri_call_open_uri_sync() for the synchronous, blocking version of this method.
+
+</description>
+<parameters>
+<parameter name="proxy">
+<parameter_description> A #GXdpOpenURIProxy.
+</parameter_description>
+</parameter>
+<parameter name="arg_parent_window">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_uri">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_options">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> A #GCancellable or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> User data to pass to @callback.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gxdp_open_uri_call_open_uri_finish">
+<description>
+Finishes an operation started with gxdp_open_uri_call_open_uri().
+
+
+</description>
+<parameters>
+<parameter name="proxy">
+<parameter_description> A #GXdpOpenURIProxy.
+</parameter_description>
+</parameter>
+<parameter name="out_handle">
+<parameter_description> Return location for return parameter or %NULL to ignore.
+</parameter_description>
+</parameter>
+<parameter name="res">
+<parameter_description> The #GAsyncResult obtained from the #GAsyncReadyCallback passed to 
gxdp_open_uri_call_open_uri().
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for error or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the call succeded, %FALSE if @error is set.
+</return>
+</function>
+
+<function name="gxdp_open_uri_call_open_uri_sync">
+<description>
+Synchronously invokes the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-OpenURI.OpenURI&quot;&gt;OpenURI()&lt;/link&gt; D-Bus 
method on @proxy. The calling thread is blocked until a reply is received.
+
+See gxdp_open_uri_call_open_uri() for the asynchronous version of this method.
+
+
+</description>
+<parameters>
+<parameter name="proxy">
+<parameter_description> A #GXdpOpenURIProxy.
+</parameter_description>
+</parameter>
+<parameter name="arg_parent_window">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_uri">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="arg_options">
+<parameter_description> Argument to pass with the method invocation.
+</parameter_description>
+</parameter>
+<parameter name="out_handle">
+<parameter_description> Return location for return parameter or %NULL to ignore.
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> A #GCancellable or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for error or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the call succeded, %FALSE if @error is set.
+</return>
+</function>
+
+<function name="gxdp_open_uri_complete_open_file">
+<description>
+Helper function used in service implementations to finish handling invocations of the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-OpenURI.OpenFile&quot;&gt;OpenFile()&lt;/link&gt; D-Bus 
method. If you instead want to finish handling an invocation by returning an error, use 
g_dbus_method_invocation_return_error() or similar.
+
+This method will free @invocation, you cannot use it afterwards.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> A #GXdpOpenURI.
+</parameter_description>
+</parameter>
+<parameter name="invocation">
+<parameter_description> A #GDBusMethodInvocation.
+</parameter_description>
+</parameter>
+<parameter name="fd_list">
+<parameter_description> A #GUnixFDList or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="handle">
+<parameter_description> Parameter to return.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gxdp_open_uri_complete_open_uri">
+<description>
+Helper function used in service implementations to finish handling invocations of the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-OpenURI.OpenURI&quot;&gt;OpenURI()&lt;/link&gt; D-Bus 
method. If you instead want to finish handling an invocation by returning an error, use 
g_dbus_method_invocation_return_error() or similar.
+
+This method will free @invocation, you cannot use it afterwards.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> A #GXdpOpenURI.
+</parameter_description>
+</parameter>
+<parameter name="invocation">
+<parameter_description> A #GDBusMethodInvocation.
+</parameter_description>
+</parameter>
+<parameter name="handle">
+<parameter_description> Parameter to return.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gxdp_open_uri_get_version">
+<description>
+Gets the value of the &lt;link 
linkend=&quot;gdbus-property-org-freedesktop-portal-OpenURI.version&quot;&gt;&quot;version&quot;&lt;/link&gt; 
D-Bus property.
+
+Since this D-Bus property is readable, it is meaningful to use this function on both the client- and 
service-side.
+
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> A #GXdpOpenURI.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The property value.
+</return>
+</function>
+
+<function name="gxdp_open_uri_interface_info">
+<description>
+Gets a machine-readable description of the &lt;link 
linkend=&quot;gdbus-interface-org-freedesktop-portal-OpenURI.top_of_page&quot;&gt;org.freedesktop.portal.OpenURI&lt;/link&gt;
 D-Bus interface.
+
+
+</description>
+<parameters>
+</parameters>
+<return> A #GDBusInterfaceInfo. Do not free.
+</return>
+</function>
+
+<function name="gxdp_open_uri_override_properties">
+<description>
+Overrides all #GObject properties in the #GXdpOpenURI interface for a concrete class.
+The properties are overridden in the order they are defined.
+
+
+</description>
+<parameters>
+<parameter name="klass">
+<parameter_description> The class structure for a #GObject&lt;!-- --&gt;-derived class.
+</parameter_description>
+</parameter>
+<parameter name="property_id_begin">
+<parameter_description> The property id to assign to the first overridden property.
+</parameter_description>
+</parameter>
+</parameters>
+<return> The last property id.
+</return>
+</function>
+
+<function name="gxdp_open_uri_proxy_new">
+<description>
+Asynchronously creates a proxy for the D-Bus interface &lt;link 
linkend=&quot;gdbus-interface-org-freedesktop-portal-OpenURI.top_of_page&quot;&gt;org.freedesktop.portal.OpenURI&lt;/link&gt;.
 See g_dbus_proxy_new() for more details.
+
+When the operation is finished, @callback will be invoked in the &lt;link 
linkend=&quot;g-main-context-push-thread-default&quot;&gt;thread-default main loop&lt;/link&gt; of the thread 
you are calling this method from.
+You can then call gxdp_open_uri_proxy_new_finish() to get the result of the operation.
+
+See gxdp_open_uri_proxy_new_sync() for the synchronous, blocking version of this constructor.
+
+</description>
+<parameters>
+<parameter name="connection">
+<parameter_description> A #GDBusConnection.
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> Flags from the #GDBusProxyFlags enumeration.
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> A bus name (well-known or unique) or %NULL if @connection is not a message bus 
connection.
+</parameter_description>
+</parameter>
+<parameter name="object_path">
+<parameter_description> An object path.
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> A #GCancellable or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> A #GAsyncReadyCallback to call when the request is satisfied.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> User data to pass to @callback.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gxdp_open_uri_proxy_new_finish">
+<description>
+Finishes an operation started with gxdp_open_uri_proxy_new().
+
+
+</description>
+<parameters>
+<parameter name="res">
+<parameter_description> The #GAsyncResult obtained from the #GAsyncReadyCallback passed to 
gxdp_open_uri_proxy_new().
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for error or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> The constructed proxy object or %NULL if @error is set.
+</return>
+</function>
+
+<function name="gxdp_open_uri_proxy_new_for_bus">
+<description>
+Like gxdp_open_uri_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
+
+When the operation is finished, @callback will be invoked in the &lt;link 
linkend=&quot;g-main-context-push-thread-default&quot;&gt;thread-default main loop&lt;/link&gt; of the thread 
you are calling this method from.
+You can then call gxdp_open_uri_proxy_new_for_bus_finish() to get the result of the operation.
+
+See gxdp_open_uri_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
+
+</description>
+<parameters>
+<parameter name="bus_type">
+<parameter_description> A #GBusType.
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> Flags from the #GDBusProxyFlags enumeration.
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> A bus name (well-known or unique).
+</parameter_description>
+</parameter>
+<parameter name="object_path">
+<parameter_description> An object path.
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> A #GCancellable or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="callback">
+<parameter_description> A #GAsyncReadyCallback to call when the request is satisfied.
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> User data to pass to @callback.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gxdp_open_uri_proxy_new_for_bus_finish">
+<description>
+Finishes an operation started with gxdp_open_uri_proxy_new_for_bus().
+
+
+</description>
+<parameters>
+<parameter name="res">
+<parameter_description> The #GAsyncResult obtained from the #GAsyncReadyCallback passed to 
gxdp_open_uri_proxy_new_for_bus().
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for error or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> The constructed proxy object or %NULL if @error is set.
+</return>
+</function>
+
+<function name="gxdp_open_uri_proxy_new_for_bus_sync">
+<description>
+Like gxdp_open_uri_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
+
+The calling thread is blocked until a reply is received.
+
+See gxdp_open_uri_proxy_new_for_bus() for the asynchronous version of this constructor.
+
+
+</description>
+<parameters>
+<parameter name="bus_type">
+<parameter_description> A #GBusType.
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> Flags from the #GDBusProxyFlags enumeration.
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> A bus name (well-known or unique).
+</parameter_description>
+</parameter>
+<parameter name="object_path">
+<parameter_description> An object path.
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> A #GCancellable or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for error or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> The constructed proxy object or %NULL if @error is set.
+</return>
+</function>
+
+<function name="gxdp_open_uri_proxy_new_sync">
+<description>
+Synchronously creates a proxy for the D-Bus interface &lt;link 
linkend=&quot;gdbus-interface-org-freedesktop-portal-OpenURI.top_of_page&quot;&gt;org.freedesktop.portal.OpenURI&lt;/link&gt;.
 See g_dbus_proxy_new_sync() for more details.
+
+The calling thread is blocked until a reply is received.
+
+See gxdp_open_uri_proxy_new() for the asynchronous version of this constructor.
+
+
+</description>
+<parameters>
+<parameter name="connection">
+<parameter_description> A #GDBusConnection.
+</parameter_description>
+</parameter>
+<parameter name="flags">
+<parameter_description> Flags from the #GDBusProxyFlags enumeration.
+</parameter_description>
+</parameter>
+<parameter name="name">
+<parameter_description> A bus name (well-known or unique) or %NULL if @connection is not a message bus 
connection.
+</parameter_description>
+</parameter>
+<parameter name="object_path">
+<parameter_description> An object path.
+</parameter_description>
+</parameter>
+<parameter name="cancellable">
+<parameter_description> A #GCancellable or %NULL.
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> Return location for error or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return> The constructed proxy object or %NULL if @error is set.
+</return>
+</function>
+
+<function name="gxdp_open_uri_set_version">
+<description>
+Sets the &lt;link 
linkend=&quot;gdbus-property-org-freedesktop-portal-OpenURI.version&quot;&gt;&quot;version&quot;&lt;/link&gt; 
D-Bus property to @value.
+
+Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> A #GXdpOpenURI.
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> The value to set.
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gxdp_open_uri_skeleton_new">
+<description>
+Creates a skeleton object for the D-Bus interface &lt;link 
linkend=&quot;gdbus-interface-org-freedesktop-portal-OpenURI.top_of_page&quot;&gt;org.freedesktop.portal.OpenURI&lt;/link&gt;.
+
+
+</description>
+<parameters>
+</parameters>
+<return> The skeleton object.
+</return>
+</function>
+
 <function name="gxdp_proxy_resolver_call_lookup">
 <description>
 Asynchronously invokes the &lt;link 
linkend=&quot;gdbus-method-org-freedesktop-portal-ProxyResolver.Lookup&quot;&gt;Lookup()&lt;/link&gt; D-Bus 
method on @proxy.
diff --git a/gio/src/gio_enums.defs b/gio/src/gio_enums.defs
index 4771d57..7fcc9d3 100644
--- a/gio/src/gio_enums.defs
+++ b/gio/src/gio_enums.defs
@@ -855,7 +855,8 @@
 ;; {
 ;;   G_BUS_NAME_OWNER_FLAGS_NONE = 0,                    /*< nick=none >*/
 ;;   G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT = (1<<0),  /*< nick=allow-replacement >*/
-;;   G_BUS_NAME_OWNER_FLAGS_REPLACE = (1<<1)            /*< nick=replace >*/
+;;   G_BUS_NAME_OWNER_FLAGS_REPLACE = (1<<1),           /*< nick=replace >*/
+;;   G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE = (1<<2)       /*< nick=do-not-queue >*/
 ;; } GBusNameOwnerFlags;
 
 (define-flags-extended BusNameOwnerFlags
@@ -865,6 +866,7 @@
     '("none" "G_BUS_NAME_OWNER_FLAGS_NONE" "0x0")
     '("allow-replacement" "G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT" "(1<<0)")
     '("replace" "G_BUS_NAME_OWNER_FLAGS_REPLACE" "(1<<1)")
+    '("do-not-queue" "G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE" "(1<<2)")
   )
 )
 
diff --git a/gio/src/gio_methods.defs b/gio/src/gio_methods.defs
index 833d822..7e54a15 100644
--- a/gio/src/gio_methods.defs
+++ b/gio/src/gio_methods.defs
@@ -813,6 +813,26 @@
   (gtype-id "G_TYPE_XDP_NETWORK_MONITOR_SKELETON")
 )
 
+(define-object OpenURI
+  (in-module "GXdp")
+  (c-name "GXdpOpenURI")
+  (gtype-id "G_TYPE_XDP_OPEN_URI")
+)
+
+(define-object OpenURIProxy
+  (in-module "GXdp")
+  (parent "GDBusProxy")
+  (c-name "GXdpOpenURIProxy")
+  (gtype-id "G_TYPE_XDP_OPEN_URI_PROXY")
+)
+
+(define-object OpenURISkeleton
+  (in-module "GXdp")
+  (parent "GDBusInterfaceSkeleton")
+  (c-name "GXdpOpenURISkeleton")
+  (gtype-id "G_TYPE_XDP_OPEN_URI_SKELETON")
+)
+
 (define-object ProxyResolver
   (in-module "GXdp")
   (c-name "GXdpProxyResolver")
@@ -1365,6 +1385,7 @@
     '("none" "G_BUS_NAME_OWNER_FLAGS_NONE")
     '("allow-replacement" "G_BUS_NAME_OWNER_FLAGS_ALLOW_REPLACEMENT")
     '("replace" "G_BUS_NAME_OWNER_FLAGS_REPLACE")
+    '("do-not-queue" "G_BUS_NAME_OWNER_FLAGS_DO_NOT_QUEUE")
   )
 )
 
@@ -2217,7 +2238,7 @@
   (return-type "gboolean")
   (parameters
     '("GList*" "files")
-    '("GAppLaunchContext*" "launch_context")
+    '("GAppLaunchContext*" "context")
     '("GError**" "error")
   )
 )
@@ -2240,7 +2261,7 @@
   (return-type "gboolean")
   (parameters
     '("GList*" "uris")
-    '("GAppLaunchContext*" "launch_context")
+    '("GAppLaunchContext*" "context")
     '("GError**" "error")
   )
 )
@@ -2384,7 +2405,7 @@
   (return-type "gboolean")
   (parameters
     '("const-char*" "uri")
-    '("GAppLaunchContext*" "launch_context")
+    '("GAppLaunchContext*" "context")
     '("GError**" "error")
   )
 )
@@ -2394,7 +2415,7 @@
   (return-type "none")
   (parameters
     '("const-char*" "uri")
-    '("GAppLaunchContext*" "launch_context")
+    '("GAppLaunchContext*" "context")
     '("GCancellable*" "cancellable")
     '("GAsyncReadyCallback" "callback")
     '("gpointer" "user_data")
@@ -3437,6 +3458,15 @@
   )
 )
 
+(define-function g_content_type_is_mime_type
+  (c-name "g_content_type_is_mime_type")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "type")
+    '("const-gchar*" "mime_type")
+  )
+)
+
 (define-function g_content_type_is_unknown
   (c-name "g_content_type_is_unknown")
   (return-type "gboolean")
@@ -6933,6 +6963,16 @@
   )
 )
 
+(define-function g_document_portal_add_documents
+  (c-name "g_document_portal_add_documents")
+  (return-type "GList*")
+  (parameters
+    '("GList*" "uris")
+    '("const-char*" "app_id")
+    '("GError**" "error")
+  )
+)
+
 
 
 ;; From gdrive.h
@@ -7798,6 +7838,15 @@
   )
 )
 
+(define-function g_file_new_build_filename
+  (c-name "g_file_new_build_filename")
+  (return-type "GFile*")
+  (parameters
+    '("const-gchar*" "first_element")
+  )
+  (varargs #t)
+)
+
 (define-method dup
   (of-object "GFile")
   (c-name "g_file_dup")
@@ -9108,6 +9157,39 @@
   (return-type "gboolean")
 )
 
+(define-method load_bytes
+  (of-object "GFile")
+  (c-name "g_file_load_bytes")
+  (return-type "GBytes*")
+  (parameters
+    '("GCancellable*" "cancellable")
+    '("gchar**" "etag_out")
+    '("GError**" "error")
+  )
+)
+
+(define-method load_bytes_async
+  (of-object "GFile")
+  (c-name "g_file_load_bytes_async")
+  (return-type "none")
+  (parameters
+    '("GCancellable*" "cancellable")
+    '("GAsyncReadyCallback" "callback")
+    '("gpointer" "user_data")
+  )
+)
+
+(define-method load_bytes_finish
+  (of-object "GFile")
+  (c-name "g_file_load_bytes_finish")
+  (return-type "GBytes*")
+  (parameters
+    '("GAsyncResult*" "result")
+    '("gchar**" "etag_out")
+    '("GError**" "error")
+  )
+)
+
 
 
 ;; From gfileicon.h
@@ -11207,10 +11289,6 @@
 
 
 
-;; From gio_probes.h
-
-
-
 ;; From gioscheduler.h
 
 (define-function g_io_scheduler_push_job
@@ -11359,12 +11437,21 @@
 
 ;; From gio-tool.h
 
+(define-function print_error
+  (c-name "print_error")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "format")
+  )
+  (varargs #t)
+)
+
 (define-function print_file_error
   (c-name "print_file_error")
   (return-type "none")
   (parameters
     '("GFile*" "file")
-    '("const-char*" "message")
+    '("const-gchar*" "message")
   )
 )
 
@@ -13257,6 +13344,64 @@
 
 
 
+;; From gopenuriportal.h
+
+(define-function g_openuri_portal_open_uri
+  (c-name "g_openuri_portal_open_uri")
+  (return-type "gboolean")
+  (parameters
+    '("const-char*" "uri")
+    '("const-char*" "parent_window")
+    '("GError**" "error")
+  )
+)
+
+(define-function g_openuri_portal_open_uri_async
+  (c-name "g_openuri_portal_open_uri_async")
+  (return-type "none")
+  (parameters
+    '("const-char*" "uri")
+    '("const-char*" "parent_window")
+    '("GCancellable*" "cancellable")
+    '("GAsyncReadyCallback" "callback")
+    '("gpointer" "user_data")
+  )
+)
+
+(define-function g_openuri_portal_open_uri_finish
+  (c-name "g_openuri_portal_open_uri_finish")
+  (return-type "gboolean")
+  (parameters
+    '("GAsyncResult*" "result")
+    '("GError**" "error")
+  )
+)
+
+
+
+;; From gosxappinfo.h
+
+(define-function g_osx_app_info_get_type
+  (c-name "g_osx_app_info_get_type")
+  (return-type "GType")
+)
+
+(define-method get_filename
+  (of-object "GOsxAppInfo")
+  (c-name "g_osx_app_info_get_filename")
+  (return-type "char*")
+)
+
+(define-function g_osx_app_info_get_all_for_scheme
+  (c-name "g_osx_app_info_get_all_for_scheme")
+  (return-type "GList*")
+  (parameters
+    '("const-gchar*" "scheme")
+  )
+)
+
+
+
 ;; From goutputstream.h
 
 (define-function g_output_stream_get_type
@@ -16710,6 +16855,30 @@
   )
 )
 
+(define-method join_multicast_group_ssm
+  (of-object "GSocket")
+  (c-name "g_socket_join_multicast_group_ssm")
+  (return-type "gboolean")
+  (parameters
+    '("GInetAddress*" "group")
+    '("GInetAddress*" "source_specific")
+    '("const-gchar*" "iface")
+    '("GError**" "error")
+  )
+)
+
+(define-method leave_multicast_group_ssm
+  (of-object "GSocket")
+  (c-name "g_socket_leave_multicast_group_ssm")
+  (return-type "gboolean")
+  (parameters
+    '("GInetAddress*" "group")
+    '("GInetAddress*" "source_specific")
+    '("const-gchar*" "iface")
+    '("GError**" "error")
+  )
+)
+
 (define-method connect
   (of-object "GSocket")
   (c-name "g_socket_connect")
@@ -19213,12 +19382,36 @@
 
 ;; From gunixmounts.h
 
+(define-function g_unix_mount_entry_get_type
+  (c-name "g_unix_mount_entry_get_type")
+  (return-type "GType")
+)
+
+(define-function g_unix_mount_point_get_type
+  (c-name "g_unix_mount_point_get_type")
+  (return-type "GType")
+)
+
+(define-function g_unix_mount_copy
+  (c-name "g_unix_mount_copy")
+  (return-type "GUnixMountEntry*")
+  (parameters
+    '("GUnixMountEntry*" "mount_entry")
+  )
+)
+
 (define-method free
   (of-object "GUnixMountPoint")
   (c-name "g_unix_mount_point_free")
   (return-type "none")
 )
 
+(define-method copy
+  (of-object "GUnixMountPoint")
+  (c-name "g_unix_mount_point_copy")
+  (return-type "GUnixMountPoint*")
+)
+
 (define-function g_unix_mount_compare
   (c-name "g_unix_mount_compare")
   (return-type "gint")
@@ -19308,15 +19501,6 @@
   )
 )
 
-(define-method compare
-  (of-object "GUnixMountPoint")
-  (c-name "g_unix_mount_point_compare")
-  (return-type "gint")
-  (parameters
-    '("GUnixMountPoint*" "mount2")
-  )
-)
-
 (define-method get_mount_path
   (of-object "GUnixMountPoint")
   (c-name "g_unix_mount_point_get_mount_path")
@@ -19408,6 +19592,15 @@
   )
 )
 
+(define-function g_unix_mount_for
+  (c-name "g_unix_mount_for")
+  (return-type "GUnixMountEntry*")
+  (parameters
+    '("const-char*" "file_path")
+    '("guint64*" "time_read")
+  )
+)
+
 (define-function g_unix_mounts_changed_since
   (c-name "g_unix_mounts_changed_since")
   (return-type "gboolean")
@@ -19457,6 +19650,22 @@
   )
 )
 
+(define-function g_unix_is_system_fs_type
+  (c-name "g_unix_is_system_fs_type")
+  (return-type "gboolean")
+  (parameters
+    '("const-char*" "fs_type")
+  )
+)
+
+(define-function g_unix_is_system_device_path
+  (c-name "g_unix_is_system_device_path")
+  (return-type "gboolean")
+  (parameters
+    '("const-char*" "device_path")
+  )
+)
+
 
 
 ;; From gunixoutputstream.h
@@ -20404,6 +20613,18 @@
   )
 )
 
+(define-method complete_add_full
+  (of-object "GXdpDocuments")
+  (c-name "gxdp_documents_complete_add_full")
+  (return-type "none")
+  (parameters
+    '("GDBusMethodInvocation*" "invocation")
+    '("GUnixFDList*" "fd_list")
+    '("const-gchar*-const*" "doc_ids")
+    '("GVariant*" "extra_out")
+  )
+)
+
 (define-method complete_grant_permissions
   (of-object "GXdpDocuments")
   (c-name "gxdp_documents_complete_grant_permissions")
@@ -20583,6 +20804,53 @@
   )
 )
 
+(define-method call_add_full
+  (of-object "GXdpDocuments")
+  (c-name "gxdp_documents_call_add_full")
+  (return-type "none")
+  (parameters
+    '("GVariant*" "arg_o_path_fds")
+    '("guint" "arg_flags")
+    '("const-gchar*" "arg_app_id")
+    '("const-gchar*-const*" "arg_permissions")
+    '("GUnixFDList*" "fd_list")
+    '("GCancellable*" "cancellable")
+    '("GAsyncReadyCallback" "callback")
+    '("gpointer" "user_data")
+  )
+)
+
+(define-method call_add_full_finish
+  (of-object "GXdpDocuments")
+  (c-name "gxdp_documents_call_add_full_finish")
+  (return-type "gboolean")
+  (parameters
+    '("gchar***" "out_doc_ids")
+    '("GVariant**" "out_extra_out")
+    '("GUnixFDList**" "out_fd_list")
+    '("GAsyncResult*" "res")
+    '("GError**" "error")
+  )
+)
+
+(define-method call_add_full_sync
+  (of-object "GXdpDocuments")
+  (c-name "gxdp_documents_call_add_full_sync")
+  (return-type "gboolean")
+  (parameters
+    '("GVariant*" "arg_o_path_fds")
+    '("guint" "arg_flags")
+    '("const-gchar*" "arg_app_id")
+    '("const-gchar*-const*" "arg_permissions")
+    '("GUnixFDList*" "fd_list")
+    '("gchar***" "out_doc_ids")
+    '("GVariant**" "out_extra_out")
+    '("GUnixFDList**" "out_fd_list")
+    '("GCancellable*" "cancellable")
+    '("GError**" "error")
+  )
+)
+
 (define-method call_grant_permissions
   (of-object "GXdpDocuments")
   (c-name "gxdp_documents_call_grant_permissions")
@@ -20797,6 +21065,21 @@
   )
 )
 
+(define-method get_version
+  (of-object "GXdpDocuments")
+  (c-name "gxdp_documents_get_version")
+  (return-type "guint")
+)
+
+(define-method set_version
+  (of-object "GXdpDocuments")
+  (c-name "gxdp_documents_set_version")
+  (return-type "none")
+  (parameters
+    '("guint" "value")
+  )
+)
+
 (define-function gxdp_documents_proxy_get_type
   (c-name "gxdp_documents_proxy_get_type")
   (return-type "GType")
@@ -20865,6 +21148,211 @@
   (return-type "GType")
 )
 
+(define-function gxdp_open_uri_get_type
+  (c-name "gxdp_open_uri_get_type")
+  (return-type "GType")
+)
+
+(define-function gxdp_open_uri_interface_info
+  (c-name "gxdp_open_uri_interface_info")
+  (return-type "GDBusInterfaceInfo*")
+)
+
+(define-function gxdp_open_uri_override_properties
+  (c-name "gxdp_open_uri_override_properties")
+  (return-type "guint")
+  (parameters
+    '("GObjectClass*" "klass")
+    '("guint" "property_id_begin")
+  )
+)
+
+(define-method complete_open_uri
+  (of-object "GXdpOpenURI")
+  (c-name "gxdp_open_uri_complete_open_uri")
+  (return-type "none")
+  (parameters
+    '("GDBusMethodInvocation*" "invocation")
+    '("const-gchar*" "handle")
+  )
+)
+
+(define-method complete_open_file
+  (of-object "GXdpOpenURI")
+  (c-name "gxdp_open_uri_complete_open_file")
+  (return-type "none")
+  (parameters
+    '("GDBusMethodInvocation*" "invocation")
+    '("GUnixFDList*" "fd_list")
+    '("const-gchar*" "handle")
+  )
+)
+
+(define-method call_open_uri
+  (of-object "GXdpOpenURI")
+  (c-name "gxdp_open_uri_call_open_uri")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "arg_parent_window")
+    '("const-gchar*" "arg_uri")
+    '("GVariant*" "arg_options")
+    '("GCancellable*" "cancellable")
+    '("GAsyncReadyCallback" "callback")
+    '("gpointer" "user_data")
+  )
+)
+
+(define-method call_open_uri_finish
+  (of-object "GXdpOpenURI")
+  (c-name "gxdp_open_uri_call_open_uri_finish")
+  (return-type "gboolean")
+  (parameters
+    '("gchar**" "out_handle")
+    '("GAsyncResult*" "res")
+    '("GError**" "error")
+  )
+)
+
+(define-method call_open_uri_sync
+  (of-object "GXdpOpenURI")
+  (c-name "gxdp_open_uri_call_open_uri_sync")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "arg_parent_window")
+    '("const-gchar*" "arg_uri")
+    '("GVariant*" "arg_options")
+    '("gchar**" "out_handle")
+    '("GCancellable*" "cancellable")
+    '("GError**" "error")
+  )
+)
+
+(define-method call_open_file
+  (of-object "GXdpOpenURI")
+  (c-name "gxdp_open_uri_call_open_file")
+  (return-type "none")
+  (parameters
+    '("const-gchar*" "arg_parent_window")
+    '("GVariant*" "arg_fd")
+    '("GVariant*" "arg_options")
+    '("GUnixFDList*" "fd_list")
+    '("GCancellable*" "cancellable")
+    '("GAsyncReadyCallback" "callback")
+    '("gpointer" "user_data")
+  )
+)
+
+(define-method call_open_file_finish
+  (of-object "GXdpOpenURI")
+  (c-name "gxdp_open_uri_call_open_file_finish")
+  (return-type "gboolean")
+  (parameters
+    '("gchar**" "out_handle")
+    '("GUnixFDList**" "out_fd_list")
+    '("GAsyncResult*" "res")
+    '("GError**" "error")
+  )
+)
+
+(define-method call_open_file_sync
+  (of-object "GXdpOpenURI")
+  (c-name "gxdp_open_uri_call_open_file_sync")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "arg_parent_window")
+    '("GVariant*" "arg_fd")
+    '("GVariant*" "arg_options")
+    '("GUnixFDList*" "fd_list")
+    '("gchar**" "out_handle")
+    '("GUnixFDList**" "out_fd_list")
+    '("GCancellable*" "cancellable")
+    '("GError**" "error")
+  )
+)
+
+(define-method get_version
+  (of-object "GXdpOpenURI")
+  (c-name "gxdp_open_uri_get_version")
+  (return-type "guint")
+)
+
+(define-method set_version
+  (of-object "GXdpOpenURI")
+  (c-name "gxdp_open_uri_set_version")
+  (return-type "none")
+  (parameters
+    '("guint" "value")
+  )
+)
+
+(define-function gxdp_open_uri_proxy_get_type
+  (c-name "gxdp_open_uri_proxy_get_type")
+  (return-type "GType")
+)
+
+(define-function gxdp_open_uri_proxy_new_finish
+  (c-name "gxdp_open_uri_proxy_new_finish")
+  (return-type "GXdpOpenURI*")
+  (parameters
+    '("GAsyncResult*" "res")
+    '("GError**" "error")
+  )
+)
+
+(define-function gxdp_open_uri_proxy_new_sync
+  (c-name "gxdp_open_uri_proxy_new_sync")
+  (return-type "GXdpOpenURI*")
+  (parameters
+    '("GDBusConnection*" "connection")
+    '("GDBusProxyFlags" "flags")
+    '("const-gchar*" "name")
+    '("const-gchar*" "object_path")
+    '("GCancellable*" "cancellable")
+    '("GError**" "error")
+  )
+)
+
+(define-function gxdp_open_uri_proxy_new_for_bus
+  (c-name "gxdp_open_uri_proxy_new_for_bus")
+  (return-type "none")
+  (parameters
+    '("GBusType" "bus_type")
+    '("GDBusProxyFlags" "flags")
+    '("const-gchar*" "name")
+    '("const-gchar*" "object_path")
+    '("GCancellable*" "cancellable")
+    '("GAsyncReadyCallback" "callback")
+    '("gpointer" "user_data")
+  )
+)
+
+(define-function gxdp_open_uri_proxy_new_for_bus_finish
+  (c-name "gxdp_open_uri_proxy_new_for_bus_finish")
+  (return-type "GXdpOpenURI*")
+  (parameters
+    '("GAsyncResult*" "res")
+    '("GError**" "error")
+  )
+)
+
+(define-function gxdp_open_uri_proxy_new_for_bus_sync
+  (c-name "gxdp_open_uri_proxy_new_for_bus_sync")
+  (return-type "GXdpOpenURI*")
+  (parameters
+    '("GBusType" "bus_type")
+    '("GDBusProxyFlags" "flags")
+    '("const-gchar*" "name")
+    '("const-gchar*" "object_path")
+    '("GCancellable*" "cancellable")
+    '("GError**" "error")
+  )
+)
+
+(define-function gxdp_open_uri_skeleton_get_type
+  (c-name "gxdp_open_uri_skeleton_get_type")
+  (return-type "GType")
+)
+
 (define-function gxdp_network_monitor_get_type
   (c-name "gxdp_network_monitor_get_type")
   (return-type "GType")
diff --git a/gio/src/gio_signals.defs b/gio/src/gio_signals.defs
index f8f1d3e..90e1ecb 100644
--- a/gio/src/gio_signals.defs
+++ b/gio/src/gio_signals.defs
@@ -95,19 +95,19 @@
 
 ;; From GApplication
 
-(define-signal activate
+(define-signal startup
   (of-object "GApplication")
   (return-type "void")
-  (flags "Run Last")
+  (flags "Run First")
 )
 
-(define-signal startup
+(define-signal shutdown
   (of-object "GApplication")
   (return-type "void")
-  (flags "Run First")
+  (flags "Run Last")
 )
 
-(define-signal shutdown
+(define-signal activate
   (of-object "GApplication")
   (return-type "void")
   (flags "Run Last")
diff --git a/glib/src/glib_docs.xml b/glib/src/glib_docs.xml
index 0282274..3d3c71e 100644
--- a/glib/src/glib_docs.xml
+++ b/glib/src/glib_docs.xml
@@ -152,6 +152,10 @@ Since: 2.16
 <parameter_description> Use the SHA-256 hashing algorithm
 </parameter_description>
 </parameter>
+<parameter name="G_CHECKSUM_SHA384">
+<parameter_description> Use the SHA-384 hashing algorithm (Since: 2.51)
+</parameter_description>
+</parameter>
 <parameter name="G_CHECKSUM_SHA512">
 <parameter_description> Use the SHA-512 hashing algorithm (Since: 2.36)
 </parameter_description>
@@ -601,6 +605,11 @@ a strong &quot;power of 2&quot; basis, like RAM sizes or RAID stripe sizes.
 Network and storage sizes should be reported in the normal SI units.
 </parameter_description>
 </parameter>
+<parameter name="G_FORMAT_SIZE_BITS">
+<parameter_description> set the size as a quantity in bits, rather than
+bytes, and return units in bits. For example, ‘Mb’ rather than ‘MB’.
+</parameter_description>
+</parameter>
 </parameters>
 </enum>
 
@@ -1161,6 +1170,25 @@ forms rather than a maximally decomposed form
 </parameters>
 </enum>
 
+<enum name="GNumberParserError">
+<description>
+Error codes returned by functions converting a string to a number.
+
+Since: 2.54
+
+</description>
+<parameters>
+<parameter name="G_NUMBER_PARSER_ERROR_INVALID">
+<parameter_description> String was not a valid number.
+</parameter_description>
+</parameter>
+<parameter name="G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS">
+<parameter_description> String was a number, but out of bounds.
+</parameter_description>
+</parameter>
+</parameters>
+</enum>
+
 <signal name="GObject::notify">
 <description>
 The notify signal is emitted on an object when one of its
@@ -1456,7 +1484,7 @@ setting.
 </parameter_description>
 </parameter>
 <parameter name="G_REGEX_DOTALL">
-<parameter_description> A dot metacharater (&quot;.&quot;) in the pattern matches all
+<parameter_description> A dot metacharacter (&quot;.&quot;) in the pattern matches all
 characters, including newlines. Without it, newlines are excluded.
 This option can be changed within a pattern by a (&quot;?s&quot;) option setting.
 </parameter_description>
@@ -1475,7 +1503,7 @@ be changed within a pattern by a &quot;(?x)&quot; option setting.
 it is constrained to match only at the first matching point in the
 string that is being searched. This effect can also be achieved by
 appropriate constructs in the pattern itself such as the &quot;^&quot;
-metacharater.
+metacharacter.
 </parameter_description>
 </parameter>
 <parameter name="G_REGEX_DOLLAR_ENDONLY">
@@ -1856,7 +1884,7 @@ Since: 2.14
 it is constrained to match only at the first matching point in the
 string that is being searched. This effect can also be achieved by
 appropriate constructs in the pattern itself such as the &quot;^&quot;
-metacharater.
+metacharacter.
 </parameter_description>
 </parameter>
 <parameter name="G_REGEX_MATCH_NOTBOL">
@@ -2259,7 +2287,7 @@ These two options correspond rather directly to the 'dist' and
 'built' terminology that automake uses and are explicitly used to
 distinguish between the 'srcdir' and 'builddir' being separate.  All
 files in your project should either be dist (in the
-`DIST_EXTRA` or `dist_schema_DATA`
+`EXTRA_DIST` or `dist_schema_DATA`
 sense, in which case they will always be in the srcdir) or built (in
 the `BUILT_SOURCES` sense, in which case they will
 always be in the builddir).
@@ -2323,7 +2351,7 @@ These flags determine what traps to set.
 
 Deprecated: #GTestTrapFlags is used only with g_test_trap_fork(),
 which is deprecated. g_test_trap_subprocess() uses
-#GTestTrapSubprocessFlags.
+#GTestSubprocessFlags.
 
 </description>
 <parameters>
@@ -2690,7 +2718,7 @@ These are the possible line break classifications.
 Since new unicode versions may add new types here, applications should be ready 
 to handle unknown values. They may be regarded as %G_UNICODE_BREAK_UNKNOWN.
 
-See &lt;ulink 
url=&quot;http://www.unicode.org/unicode/reports/tr14/&quot;&gt;http://www.unicode.org/unicode/reports/tr14/&lt;/ulink&gt;.
+See [Unicode Line Breaking Algorithm](http://www.unicode.org/unicode/reports/tr14/).
 
 </description>
 <parameters>
@@ -2854,6 +2882,18 @@ See &lt;ulink url=&quot;http://www.unicode.org/unicode/reports/tr14/&quot;&gt;ht
 <parameter_description> Regional Indicator (RI). Since: 2.36
 </parameter_description>
 </parameter>
+<parameter name="G_UNICODE_BREAK_EMOJI_BASE">
+<parameter_description> Emoji Base (EB). Since: 2.50
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_BREAK_EMOJI_MODIFIER">
+<parameter_description> Emoji Modifier (EM). Since: 2.50
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_BREAK_ZERO_WIDTH_JOINER">
+<parameter_description> Zero Width Joiner (ZWJ). Since: 2.50
+</parameter_description>
+</parameter>
 </parameters>
 </enum>
 
@@ -2866,9 +2906,7 @@ and is interchangeable with #PangoScript.
 
 Note that new types may be added in the future. Applications
 should be ready to handle unknown values.
-See &lt;ulink
-url=&quot;http://www.unicode.org/reports/tr24/&quot;&gt;Unicode Standard Annex
-#24: Script names&lt;/ulink&gt;.
+See [Unicode Standard Annex #24: Script names](http://www.unicode.org/reports/tr24/).
 
 </description>
 <parameters>
@@ -3416,6 +3454,46 @@ Old South Arabian. Since 2.26
 <parameter_description>          Signwriting. Since: 2.48
 </parameter_description>
 </parameter>
+<parameter name="G_UNICODE_SCRIPT_ADLAM">
+<parameter_description>                Adlam. Since: 2.50
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_SCRIPT_BHAIKSUKI">
+<parameter_description>            Bhaiksuki. Since: 2.50
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_SCRIPT_MARCHEN">
+<parameter_description>              Marchen. Since: 2.50
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_SCRIPT_NEWA">
+<parameter_description>                 Newa. Since: 2.50
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_SCRIPT_OSAGE">
+<parameter_description>                Osage. Since: 2.50
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_SCRIPT_TANGUT">
+<parameter_description>               Tangut. Since: 2.50
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_SCRIPT_MASARAM_GONDI">
+<parameter_description>        Masaram Gondi. Since: 2.54
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_SCRIPT_NUSHU">
+<parameter_description>                Nushu. Since: 2.54
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_SCRIPT_SOYOMBO">
+<parameter_description>              Soyombo. Since: 2.54
+</parameter_description>
+</parameter>
+<parameter name="G_UNICODE_SCRIPT_ZANABAZAR_SQUARE">
+<parameter_description>     Zanabazar Square. Since: 2.54
+</parameter_description>
+</parameter>
 </parameters>
 </enum>
 
@@ -3423,7 +3501,7 @@ Old South Arabian. Since 2.26
 <description>
 These are the possible character classifications from the
 Unicode specification.
-See &lt;ulink url=&quot;http://www.unicode.org/reports/tr44/#General_Category_Values&quot;&gt;Unicode 
Character Database&lt;/unlink&gt;.
+See [Unicode Character Database](http://www.unicode.org/reports/tr44/#General_Category_Values).
 
 </description>
 <parameters>
@@ -3948,6 +4026,10 @@ of @array will be set to zero.
 If array elements contain dynamically-allocated memory, they should
 be freed separately.
 
+This function is not thread-safe. If using a #GArray from multiple
+threads, use only the atomic g_array_ref() and g_array_unref()
+functions.
+
 
 </description>
 <parameters>
@@ -4158,7 +4240,7 @@ the new elements.
 <function name="g_array_ref">
 <description>
 Atomically increments the reference count of @array by one.
-This function is MT-safe and may be called from any thread.
+This function is thread-safe and may be called from any thread.
 
 Since: 2.22
 
@@ -4383,7 +4465,7 @@ This did not actually work, so any such code should be removed.
 <description>
 Atomically decrements the reference count of @array by one. If the
 reference count drops to 0, all memory allocated by the array is
-released. This function is MT-safe and may be called from any
+released. This function is thread-safe and may be called from any
 thread.
 
 Since: 2.22
@@ -4791,6 +4873,122 @@ old g_strdown(), which modified the string in place.)
 </return>
 </function>
 
+<function name="g_ascii_string_to_signed">
+<description>
+A convenience function for converting a string to a signed number.
+
+This function assumes that @str contains only a number of the given
+@base that is within inclusive bounds limited by @min and @max. If
+this is true, then the converted number is stored in @out_num. An
+empty string is not a valid input. A string with leading or
+trailing whitespace is also an invalid input.
+
+@base can be between 2 and 36 inclusive. Hexadecimal numbers must
+not be prefixed with &quot;0x&quot; or &quot;0X&quot;. Such a problem does not exist
+for octal numbers, since they were usually prefixed with a zero
+which does not change the value of the parsed number.
+
+Parsing failures result in an error with the %G_NUMBER_PARSER_ERROR
+domain. If the input is invalid, the error code will be
+%G_NUMBER_PARSER_ERROR_INVALID. If the parsed number is out of
+bounds - %G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS.
+
+See g_ascii_strtoll() if you have more complex needs such as
+parsing a string which starts with a number, but then has other
+characters.
+
+Since: 2.54
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a string
+</parameter_description>
+</parameter>
+<parameter name="base">
+<parameter_description> base of a parsed number
+</parameter_description>
+</parameter>
+<parameter name="min">
+<parameter_description> a lower bound (inclusive)
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> an upper bound (inclusive)
+</parameter_description>
+</parameter>
+<parameter name="out_num">
+<parameter_description> a return location for a number
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a return location for #GError
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @str was a number, otherwise %FALSE.
+
+</return>
+</function>
+
+<function name="g_ascii_string_to_unsigned">
+<description>
+A convenience function for converting a string to an unsigned number.
+
+This function assumes that @str contains only a number of the given
+@base that is within inclusive bounds limited by @min and @max. If
+this is true, then the converted number is stored in @out_num. An
+empty string is not a valid input. A string with leading or
+trailing whitespace is also an invalid input.
+
+@base can be between 2 and 36 inclusive. Hexadecimal numbers must
+not be prefixed with &quot;0x&quot; or &quot;0X&quot;. Such a problem does not exist
+for octal numbers, since they were usually prefixed with a zero
+which does not change the value of the parsed number.
+
+Parsing failures result in an error with the %G_NUMBER_PARSER_ERROR
+domain. If the input is invalid, the error code will be
+%G_NUMBER_PARSER_ERROR_INVALID. If the parsed number is out of
+bounds - %G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS.
+
+See g_ascii_strtoull() if you have more complex needs such as
+parsing a string which starts with a number, but then has other
+characters.
+
+Since: 2.54
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a string
+</parameter_description>
+</parameter>
+<parameter name="base">
+<parameter_description> base of a parsed number
+</parameter_description>
+</parameter>
+<parameter name="min">
+<parameter_description> a lower bound (inclusive)
+</parameter_description>
+</parameter>
+<parameter name="max">
+<parameter_description> an upper bound (inclusive)
+</parameter_description>
+</parameter>
+<parameter name="out_num">
+<parameter_description> a return location for a number
+</parameter_description>
+</parameter>
+<parameter name="error">
+<parameter_description> a return location for #GError
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @str was a number, otherwise %FALSE.
+
+</return>
+</function>
+
 <function name="g_ascii_strncasecmp">
 <description>
 Compare @s1 and @s2, ignoring the case of ASCII characters and any
@@ -5054,7 +5252,8 @@ fails. If the assertion fails (i.e. the expression is not true),
 an error message is logged and the application is terminated.
 
 The macro can be turned off in final releases of code by defining
-`G_DISABLE_ASSERT` when compiling the application.
+`G_DISABLE_ASSERT` when compiling the application, so code must
+not depend on any side effects from @expr.
 
 </description>
 <parameters>
@@ -6899,6 +7098,8 @@ The output buffer must be large enough to fit all the data that will
 be written to it. It will need up to 4 bytes, or up to 5 bytes if
 line-breaking is enabled.
 
+The @out array will not be automatically nul-terminated.
+
 Since: 2.12
 
 </description>
@@ -8611,6 +8812,30 @@ g_free().
 </return>
 </function>
 
+<function name="g_build_filename_valist">
+<description>
+Behaves exactly like g_build_filename(), but takes the path elements
+as a va_list. This function is mainly meant for language bindings.
+
+Since: 2.56
+
+</description>
+<parameters>
+<parameter name="first_element">
+<parameter_description> the first element in the path
+</parameter_description>
+</parameter>
+<parameter name="args">
+<parameter_description> va_list of remaining elements in path
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated string that must be freed
+with g_free().
+
+</return>
+</function>
+
 <function name="g_build_filenamev">
 <description>
 Behaves exactly like g_build_filename(), but takes the path elements 
@@ -9231,7 +9456,7 @@ Since: 2.32
 <parameters>
 <parameter name="data">
 <parameter_description>
-          the data to be used for the bytes
+the data to be used for the bytes
 </parameter_description>
 </parameter>
 <parameter name="size">
@@ -9265,7 +9490,7 @@ Since: 2.32
 <parameters>
 <parameter name="data">
 <parameter_description>
-          the data to be used for the bytes
+the data to be used for the bytes
 </parameter_description>
 </parameter>
 <parameter name="size">
@@ -9296,7 +9521,7 @@ Since: 2.32
 <parameters>
 <parameter name="data">
 <parameter_description>
-          the data to be used for the bytes
+the data to be used for the bytes
 </parameter_description>
 </parameter>
 <parameter name="size">
@@ -9338,7 +9563,7 @@ Since: 2.32
 <function name="g_bytes_unref">
 <description>
 Releases a reference on @bytes.  This may result in the bytes being
-freed.
+freed. If @bytes is %NULL, it will return immediately.
 
 Since: 2.32
 
@@ -11529,7 +11754,7 @@ the last parameter.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #GCClosure
+<return> a floating reference to a new #GCClosure
 </return>
 </function>
 
@@ -11602,7 +11827,7 @@ the first parameter.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #GCClosure
+<return> a floating reference to a new #GCClosure
 </return>
 </function>
 
@@ -11826,6 +12051,8 @@ source is still active. Typically, you will want to call
 g_spawn_close_pid() in the callback function for the source.
 
 GLib supports only a single callback per process id.
+On POSIX platforms, the same restrictions mentioned for
+g_child_watch_source_new() apply to this function.
 
 This internally creates a main loop source using 
 g_child_watch_source_new() and attaches it to the main loop context 
@@ -11875,6 +12102,8 @@ is still active.  Typically, you should invoke g_spawn_close_pid()
 in the callback function for the source.
 
 GLib supports only a single callback per process id.
+On POSIX platforms, the same restrictions mentioned for
+g_child_watch_source_new() apply to this function.
 
 This internally creates a main loop source using 
 g_child_watch_source_new() and attaches it to the main loop context 
@@ -11929,14 +12158,24 @@ Note that on platforms where #GPid must be explicitly closed
 source is still active. Typically, you will want to call
 g_spawn_close_pid() in the callback function for the source.
 
-Note further that using g_child_watch_source_new() is not
-compatible with calling `waitpid` with a nonpositive first
-argument in the application. Calling waitpid() for individual
-pids will still work fine.
+On POSIX platforms, the following restrictions apply to this API
+due to limitations in POSIX process interfaces:
+
+* @pid must be a child of this process
+* @pid must be positive
+* the application must not call `waitpid` with a non-positive
+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
+
+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
+stating that `ECHILD` was received by `waitpid`.
 
-Similarly, on POSIX platforms, the @pid passed to this function must
-be greater than 0 (i.e. this function must wait for a specific child,
-and cannot wait for one of many children by using a nonpositive argument).
+Calling `waitpid` for specific processes other than @pid remains a
+valid thing to do.
 
 Since: 2.4
 
@@ -12000,6 +12239,35 @@ calls g_error_free() on *@err and sets *@err to %NULL.
 <return></return>
 </function>
 
+<function name="g_clear_handle_id">
+<description>
+Clears a numeric handler, such as a #GSource ID.
+
+@tag_ptr must be a valid pointer to the variable holding the handler.
+
+If the ID is zero then this function does nothing.
+Otherwise, clear_func() is called with the ID as a parameter, and the tag is
+set to zero.
+
+A macro is also included that allows this function to be used without
+pointer casts.
+
+Since: 2.56
+
+</description>
+<parameters>
+<parameter name="tag_ptr">
+<parameter_description> a pointer to the handler ID
+</parameter_description>
+</parameter>
+<parameter name="clear_func">
+<parameter_description> the function to call to clear the handler
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_clear_object">
 <description>
 Clears a reference to a #GObject.
@@ -12307,7 +12575,7 @@ return my_closure;
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly allocated #GClosure
+<return> a floating reference to a new #GClosure
 </return>
 </function>
 
@@ -13258,8 +13526,8 @@ for the @len parameter is unsafe)
 <parameter_description>     UTF-8 string to use in place of character not
 present in the target encoding. (The string must be
 representable in the target encoding). 
-                  If %NULL, characters not in the target encoding will 
-                  be represented as Unicode escapes \uxxxx or \Uxxxxyyyy.
+If %NULL, characters not in the target encoding will 
+be represented as Unicode escapes \uxxxx or \Uxxxxyyyy.
 </parameter_description>
 </parameter>
 <parameter name="bytes_read">
@@ -13401,7 +13669,17 @@ example.
 
 You can also make critical warnings fatal at runtime by
 setting the `G_DEBUG` environment variable (see
-[Running GLib Applications](glib-running.html)).
+[Running GLib Applications](glib-running.html)):
+
+|[
+G_DEBUG=fatal-warnings gdb ./my-program
+]|
+
+Any unrelated failures can be skipped over in
+[gdb](https://www.gnu.org/software/gdb/) using the `continue` command.
+
+The message should typically *not* be translated to the
+user's language.
 
 If g_log_default_handler() is used as the log handler function, a new-line
 character will automatically be appended to @..., and need not be entered
@@ -13447,6 +13725,10 @@ function is NOT thread-safe. So unless @datalist can be protected
 from any modifications during invocation of this function, it should
 not be called.
 
+@func can make changes to @datalist, but the iteration will not
+reflect changes made during the g_datalist_foreach() call, other
+than skipping over elements that are removed.
+
 </description>
 <parameters>
 <parameter name="datalist">
@@ -13482,7 +13764,8 @@ g_datalist_id_get_data() because it compares strings.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the data element, or %NULL if it is not found.
+<return> the data element, or %NULL if it
+is not found.
 </return>
 </function>
 
@@ -13565,7 +13848,8 @@ Retrieves the data element corresponding to @key_id.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the data element, or %NULL if it is not found.
+<return> the data element, or %NULL if
+it is not found.
 </return>
 </function>
 
@@ -13604,7 +13888,8 @@ function.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the data previously stored at @key_id, or %NULL if none.
+<return> the data previously stored at @key_id,
+or %NULL if none.
 </return>
 </function>
 
@@ -13814,8 +14099,8 @@ corresponding to @k.
 </parameter_description>
 </parameter>
 <parameter name="f">
-<parameter_description> the function to call when the data element is removed. This
-function will be called with the data element and can be used to
+<parameter_description> the function to call when the data element is removed.
+This function will be called with the data element and can be used to
 free any memory allocated for it. If @d is %NULL, then @f must
 also be %NULL.
 </parameter_description>
@@ -13896,8 +14181,12 @@ destroy functions set for data elements.
 <description>
 Calls the given function for each data element which is associated
 with the given location. Note that this function is NOT thread-safe.
-So unless @datalist can be protected from any modifications during
-invocation of this function, it should not be called.
+So unless @dataset_location can be protected from any modifications
+during invocation of this function, it should not be called.
+
+@func can make changes to the dataset, but the iteration will not
+reflect changes made during the g_dataset_foreach() call, other
+than skipping over elements that are removed.
 
 </description>
 <parameters>
@@ -13933,8 +14222,8 @@ Gets the data element corresponding to a string.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the data element corresponding to the string, or %NULL if
-it is not found.
+<return> the data element corresponding to
+the string, or %NULL if it is not found.
 </return>
 </function>
 
@@ -13954,8 +14243,8 @@ Gets the data element corresponding to a #GQuark.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the data element corresponding to the #GQuark, or %NULL if
-it is not found.
+<return> the data element corresponding to
+the #GQuark, or %NULL if it is not found.
 </return>
 </function>
 
@@ -13995,7 +14284,8 @@ function.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the data previously stored at @key_id, or %NULL if none.
+<return> the data previously stored at @key_id,
+or %NULL if none.
 </return>
 </function>
 
@@ -14275,6 +14565,26 @@ greater than zero if @lhs is greater than @rhs
 </return>
 </function>
 
+<function name="g_date_copy">
+<description>
+Copies a GDate to a newly-allocated GDate. If the input was invalid
+(as determined by g_date_valid()), the invalid state will be copied
+as is into the new object.
+
+Since: 2.56
+
+</description>
+<parameters>
+<parameter name="date">
+<parameter_description> a #GDate to copy
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated #GDate initialized from @date
+
+</return>
+</function>
+
 <function name="g_date_days_between">
 <description>
 Computes the number of days between two dates.
@@ -15384,7 +15694,8 @@ Since: 2.26
 </parameter>
 </parameters>
 <return> a newly allocated string formatted to the requested format
-or %NULL in the case that there was an error. The string
+or %NULL in the case that there was an error (such as a format specifier
+not being supported in the current locale). The string
 should be freed with g_free().
 
 </return>
@@ -15840,6 +16151,63 @@ Since: 2.26
 </return>
 </function>
 
+<function name="g_date_time_new_from_iso8601">
+<description>
+Creates a #GDateTime corresponding to the given
+[ISO 8601 formatted string](https://en.wikipedia.org/wiki/ISO_8601)
+@text. ISO 8601 strings of the form &lt;date&gt;&lt;sep&gt;&lt;time&gt;&lt;tz&gt; are supported.
+
+&lt;sep&gt; is the separator and can be either 'T', 't' or ' '.
+
+&lt;date&gt; is in the form:
+
+- `YYYY-MM-DD` - Year/month/day, e.g. 2016-08-24.
+- `YYYYMMDD` - Same as above without dividers.
+- `YYYY-DDD` - Ordinal day where DDD is from 001 to 366, e.g. 2016-237.
+- `YYYYDDD` - Same as above without dividers.
+- `YYYY-Www-D` - Week day where ww is from 01 to 52 and D from 1-7,
+e.g. 2016-W34-3.
+- `YYYYWwwD` - Same as above without dividers.
+
+&lt;time&gt; is in the form:
+
+- `hh:mm:ss(.sss)` - Hours, minutes, seconds (subseconds), e.g. 22:10:42.123.
+- `hhmmss(.sss)` - Same as above without dividers.
+
+&lt;tz&gt; is an optional timezone suffix of the form:
+
+- `Z` - UTC.
+- `+hh:mm` or `-hh:mm` - Offset from UTC in hours and minutes, e.g. +12:00.
+- `+hh` or `-hh` - Offset from UTC in hours, e.g. +12.
+
+If the timezone is not provided in @text it must be provided in @default_tz
+(this field is otherwise ignored).
+
+This call can fail (returning %NULL) if @text is not a valid ISO 8601
+formatted string.
+
+You should release the return value by calling g_date_time_unref()
+when you are done with it.
+
+Since: 2.56
+
+</description>
+<parameters>
+<parameter name="text">
+<parameter_description> an ISO 8601 formatted time string.
+</parameter_description>
+</parameter>
+<parameter name="default_tz">
+<parameter_description> a #GTimeZone to use if the text doesn't contain a
+timezone, or %NULL.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GDateTime, or %NULL
+
+</return>
+</function>
+
 <function name="g_date_time_new_from_timeval_local">
 <description>
 Creates a #GDateTime corresponding to the given #GTimeVal @tv in the
@@ -16444,7 +16812,8 @@ the domain set with textdomain()
 
 <function name="g_debug">
 <description>
-A convenience function/macro to log a debug message.
+A convenience function/macro to log a debug message. The message should
+typically *not* be translated to the user's language.
 
 If g_log_default_handler() is used as the log handler function, a new-line
 character will automatically be appended to @..., and need not be entered
@@ -17014,6 +17383,31 @@ be stack-allocated.
 </return>
 </function>
 
+<function name="g_enum_to_string">
+<description>
+Pretty-prints @value in the form of the enum’s name.
+
+This is intended to be used for debugging purposes. The format of the output
+may change in the future.
+
+Since: 2.54
+
+</description>
+<parameters>
+<parameter name="g_enum_type">
+<parameter_description> the type identifier of a #GEnumClass type
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the value
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated text string
+
+</return>
+</function>
+
 <function name="g_environ_getenv">
 <description>
 Returns the value of the environment variable @variable in the
@@ -17024,8 +17418,8 @@ Since: 2.32
 </description>
 <parameters>
 <parameter name="envp">
-<parameter_description> an environment
-list (eg, as returned from g_get_environ()), or %NULL
+<parameter_description>
+an environment list (eg, as returned from g_get_environ()), or %NULL
 for an empty environment list
 </parameter_description>
 </parameter>
@@ -17052,14 +17446,15 @@ Since: 2.32
 </description>
 <parameters>
 <parameter name="envp">
-<parameter_description> an
-environment list that can be freed using g_strfreev() (e.g., as
+<parameter_description>
+an environment list that can be freed using g_strfreev() (e.g., as
 returned from g_get_environ()), or %NULL for an empty
 environment list
 </parameter_description>
 </parameter>
 <parameter name="variable">
-<parameter_description> the environment variable to set, must not contain '='
+<parameter_description> the environment variable to set, must not
+contain '='
 </parameter_description>
 </parameter>
 <parameter name="value">
@@ -17071,8 +17466,8 @@ environment list
 </parameter_description>
 </parameter>
 </parameters>
-<return> the
-updated environment list. Free it using g_strfreev().
+<return>
+the updated environment list. Free it using g_strfreev().
 
 </return>
 </function>
@@ -17087,25 +17482,27 @@ Since: 2.32
 </description>
 <parameters>
 <parameter name="envp">
-<parameter_description> an environment
-list that can be freed using g_strfreev() (e.g., as returned from g_get_environ()), 
-or %NULL for an empty environment list
+<parameter_description>
+an environment list that can be freed using g_strfreev() (e.g., as
+returned from g_get_environ()), or %NULL for an empty environment list
 </parameter_description>
 </parameter>
 <parameter name="variable">
-<parameter_description> the environment variable to remove, must not contain '='
+<parameter_description> the environment variable to remove, must not
+contain '='
 </parameter_description>
 </parameter>
 </parameters>
-<return> the
-updated environment list. Free it using g_strfreev().
+<return>
+the updated environment list. Free it using g_strfreev().
 
 </return>
 </function>
 
 <function name="g_error">
 <description>
-A convenience function/macro to log an error message.
+A convenience function/macro to log an error message. The message should
+typically *not* be translated to the user's language.
 
 This is not intended for end user error reporting. Use of #GError is
 preferred for that instead, as it allows calling functions to perform actions
@@ -17614,8 +18011,7 @@ encoding used for filenames.
 </parameter_description>
 </parameter>
 <parameter name="hostname">
-<parameter_description> Location to store hostname for the
-URI.
+<parameter_description> Location to store hostname for the URI.
 If there is no hostname in the URI, %NULL will be
 stored in this location.
 </parameter_description>
@@ -17901,6 +18297,32 @@ GObject keeps a reference to the data, so it cannot be stack-allocated.
 </return>
 </function>
 
+<function name="g_flags_to_string">
+<description>
+Pretty-prints @value in the form of the flag names separated by ` | ` and
+sorted. Any extra bits will be shown at the end as a hexadecimal number.
+
+This is intended to be used for debugging purposes. The format of the output
+may change in the future.
+
+Since: 2.54
+
+</description>
+<parameters>
+<parameter name="flags_type">
+<parameter_description> the type identifier of a #GFlagsClass type
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the value
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly-allocated text string
+
+</return>
+</function>
+
 <function name="g_fopen">
 <description>
 A wrapper for the stdio fopen() function. The fopen() function
@@ -18025,6 +18447,8 @@ readable file size
 An implementation of the standard fprintf() function which supports 
 positional parameters, as specified in the Single Unix Specification.
 
+`glib/gprintf.h` must be explicitly included in order to use this function.
+
 Since: 2.2
 
 </description>
@@ -18216,8 +18640,8 @@ Since: 2.28
 </description>
 <parameters>
 </parameters>
-<return> the list of
-environment variables
+<return>
+the list of environment variables
 
 </return>
 </function>
@@ -18309,6 +18733,8 @@ string is owned by GLib and should not be modified or freed. If no
 name can be determined, a default fixed string &quot;localhost&quot; is
 returned.
 
+The encoding of the returned string is UTF-8.
+
 Since: 2.8
 
 </description>
@@ -18418,9 +18844,11 @@ Since: 2.36
 Gets the name of the program. This name should not be localized,
 in contrast to g_get_application_name().
 
-If you are using GDK or GTK+ the program name is set in gdk_init(), 
-which is called by gtk_init(). The program name is found by taking 
-the last component of @argv[0].
+If you are using #GApplication the program name is set in
+g_application_run(). In case of GDK or GTK+ it is set in
+gdk_init(), which is called by gtk_init() and the
+#GtkApplication::startup handler. The program name is found by
+taking the last component of @argv[0].
 
 
 </description>
@@ -18479,12 +18907,15 @@ in the
 [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec).
 In this case the list of directories retrieved will be `XDG_CONFIG_DIRS`.
 
-On Windows is the directory that contains application data for all users.
-A typical path is C:\Documents and Settings\All Users\Application Data.
-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 to anyone using the computer.
+On Windows it follows XDG Base Directory Specification if `XDG_CONFIG_DIRS` is defined.
+If `XDG_CONFIG_DIRS` is undefined, the directory that contains application
+data for all users is used instead. A typical path is
+`C:\Documents and Settings\All Users\Application Data`.
+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
+to anyone using the computer.
 
 Since: 2.6
 
@@ -18506,9 +18937,11 @@ system-wide application data.
 On UNIX platforms this is determined using the mechanisms described
 in the
 [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec)
-In this case the list of directories retrieved will be XDG_DATA_DIRS.
+In this case the list of directories retrieved will be `XDG_DATA_DIRS`.
 
-On Windows the first elements in the list are the Application Data
+On Windows it follows XDG Base Directory Specification if `XDG_DATA_DIRS` is defined.
+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
@@ -18575,12 +19008,13 @@ data specific to particular user.
 On UNIX platforms this is determined using the mechanisms described
 in the
 [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec).
-In this case the directory retrieved will be XDG_CACHE_HOME.
+In this case the directory retrieved will be `XDG_CACHE_HOME`.
 
-On Windows is the directory that serves as a common repository for
-temporary Internet files. A typical path is
-C:\Documents and Settings\username\Local Settings\Temporary Internet Files.
-See documentation for CSIDL_INTERNET_CACHE.
+On Windows it follows XDG Base Directory Specification if `XDG_CACHE_HOME` is defined.
+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).
 
 Since: 2.6
 
@@ -18602,10 +19036,12 @@ in the
 [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec).
 In this case the directory retrieved will be `XDG_CONFIG_HOME`.
 
-On Windows this is the folder to use for local (as opposed to
-roaming) application data. See documentation for
-CSIDL_LOCAL_APPDATA. Note that on Windows it thus is the same as
-what g_get_user_data_dir() returns.
+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).
+Note that in this case on Windows it will be  the same
+as what g_get_user_data_dir() returns.
 
 Since: 2.6
 
@@ -18627,10 +19063,12 @@ in the
 [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec).
 In this case the directory retrieved will be `XDG_DATA_HOME`.
 
-On Windows this is the folder to use for local (as opposed to
-roaming) application data. See documentation for
-CSIDL_LOCAL_APPDATA. Note that on Windows it thus is the same as
-what g_get_user_config_dir() returns.
+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).
+Note that in this case on Windows it will be the same
+as what g_get_user_config_dir() returns.
 
 Since: 2.6
 
@@ -18662,7 +19100,7 @@ consistent on a machine. On Windows, it is always UTF-8.
 Returns a directory that is unique to the current user on the local
 system.
 
-On UNIX platforms this is determined using the mechanisms described
+This is determined using the mechanisms described
 in the 
 [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec).
 This is the directory
@@ -18670,11 +19108,6 @@ 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.
 
-On Windows this is the folder to use for local (as opposed to
-roaming) application data. See documentation for
-CSIDL_LOCAL_APPDATA.  Note that on Windows it thus is the same as
-what g_get_user_config_dir() returns.
-
 Since: 2.28
 
 </description>
@@ -19307,7 +19740,9 @@ The g_direct_equal(), g_int_equal(), g_int64_equal(), g_double_equal()
 and g_str_equal() functions are provided for the most common types
 of keys. If @key_equal_func is %NULL, keys are compared directly in
 a similar fashion to g_direct_equal(), but without the overhead of
-a function call.
+a function call. @key_equal_func is called with the key from the hash table
+as its first parameter, and the user-provided key to check against as
+its second.
 
 
 </description>
@@ -19336,7 +19771,7 @@ Since version 2.42 it is permissible for destroy notify functions to
 recursively remove further items from the hash table. This is only
 permissible if the application still holds a reference to the hash table.
 This means that you may need to ensure that the hash table is empty by
-calling g_hash_table_remove_all before releasing the last reference using
+calling g_hash_table_remove_all() before releasing the last reference using
 g_hash_table_unref().
 
 
@@ -19642,6 +20077,7 @@ will be closed and it won't be possible to call g_hmac_update()
 on it anymore.
 
 Support for digests of type %G_CHECKSUM_SHA512 has been added in GLib 2.42.
+Support for %G_CHECKSUM_SHA384 was added in GLib 2.52.
 
 Since: 2.30
 
@@ -20968,8 +21404,7 @@ by g_io_channel_new_file (), and %FALSE for all other channels.
 </parameter_description>
 </parameter>
 </parameters>
-<return> Whether the channel will be closed on the final unref of
-the GIOChannel data structure.
+<return> %TRUE if the channel will be closed, %FALSE otherwise.
 </return>
 </function>
 
@@ -21419,8 +21854,12 @@ The default state of the channel is buffered.
 
 <function name="g_io_channel_set_close_on_unref">
 <description>
+Whether to close the channel on the final unref of the #GIOChannel
+data structure. The default value of this is %TRUE for channels
+created by g_io_channel_new_file (), and %FALSE for all other channels.
+
 Setting this flag to %TRUE for a channel you have already closed
-can cause problems.
+can cause problems when the final reference to the #GIOChannel is dropped.
 
 </description>
 <parameters>
@@ -21430,9 +21869,7 @@ can cause problems.
 </parameter>
 <parameter name="do_close">
 <parameter_description> Whether to close the channel on the final unref of
-the GIOChannel data structure. The default value of
-this is %TRUE for channels created by g_io_channel_new_file (),
-and %FALSE for all other channels.
+the GIOChannel data structure.
 </parameter_description>
 </parameter>
 </parameters>
@@ -21604,6 +22041,8 @@ The default encoding for #GIOChannel is UTF-8. If your application
 is reading output from a command using via pipe, you may need to set
 the encoding to the encoding of the current locale (see
 g_get_charset()) with the g_io_channel_set_encoding() function.
+By default, the fd passed will not be closed when the final reference
+to the #GIOChannel data structure is dropped.
 
 If you want to read raw binary data without interpretation, then
 call the g_io_channel_set_encoding() function with %NULL for the
@@ -21653,8 +22092,8 @@ order to meaningfully use this function your code should use the
 same C runtime as GLib uses, which is msvcrt.dll. Note that in
 current Microsoft compilers it is near impossible to convince it to
 build code that would use msvcrt.dll. The last Microsoft compiler
-version that supported using msvcrt.dll as the C runtime was version
-6. The GNU compiler and toolchain for Windows, also known as Mingw,
+version that supported using msvcrt.dll as the C runtime was version 6.
+The GNU compiler and toolchain for Windows, also known as Mingw,
 fully supports msvcrt.dll.
 
 If you have created a #GIOChannel for a file descriptor and started
@@ -22127,7 +22566,8 @@ integer.
 
 If @key cannot be found then 0 is returned and @error is set to
 #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the value associated
-with @key cannot be interpreted as an integer then 0 is returned
+with @key cannot be interpreted as an integer, or is out of range
+for a #gint, then 0 is returned
 and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE.
 
 Since: 2.6
@@ -22164,7 +22604,8 @@ integers.
 
 If @key cannot be found then %NULL is returned and @error is set to
 #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated
-with @key cannot be interpreted as integers then %NULL is returned
+with @key cannot be interpreted as integers, or are out of range for
+#gint, then %NULL is returned
 and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE.
 
 Since: 2.6
@@ -22663,9 +23104,13 @@ of the file, or %NULL
 <description>
 This function looks for a key file named @file in the paths
 specified in @search_dirs, loads the file into @key_file and
-returns the file's full path in @full_path.  If the file could not
-be loaded then an %error is set to either a #GFileError or
-#GKeyFileError.
+returns the file's full path in @full_path.
+
+If the file could not be found in any of the @search_dirs,
+%G_KEY_FILE_ERROR_NOT_FOUND is returned. If
+the file is found but the OS returns an error when opening or reading the
+file, a %G_FILE_ERROR is returned. If there is a problem parsing the file, a
+%G_KEY_FILE_ERROR is returned.
 
 Since: 2.14
 
@@ -22705,8 +23150,13 @@ of the file, or %NULL
 <function name="g_key_file_load_from_file">
 <description>
 Loads a key file into an empty #GKeyFile structure.
-If the file could not be loaded then @error is set to
-either a #GFileError or #GKeyFileError.
+
+If the OS returns an error when opening or reading the file, a
+%G_FILE_ERROR is returned. If there is a problem parsing the file, a
+%G_KEY_FILE_ERROR is returned.
+
+This function will never return a %G_KEY_FILE_ERROR_NOT_FOUND error. If the
+@file is not found, %G_FILE_ERROR_NOENT is returned.
 
 Since: 2.6
 
@@ -23659,6 +24109,9 @@ or %NULL if the #GList has no elements
 <description>
 Calls a function for each element of a #GList.
 
+It is safe for @func to remove the element from @list, but it must
+not modify any part of the list after that element.
+
 </description>
 <parameters>
 <parameter name="list">
@@ -23728,6 +24181,9 @@ It is usually used after g_list_remove_link().
 Convenience method, which frees all the memory used by a #GList,
 and calls @free_func on every element's data.
 
+@free_func must not modify the list (eg, by removing the freed
+element from it).
+
 Since: 2.28
 
 </description>
@@ -24077,7 +24533,7 @@ start of the #GList
 <description>
 A convenience macro to get the previous element in a #GList.
 Note that it is considered perfectly acceptable to access
-@list-&gt;previous directly.
+@list-&gt;prev directly.
 
 
 </description>
@@ -24251,8 +24707,9 @@ Since: 2.8
 </description>
 <parameters>
 </parameters>
-<return> a %NULL-terminated
-list of strings which must be freed with g_strfreev().
+<return>
+a %NULL-terminated list of strings which must be freed with
+g_strfreev().
 
 </return>
 </function>
@@ -24614,7 +25071,7 @@ the log levels with the #G_LOG_FLAG_FATAL and
 
 <function name="g_log_set_handler_full">
 <description>
-Like g_log_sets_handler(), but takes a destroy notify for the @user_data.
+Like g_log_set_handler(), but takes a destroy notify for the @user_data.
 
 This has no effect if structured logging is enabled; see
 [Using Structured Logging][using-structured-logging].
@@ -24691,7 +25148,10 @@ finished with, if non-%NULL
 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 at the end of this function.
+be aborted 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.
 
 The structured data is provided as key–value pairs, where keys are UTF-8
 strings, and values are arbitrary pointers — typically pointing to UTF-8
@@ -24756,8 +25216,8 @@ g_log_structured_array (G_LOG_LEVEL_DEBUG, fields, G_N_ELEMENTS (fields));
 ]|
 
 Note also that, even if no other structured fields are specified, there
-must always be a &quot;MESSAGE&quot; key before the format string. The &quot;MESSAGE&quot;-format
-pair has to be the last of the key-value pairs, and &quot;MESSAGE&quot; is the only
+must always be a `MESSAGE` key before the format string. The `MESSAGE`-format
+pair has to be the last of the key-value pairs, and `MESSAGE` is the only
 field for which printf()-style formatting is supported.
 
 The default writer function for `stdout` and `stderr` will automatically
@@ -24952,6 +25412,12 @@ Check whether the given @output_fd file descriptor is a connection to the
 systemd journal, or something else (like a log file or `stdout` or
 `stderr`).
 
+Invalid file descriptors are accepted and return %FALSE, which allows for
+the following construct without needing any additional error handling:
+|[&lt;!-- language=&quot;C&quot; --&gt;
+is_journald = g_log_writer_is_journald (fileno (stderr));
+]|
+
 Since: 2.50
 
 </description>
@@ -25420,7 +25886,7 @@ Invokes a function in such a way that @context is owned during the
 invocation of @function.
 
 This function is the same as g_main_context_invoke() except that it
-lets you specify the priority incase @function ends up being
+lets you specify the priority in case @function ends up being
 scheduled as an idle and also lets you give a #GDestroyNotify for @data.
 
 @notify should not assume that it is called from any particular
@@ -27589,7 +28055,8 @@ However, its use was incompatible with the use of global constructors
 in GLib and GIO, because those use the GLib allocators before main is
 reached. Therefore this function is now deprecated and is just a stub.
 
-Deprecated: 2.46: Use other memory profiling tools instead
+Deprecated: 2.46: This function now does nothing. Use other memory
+profiling tools instead
 
 </description>
 <parameters>
@@ -27731,12 +28198,16 @@ on most UNIX-like systems.
 The parameter is a string that should follow the rules for
 mkdtemp() templates, i.e. contain the string &quot;XXXXXX&quot;.
 g_mkdtemp() is slightly more flexible than mkdtemp() in that the
-sequence does not have to occur at the very end of the template
-and you can pass a @mode and additional @flags. The X string will
-be modified to form the name of a directory that didn't exist.
+sequence does not have to occur at the very end of the template.
+The X string will be modified to form the name of a directory that
+didn't exist.
 The string should be in the GLib file name encoding. Most importantly,
 on Windows it should be in UTF-8.
 
+If you are going to be creating a temporary directory inside the
+directory returned by g_get_tmp_dir(), you might want to use
+g_dir_make_tmp() instead.
+
 Since: 2.30
 
 </description>
@@ -27760,13 +28231,17 @@ on most UNIX-like systems.
 
 The parameter is a string that should follow the rules for
 mkdtemp() templates, i.e. contain the string &quot;XXXXXX&quot;.
-g_mkdtemp() is slightly more flexible than mkdtemp() in that the
+g_mkdtemp_full() is slightly more flexible than mkdtemp() in that the
 sequence does not have to occur at the very end of the template
 and you can pass a @mode. The X string will be modified to form
 the name of a directory that didn't exist. The string should be
 in the GLib file name encoding. Most importantly, on Windows it
 should be in UTF-8.
 
+If you are going to be creating a temporary directory inside the
+directory returned by g_get_tmp_dir(), you might want to use
+g_dir_make_tmp() instead.
+
 Since: 2.30
 
 </description>
@@ -28404,8 +28879,9 @@ the second 1, and so on.
 
 <function name="g_node_children_foreach">
 <description>
-Calls a function for each of the children of a #GNode.
-Note that it doesn't descend beneath the child nodes.
+Calls a function for each of the children of a #GNode. Note that it
+doesn't descend beneath the child nodes. @func must not do anything
+that would modify the structure of the tree.
 
 </description>
 <parameters>
@@ -29006,6 +29482,7 @@ Reverses the order of the children of a #GNode.
 Traverses a tree starting at the given root #GNode.
 It calls the given function for each node visited.
 The traversal can be halted at any point by returning %TRUE from @func.
+@func must not do anything that would modify the structure of the tree.
 
 </description>
 <parameters>
@@ -29839,7 +30316,8 @@ Gets a named field from the objects table of associations (see g_object_set_data
 </parameter_description>
 </parameter>
 </parameters>
-<return> the data if found, or %NULL if no such data exists.
+<return> the data if found,
+or %NULL if no such data exists.
 </return>
 </function>
 
@@ -29923,6 +30401,37 @@ name/return location pairs, followed by %NULL
 <return></return>
 </function>
 
+<function name="g_object_getv">
+<description>
+Gets @n_properties properties for an @object.
+Obtained properties will be set to @values. All properties must be valid.
+Warnings will be emitted and undefined behaviour may result if invalid
+properties are passed in.
+
+Since: 2.54
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> a #GObject
+</parameter_description>
+</parameter>
+<parameter name="n_properties">
+<parameter_description> the number of properties
+</parameter_description>
+</parameter>
+<parameter name="names">
+<parameter_description> the names of each property to get
+</parameter_description>
+</parameter>
+<parameter name="values">
+<parameter_description> the values of each property to get
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_object_interface_find_property">
 <description>
 Find the #GParamSpec with the given name for an
@@ -30092,6 +30601,42 @@ name/value pairs, followed by %NULL
 </return>
 </function>
 
+<function name="g_object_new_with_properties">
+<description>
+Creates a new instance of a #GObject subtype and sets its properties using
+the provided arrays. Both arrays must have exactly @n_properties elements,
+and the names and values correspond by index.
+
+Construction parameters (see %G_PARAM_CONSTRUCT, %G_PARAM_CONSTRUCT_ONLY)
+which are not explicitly specified are set to their default values.
+
+Since: 2.54
+
+</description>
+<parameters>
+<parameter name="object_type">
+<parameter_description> the object type to instantiate
+</parameter_description>
+</parameter>
+<parameter name="n_properties">
+<parameter_description> the number of properties
+</parameter_description>
+</parameter>
+<parameter name="names">
+<parameter_description> the names of each property to be set
+</parameter_description>
+</parameter>
+<parameter name="values">
+<parameter_description> the values of each property to be set
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new instance of
+@object_type
+
+</return>
+</function>
+
 <function name="g_object_newv">
 <description>
 Creates a new instance of a #GObject subtype and sets its properties.
@@ -30099,6 +30644,8 @@ Creates a new instance of a #GObject subtype and sets its properties.
 Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY)
 which are not explicitly specified are set to their default values.
 
+Deprecated: 2.54: Use g_object_new_with_properties() instead.
+deprecated. See #GParameter for more information.
 
 </description>
 <parameters>
@@ -30117,6 +30664,7 @@ which are not explicitly specified are set to their default values.
 </parameters>
 <return> a new instance of
 @object_type
+
 </return>
 </function>
 
@@ -30208,6 +30756,11 @@ Since: 2.26
 <description>
 Increases the reference count of @object.
 
+Since GLib 2.56, if `GLIB_VERSION_MAX_ALLOWED` is 2.56 or greater, the type
+of @object will be propagated to the return type (using the GCC typeof()
+extension), so any casting the caller needs to do on the return type must be
+explicit.
+
 
 </description>
 <parameters>
@@ -30231,6 +30784,9 @@ reference by clearing the floating flag while leaving the reference
 count unchanged.  If the object is not floating, then this call
 adds a new normal reference increasing the reference count by one.
 
+Since GLib 2.56, the type of @object will be propagated to the return type
+under the same conditions as for g_object_ref().
+
 Since: 2.10
 
 
@@ -30600,6 +31156,37 @@ name/value pairs, followed by %NULL
 <return></return>
 </function>
 
+<function name="g_object_setv">
+<description>
+Sets @n_properties properties for an @object.
+Properties to be set will be taken from @values. All properties must be
+valid. Warnings will be emitted and undefined behaviour may result if invalid
+properties are passed in.
+
+Since: 2.54
+
+</description>
+<parameters>
+<parameter name="object">
+<parameter_description> a #GObject
+</parameter_description>
+</parameter>
+<parameter name="n_properties">
+<parameter_description> the number of properties
+</parameter_description>
+</parameter>
+<parameter name="names">
+<parameter_description> the names of each property to be set
+</parameter_description>
+</parameter>
+<parameter name="values">
+<parameter_description> the values of each property to be set
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="g_object_steal_data">
 <description>
 Remove a specified datum from the object's data associations,
@@ -30617,7 +31204,8 @@ without invoking the association's destroy handler.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the data if found, or %NULL if no such data exists.
+<return> the data if found, or %NULL
+if no such data exists.
 </return>
 </function>
 
@@ -31224,7 +31812,7 @@ Since: 2.44
 </description>
 <parameters>
 <parameter name="context">
-<parameter_description> a #GoptionContext
+<parameter_description> a #GOptionContext
 </parameter_description>
 </parameter>
 </parameters>
@@ -31514,7 +32102,7 @@ Since: 2.44
 </description>
 <parameters>
 <parameter name="context">
-<parameter_description> a #GoptionContext
+<parameter_description> a #GOptionContext
 </parameter_description>
 </parameter>
 <parameter name="strict_posix">
@@ -32130,7 +32718,7 @@ Get the short description of a #GParamSpec.
 <description>
 Gets the default value of @pspec as a pointer to a #GValue.
 
-The #GValue will remain value for the life of @pspec.
+The #GValue will remain valid for the life of @pspec.
 
 Since: 2.38
 
@@ -33430,7 +34018,7 @@ current directory introduce vagueness. This function interprets as
 an absolute file name one that either begins with a directory
 separator such as &quot;\Users\tml&quot; or begins with the root on a drive,
 for example &quot;C:\Windows&quot;. The first case also includes UNC paths
-such as &quot;\\myserver\docs\foo&quot;. In all cases, either slashes or
+such as &quot;\\\\myserver\docs\foo&quot;. In all cases, either slashes or
 backslashes are accepted.
 
 Note that a file name relative to the current drive root does not
@@ -33716,9 +34304,9 @@ directly if you need to block until a file descriptor is ready, but
 don't want to run the full main loop.
 
 Each element of @fds is a #GPollFD describing a single file
-descriptor to poll. The %fd field indicates the file descriptor,
-and the %events field indicates the events to poll for. On return,
-the %revents fields will be filled with the events that actually
+descriptor to poll. The @fd field indicates the file descriptor,
+and the @events field indicates the events to poll for. On return,
+the @revents fields will be filled with the events that actually
 occurred.
 
 On POSIX systems, the file descriptors in @fds can be any sort of
@@ -33744,7 +34332,7 @@ Since: 2.20
 </parameter_description>
 </parameter>
 </parameters>
-<return> the number of entries in @fds whose %revents fields
+<return> the number of entries in @fds whose @revents fields
 were filled in, or 0 if the operation timed out, or -1 on error or
 if the call was interrupted.
 
@@ -33842,6 +34430,8 @@ As with the standard printf(), this does not automatically append a trailing
 new-line character to the message, so typically @format should end with its
 own new-line character.
 
+`glib/gprintf.h` must be explicitly included in order to use this function.
+
 Since: 2.2
 
 </description>
@@ -34042,9 +34632,82 @@ in size automatically if necessary.
 <return></return>
 </function>
 
+<function name="g_ptr_array_find">
+<description>
+Checks whether @needle exists in @haystack. If the element is found, %TRUE is
+returned and the element’s index is returned in @index_ (if non-%NULL).
+Otherwise, %FALSE is returned and @index_ is undefined. If @needle exists
+multiple times in @haystack, the index of the first instance is returned.
+
+This does pointer comparisons only. If you want to use more complex equality
+checks, such as string comparisons, use g_ptr_array_find_with_equal_func().
+
+Since: 2.54
+
+</description>
+<parameters>
+<parameter name="haystack">
+<parameter_description> pointer array to be searched
+</parameter_description>
+</parameter>
+<parameter name="needle">
+<parameter_description> pointer to look for
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> return location for the index of
+the element, if found
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @needle is one of the elements of @haystack
+</return>
+</function>
+
+<function name="g_ptr_array_find_with_equal_func">
+<description>
+Checks whether @needle exists in @haystack, using the given @equal_func.
+If the element is found, %TRUE is returned and the element’s index is
+returned in @index_ (if non-%NULL). Otherwise, %FALSE is returned and @index_
+is undefined. If @needle exists multiple times in @haystack, the index of
+the first instance is returned.
+
+@equal_func is called with the element from the array as its first parameter,
+and @needle as its second parameter. If @equal_func is %NULL, pointer
+equality is used.
+
+Since: 2.54
+
+</description>
+<parameters>
+<parameter name="haystack">
+<parameter_description> pointer array to be searched
+</parameter_description>
+</parameter>
+<parameter name="needle">
+<parameter_description> pointer to look for
+</parameter_description>
+</parameter>
+<parameter name="equal_func">
+<parameter_description> the function to call for each element, which should
+return %TRUE when the desired element is found; or %NULL to use pointer
+equality
+</parameter_description>
+</parameter>
+<parameter name="index_">
+<parameter_description> return location for the index of
+the element, if found
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @needle is one of the elements of @haystack
+</return>
+</function>
+
 <function name="g_ptr_array_foreach">
 <description>
-Calls a function for each element of a #GPtrArray.
+Calls a function for each element of a #GPtrArray. @func must not
+add elements to or remove elements from the array.
 
 Since: 2.4
 
@@ -34079,6 +34742,10 @@ If array contents point to dynamically-allocated memory, they should
 be freed separately if @free_seg is %TRUE and no #GDestroyNotify
 function has been set for @array.
 
+This function is not thread-safe. If using a #GPtrArray from multiple
+threads, use only the atomic g_ptr_array_ref() and g_ptr_array_unref()
+functions.
+
 
 </description>
 <parameters>
@@ -34480,7 +35147,7 @@ This is guaranteed to be a stable sort since version 2.32.
 Atomically decrements the reference count of @array by one. If the
 reference count drops to 0, the effect is the same as calling
 g_ptr_array_free() with @free_segment set to %TRUE. This function
-is MT-safe and may be called from any thread.
+is thread-safe and may be called from any thread.
 
 Since: 2.22
 
@@ -34726,6 +35393,9 @@ when the desired element is found
 Calls @func for each element in the queue passing @user_data to the
 function.
 
+It is safe for @func to remove the element from @queue, but it must
+not modify any part of the queue after that element.
+
 Since: 2.4
 
 </description>
@@ -34770,6 +35440,9 @@ either use g_queue_free_full() or free them manually first.
 Convenience method, which frees all the memory used by a #GQueue,
 and calls the specified destroy function on every element's data.
 
+@free_func should not modify the queue (eg, by removing the freed
+element from it).
+
 Since: 2.32
 
 </description>
@@ -36580,7 +37253,7 @@ number-th captured subexpression of the match, '\g&lt;name&gt;' refers
 to the captured subexpression with the given name. '\0' refers
 to the complete match, but '\0' followed by a number is the octal
 representation of a character. To include a literal '\' in the
-replacement, write '\\'.
+replacement, write '\\\\'.
 
 There are also escapes that changes the case of the following text:
 
@@ -37294,9 +37967,20 @@ To make this undefined behaviour visible, if @expr evaluates to %FALSE,
 the result is usually that a critical message is logged and the current
 function returns.
 
-If G_DISABLE_CHECKS is defined then the check is not performed.  You
+If `G_DISABLE_CHECKS` is defined then the check is not performed.  You
 should therefore not depend on any side effects of @expr.
 
+To debug failure of a g_return_if_fail() check, run the code under a debugger
+with `G_DEBUG=fatal-criticals` or `G_DEBUG=fatal-warnings` defined in the
+environment (see [Running GLib Applications](glib-running.html)):
+
+|[
+G_DEBUG=fatal-warnings gdb ./my-program
+]|
+
+Any unrelated failures can be skipped over in
+[gdb](https://www.gnu.org/software/gdb/) using the `continue` command.
+
 </description>
 <parameters>
 <parameter name="expr">
@@ -37333,6 +38017,8 @@ should therefore not depend on any side effects of @expr.
 Logs a critical message and returns from the current function.
 This can only be used in functions which do not return a value.
 
+See g_return_if_fail() for guidance on how to debug failure of this check.
+
 </description>
 <parameters>
 </parameters>
@@ -37354,9 +38040,11 @@ To make this undefined behaviour visible, if @expr evaluates to %FALSE,
 the result is usually that a critical message is logged and @val is
 returned from the current function.
 
-If G_DISABLE_CHECKS is defined then the check is not performed.  You
+If `G_DISABLE_CHECKS` is defined then the check is not performed.  You
 should therefore not depend on any side effects of @expr.
 
+See g_return_if_fail() for guidance on how to debug failure of this check.
+
 </description>
 <parameters>
 <parameter name="expr">
@@ -37376,6 +38064,8 @@ if the expression is not true
 <description>
 Logs a critical message and returns @val.
 
+See g_return_if_fail() for guidance on how to debug failure of this check.
+
 </description>
 <parameters>
 <parameter name="val">
@@ -37478,7 +38168,8 @@ the write lock on @rw_lock or blocks waiting for it, the current
 thread 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.
+hold read locks 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
 
@@ -38182,7 +38873,7 @@ Since: 2.14
 <function name="g_sequence_foreach">
 <description>
 Calls @func for each item in the sequence passing @user_data
-to the function.
+to the function. @func must not modify the sequence itself.
 
 Since: 2.14
 
@@ -38207,7 +38898,8 @@ Since: 2.14
 <function name="g_sequence_foreach_range">
 <description>
 Calls @func for each item in the range (@begin, @end) passing
-@user_data to the function.
+@user_data to the function. @func must not modify the sequence
+itself.
 
 Since: 2.14
 
@@ -39291,6 +39983,12 @@ assign to it, or %NULL to clear the pointer
 Sets the name of the program. This name should not be localized,
 in contrast to g_set_application_name().
 
+If you are using #GApplication the program name is set in
+g_application_run(). In case of GDK or GTK+ it is set in
+gdk_init(), which is called by gtk_init() and the
+#GtkApplication::startup handler. The program name is found by
+taking the last component of @argv[0].
+
 Note that for thread-safety reasons this function can only be called once.
 
 </description>
@@ -39374,7 +40072,8 @@ Since: 2.4
 </description>
 <parameters>
 <parameter name="variable">
-<parameter_description> the environment variable to set, must not contain '='.
+<parameter_description> the environment variable to set, must not
+contain '='.
 </parameter_description>
 </parameter>
 <parameter name="value">
@@ -39415,8 +40114,8 @@ domain. Free the returned vector with g_strfreev().
 </parameter_description>
 </parameter>
 <parameter name="argvp">
-<parameter_description> return
-location for array of args
+<parameter_description>
+return location for array of args
 </parameter_description>
 </parameter>
 <parameter name="error">
@@ -39676,7 +40375,7 @@ details on how to handle the return value and memory management of @data.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the handler id (always greater than 0 for successful connections)
+<return> the handler ID, of type #gulong (always greater than 0 for successful connections)
 </return>
 </function>
 
@@ -39706,7 +40405,7 @@ The handler will be called after the default handler of the signal.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the handler id (always greater than 0 for successful connections)
+<return> the handler ID, of type #gulong (always greater than 0 for successful connections)
 </return>
 </function>
 
@@ -39735,7 +40434,7 @@ default handler of the signal.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the handler id (always greater than 0 for successful connections)
+<return> the handler ID (always greater than 0 for successful connections)
 </return>
 </function>
 
@@ -39768,7 +40467,7 @@ default handler of the signal.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the handler id (always greater than 0 for successful connections)
+<return> the handler ID (always greater than 0 for successful connections)
 </return>
 </function>
 
@@ -39808,7 +40507,7 @@ used. Specify @connect_flags if you need `..._after()` or
 </parameter_description>
 </parameter>
 </parameters>
-<return> the handler id (always greater than 0 for successful connections)
+<return> the handler ID (always greater than 0 for successful connections)
 </return>
 </function>
 
@@ -39901,7 +40600,7 @@ g_signal_connect (button, &quot;clicked&quot;,
 </parameter_description>
 </parameter>
 </parameters>
-<return> the handler ID (always greater than 0 for successful connections)
+<return> the handler ID, of type #gulong (always greater than 0 for successful connections)
 </return>
 </function>
 
@@ -40139,7 +40838,7 @@ and/or @data the handler has to match.
 
 <function name="g_signal_handler_is_connected">
 <description>
-Returns whether @handler_id is the id of a handler connected to @instance.
+Returns whether @handler_id is the ID of a handler connected to @instance.
 
 
 </description>
@@ -40149,7 +40848,7 @@ Returns whether @handler_id is the id of a handler connected to @instance.
 </parameter_description>
 </parameter>
 <parameter name="handler_id">
-<parameter_description> the handler id.
+<parameter_description> the handler ID.
 </parameter_description>
 </parameter>
 </parameters>
@@ -41059,7 +41758,7 @@ structure which is to be invoked by the new closure
 </parameter_description>
 </parameter>
 </parameters>
-<return> a new #GCClosure
+<return> a floating reference to a new #GCClosure
 </return>
 </function>
 
@@ -41126,7 +41825,7 @@ Since: 2.48
 <function name="g_slice_alloc">
 <description>
 Allocates a block of memory from the slice allocator.
-The block adress handed out can be expected to be aligned
+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,
@@ -41639,6 +42338,9 @@ It should return 0 when the desired element is found
 <description>
 Calls a function for each element of a #GSList.
 
+It is safe for @func to remove the element from @list, but it must
+not modify any part of the list after that element.
+
 </description>
 <parameters>
 <parameter name="list">
@@ -41708,6 +42410,9 @@ It is usually used after g_slist_remove_link().
 Convenience method, which frees all the memory used by a #GSList, and
 calls the specified destroy function on every element's data.
 
+@free_func must not modify the list (eg, by removing the freed
+element from it).
+
 Since: 2.28
 
 </description>
@@ -41899,6 +42604,8 @@ check @list against %NULL.
 <function name="g_slist_next">
 <description>
 A convenience macro to get the next element in a #GSList.
+Note that it is considered perfectly acceptable to access
+@slist-&gt;next directly.
 
 
 </description>
@@ -42098,7 +42805,8 @@ Reverses a #GSList.
 
 <function name="g_slist_sort">
 <description>
-Sorts a #GSList using the given comparison function.
+Sorts a #GSList using the given comparison function. The algorithm
+used is a stable sort.
 
 
 </description>
@@ -42558,6 +43266,12 @@ return FALSE;
 }
 ]|
 
+Calls to this function from a thread other than the one acquired by the
+#GMainContext the #GSource is attached to are typically redundant, as the
+source could be destroyed immediately after this function returns. However,
+once a source is destroyed it cannot be un-destroyed, so this function can be
+used for opportunistic checks from any thread.
+
 Since: 2.12
 
 </description>
@@ -42683,17 +43397,15 @@ Increases the reference count on a source by one.
 
 <function name="g_source_remove">
 <description>
-Removes the source with the given id from the default main context.
+Removes the source with the given ID from the default main context. You must
+use g_source_destroy() for sources added to a non-default main context.
 
-The id of a #GSource is given by g_source_get_id(), or will be
+The ID of a #GSource is given by g_source_get_id(), or will be
 returned by the functions g_source_attach(), g_idle_add(),
 g_idle_add_full(), g_timeout_add(), g_timeout_add_full(),
 g_child_watch_add(), g_child_watch_add_full(), g_io_add_watch(), and
 g_io_add_watch_full().
 
-See also g_source_destroy(). You must use g_source_destroy() for sources
-added to a non-default main context.
-
 It is a programmer error to attempt to remove a non-existent source.
 
 More specifically: source IDs can be reissued after a source has been
@@ -43095,9 +43807,12 @@ so yourself, from the source dispatch function.
 Note that if you have a pair of sources where the ready time of one
 suggests that it will be delivered first but the priority for the
 other suggests that it would be delivered first, and the ready time
-for both sources is reached during the same main context iteration
+for both sources is reached during the same main context iteration,
 then the order of dispatch is undefined.
 
+It is a no-op to call this function on a #GSource which has already been
+destroyed with g_source_destroy().
+
 This API is only intended to be used by implementations of #GSource.
 Do not call this API on a #GSource that you did not create.
 
@@ -43164,10 +43879,10 @@ 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 graphical application, too, then you may want to
-use gdk_spawn_on_screen() instead to ensure that the spawned program
-opens its windows on the right screen.
+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.
 
 Note that the returned @child_pid on Windows is a handle to the child
 process and not its identifier. Process handles and process identifiers
@@ -43177,15 +43892,18 @@ are different concepts on Windows.
 </description>
 <parameters>
 <parameter name="working_directory">
-<parameter_description> child's current working directory, or %NULL to inherit parent's
+<parameter_description> child's current working
+directory, or %NULL to inherit parent's
 </parameter_description>
 </parameter>
 <parameter name="argv">
-<parameter_description> child's argument vector
+<parameter_description>
+child's argument vector
 </parameter_description>
 </parameter>
 <parameter name="envp">
-<parameter_description> child's environment, or %NULL to inherit parent's
+<parameter_description>
+child's environment, or %NULL to inherit parent's
 </parameter_description>
 </parameter>
 <parameter name="flags">
@@ -43273,10 +43991,11 @@ 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 to
-be notified about the death of the child process. 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,
+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
@@ -43360,24 +44079,28 @@ 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().
 
-If you are writing a GTK+ application, and the program you 
-are spawning is a graphical application, too, then you may
-want to use gdk_spawn_on_screen_with_pipes() instead to ensure that
-the spawned program opens its windows on the right screen.
+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.
 
 
 </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> 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> 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>
+child's environment, or %NULL to inherit parent's, in the GLib file
+name encoding
 </parameter_description>
 </parameter>
 <parameter name="flags">
@@ -43549,7 +44272,7 @@ separator. You need to enclose such paths with single quotes, like
 </description>
 <parameters>
 <parameter name="command_line">
-<parameter_description> a command line 
+<parameter_description> a command line
 </parameter_description>
 </parameter>
 <parameter name="standard_output">
@@ -43585,7 +44308,8 @@ If @exit_status is non-%NULL, the platform-specific exit status of
 the child is stored there; see the documentation of
 g_spawn_check_exit_status() for how to use and interpret this.
 Note that it is invalid to pass %G_SPAWN_DO_NOT_REAP_CHILD in
-@flags.
+@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.
@@ -43598,15 +44322,18 @@ how these functions work on Windows.
 </description>
 <parameters>
 <parameter name="working_directory">
-<parameter_description> child's current working directory, or %NULL to inherit parent's
+<parameter_description> child's current working
+directory, or %NULL to inherit parent's
 </parameter_description>
 </parameter>
 <parameter name="argv">
-<parameter_description> child's argument vector
+<parameter_description>
+child's argument vector
 </parameter_description>
 </parameter>
 <parameter name="envp">
-<parameter_description> child's environment, or %NULL to inherit parent's
+<parameter_description>
+child's environment, or %NULL to inherit parent's
 </parameter_description>
 </parameter>
 <parameter name="flags">
@@ -43650,6 +44377,8 @@ positional parameters, as specified in the Single Unix Specification.
 Note that it is usually better to use g_snprintf(), to avoid the
 risk of buffer overflow.
 
+`glib/gprintf.h` must be explicitly included in order to use this function.
+
 See also g_strdup_printf().
 
 Since: 2.2
@@ -44456,11 +45185,11 @@ your corpus and build an index on the returned folded tokens, then
 call g_str_tokenize_and_fold() on the search term and
 perform lookups into that index.
 
-As some examples, searching for &quot;fred&quot; would match the potential hit
-&quot;Smith, Fred&quot; and also &quot;Frédéric&quot;.  Searching for &quot;Fréd&quot; would match
-&quot;Frédéric&quot; but not &quot;Frederic&quot; (due to the one-directional nature of
-accent matching).  Searching &quot;fo&quot; would match &quot;Foo&quot; and &quot;Bar Foo
-Baz&quot;, but not &quot;SFO&quot; (because no word as &quot;fo&quot; as a prefix).
+As some examples, searching for ‘fred’ would match the potential hit
+‘Smith, Fred’ and also ‘Frédéric’.  Searching for ‘Fréd’ would match
+‘Frédéric’ but not ‘Frederic’ (due to the one-directional nature of
+accent matching).  Searching ‘fo’ would match ‘Foo’ and ‘Bar Foo
+Baz’, but not ‘SFO’ (because no word has ‘fo’ as a prefix).
 
 Since: 2.40
 
@@ -44908,7 +45637,17 @@ the lifetime of the process.
 
 Note that the string may be translated according to the current locale.
 
-The value of %errno will not be changed by this function.
+The value of %errno will not be changed by this function. However, it may
+be changed by intermediate function calls, so you should save its value
+as soon as the call returns:
+|[
+int saved_errno;
+
+ret = read (blah);
+saved_errno = errno;
+
+g_strerror (saved_errno);
+]|
 
 
 </description>
@@ -47072,6 +47811,7 @@ runs using random numbers.
 - `--verbose`: Run tests verbosely.
 - `-q`, `--quiet`: Run tests quietly.
 - `-p PATH`: Execute all tests matching the given path.
+- `-s PATH`: Skip all tests matching the given path.
 This can also be used to force a test to run that would otherwise
 be skipped (ie, a test whose name contains &quot;/subprocess&quot;).
 - `-m {perf|slow|thorough|quick|undefined|no-undefined}`: Execute tests according to these test modes:
@@ -47310,7 +48050,7 @@ Returns %TRUE if tests are run in performance mode.
 <description>
 This function enqueus a callback @destroy_func to be executed
 during the next test case teardown phase. This is most useful
-to auto destruct allocted test resources at the end of a test run.
+to auto destruct allocated test resources at the end of a test run.
 Resources are released in reverse queue order, that means enqueueing
 callback A before callback B will cause B() to be called before
 A() during teardown.
@@ -47495,8 +48235,9 @@ Since: 2.16
 Runs all tests under the toplevel suite which can be retrieved
 with g_test_get_root(). Similar to g_test_run_suite(), the test
 cases to be run are filtered according to test path arguments
-(`-p testpath`) as parsed by g_test_init(). g_test_run_suite()
-or g_test_run() may only be called once in a program.
+(`-p testpath` and `-s testpath`) as parsed by g_test_init().
+g_test_run_suite() or g_test_run() may only be called once in a
+program.
 
 In general, the tests and sub-suites within each suite are run in
 the order in which they are defined. However, note that prior to
@@ -47538,9 +48279,9 @@ Since: 2.16
 <description>
 Execute the tests within @suite and all nested #GTestSuites.
 The test suites to be executed are filtered according to
-test path arguments (`-p testpath`) as parsed by g_test_init().
-See the g_test_run() documentation for more information on the
-order that tests are run in.
+test path arguments (`-p testpath` and `-s testpath`) as parsed by
+g_test_init(). See the g_test_run() documentation for more
+information on the order that tests are run in.
 
 g_test_run_suite() or g_test_run() may only be called once
 in a program.
@@ -48895,6 +49636,12 @@ Both of these documents are profiles of ISO 8601.
 Use g_date_time_format() or g_strdup_printf() if a different
 variation of ISO 8601 format is required.
 
+If @time_ represents a date which is too large to fit into a `struct tm`,
+%NULL will be returned. This is platform dependent, but it is safe to assume
+years up to 3000 are supported. The return value of g_time_val_to_iso8601()
+has been nullable since GLib 2.54; before then, GLib would crash under the
+same conditions.
+
 Since: 2.12
 
 </description>
@@ -48904,7 +49651,8 @@ Since: 2.12
 </parameter_description>
 </parameter>
 </parameters>
-<return> a newly allocated string containing an ISO 8601 date
+<return> a newly allocated string containing an ISO 8601 date,
+or %NULL if @time_ was too large
 
 </return>
 </function>
@@ -52945,7 +53693,7 @@ Since: 2.36
 </parameter_description>
 </parameter>
 <parameter name="function">
-<parameter_description> a #GPollFDFunc
+<parameter_description> a #GUnixFDSourceFunc
 </parameter_description>
 </parameter>
 <parameter name="user_data">
@@ -53157,7 +53905,7 @@ the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.
 Create a #GSource that will be dispatched upon delivery of the UNIX
 signal @signum.  In GLib versions before 2.36, only `SIGHUP`, `SIGINT`,
 `SIGTERM` can be monitored.  In GLib 2.36, `SIGUSR1` and `SIGUSR2`
-were added.
+were added. In GLib 2.54, `SIGWINCH` was added.
 
 Note that unlike the UNIX default, all sources which have created a
 watch will be dispatched, regardless of which underlying thread
@@ -53244,7 +53992,8 @@ Since: 2.4
 </description>
 <parameters>
 <parameter name="variable">
-<parameter_description> the environment variable to remove, must not contain '='
+<parameter_description> the environment variable to remove, must
+not contain '='
 </parameter_description>
 </parameter>
 </parameters>
@@ -53639,6 +54388,11 @@ Finds the start of the next UTF-8 character in the string after @p.
 is made to see if the character found is actually valid other than
 it starts with an appropriate byte.
 
+If @end is %NULL, the return value will never be %NULL: if the end of the
+string is reached, a pointer to the terminating nul byte is returned. If
+@end is non-%NULL, the return value will be %NULL if the end of the string
+is reached.
+
 
 </description>
 <parameters>
@@ -53652,7 +54406,8 @@ or %NULL to indicate that the string is nul-terminated
 </parameter_description>
 </parameter>
 </parameters>
-<return> a pointer to the found character or %NULL
+<return> a pointer to the found character or %NULL if @end is
+set and is reached
 </return>
 </function>
 
@@ -53710,6 +54465,10 @@ This function checks for incomplete characters, for invalid characters
 such as characters that are out of the range of Unicode, and for
 overlong encodings of valid characters.
 
+Note that g_utf8_get_char_validated() returns (gunichar)-2 if
+@max_len is positive and any of the bytes in the first UTF-8 character
+sequence are nul.
+
 
 </description>
 <parameters>
@@ -53718,8 +54477,7 @@ overlong encodings of valid characters.
 </parameter_description>
 </parameter>
 <parameter name="max_len">
-<parameter_description> the maximum number of bytes to read, or -1, for no maximum or
-if @p is nul-terminated
+<parameter_description> the maximum number of bytes to read, or -1 if @p is nul-terminated
 </parameter_description>
 </parameter>
 </parameters>
@@ -53731,6 +54489,37 @@ Unicode character, returns (gunichar)-1.
 </return>
 </function>
 
+<function name="g_utf8_make_valid">
+<description>
+If the provided string is valid UTF-8, return a copy of it. If not,
+return a copy in which bytes that could not be interpreted as valid Unicode
+are replaced with the Unicode replacement character (U+FFFD).
+
+For example, this is an appropriate function to use if you have received
+a string that was incorrectly declared to be UTF-8, and you need a valid
+UTF-8 version of it that can be logged or displayed to the user, with the
+assumption that it is close enough to ASCII or UTF-8 to be mostly
+readable as-is.
+
+Since: 2.52
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> string to coerce into UTF-8
+</parameter_description>
+</parameter>
+<parameter name="len">
+<parameter_description> the maximum length of @str to use, in bytes. If @len &lt; 0,
+then the string is nul-terminated.
+</parameter_description>
+</parameter>
+</parameters>
+<return> a valid UTF-8 string whose content resembles @str
+
+</return>
+</function>
+
 <function name="g_utf8_next_char">
 <description>
 Skips to the next character in a UTF-8 string. The string must be
@@ -54278,6 +55067,43 @@ Since: 2.18
 </return>
 </function>
 
+<function name="g_uuid_string_is_valid">
+<description>
+Parses the string @str and verify if it is a UUID.
+
+The function accepts the following syntax:
+
+- simple forms (e.g. `f81d4fae-7dec-11d0-a765-00a0c91e6bf6`)
+
+Note that hyphens are required within the UUID string itself,
+as per the aforementioned RFC.
+
+Since: 2.52
+
+</description>
+<parameters>
+<parameter name="str">
+<parameter_description> a string representing a UUID
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @str is a valid UUID, %FALSE otherwise.
+</return>
+</function>
+
+<function name="g_uuid_string_random">
+<description>
+Generates a random UUID (RFC 4122 version 4) as a string.
+
+Since: 2.52
+
+</description>
+<parameters>
+</parameters>
+<return> A string that should be freed with g_free().
+</return>
+</function>
+
 <function name="g_value_array_append">
 <description>
 Insert a copy of @value as last element of @value_array. If @value is
@@ -54600,7 +55426,8 @@ Get a copy the contents of a %G_TYPE_STRING #GValue.
 
 <function name="g_value_dup_variant">
 <description>
-Get the contents of a variant #GValue, increasing its refcount.
+Get the contents of a variant #GValue, increasing its refcount. The returned
+#GVariant is never floating.
 
 Since: 2.26
 
@@ -54611,8 +55438,8 @@ Since: 2.26
 </parameter_description>
 </parameter>
 </parameters>
-<return> variant contents of @value, should be unrefed using
-g_variant_unref() when no longer needed
+<return> variant contents of @value (may be %NULL);
+should be unreffed using g_variant_unref() when no longer needed
 
 </return>
 </function>
@@ -54974,7 +55801,7 @@ Since: 2.26
 </parameter_description>
 </parameter>
 </parameters>
-<return> variant contents of @value
+<return> variant contents of @value (may be %NULL)
 
 </return>
 </function>
@@ -55969,7 +56796,7 @@ It typically only makes sense to do this on a stack-allocated
 #GVariantBuilder if you want to abort building the value part-way
 through.  This function need not be called if you call
 g_variant_builder_end() and it also doesn't need to be called on
-builders allocated with g_variant_builder_new (see
+builders allocated with g_variant_builder_new() (see
 g_variant_builder_unref() for that).
 
 This function leaves the #GVariantBuilder structure set to all-zeros.
@@ -56121,12 +56948,42 @@ Since: 2.24
 <function name="g_variant_builder_open">
 <description>
 Opens a subcontainer inside the given @builder.  When done adding
-items to the subcontainer, g_variant_builder_close() must be called.
+items to the subcontainer, g_variant_builder_close() must be called. @type
+is the type of the container: so to build a tuple of several values, @type
+must include the tuple itself.
 
 It is an error to call this function in any way that would cause an
 inconsistent value to be constructed (ie: adding too many values or
 a value of an incorrect type).
 
+Example of building a nested variant:
+|[&lt;!-- language=&quot;C&quot; --&gt;
+GVariantBuilder builder;
+guint32 some_number = get_number ();
+g_autoptr (GHashTable) some_dict = get_dict ();
+GHashTableIter iter;
+const gchar *key;
+const GVariant *value;
+g_autoptr (GVariant) output = NULL;
+
+g_variant_builder_init (&amp;builder, G_VARIANT_TYPE (&quot;(ua{sv})&quot;));
+g_variant_builder_add (&amp;builder, &quot;u&quot;, some_number);
+g_variant_builder_open (&amp;builder, G_VARIANT_TYPE (&quot;a{sv}&quot;));
+
+g_hash_table_iter_init (&amp;iter, some_dict);
+while (g_hash_table_iter_next (&amp;iter, (gpointer *) &amp;key, (gpointer *) &amp;value))
+{
+g_variant_builder_open (&amp;builder, G_VARIANT_TYPE (&quot;{sv}&quot;));
+g_variant_builder_add (&amp;builder, &quot;s&quot;, key);
+g_variant_builder_add (&amp;builder, &quot;v&quot;, value);
+g_variant_builder_close (&amp;builder);
+}
+
+g_variant_builder_close (&amp;builder);
+
+output = g_variant_builder_end (&amp;builder);
+]|
+
 Since: 2.24
 
 </description>
@@ -56136,7 +56993,7 @@ Since: 2.24
 </parameter_description>
 </parameter>
 <parameter name="type">
-<parameter_description> a #GVariantType
+<parameter_description> the #GVariantType of the container
 </parameter_description>
 </parameter>
 </parameters>
@@ -57143,11 +58000,11 @@ the appropriate type:
 - %G_VARIANT_TYPE_DOUBLE: #gdouble
 
 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
+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
 expectation.
 
-@n_elements, which must be non-%NULL is set equal to the number of
+@n_elements, which must be non-%NULL, is set equal to the number of
 items in the array.
 
 Since: 2.24
@@ -57299,6 +58156,13 @@ It makes sense to call this function if you've received #GVariant
 data from untrusted sources and you want to ensure your serialised
 output is definitely in normal form.
 
+If @value is already in normal form, a new reference will be returned
+(which will be floating if @value is floating). If it is not in normal form,
+the newly created #GVariant will be returned with a single non-floating
+reference. Typically, g_variant_take_ref() should be called on the return
+value from this function to guarantee ownership of a single non-floating
+reference to it.
+
 Since: 2.24
 
 </description>
@@ -58436,10 +59300,10 @@ Since: 2.24
 
 <function name="g_variant_new_fixed_array">
 <description>
-Provides access to the serialised data for an array of fixed-sized
-items.
+Constructs a new array #GVariant instance, where the elements are
+of @element_type type.
 
-@value must be an array with fixed-sized elements.  Numeric types are
+@elements must be an array with fixed-sized elements.  Numeric types are
 fixed-size as are tuples containing only other fixed-sized types.
 
 @element_size must be the size of a single element in the array.
@@ -58448,8 +59312,7 @@ 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
 expectation.
 
-@n_elements, which must be non-%NULL is set equal to the number of
-items in the array.
+@n_elements must be the length of the @elements array.
 
 Since: 2.32
 
@@ -59040,7 +59903,7 @@ pointing to the argument following the last.
 
 Note that the arguments in @app must be of the correct width for their
 types specified in @format_string when collected into the #va_list.
-See the [GVariant varargs documentation][gvariant-varargs.
+See the [GVariant varargs documentation][gvariant-varargs].
 
 These two generalisations allow mixing of multiple calls to
 g_variant_new_va() and g_variant_get_va() within a single actual
@@ -60137,6 +61000,8 @@ This function is similar to g_vsprintf(), except that it allocates a
 string to hold the output, instead of putting the output in a buffer 
 you allocate in advance.
 
+`glib/gprintf.h` must be explicitly included in order to use this function.
+
 Since: 2.4
 
 </description>
@@ -60165,6 +61030,8 @@ Since: 2.4
 An implementation of the standard fprintf() function which supports 
 positional parameters, as specified in the Single Unix Specification.
 
+`glib/gprintf.h` must be explicitly included in order to use this function.
+
 Since: 2.2
 
 </description>
@@ -60193,6 +61060,8 @@ Since: 2.2
 An implementation of the standard vprintf() function which supports 
 positional parameters, as specified in the Single Unix Specification.
 
+`glib/gprintf.h` must be explicitly included in order to use this function.
+
 Since: 2.2
 
 </description>
@@ -60264,6 +61133,8 @@ was large enough.
 An implementation of the standard vsprintf() function which supports 
 positional parameters, as specified in the Single Unix Specification.
 
+`glib/gprintf.h` must be explicitly included in order to use this function.
+
 Since: 2.2
 
 </description>
@@ -60446,7 +61317,8 @@ Since: 2.16
 
 <function name="g_warning">
 <description>
-A convenience function/macro to log a warning message.
+A convenience function/macro to log a warning message. The message should
+typically *not* be translated to the user's language.
 
 This is not intended for end user error reporting. Use of #GError is
 preferred for that instead, as it allows calling functions to perform actions
@@ -60454,7 +61326,14 @@ conditional on the type of error.
 
 You can make warnings fatal at runtime by setting the `G_DEBUG`
 environment variable (see
-[Running GLib Applications](glib-running.html)).
+[Running GLib Applications](glib-running.html)):
+
+|[
+G_DEBUG=fatal-warnings gdb ./my-program
+]|
+
+Any unrelated failures can be skipped over in
+[gdb](https://www.gnu.org/software/gdb/) using the `continue` command.
 
 If g_log_default_handler() is used as the log handler function,
 a newline character will automatically be appended to @..., and
diff --git a/glib/src/glib_docs_override.xml b/glib/src/glib_docs_override.xml
index 99b18e3..a64a435 100644
--- a/glib/src/glib_docs_override.xml
+++ b/glib/src/glib_docs_override.xml
@@ -19,6 +19,9 @@
   <substitute_enumerator_name from_prefix="G_TIME_TYPE_" to_prefix="Glib::TimeType::" />
   <substitute_enumerator_name from_prefix="G_UNICODE_BREAK_" to_prefix="Glib::UnicodeBreakType::" />
   <substitute_enumerator_name from_prefix="G_NORMALIZE_" to_prefix="Glib::NormalizeMode::" />
+  <substitute_enumerator_name from="G_FILE_ERROR" to="Glib::FileError" />
+  <substitute_enumerator_name from="G_KEY_FILE_ERROR" to="Glib::KeyFileError" />
+  <substitute_enumerator_name from_prefix="G_KEY_FILE_ERROR_" to_prefix="Glib::KeyFileError::" />
   <!-- enum GOptionArg is not wrapped. Don't substitute. -->
   <substitute_enumerator_name from_prefix="G_OPTION_ARG_" to_prefix="G_OPTION_ARG_" />
   <!-- These are preprocessor defines. Don't substitute. -->
diff --git a/glib/src/glib_enums.defs b/glib/src/glib_enums.defs
index d9979c3..361fd9b 100644
--- a/glib/src/glib_enums.defs
+++ b/glib/src/glib_enums.defs
@@ -53,7 +53,8 @@
 ;;   G_CHECKSUM_MD5,
 ;;   G_CHECKSUM_SHA1,
 ;;   G_CHECKSUM_SHA256,
-;;   G_CHECKSUM_SHA512
+;;   G_CHECKSUM_SHA512,
+;;   G_CHECKSUM_SHA384
 ;; } GChecksumType;
 
 (define-enum-extended ChecksumType
@@ -64,6 +65,7 @@
     '("sha1" "G_CHECKSUM_SHA1" "1")
     '("sha256" "G_CHECKSUM_SHA256" "2")
     '("sha512" "G_CHECKSUM_SHA512" "3")
+    '("sha384" "G_CHECKSUM_SHA384" "4")
   )
 )
 
@@ -911,7 +913,7 @@
     '("newline-cr" "G_REGEX_NEWLINE_CR" "1 << 20")
     '("newline-lf" "G_REGEX_NEWLINE_LF" "1 << 21")
     '("newline-crlf" "G_REGEX_NEWLINE_CRLF" "0x300000")
-    '("newline-anycrlf" "G_REGEX_NEWLINE_ANYCRLF" "1048576 | 1 << 22")
+    '("newline-anycrlf" "G_REGEX_NEWLINE_ANYCRLF" "0x500000")
     '("bsr-anycrlf" "G_REGEX_BSR_ANYCRLF" "1 << 23")
     '("javascript-compat" "G_REGEX_JAVASCRIPT_COMPAT" "1 << 25")
   )
@@ -1233,6 +1235,22 @@
   )
 )
 
+;; Original typedef:
+;; typedef enum
+;;   {
+;;     G_NUMBER_PARSER_ERROR_INVALID,
+;;     G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS,
+;;   } GNumberParserError;
+
+(define-enum-extended NumberParserError
+  (in-module "G")
+  (c-name "GNumberParserError")
+  (values
+    '("invalid" "G_NUMBER_PARSER_ERROR_INVALID" "0")
+    '("out-of-bounds" "G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS" "1")
+  )
+)
+
 ;; From gtestutils.h
 
 ;; Original typedef:
@@ -1271,6 +1289,25 @@
 
 ;; Original typedef:
 ;; typedef enum {
+;;   G_TEST_RUN_SUCCESS,
+;;   G_TEST_RUN_SKIPPED,
+;;   G_TEST_RUN_FAILURE,
+;;   G_TEST_RUN_INCOMPLETE
+;; } GTestResult;
+
+(define-enum-extended TestResult
+  (in-module "G")
+  (c-name "GTestResult")
+  (values
+    '("success" "G_TEST_RUN_SUCCESS" "0")
+    '("skipped" "G_TEST_RUN_SKIPPED" "1")
+    '("failure" "G_TEST_RUN_FAILURE" "2")
+    '("incomplete" "G_TEST_RUN_INCOMPLETE" "3")
+  )
+)
+
+;; Original typedef:
+;; typedef enum {
 ;;   G_TEST_LOG_NONE,
 ;;   G_TEST_LOG_ERROR,             /* s:msg */
 ;;   G_TEST_LOG_START_BINARY,      /* s:binaryname s:seed */
@@ -1490,7 +1527,10 @@
 ;;   G_UNICODE_BREAK_CLOSE_PARANTHESIS,
 ;;   G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER,
 ;;   G_UNICODE_BREAK_HEBREW_LETTER,
-;;   G_UNICODE_BREAK_REGIONAL_INDICATOR
+;;   G_UNICODE_BREAK_REGIONAL_INDICATOR,
+;;   G_UNICODE_BREAK_EMOJI_BASE,
+;;   G_UNICODE_BREAK_EMOJI_MODIFIER,
+;;   G_UNICODE_BREAK_ZERO_WIDTH_JOINER
 ;; } GUnicodeBreakType;
 
 (define-enum-extended UnicodeBreakType
@@ -1537,6 +1577,9 @@
     '("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")
+    '("emoji-base" "G_UNICODE_BREAK_EMOJI_BASE" "40")
+    '("emoji-modifier" "G_UNICODE_BREAK_EMOJI_MODIFIER" "41")
+    '("zero-width-joiner" "G_UNICODE_BREAK_ZERO_WIDTH_JOINER" "42")
   )
 )
 
@@ -1693,7 +1736,21 @@
 ;;   G_UNICODE_SCRIPT_HATRAN,                 /* Hatr */
 ;;   G_UNICODE_SCRIPT_MULTANI,                /* Mult */
 ;;   G_UNICODE_SCRIPT_OLD_HUNGARIAN,          /* Hung */
-;;   G_UNICODE_SCRIPT_SIGNWRITING             /* Sgnw */
+;;   G_UNICODE_SCRIPT_SIGNWRITING,            /* Sgnw */
+;; 
+;;   /* Unicode 9.0 additions */
+;;   G_UNICODE_SCRIPT_ADLAM,                  /* Adlm */
+;;   G_UNICODE_SCRIPT_BHAIKSUKI,              /* Bhks */
+;;   G_UNICODE_SCRIPT_MARCHEN,                /* Marc */
+;;   G_UNICODE_SCRIPT_NEWA,                   /* Newa */
+;;   G_UNICODE_SCRIPT_OSAGE,                  /* Osge */
+;;   G_UNICODE_SCRIPT_TANGUT,                 /* Tang */
+;; 
+;;   /* Unicode 10.0 additions */
+;;   G_UNICODE_SCRIPT_MASARAM_GONDI,          /* Gonm */
+;;   G_UNICODE_SCRIPT_NUSHU,                  /* Nshu */
+;;   G_UNICODE_SCRIPT_SOYOMBO,                /* Soyo */
+;;   G_UNICODE_SCRIPT_ZANABAZAR_SQUARE        /* Zanb */
 ;; } GUnicodeScript;
 
 (define-enum-extended UnicodeScript
@@ -1833,6 +1890,16 @@
     '("multani" "G_UNICODE_SCRIPT_MULTANI" "129")
     '("old-hungarian" "G_UNICODE_SCRIPT_OLD_HUNGARIAN" "130")
     '("signwriting" "G_UNICODE_SCRIPT_SIGNWRITING" "131")
+    '("adlam" "G_UNICODE_SCRIPT_ADLAM" "132")
+    '("bhaiksuki" "G_UNICODE_SCRIPT_BHAIKSUKI" "133")
+    '("marchen" "G_UNICODE_SCRIPT_MARCHEN" "134")
+    '("newa" "G_UNICODE_SCRIPT_NEWA" "135")
+    '("osage" "G_UNICODE_SCRIPT_OSAGE" "136")
+    '("tangut" "G_UNICODE_SCRIPT_TANGUT" "137")
+    '("masaram-gondi" "G_UNICODE_SCRIPT_MASARAM_GONDI" "138")
+    '("nushu" "G_UNICODE_SCRIPT_NUSHU" "139")
+    '("soyombo" "G_UNICODE_SCRIPT_SOYOMBO" "140")
+    '("zanabazar-square" "G_UNICODE_SCRIPT_ZANABAZAR_SQUARE" "141")
   )
 )
 
@@ -1900,7 +1967,8 @@
 ;; {
 ;;   G_FORMAT_SIZE_DEFAULT     = 0,
 ;;   G_FORMAT_SIZE_LONG_FORMAT = 1 << 0,
-;;   G_FORMAT_SIZE_IEC_UNITS   = 1 << 1
+;;   G_FORMAT_SIZE_IEC_UNITS   = 1 << 1,
+;;   G_FORMAT_SIZE_BITS        = 1 << 2
 ;; } GFormatSizeFlags;
 
 (define-flags-extended FormatSizeFlags
@@ -1910,6 +1978,7 @@
     '("default" "G_FORMAT_SIZE_DEFAULT" "0x0")
     '("long-format" "G_FORMAT_SIZE_LONG_FORMAT" "1 << 0")
     '("iec-units" "G_FORMAT_SIZE_IEC_UNITS" "1 << 1")
+    '("bits" "G_FORMAT_SIZE_BITS" "1 << 2")
   )
 )
 
@@ -1942,7 +2011,7 @@
   (in-module "G")
   (c-name "GVariantClass")
   (values
-    '("boolean" "G_VARIANT_CLASS_BOOLEAN" "0")
+    '("boolean" "G_VARIANT_CLASS_BOOLEAN" "'b'")
     '("byte" "G_VARIANT_CLASS_BYTE" "'y'")
     '("int16" "G_VARIANT_CLASS_INT16" "'n'")
     '("uint16" "G_VARIANT_CLASS_UINT16" "'q'")
@@ -1951,13 +2020,13 @@
     '("int64" "G_VARIANT_CLASS_INT64" "'x'")
     '("uint64" "G_VARIANT_CLASS_UINT64" "'t'")
     '("handle" "G_VARIANT_CLASS_HANDLE" "'h'")
-    '("double" "G_VARIANT_CLASS_DOUBLE" "0")
+    '("double" "G_VARIANT_CLASS_DOUBLE" "'d'")
     '("string" "G_VARIANT_CLASS_STRING" "'s'")
     '("object-path" "G_VARIANT_CLASS_OBJECT_PATH" "'o'")
     '("signature" "G_VARIANT_CLASS_SIGNATURE" "'g'")
     '("variant" "G_VARIANT_CLASS_VARIANT" "'v'")
     '("maybe" "G_VARIANT_CLASS_MAYBE" "'m'")
-    '("array" "G_VARIANT_CLASS_ARRAY" "0")
+    '("array" "G_VARIANT_CLASS_ARRAY" "'a'")
     '("tuple" "G_VARIANT_CLASS_TUPLE" "'('")
     '("dict-entry" "G_VARIANT_CLASS_DICT_ENTRY" "'{'")
   )
diff --git a/glib/src/glib_functions.defs b/glib/src/glib_functions.defs
index 0667836..219feea 100644
--- a/glib/src/glib_functions.defs
+++ b/glib/src/glib_functions.defs
@@ -37,6 +37,7 @@
     '("sha1" "G_CHECKSUM_SHA1")
     '("sha256" "G_CHECKSUM_SHA256")
     '("sha512" "G_CHECKSUM_SHA512")
+    '("sha384" "G_CHECKSUM_SHA384")
   )
 )
 
@@ -627,6 +628,16 @@
   )
 )
 
+(define-enum ParserError
+  (in-module "GNumber")
+  (c-name "GNumberParserError")
+  (gtype-id "G_TYPE_NUMBER_PARSER_ERROR")
+  (values
+    '("invalid" "G_NUMBER_PARSER_ERROR_INVALID")
+    '("out-of-bounds" "G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS")
+  )
+)
+
 (define-flags TrapFlags
   (in-module "GTest")
   (c-name "GTestTrapFlags")
@@ -649,6 +660,18 @@
   )
 )
 
+(define-enum Result
+  (in-module "GTest")
+  (c-name "GTestResult")
+  (gtype-id "G_TYPE_TEST_RESULT")
+  (values
+    '("success" "G_TEST_RUN_SUCCESS")
+    '("skipped" "G_TEST_RUN_SKIPPED")
+    '("failure" "G_TEST_RUN_FAILURE")
+    '("incomplete" "G_TEST_RUN_INCOMPLETE")
+  )
+)
+
 (define-enum LogType
   (in-module "GTest")
   (c-name "GTestLogType")
@@ -793,6 +816,9 @@
     '("conditional-japanese-starter" "G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER")
     '("hebrew-letter" "G_UNICODE_BREAK_HEBREW_LETTER")
     '("regional-indicator" "G_UNICODE_BREAK_REGIONAL_INDICATOR")
+    '("emoji-base" "G_UNICODE_BREAK_EMOJI_BASE")
+    '("emoji-modifier" "G_UNICODE_BREAK_EMOJI_MODIFIER")
+    '("zero-width-joiner" "G_UNICODE_BREAK_ZERO_WIDTH_JOINER")
   )
 )
 
@@ -934,6 +960,16 @@
     '("multani" "G_UNICODE_SCRIPT_MULTANI")
     '("old-hungarian" "G_UNICODE_SCRIPT_OLD_HUNGARIAN")
     '("signwriting" "G_UNICODE_SCRIPT_SIGNWRITING")
+    '("adlam" "G_UNICODE_SCRIPT_ADLAM")
+    '("bhaiksuki" "G_UNICODE_SCRIPT_BHAIKSUKI")
+    '("marchen" "G_UNICODE_SCRIPT_MARCHEN")
+    '("newa" "G_UNICODE_SCRIPT_NEWA")
+    '("osage" "G_UNICODE_SCRIPT_OSAGE")
+    '("tangut" "G_UNICODE_SCRIPT_TANGUT")
+    '("masaram-gondi" "G_UNICODE_SCRIPT_MASARAM_GONDI")
+    '("nushu" "G_UNICODE_SCRIPT_NUSHU")
+    '("soyombo" "G_UNICODE_SCRIPT_SOYOMBO")
+    '("zanabazar-square" "G_UNICODE_SCRIPT_ZANABAZAR_SQUARE")
   )
 )
 
@@ -978,6 +1014,7 @@
     '("default" "G_FORMAT_SIZE_DEFAULT")
     '("long-format" "G_FORMAT_SIZE_LONG_FORMAT")
     '("iec-units" "G_FORMAT_SIZE_IEC_UNITS")
+    '("bits" "G_FORMAT_SIZE_BITS")
   )
 )
 
@@ -1370,6 +1407,27 @@
   )
 )
 
+(define-method find
+  (of-object "GPtrArray")
+  (c-name "g_ptr_array_find")
+  (return-type "gboolean")
+  (parameters
+    '("gconstpointer" "needle")
+    '("guint*" "index_")
+  )
+)
+
+(define-method find_with_equal_func
+  (of-object "GPtrArray")
+  (c-name "g_ptr_array_find_with_equal_func")
+  (return-type "gboolean")
+  (parameters
+    '("gconstpointer" "needle")
+    '("GEqualFunc" "equal_func")
+    '("guint*" "index_")
+  )
+)
+
 (define-function g_byte_array_new
   (c-name "g_byte_array_new")
   (is-constructor-of "GByteArray")
@@ -2943,50 +3001,6 @@
   )
 )
 
-(define-function g_filename_to_utf8_utf8
-  (c-name "g_filename_to_utf8_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "opsysstring")
-    '("gssize" "len")
-    '("gsize*" "bytes_read")
-    '("gsize*" "bytes_written")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_filename_from_utf8_utf8
-  (c-name "g_filename_from_utf8_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "utf8string")
-    '("gssize" "len")
-    '("gsize*" "bytes_read")
-    '("gsize*" "bytes_written")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_filename_from_uri_utf8
-  (c-name "g_filename_from_uri_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "uri")
-    '("gchar**" "hostname")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_filename_to_uri_utf8
-  (c-name "g_filename_to_uri_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "filename")
-    '("const-gchar*" "hostname")
-    '("GError**" "error")
-  )
-)
-
 
 
 ;; From gdataset.h
@@ -3186,6 +3200,12 @@
   (return-type "none")
 )
 
+(define-method copy
+  (of-object "GDate")
+  (c-name "g_date_copy")
+  (return-type "GDate*")
+)
+
 (define-method valid
   (of-object "GDate")
   (c-name "g_date_valid")
@@ -3610,6 +3630,15 @@
   )
 )
 
+(define-function g_date_time_new_from_iso8601
+  (c-name "g_date_time_new_from_iso8601")
+  (return-type "GDateTime*")
+  (parameters
+    '("const-gchar*" "text")
+    '("GTimeZone*" "default_tz")
+  )
+)
+
 (define-function g_date_time_new
   (c-name "g_date_time_new")
   (is-constructor-of "GDateTime")
@@ -3950,22 +3979,6 @@
   (return-type "none")
 )
 
-(define-function g_dir_open_utf8
-  (c-name "g_dir_open_utf8")
-  (return-type "GDir*")
-  (parameters
-    '("const-gchar*" "path")
-    '("guint" "flags")
-    '("GError**" "error")
-  )
-)
-
-(define-method read_name_utf8
-  (of-object "GDir")
-  (c-name "g_dir_read_name_utf8")
-  (return-type "const-gchar*")
-)
-
 
 
 ;; From genviron.h
@@ -4035,32 +4048,6 @@
   )
 )
 
-(define-function g_getenv_utf8
-  (c-name "g_getenv_utf8")
-  (return-type "const-gchar*")
-  (parameters
-    '("const-gchar*" "variable")
-  )
-)
-
-(define-function g_setenv_utf8
-  (c-name "g_setenv_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "variable")
-    '("const-gchar*" "value")
-    '("gboolean" "overwrite")
-  )
-)
-
-(define-function g_unsetenv_utf8
-  (c-name "g_unsetenv_utf8")
-  (return-type "none")
-  (parameters
-    '("const-gchar*" "variable")
-  )
-)
-
 
 
 ;; From gerror.h
@@ -4328,6 +4315,15 @@
   )
 )
 
+(define-function g_build_filename_valist
+  (c-name "g_build_filename_valist")
+  (return-type "gchar*")
+  (parameters
+    '("const-gchar*" "first_element")
+    '("va_list*" "args")
+  )
+)
+
 (define-function g_mkdir_with_parents
   (c-name "g_mkdir_with_parents")
   (return-type "gint")
@@ -4382,49 +4378,6 @@
   )
 )
 
-(define-function g_file_test_utf8
-  (c-name "g_file_test_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "filename")
-    '("GFileTest" "test")
-  )
-)
-
-(define-function g_file_get_contents_utf8
-  (c-name "g_file_get_contents_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "filename")
-    '("gchar**" "contents")
-    '("gsize*" "length")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_mkstemp_utf8
-  (c-name "g_mkstemp_utf8")
-  (return-type "gint")
-  (parameters
-    '("gchar*" "tmpl")
-  )
-)
-
-(define-function g_file_open_tmp_utf8
-  (c-name "g_file_open_tmp_utf8")
-  (return-type "gint")
-  (parameters
-    '("const-gchar*" "tmpl")
-    '("gchar**" "name_used")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_get_current_dir_utf8
-  (c-name "g_get_current_dir_utf8")
-  (return-type "gchar*")
-)
-
 
 
 ;; From ggettext.h
@@ -5590,16 +5543,6 @@
   )
 )
 
-(define-function g_io_channel_new_file_utf8
-  (c-name "g_io_channel_new_file_utf8")
-  (return-type "GIOChannel*")
-  (parameters
-    '("const-gchar*" "filename")
-    '("const-gchar*" "mode")
-    '("GError**" "error")
-  )
-)
-
 
 
 ;; From gkeyfile.h
@@ -6211,10 +6154,6 @@
 
 
 
-;; From glib_probes.h
-
-
-
 ;; From glib_trace.h
 
 
@@ -6710,7 +6649,7 @@
 (define-method check
   (of-object "GMainContext")
   (c-name "g_main_context_check")
-  (return-type "gint")
+  (return-type "gboolean")
   (parameters
     '("gint" "max_priority")
     '("GPollFD*" "fds")
@@ -7154,6 +7093,15 @@
   )
 )
 
+(define-function g_clear_handle_id
+  (c-name "g_clear_handle_id")
+  (return-type "none")
+  (parameters
+    '("guint*" "tag_ptr")
+    '("GClearHandleFunc" "clear_func")
+  )
+)
+
 (define-function g_timeout_add_full
   (c-name "g_timeout_add_full")
   (return-type "guint")
@@ -10469,77 +10417,6 @@
   )
 )
 
-(define-function g_spawn_async_utf8
-  (c-name "g_spawn_async_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "working_directory")
-    '("gchar**" "argv")
-    '("gchar**" "envp")
-    '("GSpawnFlags" "flags")
-    '("GSpawnChildSetupFunc" "child_setup")
-    '("gpointer" "user_data")
-    '("GPid*" "child_pid")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_spawn_async_with_pipes_utf8
-  (c-name "g_spawn_async_with_pipes_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "working_directory")
-    '("gchar**" "argv")
-    '("gchar**" "envp")
-    '("GSpawnFlags" "flags")
-    '("GSpawnChildSetupFunc" "child_setup")
-    '("gpointer" "user_data")
-    '("GPid*" "child_pid")
-    '("gint*" "standard_input")
-    '("gint*" "standard_output")
-    '("gint*" "standard_error")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_spawn_sync_utf8
-  (c-name "g_spawn_sync_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "working_directory")
-    '("gchar**" "argv")
-    '("gchar**" "envp")
-    '("GSpawnFlags" "flags")
-    '("GSpawnChildSetupFunc" "child_setup")
-    '("gpointer" "user_data")
-    '("gchar**" "standard_output")
-    '("gchar**" "standard_error")
-    '("gint*" "exit_status")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_spawn_command_line_sync_utf8
-  (c-name "g_spawn_command_line_sync_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "command_line")
-    '("gchar**" "standard_output")
-    '("gchar**" "standard_error")
-    '("gint*" "exit_status")
-    '("GError**" "error")
-  )
-)
-
-(define-function g_spawn_command_line_async_utf8
-  (c-name "g_spawn_command_line_async_utf8")
-  (return-type "gboolean")
-  (parameters
-    '("const-gchar*" "command_line")
-    '("GError**" "error")
-  )
-)
-
 
 
 ;; From gstdio.h
@@ -11176,6 +11053,37 @@
   )
 )
 
+(define-function g_number_parser_error_quark
+  (c-name "g_number_parser_error_quark")
+  (return-type "GQuark")
+)
+
+(define-function g_ascii_string_to_signed
+  (c-name "g_ascii_string_to_signed")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "str")
+    '("guint" "base")
+    '("gint64" "min")
+    '("gint64" "max")
+    '("gint64*" "out_num")
+    '("GError**" "error")
+  )
+)
+
+(define-function g_ascii_string_to_unsigned
+  (c-name "g_ascii_string_to_unsigned")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "str")
+    '("guint" "base")
+    '("guint64" "min")
+    '("guint64" "max")
+    '("guint64*" "out_num")
+    '("GError**" "error")
+  )
+)
+
 
 
 ;; From gstringchunk.h
@@ -13309,6 +13217,15 @@
   )
 )
 
+(define-function g_utf8_make_valid
+  (c-name "g_utf8_make_valid")
+  (return-type "gchar*")
+  (parameters
+    '("const-gchar*" "str")
+    '("gssize" "len")
+  )
+)
+
 
 
 ;; From gunicomp.h
@@ -13577,6 +13494,23 @@
 
 
 
+;; From guuid.h
+
+(define-function g_uuid_string_is_valid
+  (c-name "g_uuid_string_is_valid")
+  (return-type "gboolean")
+  (parameters
+    '("const-gchar*" "str")
+  )
+)
+
+(define-function g_uuid_string_random
+  (c-name "g_uuid_string_random")
+  (return-type "gchar*")
+)
+
+
+
 ;; From gvariant-core.h
 
 (define-function g_variant_new_from_children
@@ -15081,25 +15015,6 @@
   (return-type "gchar**")
 )
 
-(define-function g_win32_get_package_installation_directory_utf8
-  (c-name "g_win32_get_package_installation_directory_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "package")
-    '("const-gchar*" "dll_name")
-  )
-)
-
-(define-function g_win32_get_package_installation_subdirectory_utf8
-  (c-name "g_win32_get_package_installation_subdirectory_utf8")
-  (return-type "gchar*")
-  (parameters
-    '("const-gchar*" "package")
-    '("const-gchar*" "dll_name")
-    '("const-gchar*" "subdir")
-  )
-)
-
 (define-function g_win32_check_windows_version
   (c-name "g_win32_check_windows_version")
   (return-type "gboolean")
diff --git a/glib/src/gmodule_functions.defs b/glib/src/gmodule_functions.defs
index 9d92ebe..29b4835 100644
--- a/glib/src/gmodule_functions.defs
+++ b/glib/src/gmodule_functions.defs
@@ -76,19 +76,4 @@
   )
 )
 
-(define-function g_module_open_utf8
-  (c-name "g_module_open_utf8")
-  (return-type "GModule*")
-  (parameters
-    '("const-gchar*" "file_name")
-    '("GModuleFlags" "flags")
-  )
-)
-
-(define-method name_utf8
-  (of-object "GModule")
-  (c-name "g_module_name_utf8")
-  (return-type "const-gchar*")
-)
-
 
diff --git a/glib/src/gobject_enums.defs b/glib/src/gobject_enums.defs
index 7b64941..e3b157b 100644
--- a/glib/src/gobject_enums.defs
+++ b/glib/src/gobject_enums.defs
@@ -39,7 +39,8 @@
 ;;   G_PARAM_STATIC_BLURB            = 1 << 7,
 ;;   /* User defined flags go here */
 ;;   G_PARAM_EXPLICIT_NOTIFY     = 1 << 30,
-;;   G_PARAM_DEPRECATED          = 1 << 31
+;;   /* Avoid warning with -Wpedantic for gcc6 */
+;;   G_PARAM_DEPRECATED          = (gint)(1u << 31)
 ;; } GParamFlags;
 
 (define-flags-extended ParamFlags
@@ -57,7 +58,7 @@
     '("static-nick" "G_PARAM_STATIC_NICK" "1 << 6")
     '("static-blurb" "G_PARAM_STATIC_BLURB" "1 << 7")
     '("explicit-notify" "G_PARAM_EXPLICIT_NOTIFY" "1 << 30")
-    '("deprecated" "G_PARAM_DEPRECATED" "1 << 31")
+    '("deprecated" "G_PARAM_DEPRECATED" "(gint)(1u << 31)")
   )
 )
 
diff --git a/glib/src/gobject_functions.defs b/glib/src/gobject_functions.defs
index f77738d..d03dd09 100644
--- a/glib/src/gobject_functions.defs
+++ b/glib/src/gobject_functions.defs
@@ -544,6 +544,24 @@
   )
 )
 
+(define-function g_enum_to_string
+  (c-name "g_enum_to_string")
+  (return-type "gchar*")
+  (parameters
+    '("GType" "g_enum_type")
+    '("gint" "value")
+  )
+)
+
+(define-function g_flags_to_string
+  (c-name "g_flags_to_string")
+  (return-type "gchar*")
+  (parameters
+    '("GType" "flags_type")
+    '("guint" "value")
+  )
+)
+
 (define-method set_enum
   (of-object "GValue")
   (c-name "g_value_set_enum")
@@ -1462,6 +1480,17 @@
   (varargs #t)
 )
 
+(define-function g_object_new_with_properties
+  (c-name "g_object_new_with_properties")
+  (return-type "GObject*")
+  (parameters
+    '("GType" "object_type")
+    '("guint" "n_properties")
+    '("const-char*[]" "names")
+    '("const-GValue[]" "values")
+  )
+)
+
 (define-function g_object_newv
   (c-name "g_object_newv")
   (return-type "gpointer")
@@ -1522,6 +1551,17 @@
   (varargs #t)
 )
 
+(define-method setv
+  (of-object "GObject")
+  (c-name "g_object_setv")
+  (return-type "none")
+  (parameters
+    '("guint" "n_properties")
+    '("const-gchar*[]" "names")
+    '("const-GValue[]" "values")
+  )
+)
+
 (define-method set_valist
   (of-object "GObject")
   (c-name "g_object_set_valist")
@@ -1532,6 +1572,17 @@
   )
 )
 
+(define-method getv
+  (of-object "GObject")
+  (c-name "g_object_getv")
+  (return-type "none")
+  (parameters
+    '("guint" "n_properties")
+    '("const-gchar*[]" "names")
+    '("GValue[]" "values")
+  )
+)
+
 (define-method get_valist
   (of-object "GObject")
   (c-name "g_object_get_valist")
@@ -1956,10 +2007,6 @@
 
 
 
-;; From gobject_probes.h
-
-
-
 ;; From gobject_trace.h
 
 
diff --git a/tools/extra_defs_gen/generate_defs_gio.cc b/tools/extra_defs_gen/generate_defs_gio.cc
index 0759a52..229c155 100644
--- a/tools/extra_defs_gen/generate_defs_gio.cc
+++ b/tools/extra_defs_gen/generate_defs_gio.cc
@@ -38,6 +38,11 @@ main(int, char**)
   // g_type_init() is deprecated as of 2.36.
   // g_type_init();
 
+  // Until the glib bug https://bugzilla.gnome.org/show_bug.cgi?id=465631
+  // is fixed, get_defs() must be called for a GObject before it's
+  // called for a GInterface.
+  (void)get_defs(G_TYPE_APPLICATION);
+
   std::cout << get_defs(G_TYPE_ASYNC_RESULT) << get_defs(G_TYPE_ACTION)
             << get_defs(G_TYPE_ACTION_GROUP) << get_defs(G_TYPE_APPLICATION)
             << get_defs(G_TYPE_APP_INFO_MONITOR) << get_defs(G_TYPE_CANCELLABLE)


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