Skip to main content

Self-hosted Retool Edge release 4.40

Releases on the Edge channel occur weekly. Each release occurs one week after the equivalent release for cloud-hosted Retool.

Edge releases are available for organizations that want the latest features or to use closed beta functionality. Retool recommends most organizations use Stable releases unless you have a specific need for Edge releases and can keep your deployment up-to-date.

Retool supports only the most recent release on the Edge channel. As Edge releases are weekly, bug fixes and improvements are included in the next release. All previous releases are then considered deprecated.

Documentation for this release

Retool's main documentation site reflects the latest Edge release. Since Edge updates weekly and only the most recent release is supported, the docs you're already browsing apply to this release — there's no separate version to switch to.

Self-hosted Retool 4.40

Latest releaseCurrently supported

Edge release notes

Bug fixes, improvements, and changes in this release.

TypeDescription
4.40.0105 changes
addedAdded support for a common class of recursive CTEs against row-protected tables. [#81656]
addedAdded a visible keyboard focus state to the top navigation tabs. [#81888]
addedAdded a footer to the Version history panel for managing which release is pinned. [#82258]
addedAdded Japan region routing for the Bedrock Claude Haiku 4.5 model so ap-northeast-1 and ap-northeast-3 requests use the JP inference profile. [#82343]
addedAdded GitLab support for detecting merged pull requests in the new app builder's Publish modal, switching the action button between Open merge request and Push changes. [#82368]
addedAdded a queue panel to the composer in the new app builder that lets you view, edit, reorder, and clear queued prompts while the agent is running. [#82465]
addedAdded a Beta badge to the Access tab in the resource editor for resources with data access enforcement enabled. [#82596]
addedAdded the ability to view and remove file attachments on queued prompts in the new app builder's chat panel. [#82720]
addedAdded an edit-app footer to apps served through the iframe-embedded path in the new app builder. [#82807]
addedAdded support for custom headers on AWS Bedrock AI provider resources. [#82955]
fixedFixed an error in the provider scope modal for AI provider resources when the user has read-only access. [#79775]
fixedFixed migrated Retool AI queries persisting unused image and multimodal model fields onto provider resources. [#80919]
fixedFixed the legacy serverless function runner failing to detect missing per-user authentication for connectors such as Google Sheets. [#81776]
fixedFixed serverless function signatures that declare no params being rejected instead of generating a hook. [#82114]
fixedFixed oversized center-mode images in Retool Mobile on iOS's new architecture. [#82240]
fixedSurfaced grid backend errors in the table creation and edit paths in the UI. [#82254]
fixedFixed stepped spinner icons animating out of alignment with their 8-slot design. [#82291]
fixedFixed the Publish dialog showing a stale app protection status after another user changed it while the dialog was open. [#82306]
fixedFixed offline Retool Storage uploads failing after re-authentication by refreshing session credentials and enforcing per-user ownership on queued uploads. [#82312]
fixedFixed the app preview in the new app builder getting stuck on a loading screen during live edits by upgrading the underlying dev server and its hot-reload handling. [#82318]
fixedFixed the Markdown component dropping the last word of a line on Android due to a text measurement mismatch. [#82334]
fixedFixed the Layout Compiler resizing a component's parent grid unexpectedly when hovering over nested droppables during a resize. [#82350]
fixedFixed the data access enforcement engine failing to load on self-hosted instances due to a missing libpg-query runtime dependency. [#82388]
fixedFixed generated TypeScript resource type declarations for DynamoDB and Google Sheets so backend code type-checking catches invalid usage instead of silently passing. [#82394]
fixedFixed AI agent thread snapshots failing to restore in the new app builder after switching threads. [#82400]
fixedFixed a regression that blocked the Opus model for managed keys in the new app builder. [#82448]
fixedFixed an issue where preview builds in the new app builder could fail to upload because of incorrect branch identification. [#82450]
fixedFixed an issue where users without edit permission on a resource could still see an active Delete option in the resource menu. [#82452]
fixedFixed a confusing error message shown when trying to protect or unprotect an app that was already in the target protection state. [#82463]
fixedFixed a build issue that prevented Python custom libraries requiring native extensions, such as psycopg2, from building in the self-hosted Code Executor image. [#82464]
fixedFixed the Publish button staying stuck in a saving state after switching threads in the new app builder. [#82511]
fixedFixed native Python library builds, such as psycopg2 and cryptography, in the self-hosted Code Executor image. [#82519]
fixedFixed a missing drag preview when dragging a component into a ListView, and fixed resized component previews overflowing their parent width. [#82527]
fixedFixed a bug where submitting a chat message before threads finished loading could send it to the wrong AI resource. [#82540]
fixedFixed personal folder permission checks that could throw an error and return HTTP 422 instead of resolving ownership. [#82566]
fixedFixed a bug that blocked users with write access from loading an OpenAPI spec in the guided REST query editor. [#82575]
fixedFixed empty subfolders that had access only through an ancestor folder grant disappearing from the folder list and search. [#82595]
fixedFixed an intermittent bug that could return an empty type stub file when generating typesheds for the googletrans library in backend functions. [#82611]
fixedFixed a workflow error message that exposed internal security implementation details to users. [#82673]
fixedFixed a race condition on Android that could cause Google Sheets streaming queries to return unusable raw data instead of transformed rows. [#82679]
fixedFixed a bug where publishing a new app builder app with no publishable backend files failed to write a publish manifest, incorrectly prompting some organizations to republish for a custom domain. [#82682]
fixedFixed the app builder's save-error dialog so long error text scrolls instead of pushing action buttons off screen. [#82745]
fixedFixed branch description auto-naming so it keeps updating on every message until a non-default name is generated. [#82748]
fixedFixed the settings sidebar so the Advanced Settings link is no longer obscured by the browser tooltip at the scroll edge. [#82749]
fixedFixed the source control test_deploy endpoint to validate that commit_sha is non-empty instead of returning a generic server error. [#82763]
fixedCorrected outdated wording in the sandbox save-error and custom domain messages about starting new threads and republishing. [#82764]
fixedFixed preview link generation to stay hidden for apps with no commits, since there is nothing to preview. [#82792]
fixedFixed a canvas crash caused by plugin models stored as plain objects instead of Immutable maps in the app model. [#82844]
fixedFixed the sandbox launcher so it no longer silently discards sandbox stderr output during restore. [#82878]
fixedFixed the missing AI credits pricing alert to report the actual model id instead of a generic message. [#82885]
fixedFixed the app builder to capture a thread snapshot after the sandbox resets following a publish. [#82887]
fixedFixed the workflow code executor bundle to resolve compiled JavaScript files at runtime. [#82933]
fixedFixed the Query Library to retain the in-progress query body when switching between resources of the same type. [#82936]
fixedFixed self-hosted Helm deployments with a separate git-server pod so the backend correctly proxies git v2 requests using the RR_GIT_SERVER_HOST setting. [#82965]
changedRenamed the app builder's app-local theme file from orgTheme.css to theme.css, with automatic migration for existing apps. [#81387]
changedCapped the executeJS response body at 100MB. [#82211]
changedUpdated the Tag commit modal for app builder apps, including tag button behavior and tooltips. [#82221]
changedRemoved the Beta label from the Google Drive integration. [#82437]
changedMade the admin settings overview, Day-1 setup wizard, and Action Center generally available for admin and enterprise organizations. [#82588]
changedUpdated the Google Workspace resource icons for Calendar, Docs, Sheets, Slides, Gmail, and Drive to match Google's refreshed brand identity. [#82706]
improvedImproved permission check performance by parallelizing independent phases within access-level resolution. [#82030]
improvedReported Content Security Policy violations from the app builder preview as console errors. [#82197]
improvedImproved app builder agent guidance for discovering resources that belong to a generic resource type. [#82269]
improvedImproved the visual styling of info badges and menu item typography in the new app builder. [#82516]
improvedImproved the new app builder's backend hook regeneration to only rewrite and broadcast changed hook files instead of the full set. [#82705]
improvedImproved the publish and releases modal in the app builder with several small UX refinements. [#82823]
improvedImproved sandbox warm restore so the server-side branch tip is authoritative instead of relying on a websocket-delivered realignment. [#82888]
removedRemoved the promotional banner, video, and button from the form submission success screen. [#82447]
security fixPatched the ws package to version 8.21.2 in the code executor workflows environment. Resolves CVE-2026-48779. [#81022]
security fixPatched the websocket-driver dependency. Resolves CVE-2026-54466 and CVE-2026-54490. [#81175]
security fixPatched the dd-trace dependency. Resolves CVE-2026-50272. [#81176]
security fixBumped the PostgreSQL JDBC driver to 42.7.12. Resolves CVE-2026-54291. [#81503]
security fixBumped the sharp image library to 0.35.3. Resolves GHSA-f88m-g3jw-g9cj. [#81606]
security fixBumped the svgo dependency to patch a cross-site scripting vulnerability in its script-removal plugin. Resolves GHSA-2p49-hgcm-8545. [#81609]
security fixBumped the dompurify dependency to 3.4.12. Resolves GHSA-c2j3-45gr-mqc4. [#81610]
security fixBumped the Java DB connector's jackson dependency to 2.21.5. Resolves CVE-2026-59889 and CVE-2026-54515. [#81612]
security fixFixed a data access enforcement vulnerability that could allow unauthorized access to restricted rows under certain SQL query conditions. [#82080]
security fixFixed a data access enforcement vulnerability that could allow row-level security filters to be bypassed under certain query conditions. [#82178]
security fixFixed a security vulnerability that allowed AI agent thread snapshots in the new app builder to be created or restored across users and organizations. [#82317]
security fixFixed a data access enforcement vulnerability that could incorrectly authorize access to restricted tables under certain conditions. [#82373]
security fixFixed a data access enforcement vulnerability that could allow unauthorized access to column data under certain query conditions. [#82376]
security fixFixed a security vulnerability that allowed a user with write access to an app to start an agent sandbox on another user's thread, exposing that user's working tree, uploads, and agent state. [#82481]
security fixPatched the tar dependency. Resolves GHSA-r292-9mhp-454m. [#82482]
security fixPatched the undici dependency to address multiple vulnerabilities. Resolves CVE-2026-13697, CVE-2026-14643, CVE-2026-15157, CVE-2026-16728, and CVE-2026-16729. [#82483]
security fixPatched the body-parser dependency, which could silently disable body-size-limit enforcement. Resolves CVE-2026-12590. [#82484]
security fixPatched a denial-of-service vulnerability in the linkify-it dependency. Resolves CVE-2026-59887. [#82485]
security fixPatched the ip-address dependency, which allowed IP address parsing bypasses. Resolves CVE-2026-69192, CVE-2026-54272, and CVE-2026-69198. [#82486]
security fixPatched the adm-zip dependency, which could cause out-of-memory errors from a crafted archive. Resolves CVE-2026-39244. [#82495]
security fixPatched the postcss dependency to address multiple vulnerabilities, including an arbitrary file read issue. Resolves CVE-2026-45623, CVE-2026-69153, and GHSA-r28c-9q8g-f849. [#82498]
security fixPatched 16 security vulnerabilities in the Spring Framework dependency used by the JDBC connector by upgrading to version 6.2.19. [#82499]
security fixPatched an authentication bypass vulnerability in the spring-ldap-core dependency used by the JDBC connector. Resolves CVE-2026-41720. [#82500]
security fixPatched denial-of-service vulnerabilities in the brace-expansion dependency. Resolves CVE-2026-14257 and CVE-2026-69152. [#82502]
security fixPatched host-confusion vulnerabilities in the fast-uri dependency. Resolves CVE-2026-13676, CVE-2026-16221, and CVE-2026-18446. [#82504]
security fixRedacted secrets from Postgres connector error logs so values echoed back in error messages are no longer written to logs. [#82798]
security fixUpdated the micrometer dependency in the Java database connector. Resolves CVE-2026-40983 and CVE-2026-40984. [#82799]
security fixPatched the js-yaml dependency. Resolves GHSA-5p4m-2wfm-xmqj. [#82801]
security fixFixed a race condition that let a single passwordless login token be redeemed more than once concurrently. [#82822]
security fixFixed a data access enforcement vulnerability that could allow restricted rows to be read under certain query conditions. [#82856]
fixedFixed the new app builder and Services Debugging page incorrectly reporting Temporal as missing on self-hosted instances using Retool-managed Temporal. [#81811]
fixedFixed non-idempotent database migrations that could break replaying an upgrade to Retool 4.0. [#82251]
fixedFixed leaked connections caused by concurrent Temporal client creation. [#82473]
fixedFixed app identifier collisions when syncing apps built with the new app builder across instances via source control. [#82581]
fixedFixed the new app builder writing the wrong source control identifier to package.json on push, causing naming conflicts on sync. [#82589]
fixedFixed Bitbucket source control sync deleting files beyond the first page of paginated results. [#82899]
security fixDisabled COPY LOCAL for Vertica JDBC connections to prevent local file access. [#82987]
105 changes