Skip to main content

Changelog

Updates, changes, and improvements at Retool.

Refer to the stable and edge release notes for detailed information about self-hosted releases.

79 posts tagged with "Apps"

View All Tags

Improved performance of apps using modules

Apps that contain modules are now much more performant and can load up to 1.5–2x faster than before. For self-hosted organizations, these improvements also reduce the resources needed by apps and modules, such as CPU load.

Copy queries across multipage apps

You can now copy a query from one multipage app and paste it into another. Right-click on a query and select Copy then navigate or switch to a tab with another multipage app. You can paste the copied query as either a globally scoped or page-scoped query by right-clicking in the Code panel.

General availability of error monitoring for apps

You can set up integrations with Datadog and Sentry. With these integrations, app errors are reported with a callstack and descriptive tags when you view and interact with an app in preview or public (end-user) mode.

Observability integrations.
Observability integrations.

To connect third-party observability providers, you can report app errors using Retool Events and build a workflow that triggers whenever an app error occurs and automatically notifies your observability provider.

A workflow for the Report App Errors event.
A workflow for the Report App Errors event.

New chart components

Retool now supports 15 preset chart components, eliminating the need to manually write Plotly JSON for basic chart types. This change enables users to more easily create and customize chart and graphs in their apps.

Features of the new chart components include:

  • Support for multiple data sources in series-based charts.
  • Data grouping and aggregation.
  • Customizeable titles, legends, labels, and toolbars.
  • Configurable user interactivity.
  • Advanced use cases using the Plotly JSON Chart.

Updated organization and app theming

An updated Theming experience is now available. Users on the Business and Enterprise plans can now see a revamped organization-level theme editing experience with expanded functionality, including:

  • The ability to create custom color, typography, and metric tokens for use in the theme editor and app component styles.
  • The ability to create multiple modes within a theme and switch between modes in an app using theme.setMode().
  • The ability to configure default styles for individual components, as well as bulk edit shared styles for multiple components at once.
  • Expanded typography controls—including the ability to configure multiple fonts in a theme using a CSS import or Google Fonts, set a default font family, and control font family and font weight for headings.

Organization-level theme editor.

For users on all plans:

  • Component-level font weight and font family style controls.
  • A refreshed app-level theme experience with expanded typography controls.
  • An updated component style editing experience.

New version of the Alert component

A new version of the Alert component is now available. It is a significant upgrade over the previous version, with new options to customize alert messaging.

You can create custom alert states that represent different alert types or severity, and configure them with the following options:

  • Title and description.
  • Icon, icon position, and tooltip.
  • Action text to trigger event handlers on click.

Existing apps can continue to use the previous version, which is now deprecated.

New Scanner component for Retool apps

A new version of the Scanner component is now available. It is a significant upgrade over the previous version, with new functionality for you to customize the scanning experience. Features include:

  • Use scan events to reference scanned items and the time between scans.
  • Detect duplicate scans.
  • Programmatically pause after each scan or set the time between scans.

Comment Thread component

The Comment Thread component enables users to post comments and start discussions directly within your apps. All users who have access to an app that contains Comment Thread can use the component. Each user's comment appears with their name and avatar image.

Comment Thread with comments for the selected table row.

When using Comment Thread, you specify a unique thread ID with which to associate comments. This can be a dynamic value so that comment threads dynamically change based on user interactions. For example, setting the thread ID to {{ table1.selectedRow.id }} would associate comments to whichever row is currently selected.

Comment Thread includes event handler support, action buttons, and granular control over the refresh period. Retool automatically handles comment storage and retrieval so no data source is needed.

If you're currently using the Comment component, you can switch to using Comment Thread without losing previous conversations by using the current Evaluated key value as the thread ID.

List View and Legacy List View comparison

Retool released a new version of the List View component in December 2023. The previous version has continued to be available as the Legacy List View component. You can continue to use the Legacy List View component in existing apps but we recommend you switch to using the newer List View component. The newer version of List View is much more performant, has more features, and will receive updates.

Feature comparison

Learn more about the differences between Legacy List View and List View.

FeatureLegacy List ViewList View
Number of instancesSet the instances property value.Automatically generated for each array item in data.
Instance valuesReference nested values using the item index (e.g., textInput1[3].value).Nested components cannot be referenced outside of List View. For form inputs, use instanceValues instead.
Instance keysItem keys.Primary keys.
Auto-heightAutomatically grows with content.Requires a suitable maxHeight value.
Show borderYesNest the List View component within a container and use it to set the border.
Show drop shadowYesNest the List View component within a container and use it to set the drop shadow.
Styles and nested stylesYesNest a container within List View to apply styles and nested styles.

Instance keys and values

Retool recommends using primary keys, a unique identifier, to track and restore instances within the List View.

List View is virtualized and only evaluates and renders items currently visible. This significantly improves performance. However, this also means that you can no longer directly reference nested items as they may not have been evaluated yet. Instead, you can reference instance values for forms and input components.

Appearance settings

List View supports all of the same appearance settings as Legacy List View, with the following exceptions:

  • List View does not support border or drop shadow styles. Instead, nest a container within List View and configure it with a border and drop shadow.
  • A List View with a heightType of auto requires a suitable maxHeight value to maintain performance. The default is 100vh and you can specify a different value to use. You should consider using the container in which List View is nested to avoid unexpected scrollbars.