Release 233 - August 2022

Time for another release! This release went live on all standard release accounts on 8/7. Take a look at some of the highlights, below.

:iphone: App Editor

  • Text styling options for Text Widgets in the context pane have been moved to a new toolbar above the text editing area. This reduces clutter and puts options closer to the text.
  • You can now click the interactive table widget column headers to change the sort order
  • You can now use auto-generated fields like “Date created” and “date updated” to create conditions or read-only actions in triggers!

:zap: Connectors

  • SQL connectors using PostgreSql can now contain functions with multiple sql statements

:bar_chart: Analytics

  • Great news! The forecast layer is now available. This article goes into more detail about how it can be used to level-up your analytics.
  • You can now configure the Control Chart layer while showing the line chart.

:computer: Stations, Devices, and Machines

  • The station name is now included with the device name in the app menu. This allows users to make changes and identify devices faster on the shop floor.
  • The machines type page will now have a vertical orientation with equally spaced sections for machine properties and the triggers associated with those types. Users can now make their changes directly on the page versus clicking a button, first.

:camera: Vision / Machine Learning

  • A toggle button is added to vision camera page to enable offline mode, users can edit regions and detectors for a camera configuration without having to physically connect a camera to Tulip Vision

:lady_beetle: Fixes, Bugs, and Performance Improvements

  • The “where used” query is faster now! :running_woman:
  • Multi-tenant connector host coverage has been improved
  • Emails sent on completion errors now include the instance URL
  • Fix bug of player dropping machine events when connection is lost.
  • Fix text fields being draggable in a non-draggable context
  • Fixes and issue where saving and closing an analysis creates a copy on the dashboard
  • Disabled table links in newsfeed records when table is archived and enabled it when table is restored. Modified error handling for ddm fetching for hydrating news feed records.
  • Fix the scrollbar being sometimes empty on the steps tab preventing easy scrolling.
  • Fix small bug where the where used information on the connectors page is not showing the correct usages when filtering on connectors.
  • Fix issue where sort order changes were not reflected in the app editor
  • Connectors page columns are correctly aligned.
  • A bug fix in ExpandAll/CollapseAll button
  • Fix a race condition where an aggregation used in a trigger right after a table record is updated would not reflect the update.
  • User can now highlight text with mouse in input fields of the Trigger editor. Previously, this caused the editor window to drag along with mouse movement.

What is « where used » query?

Really digging this new little bit. Saves our sql Connector functions from having to handle any sorting. :+1: :+1:

Hey @youri.regnaud -

Where Used refers to this section used throughout the product:

Some customers have dozens of connectors used in hundreds of apps, many with multiple versions. Checking all of these versions was causing some loadtime issues with the connectors page. This performance issue was significantly improved in r233.


Thanks Pete, very clear as usual

1 Like

I think Forcast is a very valuable function.

Can you describe a bit the algorithm behind the forecast?

:zap: Connectors

  • SQL connectors using PostgreSql can now contain functions with multiple sql statements

Is there an example of how this works?

Hey @mellerbeck -

This human-readable description lacked a bit of detail-

Prior to r233, this connector function would return an error:

CREATE TABLE TypesTest(intType int, floatType float, boolType boolean);

In short, we weren’t handling cases where two different statements returned output. We now support this natively. The way most SQL clients handle this is they just return either the first or last statement. We are now mirroring this behavior.


Would you expect this to work then?

set lc_time = 'ja_JP.UTF-8';
select to_char(current_date, 'TMDay - TMMonth - YYYY');

It just times out?

Hey @mellerbeck -

It looks like this is a connector issue. On my instance it does work:

Also, the way I would do this is:

SELECT to_char($current_date$,'TMDay - TMMonth - YYYY');


One of our customers is very interested in the forecast layer.
He would like to know what algorithm is behind it to know if he can trust it.

Thanks in advance.