Releases: klingtnet/rosc
Fix no_std build failure and raise mininum Rust version
This release resolves build failures for no_std configurations and raises the minimum required Rust version to 1.67.1.
Thanks to @AkiyukiOkayasu for providing the patches!
Fix an OSC decoding issue
TCP encoder and usage examples
See #50 for details.
Note Version v0.11.2 on crates.io got accidentally published from a feature branch.
Implement std::fmt::Display for all OSC types
This includes #53 that implemented std::fmt::Display
for all OSC types.
Rust Edition 2021
This updates the crate to follow Rust Edition 2021.
Rust 1.56 is now the minimal required version.
Better docs
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
Thanks to @Barinzaya for submitting #44 which improves the encoder API in two ways:
- It defines a new
Output
trait and a newencode_into
function that allows to encode OSC data into anything that implements theOutput
trait. TheOutput
trait got implemented ofVec<u8>
, so that the existingencode
function can leverageencode_into
under the hood. - 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
Minor enhancements
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
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 🎉 !