Mobile builds saw a number of improvements that now allow apps to be submitted to Apple (for iOS) and Google Play (for Android) app stores. PWA apps were also improved and are now installable on Android and iOS devices. Further improvements to mobile apps will appear (and have already been merged) in the 0.9.6 development cycle.
Stored calculated fields can now be based on aggregations. When creating a stored calculated field you choose between an aggregation or a JavaScript expression as the field definition (if you have built predictive models then a model prediction is also a possibility). An example of this is a project management application where for every project you want to sum up the number of hours or the budget spent on subtasks for each project. Having aggregated calculated field so opens up a number of possibilities, including using an aggregation in the title of a button. In this release (0.9.5) calculated aggregation fields had to be manually recalculated when changing the target table; however in the more recent release (0.9.6-beta.0) this is now done automatically.
List views can now be sorted by join field and aggregation columns. In the feed view pattern it is now possible to lazy load the individual views when using an accordion view decoration. This greatly speeds up the transfer of large feet to the browser.
Automated backups are now available to SFTP server destinations. On the root tenant it is also possible to configure that all sub-tenants should also be backed up automatically.
Menus can now be nested to an additional level so you can have sub menus to sub menus. This is however currently only supported by some themes.
The any-bootstrap-theme now supports user switchable dark mode and configurable theme colors.
Under development settings, it is now possible to add and edit code pages that contain constants and functions that are accessible in formulas and JavaScript code actions. This is helpful to avoid duplication of code.
We have removed the dependency on live-plugin-manager and written our own plugin system which supports plugins written in ESM modules. Previously plugins were not able to have dependencies distributed as esm modules which restricted the available dependencies for plugins.