January 2020 Release Notes
Released on January 9th, 2020 which corresponds to version
1.15.0 for the v1.0 stream of our SDKs and version
2.0.0-preview.1 for the v2.0 stream of our SDKs.
In this release, we’re shipping improvements to our Application Cache, upgrading to Node.js 10, addressing several component bugs, and cleaning up the libraries in our Version 2.0 release candidate, in anticipation of the upcoming Version 2.0 release of our SDK.
As a reminder, in November we announced that we’re preparing for a Version 2.0 release to support Node.js server-side rendering. To ease the transition, we’ll be releasing two versions: Version 1, and a Version 2.0 release candidate,
2.0.0-preview. As a release candidate, developers can expect the code to frequently change with continued iteration, and can also expect breaking changes to occur.
For full detail of the version 2.0 release plan, check out our announcement in our November 2019 release notes.
Application Cache: rendering HTML for different device types
Now, you can validate that the cached content behaves as expected for each device type while developing locally.
To test the cached content for a given device, append the query string
mobify_devicetype to the URL and set it as
tablet. For example, to test the cached content for
www.example.com on mobile, you’d set the URL to
PWA (Progressive Web App) SDK
Removing obsolete libraries (Version 2.0 release candidate only)
The transition to our next major SDK version gives us an opportunity remove obsolete and unused APIs, libraries, and utilities that were previously used to maintain backwards compatibility for our Version 1 release stream. That includes removing the following:
- Analytics Manager: Analytics Manager is replaced by the Analytics Integrations library.
- Integration Manager: Integration Manager is replaced by the Commerce Integrations library.
- iFrame Bridge: The iFrame bridge is incompatible with the latest version of the Mobify Platform and, as it does not meet Mobify’s performance standards, it will not be used in Version 2.0
- Mobify’s CLI: the Mobify CLI is challenging to work with in its current form, and as it isn’t being heavily used, we’ve decided to remove it in Version 2.0.
- Mobify Test Framework: Mobify’s Test Framework was developed to simplify automated Lighthouse and Nightwatch testing on the Mobify Platform. The value of the framework has reduced over time, so we’ve decided to remove it from Version 2.0.
- Redux actions/reducers/selectors: The intention with this removal is to decouple the PWA SDK from Redux.
- Non-PWA Features: Prior to the Mobify Platform officially supporting desktop screens, there were several components and utilities created specifically for desktop screens which we labelled as
non-PWA. Now that the Mobify Platform supports desktop screens, we’ve opted to remove these obsolete components and utilities.
- React Router customizations: Previously, there were React Router customizations living directly in the SDK which meant that we weren’t be able to change React Router versions without making breaking changes. Removing these customizations enables the move to the latest version of React Router.
Node.js 10 Upgrade
In November, we enabled support for Node.js 10, and warned that Node.js 8 would no longer be supported in 2020 to prevent unpredictable behavior and ensure security.
Bundles deployed to a target now default to run on Node.js 10.
Note: After January 31st, bundles configured to run on Node.js 8 will not be supported and will result in an error when published.
We recommend Mobify customers and their partners upgrade their version of Node.js to 10.17.0. To upgrade, follow our Node.js Upgrade Guide.
- Resolved an issue with the Accordion component, where the component was always closed by default.
- Resolved an issue with the DangerousHTML component, which was not applying custom classes being passed to the component.
- Resolved an issue in which rendering HTML for different device types (such as mobile or tablet) during local development was failing. Instead of being served HTML for mobile or tablet, developers were only being served Desktop markup.