Changelog.md 9.3 KB
Newer Older
liang ce committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310
1.2.1
==
 * Revert `debug` to `^3` because v4 starts using ES6. Fixes #457

1.2.0
==
 * Update all outdated dependencies
 * Switch to karma and browserstack for running automated browser tests

1.1.5
==
 * Wrap the the contentWindow access in a try/catch block when in setTimeout #363
 * Revised example in README #356
 * Fix connection close when Transport timeout #358
 * Fixed crash with react-native@0.45.1 on Android #386
 * Update jsDelivr link #404, #405
 * Remove Sauce Labs unsupported browsers
 * Add link to rust server implementation #411
 * location.protocol should include final `:` #396

1.1.4
==
 * Upgrade `debug` and fix object key literal mangling, fixes regression in Opera 11.10 #359
 * Trim descriptions in package.json and bower.json - #372

1.1.3
==
  * Bad publish to NPM (removed)

1.1.2
==

 * Ensure both sender and receiver are cleaned upon close - #342
 * Remove event listeners before calling `close` - #344
 * Update documentation links - #351, #339, #316
 * Explicitly export `undefined` when `WebSocket` does not exist. Fixes Webpack. #321
 * Include `dist` folder on npm - #265
 * Simplify build setup
 * Update to Node.js 6.9
 * Add sourcemap for minified version
 * Remove unused String.trim shim

1.1.1
==

 * Do not pass `protocols` or `options` arguments to browser WebSocket constructor - #309

1.1.0
==

 * Fix IE7/8 usage of `console.log` which does not have `apply` - #279
 * Remove `dbg` global variable - #282
 * Bump `faye-websocket` version to `0.11.0` - #267
 * Optimize `arguments` usage - #263
 * Add sourcemap file to dist folder - #237
 * Add way to transparently pass transport-specific options - #272

1.0.3
==

 * Use `https` module for xhr requests in node when url uses https - #254

1.0.2
==

 * Fix iframe info receiver url
 * Move iframe.contentWindow check inside setTimeout - #246

1.0.1
==

 * Use proper base url for iframe-based info receiver - #249
 * Don't register unload event in chrome packaged app - #223
 * Allow custom session ids - #250
 * Remove version property from bower.json - #247
 * Update example CDN url - #244

1.0.0
===

 * Simplify url handling by delegating to `url-parse` - #242
 * Upgrade to `url-parse` 1.0.1 to fix colon issue if auth has no password

1.0.0-beta.13
===

 * Transport timeout on connection should fallback - #238

1.0.0-beta.12
====

 * Upgrade `url-parse` to 1.0.0 to fix #218 again

1.0.0-beta.10
====

 * Upgrade `url-parse` to 0.2.3 to fix #222

1.0.0-beta.9
====

 * Upgrade `url-parse` to 0.2.1 to fix 'too much recursion' errors

1.0.0-beta.8
====

 * Upgrade `url-parse` to 0.2.0 to fix inheritance issues

1.0.0-beta.7
====

 * Upgrade `url-parse` to 0.1.5 to fix #218
 * Don't strip basic auth from url - #219

1.0.0-beta.6
====

 * Upgrade `url-parse` to 0.1.3 to avoid CSP issues

1.0.0-beta.5
=====

 * Upgrade `url-parse` to 0.1.1 to fix #214

1.0.0-beta.4
=====

 * Upgrade `url-parse` to 0.1.0 and `sockjs` to 0.3.11
 * Update .npmignore

1.0.0-beta.3
=====

 * Move `debug` from devDependencies to dependencies

1.0.0-beta.2
=====

 * Relax requirements when using same origin XHR - #80
 * Upgrade to JSON3 from JSON2 - #123
 * Package library with browserify supporting the UMD pattern - #184
 * Move tests to JavaScript
 * Add Gulp.js build script
 * Fix getOrigin for file:/// urls and standard ports - #173
 * Add onerror event handlers to Websockets - #169
 * Increase RTO lower bound to prevent spurious timeouts on IE8/9 - #161
 * Use window.crypto for random values when available - #128
 * Fix handling of listeners added and removed mid-dispatch - #127
 * Fix XHR Streaming for IE8 - #83
 * Remove explicit AMD name - #107
 * Check for an empty response from /info request - #143
 * Add Content-Type to XHR requests to fix issue over HTTPS on Galaxy S4 - #164
 * Fix iframe fallback when message is sent from a popup in IE7/8 - #166
 * Add support for query strings on the url - #72
 * Now works inside of Web Workers - #181
 * Support EventSource / Server Sent Events outside of iframes - #201
 * Rename protocols to transports - #65
 * Allow transports which need the body to trigger on 'interactive' readyState - #175
 * try/catch access to document.domain - #187
 * Use `window.location` instead of `document.location` - #195
 * Allow usage from node.js with same API

