Retool self-hosted 3.52.1

2024-06-06

Digest: sha256:da0ecda9e278215636198b4466b4cc45e74fb926eff19b714869d702adc2f862

Major changes

Retool Forms: Build custom forms on top of a SQL database 10x faster

Retool Spaces for self-hosted deployments

Custom component libraries

Edit Key Value component values

Amazon Bedrock and Knowledge Bases for Retool AI

Add new rows to the Table component

Faster page load times with update batching

Telemetry data for self-hosted deployments

Send audit log events to Datadog

Webdriver tests

Source Control collaborative branches

Split Pane frame

Custom product pages

Custom Python libraries for workflows

Improvements to the Loop block for Retool Workflows now in beta

Internationalization beta

Manually deploy Source Control when upgrading to self-hosted Retool 3.52

Changes

Added

Added support for header-based authentication with workflow and API key rotation functionality.

Added the `apps/` path to Retool API for organizations on the business plan.

Added support for organizations on the business plan to use `user invites` and `attributes` Retool API endpoints.

Added support for deleting custom component libraries using organization-wide settings.

Added font size control to the `Text` component.

Added user email, user SID, and request hostname to audit logs streamed to Datadog.

Added support for clearing input value on change to Select and Multiselect components.

Added support for streaming Amazon Bedrock AI model responses.

Added support for using web apps as 404 and 403 error pages

Added `aria-label` support to Button, Dropdown Button, and Toggle Button components for improved accessibility.

Added a privacy screen option in **Mobile Advanced Settings** to enhance security when a mobile app goes to the background.

Added support for the `JIT_ENABLED` environment variable, with organizational settings taking precedence.

Added font size control dropdown for Button component with options from the theme.

Added biometrics timeout support for user verification.

Added support for HTTPS connections in the code-executor service for main and workflows backend.

Added a reset button to individual style controls for overriding theme editor changes.

Added an outline viewer to the **Run Workflow** resource.

Added a callout to clarify the usage of Auth0 in the **Client Credentials** settings.

Added the option to format transformer code.

Added a sidebar to the theme editor.

Added options to rename and group query folders in the context menu.

Added **Make all columns editable** and bulk operations to the Key Value component.

Implemented `resetInstanceValues()` to the List View component.

Added support for keyboard navigation to the Key Value component.

Added the option to select a demo REST API in the **Get started** modal.

Automatically enable Retool Database for new spaces.

Added APIs for configuration variables.

Added a **Connect** button to the code editor when querying demo resources.

Added support for shortlinks to Source Control branches.

Added a public API endpoint to deploy latest Source Control changes.

Added the option to specify the primary key field in instance values for the List View component.

Added drag-and-drop support to the **Code** tree.

Added support for overriding the **Host** header name in Spaces using an environmental variable.

Added an error message if audit logs cannot be fetched.

Added the `isDraggable` parameter to `SortListItem()`.

Added position changes to the commit diff viewer.

Added the user invite ID as a parameter for the User Invite Retool Event.

Added an AI Chat template for organizations with AI Actions enabled.

Added the ability to position toast stacks beyond the bottom right corner

Added support for Anthropic AI models to the **Generate image from text** AI action.

Added support for automatically granting **Own** access to organizations that use access control features.

Added support for passing URL parameters to a workflow when triggered by a webhook event.

Added support for sending audit log events to Datadog.

Added the `setGrouping()` method to the Table component.

Added the option to configure image columns in the Table component as editable and allow uploads.

Added the option to specify user attributes when inviting users.

Added the option to modify group settings using the Retool API.

Added the option for users to disable sorting in the Table component.

Added Fingerprint and facial recognition support to Retool Mobile.

Added support for more AI models in Retool AI.

Added the `all` option to collapse all expanded rows in the Table component using `collapseRows()`.

Added the `WORKFLOW_TEMPORAL_OPENTELEMETRY_COLLECTOR` environment variable.

Added `expandRows()` and `collapseRows()` methods to the Table component when using expandable rows.

Added the option to enable DataDog application performance monitoring (dd-trace APM) using the `DD_TRACE_ENABLED` environment variable.

Added the `utils.playSound()` JavaScript method to play sound files accessible via URL using Web Audio API.

Fixed

Fixed an issue where the **Get started** modal appeared when switching apps via `utils.openApp`.

Fixed an issue where the email sender parameter validation to return errors instead of throwing them.

Fixed an issue where unsaved changes incorrectly appeared in SSO settings.

