- Reduced Node.JS version requirement back to v0.6.10
- Now requires Node v0.6.13 since that's the first version that I can manage to successfully build the native UTF-8 validator with node-gyp through npm.
- Fixes the issues that users were having building the native UTF-8 validator on Windows platforms. Special Thanks to:
- Fixed accidental global variable usage (Thanks, hakobera!)
- Added callbacks to the send* methods that provide notification of messages being sent on the wire and any socket errors that may occur when sending a message. (Thanks, zerodivisi0n!)
- Added option to disable logging in the echo-server in the test folder (Thanks, oberstet!)
- Now validates that incoming UTF-8 messages do, in fact, contain valid UTF-8 data. The connection is dropped with prejudice if invalid data is received. This strict behavior conforms to the WebSocket RFC and is verified by the Autobahn Test Suite. This is accomplished in a performant way by using a native C++ Node module created by einaros.
- Updated handling of connection closure to pass more of the Autobahn Test Suite.
- Substantial speed increase (~150% on my machine, depending on the circumstances) due to an optimization in FastBufferList.js that drastically reduces the number of memory alloctions and buffer copying. (kazuyukitanimura)
- Fixing whiteboard example to work under Node 0.6.x (theturtle32)
- Now correctly emitting a
closeevent with a 1006 error code if there is a TCP error while writing to the socket during the handshake. (theturtle32)
- Catching errors when writing to the TCP socket during the handshake. (justoneplanet)
- No longer outputting console.warn messages when there is an error writing to the TCP socket (justoneplanet)
- Fixing some formatting errors, commas, semicolons, etc. (kaisellgren)
- Now works with Node 0.6.2 as well as 0.4.12
- Support TLS in WebSocketClient
- Added support for setting and reading cookies
- Added WebSocketServer.prototype.broadcast(data) convenience method
resourceURLproperty to WebSocketRequest objects. It is a Node URL object with the
resourceand any query string params already parsed.
- The WebSocket request router no longer includes the entire query string when trying to match the path name of the request.
- WebSocketRouterRequest objects now include all the properties and events of WebSocketRequest objects.
- Removed more console.log statements. Please rely on the various events emitted to be notified of error conditions. I decided that it is not a library's place to spew information to the console.
- Renamed the
webSocketVersionthroughout the code to fix inconsistent capitalization.
websocketVersionhas been kept for compatibility but is deprecated and may be removed in the future.
- Now outputting the sanitized version of custom header names rather than the raw value. This prevents invalid HTTP from being put onto the wire if given an illegal header name.
I decided it's time to start maintaining a changelog now, starting with version 1.0.1.