Skip to content

Releases: tmds/Tmds.DBus

0.21.2

22 Nov 10:26
f0b2c29
Compare
Choose a tag to compare

Tmds.DBus.Protocol:

  • MessageWriter: add missing overloads for WriteArray/WriteDictionary that accept VariantValue instead of Variant. (#327).

0.21.1

21 Nov 07:00
95e46fc
Compare
Choose a tag to compare

Removes public API that was added in 0.21.0:

  • Remove static Signature signature properties. (#324)

0.21.0

20 Nov 12:36
b3b8de2
Compare
Choose a tag to compare

Tmds.DBus.Protocol

In v0.17.0 support for NativeAOT safe variant handling was enabled through two types: VariantValue for reading variants,
and Variant for writing variants. The focus on this release is to support both reading and writing using the VariantValue type.
This enables writing back variants that were previously read.

The Variant type has been marked obsolete. Users should now be able to use the VariantValue type as a direct replacement.
Note that the Dict/Array/Struct types are not obsolete. They can be used for creating composite VariantValues.

The VariantValue type now behaves different for variants that hold other variants. Such variants are not common because
usually a variant will directly hold an actual (that is: non-variant) value. Variants that hold other variants are represented
as their own VariantValue instance with a Type of Variant. The nested variant value can be obtained by calling GetVariantValue.

There are some additional breaking API changes which shouldn't affect most users because involve low-level APIs for D-Bus marshalling and signature handling.

  • The Utf8Span type has been removed. APIs use ReadOnlySpan<byte> instead.
  • VariantValue.GetSignature returns a Signature (instead of a string).
  • VariantValue.GetArray<T> requires a T of Signature (instead of a string) for getting arrays of signature.
  • Reader.ReadSignature returns Signature instead of Utf8Span. ReadSignatureAsSignature has been removed. The new ReadSignatureAsSpan returns ReadOnlySpan<byte>.

Tmds.DBus.Tool

The following fixes have been made to the codegen command for the protocol API (in #307):

  • Generate writable properties for Set-methods only.
  • PropertyChanges: invalidated and changed are swapped.

0.20.0

18 Aug 05:17
db7af5a
Compare
Choose a tag to compare

Tmds.DBus.Protocol:

  • Remove members that are not NativeAOT/Trimming compatible. (#297)
  • Support tunneling the connection over a Stream. (#301)

Tmds.DBus:

  • Fix DBusInterfaceAttribute.{Set,Get}PropertyMethod/GetAllPropertiesMethod. (#300)

0.19.0

21 Jun 10:23
d44fe43
Compare
Choose a tag to compare

Tmds.DBus.Protocol:

  • SafeHandle types must have a parameterless constructor. (#289)
  • Make Variant(double) public (#291)
  • [breaking] remove MessageBuffer.Dispose to avoid ownership ambiguity. (#293)
  • allow (early) dispose of sent handles. (#290)
  • SafeHandle types must have a parameterless constructor. (#289)

0.18.0

10 May 16:14
abc7495
Compare
Choose a tag to compare

Tmds.DBus.Protocol:

  • Support removing method handlers. (#281)

Tmds.DBus:

  • Fix deadlock between signal watcher dispose and signal watcher emit. (#280)

0.17.0

18 Apr 10:26
51e6dca
Compare
Choose a tag to compare

Main feature:
The focus of this release is improve trimming/NativeAOT support in the protocol library. Non-compatible members have been annotated and obsoleted. The library adds AOT-friendly types for reading and writing variants: VariantValue and Variant.

Other changes:

  • Protocol: add MethodContext.RequestAborted (#273)
  • Protocol: throw DisconnectedException when trying to use a not-AutoConnect connection that got disconnected (#266)
  • Tool: if there is an exception, print the interface XML that triggered it (#269)

0.16.0

31 Jan 15:59
ee8c7b6
Compare
Choose a tag to compare
  • Protocol: add API to control whether AddMatch emits exceptions on dispose. (#229)
  • Protocol: add support for implementing DBus.Introspectable. (#226)
  • Protocol: add ActionException helper class. (#223)
  • Protocol: handle org.freedesktop.DBus.Peer methods. (#221)
  • Tool: add monitor command. (#218)
  • Protocol: add support for BecomeMonitor. (#217)
  • Tmds.DBus: Fix position after reading blittable structs, and fix tuples reading with x*7+1 elements (#216)

0.15.0

24 Apr 09:20
Compare
Choose a tag to compare
  • Protocol: fix emitOnCapturedContext. (#192)
  • Protocol: fix NREs on netstandard2.0 while reading empty strings. (#195)
  • Tmds.DBus, Tmds.DBus.Protocol: Correct platform guard casing (#198)
  • Tool: use RollForward for instead of multi-target (#196)
  • Tool: fix generating fields that are not usable by the Tmds.DBus MessageReader/MessageWriter (#204)

0.14.0

13 Mar 11:51
Compare
Choose a tag to compare
  • Tmds.DBus: Add .NET 6.0 target to eliminate package references (#184)
  • Tmds.DBus.Protocol: drop dependency on System.Security.Principal.Windows. (#186)
  • Tmds.DBus.Protocol: remove Nerdbank.Streams dependency and its dependencies (#189)