Skip to main content

Changelog

Updates, changes, and improvements at Retool.

New Table columns inspector

We’re making a ton of improvements to our Table component! First up, the recent changes to our columns inspector:

  • The column list is more compact than before, with better drag and drop so you can easily reorder your columns. Additionally, you can now see all of your column types at a glance.
  • To change whether or not a column is editable, you can now do so directly from the column list—instead of having to manually open each column one by one.
  • The settings for each individual column have also been reorganized, making it easier to find the settings you need and giving you more room to write code.

As we continue to make more changes to the Table component, let us know if you have any feedback or new feature requests in our community forum.

Fixes and improvements

  • Introduced accent color styling for Table component cells
  • Introduced vertical column borders as a setting in the Styles section for the Table component, and removed them by default on new Tables
  • Introduced new display behavior for tables with editable columns. If the majority of columns in a Table are view-only, we highlight editable columns with a pencil icon. If the majority of columns are editable, we highlight view-only columns with a lock icon.
  • Added new style editor options to the Button Group component
  • Improved performance of the editor when interacting with input components
  • Fixed autocomplete in event handler code editors
  • Fixed Select and Listbox component deselection when items are marked as required
  • Fixed the setValue API for Select components with the "Allow custom value" option enabled
  • Fixed the Date Time component to correctly display times that fall on DST boundaries
  • Fixed documentation in the model browser (left-hand panel)
  • Improved performance when deleting containers with many children

Check out this guide to see the on-prem versions and their release notes. These fixes and improvements will be rolling out to on-prem customers in the next few weeks.

Dynamic Icons

You can now configure icons dynamically! Anywhere in Retool where you can add an icon, like a prefix/suffix icon for Text Input components, you can now dynamically change it based on any Javascript expression. Type the new command /icon to pop up the new icon picker to choose from over 3,000 searchable icons with support for bold and outline styles.

These new icons and the ability to set dynamic icons are available for all cloud-hosted Retool instances and will be available in an upcoming on-premise release. Let us know if you have any feedback in the community forum.

Fixes and improvements

  • Fixed the "allow overflow" option on Table component columns
  • Improved overflow for Table component cells with large contents
  • Fixed the focus API for Date and Time components
  • Fixed the Tags component to show more text when wrapping is turned off
  • Improved the Tags component so that it can fit on a single line
  • Fixed default labels for Select components
  • Fixed the default workspace for permission groups
  • Fixed a rendering issue on focus for Listbox and Multiselect Listbox components
  • Fixed the authentication dropdown for REST resources in the query editor
  • Added support for tel:, sms:, and webcal:// links in markdown
  • Added support for forwarding cookies for HTTP requests inside custom authentication
  • Fixed SCIM group deletion so that it will not affect default groups–"admin," "editor," "viewer," "All Users"(on-premise only)

Check out this guide to see the on-prem versions and their release notes. These fixes and improvements will be rolling out to on-prem customers in the next few weeks.

Container and Form

Container and Form components have received major upgrades to layout, styling, data handling, and configuration options. In particular, these updates make working with forms much faster and easier than before!

Layout

Container and Form now support optional headers and footer slots, which are customizable via the inspector. The header and footer slots function as additional canvas areas, allowing you to drag and drop any component into either slot. For example, you can now build a Form with two buttons in the footer: reset and submit.

Styling

You can quickly style all components nested within a Container or Form via the Context section of the style editor, and separately style the Container or Form as well.

Data handling

Forms now support a new property called Initial data. If you’re building a Form to edit existing data, you can quickly set the default values of all of your inputs by setting this property. For example, to map your Form’s input defaults to the selected row in a table, set the Form’s Initial data property to {{ table1.selectedRow.data }}. Form inputs also have a data key which you can use to match the keys in the Initial data object. If you use our Form generator, those inputs will be linked automatically (you can also use ctrl + click to generate/regenerate a Form).

Another critical part of form building is writing the underlying query that writes data back to your database or API. Previously, these queries required setting key-value pairs manually in Retool’s GUI mode query editor. Now, you can supply the object {{ form1.data }} to properly persist the changeset from your form!

Expanded API

Lastly, we expanded Form's API to give you more programmatic control over your forms! In addition to supporting submit and clear , we’ve added reset and setData.

If you have any questions or feedback on form building in Retool, head to our community forum. These new features are rolling out over the next week.

