All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Switched from
slogtotracingfor logging
- 🎵 An audio queue that automatically sort, decode and handle lost audio packets
- Audio example for
tsclientlib - Send audio packets with
Connection::send_audio - ⏫ Automatically improve identity level if it is not high enough
- 🔓 Add
channel,channel_passwordand (server-)passwordtoConnectOptions - 📂 Filetransfer: Download and upload files from and to TeamSpeak servers
- Most structs can be serialized with
serdenow Reasonto events that support it, that allows distinguishing between client joins and subscription events- Add ability to check server identity when connecting as
ConnectOptions::server StreamItem::MessageEventfor non-book events
- ➠ Upgrade from
futures0.1 to 0.3 andtokio0.1 to 1.0 forasync/awaitsupport - 🔒 Rewrite
tsprotoandtsclientlibto be a single, non-clonable object. This removes all locks - 🚀 Many performance improvements
- New command parser, 2–2.5× faster than the old one
- New command serializer, 2× faster than the old one
- Switched error handling library from
failuretothiserror - Now licensed under MIT/Apache 2.0 (previously under OSL 2.0)
- Commands are now sent with
command.send(&mut connection)? - A new connection should now be created with
ConnectOptions::connectinstead ofConnection::new - Multiple renamings in the book
- Rename
StreamItem::ConEventstoStreamItem::BookEvents - Rename
UidReftoUidand make it a dynamically sized type. The previously ownedUidtype is now calledUidBuf - Replace
ringwith RustCrypto crates to get rid of theflakebi-ringcrate
- The
ConnectionManagerintsprotowas removed
- Hashcash implementation counts leading zeroes from lsb instead of msb
- Use
3.?.?version by default to allow connecting to newer TeamSpeak servers - Fix channel order handling
- Use
git-testamentinstead ofbuilt, this removes building libgit - Fix encoding newlines in commands
- The last
Ackpacket is sent reliably now, previously it was lost sometimes - Fix connecting to servers behind certain protections by restart sending init packets
- Try to reconnect infinitely after a timeout
- Keep channel and muted state when reconnecting
- Automatically subscribe to new channels when the server is subscribed
- First release on crates.io for
- tsclientlib
- tsproto
- tsproto-commands
- tsproto-structs