Skip to main content

Changelog

Updates, changes, and improvements at Retool.

More room to write code

Let’s face it, writing more than a few lines of code inside of Retool isn’t usually a great experience: code inputs are small, there aren’t any line numbers, and the text wrapping can be aggressive. This week, we’re excited to ship a new movable, resizable editor window that can be popped out from any code input. Whether you’re writing a custom component, editing JSON for a Chart component, or writing a long SQL query—it’s finally much nicer to write multiline code in Retool.

We’re working to bring even more code editing improvements to Retool, so drop us a note at support@retool.com and let us know what you’d like to see next.

Fixes and improvements

  • Added 20+ app edit descriptions for the history tab in "Releases and history"
  • Added the ability to automatically format JS queries
  • Fixed the distanceMatrix endpoint for the Google Maps integration
  • Added the ability to set a custom content-type on a S3 upload query
  • Added a permission group setting to grant non-admins access to the audit log
  • Fixed undo/redo when renaming components
  • Added a setting to restrict which user groups can run a query in a query's "Advanced" tab
  • Added the ability to browse MongoDB collection schemas in the query editor
  • Added more defaults to MongoDB fields in the query editor
  • Added support for the insertMany action type for MongoDB queries
  • Fixed the button column type for the Table component to correctly evaluate references to other components and queries when setting the "disabled" field
  • Added text color settings to the Rich Text Editor component
  • Added support for the style attribute in Text component content
  • Fixed a rare edge case with custom auth flows
  • Fixed alignment of profile photos in permissions settings

Enterprise plan

  • Added a button in the “Advanced” tab to verify GitHub repo setup for protected apps
  • Added the ability to set a name when creating protected branches
  • Added links to GitHub commits in “Releases and history” for protected apps
  • Added the ability to turn on protected apps from the settings page
  • Added support for setting the client ID and secret for JIRA resources

Check out this guide to see the on-prem versions and their release notes.

Code editing improvements

Great code editing ergonomics are near and dear to our hearts at Retool. We’ve recently added a few improvements that make writing JavaScript in Retool just a little bit smoother.

Inline code evaluation previews now display the type of the returned value. This is handy for quick reference when working with properties that can accept multiple types:

Retool now also supports and correctly lints ES2020 features, like the nullish coalescing operator and optional chaining. You can replace clunky expressions like {{ (localStorage.values||{}).userStatus ? localStorage.values.userStatus : 'Unavailable' }} with a simple {{ localStorage.values.userStatus ?? 'Unavailable' }}.

Lastly, we’ve improved Retool’s autocomplete to properly infer JavaScript types and offer the available methods and properties, even when chained. If using inline JSDoc comments, the defined parameters will also show up the autocomplete menus.

Fixes and improvements

  • Fixed a memory leak issue causing unneeded query results to be retained
  • Added the returned value type to inline code evaluation previews
  • Added ES2020 support to Retool’s code linter
  • Removed notifications from appearing on every copy and paste operation
  • Fixed Excel files returned from REST API queries to be correctly parsed as base64Binary
  • Added link on the Billing page for admins to view past invoices and payment methods

Enterprise Plan

  • Moved protected apps actions into separate menu in the editor header

One-click reusable queries, right from your app

When you’re writing a query in an app, you may realize that it would be useful in many apps. Rather than copy/pasting your work, you can now extract your resource query to the Query Library and import your new, reusable query wherever you need it! We’ll automatically convert JS expressions to query variables, so that each app can configure its own inputs. To learn more about reusing queries with the Query Library, check out the docs.

Fixes and improvements

  • Added the ability to reset all temporary state variables to their initial value
  • Improved performance of Omnibox ⌘ + K (or_ CTRL + K_)
  • Included Query Library queries in Omnibox ⌘ + K (or CTRL + K)
  • Fixed the Jira query editor to work correctly with POST requests
  • Fixed the query editor so that its height persists throughout a session
  • Fixed the canvas background color for themes in the editor
  • Added support for Vim mode in code editors ⌘ + ⌥ + V (or CTRL + ALT + V)
  • Fixed initial value on app load for the date/time inputs
  • Fixed the function selection for Lambda queries
  • Fixed S3 read queries for binary/octet-stream content-type payloads ** ---**

Enterprise plan

  • Added an environment variable to disable username/password login (DISABLE_USER_PASS_LOGIN)

Check out this guide to see the on-prem versions and their release notes.

