0.12.0
Python 3.8 is getting end of life in 2024. Python-sdbus will most likely increase the minimum Python version requirement to 3.9 in 2024.
This version significantly reworked the internal undocumented classes
and functions. If you used the undocumented API you would probably need
to adjust your code. Type checker like mypy can be very useful for this.
Features:
@setter_privatecan now be used in overrides. (requested by @colazzo)- Added
assertDbusSignalEmitsmethod toIsolatedDbusTestCase.
Can be used to assert that a D-Bus signal was emitted
inside theasync withblock. - Added
sdbus.utils.parse_get_managed_objectsfunction. Can be
used to parse the ObjectManager'sget_managed_objectsmethod
data to classes and Python attribute names. - Added a handle that is returned by
export_to_dbusandexport_with_manager
methods. This handle can be used to explicitly control when object is accessible
from D-Bus. (requested by @dragomirecky)
Fixes:
- Fixed async D-Bus properties not having a proper generic typing. (reported by @ValdezFOmar)
- Fixed build not working when systemd has a minor version suffix.
- Fixed being unable to name arguments in D-Bus introspection when
method has no return arguments. (reported by @colazzo) - Fixed serving D-Bus methods that return a single struct. (reported by @colazzo)
- Fixed sending extremely large D-Bus messages getting stuck. (reported by @colazzo)