-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Closed
Description
The release is not ready yet but I spent some time writing a changelog with the changes up until now. Here it is:
Breaking changes
- Dropped support for Node.js < 4.
- The
newoperator is now required to create all instances as we moved to ES6
classes. - Error messages have been simplified.
- The
clientsproperty of theWebSocketServeris no longer anArraybut a
Setand is only set if theclientTrackingoption is truthy (Use a set instead of an array to track clients #806). - The default HTTP status message is now used when handshake fails (41e7cae).
- Removed support for the Hixie-76 version of the protocol (Drop support for Hixie-76 #871).
- Removed ability to specify different paths for multiple
WebSocketServers
when binding them to the same underlying HTTP/s server (Remove path registry #885). - Removed
WebSocket.prototype.stream()and ability to pass a readable stream
toWebSocket.prototype.send()(Removestreammethod and ability to send a stream #875). - Removed callback argument from
handleProtocolshandler (Remove callback fromhandleProtocols#890). - Removed
supportsproperty fromWebSocket(Removesupportsattribute #918). - Removed
WebSocket.createServer(),WebSocket.createConnection(), and
WebSocket.connect()factory functions (RemoveWebSocket.createServer()andWebSocket.connect()#926).
The following breaking changes only apply if you required the mentioned classes
directly.
- Removed
Senderinheritance fromEventEmitter(Remove Sender inheritance from EventEmitter #861). - Removed
BufferPoolclass (73ab370). - Made
extensionsa required argument for theReceiverconstructor (5f53194).
Features
- Added ability to set TCP backlog for
WebSocketServer(Allow 'backlog' option for listening socket #795). - Added
checkServerIdentityoption toWebSocket(Added checkServerIdentity option to WebSocket #701). - Added a
thresholdoption for permessage-deflate to only compress messages
whose size is bigger thanthreshold(6b3904b). - Added
shouldHandlemethod toWebSocketServerto see if a request should
be accepted or rejected. This method can be overridden by the user if a
custom logic is desired (6472425). - Added
removeEventListenermethod toWebSocket(078e96a).
Bug fixes
- Fixed an issue that prevented permessage-deflate options from being correctly
handled (fix PerMessageDeflate options pass issue #744). - All
errorevents are now emitted with a properErrorinstance (Make sure that no string is emitted as an error #789). - Fixed an issue that could cause a stack overflow crash (Fix stack overflow crash #810).
- Added 1012 and 1013 to the list of allowed close codes (b58f688).
- Fixed an issue that prevented the connection from being closed when path
validation failed (Issue path validation #534). - Fixed an issue where the
finoption ofWebSocket.prototype.send()was
unconditionally set totrue(ea50be7). - Fixed an issue that prevented the total length of a fragmented message from
being correctly calculated (545635d). - Fixed an issue where
zlib.flush()was called with a wrong flush level
(Permessage-deflate calls zlib flush with wrong flush level #733). - The callback of
WebSocketServer.prototype.close()is now invoked when the
closeevent is emitted by the underlying HTTP/s server (Invoke the close callback when the close event is emitted #892). - Fixed an issue that prevented the server from listening on IPv6 addresses
with default settings (dcdc652). - Fixed an issue where the
connectionevent was emitted even if the client
closed the connection during the handshake process (04530ad). - The masking key is now generated using
crypto.randomBytes()instead of
Math.random()(7253f06).
Can a native speaker take a look and check if my Itanglish is ok or if there is something that is not clear enough?
Thanks!
mafrost
Metadata
Metadata
Assignees
Labels
No labels