diff --git a/CHANGELOG.md b/CHANGELOG.md index 3233caae9f..299ca9f784 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,12 +3,12 @@ This contains only the most important and/or user-facing changes; for a full changelog, see the commit history. -## [1.0.22](https://github.com/ably/ably-js/tree/1.0.20) (2019-01-21) +## [1.0.23](https://github.com/ably/ably-js/tree/1.0.23) (2019-01-21) - Only make a single token request at a time - Fix crash with react-native on some Android versions when making REST requests - Tweak fallback host logic for connected realtime clients making REST requests -## [1.0.21](https://github.com/ably/ably-js/tree/1.0.20) (2019-01-07) +## [1.0.21](https://github.com/ably/ably-js/tree/1.0.21) (2019-01-07) - Reinstate 'stop clientId forcing token auth' change (https://github.com/ably/ably-js/issues/542) - Prioritise a tokenParam over an authParam of the same name - Fix behaviour with multiple concurrent pings in-flight diff --git a/README.md b/README.md index e001b3ba5a..8d3304250b 100644 --- a/README.md +++ b/README.md @@ -25,9 +25,9 @@ However, we aim to be compatible with a much wider set of platforms and browsers Ably-js has fallback mechanisms in order to be able to support older browsers; specifically it supports comet-based connections for browsers that do not support websockets, and this includes JSONP for browsers that do not support cross-origin XHR. Each of these fallback transport mechanisms is supported and tested on all the browsers we test against, even when those browsers do not themselves require those fallbacks. These mean that the library should be compatible with nearly any browser on most platforms. Any known browser incompatibilities can be found [here](https://github.com/ably/ably-js/issues?q=is%3Aissue+is%3Aopen+label%3A%22compatibility%22). -#### Version: 1.0.22 +#### Version: 1.0.23 -The latest stable version of the Ably Javascript client library is version: 1.0.22 . +The latest stable version of the Ably Javascript client library is version: 1.0.23 . For complete API documentation, see the [Ably documentation](https://www.ably.io/documentation). diff --git a/bower.json b/bower.json index 85ea506d69..86e89d6ab6 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "Ably", - "version": "1.0.22", + "version": "1.0.23", "homepage": "https://www.ably.io/", "authors": [ "Paddy Byers ", diff --git a/browser/fragments/license.js b/browser/fragments/license.js index 53495b93e2..addd9312cd 100644 --- a/browser/fragments/license.js +++ b/browser/fragments/license.js @@ -1,7 +1,7 @@ /** * @license Copyright 2019, Ably * - * Ably JavaScript Library v1.0.22 + * Ably JavaScript Library v1.0.23 * https://github.com/ably/ably-js * * Ably Realtime Messaging diff --git a/browser/static/ably-commonjs.js b/browser/static/ably-commonjs.js index 4dd5e78640..54b9ad08ce 100644 --- a/browser/static/ably-commonjs.js +++ b/browser/static/ably-commonjs.js @@ -1,7 +1,7 @@ /** * @license Copyright 2019, Ably * - * Ably JavaScript Library v1.0.22 + * Ably JavaScript Library v1.0.23 * https://github.com/ably/ably-js * * Ably Realtime Messaging @@ -4114,7 +4114,7 @@ Defaults.TIMEOUTS = { Defaults.httpMaxRetryCount = 3; Defaults.maxMessageSize = 65536; -Defaults.version = '1.0.22'; +Defaults.version = '1.0.23'; Defaults.libstring = Platform.libver + Defaults.version; Defaults.apiVersion = '1.0'; diff --git a/browser/static/ably-commonjs.noencryption.js b/browser/static/ably-commonjs.noencryption.js index 5d5b721f90..56691439a5 100644 --- a/browser/static/ably-commonjs.noencryption.js +++ b/browser/static/ably-commonjs.noencryption.js @@ -1,7 +1,7 @@ /** * @license Copyright 2019, Ably * - * Ably JavaScript Library v1.0.22 + * Ably JavaScript Library v1.0.23 * https://github.com/ably/ably-js * * Ably Realtime Messaging @@ -2682,7 +2682,7 @@ Defaults.TIMEOUTS = { Defaults.httpMaxRetryCount = 3; Defaults.maxMessageSize = 65536; -Defaults.version = '1.0.22'; +Defaults.version = '1.0.23'; Defaults.libstring = Platform.libver + Defaults.version; Defaults.apiVersion = '1.0'; diff --git a/browser/static/ably-nativescript.js b/browser/static/ably-nativescript.js index efb740b06c..8ed7f72d49 100644 --- a/browser/static/ably-nativescript.js +++ b/browser/static/ably-nativescript.js @@ -1,7 +1,7 @@ /** * @license Copyright 2019, Ably * - * Ably JavaScript Library v1.0.22 + * Ably JavaScript Library v1.0.23 * https://github.com/ably/ably-js * * Ably Realtime Messaging @@ -4046,7 +4046,7 @@ Defaults.TIMEOUTS = { Defaults.httpMaxRetryCount = 3; Defaults.maxMessageSize = 65536; -Defaults.version = '1.0.22'; +Defaults.version = '1.0.23'; Defaults.libstring = Platform.libver + Defaults.version; Defaults.apiVersion = '1.0'; diff --git a/browser/static/ably-reactnative.js b/browser/static/ably-reactnative.js index a493cc64c4..08a235ea18 100644 --- a/browser/static/ably-reactnative.js +++ b/browser/static/ably-reactnative.js @@ -1,7 +1,7 @@ /** * @license Copyright 2019, Ably * - * Ably JavaScript Library v1.0.22 + * Ably JavaScript Library v1.0.23 * https://github.com/ably/ably-js * * Ably Realtime Messaging @@ -4075,7 +4075,7 @@ Defaults.TIMEOUTS = { Defaults.httpMaxRetryCount = 3; Defaults.maxMessageSize = 65536; -Defaults.version = '1.0.22'; +Defaults.version = '1.0.23'; Defaults.libstring = Platform.libver + Defaults.version; Defaults.apiVersion = '1.0'; diff --git a/browser/static/ably.js b/browser/static/ably.js index 4fe7b0a42d..1734388a4a 100644 --- a/browser/static/ably.js +++ b/browser/static/ably.js @@ -1,7 +1,7 @@ /** * @license Copyright 2019, Ably * - * Ably JavaScript Library v1.0.22 + * Ably JavaScript Library v1.0.23 * https://github.com/ably/ably-js * * Ably Realtime Messaging @@ -4125,7 +4125,7 @@ Defaults.TIMEOUTS = { Defaults.httpMaxRetryCount = 3; Defaults.maxMessageSize = 65536; -Defaults.version = '1.0.22'; +Defaults.version = '1.0.23'; Defaults.libstring = Platform.libver + Defaults.version; Defaults.apiVersion = '1.0'; diff --git a/browser/static/ably.min.js b/browser/static/ably.min.js index 0183eadea9..3becaefaac 100644 --- a/browser/static/ably.min.js +++ b/browser/static/ably.min.js @@ -1,7 +1,7 @@ /* Copyright 2019, Ably - Ably JavaScript Library v1.0.22 + Ably JavaScript Library v1.0.23 https://github.com/ably/ably-js Ably Realtime Messaging @@ -81,7 +81,7 @@ return this};c.prototype.toString=function(){return this.buffer.join("")};var a= a.current;if(128>f)d.append(String.fromCharCode(f));else if(191f){a.moveNext();var e=a.current;d.append(String.fromCharCode((f&31)<<6|e&63))}else a.moveNext(),e=a.current,a.moveNext(),d.append(String.fromCharCode((f&15)<<12|(e&63)<<6|a.current&63))}return d.toString()}};l.prototype={current:Number.NaN,moveNext:function(){if(0=this._input.length-1)return this.current=Number.NaN,!1;var a=this._input.charCodeAt(++this._index); 13==a&&10==this._input.charCodeAt(this._index+1)&&(a=10,this._index+=2);128>a?this.current=a:(127a?this.current=a>>6|192:(this.current=a>>12|224,this._buffer.push(a>>6&63|128)),this._buffer.push(a&63|128));return!0}};b.prototype={current:64,moveNext:function(){if(0=this._input.length-1)return this.current=64,!1;var b=a.codex.indexOf(this._input.charAt(++this._index)),c=a.codex.indexOf(this._input.charAt(++this._index)), f=a.codex.indexOf(this._input.charAt(++this._index)),e=a.codex.indexOf(this._input.charAt(++this._index)),m=(f&3)<<6|e;this.current=b<<2|c>>4;64!=f&&this._buffer.push((c&15)<<4|f>>2);64!=e&&this._buffer.push(m);return!0}};return a}();r.ENVIRONMENT="";r.REST_HOST="rest.ably.io";r.REALTIME_HOST="realtime.ably.io";r.FALLBACK_HOSTS=["A.ably-realtime.com","B.ably-realtime.com","C.ably-realtime.com","D.ably-realtime.com","E.ably-realtime.com"];r.PORT=80;r.TLS_PORT=443;r.TIMEOUTS={disconnectedRetryTimeout:15E3, -suspendedRetryTimeout:3E4,httpRequestTimeout:15E3,channelRetryTimeout:15E3,connectionStateTtl:12E4,realtimeRequestTimeout:1E4,recvTimeout:9E4,preferenceConnectTimeout:6E3,parallelUpgradeDelay:6E3};r.httpMaxRetryCount=3;r.maxMessageSize=65536;r.version="1.0.22";r.libstring=x.libver+r.version;r.apiVersion="1.0";r.getHost=function(c,l,b){return l=b?l==c.restHost&&c.realtimeHost||l||c.realtimeHost:l||c.restHost};r.getPort=function(c,l){return l||c.tls?c.tlsPort:c.port};r.getHttpScheme=function(c){return c.tls? +suspendedRetryTimeout:3E4,httpRequestTimeout:15E3,channelRetryTimeout:15E3,connectionStateTtl:12E4,realtimeRequestTimeout:1E4,recvTimeout:9E4,preferenceConnectTimeout:6E3,parallelUpgradeDelay:6E3};r.httpMaxRetryCount=3;r.maxMessageSize=65536;r.version="1.0.23";r.libstring=x.libver+r.version;r.apiVersion="1.0";r.getHost=function(c,l,b){return l=b?l==c.restHost&&c.realtimeHost||l||c.realtimeHost:l||c.restHost};r.getPort=function(c,l){return l||c.tls?c.tlsPort:c.port};r.getHttpScheme=function(c){return c.tls? "https://":"http://"};r.getFallbackHosts=function(c){var e=c.fallbackHosts;c="undefined"!==typeof c.httpMaxRetryCount?c.httpMaxRetryCount:r.httpMaxRetryCount;return e?k.arrChooseN(e,c):[]};r.getHosts=function(c){return[c.restHost].concat(r.getFallbackHosts(c))};r.normaliseOptions=function(e){e.host&&(c.deprecated("host","restHost"),e.restHost=e.host);e.wsHost&&(c.deprecated("wsHost","realtimeHost"),e.realtimeHost=e.wsHost);e.queueEvents&&(c.deprecated("queueEvents","queueMessages"),e.queueMessages= e.queueEvents);!0===e.recover&&(c.deprecated("{recover: true}","{recover: function(lastConnectionDetails, cb) { cb(true); }}"),e.recover=function(a,b){b(!0)});"function"===typeof e.recover&&!0===e.closeOnUnload&&(c.logAction(c.LOG_ERROR,"Defaults.normaliseOptions","closeOnUnload was true and a session recovery function was set - these are mutually exclusive, so unsetting the latter"),e.recover=null);"closeOnUnload"in e||(e.closeOnUnload=!e.recover);e.transports&&k.arrIn(e.transports,"xhr")&&(c.deprecated('transports: ["xhr"]', 'transports: ["xhr_streaming"]'),k.arrDeleteValue(e.transports,"xhr"),e.transports.push("xhr_streaming"));"queueMessages"in e||(e.queueMessages=!0);var l=!1;if(e.restHost)e.realtimeHost=e.realtimeHost||e.restHost;else{var b=e.environment&&String(e.environment).toLowerCase()||r.ENVIRONMENT;l=!b||"production"===b;e.restHost=l?r.REST_HOST:b+"-"+r.REST_HOST;e.realtimeHost=l?r.REALTIME_HOST:b+"-"+r.REALTIME_HOST}e.fallbackHosts=l||e.fallbackHostsUseDefault?r.FALLBACK_HOSTS:e.fallbackHosts;k.arrForEach((e.fallbackHosts|| diff --git a/browser/static/ably.noencryption.js b/browser/static/ably.noencryption.js index 9f0abb6212..a36a807efe 100644 --- a/browser/static/ably.noencryption.js +++ b/browser/static/ably.noencryption.js @@ -1,7 +1,7 @@ /** * @license Copyright 2019, Ably * - * Ably JavaScript Library v1.0.22 + * Ably JavaScript Library v1.0.23 * https://github.com/ably/ably-js * * Ably Realtime Messaging @@ -2693,7 +2693,7 @@ Defaults.TIMEOUTS = { Defaults.httpMaxRetryCount = 3; Defaults.maxMessageSize = 65536; -Defaults.version = '1.0.22'; +Defaults.version = '1.0.23'; Defaults.libstring = Platform.libver + Defaults.version; Defaults.apiVersion = '1.0'; diff --git a/browser/static/ably.noencryption.min.js b/browser/static/ably.noencryption.min.js index 77fbd213cd..aa69dd272e 100644 --- a/browser/static/ably.noencryption.min.js +++ b/browser/static/ably.noencryption.min.js @@ -1,7 +1,7 @@ /* Copyright 2019, Ably - Ably JavaScript Library v1.0.22 + Ably JavaScript Library v1.0.23 https://github.com/ably/ably-js Ably Realtime Messaging @@ -60,7 +60,7 @@ c,g,l,null,n||a)};d.post=function(e,p,g,l,n,h){h=h||a;var f="function"==typeof p g.charAt(l)+g.charAt(u)+g.charAt(x))}return e.toString()},decode:function(a){var e=new d;for(a=new b(a);a.moveNext();){var g=a.current;if(128>g)e.append(String.fromCharCode(g));else if(191g){a.moveNext();var c=a.current;e.append(String.fromCharCode((g&31)<<6|c&63))}else a.moveNext(),c=a.current,a.moveNext(),e.append(String.fromCharCode((g&15)<<12|(c&63)<<6|a.current&63))}return e.toString()}};c.prototype={current:Number.NaN,moveNext:function(){if(0=this._input.length-1)return this.current=Number.NaN,!1;var a=this._input.charCodeAt(++this._index);13==a&&10==this._input.charCodeAt(this._index+1)&&(a=10,this._index+=2);128>a?this.current=a:(127a?this.current=a>>6|192:(this.current=a>>12|224,this._buffer.push(a>>6&63|128)),this._buffer.push(a&63|128));return!0}};b.prototype={current:64,moveNext:function(){if(0=this._input.length- 1)return this.current=64,!1;var b=a.codex.indexOf(this._input.charAt(++this._index)),d=a.codex.indexOf(this._input.charAt(++this._index)),g=a.codex.indexOf(this._input.charAt(++this._index)),c=a.codex.indexOf(this._input.charAt(++this._index)),n=(g&3)<<6|c;this.current=b<<2|d>>4;64!=g&&this._buffer.push((d&15)<<4|g>>2);64!=c&&this._buffer.push(n);return!0}};return a}();r.ENVIRONMENT="";r.REST_HOST="rest.ably.io";r.REALTIME_HOST="realtime.ably.io";r.FALLBACK_HOSTS=["A.ably-realtime.com","B.ably-realtime.com", -"C.ably-realtime.com","D.ably-realtime.com","E.ably-realtime.com"];r.PORT=80;r.TLS_PORT=443;r.TIMEOUTS={disconnectedRetryTimeout:15E3,suspendedRetryTimeout:3E4,httpRequestTimeout:15E3,channelRetryTimeout:15E3,connectionStateTtl:12E4,realtimeRequestTimeout:1E4,recvTimeout:9E4,preferenceConnectTimeout:6E3,parallelUpgradeDelay:6E3};r.httpMaxRetryCount=3;r.maxMessageSize=65536;r.version="1.0.22";r.libstring=v.libver+r.version;r.apiVersion="1.0";r.getHost=function(d,c,b){return c=b?c==d.restHost&&d.realtimeHost|| +"C.ably-realtime.com","D.ably-realtime.com","E.ably-realtime.com"];r.PORT=80;r.TLS_PORT=443;r.TIMEOUTS={disconnectedRetryTimeout:15E3,suspendedRetryTimeout:3E4,httpRequestTimeout:15E3,channelRetryTimeout:15E3,connectionStateTtl:12E4,realtimeRequestTimeout:1E4,recvTimeout:9E4,preferenceConnectTimeout:6E3,parallelUpgradeDelay:6E3};r.httpMaxRetryCount=3;r.maxMessageSize=65536;r.version="1.0.23";r.libstring=v.libver+r.version;r.apiVersion="1.0";r.getHost=function(d,c,b){return c=b?c==d.restHost&&d.realtimeHost|| c||d.realtimeHost:c||d.restHost};r.getPort=function(d,c){return c||d.tls?d.tlsPort:d.port};r.getHttpScheme=function(d){return d.tls?"https://":"http://"};r.getFallbackHosts=function(d){var c=d.fallbackHosts;d="undefined"!==typeof d.httpMaxRetryCount?d.httpMaxRetryCount:r.httpMaxRetryCount;return c?k.arrChooseN(c,d):[]};r.getHosts=function(d){return[d.restHost].concat(r.getFallbackHosts(d))};r.normaliseOptions=function(d){d.host&&(c.deprecated("host","restHost"),d.restHost=d.host);d.wsHost&&(c.deprecated("wsHost", "realtimeHost"),d.realtimeHost=d.wsHost);d.queueEvents&&(c.deprecated("queueEvents","queueMessages"),d.queueMessages=d.queueEvents);!0===d.recover&&(c.deprecated("{recover: true}","{recover: function(lastConnectionDetails, cb) { cb(true); }}"),d.recover=function(a,b){b(!0)});"function"===typeof d.recover&&!0===d.closeOnUnload&&(c.logAction(c.LOG_ERROR,"Defaults.normaliseOptions","closeOnUnload was true and a session recovery function was set - these are mutually exclusive, so unsetting the latter"), d.recover=null);"closeOnUnload"in d||(d.closeOnUnload=!d.recover);d.transports&&k.arrIn(d.transports,"xhr")&&(c.deprecated('transports: ["xhr"]','transports: ["xhr_streaming"]'),k.arrDeleteValue(d.transports,"xhr"),d.transports.push("xhr_streaming"));"queueMessages"in d||(d.queueMessages=!0);var m=!1;if(d.restHost)d.realtimeHost=d.realtimeHost||d.restHost;else{var b=d.environment&&String(d.environment).toLowerCase()||r.ENVIRONMENT;m=!b||"production"===b;d.restHost=m?r.REST_HOST:b+"-"+r.REST_HOST; diff --git a/common/lib/util/defaults.js b/common/lib/util/defaults.js index d2ec5900b7..438be4fab5 100644 --- a/common/lib/util/defaults.js +++ b/common/lib/util/defaults.js @@ -20,7 +20,7 @@ Defaults.TIMEOUTS = { Defaults.httpMaxRetryCount = 3; Defaults.maxMessageSize = 65536; -Defaults.version = '1.0.22'; +Defaults.version = '1.0.23'; Defaults.libstring = Platform.libver + Defaults.version; Defaults.apiVersion = '1.0'; diff --git a/package.json b/package.json index 16e8d81ec8..5709b56d8c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ably", "description": "Realtime client library for Ably.io, the realtime messaging service", - "version": "1.0.22", + "version": "1.0.23", "main": "./nodejs/index.js", "typings": "./browser/static/ably.d.ts", "react-native": {