0.3.4
=====

 * Mentioned njoyce's fork of sockjs-gevent.
 * #90 - Don't catch onbeforeunload event - it breaks javascript://
   links in IE.
 * IE mangles 204 response code for 1223 on ajax, see:
   http://bugs.jquery.com/ticket/1450
 * Make `new` optional for SockJS constructor (via substack).
 * It is impossible to cancel JSONP polling request - compensate for that.
 * Refactored EventEmitter prototype (used only internally)
 * #66 - Failure to post data to /xhr_send should kill the session


0.3.2
=====

 * #77 - Getting /info on modern browsers when html is served from
         file:// urls was broken.

0.3.1
=====

 * #61 - Meteor guys found that we unintentionally catch "onopen" errors.
 * #63 - Meteorjs guys found that xhr-streaming on Safari sometimes
   left busy cursor running.
 * Increased allowed time for websocket transport (from 1 rtt to 2),
   this should make ws transport more reliable over SSL, at the cost
   of slightly longer connection time for users with blocked ws.
 * #57 - previous fix didn't really work, sockjs-client still left
   a mess in browsers history when using iframe transports. This
   is fixed now.
 * #60 - Opera 12 (next) claims to do AJAX2 / CORS, but can't
   do xhr-streaming.
 * #58 - onunload test sometimes failed on Safari on windows
 * Updated readme WRT websocket protocols
 * Updated readme WRT deployments on heroku
 * Add minimalistic license block to every source file.


0.3.0
=====

 * Temporarily disabled iframe tests - they are failing unpredictably.
 * #57 - pointing an iframe to "about:blank" during cleanup caused
   Opera to messup history.
 * #55 - Improved iframe abstraction (reduced a possible mem leak)
 * Refactored AJAX abstractions, for better CORS handing - again.
 * Add additional parent origin security check to an iframe.
 * Urls with hashes or query strings can't be passed to SockJS.
 * #18 - Mention workaround for Firefox ESC key issue
 * #53 - AMD compliance
 * sockjs/sockjs-protocol#28 - always use square brackets for
   websocket frames
 * #51 - initial support for IE10 - try XHR before XDR
 * #28 - handle onunload / onbeforeunload in a more robust fashion
 * #49 - support SockJS-client being used from files served from
   file:// urls.


0.2.1
=====

 * "smoke-latency.html" test was unnecesairly sending too much data.
 * Bumped core dependencies (coffee-script and uglify-js)
 * Minor updates to the README, few cosmetic changes in the code.


0.2.0
=====

 * The API had changed - use `protocols_whitelist` option instead of
   passing  an array of protocols as a second argument to SockJS constructor.
 * Dropped 'chunking-test' functionality and replace it with 'info'.
 * Rewritten protocol-choosing alogirthm, see "utils.detectProtocols" method.
 * Use dynamic protocol timeouts based on RTT, not hardcoded 5 seconds
 * #34 - Don't ever reuse `session_id`, especially when trying
   fallback protocols.
 * The test server got moved from SockJS-client to SockJS-node.
 * Don't test unicode surrogates - it can't work in some environments.
 * XHR/XDR helpers were rewritten, ajax transports were simplified.
 * Added a domain check in the iframe to improve security.
 * SockJS will now trigger 1002 error if there is a problem during handshake
   instead of 2000 error.
 * Smoke-throughput test is renamed to smoke-latency.

0.1.2
=====

 * #29 - Allow all unicode characters to be send over SockJS.
 * #15 - SockJS should now work fine even if the connection is started
   in HEAD, before BODY is loaded.
 * #28 - In rare circumstances WebSocket connection can be left intact
   after the page is unloaded in FireFox.
 * Updated scripts to work with Node 0.6.
 * Initial work to do better QUnit testing.
 * Updated the minifying script (always escape unicode chars, remove
   trailing comment).
 * Use string instead of array of chars (utils.js:random_number_string).


0.1.1
=====

 * #21 Get JsonP transport working on IE9 (Vladimir Dronnikov).
 * #26 Emit heartbeat event.
 * #27 Include license inline.


0.1.0
=====

 * SockJS-client can only send UTF-8 encodable strings.  Previously we
   took advantage of rich data structures and automatically
   json-encoded them, but this got removed.  Now, all data passed to
   `send` will be converted to string. This is also how native
 * `status` property on `EventClose` is renamed to `code`
   as per Websocket API
   WebSockets behave.
 * The test server was updated to new `sockjs-node` API
 * Fixed problem with Jsonp-polling transport on IE9
 * Repository was moved - updated links.


0.0.4
=====

 * All transports were refactored, some transports were introduced:
   htmlfile and separate xhr-streaming.
 * Added logic to detect support for http chunking, and thus a
   possibility to rule out streaming transports before running them.
 * Added 'cookie' option, useful for cookie-based load balancing
   (currently, it make a difference only for IE).
 * Added hack to prevent EventSource from crashing Safari and Chrome.
 * Loads and loads of other small and medium changes.


0.0.2
=====

 * Initial support for JSESSIONID based load balancing. Currently
   doesn't play nicely with IE XDomainRequest transport.


0.0.1
=====

 * Initial release.