Google Maps and Google Analytics integrations

Need to geocode addresses? Find the road closest to a map point? Build a realtime dashboard of visitors on your website?

We've added native integrations with two of Retool’s most commonly connected APIs: Google Maps and Google Analytics. Both integrations come with out-of-the-box authentication support and a custom query builder for discovering endpoints and validating inputs. For Google Analytics, we've prepared a transformer that makes it easy to parse reports into a clean array of objects for charting and displaying in a table format. To learn more, check out the Google Analytics and Google Maps docs.

Improved query sharing

Shared queries imported from the Query Library can now be pinned to their latest version. Before this update, any changes made to a shared query required you to manually bump the version in each app that used it. Now your apps can be in sync automatically with your shared query.

We also now include a list of apps that use a shared query in the right panel of the Query Library. When making big changes to a query (e.g. adding new variables), you can quickly open each app from the list and carefully update them, as needed.

Pinning to the latest version is only available for cloud customers, if you'd like to use it on-prem, shoot us a note at support@retool.com.

Fixes and improvements

  • Added support for copy/pasting multiple components

  • Added autocomplete for native JavaScript functions in JavaScript queries

  • Added support for ES2020 features like nullish coalescing and optional chaining

  • Updated pasted components to use their original name

  • Improved performance of apps with a Table component

  • Added a setValue API to the Slider component

  • Added play, pause, and seekTo APIs to the Video component

  • Added a duration property to the Video component

  • Fixed inspector for the Calendar component

  • Fixed the size of the Modal button when disabled

  • Fixed event handlers on the S3 Uploader component

  • Fixed the default name for new S3 Uploader components

  • Fixed component positioning when pasting into containers

  • Fixed some folders not appearing in the "Add to folder" dropdown when creating a new app

  • Added link to "Releases and history" when previewing an app ---Enterprise plan

  • Added support for creating releases for protected apps

  • Fixed "Releases and history" to show history for the current branch on a protected app

  • Enabled editors to reset a protected app to the state of a remote branch

Check out this guide to see the on-prem versions and their release notes.

Event Handlers

Think of a Retool event handler just like addEventListener** ** in native JS or **onChange** in React. Before, components could only trigger a single query, and anything more advanced would require writing JavaScript. Now, you can configure components to trigger multiple queries, control other components, and call additional APIs in response to user interactions.

We’ve also greatly expanded the number of events available on components, and added new utils and component APIs. Anything you can do with Retool’s JavaScript API (e.g.** _query1.trigger()**_, modal.open(), **utils.showNotification(...)**) you can now do with Event Handlers. Event Handlers will be rolled out to all customers over the next few weeks. To learn more, check out the docs.

Style Editors

Every component now has a style editor in the inspector, making it easier to customize the appearance of your applications without CSS. You can edit the background, foreground, borders and more—you can even use a JavaScript expression for dynamic colors (e.g. {{ checkbox1.value ? 'purple' : 'yellow' }}). Style editors will be rolled out to all customers over the next few weeks. To learn more, check out the docs.

Group Admins

Admins can now assign Group Admins to manage membership for any custom groups.

Previously, only Admins could manage membership for custom groups. Now, Admins can grant any number of group members the Group Admin privileges to add new users or remove existing users. Group Admins will be able to see all users within an org, but are not able to modify any aspect of their group beyond membership (e.g. app and resource permissions).

Fixes and improvements

  • Improved performance when typing in a TextInput
  • Added the ability to unpublish a release, which switches an app back to using the latest working version
  • Added an action to format SQL or GraphQL queries in the Query Library
  • Added more information to document titles to make working in multiple browser tabs easier
  • Added new templates for an Elasticsearch Admin Panel, Datadog Elasticsearch Admin Panel, and Twilio + Segment Personalized Outreach App
  • Reduced app startup time
  • Fixed visibility of the spinner when saving changes in a Table
  • Removed updatedAt property from release and commit diffs
  • Improved performance of apps with multiple modules
  • Fixed display of debug data when testing a custom auth flow with an OAuth step
  • Changed query search in the Query Editor to be case insensitive
  • Fixed incorrect page documentation content on public apps
  • Fixed styles of the color picker in the inspector
  • Fixed documentation links for several resources
  • Fixed "last active" date on the Users page under Settings

Enterprise plan

  • Fixed default folder permissions for new pages that use Git Syncing

Check out this guide to see the on-prem versions and their release notes.