+ Performance: Performance improvements client side
+ User Management: Improvement of premium UM
+ Bug fixes
+ Functions: REST.REQUEST()/REST.RESPOND() now called HTTP.REQUEST()/HTTP.RESPOND()
+ Import Improved: Reworked the import feature to be easier to use
+ GraphQL API Improved: Extended GraphQL API to allow better integration of external systems
+ Stream Connect Improved: Improved the reconnect logic for connections
+ Started code migration to TypeScript: Some components were migrated to TypeScript.
+ Webhooks improved: Define Webhooks in Streamsheets that can be called from external applications or services via HTTP.
+ User Roles:
Users can be assigned admin, developer and viewer roles; Admins can manage users and their roles; Admins & Developers can create, modify and delete stream machines and streams; Viewers can view but not edit stream machines.
Added Workspaces; Each user can be assigned to several Workspace as well as given a roles within these Workspaces;
+ InfluxDB Support:
Connect to influx databases and store/query data using the new functions: INFLUX.STORE() and INFLUX.SELECT()
+ InfluxDB Export:
Selcet data from an influx database and save to disk. This data can then also be downloaded as a csv file via the export button of the machine toolbar.
+ PDF Generation (basic):
Take a screenshot of the current stream machine and download it as pdf.
+ Sending of SMS:
With SMS.SEND() a streamsheet can send a notification via an SMS.
+ Chart Module Refactoring: New Chart Module.
+ Sending of emails without connector:
With EMAIL.SEND() a streamsheet can send a notification via an email (without the need to previously create an E-Mail connector).
+ Sharing machines via link:
The toolbar got a new button to share a machine with others. With this link any user can open and view, but not edit, the machine. The link can also be an expiration date.
+ Custom User Function:
+ Custom Machine Tile Images: Give your stream machines custom images to represent them in the tile view in the dashboard.
+ Unpersistent query functions: TIME.STORE(); TIME.QUERY()
This function allows you to process large messages more effectively. This is especially true if looping at at the granular key-value pair level is not an option.
+ Extendable Gateway: New plugin system to further customize the user management
+ Additional Chart Types: Improvement of premium Charts