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
slog
totracing
for 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_password
and (server-)password
toConnectOptions
- 📂 Filetransfer: Download and upload files from and to TeamSpeak servers
- Most structs can be serialized with
serde
now Reason
to 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::MessageEvent
for non-book events
- ➠ Upgrade from
futures
0.1 to 0.3 andtokio
0.1 to 1.0 forasync
/await
support - 🔒 Rewrite
tsproto
andtsclientlib
to 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
failure
tothiserror
- 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::connect
instead ofConnection::new
- Multiple renamings in the book
- Rename
StreamItem::ConEvents
toStreamItem::BookEvents
- Rename
UidRef
toUid
and make it a dynamically sized type. The previously ownedUid
type is now calledUidBuf
- Replace
ring
with RustCrypto crates to get rid of theflakebi-ring
crate
- The
ConnectionManager
intsproto
was 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-testament
instead ofbuilt
, this removes building libgit - Fix encoding newlines in commands
- The last
Ack
packet 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