After last month’s large release, the 2023.5 Fuuz platform release is a little quieter, but there are still some significant new features. Here are the major highlights:
The past several releases have included significant enhancements to the Fuuz IIoT platform and our Device Gateway, and this release is no different. One of the common requests we heard from IT administrators was that they wished it was easier to know when the Device Gateway needed to be updated, and to apply those updates when they were available; this month, we’re releasing a new set of features for the Device Gateway service to address those concerns!
The Device Gateway will now automatically check for updates on startup, and hourly after that; users can also manually check for updates in the settings page:

Users can then click the “Install Update” button in the notification bar that appears to install the update in place, which automatically downloads the updated gateway and restarts the application.

Users can also update the gateway from the settings page, where it will display a notice that an update is available.

The Integration team is currently working on a very similar feature for installed drivers; keep your eyes out for that one next month!
Along with this feature, we’re officially announcing our version support policy for the gateway. Fuuz will officially support Gateway versions up to three releases back from the current production version. For example, with this 2023.5 release, we will support Gateway versions 2023.2 through 2023.5, but not 2023.1 or earlier. If you’re running an unsupported version of the Gateway, you’ll see a notification in the interface notifying you that you need to update. If you’re encountering issues with a Gateway installation for an unsupported version, please update first before submitting a support ticket. Thank you!
Over the past several releases, we’ve made a series of improvements to the way relations are created between models in the schema designer. Previously, individual fields were linked together to create relations, which required a lot of fiddling and quite a few steps; now, you simply drag a link from the header of one model and drop it onto another to create a relationship.

Once two models are linked, the system will display a dialog asking you to fill out some information on the relation they want to create: the type of relation (one to one, one to many, many to many, etc.), an optional relation prefix, and whether the relation is required.

When you submit the dialog, the schema designer will automatically create the link, properly named relation and back-relation fields, and any supporting ID fields or models - no fiddling required!

In the April release notes, I highlighted a new HTTP Server driver and indicated that it was the first in a class of new “server” drivers. The May release includes the second driver in that set: a TCP Server driver! This driver operates in a very similar fashion to the HTTP Server driver, except that it exposes a lower-level TCP server; data sent to this server is relayed up to a Fuuz data flow as a Base64-encoded string, either through direct data flow execution or through device driver subscriptions.
To pair with this server driver, this release also includes a TCP Client driver, allowing the Device Gateway to connect to TCP sockets hosted on servers inside the local network and write data to them. These drivers together allow for flexible handling of TCP-controlled devices.
This month’s release includes a feature we’ve had on our list for a while - the ability to set a home screen on a role. This allows administrators to configure the screen users see when they first log in to their Fuuz tenant, or when they navigate home by clicking the Fuuz logo in the upper left corner.

If a user has more than one role assigned, switching roles will also switch the displayed home screen.

This feature finally allows administrators and app developers to create or choose a relevant screen to be the landing page for their users!
Added read-only display of system generated indexes to data model form
Updated model header linking to prevent duplicate fields
Updated model header linking to allow dropping anywhere on a model
Added validation to ensure the id field on schema is not updateable
Improved schema designer filter panel to reduce space taken by filter options
Updated non-editable fields on user tenant form to be read-only display fields
Corrected several incorrect link targets on tenants screen
Added userApiKeys relation to the UserTenant system data model
Added indexes covering changedAt and changedByUserId to data change capture collections to improve query performance
Enabled system-wide Application Performance Monitoring (APM) tools for testing
Updated core HTTP server library to Fastify V4
Corrected links to Fuuz screens in device gateway service UI
Added device gateway-level ping function to test connectivity between the gateway and other hosts
Implemented in-app updates for device gateway installations

Updated behavior of device actions in the gateway UI to better align with user expectations
Updated gateway service UI to display backend warnings and errors in UI message manager and notifications
Updated gateway service file driver to carry over positional read logic present in legacy gateway
Added TCP Client driver
Added TCP Server driver
Updated log levels to reduce log noise from integration service
Corrected an issue with wildcards in the device subscription node
Added a module field to data flow forms and module/module group filters and columns to the data flows table
Marked transition node as deprecated
Updated $momentTz bindings to the latest time zone definitions
Added a column for webhook URL to the Webhooks screen
Added a Sample Request action to the Webhooks screen
Fixed an issue causing the visual query builder to fail to reload from an existing query
Updated screen dialog system to leverage widget flag also used for screen widgets
Updated form element types to render a relevant input type for the Default Value field
Added Home Screen configuration option to roles to determine what screen renders at the base URL
Updated visualization types screen to display visualization preview image and make descriptions easier to read
Corrected an issue that could cause data change capture records to have stale audit fields
Corrected an issue with clearing date inputs
Updated script sandbox to address a security vulnerability
Corrected an issue with HTTP server error serialization