-
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
v0.10.0 #48
Draft
bitfl0wer
wants to merge
277
commits into
main
Choose a base branch
from
dev/v0.10
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…eableIdCert where appropriate
…nd reqwest feature
* Expand ignored file patterns * add wasm_bindgen feature * add wasm_bindgen related optimizations and module * add mod.rs * reconcile lib feature * cargo wasm setup * add wasm-pack-helper script * add files from polyproto-js * reformat file * update wasm settings * bindgen headaches galore!!!!!!!! * add description for wasm module * add no_wee_alloc feature to disable wee_alloc if wasm_bindgen is instrumented through another crate * add license headers
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 atokio-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 callingsubscribe()
on the internaltokio::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. OurGatewayMessage
type is.into()
andFrom::<>
-compatible withtokio_tungstenite::tungstenite::Message
, so that you are not locked into using our types, should you not want that.