Skip to main content

Changelog

Updates, changes, and improvements at Retool.

RethinkDB Integration

  • Added RethinkDB as a Retool integration.
  • Run get, insert, update, delete, and find queries on your database.
  • Let us know what else we can add.

Lambda Integration

  • Added AWS Lambda as a Retool integration.
  • Invoke lambda functions with whatever payload you need.
  • See more info in our docs here.

Improved

  • Added support for sharded Microsoft SQL Server databases.
  • Improved the user management screen in Retool. Disabled users are greyed out, and we show accurate last active dates for each user.

Fixed

  • Fixed how Custom Auth API integrations work in staging environments
  • Fixed how non-string values are passed in FormData API requests.
  • Fixed error that Slack webhooks would return in on premise Retool.
  • Disabled overly aggressive cache headers in on premise Retool.
  • Fixed editing JSON columns in editable tables.

  • We've enabled zooming to the drag and drop interface to make it easier to make big changes to your app.
  • We've made it easier to re-arrange components on crowded applications.
  • We've made it easier to drop components into existing containers.
  • We've added resize handlers to all four corners of every component.
  • We've made it easier to select multiple components.
  • Here's a preview of some of these new features in a gif!

Screen Recording 2019-04-28 at 09.02 PM.gif

Better navigation

  • We've changed our sorting algorithm for the Quick Switcher (use Cmd+K or Ctrl+K to bring it up!) to rank more relevant applications.
  • We've added an interface to switch between apps to the End User mode.

Screen Recording 2019-04-28 at 09.10 PM.gif

Fun confetti!

  • We've added a fun easter egg: make your queries fire off some confetti when it successfully runs!

Screen Recording 2019-04-28 at 09.16 PM.gif

Component changelog

Date Pickers and Date Range Pickers

  • We've added restricting dates your users can select.
  • You can define a minimum and a maximum date for both date pickers and date range pickers.

Screen Shot 2019-04-28 at 8.38.15 PM.png

PDF Viewer

  • We've added the PDF Viewer component. Use this to render PDFs for your users.
  • You can either use a URL or a PDF file that's been encoded as base64.
  • You can get a base64 encoded version of a PDF by using the Retool's REST Query.
  • Here's an end-to-end example of how you might render a PDF from the IRS.

Screen Shot 2019-04-28 at 8.51.02 PM.png

Checkbox Tree

  • We've added a checkbox tree that makes it easy to select categories and subcategories.

Screen Shot 2019-04-28 at 9.28.09 PM.png

Statistics

  • We've added a statistic component to make it easy to render numbers like KPIs, etc.

Screen Shot 2019-04-28 at 9.29.25 PM.png

Integrations changelog

Cassandra improvements

  • We've added writing back to your Cassandra database.
  • We've added support to connect to Cassandra using custom SSL CA Certificates.
  • This feature works in the same way as other SQL Databases like Postgres, MySQL, etc.
  • You'll need to create a new resource with a Cassandra user that has edit permissions.
  • You can learn more about how that works here.

Snowflake improvements

  • We've also added writing back to your Snowflake database.
  • This feature works in the same way as other SQL Databases like Postgres, MySQL, etc.
  • You'll need to create a new resource with a Snowflake user that has edit permissions.
  • You can learn more about how that works here.

REST API Authentication

  • We've added a "Form" step to the Custom Auth method.
  • Use this to ask for credentials like usernames and passwords to pass to your API.
  • Learn more by reading the docs here!

Uncategorized features

Fixed

  • RadioGroup components now overflow correctly.
  • Tables and other components in ListViews now render correctly.
  • JSON Schema Form components with input:range (sliders) now work correctly.
  • JSON Schema Form components that use the required now validate it's inputs correctly.
  • Retool now correctly release and re-use database connections.
  • GraphQL Queries now support Auth0 as an authentication method.
  • MongoDB distinct queries now correctly validate inputs.
  • BigQuery queries now format dates and timestamps correctly.
  • New components created through copy paste now appear on the row below.

Improved

  • We've improved the syntax highlighting for Custom Component editor.
  • We've it easier to switch between mobile and desktop layouts in the drag and drop interface.
  • We've released starter templates that make it easier to build apps in Retool.
  • We've improved how Google Sheet queries.
  • We've added support for connecting to Redis via SSL.
  • We've added support for dynamic MongDB collection names.
  • We've added a currency type to TextInput components.

Multiple Action Buttons

  • Tables now can have multiple action buttons!

Screen Shot 2019-04-07 at 9.05.25 PM.png

Cassandra Integration

  • Retool now supports Cassandra v3+!
  • We support using CQL - a SQL-like query language for Cassandra.
  • See the documentation to learn more.

Google Cloud Storage Integration

  • Retool now supports all the same configurations in S3 with Google Cloud Storage
  • See the documentation to learn more.

