Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libcloudproviders for 
openSUSE:Factory checked in at 2026-01-08 15:25:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libcloudproviders (Old)
 and      /work/SRC/openSUSE:Factory/.libcloudproviders.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libcloudproviders"

Thu Jan  8 15:25:27 2026 rev:12 rq:1325718 version:0.4.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libcloudproviders/libcloudproviders.changes      
2024-03-22 15:28:18.425896028 +0100
+++ 
/work/SRC/openSUSE:Factory/.libcloudproviders.new.1928/libcloudproviders.changes
    2026-01-08 15:25:33.568404127 +0100
@@ -1,0 +2,13 @@
+Tue Jan 06 12:06:26 UTC 2026 - Bjørn Lie <[email protected]>
+
+- Update to version 0.4.0:
+  + Add dependencies to the pkg-config file
+  + Replace gtk-doc with gi-docgen
+  + Require meson 1.9.0
+  + Plug tiny memory leaks and reduce memory footprint of the
+    library
+- Drop gtk-doc BuildRequires following upstreams port. Stop
+  building API docs.
+- Use ldconfig_scriptlets macro for post(un) handling.
+
+-------------------------------------------------------------------

Old:
----
  libcloudproviders-0.3.6.obscpio

New:
----
  libcloudproviders-0.4.0.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libcloudproviders.spec ++++++
--- /var/tmp/diff_new_pack.S2tgyB/_old  2026-01-08 15:25:34.456440762 +0100
+++ /var/tmp/diff_new_pack.S2tgyB/_new  2026-01-08 15:25:34.460440927 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package libcloudproviders
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %define _typelibdir %(pkg-config --variable=typelibdir 
gobject-introspection-1.0)
 %define _girdir %(pkg-config --variable=girdir gobject-introspection-1.0)
 Name:           libcloudproviders
-Version:        0.3.6
+Version:        0.4.0
 Release:        0
 Summary:        Library/Client to integrate cloud storage providers
 License:        LGPL-3.0-or-later
@@ -27,8 +27,7 @@
 URL:            https://gitlab.gnome.org/World/libcloudproviders
 Source0:        %{name}-%{version}.tar.zst
 
-BuildRequires:  gtk-doc
-BuildRequires:  meson >= 0.42.0
+BuildRequires:  meson >= 1.9.0
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(gio-2.0) >= 2.51.2
 BuildRequires:  pkgconfig(gio-unix-2.0) >= 2.51.2
@@ -73,7 +72,7 @@
 
 %build
 %meson \
-    -Denable-gtk-doc=true
+    %{nil}
 %meson_build
 
 %install
@@ -82,8 +81,7 @@
 %check
 %meson_test
 
-%post -n libcloudproviders0 -p /sbin/ldconfig
-%postun -n libcloudproviders0 -p /sbin/ldconfig
+%ldconfig_scriptlets -n libcloudproviders0
 
 %files -n libcloudproviders0
 %license LICENSE
