Releases: polyphony-chat/polyproto-rs
v0.11
Additions
- Lots of new functionality for the
SerialNumber
andUint
newtypes, including aserde
impl forUint
- Formatting improvements and compiler warning fixes
- Stability improvements through use of
checked_add()
and friends whereever needed and replacing.unwrap()
withErr()
returnings - Slightly more robust certificate validation through added
SerialNumber
validation step
Bug fixes
- Implemented changes made to the specification in a recent PR to polyproto-rs, making the crate once again (hopefully) spec compliant (contributor: @Sorixelle)
Upcoming
v0.12 is set to include sqlx_postgres
support for some of the types offered by this crate, to make working with this crate easier in scenarios requiring a PostgreSQL database.
Full Changelog: v0.10...v0.11
v0.10
Release v0.10
The tenth release of the polyproto crate is the biggest one yet. It touches almost all areas of the source code and brings numerous improvements, bug fixes and additions.
Most notably, v0.10 has been updated to be almost fully compliant with Beta 1 of the polyproto specification! All the API routes, types and the most important behaviors are there and available for you to tinker and prototype with!
Some more advanced features are missing, though. Notably, v0.10 lacks zstd
WebSocket compression support and advanced migrations features, such as performing and verifying migrations out of the box. Developers and tinkerers can add this functionality themselves, as all the needed "parts" for it exist (API routes, verification behaviors, etc.)—there just isn't one, simple function you can call yet.
Things like these are planned for the v0.11 and v0.12 releases.
Gateway
This version ships polyproto WebSocket gateway client functionality, gated behind the gateway
crate feature. The implementation of this feature is super backend-agnostic—though, for now, we have sealed the needed traits, and are only shipping a tokio-tungstenite
backend for testing.
The gateway handles establishing a connection to the server, sending regular heartbeats at the specified interval and responding to Opcode 11—the manual heartbeat request.
Apart from the Hello
payload, library consumers can easily get access to all messages received from the gateway by calling subscribe()
on the internal tokio::sync::watch::Sender<GatewayMessage>
. This means that this crate handles only the bare necessities of connecting to the gateway, and that you are free to handle incoming messages however you would like to. Our GatewayMessage
type is .into()
and From::<>
-compatible with tokio_tungstenite::tungstenite::Message
, so that you are not locked into using our types, should you not want that.
What's Changed
- Delete .github/dependabot.yml by @bitfl0wer in #40
- Merge of newest stuff by @bitfl0wer in #46
- Re-add successful
wasm
build by @bitfl0wer in #52 - wasm-bindgen setup by @bitfl0wer in #53
- v0.10.0 by @bitfl0wer in #48
Full Changelog: v0.9...v0.10