Skip to content

Releases: KillingSpark/rustbus

Fix compilation after borrow checker bug fix

29 Aug 16:50
Compare
Choose a tag to compare

the borrow checker seems to have had a bug which broke compilation of this crate. It is now fixed.

Fix bug in signature parsing

25 Jan 21:51
Compare
Choose a tag to compare

#82 showed that there was an issue where signatures with arrays of dicts where parsed incorrectly. In essence "a{uu}" and "a...a{uu}" were parsed the same.

Fix session address parsing

04 Dec 14:07
Compare
Choose a tag to compare

@l1na-forever sent a PR that fixes session address parsing for newer dbus versions

Detect closed connections

25 Nov 14:56
Compare
Choose a tag to compare

A new error type has been introduced and the connections check if it has been closed on the other side when trying to read

Some more derives and better errors

19 Jul 15:54
Compare
Choose a tag to compare

This release brings some more derives for enums and better errors

Performance improvements

26 Jul 18:02
Compare
Choose a tag to compare

Benchmarking by cmaves revealed that the signature checking is taking a big chunk of runtime while marshalling messages. This release comprises some commits that improve that situation.

Bug fixes and refactoring

24 Jul 15:51
Compare
Choose a tag to compare

Bugfixes:

  • This crate did not accept messages that had an empty signature header field. Those are legal but carry the same meaning as if the header field was missing entirely.

Important changes:

  • push_param{2-5} now fail "atomically". If any of the push calls fails, the message body is reset to the state before the pushes started
  • make SignatureWrapper more generic over any AsRef and add some TryFrom impls for SignatureWrapper and ObjectPath
  • bring ObjectPath UnixFd and SignatureWrapper into their own module under wire and rexport them
  • refactoring: separate traits from their impls and the impls into two categories: base and container (this shouldn't have any effect on users, it's just a nice to have)

Other stuff

  • The documentation has been cleaned up, updated, and fixed (in hopefully all places)
  • The rename to README.md should hopefully result in a rendering of the readme on crates.io

Bump version of the derive crate and the main crate after changes to the lifetimes

08 Jul 19:46
Compare
Choose a tag to compare

This is just necessary because I missed bumping the version of the derive crate last time...

Various performance improvements and a better way to collect signature string

05 Jul 17:40
Compare
Choose a tag to compare

cmaves contributed some more performance optimizations and a better way to collect static signature strings that can potentially avoid allocations for many cases where variants are used to wrap simple types.

Deal with short writes

11 Jan 16:27
Compare
Choose a tag to compare

This release features a revised approach to the low level mechanics of sending a message. Previous assumed that one write to the socket would suffice which is not guaranteed by POSIX. Therefore the progress is tracked in a separate type which allows repeated writes until all data is written.

This is nontrivial because the header and body are stored in two buffers and the filedescriptors may only be sent once per message.