Skip to content

Releases: klingtnet/rosc

Better docs

30 Apr 07:59
Compare
Choose a tag to compare

This release just adds some additional context to the decoder::decode_tcp docs and fixes some link in other doc strings. Without a release the new doc strings would not show up on https://docs.rs/rosc.

Improved Encoder API

08 Apr 09:19
Compare
Choose a tag to compare

Thanks to @Barinzaya for submitting #44 which improves the encoder API in two ways:

  1. It defines a new Output trait and a new encode_into function that allows to encode OSC data into anything that implements the Output trait. The Output trait got implemented of Vec<u8>, so that the existing encode function can leverage encode_into under the hood.
  2. Encoder performance improved by an order of magnitude 🚀 🐎 ! There was no regression, only speedups between 5 and 21 times. This was mainly achieved by preventing a lot of allocations (as done in the previous implementations). For more details see #44.

Apply clippy suggestions

08 Apr 09:08
Compare
Choose a tag to compare

This is a housekeeping release that implements clippy suggestions from #43 and #42.

Minor enhancements

08 Apr 08:58
8219a98
Compare
Choose a tag to compare

With this release the Display trait get's implemented for OscAddress (08b2d4f) and a number of other address related structs now derive Clone and Debug traits.

Use String to store OSCAddress

23 Aug 16:04
b7ff3dd
Compare
Choose a tag to compare

We now use String to store an OSCAddress because it will prevent lifetime issues when the given address does not live long enough. Thanks again to @DrLuke for this fix 🎉 !

Bugfix release 🐞

22 Jul 05:51
ca83440
Compare
Choose a tag to compare

Thanks to @maxnoel for fixing tests on Windows. OscTimeError is also now a std::error::Error which makes it a bit more handy to use.

Improved ergonomics

19 Jul 16:02
839d15e
Compare
Choose a tag to compare

With this release development ergonomics improved slightly:

  • rosc now returns plain Result instead of the nom specific IResult (#33)
  • there's a new OscAddress type that allows validating OSC addresses only once. This change is also a performance improvement. (#32)

Special thanks to @DrLuke for implementing both changes and thus closing #29 and #30.

Address matching via `nom`

20 Mar 08:53
309bc85
Compare
Choose a tag to compare

We do not depend on the regex crate anymore since the address matching is now done entirely via nom. Thanks to @DrLuke for implementing this! 🎉

Add address module

21 Nov 11:16
Compare
Choose a tag to compare

This release adds a new address module that helps matching message addresses against OSC method address patterns. With other words, the Matcher can be used to dispatch incoming messages to the appropriate handler.

Thanks @DrLuke for the contribution with #20 .

Fix Osc-/SystemTime conversions for 32-bit systems

19 May 14:01
9ac64bc
Compare
Choose a tag to compare

This limits SystemTime to OscTime conversions, and vice versa, to time ranges since the unix epoch which prevents arithmetic overflows on 32-bit systems. Times before the unix epoch can still be represented using OscTime.