- Support for
graphql@16
and bump minimal supported version to be[email protected]
. As part of this change signatures forExecuteFunction
andSubscribeFunction
were changed.
@IvanGoncharov in #902
- Same contents as v0.9.19 (published before v0.9.19 before realizing it would be helpful if the new version was picked up by packages looking for
^0.9
).
- Bump
ws
dependency to allow v6 and v7. Note that there are breaking changes inws
6.0.0
and7.0.0
; for example, messages over 100MiB are rejected, and (in v7) the behavior of sending messages while the connection is starting or ending has changed. We are publishing this package to allow users of Apollo Server 2 to avoid seeing this CVE in theirnpm audit
. However, note that (a) this CVE does not affect the subscriptions client, just the server and (b) Apollo Server 3 will remove its superficial integration with this package entirely. We encourage users of Apollo Server 2 to disable the integration with this unmaintained package vianew ApolloServer({subscriptions: false})
, and consider packages such asgraphql-ws
to power GraphQL subscriptions until such time as Apollo Server has more fully integrated subscriptions support.
- Do not send GQL_STOP when unsubscribing after GQL_COMPLETE is received.
@onhate in #775 - Clear WebSocket event listeners on close.
@tretne in #615 - Fix
MessageTypes
TS import errors.
@sneko in #412 - Ensure
promisedParams
errors are not handled twice.
@benjie in #514 - Fix invalid
formatResponse
console error.
@renatorib in #761 - Destructure the correct error object in
MessageTypes.GQL_START
.
@gregbty in #588 - Inline source in sourcemap files to fix broken source lookups.
@alexkirsz in #513
- Add
minTimeout
option for client.
@jedwards1211 in #675 - Accept extra WebSocket client arguments.
@GingerBear in #561 - Support server-defined payload in GQL_CONNECTION_ACK message.
@mattkrick in #347
- Add support for
graphql
and@types/graphql
14.
@caiquecastro in #464
- Allow dynamically specifying/overriding the schema in the object returned from
onOperation
PR #447
- Allow connectionParams to be a Promise PR #443
- use lightweight lodash alternatives Issue #430
- applies fix suggested by @pandemosth regarding "No subscription is made on reconnect" and "Duplicate subscription made on reconnect" described in Issue #295
- allow using custom WebSocket server implementation PR #374
- upgrade ws and eventemitter3
- fix issue with @types/[email protected]
- added
error
event to handle connection errors and debug network troubles PR #341. - added feature inactivityTimeout PR #390
- change default timeout from 10s to 30s PR #368
- pass
request
(upgradeReq
) toConnectionContext
PR #369 - pass
ConnectionContext
toonDisconnect()
as second argument PR #369
- fix shallow cloning on contexts which are classes
- upgrade to support graphql 0.13.X
- bump iterall version PR #362
- docs(setup): Fix dead link to subscriptions-to-schema
- upgrade to support graphql 0.12.X
- fix unhandledRejection error in GQL_START handling if initPromise rejected PR #310
- fix unhandledRejection error in GQL_STOP handling if initPromise rejected PR #309
- fix return of init error message to legacy clients PR #309
- fix format of keep alive message sent to legacy clients. PR #297
- fix(isPromise): Made checks for promises in server.ts loose to allow for augmented and polyfilled promises. PR #304
- docs(KEEP_ALIVE): Updated protocol docs to explain the correct server implementation of
GQL_CONNECTION_INIT
,GQL_CONNECTION_ACK
andGQL_CONNECTION_KEEP_ALIVE
PR #279 - docs(language-typos): Update documentation to remove some language typos PR #282
- fix(typescript-2.5.x-typings): Fix a couple of typing changes required by latest typing files with TypeScript 2.5.X. PR #285
- test(NA): fixed run condition on tests for gql_data with errors PR #289
- docs(README): Fix example for subscribe and subscribeToMore PR #273
- Add support for GraphQL 0.11.0 PR #261
- BREAKING CHANGE: Remove support for Subscription Manager PR #261
- BREAKING CHANGE: Remove support for all deprecated API PR #272
- docs(README): Fix options example for subscribe methods PR #266
- Gracefully unsubscribe to all pending operations before a requested close by the user PR #245
- Add
close
method to server PR #257 - Bugfix: Observer callbacks should be optional PR #256
- Add request interface as a preparation for Apollo 2.0 PR #242
- Add Validation step to server PR #241
- Call operation handler before delete the operation on operation complete PR #239
- Send first keep alive message right after the ack PR #223
- Return after first post-install when it should install dev dependencies PR #218
- On installing from branch install dev dependencies only if dist folder isn't found PR #219
- Expose opId
onOperationComplete
method PR #211 - Fix to make library able to be installed from a branch PR #208
- Fix for non forced closes (now it wont send connection_terminate) PR #197
- A lot of connection's flow improvements (on connect, on disconnect and on reconnect) PR #197
- Require specific lodash/assign module instead of entire package, so memory impact is reduced PR #196
- docs(README): Fix onEvent(eventName, callback, thisContext) list of eventName PR #205
- Fix for first subscription is never unsubscribed PR #179
- Increase default keep-alive timeout to 30s PR #177
- Operation key is now
string
instead ofnumber
PR #176
- Fix for reconnect after manual close PR #164
- test(disconnect): added tests for client-server flow for unsubscribe and disconnect PR #163
- Various dependencies updates PR #152 PR #162
- docs(README): fix docs PR #151
- Client exposes new asyncronous middleware to modify
OperationOptions
PR #78 - Added
WebSocketServer
error handler to prevent uncaught exceptions. Fixes Issue #94 - Updated
ws
dependency to the lastest. - Introduce lazy mode for connection, and accept function as
connectionParams
PR #131 - Extend transport protocol to support GraphQL queries and mutations over WebSocket PR #108
- Added built-in support for
subscribe
fromgraphql-js
PR #133 - Fixed infinity reconnects when server accepts connections but its in an error state. PR #135
- Force close client-side socket when using
close()
, and ignore reconnect logic. PR #137 - Added new connection events to give a more accurate control over the connection state PR #139. Fixes Issue #136.
- Replaced
Object.assign
bylodash.assign
to extend browser support PR #144. Fixes Issue #141
- Enabled Greenkeeper and updated dependencies, includes major version bump of ws PR #90
- Protocol update to support queries, mutations and also subscriptions. PR #108
- Added support in the server for GraphQL Executor. PR #108
- Added support in the server executor for
graphql-js subscribe
. PR #846
- Remove dependency on
graphql-tag/printer
per graphql-tag#54 PR #98
- Ensure INIT is sent before SUBSCRIPTION_START even when client reconnects PR #85
- Allow data and errors in payload of SUBSCRIPTION_DATA PR #84
- Expose
index.js
as entrypoint for server/NodeJS application to allow NodeJS clients to useSubscriptionClient
PR #91 - Fixed a bug with missing error message on
INIT_FAIL
message #88
- Fixed a bug with
browser
declaration on package.json (Issue #79)
- Updated dependencies versions
- Fixed typings issue with missing
index.d.ts
file. PR #73 - Transpiling client.js to target browsers using webpack. PR #77
- Only attempt reconnect on closed connection. Fixes Issue #70
- Updated
[email protected]
. - Added
addGraphQLSubscriptions
- use it to extend your network interface to work withSubscriptionsClient
instance. PR #64 - Client now uses native WebSocket by default, and has optional field to provide another implementation (for NodeJS clients)PR #53
- Client now support INIT with custom object, so you can use if for authorization, or any other init params. PR #53
- Server and client are now separated with
browser
andmain
fields ofpackage.json
. PR #53 - Client exposes workflow events for connect, disconnect and reconnect. PR #53
- Server exposes new events:
onUnsubscribe
,onSubscribe
,onConnect
andonDisconnect
. PR #53 - Use
ws
package on server side, and expose it's options from server constructor. PR #53
- Server now passes back subscriptionManager errors encountered during publish. PR #42
- (SEMVER-MINOR) Bump graphql-subscriptions dependency to ^0.2.0 which changes the setupFunctions format
- Fix missing unsubscription from first (id = 0) subscription
- Add
reconnect
andreconnectionAttempts
options to the constructor which will enable reconnection with exponential backoff.
- Pass WebSocketRequest to onSubscribe to support reading HTTP headers when creating a subscription
- Server reports back an error on an unparsable client message
- Server reports back an error on an unsupported client message type
- Fix intermittent failure in timeout test case
- Standardize server and client errors handling to always create an array of errors with a message property