Fixes and improvements

  • Added a setValue API for Date Range components
  • Added selectedIndex and selectedIndexes properties to Select, Multiselect, Listbox, Multiselect Listbox, Radio Group, Segmented Control, and Switch Group components
  • Added case sensitive and fixed string searching to Select, Multiselect, Listbox, and Multiselect Listbox components
  • Fixed modal column types in Tables to scroll if their content overflows
  • Fixed an evaluation issue with self when controlling another component
  • Fixed the bounding box for Container components with children
  • Improved performance when editing a Table component
  • Fixed an evaluation issue with mapped columns in Table components
  • Fixed the context menu so it closes when you click outside of it

Check out this guide to see the on-prem versions and their release notes. These fixes and improvements will be rolling out to on-prem customers in the next few weeks.

Generating forms

Retool’s form generator now lets you automatically create forms with our new input components! Simply drag a Form onto the canvas, click “generate from a resource,” then select your SQL resource and table. In a few steps, you can build a fully functioning form—without writing an insert query or dragging-and-dropping individual components!****

The form generator flow also has a few new improvements, including:

  • Smarter component defaults: given your column type, we’ll select a default type from our new input components. For example, a_ varchar(n)_ column will default to a Text Input but can be changed to an Editable Text, Text Area, or Password. An integer column will default to a Number Input but can be changed to an Editable Number, Percent, Rating, Currency, or Slider.
  • Automatic labels: We automatically generate labels for you (e.g. a column named created_at will be given the label “Created at”). You can also quickly tab through the fields in each row to edit the labels directly before generating your form.

You can always modify or extend your form by dragging-and-dropping other components into the Form and modifying your insert query. Additionally, you can regenerate your form via the context menu (⌃ + click on the Form component). To learn more about building forms in Retool, including more details about form generation, check out the docs. Form generation only works with a subset of SQL resources (PostgreSQL, MySQL, and MS SQL) right now, but if you’d like to see us support other resource types, let us know in the community forum.

Fixes and improvements

  • Added the ability to upgrade deprecated Date Time components
  • Added a transition to the Date and Date Time calendar
  • Fixed DST handling for Date Time components with the time zone value set to "Local time"
  • Fixed formattedValue in Date Time when no timeFormat is specified
  • Improved placeholders for configuring URL parameters
  • Added support for arrays as parameters for Snowflake queries
  • Improved performance of Snowflake queries
  • Fixed query loading indicators in presentation mode
  • Added warning logging when expected SAML fields are unset (on-prem only)

Check out this guide to see the on-prem versions and their release notes. These fixes and improvements will be rolling out to on-prem customers in the next few weeks.

Date, Time, Date Time, and Date Range

Date Range component

We’ve added brand new Date, Time, Date Time, and Date Range components! They are fully keyboard accessible and provide tons of new functionality like automatic time zone handling, expanded formatting options, and more robust validation:

  • Automatic time zone handling: We have a new option called “manage time zone” that allows you to set both a display time zone and a** value time zone**. Display time zone controls how time is displayed to your users, while value time zone controls how it’s encoded. This separation allows you to do things like set your display time zone to follow your user’s local browser, while encoding your times in UTC!
  • Expanded formatting options: both dates and times now support all format strings and times default to a localized format. You can also control the step size of time increments that your users see in the dropdown selection (e.g. 15-minute or 30-minute steps).
  • Validation: You can also set a min/max time and/or a min/max date. The date and time selection UIs respect your component's configured validation, so invalid options are either disabled in the calendar or don’t appear in the dropdown. This even works with “manage time zone” enabled: you can set validation constraints in your value time zone, and the selection UI will correctly adjust, maintaining your display time zone!

Display and value time zone in PDT

These components also support the same options as all of our new input components, including: expanded label support to control position, alignment, and width (in percent, grid columns, or pixels), read only and disabled modes, prefix/suffix text, prefix/suffix icons, an optional tooltip with GitHub flavored markdown, expanded style editor support, and more!

Drop us a note in the community forum if you’d like to see us add more functionality to these components. Date, Time, and Date Time are available now for all users, and Date Range is rolling out over the next week. All of these components will be available in the next on-premise release!

Fixes and improvements

  • Fixed the Image component so it doesn't force authentication in public applications
  • Added query loading indicators in presentation mode
  • Added a transition to the Date and Date Time components’ calendars
  • Added support for a focus state for the Editable Text and Editable Number components

Check out this guide to see the on-prem versions and their release notes. These fixes and improvements will be rolling out to on-prem customers in the next few weeks.