1v0.4.31 - September 23th, 2013 2===================== 3 4* Component support 5 6v0.4.30 - August 30th, 2013 7===================== 8 9* BufferedAmount could be undefined, default to 0 [TooTallNate] 10* Support protocols as second argument and options as third [TooTallNate] 11* Proper browserify shim [mcollina] 12* Broadcasting example in README [stefanocudini] 13 14v0.4.29 - August 23th, 2013 15===================== 16* Small clean up of the Node 0.11 support by using NAN from the NPM registry [kkoopa] 17* Support for custom `Agent`'s through the options. [gramakri] & [TooTallNate] 18* Support for custom headers through the options [3rd-Eden] 19* Added a `gypfile` flag to the package.json for compiled module discovery [wolfeidau] 20 21v0.4.28 - August 16th, 2013 22===================== 23* Node 0.11 support. [kkoopa] 24* Authorization headers are sent when basic auth is used in the url [jcrugzz] 25* Origin header will now include the port number [Jason Plum] 26* Race condition fixed where data was received before the readyState was updated. [saschagehlich] 27 28v0.4.27 - June 27th, 2013 29===================== 30* Frames are no longer masked in `wscat`. [slaskis] 31* Don't retrain reference to large slab buffers. [jmatthewsr-msi] 32* Don't use Buffer.byteLength for ArrayBuffer's. [Anthony Pesch] 33* Fix browser field in package.json. [shtylman] 34* Client-side certificate support & documentation improvements. [Lukas Berns] 35* WebSocket readyState's is added to the prototype for spec compatiblity. [BallBearing] 36* Use Object.defineProperty. [arlolra] 37* Autodetect ArrayBuffers as binary when sending. [BallBearing] 38* Check instanceof Buffer for binary data. [arlolra] 39* Emit the close event before destroying the internal socket. [3rd-Eden] 40* Don't setup multiply timeouts for one connection. [AndreasMadsen] 41* Allow support for binding to ethereal port. [wpreul] 42* Fix broken terminate reference. [3rd-Eden] 43* Misc node 0.10 test fixes and documentation improvements. [3rd-Eden] 44* Ensure ssl options are propagated to request. [einaros] 45* Add 'Host' and 'Origin' to request header. [Lars-Magnus Skog] 46* Subprotocol support. [kanaka] 47* Honor ArrayBufferView's byteOffset when sending. [Anthony Pesch] 48* Added target attribute for events. [arlolra] 49 50v0.4.26 - Skipped 51===================== 52 53v0.4.25 - December 17th, 2012 54===================== 55* Removed install.js. [shtylman] 56* Added browser field to package.json. [shtylman] 57* Support overwriting host header. [Raynos] 58* Emit 'listening' also with custom http server. [sebiq] 59 60v0.4.24 - December 6th, 2012 61===================== 62* Yet another intermediate release, to not delay minor features any longer. 63* Native support installation issues further circumvented. [einaros] 64 65v0.4.23 - November 19th, 2012 66===================== 67* Service release - last before major upgrade. 68* Changes default host from 127.0.0.1 to 0.0.0.0. [einaros] 69 70v0.4.22 - October 3rd, 2012 71===================== 72* clear failsafe cleanup timeout once cleanup is called [AndreasMadsen] 73* added w3c compatible CloseEvent for onclose / addEventListener("close", ...). [einaros] 74* fix the sub protocol header handler [sonnyp] 75* fix unhandled exception if socket closes and 'error' is emitted [jmatthewsr-ms] 76 77v0.4.21 - July 14th, 2012 78===================== 79* Emit error if server reponds with anything other than status code 101. [einaros] 80* Added 'headers' event to server. [rauchg] 81* path.exists moved to fs.exists. [blakmatrix] 82 83v0.4.20 - June 26th, 2012 84===================== 85* node v0.8.0 compatibility release. 86 87v0.4.19 - June 19th, 2012 88===================== 89* Change sender to merge buffers for relatively small payloads, may improve perf in some cases [einaros] 90* Avoid EventEmitter for Receiver classes. As above this may improve perf. [einaros] 91* Renamed fallback files from the somewhat misleading '*Windows'. [einaros] 92 93v0.4.18 - June 14th 2012 94===================== 95* Fixed incorrect md5 digest encoding in Hixie handshake [nicokaiser] 96* Added example of use with Express 3 [einaros] 97* Change installation procedure to not require --ws:native to build native extensions. They will now build if a compiler is available. [einaros] 98 99v0.4.17 - June 13th 2012 100===================== 101* Improve error handling during connection handshaking [einaros] 102* Ensure that errors are caught also after connection teardown [nicokaiser] 103* Update 'mocha' version to 1.1.0. [einaros] 104* Stop showing 'undefined' for some error logs. [tricknotes] 105* Update 'should' version to 0.6.3 [tricknotes] 106 107v0.4.16 - June 1st 2012 108===================== 109* Build fix for Windows. [einaros] 110 111v0.4.15 - May 20th 2012 112===================== 113* Enable fauxe streaming for hixie tansport. [einaros] 114* Allow hixie sender to deal with buffers. [einaros/pigne] 115* Allow error code 1011. [einaros] 116* Fix framing for empty packets (empty pings and pongs might break). [einaros] 117* Improve error and close handling, to avoid connections lingering in CLOSING state. [einaros] 118 119v0.4.14 - Apr 30th 2012 120===================== 121* use node-gyp instead of node-waf [TooTallNate] 122* remove old windows compatibility makefile, and silently fall back to native modules [einaros] 123* ensure connection status [nicokaiser] 124* websocket client updated to use port 443 by default for wss:// connections [einaros] 125* support unix sockets [kschzt] 126 127v0.4.13 - Apr 12th 2012 128===================== 129 130* circumvent node 0.6+ related memory leak caused by Object.defineProperty [nicokaiser] 131* improved error handling, improving stability in massive load use cases [nicokaiser] 132 133v0.4.12 - Mar 30th 2012 134===================== 135 136* various memory leak / possible memory leak cleanups [einaros] 137* api documentation [nicokaiser] 138* add option to disable client tracking [nicokaiser] 139 140v0.4.11 - Mar 24th 2012 141===================== 142 143* node v0.7 compatibillity release 144* gyp support [TooTallNate] 145* commander dependency update [jwueller] 146* loadbalancer support [nicokaiser] 147 148v0.4.10 - Mar 22th 2012 149===================== 150 151* Final hixie close frame fixes. [nicokaiser] 152 153v0.4.9 - Mar 21st 2012 154===================== 155 156* Various hixie bugfixes (such as proper close frame handling). [einaros] 157 158v0.4.8 - Feb 29th 2012 159===================== 160 161* Allow verifyClient to run asynchronously [karlsequin] 162* Various bugfixes and cleanups. [einaros] 163 164v0.4.7 - Feb 21st 2012 165===================== 166 167* Exposed bytesReceived from websocket client object, which makes it possible to implement bandwidth sampling. [einaros] 168* Updated browser based file upload example to include and output per websocket channel bandwidth sampling. [einaros] 169* Changed build scripts to check which architecture is currently in use. Required after the node.js changes to have prebuilt packages target ia32 by default. [einaros] 170 171v0.4.6 - Feb 9th 2012 172===================== 173 174* Added browser based file upload example. [einaros] 175* Added server-to-browser status push example. [einaros] 176* Exposed pause() and resume() on WebSocket object, to enable client stream shaping. [einaros] 177 178v0.4.5 - Feb 7th 2012 179===================== 180 181* Corrected regression bug in handling of connections with the initial frame delivered across both http upgrade head and a standalone packet. This would lead to a race condition, which in some cases could cause message corruption. [einaros] 182 183v0.4.4 - Feb 6th 2012 184===================== 185 186* Pass original request object to verifyClient, for cookie or authentication verifications. [einaros] 187* Implemented addEventListener and slightly improved the emulation API by adding a MessageEvent with a readonly data attribute. [aslakhellesoy] 188* Rewrite parts of hybi receiver to avoid stack overflows for large amounts of packets bundled in the same buffer / packet. [einaros] 189 190v0.4.3 - Feb 4th 2012 191===================== 192 193* Prioritized update: Corrected issue which would cause sockets to stay open longer than necessary, and resource leakage because of this. [einaros] 194 195v0.4.2 - Feb 4th 2012 196===================== 197 198* Breaking change: WebSocketServer's verifyOrigin option has been renamed to verifyClient. [einaros] 199* verifyClient now receives { origin: 'origin header', secure: true/false }, where 'secure' will be true for ssl connections. [einaros] 200* Split benchmark, in preparation for more thorough case. [einaros] 201* Introduced hixie-76 draft support for server, since Safari (iPhone / iPad / OS X) and Opera still aren't updated to use Hybi. [einaros] 202* Expose 'supports' object from WebSocket, to indicate e.g. the underlying transport's support for binary data. [einaros] 203* Test and code cleanups. [einaros] 204 205v0.4.1 - Jan 25th 2012 206===================== 207 208* Use readline in wscat [tricknotes] 209* Refactor _state away, in favor of the new _readyState [tricknotes] 210* travis-ci integration [einaros] 211* Fixed race condition in testsuite, causing a few tests to fail (without actually indicating errors) on travis [einaros] 212* Expose pong event [paddybyers] 213* Enabled running of WebSocketServer in noServer-mode, meaning that upgrades are passed in manually. [einaros] 214* Reworked connection procedure for WebSocketServer, and cleaned up tests. [einaros] 215 216v0.4.0 - Jan 2nd 2012 217===================== 218 219* Windows compatibility [einaros] 220* Windows compatible test script [einaros] 221 222v0.3.9 - Jan 1st 2012 223====================== 224 225* Improved protocol framing performance [einaros] 226* WSS support [kazuyukitanimura] 227* WSS tests [einaros] 228* readyState exposed [justinlatimer, tricknotes] 229* url property exposed [justinlatimer] 230* Removed old 'state' property [einaros] 231* Test cleanups [einaros] 232 233v0.3.8 - Dec 27th 2011 234====================== 235 236* Made it possible to listen on specific paths, which is especially good to have for precreated http servers [einaros] 237* Extensive WebSocket / WebSocketServer cleanup, including changing all internal properties to unconfigurable, unenumerable properties [einaros] 238* Receiver modifications to ensure even better performance with fragmented sends [einaros] 239* Fixed issue in sender.js, which would cause SlowBuffer instances (such as returned from the crypto library's randomBytes) to be copied (and thus be dead slow) [einaros] 240* Removed redundant buffer copy in sender.js, which should improve server performance [einaros] 241 242v0.3.7 - Dec 25nd 2011 243====================== 244 245* Added a browser based API which uses EventEmitters internally [3rd-Eden] 246* Expose request information from upgrade event for websocket server clients [mmalecki] 247 248v0.3.6 - Dec 19th 2011 249====================== 250 251* Added option to let WebSocket.Server use an already existing http server [mmalecki] 252* Migrating various option structures to use options.js module [einaros] 253* Added a few more tests, options and handshake verifications to ensure that faulty connections are dealt with [einaros] 254* Code cleanups in Sender and Receiver, to ensure even faster parsing [einaros] 255 256v0.3.5 - Dec 13th 2011 257====================== 258 259* Optimized Sender.js, Receiver.js and bufferutil.cc: 260 * Apply loop-unrolling-like small block copies rather than use node.js Buffer#copy() (which is slow). 261 * Mask blocks of data using combination of 32bit xor and loop-unrolling, instead of single bytes. 262 * Keep pre-made send buffer for small transfers. 263* Leak fixes and code cleanups. 264 265v0.3.3 - Dec 12th 2011 266====================== 267 268* Compile fix for Linux. 269* Rewrote parts of WebSocket.js, to avoid try/catch and thus avoid optimizer bailouts. 270 271v0.3.2 - Dec 11th 2011 272====================== 273 274* Further performance updates, including the additions of a native BufferUtil module, which deals with several of the cpu intensive WebSocket operations. 275 276v0.3.1 - Dec 8th 2011 277====================== 278 279* Service release, fixing broken tests. 280 281v0.3.0 - Dec 8th 2011 282====================== 283 284* Node.js v0.4.x compatibility. 285* Code cleanups and efficiency improvements. 286* WebSocket server added, although this will still mainly be a client library. 287* WebSocket server certified to pass the Autobahn test suite. 288* Protocol improvements and corrections - such as handling (redundant) masks for empty fragments. 289* 'wscat' command line utility added, which can act as either client or server. 290 291v0.2.6 - Dec 3rd 2011 292====================== 293 294* Renamed to 'ws'. Big woop, right -- but easy-websocket really just doesn't cut it anymore! 295 296v0.2.5 - Dec 3rd 2011 297====================== 298 299 * Rewrote much of the WebSocket parser, to ensure high speed for highly fragmented messages. 300 * Added a BufferPool, as a start to more efficiently deal with allocations for WebSocket connections. More work to come, in that area. 301 * Updated the Autobahn report, at http://einaros.github.com/easy-websocket, with comparisons against WebSocket-Node 1.0.2 and Chrome 16. 302 303v0.2.0 - Nov 25th 2011 304====================== 305 306 * Major rework to make sure all the Autobahn test cases pass. Also updated the internal tests to cover more corner cases. 307 308v0.1.2 - Nov 14th 2011 309====================== 310 311 * Back and forth, back and forth: now settled on keeping the api (event names, methods) closer to the websocket browser api. This will stick now. 312 * Started keeping this history record. Better late than never, right? 313