-
Notifications
You must be signed in to change notification settings - Fork 1
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
Update crate to match v1.0-beta.1 of p2-core #44
Milestone
Comments
Open
Merged
|
Work here is pretty much completed! Lives on the v0.10 branch and will be merged soon. |
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
Once v1.0-beta.1 of the protocol specification document (and its complementary API documentation) is released, work should be started to update the polyproto Rust crate to that version of the specification. The base work is already done and we have a solid foundation - things just need to be updated.
For that, I am going to go through each chapter of the protocol definition again and make sure that all aspects I can think of are covered by the crate.
Chapters
The text was updated successfully, but these errors were encountered: