All notable changes to this project will be documented in this file.
The format is roughly based on Keep a Changelog.
This project intends to inhere to Semantic Versioning, but has not yet reached 1.0 so all APIs might be changed.
- Fixed some compile errors when
ws_stream_wasmwas enabled andtungstenitewas not (#111)
- All Connection trait functions now return impl Future instead of BoxFuture (#108)
- Removed the legacy API that was deprecated in v0.8.0 (#81)
- The deprecated
async-tungstenitefeature has been removed. Use thetungstenitefeature instead, which works withasync-tungtenite,tokio-tungsteniteand any other library that provides afutures::{Stream, Sink}based tungsetenite interface. (#106)
- MSRV is now 1.76
- Updated dependencies (#100)
tungstenite0.23graphql_client0.14
- Removed unused dependencies (#105)
async-traitpin-project-lite
Thanks to the people who contributed to this release:
- @carlocorradini
- The
no-loggingfeature has been removed in favour of a defaultloggingfeature (#97)
- Added keep-alive functionality. When enabled this will send periodic pings when the connection appears inactive. If these pings are not replied to, the connection will be considered broken. (#93, #94, #103)
- Client is now Debug (#101)
- simplify keep alive implementation
- pin release-plz version (#91)
Thanks to the people who contributed to this release:
- @rhishikeshj
- @carlocorradini
0.8.2 - 2024-04-09
Client::subscribenow takes&selfinstead of&mut self, to make sharing aClientamong threads easier (#88)Clientis now clone, again to make sharing among threads easier (#88)
- Hopefully fixed the docs.rs build
async_tungsteniteis no longer a default feautre, you should explicitly enable it if you need it.- Updated to
tungstenite0.21 - MSRV is now 1.69 (there was no official MSRV before)
- Subscription IDs sent to the server are now just monotonic numbers rather than uuids.
These will be removed in a future version, probably in v0.9.0
AsyncWebsocketClientand all its supporting traits and structs are now deprecated.- The
async-tungstenitefeature flag is deprecated and will be removed in favour oftungsteniteeventually.
- Added an entirely new client API as a replacement for the old API.
- Added a
subscribefunction tonext::ClientBuilderto make creating a single subscription on a given connection easier.
graphql-ws-clientnow depends only ontungsteniteand not directly onasync-tungstenite(ortokio-tungstenite). This should allow it to work with more versions of the async libraries (provided they support the sametungsteniteversion).
async-tungsteniteis no longer automatically enabled when adding any of the client feature flags.
graphql-ws-clientnow depends only ontungsteniteand not directly onasync-tungstenite(ortokio-tungstenite) This should allow it to work with more versions of the async libraries (provided they support the sametungsteniteversion).
- Fixed
tokio-tungstenitesupport by switching theasync_tungsteniteConnectionimpl to a generic impl on anytungstenitecompatibleStream&Sink.
- The
nextapi is now available at the top level rather than thenextmodule. async_tungsteniteis no longer a default feautre, you should explicitly enable it if you need it- Updated to
async_tungstenite0.25 - Renamed
Client::streaming_operationto subscribe innextapi. - MSRV is now 1.69 (there was no official MSRV before)
These will be removed in a future version, probably in v0.9.0
AsyncWebsocketClientand all its supporting traits and structs are now deprecated.
- Added a
subscribefunction tonext::ClientBuilderto make creating a single subscription on a given connection easier.
Error::Closenow has a code as well as a reason.
- Added a
nextmodule with a significant re-work of the API
- Subscription IDs sent to the server are now just monotonic numbers rather than uuids.
SubscriptionStreamno longer takesGraphqlClientas a generic parameter- Removed the
GraphqlClienttrait and all its uses - Changed the
StreamingOperationtrait:- Removed the
GenericResponseassociated type decode_responsenow always takes aserde_json::value- I expect most implementations of this will now just be a call toserde_json::from_value
- Removed the
async_tungstenitedependency has been updated to 0.24
async_tungstenitedependency has been updated to 0.23, pulling in a tungstenite security fix
cynicdependency has been updated to 3graphql_clientdependency has been updated to 0.13async_tungstenitedependency has been updated to 0.22
- Updated the cynic code to support operations with variables.
cynicdependency has been updated to 2.2async_tungstenitedependency has been updated to 0.19graphql_clientdependency has been updated to 0.12
- The examples now compile.
- Added support for wasm with the
ws_stream_wasmlibrary.
- Updated some dependency versions
graphql-ws-clientwill no longer panic when it receives aPingevent.- The
AsyncWebsocketClientBuildertype is nowSend.
- Clients are now created through builder types rather than directly. See the
AsyncWebsocketClientBuildertype (or it'sCynicClientBuilderalias) cynicsupport is now behind theclient-cynicfeature.- It's now recommended to use a custom impl of
futures::task::Spawnfor tokio rather than theasync_executorscrate, asasync_executorsis not compatible with#[tokio::main]. An example impl is provided fortokioin the examples folder.
graphql_clientis now supported, behind theclient-graphql-clientfeature.graphql-ws-clientnow has an examplestreaming_operationnow returns aSubscriptionStreamtype. This is still aStreambut also exposes astop_operationfunction that can be used to tell the server to end the stream.cynicno longer requires the use ofasync_executors- it now only requires animpl futures::task::Spawn. An example is included for tokio. Old code using theAsyncStdexecutor should continue to work but tokio users are encouraged to provide their own using the example.
graphql-ws-clienthas better support for running inside#[tokio::main]- Cynic will now use the
logcrate rather than printing to stdout.
- Initial release