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.

Today we announced major changes to our pricing to make Retool more accessible to as many teams as possible. Here’s what we’ve updated:

  • Instead of charging the same price for any user at your company, we now charge different rates for Standard users (people who build apps in Retool) and a significantly lower amount for End users (people who only view or use Retool apps).
  • We’re also adding an annual billing option to our Team and Business plans so that you can pay annually and get an additional 20% discount per user.
  • And, we’re introducing a Self-hosted Business plan for teams that prefer to self-host and need more granular permissions, audit logs, reusable modules, and other security features. To access these new plans, make sure to upgrade your Self-hosted Retool deployment to v2.117 or later. Existing Free, Team, and Business plan customers can switch over to the new plans from your billing page at any time and we expect that many of you will find that the new pricing better meets your team’s needs. If you’d like to stay on your current plan, there’s no action required—your current plan will still be available until the end of 2024 and we’ll provide plenty of notice before then. To learn more, check out our pricing page.

You don't have to upgrade existing apps that use the legacy Table component. You can continue to configure the legacy Table in your existing apps, and then use the new Table component when you have an app to build.

If you want to migrate an existing app to use the new Table component, use this guide to learn more about the differences before migrating.

Column configuration

The new Table no longer supports the Auto column format. Each column must have an explicit format. Each column can contain an optional source key, which maps the column to a field in the data source. If the source key is omitted, the column is effectively a custom column.

Properties

Some commonly used Table properties have been renamed. Anywhere in your app where you reference these properties, you’ll want to update those references to the new property names.

selectedRow

The property to access the Table’s selected row changed from table1.selectedRow.data to table1.selectedRow.

currentRow

currentRow in a column’s mapped values is now currentSourceRow, to make it explicit that it references the underlying source row’s data.

recordUpdates and changeSet

The legacy Table’s edited fields were exposed in recordUpdates and changeSet. These fields are now changesetArray and changesetObject, respectively. These properties no longer contain the entire row’s data, and instead only contain the modified fields.

Pagination controls

Pagination controls are now nested under table1.pagination. This means referencing a table’s pageSize, for example, is done using table1.pagination.pageSize. Pagination is now accessible in the Table’s Add-ons section in the Inspect tab.

Save and cancel buttons

The new Table exposes the built-in save and cancel buttons for bulk editing in the Add-ons section of the Inspect tab.

Sorting controls

The legacy Table exposed several fields to represent the Table’s sorting state: defaultSortDescending, defaultSortByColumn, sortedColumn, sortedDesc. The new Table exposes the sortArray property, which represents the entire sort state of the table.

Filtering controls

The legacy Table did not support nested filtering. The new Table supports nested filters with the filterStack property.

Feature comparison

See below for a feature-by-feature comparison of the legacy Table and the new Table.

Updated approaches to existing features

CategoryFeatureDescription
Column typeAuto columnThe new Table forces explicit column types.
Column typeButton columnThe new Table has redesigned actions for triggering events.
Column typeUser Email columnThe new Table has an Avatar column that serves the same purpose.
Column typeModal columnModal columns are not supported natively in the new Table, but can be implemented by using a Column event handler to trigger a Modal component open.
ActionsAction button columnsThe new Table floats all action buttons to the right edge of the table when you hover over a row.

Legacy features unsupported in the new Table component

CategoryFeatureDescription
Column typeRating columnYou can use a Tag column to represent a rating cell instead.
SortingSort columns by raw valueThe new Table sorts columns by their mapped values.
StylingRow colorRow color is not supported in the new Table.

Retool Mobile now enables you build white-label Retool Mobile apps and launch them in the iOS App Store and Google Play. With a white-labeled app, you can choose your app’s name, icon, and splash screen, and also manage the version of the app available to your users to take full control of what you build. White-labeled apps are available to customers on our Enterprise plans. Contact us to get started or read our white-label app docs to learn more.

You can now configure app linking event handlers to enable users to navigate from one mobile app to another. In the App editor, configure an event handler with the **Navigation **action, the Open app method, and select the app to use.

We’re excited to launch a new version of the Retool Inspector! By reducing clutter and improving consistency across components, we’ve made it easy to find important properties when you need them most.

With this re-design, we're adding:

  • A new add-ons section
  • Progressive disclosure for list editors
  • Advanced panels
  • More consistent property grouping

New add-ons section

We’ve added a new section under “Content” called “Add-ons”. These add-ons include properties that were formerly known as “Adornments”, such as prefix icons, suffix text, and tooltips.

We’ve also split some components up into their constituent parts and are adding them to “Add-ons” as well. Each of these add-ons has its own properties and corresponding Inspector view (e.g. the Label add-on below). These add-ons are also visible on the editor canvas and can be directly clicked to open up the right panel.

Progressive disclosure for list editors

Currently, we use the list editor pattern for adding event handlers. We're now applying this same pattern to Add-ons, Validation rules, and Styles. This hides away properties that have not yet been set, but can be added on an as-needed basis. You can add any of these properties by clicking the plus button next to each list editor’s header.

Advanced panels

Instead of showing every property in each section, we now hide less frequently used settings inside of an advanced panel. You can access these properties by clicking on the advanced button in the header of each section.

Consistent property grouping

Each component now has the same three sections, which makes it easier to find similar properties across different components:

  • Content: Data that gets piped into the component, as well as any add-ons.
  • Interaction: Event handlers, validation rules, and any properties that impact the behavior of the component.
  • Appearance: Properties that change the look of a component, such as layout, style, and show/hide toggles.

We're excited to see what you think! Feel free to send any feedback to jessicasun@retool.com.

A line of sight into your business operations is critical to decision-making as you scale. With Usage Analytics, Retool admins have a single place to:

  • Monitor all app and user adoption.
  • Gain insight into aggregate usage to effectively manage teams and apps.

Usage Analytics is available to all Cloud and Self-hosted customers on the Enterprise plan. You can access it in your Organization settings.

Usage Analytics for Self-hosted deployments requires Self-hosted Retool v2.113 or later. Check out the docs to enable Usage Analytics.