Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jul 28, 2021

Bumps ws from 7.5.3 to 8.0.0.

Release notes

Sourced from ws's releases.

8.0.0

Breaking changes

  • The WebSocket constructor now throws a SyntaxError if any of the subprotocol names are invalid or duplicated (0aecf0c9).

  • The server now aborts the opening handshake if an invalid Sec-WebSocket-Protocol header field value is received (1877ddeb).

  • The protocols argument of handleProtocols hook is no longer an Array but a Set (1877ddeb).

  • The opening handshake is now aborted if the Sec-WebSocket-Extensions header field value begins or ends with a white space (e814110e).

  • Dropped support for Node.js < 10.0.0 (552b5067).

  • The WebSocket constructor now throws a SyntaxError if the connection URL contains a fragment identifier or if the URL's protocol is not one of 'ws:', 'wss:', or 'ws+unix:' (ebea038f).

  • Text messages and close reasons are no longer decoded to strings. They are passed as Buffers to the listeners of their respective events. Listeners of 'message' event now take a boolean argument specifying whether or not the message is binary (e173423c).

    Existing code can be migrated by decoding the buffer explicitly.

    websocket.on('message', function message(data, isBinary) {
      const message = isBinary ? data : data.toString();
      // Continue as before.
    });
    websocket.on('close', function close(code, data) {
    const reason = data.toString();
    // Continue as before.
    });

  • The package now uses an ES module wrapper (78adf5f7).

  • WebSocketServer.prototype.close() no longer closes existing connections (df7de574).

    Existing code can be migrated by closing connections manually.

    websocketServer.close();
    for (const ws of websocketServer.clients) {
      ws.terminate();
    }
  • The callback of WebSocketServer.prototype.close() is now called with an error if the server is already closed (abde9cfc).

  • Websocket.prototype.addEventListener() is now a noop if the type argument

... (truncated)

Commits
  • bba3351 [dist] 8.0.0
  • c4394c3 [major] Overhaul event classes
  • 94a80cc [minor] Fix nits
  • 45790db [fix] Return null if the event handler is not set
  • 0b21c03 [fix] Make listeners added via event handler properties independent
  • 1bd93f0 [major] Ignore listeners not added with Websocket#addEventListener()
  • a421eb5 [major] Make Websocket#addEventListener() ignore non standard events
  • 77a675c [minor] Remove unneeded setters
  • 64b3c71 [pkg] Update mocha to version 8.4.0
  • abde9cf [major] Call the callback with an error if the server is closed
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [ws](https://github.com/websockets/ws) from 7.5.3 to 8.0.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](websockets/ws@7.5.3...8.0.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Jul 28, 2021
Update README to reflect that message event argument is a Buffer
@dependabot-merge-action dependabot-merge-action bot merged commit b3ae16a into master Jul 29, 2021
@dependabot dependabot bot deleted the dependabot/npm_and_yarn/ws-8.0.0 branch July 29, 2021 11:31
@DRoet
Copy link

DRoet commented Aug 26, 2021

This seems to be a breaking change inside a patch release (3.2.1) ? @mcollina

I fixed it on my end by adding toString() to my .on('message') listeners but I wasn't expecting it to break when I upgraded 😄

This was referenced Aug 30, 2021
@Eomm
Copy link
Member

Eomm commented Aug 30, 2021

This seems to be a breaking change inside a patch release (3.2.1) ? @mcollina

I fixed it on my end by adding toString() to my .on('message') listeners but I wasn't expecting it to break when I upgraded 😄

Reverted in 3.2.2

ws@8 will be released soon in 4.0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants