Repository navigation
Releases
Releases · tmds/Tmds.DBus
0.95.2
0.95.1
Tmds.DBus.Protocol:
- MatchRule: fix key names for PathNamespace, Arg0Namespace and Arg0Path. (#454)
0.95.0
0.94.2
Tmds.DBus.Generator
- Support interfaces with more than 64 readable properties (#447).
0.94.1
Tmds.DBus.Generator
- Fixed DBusHandler code only being generated for the last interface when generating handler types for multiple interfaces (#445).
0.94.0
Tmds.DBus.Protocol
Func<ValueTask>handler overloads added to avoidasync voidin user code (#440).
Tmds.DBus.Generator
- [Breaking]
IReadableXxxPropertieshas been replaced with a unifiedIXxxPropertiesinterface. Write-only properties are uncommon and the separate interface made explicit interface implementations more verbose (#441). - Fix code generation for single-field D-Bus structs (#439).
DBusHandler.ParseInterfacenow ignores missing interface string on Properties requests (#442).
Documentation
- Documentation rewritten into a single guide (#443).
0.93.0
0.93.0
Tmds.DBus.Protocol
- [Breaking] Previously obsoleted types and APIs have been removed (#426):
Connection- useDBusConnectioninstead.ConnectionOptions- useDBusConnectionOptionsinstead.ClientConnectionOptions- useDBusConnectionOptionsinstead.ClientSetupResult- useDBusConnectionOptions.SetupResultinstead.Address- useDBusAddressinstead.ActionException- useObserverHandlerinstead.IMethodHandler- useIPathMethodHandlerinstead.DBusException- useDBusErrorReplyExceptioninstead.DisconnectedException- useDBusConnectionClosedExceptioninstead.ConnectException- useDBusConnectFailedExceptioninstead.ProtocolException- useDBusUnexpectedValueExceptioninstead.MethodContext.Connection- useMethodContext.DBusConnectioninstead.
AddMatchAsyncoverloads that acceptAction<Exception?, T, object?, object?>are markedObsolete. Use the newAction<Notification<T>>overloads instead (#427).Notification<T>/Notification/NotificationType: new callback API for signal observers, replacing theAction<Exception?, T, ...>pattern. Notifications distinguish between value, owner change, and completion events (#427).NameOwnerWatcher: tracks name ownership changes when calling methods and watching signals, enabling detection of service restarts. ADBusOwnerChangedException
is thrown when a method call targets an owner identifier fromNameOwnerWatcherand the owner has changed (#425).OnExceptionhandler onDBusConnectionOptions: provides exception reporting and disconnect control via the newExceptionContext/ExceptionSourcetypes (#431).
Tmds.DBus.Generator
- The generator can now produce handler (server-side) types for implementing D-Bus interfaces. To generate handlers, set the
DBusGeneratorModeproperty toHandler, to generate proxies set it toProxy. (#429, #433) - [Breaking] Instead of a single action overload that accepts
Action<Exception?, T>, the generator generates a simple overload that acceptsAction<T>for users that are not interested in completion notifications, and anAction<Notification<T>>overload to be notified of completions. (#427) - [Breaking] To enable handler code to generate an
IXxxPropertiesinterface, the generated proxy code changed as follows:- The
GetPropertiesAsyncmethod now returns the concreteXxxPropertiesclass. When trying to get properties that were not set the get accessor throws. Alternatively, users can callGetNullablePropertiesAsyncwhich returns anINullableXxxPropertiesinterface which returnsnullfor properties that are not set. - The
WatchPropertiesChangedmethods use a newIChangedXxxPropertiesinterface.
- The
0.92.0
This release addresses vulnerabilities from malicious senders in Tmds.DBus and Tmds.DBus.Protocol:
- Check the signal sender is the owner of the well-known name (fb41b95, b429873)
- Prevent spilling of unix fds to the next message and limit the number to 16 per message (4800917, f90642d)
- Prevent unhandled exceptions on SynchronizationContext due to a malformed body sent by a malicious sender. (f0d9d0b, a64b8b9)
Advisory: GHSA-xrw6-gwf8-vvr9
0.21.3
This release backports the fixes from 0.92.0 to Tmds.DBus.Protocol.
Advisory: GHSA-xrw6-gwf8-vvr9
0.91.1
Tmds.DBus.Generator/Tmds.DBus.Tool:
- ProtocolGenerator: fix alignment when reading structs. (#422)