---
title: "Platform Release 274 - March 2024"
slug: "factory-274-release-march-2024"
updated: 2024-03-22T15:05:54Z
published: 2024-03-22T15:05:55Z
canonical: "support.tulip.co/factory-274-release-march-2024"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.tulip.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Platform Release 274 - March 2024

Release 274 brings exciting new features such as custom user roles, input widget validation, and the ability to enable and disable buttons based on user inputs.

There are also updates to Automations Beta, and several other updates that improve the App Editor, Settings configuration, and UI/UX experiences through Tulip navigation!

Let us know your thoughts and questions in the [Tulip Community](https://community.tulip.co/t/release-274-march-2024/10787).

## Introducing Custom User Roles

Build your own user roles by combining 80+ distinct permissions. Ensure that your roles in Tulip comply with internal rules around governance. This feature is available on **Enterprise** and **Regulated Industries** plans.

**[Learn more about custom user roles here.](/r230/docs/how-to-customize-user-roles)**

![r274 custom user roles](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/r274%20custom%20user%20roles.png)

Updates to custom user roles include the following:

- Within custom user roles, the "station: create and display devices: create" permissions have been removed and roles with these permissions have been reverted to view-only status.
- In User Roles, the custom widgets, schedules, and shift checkboxes have a message that provides additional options nested under the checkbox
- In the create/edit/duplicate modal of custom user roles, users will notice:
  - Vision controls from a checkbox to full access/view only radio buttons
  - The **Connector Functions Run / Test** radio options are a la carte  under a “Limited access“ radio button
  - **Edit Approval Types** changed to **Create and edit Approval types**
  - **access** in permission descriptions changed to **view**
  - **Machine access** changed to **Limited access**. Note that this does not include machine types in the description text
  - Under **Machine Data Sources** section, **Edit or create edge device machine data sources** option is removed under the **Limited Access** selection
  - **Edit or create shop floor machine data sources** was renamed to **Create and edit**
  - **Browse shop floor machine data sources nodes** changed to **Map to machine attributes**
- Users will see **on the tables page** to Table Record permissions
- Added **on the connectors page** to connector function test and run permissions
- Renamed **Table views** in the UI to **Table Queries and Aggregations**
- Admins on can enable behavior in the **Account settings** to automatically log out users who have been inactive for a period of time

If Workspaces are enabled on your instance, you can now assign app exchange permissions to custom roles. This permission allows roles to add apps to the app exchange, remove apps from the app exchange, and update app versions in the app exchange. These permissions only have an effect in the respective app exchange workspace.

## Introducing Input Widget Validation

In the app editor, app builders will find it much easier to validate Input Widget data. All input widgets, as well as the button widget, have a new Side Pane sections. Input widgets have the option for "input widget validation", i.e. marking them as required, configuring how their error messages will be formatted, and (for some input widgets), additional "validation rules". This shows up in a new section in the context pane.

![r274 input validation](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/r274%20input%20validation.gif)

### Enable/Disable Buttons

Users can now dynamically enable/disable buttons to control the flow of their apps. Button widgets and eSignature widgets now have a section for **Interaction** to configure when they're enabled based on a variable or any other datasource. Based on these configurable options, this enables new functionality for all of these widgets in Player.

![r274 enable disable buttons](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/r274%20enable%20disable%20buttons.gif)

**[Learn more about data validation using input widgets here.](/r230/docs/data-validation-with-input-widgets)**

### App Editor Improvements

In the Tulip Player and App Editor, users will receive a deprecation warning when app is using a widget(Viewer3d and the old camera widget). The deprecation is will happen in 6 months. **We recommend that all users still using the Viewer3d switch to using the new CAD widget.**

Custom Widgets are no longer able to download files without user input.

Fixes a visual bug where users will see one consistent color when highlighting an app folder on the side bar.

On the eSignature completion trigger, users can now access signature Info, including Signee (ID), signee name, signee email, signee badge ID, timestamp, comment, and meaning, on signature completion triggers. These new pieces of data can be used in triggers.

In the app editor, clear buttons on search bars and visibility toggles on passwords are now be better centered.

Badge IDs in player are masked with asterisks if the mask badge ID toggle is on.

In the app editor, all widgets associated with the Base Layout are now visible by expanding the new **Base layout** step at the top of the left side panel on the Steps tab.

### App Overview Page

Users will now see the app's created time if it has no last modified time.

In the **Steps list** on the **App overview page**, we fixed a small visual issue where the icon for the base layout step would display off centered.

### Record History Widget Datetimes

In the record history widget, datetimes are shown using the time zone of the viewing user’s device.

### Pre-Transition Trigger Deprecation

Apps using deprecated pre-transition triggers can no longer be published or restored. These applications must be migrated from the **App overview page** for continued long term support. [Learn more about App Transitions.](/r230/docs/a-guide-to-app-transitions)

## Easily find what version of Tulip you have

As requested by a member of the Community, we’ve added the ability to see what version of Tulip you are running with a deploy timestamp. This can be found at the bottom of the **Support activities menu** in the upper right corner of the App editor.

## Account and Workspace Settings

### Change to Roles

Users with the roles Application Approver, Application Builder, Application Engineer, Connector Supervisor, and Table Supervisor can now complete the player registration flow.

Users with the Viewer (with player) role can no longer re-assign existing stations to new display devices; nor can they create stations in the admin UI. They can still create stations during player registration.

Users without admin access now see the **Vision page** if vision is enabled for the account.

### App Permissions

In the **Permissions** tab of each app, there are two new rows indicating that all account owners and workspace owners have owner permissions to the apps by default. As indicated, all account and workspace owners have edit, publish, and edit-permission permissions.

Whenever a user attempts to edit the permissions in such a way that locks themselves out (for example, downgrading "Everyone" permission while you don't have an explicit app permission yourself), the permission editing will fail to save and the user will face an error message saying that they can't lock themselves out.

![r274 logout permission](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/r274%20logout%20permission.png)

### Custom Inactivity Timeout

When enabled, Tulip will now automatically log out users who are inactive for a custom period of time in the admin interface.

### New Activity History Events

The Activity History now tracks these events:

- Renaming your account
- Renaming a workspace
- Changing a workspace's timezone settings
- Enabling SAML logins
- Disabling SAML logins

## Analytics

Changes to analytics that involve the Universal Template and Analytics editor page.

## Analytics Editor Improvements

In the Analytics Editor, we've updated the breadcrumbs in the subheader to link to the Tables page and the specific table associated with a given analysis. This allows for easier navigation between a table analysis and the underlying data.

If no data is selected, users will see an empty state.

![r274 analytics empty state](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/r274%20analytics%20empty%20state.webp)

When creating Universal Template analyses, there is a new **Data tab** on the right-hand side menu. This allows users to configure which fields from the query they want to use for their chart. Users should be able to quickly swap among visualization types allowing them to easily see their data in different formats.

![r274 universal template data tab](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/r274%20universal%20template%20data%20tab.webp)

### Dashboard Improvements

On the **Dashboard page**, users can simply click the title of a currently active dashboard to edit the name. This creates a quick and seamless UI experience.

## Automations Beta

These changes improve the experience of using List variables by allowing users to see what data types they are working with at a glance:

- In the Automations logic editor, icons for List variables now display an icon with the inner element's data type.
- The left-hand assets panel now lists the inner properties of Object List variables.

In addition, there's added support for activating / disabling Automations from the Automation editor and Automation versions pages.

![r274 automations status](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/r274%20automations%20status.webp)

## Connectors Page Improvements

We've updating the **Connectors page** header to create a better UI/UX experience for users.

In the **Connector details page**, users will notice that Connector environment statuses are updated after the environment has been modified.

## Machine Page UX Changes

We've updated the header on the Machine page and Machine Type page to create a better UI/UX experience for users.

## Table API Improvements

The record limit for the `runAggregation` endpoint on the Tables API has been increased to 100,000.

Tulip API Documentation now displays more information about the parameter types such as: expected patterns for strings and minimum and maximum values.

Table count no longer has a minimum or maximum value for the limit.

## Vision Camera Configuration Information

When a user checks the assigned camera in camera configuration, they can view information such as camera vendor name, type, and ID by hovering over the assigned camera row.

![r274 vision info](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/r274%20vision%20info.webp)

## Tulip Navigation Improvements

Users can reach the Station Group from the **Station group** column on the **Display devices page** via the link that replaced the static text there. This follows the existing pattern of clicking on the linked station to view it.

Users should see faster rendering of the news feed records in both the activity history page and recent activity sidebar. There is no explicit change in the UI.

On the **Edge devices page**, we've updated the icon on the IP address column.

The size of the edit icon in the header of the **Display devices** and **Edge devices** pages has been made slightly smaller.

## Bug Fix Highlights

Release 274 contains multiple bug fixes that we want to highlight because they were reported by users:

- Fixed a bug where Account Owners were unable to import or export custom widgets from the UI.
- Fixes a bug where button colors based on a variable update were not immediately updating when the variable value changes.
- Fixes an issue where in Player/Dev Player, text widgets that had their color attached to a color variable would not show updates to their color when that variable's value changes until they clicked on the widget. Now these updates take effect immediately.
- Fix some interval types causing errors in triggers when being accessed from a table column
- Revert spacing distance for single and multi select widgets with the menu display option
- Fix a bug where we use station timezone instead of local timezone when displaying datetime fields inside object variables in player
- In the Record History widget, fix the app context for e-signatures where signees is different from the operator running the app.
- Fixed an export bug related to unicode characters
- Fixed an issue where HTTP Connector Functions did not handle null string inputs properly.
- Fixes an issue where the text "undefined" shows up in the trigger editor header.
- Fixes an issue where the Record History Widget was showing current timezone instead of default.
- Fixes an issue where datetime variables in player were showing the local timezone instead of the timezone set in the app builder's profile settings.
- Enforce that player and new station names must be unique during Player registration.
- Fixes an issue where AI Translations was causing expressions to break on show message and show error trigger actions.
- In the OPC UA data source configuration modal, Private Key and Certificate fields are required when the Authentication Method is {{X509}}, or when the Security Mode is {{Sign}} or {{Sign & Encrypt}}.
- Fixes bug that blocks instances without an internal App Exchange from subscribing to an external App Exchange
- Fixes the issue of a value not being persisted to the export files, thus lost during the export/import process.

## Full List of Ticket ID included in Release 274

If you are tracking any of these tickets and would like more details, please contact Tulip Customer Support via support@tulip.co or live chat through your instance.

PLAT-30761 PLAT-30750 PLAT-30686 PLAT-30661 PLAT-30632 PLAT-30631 PLAT-30520 PLAT-30514 PLAT-30513 PLAT-30508 PLAT-30507 PLAT-30472 PLAT-30442 PLAT-30395 PLAT-30360 PLAT-30274 PLAT-30168 PLAT-30167 PLAT-30142 PLAT-30122 PLAT-29941 PLAT-29571 PLAT-29442 PLAT-28824 PLAT-28705 PLAT-28277 PLAT-28259 PLAT-28026 PLAT-26008 PLAT-25942 PLAT-25548 PLAT-25066 PLAT-30380 PLAT-29719 PLAT-29639 PLAT-29419 PLAT-28975 PLAT-25831 PLAT-24992 PLAT-30553 PLAT-30408 PLAT-30254 PLAT-28843 PLAT-21202 PLAT-19906 PLAT-17547 PLAT-15716 PLAT-30769 PLAT-30753 PLAT-30718 PLAT-30636 PLAT-30604 PLAT-30544 PLAT-30426 PLAT-29873 PLAT-29707 PLAT-29563 PLAT-29456 PLAT-29151 PLAT-28711 PLAT-28597 PLAT-28554 PLAT-26049 PLAT-13584

**Workspace**

**Workspaces**are a model within Tulip to separate Tulip assets to match the places where work is being done. A workspace should represent a single facility, line, or department. With workspaces, users across facilities can easily collaborate, share their solutions, and improve their global operations.

**Input Widget**

**Input widgets**are a set of **Widgets**specifically designed for users to enter information. Input widgets must be associated with a location where the user input is stored.

**Side Pane** **(Context Pane)**

The**Side Pane**is the configuration pane on the right side of the **App Editor**where steps, apps, and widgets can be configured. **Triggers**can be added to adjust widget behavior.![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Context%20Pane.png)

**Tulip Player**

**Tulip Player** is the Windows/Mac executable program where users can run Tulip apps. Tulip player allows you to create a more seamless user experience by removing the need for a web browser and allows increased IT controls.

**App Editor**

The web interface used for building applications. Where you design a user interface, add logic, and connect your applications to **Tables**. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Screen%20Shot%202022-09-13%20at%207.50.23%20AM.png)

**Base Layout**

The **Base Layout** is the base template that all other **S****teps** will be built on top of. Establishing common navigation buttons, and a consistent app background and style across all of your app steps can expedite the training and app-building processes. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Intro%20to%20the%20Tulip%20App%20Editor_511473104%201.png)

**Universal Template**

A visualization template for data to be interpreted into various **analyses**.

![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Glossary/Screenshot%202023-07-06%20at%2012.56.41%20PM.png)

**Station Group**

A higher-level grouping of **Stations** within an instance. Useful for application management and bulk station configuration.
