Retool v2.72 release notes

New canvas frames and a Navigation component

We’ve removed the default Retool header from end user mode, giving you full control over your app’s presentation. User-specific actions have moved to a new location, and we’ve introduced a new sticky header frame, along with a Navigation component for building your own custom headers.

If you're currently using the Branding feature, read our migration guide to learn how to start using our improved Header frame.

Editor modeEditor mode

Editor mode

Header frame

The canvas area is now split into two frames: Header and Main. Put any component into the Header — including the new Navigation component — and your app will have a sticky header.

Navigation component

The new Navigation component allows you to configure a list of menu items and submenus. Each item can open another app, link to a URL, run a query, and more. You can also add a logo, control alignment of the menu items, and style it all via the Style Editor. With modules, you can even reuse your Navigation across multiple apps.

Configuring the Navigation componentConfiguring the Navigation component

Configuring the Navigation component

New input components

We’re rolling out 15+ input components, redesigned and rebuilt from the ground up. These include a full overhaul of components like Text Input and Checkbox, along with completely new inputs like Segmented Control and Range Slider.

Each component offers brand new configuration options, built-in and custom validation rules, and expanded style editor support. We’ve also built these components with accessibility in mind, with features like focus states, full keyboard and screen reader support, and automatic text color selection.

Along with these new components, the grid is also getting major upgrade: we’ve introduced a significantly reduced row height that allows for greater data density and more fine-grained layout control. The height of all new components is automatic and dynamic: growing as you add options to a Radio Group or type in a Text Area, and enabling validation errors to be rendered inline.

These components support their original functionality along with new features like:

  • Text Input
    • Simplified inspector with many options split out into separate components
    • Configurable prefix and suffix text or icons, autofill behavior, and more
  • Text Area (formerly part of Text Input)
    • Controls for number of lines and auto-grow as the user types
    • Optional character count display along with min/max validation
  • Number Input (formerly part of Text Input)
    • Automatic formatting based on the locale in your browser settings
    • Support for any 3-letter currency code, with the ability to override default display
    • Optional increment/decrement steppers, alignment options, and more
  • Inputs preconfigured to get you started more quickly
    • Email and URL configurations of Text Input
    • Currency and Percent configurations of Number Input
  • Select inputs
    • Segmented Control
    • Radio Group
    • Checkbox and Checkbox Group
    • Switch (formerly Toggle) and Switch Group
  • Password Input
    • Optional show/hide password toggle
    • Regex validation and autofill types
  • Sliders
    • Slider for selecting single value
    • Range Slider for selecting a start and end value
    • Rating, with support for 3 different icon sets — stars, hearts, and smileys
  • In addition, all new inputs support:
    • APIs to set, clear, and validate an input's value via an Event Handler or JS query
    • Tooltips with GitHub Flavored Markdown and styles based on the app theme
    • Control over label position, alignment, and wrapping
    • Validation rules including custom logic and inline error messages

You can find all of these components in our new compact and reorganized component list that features improved search. Old versions of these inputs have been deprecated, but existing instances will not be affected. If you want to continue using them, turn on the "Deprecated components" switch on the Beta settings page to see the “Deprecated” section in the components list.

Drop us a note with any feedback (or requests for new components!) at [email protected]

Changelog

Release 2.72.28

Published on August 5th, 2021.

Protected Apps

  • Added additional logging when syncing applications
  • Fixed the "Protect app" modal to properly dismiss on branches other than main
  • Fixed a rare edge case when protecting an already protected app
  • Improved publishing and unpublishing releases

Performance

  • Improved performance of evaluating dependencies (e.g. component/query references) in apps
  • Fixed a rendering issue with the user menu for embedded apps
  • Improved performance of component interactions by 2x for applications with a large number of components
  • Improved initial render time for apps with many input components

Resources

  • Improved resources page to sort by name
  • Added a OneSignal integration
  • Fixed S3 file downloads of non-binary type files
  • Improved REST API queries to respect the DBCONNECTOR_QUERY_TIMEOUT_MS setting
  • Added the ability to input Redis commands in raw format, similar to redis-cli
  • Added a warning when additional configuration is needed to connect a Google Sheets resource
  • Added the ability to automatically paginate queries to Stripe
  • Added support for Snowflake OAuth at the user level
  • Added the ability to dynamically add a table name in Snowflake query GUI mode

Improvements

  • Adds more space for current branch in the branch viewer.
  • Added a 'Submit feedback' option to the help menu where you can send product feedback directly to the Retool team
  • Added a keyboard shortcut ⌘+J (CTRL + J) to show/hide the query editor
  • Add a DISABLE_INTERCOM environment variable to disable chat support and enable email support instead
  • Added additional user metadata to the Releases and History modal
  • Added the ability for editors to set a description for module inputs
  • Added the ability to change your first and last name in Account Settings
  • 10+ different design polish improvements
  • Added a tooltip on components to render error messages in context
  • Enabled search by component type in the Event Handlers component dropdown
  • Improved code editors to maintain the cursor position of in-line editors that are popped out
  • Improved error messages on Retool components. No more generic errors!
  • Added a Divider component to create a horizontal rule

Fixes

  • Fixed transformers and analytics in the query sidebar so that they can be deleted and duplicated
  • Fixed an issue where loading spinners weren't visible for some components
  • Datepicker component min and max now will use UTC time when 'display in local timezone' is not selected
  • Fixed Form's ""clear after submission"" option with new input components
  • Fixed spacing around components inside of a List View
  • Fixed editor keyboard shortcuts when certain input components have focus
  • Fixed event handlers for generated Forms
  • Fixed arrow keys to use the new row height when moving a component up or down
  • Fixed the order of menu items in the Navigation component after using the inspector
  • Fixed CMD+C to copy text in an input component in editor mode
  • Fixed an issue in the inspector when selecting multiple components
  • Fixed NaN value in the Number Input component after manually the current input
  • Added new file utility methods to the JavaScript API: parseXLSX(), parseCSV(), parseJSON()
  • Fixed incorrect links to apps in the Releases and History modal
  • Fixed previewing apps with multiple versions. You can now preview any published release, as well as the current working version.

Release 2.72.29

  • Fixed an issue where syncing many protected applications at once would trigger a secondary GitHub API rate limit.

Release 2.72.31

  • Fixed an issue where URL parameters weren't preserved when navigating to the editor
  • Fixed an issue where deleting a query from the Query Library caused certain applications to hang
  • Fixed an rare crash in applications due to custom authentication

Release 2.72.32

  • Fixed an issue connecting to the internal PostgreSQL database using the DATABASE_URL environment variable.

Release 2.72.33

  • Improved performance for applications using local storage across multiple tabs.

Release 2.72.34

  • Fixed unexpected layout shifts on some apps with multiple Text components
  • Fixed an issue syncing protected applications with similar names

Release 2.72.36

  • Snowflake now respects the DBCONNECTOR_QUERY_TIMEOUT_MS environment variable
  • Fixed committing changes to protected applications in large repositories

Release 2.72.37

  • Fixed issue with running migrations on boot when using DATABASE_URL parameter for configuring PostgreSQL connection

Upgrade Guide

If you're upgrading from the Retool v2.71 series or earlier, note that this release contains database migrations. Please make sure that the migrations run successfully.

If you're upgrading from a different, older version of Retool, please follow the Updating Retool On-Premise guide.


Did this page help you?