Skip to main content

Changelog

Updates, changes, and improvements at Retool.

New

  • Added support for custom SSL options in the** gRPC** integration

  • Improved how we handle errors in the OpenAPI integration

  • Added option to configure Table components to hide the refresh button in its footer.

  • Added support for frozen columns in the **Table **component

Protected Applications (Beta)

  • Added branch management interface to the editor
  • Fixed issue where renaming or moving apps would not sync to git repos
  • Fixed issue opening pull requests in GitHub Enterprise

Layout (beta)

  • Holding CMD will block component interaction and allow you drag and drop components without having to worry about triggering side effects

  • Selecting a hidden components will make the component visible automatically. Performance improvements

  • Apps with larger numbers of concurrent queries (5+) should see significant improvements in the responsiveness of the application when the queries are running.

Modules beta

  • Modules will inherit the permissions sets of their host app. This means that end users will be able view modules used in apps even if they have not been granted explicit view access to those modules.
  • Importing an app with modules will also automatically recreate missing modules that are needed by that app.

Bugfixes

  • Fixed issue where exporting apps on a non-main branch in the protected application workflow would still export the main branch

  • Fixed an issue where OAuth2 flows that had “skip Retool consent screen” turned on was incorrectly interpolating variables

  • Fixed issue where the id token was not being refreshed in the OAuth2 refresh

  • Fixed issue where the Github API Base URL was not visible in the protected apps settings

  • Fixed issue where importing apps would stop working

  • Fixed issue where the Rich Text Editor would be blurred unexpectedly

  • Fixed issue where it was not possible to disable beta experiments

Protected applications beta

  • Added the ability to edit protected branches from end user mode

Performance

  • Changed the utils.openUrl utility method to use client-side routing when possible

Bugfixes

  • Fixed issue where some corrupted apps would fail to load
  • Fixed several issues in the OpenAPI v3 integration
  • Fixed exporting apps to include any modules that they use.
  • Fixed issue where on-prem deployments with both USE_SHORT_SESSIONS turned on as well as 2FA enforced would lead user sessions timing out after five minutes.

This update is available in version 2.64.83 or higher.

Query editor folders

You can now organize your queries and transformers inside folders! We’ve also re-structured the query editor so that queries and transformers are in the same list and can be organized together.

Property tooltips

When you’re exploring the left panel (⌘B) in the editor, you’ll find tooltips as you hover over certain properties that surface helpful tips and documentation.

Editor improvements

  • You can now search for imported queries in the Query editor menu
  • String type values in the green evaluation preview are now wrapped in quotes
  • Component drag-and-drop no longer interferes with selecting text in an input
  • You can now configure the resolution on** utils.downloadPDF()**
  • You can now omit elements when downloading a pdf of your Retool app with utils.downloadPage()
  • Query "on success" notifications are no longer configurable when they won't be displayed

Component improvements

  • All Select components can now be set to allow app users to enter custom values
  • Enables option to search for and select custom values in Dropdowns. Clarifies difference between allowing a custom value and displaying an invalid value by renaming "Allow out of range values" to "Display invalid values"
  • Form components now also consider input components (Text Inputs, Selects, etc.) nested inside containers
  • Plotly chart components now omit numeric columns formatted as strings from parsed x-axis value options. Data returned from Postgres and Google Sheets datasets will now render correctly when graphed with Plotly component
  • DateTimePicker components now support "required" validation for forms
  • Fixed an issue where the Rich Text Editor would not always display the correct value after model updates

Resource improvements

  • Cassandra resources now support read-only AWS Keyspaces
  • Fix Google Cloud DataStore ordering bug where clearing the ordering setting broke the query.
  • Fix for OpenAPI custom query parameters
  • Specifying a None for the Body field in REST queries will now send nothing instead of an empty object
  • Fixed an issue where certain Custom Auth steps for REST and GraphQL resources were skipped if they followed an OAuth2 step

This update is available in version 2.64.72 or higher.

We’ve added an “Alert” component to Retool! Alert components let you provide and highlight feedback to your users. You might hide and show this component based on the response of a query. You can dynamically set the type of alert you show to your users (ex: display a success or error based on the return value of a query). You can also include a button in this component that can take any action a Button component can, such as running a query, or exporting data.

These updates are included in v2.64.71 or higher.

Google sheets

  • New action type Bulk Update: allows you to update many cells in a sheet at once, where previously you had to configure a custom JS query
  • New action type Delete: allows you to delete a row in a given sheet, which was previously not possible in Retool
  • Typed values: Retool can now read column types from your spreadsheet (e.g. Numbers, Booleans, and Strings). Tables now detect column formats and sort columns with those new formats. Typed values also makes it easier to join across different resources without type conversions.
  • Updated docs: improvements include a new tutorial for building an app
  • Small bug fixes: Retool no longer throws errors when querying empty spreadsheets. Additionally, we improved the stability of connecting your Google account.

Releases and history

You can now better manage versions of your applications with our release and history modals.

New features include:

  • App releases have been reworked to clarify who took what action
  • You can now compare changes between any two releases side-by-side
  • First releases for an app are no longer forced to use v0.1.0
  • The redesigned history tab shows 10 items per page and includes tags on saves that are live and/or released

Query failure conditions

Before, Retool would display a default raw error message from a failing query to users using your Retool apps. You can now override that default message by setting a message on failure conditions.

You can use “failure conditions” in queries to:

  1. Display custom error messages to your users
  2. Mark successful queries as failure (ex: for GraphQL queries)

Check out the docs for more info. Note that this feature replaces “Error transformers.”

New editor functionality

  • You can now download an image of your Retool app as a PDF with utils.downloadPage()
  • You can now logout programmatically by redirecting to /logout in your apps

Table improvements

  • You can now set dropdown labels dynamically with {{ }} in dropdown columns
  • When adding a new row to an empty table, your column settings (e.g. dropdown values like {{ query1.data }}, dropdown labels, background color, etc.) will now apply to the new row

Component improvements

  • Text Inputs components now include an option to show commas for numerical types
  • Queries can now be cached per user instead of across your organization. You can toggle this setting on the Settings → Advanced page.
  • Added the option to scroll vertically in Tabbed Container components
  • Cleaned up styles for Toggle components
  • Plotly components that use Group by now generate the correct JSON
  • Keys in Key Value components are now reorderable even when they don't contain data
  • Key Value components now display falsy values correctly
  • You can no longer move components off the page when moving them with arrow keys

Resource improvements

  • You can now search for resources on your Resources page
  • In REST and GraphQL resources, you can now use an OAUTH2_ID_TOKEN (in addition to the OAUTH2_TOKEN) to substitute for the OAuth ID token when sharing OAuth credentials between users is disabled.
  • MSSQL resources now support Trusted Authentication
  • MongoDB queries now let you specify the options field to support inputs like allowDiskUse
  • Firebase resources now correctly let you specify the database URL
  • MySQL resources correctly support dynamic name overrides for Bulk insert, update, and upsert queries
  • Retool no longer incorrectly passes an audience to the /token endpoint for OAuth2 auth flows
  • Fixed an issue where Postgres resources that connected via SSH occasionally timed out
  • PostgreSQL auto-incrementing primary keys now don’t need to be passed in for Bulk upsert queries

Bug fixes

  • Large apps with Text inputs (read: most apps!) are now more performant and don't slow down when you type
  • Keyboard shortcuts now work correctly on Chromebooks
  • CSV exports no longer prepend apostrophes to negative values
  • Query library gRPC queries now import metadata correctly
  • Previewing an OpenAPI query no longer crashes the query editor
  • Container components no longer show duplicate property editors