Vertica Integration

  • Retool also supports Vertica as a database!
  • Reading and Updating are both supported.
  • See the documentation to learn more.

Map Improvements

  • Added an onViewPortChange hook to trigger queries
  • Added an onPointSelected hook to trigger queries
  • Added .selectPoint(...) as as a method on Map components
  • Improved accuracy of the custom marker positioning
  • Made the Map component update its latitude and longitude property when the viewport updates.
  • Added GeoJSON styling. Try this for an example! { type: 'line', paint: { 'line-width': 5 } }

    Signature Component

    • Retool now has a Signature Component!
    • It exposes a .signatureImageFile that you can use like the Filepicker's .file property to upload the image to services like S3 or even your own API. Screen Shot 2019-04-07 at 9.12.23 PM.png

    Stripe Checkout Component

    • Retool now has a component for collecting credit card information securely through Stripe's SDK.
    • The component exposes a .stripeToken property that you can use with Stripe's API to create a credit card. Screen Shot 2019-04-07 at 9.14.35 PM.png

    Date Range component

    • Retool also has a date range component for selecting begin / end dates. Screen Shot 2019-04-07 at 9.17.08 PM.png

    Various features and improvements

    • Uploaded Excel files are also now automatically parsed!
    • ListViews now have improved performance!
    • Added support for deleting permission groups
    • Added support for copying invite links directly from the Retool settings interface.
    • Show staging / production toggle in the end user mode
    • Support user-defined expiration timeouts for OAuth resources.
    • Added utils.getCurrentPosition which returns a Promise that resolves to the device's current position
    • Fixed bulk operations on Salesforce
    • Fixed intermittent problems with CSV parsing on Windows machines
    • Added option to render dates in Tables in their original timezone.

Custom React Components

  • You can now create your own custom components using React and Javascript.
  • We give you full access to the same APIs that our native components have.
  • For example, you can now use whatever charting library you want (Plot.ly / D3 / etc.) as well as use custom React libraries like Material UI.
  • See below for an example of a Plot.ly scatter chart in Retool. Full docs here

Screen Shot 2019-03-16 at 12.34.31 AM.png

Dynamically Hiding / Showing Components

  • Retool now supports dynamically hiding and showing components.
  • Retool automatically relayouts the app to get rid of the empty whitespace.
  • Check it out in action below! Full docs here Screen Recording 2019-03-16 at 12.25 AM.gif

Undos / Redos

  • Retool now supports undos and redos!
  • On Macs use Cmd+Z to Undo and Cmd+Shift+Z to Redo changes you make while building your apps
  • On Windows / Linux use Ctrl+Z to Undo and Ctrl+Shift+Z to Redo changes you make while building your apps
  • Here it is in action: Screen Recording 2019-03-16 at 12.28 AM.gif

Improved Calendar

  • Added the option to modify and delete events in the calendar
  • Added the ability to set what kind of interactions in the calendar are allowed (e.g. creating events, modifying events, deleting events, etc.)
  • Added the ability to choose the default view of the calendar
  • Added a preview for events selected

Screen Shot 2019-03-16 at 12.45.01 AM.png

OAuth 2.0 Bugfixes

  • Retool now support sharing OAuth 2.0 credentials between users.
  • Retool also supports specifying an OAuth 2.0 Audience.
  • We've greatly improved the reliability of our OAuth 2.0 integration and extended support to GraphQL as well.

On Premise Response Time and Error Monitoring

  • Retool now ships with support for monitoring software.
  • New Relic example config NEW_RELIC_LICENSE_KEY=your-new-relic-license-key NEW_RELIC_APP_NAME=retool-yourcompany-name NEW_RELIC_NO_CONFIG_FILE=true
    • Sentry example config: SENTRY_DSN=your-sentry-dsn

    Google Sheets

    • We've added support for updating Google sheets.
    • More docs and functionality coming soon!

    Misc Features / Bugfixes

    • Added support for triggering queries after a date is selected in the DateTimePicker with the onSelect property
    • Added support for Delimiter in S3's List Objects operation
    • Added support for GraphQL Cursor Based Pagination. Docs here!
    • Added support for ordering in Firebase queries
    • Added support for deleteOne to MongoDB.
    • Added support for dynamic Keys in JSON expressions
    • Improved performance of Retool's Snowflake integration
    • Handle MySQL connections more reliably
    • Added the option to allow dropdowns and multiselects to optionally allow itself to show out-of-range values
    • Added .setImageUrl method to the Image component
    • Whitelisted slack:// and mailto:// URLs for buttons and <a> tags.
    • Added the ability to set a delay before initially running a query on page load.
    • Added a Looker integration into Retool.
    • Added magic constants USER_GOOGLE_ID and USER_PRIMARY_EMAIL that can be used in the REST API integration to pass the currently logged in user's email / google id to the API server.
    • Improved how Retool serializes Firebase refs.
    • Added support for all Redis commands.
    • Added support for choosing a TDS version for Microsoft SQL Server.
    • Fixed several issues with the Map component and it's parsing of GeoJSON
    • Fixed logic for verifying if the user is currently logged into an API.
    • Fixed error handling for GraphQL queries.
    • Fixed a rare yet inexplicable bug where a Retool app will appear to be completely wiped clean.

New Integrations

  • Redis Integration: GET DEL and SET keys in Redis!
  • Looker Integration: seamlessly embed Looker dashboards inside Retool

New and Fixed

  • Canvas Shortcuts: use arrow keys to move components on the canvas!
  • Partial updates to Firestore collections has been added
  • GraphQL now supports OAuth 2.0 Client Credentials as an auth method.
  • Microsoft SQL Server connections now supports older databases like SQL Server 2000.
  • Maps can be configured to also show the lat-lng coordinate of the mouse position:

Screen Shot 2019-02-14 at 1.19.18 AM.png

Snowflake Integration

  • We've released a Snowflake Integration with Retool.
  • Use SQL to query your Snowflake Database

Managing User Permission Improvements

  • The Permissions dashboard has been optimized to work with cases with large numbers of users and apps
  • Searching for users and apps now works through fuzzy matching.
  • Add an option to set the permissions of a group to "none"

Mandatory 2FA

  • Admins can now require all users to enable 2FA.

JSON Schema Form improvements

  • Fixed: the form will only begins validating once inputs are dirty
  • The form now supports ui:disabled and ui:readonly
  • Added an option to either validate the form as the user types, or only when the form is submitted.

Misc

  • Add .skip parameter to our CouchDB integration
  • Initial page load time for on-premise Retool users can be up to 2-3s faster.

Filter Audit Logs by User

  • The Audit Logs can now be filtered by users as well.

Screen Shot 2019-02-04 at 12.54.18 AM.png

Firestore References

  • Firestore query by reference / inserting and updating references.
  • Here's an example of how to specify that a string should be a "reference" type:

Screen Shot 2019-02-04 at 12.56.13 AM.png

  • Inspired by the MongoDB Extended JSON syntax, you use $ref to specify that the string should be a ref. In any place where you might be a normal value you can now use the following to refer to a reference.
{ $ref: "collection/documentId" }

Misc

  • The moment-timezone library has been added to Retool. You can now use expressions like {{ moment.tz('2019-10-10 13:43', 'America/New_York').toISOString() }} to convert dates in different timezones

Performance Improvements

  • We've optimized filtering through the audit logs that Retool collects so that you can now efficiently trawl through all the queries that your users have run in Retool.
  • Apps should now start up between 1-2s faster on average.
  • Tables are more efficient when rendering large amounts of data.

Disabled Controls

  • Every control in Retool now can be dynamically disabled
  • This includes Text Inputs, Dropdowns, MultiSelects, RadioGroups, Checkboxes, Checkbox Groups, Button Groups, Rating components, and more.

Custom Tooltips

  • Every control can now also have a custom tooltip! Screen Shot 2019-01-31 at 8.30.54 PM.png

Git Integration

  • Retool supports version controlling and serializing apps to a git repo
  • Retool also supports reading and recreating apps from a git repo
  • This allows for designing pull-request flows for deploying apps from staging environments to production environments.
  • To learn more, see the documentation.

Permissions Redesign

  • The entire UI for interacting with users, groups, and apps have been modified for more clarity.

Screen Shot 2019-01-31 at 8.41.50 PM.png

Fixed and Misc Features

  • Components in modals will render with the correct sizes in Firefox.
  • We've added a Date Time column type to Tables.
  • Deleting components will automatically trigger a save point in Retool.
  • You can now trigger queries when checkboxes are switched on and off.
  • MongoDB validations for field, limit, and skip have been fixed.
  • Retool apps now live on /apps instead of /presentation
  • The Retool autocomplete now triggers in more sensible scenarios
  • Retool folders are now sorted alphabetically

Prettify the Database Editor

  • Check out our new interfaces!

Screen Shot 2019-01-18 at 5.12.15 PM.png

Screen Shot 2019-01-18 at 5.12.45 PM.png

Screen Shot 2019-01-18 at 5.13.28 PM.png

Empty folders hidden for end-users

  • Your users of your apps only see the folders in Retool that have apps that they have access to.
  • Developers still see empty folders (so you can add apps to empty folders!)

Noteworthy features and bugfixes

  • Retool apps now look nicer by default with better contrast.
  • Containers are smaller by default, making them easier to create.
  • Fixed: inline <style> tags in Text components behave more consistently
  • Fixed: the Audit Logs now renders long context nicely.