dbus
A native Dart implementation of the D-Bus message bus client. This package allows Dart applications to directly access services on the Linux desktop.
0.7.15
5.8M downloads/mo
#131 most downloaded on pub.dev
canonical/dbus.dart
What this package is like to depend on
Last release 4 days ago
20 Aug 2026
Release timing varies
gaps range from 2 weeks to 1.2 years
Nearly every release is documented
notes for 49 of 49 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
62 releases · first in 2020
4 releases in the last 12 months
see the full history below
Release timeline
62 releases · Aug 2020 to Aug 2026Releases
latest 60 of 62-
0.7.1520 Aug 2026 -
0.7.1404 Jun 2026Release notes
Open source →- Drop xml dependency to 6.6.1, which is the version that Flutter is using.
-
0.7.1322 May 2026Release notes
Open source →- Make able to work on Windows by not supporting control messages there (they are not supported).
- Depend on xml 7.x.
-
0.7.1205 Feb 2026Release notes
Open source →- Fix removed objects remaining in memory.
- Throw an explicit Dart error when running on non-Linux systems.
- Update SDK constraint to allow Dart 3.0
-
0.7.1119 Jan 2025Release notes
Open source →- Work around a dbus-broker bug with path_namespace='/' match rules.
- Optionally pass auth client to dbus client.
-
0.7.1016 Nov 2023Release notes
Open source →- Fix generated code that uses DBusObjectPath.
- Add further fix for generated DBusStruct code.
- Import dart:io in generated code, required for file descriptors.
-
0.7.916 Nov 2023Release notes
Open source →- Support unix fds in code generator.
- Support using D-Bus without a D-Bus message bus (i.e. point to point).
- Fix generated code that uses DBusStruct.
-
0.7.822 Aug 2022 -
0.7.720 Jul 2022 -
0.7.627 Jun 2022Release notes
Open source →- Add helper methods to DBusValue to reduce casting.
- Add helper methods for boolean arrays.
-
0.7.530 May 2022 -
0.7.426 May 2022 -
0.7.328 Mar 2022Release notes
Open source →- Add missing cast in generated array code.
- Use const constructors for integer value types.
- Add DBusObjectPath.root constant.
-
0.7.221 Mar 2022Release notes
Open source →- Add helper methods to map DBusArray and DBusDict.
- Add some convenience for working with D-Bus signatures.
- Use Object.hash for hashCode calculations.
-
0.7.107 Feb 2022Release notes
Open source →- Only list as supporting Linux and Windows.
- Make a DBusArray.signature constructor.
- Fix type in generated code for D-Bus signatures.
-
0.7.001 Feb 2022Release notes
Open source →- DBusSignalStream is now broadcast.
- Add support for sending/receiving unix file descriptors.
- Ensure a signal stream doesn't get recorded multiple times if listen() is called more than once.
-
0.6.813 Jan 2022Release notes
Open source →- Fix missing semicolon on generated server property code.
- Fix generated server getAllProperties code.
-
0.6.713 Jan 2022Release notes
Open source →- Fix exception when closing clients that have signals subscribed.
- Fix arrays of signatures not being correctly aligned.
- Fix invalid TimedOut exception name, and fix confusion with Timeout exception.
- Use DBusDict.stringVariant constructor in generated code.
- Don't generate empty methods in generated server code.
- Fix DBusMethodErrorResponse.toString typo.
- Improve match rule validation.
- Fix documentation for DBusBusName.isUnique.
- Test improvements.
-
0.6.619 Nov 2021Release notes
Open source →- Remove unawaited calls that were making a depdendency on dart:async 2.14. This occurred after dropping pedantic in 0.6.4
-
0.6.517 Nov 2021 -
0.6.415 Nov 2021Release notes
Open source →- Fix generated code not using named constructor args.
- Make generated signal streams broadcast.
- Fix README.md example to use current API.
- Drop dependency on deprecated pedantic plugin.
-
0.6.309 Sep 2021Release notes
Open source →- Fix ObjectManager still reporting unregistered objects.
- Fix incorrect introspection data for ObjectManager.
- Use FormatException for DBusAddress invalid format strings.
- Improvements to DBus address string escaping.
- Fix wrong ID returned from getId in DBusServer.
-
0.6.208 Sep 2021Release notes
Open source →- Make classes for standard D-Bus exceptions.
- Handle exceptions on socket read/writes.
- Add DBusClient.nameOwnerChanged signal stream.
- D-Bus server now cleans up when clients disconnect from it.
- Fix wrong error returned from D-Bus server when accessing unknown service.
-
0.6.102 Sep 2021Release notes
Open source →- Fix not everything being cleaned up when calling DBusServer.close().
- Correctly clean up in tests.
-
0.6.023 Aug 2021Release notes
Open source →- Make emitSignal async, fixing an issue where signals from a method call may be handled after the call completes.
- Use named parameters in object constructors.
-
0.5.617 Aug 2021 -
0.5.516 Aug 2021Release notes
Open source →- Fix JS compilation due to large integer literals.
- Fix D-Bus message serial numbers being mixed up on connection, which was causing apps to fail inside Flatpaks.
- Implement D-Bus authentication on Windows.
-
0.5.414 Jul 2021Release notes
Open source →- Fix validation of maybe type.
- Use type specific constructors in DBusArray.toString() and DBusDict.toString().
-
0.5.313 Jul 2021Release notes
Open source →- Improve efficiency of DBusReadBuffer.
- Add DBusMaybe type (not used in D-Bus, but used in other code that used GVariant).
- Move DBusDict key checks to D-Bus en/decoding - GVariant code that uses dicts is allowed more key types.
-
0.5.208 Jun 2021Release notes
Open source →- Support abstract unix domain addresses (requires Dart >= 2.14.0-170.0.dev).
- Fix message type not being written in DBusMessage.toString().
-
0.5.126 May 2021Release notes
Open source →- Replace Iterable with List for children in DBusArray, DBusStruct.
- Add a signature check to DBusSignalStream/DBusRemoteSignalStream.
- Validate signatures of DBusDict and DBusArray.
- Send no reply flag in generated code with the org.freedesktop.DBus.Method.NoReply annotation.
- Add noAutoStart and allowInteractiveAuthorization flags to generated method calls.
-
0.5.017 May 2021Release notes
Open source →- Make callMethod always return success and throw an exception on error.
- Add a response signature check parameter to method calls and getting properties.
- Fix equality operators for DBusStruct, DBusArray and DBusDict.
- Use DBusStruct class in generated code.
- Replace simple exceptions with ArgumentError/FormatException where appropiate.
- Validate D-Bus integer values.
- Add more validation for DBusSignature, DBusObjectPath.
- Validate more introspection XML.
- Break out code generation from dart-dbus to classes.
- Allow dart-dbus to read introspection XML from stdin.
- Rename test file so can just run 'dart test'.
- Add test for basic DBus types.
- Add tests for generted code.
- Add test for introspection XML parsing.
-
0.4.323 Apr 2021Release notes
Open source →- Fix a race unsubscribing from signals which could trigger an exception if a DBusClient was closed very soon after creation or signal subscription.
-
0.4.222 Apr 2021Release notes
Open source →- Add DBusArray factories for object paths and variants.
- Add DBusDict factory for the common string→variant mapping.
-
0.4.122 Apr 2021 -
0.4.013 Apr 2021Release notes
Open source →- Change DBusObject.path from a property to a constructor.
- Replaced DBusClient.subscribeSignals/DBusRemoteObject.subscribeSignal with new DBusSignalStream and DBusRemoteObjectSignalStream classes.
- Added DBusRemoteObjectManager class for easier use of D-Bus ObjectManager API.
- Fixed error messages in code generated by dart-dbus.
- Make able to disable introspection on exported objects.
- Fixed PropertiesChanged signal detection broken in 0.3.0.
-
0.3.329 Mar 2021 -
0.3.228 Mar 2021Release notes
Open source →- Support building in Flutter web applications by conditionally importing dart:ffi.
-
0.3.126 Mar 2021Release notes
Open source →- server: Fix messages not being forwarded to clients with owned names.
- Convert some inputs from List to Iterable
-
0.3.026 Mar 2021Release notes
Open source →- DBusClient.registerObject now connects to the bus if it was disconnected.
- Add DBusMethodCall object to use when processing incoming method calls.
- Add signature checking on incoming method calls.
- Improve validation of D-Bus messages.
- Support messages received in big endian format
- Make DBusServer able to launch services by name.
- Support getting credentials of connections.
- Add flags (no reply, no autostart, allow interactive authorization) to method calls.
- Don't reply to requests if no reply was requested.
- Use DBusAddress class for addresses.
- Support connecting over TCP/IP.
- Fix invalid unique bus names assigned by DBusServer.
- Implement name queuing in DBusServer.
- Make ping() and getMachineId() contact the server by default.
- Add regression tests.
-
0.2.515 Mar 2021Release notes
Open source →- Fixed namespace matching not working for the root namespace, could cause signals to be incorrectly subscribed.
- Added DBusServer.
-
0.2.411 Mar 2021 -
0.2.310 Mar 2021 -
0.2.210 Mar 2021Release notes
Open source →- Fix regression in matching signals using pathNamespace, which affects ObjectManager usage.
- Code tidy ups to pass dart analyze in 1.12 final release.
-
0.2.123 Feb 2021 -
0.2.018 Feb 2021 -
0.1.218 Feb 2021Release notes
Open source →- Ensure generated classes don't collide method/arg names.
- Add API to get owned names and subscribe to changes.
- Allow the class name to be provided for generated code.
- Generate a required parameter if D-Bus introspection doesn't contain a path.
- Implement DBusCkient.listQueuedOwners().
-
0.1.110 Feb 2021 -
0.1.029 Oct 2020 -
0.0.0-dev.2328 Oct 2020 pre-releaseNothing published for this version
-
0.0.0-dev.2220 Oct 2020 pre-releaseNothing published for this version
-
0.0.0-dev.2105 Oct 2020 pre-releaseNothing published for this version
-
0.0.0-dev.2014 Sep 2020 pre-releaseNothing published for this version
-
0.0.0-dev.1931 Aug 2020 pre-releaseNothing published for this version
-
0.0.0-dev.1827 Aug 2020 pre-releaseNothing published for this version
-
0.0.0-dev.1727 Aug 2020 pre-releaseNothing published for this version
-
0.0.0-dev.1627 Aug 2020 pre-releaseNothing published for this version
-
0.0.0-dev.1521 Aug 2020 pre-releaseNothing published for this version
-
0.0.0-dev.1420 Aug 2020 pre-releaseNothing published for this version
-
0.0.0-dev.1319 Aug 2020 pre-releaseNothing published for this version