Fixed an issue where the WebView component may crash.

Fixed an issue with padding in the Slider component.

Fixed issue where `utils.downloadPage` caused scrolling issues when using split pane.

Fixed an issue where typography theme changes required a page refresh to apply after creating a custom theme.

Fixed an issue where Retool API requests to `/api/organization/spaces/validateElementsToCopy` may return an error.

Fixed an issue with Databricks schema query.

Fixed an issue when attempting to use an unsupported timezone issue in MySQL.

Fixed an issue where mobile apps may crash under certain conditions.

Fixed an issue with the alignment of style inputs in the inspector to avoid layout shifts when focused.

Fixed and issue with workflow webhook returns when multiple editors are open.

Fixed an issue where `resetInstanceValues` improperly reset all changes on nested list views instead of targeting the specific instance.

Fixed an issue that would result in a `500` error with `OAuthCallback` under certain conditions.

Fixed an issue where location pin SVGs would not load on iOS when using the mobile Map component.

Fixed an issue where dragging frames was possible when **Expand contents to fit** was enabled.

Fixed an issue where `email` and `externalIdentifier` did not reflect the correct user.

Fixed an issue with the **Classify Text** AI action when using Azure Open AI.

Fixed an issue with **Auto-grow with content** in the Text Area component.

Fixed an issue where the custom app theme font family was applied to the status bar in presentation mode.

Fixed an issue where removing a module may prevent an Embed app from functioning correctly.

Fixed an issue where **Save event** may be incorrectly visible when editing the Key Value component.

Fixed an issue with the Signature component in iOS Safari.

Fixed an issue with the Wizard component when used with a module.

Fixed an issue where hidden properties may appear when using autocomplete.

Fixed an issue with Retool Email messaging limits.

Fixed an issue with query linting when using the VS Code plug-in.

Fixed an issue with the performance of the Mobile app IDE.

Fixed an issue with the new Loop block for workflows.

Fixed an issue when trying to create vectors without necessary permission.

Fixed an issue where the Collection View mobile component would not display all data.