@@ -94,7 +92,6 @@
 %{_typelibdir}/*.typelib
 
 %files devel
-%{_datadir}/gtk-doc/html/%{name}/
 %{_includedir}/cloudproviders/
 %{_libdir}/libcloudproviders.so
 %{_libdir}/pkgconfig/cloudproviders.pc

++++++ _service ++++++
--- /var/tmp/diff_new_pack.S2tgyB/_old  2026-01-08 15:25:34.500442578 +0100
+++ /var/tmp/diff_new_pack.S2tgyB/_new  2026-01-08 15:25:34.504442743 +0100
@@ -3,7 +3,7 @@
   <service name="obs_scm" mode="manual">
     <param name="scm">git</param>
     <param 
name="url">https://gitlab.gnome.org/World/libcloudproviders.git</param>
-    <param name="revision">0.3.6</param>
+    <param name="revision">0.4.0</param>
     <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
     <param name="versionrewrite-pattern">v?(.*)\+0</param>
     <param name="versionrewrite-replacement">\1</param>

++++++ libcloudproviders-0.3.6.obscpio -> libcloudproviders-0.4.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/.gitlab-ci.yml 
new/libcloudproviders-0.4.0/.gitlab-ci.yml
--- old/libcloudproviders-0.3.6/.gitlab-ci.yml  2024-03-20 10:49:45.000000000 
+0100
+++ new/libcloudproviders-0.4.0/.gitlab-ci.yml  2026-01-06 09:20:29.000000000 
+0100
@@ -1,23 +1,46 @@
-image: fedora:37
+image: fedora:43
 stages:
   - build
+  - release
   - deploy
-before_script:
-  - dnf install -y gcc meson ninja-build gettext gtk-doc glib2-devel 
gobject-introspection-devel vala redhat-rpm-config
+
+include:
+  - component: gitlab.gnome.org/GNOME/citemplates/release-service@master
+    inputs:
+      dist-job-name: "distcheck-libcloudproviders"
+      tarball-artifact-path: 
"_build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz"
+
+.build-deps:
+  before_script:
+    - dnf install -y gcc ninja-build gettext gi-docgen glib2-devel 
gobject-introspection-devel vala redhat-rpm-config git python3-pip
+    - pip install meson==1.9.2
 
 build-libcloudproviders:
+  extends: .build-deps
   stage: build
   script:
-  - meson _build .
-  - ninja -C _build
-  - ninja -C _build install
+  - meson setup _build
+  - meson compile -C _build
+  - meson install -C _build
+
+distcheck-libcloudproviders:
+  extends: .build-deps
+  stage: build
+  script:
+    - git config --global --add safe.directory $CI_PROJECT_DIR
+    - meson setup _build --auto-features=enabled
+    - meson dist -C _build
+  artifacts:
+    paths:
+      - "_build/meson-dist/*.xz"
 
 pages:
+  extends: .build-deps
   stage: deploy
   script:
-  - meson _build . -Denable-gtk-doc=true
-  - ninja libcloudproviders-doc -C _build
-  - mv _build/docs/reference/html public
+  - meson setup _build -Ddocumentation=true
+  - meson compile -C _build
+  - mv _build/docs/libcloudproviders-0.3 public
   artifacts:
     paths:
       - public
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/CHANGELOG 
new/libcloudproviders-0.4.0/CHANGELOG
--- old/libcloudproviders-0.3.6/CHANGELOG       2024-03-20 10:49:45.000000000 
+0100
+++ new/libcloudproviders-0.4.0/CHANGELOG       2026-01-06 09:20:29.000000000 
+0100
@@ -1,3 +1,10 @@
+0.4.0
+-----
+* Add dependencies to the pkg-config file (Sam Wedgwood)
+* Replace gtk-doc with gi-docgen
+* Require meson 1.9.0
+* Plug tiny memory leaks and reduce memory footprint of the library
+
 0.3.6
 -----
 * Plug several memory leaks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/README.md 
new/libcloudproviders-0.4.0/README.md
--- old/libcloudproviders-0.3.6/README.md       2024-03-20 10:49:45.000000000 
+0100
+++ new/libcloudproviders-0.4.0/README.md       2026-01-06 09:20:29.000000000 
+0100
@@ -8,7 +8,7 @@
 
 ## API Documentation
 
-See the [API 
documentation](https://world.pages.gitlab.gnome.org/libcloudproviders/) for
+See the [API 
documentation](https://gnome.pages.gitlab.gnome.org/libcloudproviders/) for
 further details.
 
 # Integrated by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/docs/cloudproviders-dbus.md 
new/libcloudproviders-0.4.0/docs/cloudproviders-dbus.md
--- old/libcloudproviders-0.3.6/docs/cloudproviders-dbus.md     1970-01-01 
01:00:00.000000000 +0100
+++ new/libcloudproviders-0.4.0/docs/cloudproviders-dbus.md     2026-01-06 
09:20:29.000000000 +0100
@@ -0,0 +1,6 @@
+Title: DBus Interfaces
+
+The DBus object that is passed to [[email protected]] will
+implement the org.freedesktop.DBus.ObjectManager interface, and that can be 
used
+by clients to discover and query objects like the provider properties itself or
+the accounts associated with your provider.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/docs/integration-client.md 
new/libcloudproviders-0.4.0/docs/integration-client.md
--- old/libcloudproviders-0.3.6/docs/integration-client.md      1970-01-01 
01:00:00.000000000 +0100
+++ new/libcloudproviders-0.4.0/docs/integration-client.md      2026-01-06 
09:20:29.000000000 +0100
@@ -0,0 +1,16 @@
+Title: Integrating with cloud providers
+
+Integration with cloud providers can be achieved by fetching a list of exported
+cloud provider accounts using [[email protected]_providers]. This function 
returns
+a list of [class@Provider] objects that can then be used to obtain details 
about
+the providers. Each [class@Provider] holds a list of [class@Account]
+that can be query using [[email protected]_accounts].
+
+To get notified about changes in either the [class@Provider] or each of
+their [class@Account] you can connect to the "notify::" signal of
+each of their properties. Any UI elements should be updated after receiving
+this signal.
+
+Besides the account details, [class@Account] may also export a 
[[email protected]] and a [[email protected]]
+to provide actions that are related with the account. Those can be obtained by 
calling
+[[email protected]_menu_model] and [[email protected]_action_group].
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/docs/integration-server.md 
new/libcloudproviders-0.4.0/docs/integration-server.md
--- old/libcloudproviders-0.3.6/docs/integration-server.md      1970-01-01 
01:00:00.000000000 +0100
+++ new/libcloudproviders-0.4.0/docs/integration-server.md      2026-01-06 
09:20:29.000000000 +0100
@@ -0,0 +1,34 @@
+Title: Implementing support as a cloud provider
+
+Cloud providers need to create [class@AccountExporter] objects for
+every account they like to expose to the API and use the 
[class@AccountExporter]
+API to set the properties of the accounts. Also a [class@ProviderExporter]
+needs to be created in order to hold all the [class@AccountExporter] objects
+that will be added to the provider when created. [class@ProviderExporter] also
+exports properties that define the provider that can be set using the 
[class@ProviderExporter] API.
+
+To register your cloud provider, you need to expose the interface it is 
implementing in its desktop file
+
+Example desktop file to register a cloud provider:
+```ini
+[Desktop Entry]
+Type=Application
+Name=mycloudprovider example server
+NoDisplay=true
+Implements=org.freedesktop.CloudProviders
+
+[org.freedesktop.CloudProviders]
+BusName=org.mycloudprovider.CloudProviders.ServerExample
+ObjectPath=/org/mycloudprovider/CloudProviders/ServerExample
+```
+
+In previous versions, to register your cloud provider you needed to provide a 
file in DATADIR/cloud-providers.
+This way of registering providers is still working but is not compatible with 
containerization.
+
+Example file to register a cloud provider in previous versions:
+```ini
+[Cloud Provider]
+BusName=org.mycloudprovider.CloudProviders.ServerExample
+ObjectPath=/org/mycloudprovider/CloudProviders/ServerExample
+Version=1
+```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcloudproviders-0.3.6/docs/libcloudproviders.toml.in 
new/libcloudproviders-0.4.0/docs/libcloudproviders.toml.in
--- old/libcloudproviders-0.3.6/docs/libcloudproviders.toml.in  1970-01-01 
01:00:00.000000000 +0100
+++ new/libcloudproviders-0.4.0/docs/libcloudproviders.toml.in  2026-01-06 
09:20:29.000000000 +0100
@@ -0,0 +1,38 @@
+[library]
+version = "@VERSION@"
+description = "Cloudproviders integration API"
+authors = "libcloudproviders contributors"
+license = "LGPL-3.0-or-later"
+browse_url = "https://gitlab.gnome.org/GNOME/libcloudproviders/";
+repository_url = "https://gitlab.gnome.org/GNOME/libcloudproviders.git";
+website_url = "https://gnome.pages.gitlab.gnome.org/libcloudproviders";
+dependencies = [
+  "GObject-2.0",
+]
+devhelp = true
+search_index = true
+
+[dependencies."GObject-2.0"]
+name = "GObject"
+description = "The base type system library"
+docs_url = "https://developer.gnome.org/gobject/stable";
+
+[theme]
+name = "basic"
+show_index_summary = true
+show_class_hierarchy = true
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/libcloudproviders/-/blob/main/";
+file_format = "{filename}#L{line}"
+
+[extra]
+urlmap_file = "urlmap.js"
+content_files = [
+  'overview.md',
+  'integration-client.md',
+  'integration-server.md',
+  'cloudproviders-dbus.md',
+  'dbus-org.freedesktop.CloudProviders.Account.md',
+  'dbus-org.freedesktop.CloudProviders.Provider.md',
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/docs/meson.build 
new/libcloudproviders-0.4.0/docs/meson.build
--- old/libcloudproviders-0.3.6/docs/meson.build        1970-01-01 
01:00:00.000000000 +0100
+++ new/libcloudproviders-0.4.0/docs/meson.build        2026-01-06 
09:20:29.000000000 +0100
@@ -0,0 +1,60 @@
+expand_content_md_files = [
+  'overview.md',
+  'integration-client.md',
+  'integration-server.md',
+  'cloudproviders-dbus.md',
+]
+
+toml_data = configuration_data()
+toml_data.set('VERSION', meson.project_version())
+
+libcloudproviders_toml = configure_file(
+  input: 'libcloudproviders.toml.in',
+  output: 'libcloudproviders.toml',
+  configuration: toml_data
+)
+
+dependency(
+  'gi-docgen', version: '>= 2021.1',
+  fallback: ['gi-docgen', 'dummy_dep'],
+  native: true,
+  required: get_option('documentation')
+)
+
+gidocgen = find_program('gi-docgen')
+
+docs_dir = datadir / 'doc'
+
+custom_target('libcloudproviders-doc',
+  input: [ libcloudproviders_toml, libcloudproviders_gir[0], 
libcloudproviders_dbus_files ],
+  output: 'libcloudproviders-@0@'.format(libcloudproviders_api_version),
+  command: [
+    gidocgen,
+    'generate',
+    '--quiet',
+    '--config=@INPUT0@',
+    '--output-dir=@OUTPUT@',
+    '--no-namespace-dir',
+    '--content-dir=@0@'.format(meson.current_source_dir()),
+    '--content-dir=@0@'.format(libcloudproviders_dbus_files_dir),
+    '@INPUT1@',
+  ],
+  depend_files: [ expand_content_md_files ],
+  build_by_default: true,
+  install: true,
+  install_dir: docs_dir,
+  install_tag: 'doc',
+)
+
+test('Validate docs',
+  gidocgen,
+  args: [
+    'check',
+    '--config', libcloudproviders_toml,
+    '--add-include-path=@0@'.format(meson.current_build_dir() / '../src'),
+    libcloudproviders_gir[0],
+  ],
+  depends: libcloudproviders_gir[0],
+  suite: ['doc'],
+)
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/docs/overview.md 
new/libcloudproviders-0.4.0/docs/overview.md
--- old/libcloudproviders-0.3.6/docs/overview.md        1970-01-01 
01:00:00.000000000 +0100
+++ new/libcloudproviders-0.4.0/docs/overview.md        2026-01-06 
09:20:29.000000000 +0100
@@ -0,0 +1,6 @@
+Title: Overview
+
+This part documents libcloudproviders library. The library is meant to be used
+as a C interface with their respective language bindings through introspection.
+However, it can also be used with raw DBus management. If that's the
+case, make sure it implements the DBus interfaces explained at 
cloudproviders-dbus.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/docs/reference/.gitignore 
new/libcloudproviders-0.4.0/docs/reference/.gitignore
--- old/libcloudproviders-0.3.6/docs/reference/.gitignore       2024-03-20 
10:49:45.000000000 +0100
+++ new/libcloudproviders-0.4.0/docs/reference/.gitignore       1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-*generated-docs*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcloudproviders-0.3.6/docs/reference/integration-client.xml 
new/libcloudproviders-0.4.0/docs/reference/integration-client.xml
--- old/libcloudproviders-0.3.6/docs/reference/integration-client.xml   
2024-03-20 10:49:45.000000000 +0100
+++ new/libcloudproviders-0.4.0/docs/reference/integration-client.xml   
1970-01-01 01:00:00.000000000 +0100
@@ -1,26 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"; [
-<!ENTITY version SYSTEM "version.xml">
-]>
-<chapter id="implementing-cps">
-  <title>Integrating with cloud providers</title>
-  <para>
-    Integration with cloud providers can be achieved by fetching a list of 
exported
-    cloud provider accounts using <link 
linkend="cloud_providers_collector_get_providers()">cloud_providers_collector_get_providers()</link>.
 This function returns
-    a list of #CloudProvidersProvider objects that can then be used to obtain 
details about
-    the providers. Each #CloudProvidersProvider holds a list of 
#CloudProvidersAccount
-    that can be query using cloud_providers_provider_get_accounts().
-  </para>
-  <para>
-    To get notified about changes in either the #CloudProvidersProvider or 
each of
-      their #CloudProvidersAccount you can connect to the "notify::" signal of
-      each of their properties. Any UI elements should be updated after 
receiving
-      this signal.
-  </para>
-  <para>
-    Besides the account details, #CloudProvidersAccount may also export a 
#GMenuModel and a #GActionGroup
-    to provide actions that are related with the account. Those can be 
obtained by calling
-    cloud_providers_account_get_menu_model() and 
cloud_providers_account_get_action_group().
-  </para>
-</chapter>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcloudproviders-0.3.6/docs/reference/integration-server.xml 
new/libcloudproviders-0.4.0/docs/reference/integration-server.xml
--- old/libcloudproviders-0.3.6/docs/reference/integration-server.xml   
2024-03-20 10:49:45.000000000 +0100
+++ new/libcloudproviders-0.4.0/docs/reference/integration-server.xml   
1970-01-01 01:00:00.000000000 +0100
@@ -1,47 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"; [
-<!ENTITY version SYSTEM "version.xml">
-]>
-    <chapter id="implementing-cp">
-      <title>Implementing support as a cloud provider</title>
-      <para>
-        Cloud providers need to create #CloudProvidersAccountExporter objects 
for
-        every account they like to expose to the API and use the 
#CloudProvidersAccountExporter
-        API to set the properties of the accounts. Also a 
#CloudProvidersProviderExporter
-        needs to be created in order to hold all the 
#CloudProvidersAccountExporter objects
-        that will be added to the provider when created.
-        #CloudProvidersProviderExporter also export properties that define the 
provider
-        that can be set using the #CloudProvidersProviderExporter API.
-      </para>
-      <para>
-        To register your cloud provider, you need to expose the interface it 
is implementing in its desktop file
-      </para>
-      <example>
-        <title>Example desktop file to register a cloud provider</title>
-        <programlisting>
-          [Desktop Entry]
-          Type=Application
-          Name=mycloudprovider example server
-          NoDisplay=true
-          Implements=org.freedesktop.CloudProviders
-
-          [org.freedesktop.CloudProviders]
-          BusName=org.mycloudprovider.CloudProviders.ServerExample
-          ObjectPath=/org/mycloudprovider/CloudProviders/ServerExample
-        </programlisting>
-      </example>
-      <para>
-        In previous versions, to register your cloud provider you needed to 
provide a file in DATADIR/cloud-providers.
-        This way of registering providers is still working but is not 
compatible with containerization.
-      </para>
-      <example>
-        <title>Example file to register a cloud provider in previous 
versions</title>
-        <programlisting>
-          [Cloud Provider]
-          BusName=org.mycloudprovider.CloudProviders.ServerExample
-          ObjectPath=/org/mycloudprovider/CloudProviders/ServerExample
-          Version=1
-        </programlisting>
-      </example>
-    </chapter>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcloudproviders-0.3.6/docs/reference/libcloudproviders-docs.xml 
new/libcloudproviders-0.4.0/docs/reference/libcloudproviders-docs.xml
--- old/libcloudproviders-0.3.6/docs/reference/libcloudproviders-docs.xml       
2024-03-20 10:49:45.000000000 +0100
+++ new/libcloudproviders-0.4.0/docs/reference/libcloudproviders-docs.xml       
1970-01-01 01:00:00.000000000 +0100
@@ -1,88 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-               "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; [
-<!ENTITY version SYSTEM "version.xml">
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude";>
-  <bookinfo>
-    <title>CloudProviders Reference Manual</title>
-    <releaseinfo>Cloudproviders &version;</releaseinfo>
-    <authorgroup>
-      <author>
-        <firstname>Julius</firstname>
-        <surname>Härtl</surname>
-        <affiliation>
-          <address>
-            <email>[email protected]</email>
-          </address>
-        </affiliation>
-      </author>
-      <author>
-        <firstname>Carlos</firstname>
-        <surname>Soriano</surname>
-        <affiliation>
-          <address>
-            <email>[email protected]</email>
-          </address>
-        </affiliation>
-      </author>
-    </authorgroup>
-    <copyright>
-      <year>2017</year>
-      <holder>Julius Härtl</holder>
-      <year>2017</year>
-      <holder>Carlos Soriano</holder>
-    </copyright>
-  </bookinfo>
-
-  <part id="libcloudproviders">
-    <title>libcloudproviders library</title>
-    <partintro>
-      <para>
-          This part documents libcloudproviders library. The library is meant 
to be used
-          as a C interface with their respective language bindings through 
introspection.
-          However, it can also be used with raw DBus management. If that's the
-          case, make sure it implements the DBus interfaces explained at
-          <link linkend="cloudproviders-dbus">cloudproviders-dbus</link>.
-      </para>
-    </partintro>
-    <xi:include href="xml/cloudproviderscollector.xml"/>
-    <xi:include href="xml/cloudprovidersproviderexporter.xml"/>
-    <xi:include href="xml/cloudprovidersaccountexporter.xml"/>
-    <xi:include href="xml/cloudprovidersaccount.xml"/>
-    <xi:include href="xml/cloudprovidersprovider.xml"/>
-  </part>
-
-  <part id="libcloudproviders-integration">
-    <title>Integrating libcloudproviders</title>
-    <xi:include href="integration-server.xml" />
-    <xi:include href="integration-client.xml" />
-  </part>
-
-  <part id="cloudproviders-dbus">
-    <title>DBus Interfaces</title>
-    <partintro>
-      <para>
-    cloud provider accounts using <link 
linkend="cloud_providers_collector_get_providers()">cloud_providers_collector_get_providers()</link>.
 This function returns
-          cloud-providers-collector-get-providers()
-         #CloudProvidersCollector.signals
-          cloudprovidersprovider
-         <link href="glib-Hash-Tables">Hash Tables</link>
-         <link href="#CloudProvidersProvider.signals">Hash Tables</link>
-         <link 
href="CloudProvidersCollector.html#cloud-providers-collector-get-providers">Hash
 Tables</link>
-          The DBus object that is passed to 
cloud_providers_provider_exporter_new() will implement the <ulink
-          
url="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager";>org.freedesktop.DBus.ObjectManager</ulink>
-          interface, and that can be used by clients to discover and query
-          objects like the provider properties itself or the accounts 
associated
-          with your provider.
-      </para>
-    </partintro>
-    <xi:include 
href="generated-docs-org.freedesktop.CloudProviders.Account.xml"/>
-    <xi:include 
href="generated-docs-org.freedesktop.CloudProviders.Provider.xml"/>
-  </part>
-  <index id="index-all">
-    <title>Index of all symbols</title>
-  </index>
-  <xi:include href="xml/annotation-glossary.xml"><xi:fallback/></xi:include>
-
-</book>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcloudproviders-0.3.6/docs/reference/libcloudproviders-sections.txt 
new/libcloudproviders-0.4.0/docs/reference/libcloudproviders-sections.txt
--- old/libcloudproviders-0.3.6/docs/reference/libcloudproviders-sections.txt   
2024-03-20 10:49:45.000000000 +0100
+++ new/libcloudproviders-0.4.0/docs/reference/libcloudproviders-sections.txt   
1970-01-01 01:00:00.000000000 +0100
@@ -1,67 +0,0 @@
-<SECTION>
-<FILE>cloudprovidersaccount</FILE>
-<TITLE>CloudProvidersAccount</TITLE>
-CloudProvidersAccountStatus
-CLOUD_PROVIDERS_ACCOUNT_DBUS_IFACE
-CLOUD_PROVIDERS_TYPE_ACCOUNT
-CloudProvidersAccountClass
-cloud_providers_account_new
-cloud_providers_account_get_name
-cloud_providers_account_get_status
-cloud_providers_account_get_status_details
-cloud_providers_account_get_icon
-cloud_providers_account_get_menu_model
-cloud_providers_account_get_action_group
-cloud_providers_account_get_path
-CloudProvidersAccount
-</SECTION>
-
-<SECTION>
-<FILE>cloudprovidersaccountexporter</FILE>
-<TITLE>CloudProvidersAccountExporter</TITLE>
-CLOUD_PROVIDERS_TYPE_ACCOUNT_EXPORTER
-CloudProvidersAccountExporterClass
-cloud_providers_account_exporter_new
-cloud_providers_account_exporter_set_name
-cloud_providers_account_exporter_set_status
-cloud_providers_account_exporter_set_status_details
-cloud_providers_account_exporter_set_icon
-cloud_providers_account_exporter_set_menu_model
-cloud_providers_account_exporter_set_action_group
-cloud_providers_account_exporter_set_path
-CloudProvidersAccountExporter
-</SECTION>
-
-<SECTION>
-<FILE>cloudproviderscollector</FILE>
-<TITLE>CloudProvidersCollector</TITLE>
-CLOUD_PROVIDERS_TYPE_COLLECTOR
-CloudProvidersCollectorClass
-cloud_providers_collector_dup_singleton
-cloud_providers_collector_get_providers
-cloud_providers_collector_update
-CloudProvidersCollector
-</SECTION>
-
-<SECTION>
-<FILE>cloudprovidersprovider</FILE>
-<TITLE>CloudProvidersProvider</TITLE>
-CLOUD_PROVIDERS_PROVIDER_DBUS_IFACE
-CLOUD_PROVIDERS_TYPE_PROVIDER
-cloud_providers_provider_new
-cloud_providers_provider_get_name
-cloud_providers_provider_get_accounts
-CloudProvidersProvider
-</SECTION>
-
-<SECTION>
-<FILE>cloudprovidersproviderexporter</FILE>
-<TITLE>CloudProvidersProviderExporter</TITLE>
-CLOUD_PROVIDERS_TYPE_PROVIDER_EXPORTER
-CloudProvidersProviderExporterClass
-cloud_providers_provider_exporter_new
-cloud_providers_provider_exporter_remove_account
-cloud_providers_provider_exporter_set_name
-cloud_providers_provider_exporter_get_name
-CloudProvidersProviderExporter
-</SECTION>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/docs/reference/meson.build 
new/libcloudproviders-0.4.0/docs/reference/meson.build
--- old/libcloudproviders-0.3.6/docs/reference/meson.build      2024-03-20 
10:49:45.000000000 +0100
+++ new/libcloudproviders-0.4.0/docs/reference/meson.build      1970-01-01 
01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-cdata = configuration_data()
-cdata.set('VERSION', meson.project_version())
-configure_file(input: 'version.xml.in',
-               output: 'version.xml',
-               configuration: cdata)
-
-codegen = find_program('gdbus-codegen')
-message ('----------------------------')
-message('Generating DBUS docs…')
-run_command('gdbus-codegen', '--generate-docbook', 'generated-docs',
-            join_paths(meson.source_root(), 'data/cloud-providers-dbus.xml'),
-            '--output-directory', join_paths(meson.source_root(), 
'docs/reference'))
-
-gnome.gtkdoc('libcloudproviders',
-             src_dir: join_paths (meson.source_root(), 'src'),
-             dependencies: [libcloudproviders_dep],
-             gobject_typesfile: 'libcloudproviders.types',
-             main_xml: 'libcloudproviders-docs.xml',
-             content_files: 
['generated-docs-org.freedesktop.CloudProviders.Account.xml',
-                             
'generated-docs-org.freedesktop.CloudProviders.Provider.xml'],
-             install : true,
-             scan_args: ['--rebuild-types'])
-
-message ('----------------------------')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcloudproviders-0.3.6/docs/reference/version.xml.in 
new/libcloudproviders-0.4.0/docs/reference/version.xml.in
--- old/libcloudproviders-0.3.6/docs/reference/version.xml.in   2024-03-20 
10:49:45.000000000 +0100
+++ new/libcloudproviders-0.4.0/docs/reference/version.xml.in   1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-@VERSION@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/docs/urlmap.js 
new/libcloudproviders-0.4.0/docs/urlmap.js
--- old/libcloudproviders-0.3.6/docs/urlmap.js  1970-01-01 01:00:00.000000000 
+0100
+++ new/libcloudproviders-0.4.0/docs/urlmap.js  2026-01-06 09:20:29.000000000 
+0100
@@ -0,0 +1,8 @@
+// SPDX-FileCopyrightText: 2025 GNOME Foundation
+// SPDX-License-Identifier: LGPL-3.0-or-later
+
+baseURLs = [
+    [ 'GLib', 'https://docs.gtk.org/glib/' ],
+    [ 'Gio', 'https://docs.gtk.org/gio/' ],
+    [ 'GObject', 'https://docs.gtk.org/gobject/' ],
+]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/meson.build 
new/libcloudproviders-0.4.0/meson.build
--- old/libcloudproviders-0.3.6/meson.build     2024-03-20 10:49:45.000000000 
+0100
+++ new/libcloudproviders-0.4.0/meson.build     2026-01-06 09:20:29.000000000 
+0100
@@ -1,7 +1,7 @@
 project ('libcloudproviders', 'c',
-  version: '0.3.6',
-  meson_version: '>=0.54.0',
-  license: 'LGPL3+',
+  version: '0.4.0',
+  meson_version: '>=1.9.0',
+  license: 'LGPL-3.0-or-later',
   default_options: [
     'c_std=gnu99',
     'warning_level=2',
@@ -36,7 +36,7 @@
 endforeach
 add_project_arguments(global_cflags, language: 'c')
 
-glib_req_version = '2.56'
+glib_req_version = '2.64'
 glib_ver = '>= @0@'.format(glib_req_version)
 glib = dependency ('glib-2.0', version: glib_ver)
 gio = dependency ('gio-2.0', version: glib_ver)
@@ -68,6 +68,19 @@
 
 subdir ('src')
 subdir ('test')
-if get_option ('enable-gtk-doc')
-    subdir ('docs/reference')
+if get_option ('documentation')
+    subdir ('docs')
 endif
+summary({
+  'bindir': bindir,
+  'libdir': libdir,
+  'libexecdir': libexecdir,
+  'datadir': datadir,
+  'includedir': get_option('includedir'),
+}, section: 'Directories')
+summary({
+  'Introspection': get_option('introspection'),
+  'Vala bindings': get_option('vapigen'),
+  'Documentation': get_option('documentation'),
+  'Installed tests': get_option('installed-tests'),
+}, section: 'Configuration')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/meson_options.txt 
new/libcloudproviders-0.4.0/meson_options.txt
--- old/libcloudproviders-0.3.6/meson_options.txt       2024-03-20 
10:49:45.000000000 +0100
+++ new/libcloudproviders-0.4.0/meson_options.txt       2026-01-06 
09:20:29.000000000 +0100
@@ -1,4 +1,3 @@
-option('enable-gtk-doc', type: 'boolean', value: false)
 option('installed-tests', type: 'boolean', value: false)
 option(
   'introspection',
@@ -11,4 +10,11 @@
   type: 'boolean',
   value: true,
   description: 'Build Vala bindings',
-)
\ No newline at end of file
+)
+option(
+  'documentation',
+  type: 'boolean',
+  value: false,
+  description: 'Generate the API reference for libcloudproviders',
+)
+option('enable-gtk-doc', type: 'boolean', value: false, deprecated: 
'documentation')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/src/cloudprovidersaccount.c 
new/libcloudproviders-0.4.0/src/cloudprovidersaccount.c
--- old/libcloudproviders-0.3.6/src/cloudprovidersaccount.c     2024-03-20 
10:49:45.000000000 +0100
+++ new/libcloudproviders-0.4.0/src/cloudprovidersaccount.c     2026-01-06 
09:20:29.000000000 +0100
@@ -41,15 +41,14 @@
 G_DEFINE_TYPE (CloudProvidersAccount, cloud_providers_account, G_TYPE_OBJECT)
 
 /**
- * SECTION:cloudprovidersaccount
- * @title: CloudProvidersAccount
- * @short_description: Base object for representing a single account for 
clients.
- * @include: src/cloudprovideraccount.h
+ * CloudProvidersAccount:
  *
- * #CloudProvidersAccount is the basic object used to construct the integrator 
UI
+ * Base object for representing a single account for clients.
+ *
+ * CloudProvidersAccount is the basic object used to construct the integrator 
UI
  * and actions that a provider will present to the user, from the client side.
  * Integrators of the cloud providers can use this object to poll the
- * #CloudProvidersProvider menus, status and actions.
+ * [class@Provider] menus, status and actions.
  */
 
 enum
