You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

312 lines
13 KiB

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