Fixed an issue with Retool Email messaging limits. (#43064)

Fixed an issue with the default timeout in Loop block v2.

Fixed an issue that allowed XSRF requests when fetching translations.

Fixed an issue with a dependency graph cycle exception to ensure the correct path is returned.

Fixed an issue where the `env` selector does not show which resources are unconfigured for a given environment.

Fixed an issue with the split pane.

Fixed an issue where clicking the **Country** dropdown in a phone number field exits edit mode.

Fixed an issue where the Mapbox Map component may not function correctly.

Fixed an issue with layout jitter when clicking into an Editable Number component for the first time after loading the page.

Fixed an issue with monitoring Retool Email rate limits.

Fixed an issue with Snowflake stream consumption optimization.

Fixed an issue with the display of app titles.

Fixed an issue that prevented the access token creation modal from stretching beyond the bottom of the screen.

Fixed an issue with the Table component where the toolbar button`s `hidden` state was not included in ToolScript.

Fixed an issue with icons in mobile apps.

Fixed an issue with the app diff view appearance.

Fixed an issue with UI schema validation for the JSON Schema Form component.

Fixed an issue where resource integration icons may not appear correctly.

Fixed an issue with the hamburger menu in mobile apps.

Fixed an issue with the VS Code integration where the VS Code response event was not sent.

Fixed an issue with selection of new rows in the Table component.

Fixed an issue with scrollbar behavior in the Key Value component.

Fixed an issue with the avatar placeholder in new rows in the Table component.

Fixed an issue where some placeholder images would not appear.

Fixed an issue where Table columns may not appear when linked to Filter in a module.

Fixed an issue with environment variable control over `iptable` modification for ECS Fargate code executors.

Fixed an issue where private apps could not navigate to another private app when using the **Go to app** option.

Fixed an issue where dropdown menus were clipped unexpectedly.

Fixed an issue with setting mapped options for the Key Value component.

Fixed an issue where editable Key Value options may overflow the container.

Fixed an issue with importing the `latest` version of protected queries.

Fixed an issue with code editor autocomplete and linting.

Fixed an issue with component scrolling inside frames with auto height and **Expand content to fit** enabled.

Fixed an issue where admins could set their user type to **Embed**, locking themselves out of their organization.

Fixed an issue where frame children disappeared on mobile view when frames were renamed.

Fixed an issue where app max width changes were not saved.

Fixed an issue where the sidebar width would flash on page load.

Fixed an issue where the table loading icon would not show while the table fetched data.

Fixed an issue where the send verification button was incorrectly disabled.

Fixed an issue where disabled buttons in table columns still fired event handlers.

Fixed an issue which caused stale updates when modules were referenced by ID, e.g., `module1`.

Fixed an issue where credentials were not saved when users logged in to the CCL support library.

Fixed an issue where the **Protect Query** option still showed when source control was disabled.

Fixed an issue where protected queries would not deploy after changes.

Fixed an issue where stale data was shown in paginated list views.

Fixed an issue where HTML components would open a new tab when target=`_top` was included in the tag.

Fixed an issue where AI actions using `gemini-pro-vision` may not work.

Fixed an issue where app modals and frames may not close in the correct order.

Fixed an issue where app protection may not preserve its functions.

Fixed an issue where members of the default Viewers group may not be able to use all apps.

Fixed an issue where the **Disabled** setting for the Signature Pad component would not work as expected.

Fixed an issue where the **Icon** column type in the Table component would incorrectly display the **Editable** option.

Fixed an issue where the **Request access** button may not appear if **Disable Login with Email and Password** is enabled.

Fixed an issue where the **Temperature** AI action setting would be displayed for AI models that do not support it.

Fixed an issue with custom domains in invite and password reset emails.

Fixed an issue with link and button column text colors in the Table component.

Fixed an issue with Log in with Apple in Retool Mobile.

Fixed an issue with upgrading an existing space from YAML to Toolscript.

Fixed an issue with modules where components within containers could not be moved.

Fixed an issue where password reset or user invitation emails were not being sent.

Fixed an issue where creating an app from a template would not work correctly.

Fixed an issue where passing group IDs as strings containing valid integers resulted in a `400` validation error for embed user creation.

Fixed an issue with setting the `hidden` property in the Key Value component.

Fixed an issue where apps may become unresponsive.

Fixed an issue where buttons may overflow containers on focus.

Fixed an issue where containers may scroll unexpectedly.

Fixed an issue where attributes and metadata may not be correctly set for new users.

Fixed an issue where some Date Time strings were not interpreted correctly.

Fixed an issue where Query Library queries may not be accessible after protection.

Fixed an issue where adding components to multiview containers with **Expand contents to fit** enabled would be blocked incorrectly.

Fixed an issue with the position of input components with dropdowns when placed near the end of the screen.

Fixed an issue when an invalid group ID is used in an embedded app.

Fixed an issue with the height of Table components within containers when used in a module.

Fixed an issue where users created with the Retool API may receive duplicate invites.

Fixed an issue with the sample request body in Retool API documentation for PATCH methods.

Fixed an issue where user invitation information was not returned when retrieving a user group with Retool API.

Fixed an issue where imported queries pinned to the latest version may not update in Retool Embed apps.

Fixed an issue with row grouping in the Table component when scrollbars are visible in the browser.

Fixed an issue where a JavaScript query `error` property was not set when the query failed.

Improved

Improved the minimum height of the SQL editor within a workflow Loop block to ensure the Ask AI assistant is fully embedded.

Upgraded MySQL to 3.9.7.

Improved JDBC performance.

Improved accessibility of Table toolbar items by setting proper attributes and focusing popover content.

Improved the visual presentation of GraphQL key-value pairs.

Improved app rendering performance and reliability.

Improved accessibility of the Table component to ensure correct roles are used.

Improved the Code editor user interface.

IDE performance improvements.

Improved the initial setup experience for custom components.

Improved the design of the homescreen, removing feature callouts and updating the banner layout.

Improved built-in app templates to use newer components and layout functionality.

Improved Query Library button appearance in Safari.

Improved the appearance of in-app notifications.

Improved the Vault list secrets implementation when using certain proxies, such as Envoy and Istio.

Improved the drag-and-drop experience of frames.

Improved the description of standard and end users in billing settings.

Improved the UI for app shortlinks.

Improved the appearance of Button components.

Changed

Users cannot change their password if **Disable Login with Email and Password** is enabled.

Repositioned in-app notifications to the lower-right of the canvas instead of the browser.

Changed the format of dates for user invite responses in Retool API to ISO-8601.

Removed

Removed `app/read` scope from Retool API for organizations on the business plan due to confusion.

Removed the **Starred** items section from the Apps tab. Starred items now appear at the top of the list.

Removed the password protection option from publicly accessible apps.