Releases: EchoAppsTeam/js-sdk
Releases · EchoAppsTeam/js-sdk
v3.0.29 - January 22, 2015
- We updated parameter normalization logic used in the "substitute" method of Echo.Utils and Echo.Control classes to prevent output HTML string from corruption.
- We introduced new "onDataReceive" event for Echo.Canvas class. It allows to access Canvas data received from the storage before Project rendering.
- The logic that handles parameters normalization before executing API call was updated to be more fault-tolerant in IE9 browser.
v3.0.28 - December 29, 2014
- We updated Echo Loader library which is responsible for dependency management and resource loading across all Echo JS SDK based applications and components. Sometimes third-party JavaScript software interfered with Echo Loader by appending inappropriate tags to a page head element. Yepnope library used under the hood of Echo Loader was patched to handle such situations.
- We also updated Echo Loader library to use only http and https protocols while loading dependencies. It allows to embed Echo applications inside native mobile apps.
- We made a few updates to application rendering mechanics to prevent XSS vectors to be executed by using malicious application data.
- The “appsInit” config parameter was introduced in the Echo.Canvas class. It helps to specify the way how to bootstrap applications inside a canvas: either synchronously one-by-one or simultaneously (asynchronously). Sync mode is intended to provide better user experience for the applications with long initialization time while async mode should take less overall time for a canvas to be ready.
- The “appInitTimeout” config parameter is now available for customization. It constrains the timeframe of an application startup procedure within the apps bootstrapping queue. After this period is expired the app is considered to be ready despite its actual state and the next app in the queue is being provisioned. The default value is 5 seconds for each application. With the help of “appInitTimeout” we protect users from the heavy canvases containing several apps being stuck. Note: this parameter works only for JS SDK based applications.
- The canvas rendering ideology was greatly altered. Previously canvas was rendered after each application finished its initialization correctly. The negative side effect of such approach was that the canvas would freeze if any of the apps did not startup for some reason. Now a canvas is considered to be an independent apps container and is rendered before any application bootstrap procedure is executed. This change helps to provide better user experience.
v3.0.27 - October 8, 2014
- We have added a new method called “updateLayout” to the Echo.Canvas
class. This method allows to perform granular layout updates, i.e.
update apps that were changed. The rest of apps remains untouched. This
function allows us to increase the performance of layout update
operation.
v3.0.26 - September 18, 2014
- Echo.Canvas can now arrange apps in columns/rows to display apps using
custom layout generated by Echo Experience Studio. - Echo.Utils.stripTags function was re-written to prevent certain types
of XSS attacks. Furthermore new version of this function works way faster.
v3.0.25 - August 28, 2014
- This release fixes an issue with inaccurate WebSocket connections handling which could lead to unwanted appearance of live updates for one application in other applications on the same page.
v3.0.24 - August 22, 2014
- Switched from recursive app initialization to promise-based mechanism instead.
v3.0.23 - August 11, 2014
- We simplified "under-the-hood" mechanics for Janrain auth.
- Some deprecated documentaion was removed.
v3.0.22 - July 28, 2014
- We added new Echo.Utils.sanitize method that allows to apply different sanitization rules to a passed content string depending of the type of content. These rules modify string to prevent various types of XSS attacks. This function was applied in a few places to strengthen app security.
v3.0.21 - June 25, 2014
- Stream control was updated to avoid memory leaks in certain situations when Stream Item instance is irrelevant (for example if an item doesn’t match a rendering criteria on the client side).
- Echo.API base class was fixed to always use XDomainRequest object in IE 8 and 9 for AJAX CORS requests.
- Previously when empty Canvas config was delivered to a client side, we put debug information into browser console and left “Loading...” message on a screen. To avoid any confusion, the “Loading...” message is now removed if Canvas config contains no apps.
v3.0.20 - June 4, 2014
- Canvas config retrieval process was improved by adding retry logic. Now if a request fails, we make 2 more retries to fetch Canvas config again.
- We’ve updated jQuery (to v1.11.1) and QUnit (to v1.14.0) 3rd party libraries we use in JS SDK to their respective latest versions.
- Conflict with multiple Bootstrap libraries included on a page was resolved.
- Echo.Utils.debounce function was introduced to provide a unified way to suppress massive execution of the same function (for example when we subscribe to “onscroll” DOM event).
- Function which detects if a Canvas target is in a viewport (if a Canvas is initialized when entering a viewport) was improved to reduce viewport visibility calculation operations.
- JanrainAuth plugin was updated to preserve HTTPS protocol during the login operation. Previously in some cases the protocol was switched from HTTPS to HTTP causing security warnings in a browser.
- InfiniteScroll plugin logic was updated to respect asynchronous method of Items rendering in a Stream.
- Previously WebSockets "onClose" event was executed before a connection was closed and all internal fields were cleared. We’ve updated events execution order to make sure that the sequence is correct.
- WebSockets machinery was updated to handle connection closing logic, when a connection is dropped outside of the SDK logic (for example in case a connection is dropped by the server side or by a browser).
- Submit "destroy" method was fixed to avoid Post button corruption.