- DATE:
- AUTHOR:
- Product Team
Runtime 5.0.1
Stable is here
We are excited to announce that stable Runtime version 5.0.0 has been released.
In addition to migrating the entire code-base TypeScript, almost the entire framework has been refactored. V5 is offering improved stability, more modularity and better performance. We've replaced legacy technologies such as AngularJS and Ionic with our own more performant counterparts.
With this new framework, it opens the door for us to make much of the Runtime, including its APIs and components, completely pluggable. In the near future, developers will be able to add additional modules or even discard ones they don't need to shape their apps according to their needs, without lugging around any additional unused features.
See the Upgrading to V5 section near the bottom of the message to learn how to switch to V5.
5.0.1
Components
<object-tables/>Fixed sticky headers and footers being rendered over other components, especially dialogs.
<dialog/>,<columns/>Fixed issue where using
<columns/>inside a<dialog/>would prevent the user from scrolling.
<multiple-choice-checklist/>Fixed the
requiredattribute being ignored during validation.
<toggle/>Setting the
requiredattribute totrueon a<toggle/>component will require it to be set to true/enabled/on in order to pass validation.
<display-*/>,<capture-*/>Fixed a minor memory leak in media components.
<menu/>Fixed legacy
<menu/>component'son-pressnot being executed.
<list/>The
<list/>component now has similar state management functionality as the<object-table/>component.init-stateandon-state-changeattributes can now be used to set the initial state of the component and catch any updates.The
component.list().setState({ page, limit, search, selectedItem })API can be used to change the state during the runtime.See our latest documentation entry for
<list/>to learn more.
API
journey.dialog.input()Input dialogs created via the API will now correctly validate entered data according to the specified type (e.g.
emailortel)
Engine
Optimized bundling of the Runtime which causes significant reduction in package size and memory footprint. This change should prevent many of the Out Of Memory errors experienced on iOS devices and older Android devices.
Upgrading to V5
Upgrading from V4 to V5 should be a minimally disruptive exercise.
From an app user's perspective the update will be downloaded and installed as with any Runtime update, with the consequence of a faster app experience and a slightly different UI for some components and views.
From the developer's perspective, upgrading to V5 requires a couple of minor changes and configurations.
These change are:
Selecting the latest Runtime version. Executing the
Runtime versionaction from the command pallet is the quickest way.(For TypeScript Apps) Upgrading the
runtime-buildpackage to3.0.5(See this doc for more details).Replacing deprecated attributes if they haven't already (Please see the blog post for a list of removed attributes).
Deploy... That's it!
For a full outline of what you can expect from upgrading to V5, see our blog post
Questions/Feedback
We're always interested in hearing from you so please feel free to reach out to us on our Discord server for help, feedback, bug reports and the latest release announcements.