diff --git a/man/org.freedesktop.hostname1.xml b/man/org.freedesktop.hostname1.xml
index 9eb2f69c3bcf9..a079837a67eae 100644
--- a/man/org.freedesktop.hostname1.xml
+++ b/man/org.freedesktop.hostname1.xml
@@ -418,4 +418,16 @@ node /org/freedesktop/hostname1 {
David Zeuthen's original Fedora
Feature page about xdg-hostname
+
+
+ History
+
+ The D-Bus API
+ FirmwareVersion and
+ GetHardwareSerial() were added in version 251.
+ OperatingSystemSupportEnd,
+ FirmwareVendor, and
+ FirmwareDate were added in version 253.
+
+
diff --git a/man/org.freedesktop.login1.xml b/man/org.freedesktop.login1.xml
index 5f7b711aaab73..4a94656f6625d 100644
--- a/man/org.freedesktop.login1.xml
+++ b/man/org.freedesktop.login1.xml
@@ -1505,4 +1505,23 @@ node /org/freedesktop/login1/session/1 {
+
+
+ History
+
+ The Manager Object
+ HandlePowerKeyLongPress,
+ HandleRebootKey,
+ HandleRebootKeyLongPress,
+ HandleSuspendKeyLongPress, and
+ HandleHibernateKeyLongPress were added in version 251.
+ StopIdleSessionUSec was added in version 252.
+ PrepareForShutdownWithMetadata was added in version 255.
+
+
+ Session Objects
+ SetDisplay() was added in version 252.
+ SetTTY() was added in version 254.
+
+
diff --git a/man/org.freedesktop.machine1.xml b/man/org.freedesktop.machine1.xml
index c366c1b19a2ab..1af77e0035049 100644
--- a/man/org.freedesktop.machine1.xml
+++ b/man/org.freedesktop.machine1.xml
@@ -670,4 +670,18 @@ $ gdbus introspect --system \
+
+
+ History
+
+ The Manager Object
+ CopyFromMachineWithFlags() and
+ CopyToMachineWithFlags() were added in version 252.
+
+
+ Machine Objects
+ CopyFromWithFlags() and
+ CopyToWithFlags() were added in version 252.
+
+
diff --git a/man/org.freedesktop.network1.xml b/man/org.freedesktop.network1.xml
index f022463310e5e..02013c57bbd58 100644
--- a/man/org.freedesktop.network1.xml
+++ b/man/org.freedesktop.network1.xml
@@ -573,4 +573,16 @@ $ gdbus introspect --system \
+
+
+ History
+
+ DHCPv4 Client Object
+ State was added in version 255.
+
+
+ DHCPv6 Client Object
+ State was added in version 255.
+
+
diff --git a/man/org.freedesktop.oom1.xml b/man/org.freedesktop.oom1.xml
index c6b8c7fb3d65f..8339e63873e8a 100644
--- a/man/org.freedesktop.oom1.xml
+++ b/man/org.freedesktop.oom1.xml
@@ -95,4 +95,12 @@ node /org/freedesktop/oom1 {
+
+
+ History
+
+ The Manager Object
+ Killed was added in version 252.
+
+
diff --git a/man/org.freedesktop.portable1.xml b/man/org.freedesktop.portable1.xml
index 3b28f1dbfa007..e5902a0328949 100644
--- a/man/org.freedesktop.portable1.xml
+++ b/man/org.freedesktop.portable1.xml
@@ -566,4 +566,17 @@ node /org/freedesktop/portable1 {
+
+
+ History
+
+ The Manager Object
+ GetImageStateWithExtensions() was added in version 251.
+
+
+ The Image Object
+ GetStateWithExtensions() was added in version 251.
+ ReattachWithExtensions() was added in version 254.
+
+
diff --git a/man/org.freedesktop.systemd1.xml b/man/org.freedesktop.systemd1.xml
index 47d4b4828b43e..85feae089ebf9 100644
--- a/man/org.freedesktop.systemd1.xml
+++ b/man/org.freedesktop.systemd1.xml
@@ -11502,4 +11502,168 @@ $ gdbus introspect --system --dest org.freedesktop.systemd1 \
+
+
+ History
+
+ The Manager Object
+ RuntimeWatchdogPreUSec and
+ RuntimeWatchdogPreGovernor were added in version 251.
+ WatchdogDevice,
+ WatchdogLastPingTimestamp,
+ WatchdogLastPingTimestampMonotonic,
+ DefaultDeviceTimeoutUSec,
+ DumpUnitsMatchingPatterns(), and
+ DumpUnitsMatchingPatternsByFileDescriptor() were added in version 252.
+ GetUnitByPIDFD() and
+ DisableUnitFilesWithFlagsAndInstallInfo() were added in version 253.
+ ConfidentialVirtualization,
+ DefaultIOAccounting,
+ DefaultIPAccounting,
+ DefaultMemoryPressureThresholdUSec,
+ DefaultMemoryPressureWatch,
+ QueueSignalUnit(),
+ SoftReboot(), and
+ DumpUnitFileDescriptorStore() were added in version 254.
+
+
+ Unit Objects
+ Upholds and
+ UpheldBy were added in version 251.
+ AccessSELinuxContext and
+ ActivationDetails were added in version 252.
+ QueueSignal() was added in version 254.
+
+
+ Service Unit Objects
+ ControlGroupId and
+ ExtensionDirectories were added in version 251.
+ OpenFile,
+ ReloadSignal,
+ MemoryZSwapMax, and
+ LogFilterPatterns were added in version 253.
+ RestartMode,
+ RestartSteps,
+ RestartMaxDelayUSec,
+ RestartUSecNext,
+ FileDescriptorStorePreserve,
+ DumpFileDescriptorStore(),
+ DelegateSubgroup,
+ DefaultStartupMemoryLow,
+ StartupMemoryLow,
+ StartupMemoryHigh,
+ StartupMemoryMax,
+ StartupMemorySwapMax,
+ StartupMemoryZSwapMax,
+ MemoryPressureWatch,
+ MemoryPressureThresholdUSec,
+ RootEphemeral,
+ ImportCredential,
+ MemoryKSM,
+ RootImagePolicy,
+ MountImagePolicy, and
+ ExtensionImagePolicy were added in version 254.
+
+
+ Socket Unit Objects
+ ControlGroupId and
+ ExtensionDirectories were added in version 251.
+ MemoryZSwapMax and
+ LogFilterPatterns were added in version 253.
+ DelegateSubgroup,
+ DefaultStartupMemoryLow,
+ StartupMemoryLow,
+ StartupMemoryHigh,
+ StartupMemoryMax,
+ StartupMemorySwapMax,
+ StartupMemoryZSwapMax,
+ MemoryPressureWatch,
+ MemoryPressureThresholdUSec,
+ RootEphemeral,
+ ImportCredential,
+ MemoryKSM,
+ RootImagePolicy,
+ MountImagePolicy, and
+ ExtensionImagePolicy were added in version 254.
+ PollLimitIntervalUSec and
+ PollLimitBurst were added in version 255.
+
+
+ Mount Unit Objects
+ ControlGroupId and
+ ExtensionDirectories were added in version 251.
+ MemoryZSwapMax and
+ LogFilterPatterns were added in version 253.
+ DelegateSubgroup,
+ DefaultStartupMemoryLow,
+ StartupMemoryLow,
+ StartupMemoryHigh,
+ StartupMemoryMax,
+ StartupMemorySwapMax,
+ StartupMemoryZSwapMax,
+ MemoryPressureWatch,
+ MemoryPressureThresholdUSec,
+ RootEphemeral,
+ ImportCredential,
+ MemoryKSM,
+ RootImagePolicy,
+ MountImagePolicy, and
+ ExtensionImagePolicy were added in version 254.
+
+
+ Swap Unit Objects
+ ControlGroupId and
+ ExtensionDirectories were added in version 251.
+ MemoryZSwapMax and
+ LogFilterPatterns were added in version 253.
+ DelegateSubgroup,
+ DefaultStartupMemoryLow,
+ StartupMemoryLow,
+ StartupMemoryHigh,
+ StartupMemoryMax,
+ StartupMemorySwapMax,
+ StartupMemoryZSwapMax,
+ MemoryPressureWatch,
+ MemoryPressureThresholdUSec,
+ RootEphemeral,
+ ImportCredential,
+ MemoryKSM,
+ RootImagePolicy,
+ MountImagePolicy, and
+ ExtensionImagePolicy were added in version 254.
+
+
+ Slice Unit Objects
+ ControlGroupId was added in version 251.
+ MemoryZSwapMax was added in version 253.
+ DelegateSubgroup,
+ DefaultStartupMemoryLow,
+ StartupMemoryLow,
+ StartupMemoryHigh,
+ StartupMemoryMax,
+ StartupMemorySwapMax,
+ StartupMemoryZSwapMax,
+ MemoryPressureWatch, and
+ MemoryPressureThresholdUSec were added in version 254.
+
+
+ Scope Unit Objects
+ ControlGroupId was added in version 251.
+ OOMPolicy and
+ MemoryZSwapMax were added in version 253.
+ DelegateSubgroup,
+ DefaultStartupMemoryLow,
+ StartupMemoryLow,
+ StartupMemoryHigh,
+ StartupMemoryMax,
+ StartupMemorySwapMax,
+ StartupMemoryZSwapMax,
+ MemoryPressureWatch, and
+ MemoryPressureThresholdUSec were added in version 254.
+
+
+ Job Objects
+ ActivationDetails was added in version 252.
+
+
diff --git a/tools/update-dbus-docs.py b/tools/update-dbus-docs.py
index d6438a5daf925..b3466bc11086b 100755
--- a/tools/update-dbus-docs.py
+++ b/tools/update-dbus-docs.py
@@ -141,10 +141,16 @@ def print_interface(iface, *, prefix, file, print_boring, only_interface, declar
print(f'''{prefix}}};''', file=file)
def document_has_elem_with_text(document, elem, item_repr):
- predicate = f".//{elem}" # [text() = 'foo'] doesn't seem supported :(
+ predicate = f".//{elem}[. = '{item_repr}']"
+
+ # Ignore mentions in the History section
+ history = document.find(".//refsect1[title = 'History']")
+ history_mentions = history.findall(predicate) if history else []
+
for loc in document.findall(predicate):
- if loc.text == item_repr:
- return True
+ if loc in history_mentions:
+ continue
+ return True
return False
def check_documented(document, declarations, stats):