@@ -103,6 +102,7 @@
 {
     GError *error = NULL;
 
+    g_clear_object (&self->icon);
     self->icon = g_icon_new_for_string (cloud_providers_dbus_account_get_icon 
(self->proxy), &error);
     if (error != NULL)
     {
@@ -247,8 +247,8 @@
  * cloud_providers_account_new
  * @proxy: DBus proxy
  *
- * A #CloudProvidersAccount object are used to fetch details about cloud 
providers from DBus.
- * Object are usually fetched from cloud_providers_provider_get_accounts() as 
a list.
+ * A [class@Account] object is used to fetch details about cloud providers 
from DBus.
+ * It is usually fetched from [[email protected]_accounts] as a list.
  */
 CloudProvidersAccount*
 cloud_providers_account_new (GDBusProxy *proxy)
@@ -304,53 +304,80 @@
     object_class->set_property = cloud_providers_account_set_property;
     object_class->get_property = cloud_providers_account_get_property;
 
+    /**
+     * CloudProvidersAccount:name:
+     *
+     * The name of the account.
+     */
     properties [PROP_NAME] =
-        g_param_spec_string ("name",
-                             "Name",
-                             "The name of the account",
+        g_param_spec_string ("name", NULL, NULL,
                              NULL,
                              (G_PARAM_READABLE |
                               G_PARAM_STATIC_STRINGS));
+
+    /**
+     * CloudProvidersAccount:path:
+     *
+     * The path of the directory where files are located.
+     */
     properties [PROP_PATH] =
-        g_param_spec_string ("path",
-                             "Path",
-                             "The path of the directory where files are 
located",
+        g_param_spec_string ("path", NULL, NULL,
                              NULL,
                              (G_PARAM_READABLE |
                               G_PARAM_STATIC_STRINGS));
+
+    /**
+     * CloudProvidersAccount:status:
+     *
+     * Status of the account.
+     */
     properties [PROP_STATUS] =
-        g_param_spec_enum ("status",
-                           "Status",
-                           "Status of the account",
+        g_param_spec_enum ("status", NULL, NULL,
                            CLOUD_TYPE_PROVIDERS_ACCOUNT_STATUS,
                            CLOUD_PROVIDERS_ACCOUNT_STATUS_INVALID,
                            (G_PARAM_READABLE |
                             G_PARAM_STATIC_STRINGS));
+
+    /**
+     * CloudProvidersAccount:status-details:
+     *
+     * The details of the account status.
+     */
     properties [PROP_STATUS_DETAILS] =
-        g_param_spec_string ("status-details",
-                             "StatusDetails",
-                             "The details of the account status",
+        g_param_spec_string ("status-details", NULL, NULL,
                              NULL,
                              (G_PARAM_READABLE |
                               G_PARAM_STATIC_STRINGS));
+
+    /**
+     * CloudProvidersAccount:icon:
+     *
+     * The icon representing the account.
+     */
     properties [PROP_ICON] =
-        g_param_spec_object ("icon",
-                             "Icon",
-                             "The icon representing the account",
+        g_param_spec_object ("icon", NULL, NULL,
                              G_TYPE_ICON,
                              (G_PARAM_READABLE |
                               G_PARAM_STATIC_STRINGS));
+
+    /**
+     * CloudProvidersAccount:menu-model:
+     *
+     * The menu model associated with the account.
+     */
     properties [PROP_MENU_MODEL] =
-        g_param_spec_object ("menu-model",
-                             "MenuModel",
-                             "The menu model associated with the account",
+        g_param_spec_object ("menu-model", NULL, NULL,
                              G_TYPE_MENU_MODEL,
                              (G_PARAM_READABLE |
                               G_PARAM_STATIC_STRINGS));
+
+    /**
+     * CloudProvidersAccount:action-group:
+     *
+     * The action group associated with the account and menu model.
+     */
     properties [PROP_ACTION_GROUP] =
-        g_param_spec_object ("action-group",
-                             "ActionGroup",
-                             "The action group associated with the account and 
menu model",
+        g_param_spec_object ("action-group", NULL, NULL,
                              G_TYPE_ACTION_GROUP,
                              (G_PARAM_READABLE |
                               G_PARAM_STATIC_STRINGS));
@@ -449,8 +476,8 @@
  * cloud_providers_account_get_action_group:
  * @self: A cloud provider account
  *
- * Get the action group exported in addition to the #GMenuModel from
- * cloud_providers_account_get_menu_model()
+ * Get the action group exported in addition to the [[email protected]] from
+ * [[email protected]_menu_model].
  *
  * Returns: (transfer none) : The action group exported by the cloud provider 
account
  */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcloudproviders-0.3.6/src/cloudprovidersaccountexporter.c 
new/libcloudproviders-0.4.0/src/cloudprovidersaccountexporter.c
--- old/libcloudproviders-0.3.6/src/cloudprovidersaccountexporter.c     
2024-03-20 10:49:45.000000000 +0100
+++ new/libcloudproviders-0.4.0/src/cloudprovidersaccountexporter.c     
2026-01-06 09:20:29.000000000 +0100
@@ -67,10 +67,9 @@
 static GParamSpec *properties [N_PROPS];
 
 /**
- * SECTION:cloudprovidersaccountexporter
- * @title: CloudProvidersAccountExporter
- * @short_description: Base object for representing a cloud providers account
- * @include: src/cloudprovidersaccountexporter.h
+ * CloudProvidersAccountExporter:
+ *
+ * Base object for representing a cloud providers account
  */
 
 static void
@@ -146,10 +145,9 @@
 /**
  * cloud_providers_account_exporter_new:
  * @provider: The provider to which it will be associated.
- * @bus_name: A unique name for the account
- *               must be a valid DBus object name
+ * @bus_name: A unique name for the account. Must be a valid DBus object name.
  *
- * Create a new #CloudProvidersAccountExporter object
+ * Create a new [class@AccountExporter] object
  */
 CloudProvidersAccountExporter*
 cloud_providers_account_exporter_new (CloudProvidersProviderExporter *provider,
@@ -206,9 +204,6 @@
 
         case PROP_ICON:
         {
-            g_autoptr (GIcon) icon = NULL;
-
-            icon = g_icon_new_for_string (self->icon, NULL);
             g_value_take_object (value, g_icon_new_for_string (self->icon, 
NULL));
         }
         break;
@@ -364,7 +359,7 @@
  * @menu_model: The menu model to export
  *
  * One of the benefits of the integration is to display a menu with available
- * options for an account. Use this function to export a GMenuModel menu to be
+ * options for an account. Use this function to export a [[email protected]] 
menu to be
  * displayed by the chosen integration by the desktop environment or 
application.
  */
 void
@@ -383,11 +378,10 @@
 /**
  * cloud_providers_account_exporter_set_action_group:
  * @self: The cloud provider
- * @action_group: The GActionGroup to be used by the menu exported by 
cloud_providers_account_exporter_export_menu
+ * @action_group: The action group to be used to render the menu
  *
- * In order for a menu exported with 
cloud_providers_account_exporter_export_menu to receive events
- * that will eventually call your callbacks, it needs the corresponding 
GActionGroup.
- * Use this function to export it.
+ * In order for a menu to receive events that will eventually call your 
callbacks, it needs the
+ * corresponding [[email protected]]. Use this function to export it.
  */
 void
 cloud_providers_account_exporter_set_action_group 
(CloudProvidersAccountExporter *self,
@@ -470,89 +464,108 @@
     object_class->dispose = cloud_providers_account_exporter_dispose;
     object_class->finalize = cloud_providers_account_exporter_finalize;
 
+    /**
+     * CloudProvidersAccountExporter:name:
+     *
+     * The name of the account.
+     */
     properties [PROP_NAME] =
-        g_param_spec_string ("name",
-                             "Name",
-                             "The name of the account",
+        g_param_spec_string ("name", NULL, NULL,
                              NULL,
                              (G_PARAM_READWRITE |
                               G_PARAM_STATIC_STRINGS));
-    g_object_class_install_property (object_class, PROP_NAME,
-                                     properties [PROP_NAME]);
+
+    /**
+     * CloudProvidersAccountExporter:bus-name:
+     *
+     * The bus name of the account.
+     */
     properties [PROP_BUS_NAME] =
-        g_param_spec_string ("bus-name",
-                             "BusName",
-                             "The bus name of the account",
+        g_param_spec_string ("bus-name", NULL, NULL,
                              NULL,
                              (G_PARAM_READWRITE |
                               G_PARAM_STATIC_STRINGS|
                               G_PARAM_CONSTRUCT_ONLY));
-    g_object_class_install_property (object_class, PROP_BUS_NAME,
-                                     properties [PROP_BUS_NAME]);
+
+    /**
+     * CloudProvidersAccountExporter:provider:
+     *
+     * The provider associated with the account.
+     */
     properties [PROP_PROVIDER] =
-        g_param_spec_object ("provider",
-                             "Provider",
-                             "The provider associated with the account",
+        g_param_spec_object ("provider", NULL, NULL,
                              CLOUD_PROVIDERS_TYPE_PROVIDER_EXPORTER,
                              (G_PARAM_READWRITE |
                               G_PARAM_STATIC_STRINGS |
                               G_PARAM_CONSTRUCT_ONLY));
-    g_object_class_install_property (object_class, PROP_PROVIDER,
-                                     properties [PROP_PROVIDER]);
+
+    /**
+     * CloudProvidersAccountExporter:path:
+     *
+     * The path of the directory where files are located.
+     */
     properties [PROP_PATH] =
-        g_param_spec_string ("path",
-                             "Path",
-                             "The path of the directory where files are 
located",
+        g_param_spec_string ("path", NULL, NULL,
                              NULL,
                              (G_PARAM_READWRITE |
                               G_PARAM_STATIC_STRINGS));
-    g_object_class_install_property (object_class, PROP_PATH,
-                                     properties [PROP_PATH]);
+
+    /**
+     * CloudProvidersAccountExporter:status:
+     *
+     * Status of the account.
+     */
     properties [PROP_STATUS] =
-        g_param_spec_enum ("status",
-                          "Status",
-                          "Status of the account",
-                          CLOUD_TYPE_PROVIDERS_ACCOUNT_STATUS,
-                          CLOUD_PROVIDERS_ACCOUNT_STATUS_INVALID,
-                          (G_PARAM_READWRITE |
-                           G_PARAM_STATIC_STRINGS));
-    g_object_class_install_property (object_class, PROP_STATUS,
-                                     properties [PROP_STATUS]);
+        g_param_spec_enum ("status", NULL, NULL,
+                           CLOUD_TYPE_PROVIDERS_ACCOUNT_STATUS,
+                           CLOUD_PROVIDERS_ACCOUNT_STATUS_INVALID,
+                           (G_PARAM_READWRITE |
+                            G_PARAM_STATIC_STRINGS));
+
+    /**
+     * CloudProvidersAccountExporter:status-details:
+     *
+     * The details of the account status.
+     */
     properties [PROP_STATUS_DETAILS] =
-        g_param_spec_string ("status-details",
-                             "StatusDetails",
-                             "The details of the account status",
+        g_param_spec_string ("status-details", NULL, NULL,
                              NULL,
                              (G_PARAM_READWRITE |
                               G_PARAM_STATIC_STRINGS));
-    g_object_class_install_property (object_class, PROP_STATUS_DETAILS,
-                                     properties [PROP_STATUS_DETAILS]);
+
+    /**
+     * CloudProvidersAccountExporter:icon:
+     *
+     * The icon representing the account.
+     */
     properties [PROP_ICON] =
-        g_param_spec_object ("icon",
-                             "Icon",
-                             "The icon representing the account",
+        g_param_spec_object ("icon", NULL, NULL,
                              G_TYPE_ICON,
                              (G_PARAM_READWRITE |
                               G_PARAM_STATIC_STRINGS));
-    g_object_class_install_property (object_class, PROP_ICON,
-                                     properties [PROP_ICON]);
+
+    /**
+     * CloudProvidersAccountExporter:menu-model:
+     *
+     * The menu model associated with the account.
+     */
     properties [PROP_MENU_MODEL] =
-        g_param_spec_object ("menu-model",
-                             "MenuModel",
-                             "The menu model associated with the account",
+        g_param_spec_object ("menu-model", NULL, NULL,
                              G_TYPE_MENU_MODEL,
                              (G_PARAM_READWRITE |
                               G_PARAM_STATIC_STRINGS));
-    g_object_class_install_property (object_class, PROP_MENU_MODEL,
-                                     properties [PROP_MENU_MODEL]);
+
+    /**
+     * CloudProvidersAccountExporter:action-group:
+     *
+     * The action group associated with the account and menu model.
+     */
     properties [PROP_ACTION_GROUP] =
-        g_param_spec_object ("action-group",
-                             "ActionGroup",
-                             "The action group associated with the account and 
menu model",
+        g_param_spec_object ("action-group", NULL, NULL,
                              G_TYPE_ACTION_GROUP,
                              (G_PARAM_READWRITE |
                               G_PARAM_STATIC_STRINGS));
-    g_object_class_install_property (object_class, PROP_ACTION_GROUP,
-                                     properties [PROP_ACTION_GROUP]);
+
+    g_object_class_install_properties (object_class, N_PROPS, properties);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcloudproviders-0.3.6/src/cloudproviderscollector.c 
new/libcloudproviders-0.4.0/src/cloudproviderscollector.c
--- old/libcloudproviders-0.3.6/src/cloudproviderscollector.c   2024-03-20 
10:49:45.000000000 +0100
+++ new/libcloudproviders-0.4.0/src/cloudproviderscollector.c   2026-01-06 
09:20:29.000000000 +0100
@@ -42,15 +42,13 @@
 G_DEFINE_TYPE (CloudProvidersCollector, cloud_providers_collector, 
G_TYPE_OBJECT)
 
 /**
- * SECTION:cloudproviderscollector
- * @title: CloudProvidersCollector
- * @short_description: Singleton for tracking all providers.
- * @include: src/cloudproviders.h
+ * CloudProvidersCollector:
  *
- * #CloudProvidersCollector is a singleton to track all the changes in all 
providers.
- * Using a #CloudProvidersCollector you can implement integration for all of 
them at once
- * and represent them in the UI, track new providers added or removed and their
- * status.
+ * Singleton for tracking all providers.
+ *
+ * This is a singleton to track all the changes in all providers.
+ * Using this class, you can implement integration for all of them at once and 
represent them in the
+ * UI, track new providers added or removed and their status.
  */
 
 enum
@@ -150,8 +148,11 @@
 
 /**
  * cloud_providers_collector_get_providers
- * @self: A CloudProvidersCollector
- * Returns: (element-type CloudProviders.Provider) (transfer none): A GList* 
of #CloudProvidersProvider objects.
+ * @self: A collector
+ *
+ * Get the list of currently managed providers.
+ *
+ * Returns: (element-type CloudProvidersProvider) (transfer none): A list of 
[class@Provider] objects.
  */
 GList*
 cloud_providers_collector_get_providers (CloudProvidersCollector *self)
@@ -389,6 +390,7 @@
 
 /**
  * cloud_providers_collector_dup_singleton:
+ *
  * Main object to track changes in all providers.
  *
  * Returns: (transfer full): A manager singleton
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/src/cloudprovidersprovider.c 
new/libcloudproviders-0.4.0/src/cloudprovidersprovider.c
--- old/libcloudproviders-0.3.6/src/cloudprovidersprovider.c    2024-03-20 
10:49:45.000000000 +0100
+++ new/libcloudproviders-0.4.0/src/cloudprovidersprovider.c    2026-01-06 
09:20:29.000000000 +0100
@@ -40,14 +40,12 @@
 G_DEFINE_TYPE (CloudProvidersProvider, cloud_providers_provider, G_TYPE_OBJECT)
 
 /**
- * SECTION:cloudprovidersprovider
- * @title: CloudProvidersProvider
- * @short_description: Base object for representing a single provider for 
clients.
- * @include: src/cloudprovidersprovider.h
+ * CloudProvidersProvider:
  *
- * #CloudProvidersProvider is the basic object object for client implementers
- * that contains the properties of the provider such as name, and the accounts
- * associated with it.
+ * Base object for representing a single provider for clients.
+ *
+ * This is the basic object object for client implementers that contains the 
properties of the
+ * provider such as name, and the accounts associated with it.
  */
 
 enum
@@ -207,10 +205,13 @@
     object_class->get_property = cloud_providers_provider_get_property;
     object_class->set_property = cloud_providers_provider_set_property;
 
+    /**
+     * CloudProvidersProvider:name:
+     *
+     * The name of the cloud provider.
+     */
     properties [PROP_NAME] =
-        g_param_spec_string ("name",
-                             "Name",
-                             "Name of the provider",
+        g_param_spec_string ("name", NULL, NULL,
                              NULL,
                              (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
     g_object_class_install_properties (object_class,
@@ -439,7 +440,10 @@
 /**
  * cloud_providers_provider_get_accounts
  * @self: A CloudProvidersProvider
- * Returns: (element-type CloudProviders.Account) (transfer none): A GList* of 
#CloudProvidersProvider objects.
+ *
+ * Get the list of accounts from this provider.
+ *
+ * Returns: (element-type CloudProvidersAccount) (transfer none): A list of 
[class@Account] objects.
  */
 GList*
 cloud_providers_provider_get_accounts (CloudProvidersProvider *self)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcloudproviders-0.3.6/src/cloudprovidersproviderexporter.c 
new/libcloudproviders-0.4.0/src/cloudprovidersproviderexporter.c
--- old/libcloudproviders-0.3.6/src/cloudprovidersproviderexporter.c    
2024-03-20 10:49:45.000000000 +0100
+++ new/libcloudproviders-0.4.0/src/cloudprovidersproviderexporter.c    
2026-01-06 09:20:29.000000000 +0100
@@ -55,14 +55,9 @@
 static GParamSpec *properties [N_PROPS];
 
 /**
- * SECTION:cloudprovidersproviderexporter
- * @title: CloudProvidersProviderExporter
- * @short_description: Base object for representing a single provider
- * @include: src/cloudprovidersexporter.h
+ * CloudProvidersProviderExporter:
  *
- * #CloudProvidersProviderExporter is the base object representing a single 
cloud provider.
- * Multiple #CloudProvidersAccountExporter objects can be added with 
cloud_providers_provider_exporter_add_account()
- * After adding the initial set of accounts 
cloud_providers_provider_exporter_export_objects() must be called.
+ * Base object for representing a single single provider.
  */
 
 static void
@@ -116,7 +111,7 @@
  * Each cloud provider can have a variety of account associated with it. Use 
this
  * function to add the accounts the user set up. This function is currently 
only internal,
  * as we do automation for the dbus handling for adding and exporting an 
account.
- * This is handled in cloud_providers_account_exporter_new().
+ * This is handled in [[email protected]].
  */
 void
 cloud_providers_provider_exporter_add_account (CloudProvidersProviderExporter 
*self,
@@ -132,7 +127,7 @@
  * @account: The account object
  *
  * Each cloud provider can have a variety of account associated with it. Use 
this
- * function to remove the accounts that were added when created by 
cloud_providers_account_exporter_new().
+ * function to remove the accounts that were added when created by 
[[email protected]].
  */
 void
 cloud_providers_provider_exporter_remove_account 
(CloudProvidersProviderExporter *self,
@@ -292,34 +287,48 @@
     object_class->dispose = cloud_providers_provider_exporter_dispose;
     object_class->finalize = cloud_providers_provider_exporter_finalize;
 
+    /**
+     * CloudProvidersProviderExporter:name:
+     *
+     * The name of the cloud provider.
+     */
     properties [PROP_NAME] =
-        g_param_spec_string ("name",
-                             "Name",
-                             "The name of the cloud provider",
+        g_param_spec_string ("name", NULL, NULL,
                              NULL,
                              (G_PARAM_READWRITE |
                               G_PARAM_STATIC_STRINGS));
+
+    /**
+     * CloudProvidersProviderExporter:bus-name:
+     *
+     * The bus name of the provider.
+     */
     properties [PROP_BUS_NAME] =
-        g_param_spec_string ("bus-name",
-                             "BusName",
-                             "BusName",
+        g_param_spec_string ("bus-name", NULL, NULL,
                              NULL,
                              (G_PARAM_READWRITE |
                               G_PARAM_STATIC_STRINGS |
                               G_PARAM_CONSTRUCT_ONLY));
+
+    /**
+     * CloudProvidersProviderExporter:bus-path:
+     *
+     * The bus path of the provider.
+     */
     properties [PROP_BUS_PATH] =
-        g_param_spec_string ("bus-path",
-                             "BusPath",
-                             "BusPath",
+        g_param_spec_string ("bus-path", NULL, NULL,
                              NULL,
                              (G_PARAM_READWRITE |
                               G_PARAM_STATIC_STRINGS |
                               G_PARAM_CONSTRUCT_ONLY));
 
+    /**
+     * CloudProvidersProviderExporter:bus:
+     *
+     * The bus connection object for the provider.
+     */
     properties [PROP_BUS] =
-        g_param_spec_object ("bus",
-                             "Bus",
-                             "Bus",
+        g_param_spec_object ("bus", NULL, NULL,
                              G_TYPE_DBUS_CONNECTION,
                              (G_PARAM_READWRITE |
                               G_PARAM_STATIC_STRINGS |
@@ -344,7 +353,7 @@
 
 /**
  * cloud_providers_provider_exporter_new
- * @bus: A #GDBusConnection to export the objects to
+ * @bus: A connection to export the objects to
  * @bus_name: A DBus name to bind to
  * @bus_path: A DBus object path
  */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcloudproviders-0.3.6/src/meson.build 
new/libcloudproviders-0.4.0/src/meson.build
--- old/libcloudproviders-0.3.6/src/meson.build 2024-03-20 10:49:45.000000000 
+0100
+++ new/libcloudproviders-0.4.0/src/meson.build 2026-01-06 09:20:29.000000000 
+0100
@@ -22,15 +22,18 @@
                                           install_dir: incdir,
                                           install_header: true)
 
-generated_sources = []
-generated_sources += gnome.gdbus_codegen(
+gdbus_generated_sources = gnome.gdbus_codegen(
   'cloudproviders-generated', '../data/cloud-providers-dbus.xml',
+  extra_args: '--glib-min-required=@0@'.format(glib_req_version),
   interface_prefix: 'org.freedesktop.CloudProviders',
   namespace: 'CloudProvidersDbus',
+  markdown: 'dbus',
   object_manager: true
 )
 
-libcloudproviders_sources += generated_sources
+libcloudproviders_sources += [gdbus_generated_sources[0], 
gdbus_generated_sources[1]]
+libcloudproviders_dbus_files = gdbus_generated_sources[2]
+libcloudproviders_dbus_files_dir = meson.current_build_dir()
 
 libcloudproviders = shared_library ('cloudproviders',
   libcloudproviders_sources, headers_with_enums,
@@ -49,7 +52,9 @@
   version : meson.project_version(),
   name : 'libcloudproviders',
   filebase: 'cloudproviders',
-  description : 'Cloud providers DBus API library.'
+  description : 'Cloud providers DBus API library.',
+  requires: [glib, gio],
+  requires_private: [gio_platform],
 )
 
 libcloudproviders_dep = declare_dependency (
@@ -68,11 +73,12 @@
     namespace: 'CloudProviders',
     symbol_prefix: 'cloud_providers',
     link_with: libcloudproviders,
+    doc_format: 'gi-docgen',
+    header: 'cloudproviders/cloudproviders.h',
     includes: [ 'GLib-2.0', 'Gio-2.0' ],
     install: true,
     install_dir_gir: girdir,
     install_dir_typelib: typelibdir,
-    extra_args: [ '--c-include=cloudproviders/cloudproviders.h', '--quiet' ]
   )
 endif
 

++++++ libcloudproviders.obsinfo ++++++
--- /var/tmp/diff_new_pack.S2tgyB/_old  2026-01-08 15:25:34.668449509 +0100
+++ /var/tmp/diff_new_pack.S2tgyB/_new  2026-01-08 15:25:34.668449509 +0100
@@ -1,5 +1,5 @@
 name: libcloudproviders
-version: 0.3.6
-mtime: 1710928185
-commit: 9702091d5f77c2d1dfe1f8ca254c0910738da359
+version: 0.4.0
+mtime: 1767687629
+commit: 510f0eee666e4f99e8b11eb55945347db371b47c
 

Reply via email to