Skip to content

Release v0.10 #45

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
bitfl0wer opened this issue Jan 28, 2025 · 0 comments
Open

Release v0.10 #45

bitfl0wer opened this issue Jan 28, 2025 · 0 comments

Comments

@bitfl0wer
Copy link
Member

bitfl0wer commented Jan 28, 2025

Release tracker for the tenth pre-release of the polyproto Rust crate. This issue is closely tied in with #44.

@bitfl0wer bitfl0wer added this to the v0.10.0 milestone Jan 28, 2025
@bitfl0wer bitfl0wer mentioned this issue Feb 23, 2025
@bitfl0wer bitfl0wer removed this from the v0.10.0 milestone Mar 5, 2025
bitfl0wer added a commit that referenced this issue Mar 30, 2025
Draft pull request for release v0.10.0 to receive status and coverage
information through GH Actions. Closes #44 and #45

# 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant