Skip to main content

Changelog

Updates, changes, and improvements at Retool.

203 posts tagged with "Retool Cloud"

View All Tags

Retool 2.42.3

Transformers for query data

Queries now have built-in transformers, which let you write JS to “transform” the result of any query. For example, if your API returns data in a column-based format, but you want to “transform” the data into an array of objects, you can write a transformer directly in the query. Then, when you use {{ query1.data }} elsewhere, it’ll be transformed, so you won’t have to write the same JS in multiple places.

  • Click “enable” next to the “Transformer” section below your query.
  • Use data in the Query Transformer to access the query results.
  • In the rest of the app, access the transformed results with the data property inside {{ }}, for example with {{ query1.data }}.
  • If you need to, you can still access the original response of the query with {{ queryName.rawData }}.

Note: you can disable the query transformer by clicking the “disable” button.

Example of using the Transformer to filter User IDs with a dynamic slider. Example of using the Transformer to filter User IDs with a dynamic slider.

Click to copy the green “evaluation preview”

Retool now supports copying the content from an “evaluation preview” textbox. ​​

​​For example, in the GIF below, we’re copying the actual live results of a query into a JSON Explorer, so we can inspect it.

Copying the green “evaluation preview” text to inspect the data in a JSON explorer component.

Copying the green “evaluation preview” text to inspect the data in a JSON explorer component.

Copy & paste containers with their children

You can now copy and paste Containers with of their children.

  • Select the parent Container (or Tabbed Container) component.
  • Copy with ⌘ + C on Mac (or CTRL + C on Windows / Linux).
  • Click on the canvas to deselect the Container.
  • Paste with ⌘ + V on Mac (or CTRL + V on Windows / Linux).

Copy and paste containers with their children!

Copy and paste containers with their children!

Paste components inside existing containers

Also, you can also now paste components directly into Container or Tabbed Container components.

  • Click the component and copy it with ⌘ + C on Mac (or CTRL + C on Windows / Linux).
  • Select the Container or individual tab of a Tabbed Container where you want the copy to go.
  • Paste the component with ⌘ + V on Mac (or CTRL + V on Windows / Linux).

Copy and pasting a button from one container to another. Copy and pasting a button from one container to another.

Performance enhancements

Last week, we spent a lot of time working on making Retool faster; now some of that work has been released. Edit mode and Presentation mode are faster, more complex apps should feel snappier, and even tables with custom cell colors & mapped values will load quicker too!

New minor features

  • Added ability to control staging vs. production environment with a URL parameter.
  • Added an onboarding checklist for new users! (If you complete it, we’ll mail you a Retool T-shirt 👕).
  • Updated visual cue to make it more obvious when components reference unsaved queries.
  • Added sms:// and facetime:// to our list of allowed protocols in HTML links.
  • Added option to disable introspection for GraphQL resources.
  • Added ability to specify an audience parameter in OAuth 2.0 authentication for HTTP and GraphQL APIs.
  • Added ability to clear the PDF Viewer component programmatically with .clear().
  • Added better support for newlines when copying text and components to the clipboard.
  • Added option to hide the clear button in Select components (aka Dropdown components).
  • Added option for scroll on the Modal component.

Small fixes

  • Fixed the the display for the “Always show download button” option on Table components.
  • Fixed upsert action for querying Snowflake databases.

Drag and drop

  • 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.

cloud/2-38-59

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.

Retool 2.38.39

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.

Retool 2.38.11

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

Retool 2.38.7

Snowflake Integration

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

Retool 2.38.6

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.

Retool 2.33

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.

Retool 2.32.49

UX Improvements

  • Reorder columns by dragging on the headers of the Table

Screen Recording 2019-01-11 at 09.10 PM.gif

  • The column option editor is more compact and significantly easier to use Screen Recording 2019-01-11 at 09.07 PM.gif

  • We've added a new way to scroll through the list of queries you've made Screen Recording 2019-01-11 at 09.19 PM.gif

Filter and search through Audit Logs

  • Search and filter through the events by page, query, and date in your Audit Logs

Screen Recording 2019-01-11 at 09.25 PM.gif

  • Coming soon: advanced filters by users, query properties, and more.

Free Table refresh and download buttons

  • Tables now come with a refresh button for free! Use it to reload the query that the Table it's connected to.
  • It also comes with a download button that exports the data as a csv file. Screen Recording 2019-01-11 at 09.43 PM.gif

Image component

  • To embed images into Retool, just use the Image component
  • The button is also clickable; you configure it run queries, open other pages, just like a button!

Screen Shot 2019-01-11 at 9.22.33 PM.png

Autocomplete Dropdowns

  • There's now a .searchValue property on dropdowns that allow you to get the currently searched for term.
  • This allows you creating autocomplete searchboxes. See below for an example of it in action!

DropdownSearch

Small, but notable features

  • Retool now allows sharing Salesforce credentials between users.
  • Tables will now auto-infer data types by default, so dates, numbers, and objects are rendered nicely to start off!
  • Reorderable Lists now have a "labels" property, letting users now reorder lists of data with more human-friendly text in the list.
  • Allow queries to delaying post-query run triggers. This is useful with datasources like Elasticsearch, or database connections to replicas that might have a small delay in propagation, as the delay lets the datasource catch up with a recent mutation made to the data.
  • Retool now supports APIs that make use of the double-cookie submit pattern to protect against CSRF attacks.
  • We've made it easier to find the search box for your apps to the home page, or use Ctrl+K or Command+K to open up the search!

Misc new features

  • The Modal component can now be optionally configured to close when clicking outside the modal.
  • The Timeline component can be configured to render its values as HTML. Screen Shot 2019-01-11 at 9.32.26 PM.png
  • The default timeout on MSSQL queries has been increased to 10 minutes.

Retool 2.32.32

Improvements

  • Retool can now connect to MongoDB databases through an SSH Tunnel
  • Dropdowns now use fuzzy searching when matching results
  • Add .reset method to the FilePicker component
  • Improved the Date format in Table components to be clearer and more concise
  • Improved the Editable Table to use a checkbox when editing boolean columns
  • Added the ability to trigger queries after an item is selected in a dropdown

SCIM User Provisioning

  • Retool is now generally available on the Okta integration network for both SAML and SCIM User Provisioning.
  • Creating, updating, and deactivating users are supported by Retool.
  • Syncing Groups and permissions is coming soon!
  • Learn more in the documentation.

New and Updated Integrations

  • CouchDB: We've added support for CouchDB as a database you can connect to. Learn more in the documentation.
  • Firestore: We've added the ability to insert and update data in Firestore.
  • OracleDB: We've added support for writing SQL to OracleDB.
  • Close.io: We've added support for Close.io's API.

Fixed

  • The Calendar component displays all events in the local timezone.
  • Tables with edited cells now always have "Save changes" button visible.
  • The JSON Schema Form component now shows an email input field correctly.
  • Improved speed of selecting icons on textinputs
  • Added support for OAuth2 to GraphQL datasources
  • Fixed bulk updates queries with Redshift datasources
  • Fixed various issues with the Denodo integration