{
    "version": "https://jsonfeed.org/version/1",
    "title": "Retool Changelog",
    "home_page_url": "https://docs.retool.com/changelog",
    "description": "Updates, changes, and improvements at Retool.",
    "items": [
        {
            "id": "https://docs.retool.com/changelog/multipage-apps",
            "content_html": "<p><a href=\"https://docs.retool.com/changelog/multipage-apps-beta\">Multipage apps</a> are now generally available. Any new Retool apps that you create will support multiple pages by default. The creation of single-page apps is still supported but they are now considered legacy. Multipage for mobile apps remains in beta.</p>\n<p>Building apps with multiple pages enables you to combine functionality and use cases. Retool only evaluates the code and components of the page currently in view, providing the following benefits:</p>\n<ul>\n<li><strong>Greater performance of large and complex apps</strong>. Since Retool only evaluates code and components for the current page, apps can perform 30-40% faster.</li>\n<li><strong>Seamless navigation between pages</strong>. Navigation between pages is seamless and more responsive than before as Retool only evaluates the current page, not the entire app.</li>\n<li><strong>Improved app management</strong>. Multiple pages can replace multiple apps in your organization, such as a team's frequently used apps. This reduces the number of apps to maintain and allows for easier permission management.</li>\n<li><strong>Reduced module dependency</strong>. Modules are commonly used to create shared navigation menus across multiple apps. With multiple pages, you can eliminate the need for additional modules and the complexities with maintaining them.</li>\n</ul>\n<p>Each app uses global and page scopes to separate pages. Globally scoped code, and Header and Sidebar frames, are available for use across every page, while each page has its own page-scoped code and components.</p>",
            "url": "https://docs.retool.com/changelog/multipage-apps",
            "title": "Retool apps now support multiple pages by default",
            "summary": "Multipage apps are now generally available. Any new Retool apps that you create will support multiple pages by default. The creation of single-page apps is still supported but they are now considered legacy. Multipage for mobile apps remains in beta.",
            "date_modified": "2024-12-18T15:00:00.000Z",
            "author": {
                "name": "Matthew Carroll"
            },
            "tags": [
                "Apps"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/test-deployments",
            "content_html": "<p>You can now test deployments when using Source Control, preventing changes that leave your Retool instance in a broken state. Retool added the <a href=\"https://docs.retool.com/reference/api/v2#tag/Source-Control/paths/~1source_control~1test_deploy/post\">Test source control changes</a> endpoint to the Retool API, which enables you to test whether implementing a change will result in deployment issues.</p>\n<p>You can also incorporate this check into your continuous integration process if desired.</p>",
            "url": "https://docs.retool.com/changelog/test-deployments",
            "title": "Test deployments for Source Control",
            "summary": "You can now test deployments when using Source Control, preventing changes that leave your Retool instance in a broken state. Retool added the Test source control changes endpoint to the Retool API, which enables you to test whether implementing a change will result in deployment issues.",
            "date_modified": "2024-12-11T10:00:00.000Z",
            "author": {
                "name": "Shannon Largman"
            },
            "tags": [
                "Source Control"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/navigation-improvements",
            "content_html": "<p>Improvements to the <a href=\"https://docs.retool.com/apps/reference/components/navigation\">Navigation</a> component are now available. When you add a Navigation component to an app with multiple pages, Retool automatically configures the menu items to map to the pages of your app. Event handlers are also preconfigured, and clicking a menu item takes you to the corresponding page.</p>\n<p>You can still customize the Navigation component to have different behavior, if desired. Refer to the <a href=\"https://docs.retool.com/apps/guides/interaction-navigation/navigation\">Navigation guide</a> for more information.</p>\n<p>This change also made <code>retoolContext.pages</code> and <code>retoolContext.currentPage</code> available. Refer to the <a href=\"https://docs.retool.com/apps/reference/objects/retoolcontext\">Retool Context reference</a> for more information.</p>\n<p>This change is currently available on Retool Cloud, and it will be available on Self-hosted Retool 3.123-edge.</p>",
            "url": "https://docs.retool.com/changelog/navigation-improvements",
            "title": "Improvements to the Navigation component",
            "summary": "Improvements to the Navigation component are now available. When you add a Navigation component to an app with multiple pages, Retool automatically configures the menu items to map to the pages of your app. Event handlers are also preconfigured, and clicking a menu item takes you to the corresponding page.",
            "date_modified": "2024-12-11T00:00:00.000Z",
            "author": {
                "name": "Darya Verzhbinsky"
            },
            "tags": [
                "Apps",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/self-hosted-retool-3114-stable",
            "content_html": "<p>Self-hosted Retool 3.114 is now available on the <a href=\"https://docs.retool.com/releases/stable\">Stable release</a> channel.</p>\n<!-- -->\n<p>Retool releases a version on the <a href=\"https://docs.retool.com/releases/stable\">Stable</a> channel every 13 weeks (quarterly). A Stable release is generally four versions behind the cloud-hosted version at the time.</p>\n<p>Preparation and testing of a Stable version occurs approximately four weeks prior to its release. Stable releases are rigorously tested before they are published. As the release cycle is less frequent, administrators can more easily maintain and upgrade deployments.</p>\n<!-- -->\n<!-- -->\n<p>Retool supports each Stable release for six months. During this time, Retool will release patch updates that contain bug fixes or security updates. Patch updates do not contain functionality changes and can be applied more quickly than performing a full version upgrade.</p>\n<div class=\"theme-admonition theme-admonition-tip admonition_Gfwi alert alert--success\"><div class=\"admonitionContent_UjKb\"><p>Retool provides versioned product documentation for supported Stable releases. When browsing Retool Docs, use the version dropdown menu in the navbar to switch to a relevant version.</p></div></div>\n<p>After six months, a Stable release is considered deprecated. You can continue using a deprecated release but it will no longer receive updates. At this time, you should upgrade to the latest Stable release.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"release-notes\">Release notes<a href=\"https://docs.retool.com/changelog/self-hosted-retool-3114-stable#release-notes\" class=\"hash-link\" aria-label=\"Direct link to Release notes\" title=\"Direct link to Release notes\">​</a></h2><p>Learn about the latest features, changes, and improvements in self-hosted Retool. You can also compare release versions to get a complete list of all changes.</p><div class=\"demo margin-bottom--md\"><iframe height=\"800px\" width=\"100%\" frameborder=\"none\" src=\"https://docsdemos.retool.com/p/self-hosted-releases?hideNav=true&amp;channel=stable&amp;newRelease=3.114\" title=\"retool\"></iframe></div>",
            "url": "https://docs.retool.com/changelog/self-hosted-retool-3114-stable",
            "title": "Self-hosted Retool 3.114 Stable",
            "summary": "Self-hosted Retool 3.114 is now available on the Stable release channel.",
            "date_modified": "2024-12-05T12:00:00.000Z",
            "tags": [
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/mysql-connector-1-deprecation",
            "content_html": "<p>Retool has deprecated version 1.0 of the MySQL connector. If your organization has any MySQL resources that still use this connector version, update their configuration to use the version 2.0 connector.</p>\n<p>The option to use version 1.0 of the MySQL connector will be removed in Q2 2025 from Retool Cloud and subsequent releases of self-hosted Retool.</p>",
            "url": "https://docs.retool.com/changelog/mysql-connector-1-deprecation",
            "title": "Deprecation of MySQL Connector version 1.0",
            "summary": "Retool has deprecated version 1.0 of the MySQL connector. If your organization has any MySQL resources that still use this connector version, update their configuration to use the version 2.0 connector.",
            "date_modified": "2024-12-03T15:00:00.000Z",
            "author": {
                "name": "Himanshu Bhandoh"
            },
            "tags": [
                "Deprecation",
                "Resources"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/remove-image-proxy",
            "content_html": "<p>Due to potential security concerns, Retool is removing certain functionality that enables <a href=\"https://docs.retool.com/org-users/quickstart#external-users\">external app users</a> to download images. No security breach or active vulnerability has occurred, and you do not need to take any security-specific actions.</p>\n<p>External and embedded, publicly available apps will no longer support:</p>\n<ul>\n<li><strong>Download Image columns in the Legacy Table component.</strong> Use an alternative method, such as a Link or Button <a href=\"https://docs.retool.com/apps/guides/data/table#change-column-types\">column type</a>, for image URL links. Retool strongly recommends you migrate to the current <a href=\"https://docs.retool.com/apps/reference/components/table\">Table</a> component instead.</li>\n<li><strong>Export PDFs with images hosted on separate domains.</strong> All other components will be included in the <a href=\"https://docs.retool.com/queries/guides/generate-pdfs\">PDF export</a>. Retool recommends moving your publicly-hosted images to be hosted on the same domain as your Retool instance. For example, you could use images that are natively uploaded to the <a href=\"https://docs.retool.com/apps/reference/components/image\">Image</a> component, stored in <a href=\"https://docs.retool.com/data-sources/quickstarts/retool-storage\">Retool Storage</a>, stored in <a href=\"https://docs.retool.com/data-sources/quickstarts/retool-database\">Retool Database</a>, Base64-encoded, or stored in an <a href=\"https://docs.retool.com/queries/tutorials/examples/s3\">Amazon S3</a> bucket.</li>\n</ul>\n<p>These features are no longer available on Retool Cloud and Self-hosted Retool 3.114-edge or later. These features will be removed in the next stable release of Self-hosted Retool.</p>\n<p>Administrators of self-hosted organizations can check which apps might be affected by running the following query on the deployment's <a href=\"https://docs.retool.com/self-hosted/quickstart#storage-database\">storage database</a>:</p>\n<div class=\"language-sql codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#F8F8F2;--prism-background-color:#282A36\"><div class=\"codeBlockContent_biex\"><pre tabindex=\"0\" class=\"prism-code language-sql codeBlock_bY9V thin-scrollbar\" style=\"color:#F8F8F2;background-color:#282A36\"><code class=\"codeBlockLines_e6Vv\"><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">SELECT</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\">    p</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token plain\">uuid</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">,</span><span class=\"token plain\"> p</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token plain\">name</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">,</span><span class=\"token plain\"> ps</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token string\" style=\"color:rgb(255, 121, 198)\">\"updatedAt\"</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\"></span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">FROM</span><span class=\"token plain\"> embeds e</span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\"></span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">INNER</span><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">JOIN</span><span class=\"token plain\"> pages p </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">ON</span><span class=\"token plain\"> p</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token plain\">id </span><span class=\"token operator\">=</span><span class=\"token plain\"> e</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token string\" style=\"color:rgb(255, 121, 198)\">\"pageId\"</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\"></span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">INNER</span><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">JOIN</span><span class=\"token plain\"> </span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">(</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\">    </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">SELECT</span><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">DISTINCT</span><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">ON</span><span class=\"token plain\"> </span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">(</span><span class=\"token plain\">ps</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token string\" style=\"color:rgb(255, 121, 198)\">\"pageId\"</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">)</span><span class=\"token plain\"> ps</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token string\" style=\"color:rgb(255, 121, 198)\">\"pageId\"</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">,</span><span class=\"token plain\"> ps</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token string\" style=\"color:rgb(255, 121, 198)\">\"updatedAt\"</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">,</span><span class=\"token plain\"> ps</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">data</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\">    </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">FROM</span><span class=\"token plain\"> page_saves ps</span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\">    </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">ORDER</span><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">BY</span><span class=\"token plain\"> ps</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token string\" style=\"color:rgb(255, 121, 198)\">\"pageId\"</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">,</span><span class=\"token plain\"> ps</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token string\" style=\"color:rgb(255, 121, 198)\">\"createdAt\"</span><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">DESC</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\"></span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">)</span><span class=\"token plain\"> ps </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">ON</span><span class=\"token plain\"> ps</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token string\" style=\"color:rgb(255, 121, 198)\">\"pageId\"</span><span class=\"token plain\"> </span><span class=\"token operator\">=</span><span class=\"token plain\"> p</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token plain\">id</span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\"></span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">WHERE</span><span class=\"token plain\"> p</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token string\" style=\"color:rgb(255, 121, 198)\">\"deletedAt\"</span><span class=\"token plain\"> </span><span class=\"token operator\">IS</span><span class=\"token plain\"> </span><span class=\"token boolean\">NULL</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\"></span><span class=\"token operator\">AND</span><span class=\"token plain\"> </span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">(</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\">    </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">data</span><span class=\"token plain\">::</span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">text</span><span class=\"token plain\"> </span><span class=\"token operator\">like</span><span class=\"token plain\"> </span><span class=\"token string\" style=\"color:rgb(255, 121, 198)\">'%ImageDataCell%'</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\">    </span><span class=\"token operator\">OR</span><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">data</span><span class=\"token plain\">::</span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">text</span><span class=\"token plain\"> </span><span class=\"token operator\">like</span><span class=\"token plain\"> </span><span class=\"token string\" style=\"color:rgb(255, 121, 198)\">'%utils.downloadPage%'</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\">    </span><span class=\"token operator\">OR</span><span class=\"token plain\"> </span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">data</span><span class=\"token plain\">::</span><span class=\"token keyword\" style=\"color:rgb(189, 147, 249);font-style:italic\">text</span><span class=\"token plain\"> </span><span class=\"token operator\">like</span><span class=\"token plain\"> </span><span class=\"token string\" style=\"color:rgb(255, 121, 198)\">'%utils.serializePage%'</span><span class=\"token plain\"></span><br></span><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\"></span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">)</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">;</span><br></span></code></pre><div class=\"buttonGroup__atx\"><button type=\"button\" aria-label=\"Copy code to clipboard\" title=\"Copy\" class=\"clean-btn\"><span class=\"copyButtonIcons_eSgA\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" class=\"copyButtonIcon_y97N\"><path fill=\"currentColor\" d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"></path></svg><svg viewBox=\"0 0 24 24\" class=\"copyButtonSuccessIcon_LjdS\"><path fill=\"currentColor\" d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"></path></svg></span></button></div></div></div>",
            "url": "https://docs.retool.com/changelog/remove-image-proxy",
            "title": "Removal of image download functionality for external app users",
            "summary": "Due to potential security concerns, Retool is removing certain functionality that enables external app users to download images. No security breach or active vulnerability has occurred, and you do not need to take any security-specific actions.",
            "date_modified": "2024-11-19T12:00:00.000Z",
            "author": {
                "name": "Julie Chen"
            },
            "tags": [
                "Deprecation",
                "Security",
                "Apps"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/performance-improvements-apps-modules",
            "content_html": "<p>Apps that contain modules are now much more performant and can load up to 1.5–2x faster than before. For self-hosted organizations, these improvements also reduce the resources needed by apps and modules, such as CPU load.</p>\n<p>These performance improvements are available on Retool Cloud and the current <a href=\"https://docs.retool.com/releases/edge\">edge release</a> of Self-hosted Retool. The improvements will also be part of the next <a href=\"https://docs.retool.com/releases/stable\">stable release</a> of Self-hosted Retool.</p>",
            "url": "https://docs.retool.com/changelog/performance-improvements-apps-modules",
            "title": "Improved performance of apps using modules",
            "summary": "Apps that contain modules are now much more performant and can load up to 1.5–2x faster than before. For self-hosted organizations, these improvements also reduce the resources needed by apps and modules, such as CPU load.",
            "date_modified": "2024-11-08T12:00:00.000Z",
            "author": {
                "name": "Francis Chalissery"
            },
            "tags": [
                "Apps"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/self-hosted-retool-increased-memory-usage",
            "content_html": "<p>As a result of new features an improvements in self-hosted Retool 3.114, base memory usage for this and future releases is approximately 20% higher. If you experience performance issues after upgrading, consider increasing the allocated memory for your deployment.</p>",
            "url": "https://docs.retool.com/changelog/self-hosted-retool-increased-memory-usage",
            "title": "Increased memory usage for self-hosted Retool 3.114 and later",
            "summary": "As a result of new features an improvements in self-hosted Retool 3.114, base memory usage for this and future releases is approximately 20% higher. If you experience performance issues after upgrading, consider increasing the allocated memory for your deployment.",
            "date_modified": "2024-11-07T12:00:00.000Z",
            "tags": [
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/copy-queries-multipage-apps",
            "content_html": "<p>You can now copy a query from one multipage app and paste it into another. Right-click on a query and select <strong>Copy</strong> then navigate or switch to a tab with another multipage app. You can paste the copied query as either a globally scoped or page-scoped query by right-clicking in the <strong>Code</strong> panel.</p>",
            "url": "https://docs.retool.com/changelog/copy-queries-multipage-apps",
            "title": "Copy queries across multipage apps",
            "summary": "You can now copy a query from one multipage app and paste it into another. Right-click on a query and select Copy then navigate or switch to a tab with another multipage app. You can paste the copied query as either a globally scoped or page-scoped query by right-clicking in the Code panel.",
            "date_modified": "2024-11-06T12:00:00.000Z",
            "author": {
                "name": "Eric Hsu"
            },
            "tags": [
                "Apps",
                "Beta"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/query-triggers",
            "content_html": "<p><a href=\"https://docs.retool.com/workflows/guides/query\">Query triggers</a>, a new method for triggering workflows, are now available. Query triggers poll for messages from <a href=\"https://docs.retool.com/data-sources/tutorials/connect/amazon-sqs\">Amazon SQS</a> and <a href=\"https://docs.retool.com/data-sources/tutorials/connect/kafka\">Kafka</a> resources and execute a workflows run for each message. These triggers are configurable to poll for messages on an interval or on a cron schedule.</p>\n<p>Query triggers are currently rolling out on Retool Cloud. This feature will be available in <a class=\"glossary public-beta\" target=\"_blank\" rel=\"noopener noreferrer\">public beta</a> on Self-hosted Retool 3.114-edge and the next stable release.</p>",
            "url": "https://docs.retool.com/changelog/query-triggers",
            "title": "Query triggers",
            "summary": "Query triggers, a new method for triggering workflows, are now available. Query triggers poll for messages from Amazon SQS and Kafka resources and execute a workflows run for each message. These triggers are configurable to poll for messages on an interval or on a cron schedule.",
            "date_modified": "2024-11-05T12:00:00.000Z",
            "author": {
                "name": "Himanshu Bhandoh"
            },
            "tags": [
                "Workflows"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/retool-storage-self-hosted",
            "content_html": "<p>Retool Storage is now available to self-hosted organizations as a file management interface for an S3 or Google Cloud Storage bucket. Because you control your own file storage bucket on self-hosted deployments, there are no data limits or overages for Retool Storage on self-hosted deployments.</p>\n<p>Retool Storage for self-hosted deployments is available in the current <a href=\"https://docs.retool.com/releases/edge\">Edge</a> release and in the next <a href=\"https://docs.retool.com/releases/stable\">Stable</a> release.</p>",
            "url": "https://docs.retool.com/changelog/retool-storage-self-hosted",
            "title": "Retool Storage now available for self-hosted deployments",
            "summary": "Retool Storage is now available to self-hosted organizations as a file management interface for an S3 or Google Cloud Storage bucket. Because you control your own file storage bucket on self-hosted deployments, there are no data limits or overages for Retool Storage on self-hosted deployments.",
            "date_modified": "2024-11-05T12:00:00.000Z",
            "author": {
                "name": "Michael Huang"
            },
            "tags": [
                "Self-hosted Retool",
                "Storage"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/error-monitoring-ga",
            "content_html": "<p>Error monitoring for apps is now generally available on Retool Cloud. It will be available in Self-hosted Retool 3.114 Edge and a subsequent stable release.</p>\n<p>You can set up <a href=\"https://docs.retool.com/apps/guides/observability/error-reporting\">integrations with Datadog and Sentry</a>. With these integrations, app errors are reported with a callstack and descriptive tags when you view and interact with an app in preview or public (end-user) mode.</p>\n<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAADCAYAAACqPZ51AAAACXBIWXMAABYlAAAWJQFJUiTwAAAASElEQVR4nG3MwQrAMAgDUP//S7vbHMWiNma4W2GBHAKPyBgX55wEirlBAPyL3I8xIz6wUayqA/SOCEq/qSrNFm053Z2ZebThC1YMde9tcd8AAAAAAElFTkSuQmCC&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"228\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/integrations.d0bda0f.800.png\" srcset=\"/assets/ideal-img/integrations.d0bda0f.800.png 800w,/assets/ideal-img/integrations.8de414c.1200.png 1200w,/assets/ideal-img/integrations.9336ebf.1600.png 1600w\" alt=\"Observability integrations.\" width=\"800\" height=\"228\"></noscript></div><figcaption class=\"caption\"><span>Observability integrations.</span></figcaption></figure></div>\n<p>To connect third-party observability providers, you can <a href=\"https://docs.retool.com/workflows/guides/custom-error-reporting\">report app errors using Retool Events</a> and build a workflow that triggers whenever an app error occurs and automatically notifies your observability provider.</p>\n<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAcklEQVR4nD2OCwrEMAhEe//TxtRv7PKWhO0K4iiPca4hQlWRmcx7kkcXpsqtSmSi7ly6lwi6FyKGqlOZRCRDHPOgV3O5O2aGuzGnIxI83ez7GPf51v0DX9hsOy2ez+dE2XPX3/Ft1Q3byeXmVCVrrRPtC7yWwmhTf5ZqAAAAAElFTkSuQmCC&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"377\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/workflow.2160a15.800.png\" srcset=\"/assets/ideal-img/workflow.2160a15.800.png 800w,/assets/ideal-img/workflow.103c6c8.1200.png 1200w,/assets/ideal-img/workflow.14a59ba.1600.png 1600w\" alt=\"A workflow for the Report App Errors event.\" width=\"800\" height=\"377\"></noscript></div><figcaption class=\"caption\"><span>A workflow for the Report App Errors event.</span></figcaption></figure></div>",
            "url": "https://docs.retool.com/changelog/error-monitoring-ga",
            "title": "General availablility of error monitoring for apps",
            "summary": "Error monitoring for apps is now generally available on Retool Cloud. It will be available in Self-hosted Retool 3.114 Edge and a subsequent stable release.",
            "date_modified": "2024-11-04T12:00:00.000Z",
            "author": {
                "name": "Alex Wang"
            },
            "tags": [
                "Apps",
                "Mobile",
                "Observability"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/theming-source-control",
            "content_html": "<p>Enterprise users can now protect organization-level themes using <a href=\"https://docs.retool.com/source-control\">Source Control</a>. This enables you to safely replicate <a href=\"https://docs.retool.com/apps/guides/presentation-styling/themes\">organization-level theme configurations</a> across multiple instances of Retool. You can use protected themes with any of Retool's <a href=\"https://docs.retool.com/source-control/quickstart#get-started\">supported source control management (SCM) providers</a>.</p>\n<div class=\"theme-admonition theme-admonition-note admonition_Gfwi alert alert--secondary\"><div class=\"admonitionContent_UjKb\"><p><a href=\"https://docs.retool.com/source-control/guides/manage-branches\">Branching</a> is not supported for themes. You can merge changes into the remote repository, but you can't create a branch for themes using Source Control.</p></div></div>\n<p>Source Control for theming is generally available on Retool Cloud, and it will be available on Self-hosted Retool 3.114 Edge and the upcoming stable release.</p>",
            "url": "https://docs.retool.com/changelog/theming-source-control",
            "title": "Protect themes with Source Control",
            "summary": "Support for protecting themes with Source Control.",
            "date_modified": "2024-11-01T09:00:00.000Z",
            "author": {
                "name": "Brenna Chen"
            },
            "tags": [
                "Enterprise",
                "Source Control"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/charts",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAv0lEQVR4nB3OQW7CQAxA0bn/4bqrKrFoiQICCkkmY4/tMa1+VQ7wpFcskvXbqZKcL84qT+oSvM/J1xxYd/aHU5o696rUJrTWqE0R7RxvynkxVBXtRvGR6GqcHsnh6GQktgWrJNsSmA3aGpRNnLp3pnvwcXK6Ga0p1xrcNmcXZRenZCbeBz/P5DcGIobsHdGBSRAeDBsU88H+6C99uSrTbXCcnbfP4DD5C26LUSKCMQIRRfp/vL/ymYORibSGh/MHO5MMfbYAHdcAAAAASUVORK5CYII=&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"567\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/charts.e04cb2c.800.png\" srcset=\"/assets/ideal-img/charts.e04cb2c.800.png 800w,/assets/ideal-img/charts.d70f9ba.1138.png 1138w\" width=\"800\" height=\"567\"></noscript></div><figcaption class=\"caption\"><span><p>New chart components.</p></span></figcaption></figure></div>\n<p>Retool now supports 15 preset chart components, eliminating the need to manually write Plotly JSON for basic chart types. This change enables users to more easily create and customize chart and graphs in their apps.</p>\n<p>Features of the new chart components include:</p>\n<ul>\n<li>Support for multiple data sources in series-based charts.</li>\n<li>Data grouping and aggregation.</li>\n<li>Customizeable titles, legends, labels, and toolbars.</li>\n<li>Configurable user interactivity.</li>\n<li>Advanced use cases using the Plotly JSON Chart.</li>\n</ul>\n<p>Retool now provides the following chart components:</p>\n<ul>\n<li><a href=\"https://docs.retool.com/apps/reference/components/bar-chart\">Bar Chart</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/bubble-chart\">Bubble Chart</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/funnel-chart\">Funnel Chart</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/heat-map\">Heat Map</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/line-chart\">Line Chart</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/mixed-chart\">Mixed Chart</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/pie-chart\">Pie Chart</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/plotly-json-chart\">Plotly JSON Chart</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/sankey-chart\">Sankey Chart</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/scatter-chart\">Scatter Chart</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/sparkline\">Sparkline</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/stacked-bar-chart\">Stacked Bar Chart</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/sunburst-chart\">Sunburst Chart</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/treemap\">Treemap</a></li>\n<li><a href=\"https://docs.retool.com/apps/reference/components/waterfall-chart\">Waterfall Chart</a></li>\n</ul>\n<p>The new chart components are generally available on Retool Cloud. They will be generally available in a subsequent edge release of Self-hosted Retool and the upcoming stable release.</p>",
            "url": "https://docs.retool.com/changelog/charts",
            "title": "New chart components",
            "summary": "<Image",
            "date_modified": "2024-10-31T12:00:00.000Z",
            "author": {
                "name": "Francis Chalissery"
            },
            "tags": [
                "Apps",
                "New",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/theme-editor",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAeElEQVR4nD2OSwpCQQwE5/5X1KXoRhDxvUky+ZRkQANNoKl0Z5znSc8hyeXmXO+xFVlkBmbKtGDMOclwxOH5eHG8P8hKqoqIQFXxSIaIbHMtx9SoSqhOyw12kJkxurqNlrtvYK3139KgKqOjf2CrgT6oAveFquxfvyBFw8rTjzbuAAAAAElFTkSuQmCC&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"425\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/theme-editor.f926e00.800.png\" srcset=\"/assets/ideal-img/theme-editor.f926e00.800.png 800w,/assets/ideal-img/theme-editor.b44bff4.1200.png 1200w,/assets/ideal-img/theme-editor.f7d5060.1600.png 1600w\" width=\"800\" height=\"425\"></noscript></div><figcaption class=\"caption\"><span><p>Organization-level theme editor.</p></span></figcaption></figure></div>\n<p>An updated Theming experience is now available. Users on the Business and Enterprise plans can now see a revamped organization-level theme editing experience with expanded functionality, including:</p>\n<ul>\n<li>The ability to create custom color, typography, and metric tokens for use in the theme editor and app component styles.</li>\n<li>The ability to create multiple modes within a theme and switch between modes in an app using <code>theme.setMode()</code>.</li>\n<li>The ability to configure default styles for individual components, as well as bulk edit shared styles for multiple components at once.</li>\n<li>Expanded typography controls—including the ability to configure multiple fonts in a theme using a CSS import or Google Fonts, set a default font family, and control font family and font weight for headings.</li>\n</ul>\n<p>For users on all plans:</p>\n<ul>\n<li>Component-level font weight and font family style controls.</li>\n<li>A refreshed app-level theme experience with expanded typography controls.</li>\n<li>An updated component style editing experience.</li>\n</ul>\n<p>The new theming experience is currently rolling out on Retool Cloud and will be available in a subsequent release of Self-hosted Retool.</p>",
            "url": "https://docs.retool.com/changelog/theme-editor",
            "title": "Updated organization and app theming",
            "summary": "<Image",
            "date_modified": "2024-10-25T12:00:00.000Z",
            "author": {
                "name": "McKenna Galvin"
            },
            "tags": [
                "Apps",
                "Organization",
                "New"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/yaml-serialization-deprecation",
            "content_html": "<p>Retool will deprecate the use of YAML for protected apps, queries, and resources in <a href=\"https://docs.retool.com/source-control\">Source Control</a>. Support will be removed in the Q2 2025 <a href=\"https://docs.retool.com/releases/stable\">stable release</a> of Self-hosted Retool.</p>\n<p>Self-hosted organizations still using YAML serialization of these elements in Source Control must migrate to Toolscript prior to upgrading.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"what-is-toolscript\">What is Toolscript?<a href=\"https://docs.retool.com/changelog/yaml-serialization-deprecation#what-is-toolscript\" class=\"hash-link\" aria-label=\"Direct link to What is Toolscript?\" title=\"Direct link to What is Toolscript?\">​</a></h2>\n<p><a href=\"https://docs.retool.com/source-control/concepts/toolscript\">Toolscript</a> is a JSX-style markup language for serializing <a href=\"https://docs.retool.com/source-control/guides/protect/apps\">protected apps</a>, <a href=\"https://docs.retool.com/source-control/guides/protect/queries\" target=\"_blank\" rel=\"noopener noreferrer\">queries</a>, and <a href=\"https://docs.retool.com/source-control/guides/protect/resources\" target=\"_blank\" rel=\"noopener noreferrer\">resources</a> in Source Control. It was first released in Self-hosted Retool 3.6 as a replacement for YAML. Unlike its predecessor, Toolscript is designed to be human-readable.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"when-does-this-deprecation-occur\">When does this deprecation occur?<a href=\"https://docs.retool.com/changelog/yaml-serialization-deprecation#when-does-this-deprecation-occur\" class=\"hash-link\" aria-label=\"Direct link to When does this deprecation occur?\" title=\"Direct link to When does this deprecation occur?\">​</a></h2>\n<p>This deprecation will occur in the Q2 2025 stable release of Self-hosted Retool. The final release that supports YAML serialization of apps, queries, and resources in Source Control will be the Q1 2025 stable release.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"does-my-organization-need-to-migrate\">Does my organization need to migrate?<a href=\"https://docs.retool.com/changelog/yaml-serialization-deprecation#does-my-organization-need-to-migrate\" class=\"hash-link\" aria-label=\"Direct link to Does my organization need to migrate?\" title=\"Direct link to Does my organization need to migrate?\">​</a></h2>\n<p>Your organization only needs to perform the migration if it started using Source Control to protect apps, queries, or resources prior to Self-hosted Retool 3.6. Organizations that started using Source Control in Self-hosted Retool 3.6 and later already use Toolscript.</p>\n<p>You can check if your organization still uses YAML serialization for apps, queries, and resources by inspecting the <code>./retool/protected-apps.yaml</code> file in the repository used by Source Control. If the specified <code>version</code> is <code>1.0.0</code> then your organization must migrate. A <code>version</code> of <code>2.0.0</code> or greater would confirm that Toolscript is already in use.</p>\n<p>If your organization does need to migrate, it must be performed before upgrading to the stable release in Q2 2025 or later.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"how-do-we-migrate-to-toolscript\">How do we migrate to Toolscript?<a href=\"https://docs.retool.com/changelog/yaml-serialization-deprecation#how-do-we-migrate-to-toolscript\" class=\"hash-link\" aria-label=\"Direct link to How do we migrate to Toolscript?\" title=\"Direct link to How do we migrate to Toolscript?\">​</a></h2>\n<p>Refer to the <a href=\"https://docs.retool.com/source-control/guides/migrate-yaml-to-toolscript\">YAML to Toolscript migration guide</a> for full instructions on migrating. Once you complete the migration, protected apps, queries, and resources will use Toolscript.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"what-will-happen-if-we-dont-migrate\">What will happen if we don't migrate?<a href=\"https://docs.retool.com/changelog/yaml-serialization-deprecation#what-will-happen-if-we-dont-migrate\" class=\"hash-link\" aria-label=\"Direct link to What will happen if we don't migrate?\" title=\"Direct link to What will happen if we don't migrate?\">​</a></h2>\n<p>YAML serialization of protected apps, queries, and resources will be removed in the Q2 2025 stable release. The final release that will support YAML serialization will be the Q1 2025 stable release.</p>\n<p>If your organization does upgrade to the Q2 2025 stable release or later but has not migrated to Toolscript, Source Control will stop functioning. Should this occur, your organization will need to either:</p>\n<ul>\n<li>Roll back to a previously supported release and perform the migration.</li>\n<li>Deploy another instance of Self-hosted Retool using a previously supported release and perform the migration.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/yaml-serialization-deprecation",
            "title": "Deprecation of YAML serialization in Source Control",
            "summary": "Retool will deprecate the use of YAML for protected apps, queries, and resources in Source Control. Support will be removed in the Q2 2025 stable release of Self-hosted Retool.",
            "date_modified": "2024-10-15T15:00:00.000Z",
            "author": {
                "name": "Sriram Sundarraj"
            },
            "tags": [
                "Deprecation",
                "Source Control",
                "Self-hosted Retool",
                "Apps",
                "Code",
                "Resources"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/sns",
            "content_html": "<p>Retool now supports <a href=\"https://aws.amazon.com/sns/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon SNS</a>. You can use the Amazon SNS integration in apps and workflows to publish messages to a topic. Once configured, you can <a href=\"https://docs.aws.amazon.com/sns/latest/dg/sns-sqs-as-subscriber.html\" target=\"_blank\" rel=\"noopener noreferrer\">subscribe to the topic using Amazon SQS</a>, enabling you to use <a href=\"https://docs.retool.com/data-sources/tutorials/connect/amazon-sqs\">Retool's SQS integration</a> to respond to events as they occur.</p>\n<div class=\"alert alert--beta margin-bottom--lg\" role=\"alert\">SNS<!-- --> is currently in<!-- --> <a class=\"glossary public-beta\" target=\"_blank\" rel=\"noopener noreferrer\">public beta</a> <!-- -->on Retool Cloud<!-- --> and <!-- -->Self-hosted Retool 3.105 or later.</div>\n<p>This change is available on Retool Cloud and will be available in a subsequent edge release of Self-hosted Retool. It will be included in the Q4 stable release of Self-hosted Retool.</p>",
            "url": "https://docs.retool.com/changelog/sns",
            "title": "Amazon SNS integration",
            "summary": "Retool now supports Amazon SNS. You can use the Amazon SNS integration in apps and workflows to publish messages to a topic. Once configured, you can subscribe to the topic using Amazon SQS, enabling you to use Retool's SQS integration to respond to events as they occur.",
            "date_modified": "2024-10-15T12:00:00.000Z",
            "author": {
                "name": "Isaac Ige"
            },
            "tags": [
                "Resources",
                "Beta",
                "Integrations"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/new-alert-component",
            "content_html": "<p>A new version of the <a href=\"https://docs.retool.com/apps/reference/components/alert\">Alert</a> component is now available. It is a significant upgrade over the previous version, with new options to customize alert messaging.</p>\n<p>You can create custom alert states that represent different alert types or severity, and configure them with the following options:</p>\n<ul>\n<li>Title and description.</li>\n<li>Icon, icon position, and tooltip.</li>\n<li>Action text to trigger event handlers on click.</li>\n</ul>\n<p>The new Alert component is currently rolling out on Retool Cloud and will be available in a subsequent release of Self-hosted Retool. Existing apps can continue to use the previous version, which is now deprecated.</p>",
            "url": "https://docs.retool.com/changelog/new-alert-component",
            "title": "New version of the Alert component",
            "summary": "A new version of the Alert component is now available. It is a significant upgrade over the previous version, with new options to customize alert messaging.",
            "date_modified": "2024-10-14T00:00:00.000Z",
            "author": {
                "name": "Jeffrey Bui"
            },
            "tags": [
                "Apps",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/sqs",
            "content_html": "<p>Retool now supports <a href=\"https://aws.amazon.com/sqs/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon SQS</a>. You can use the Amazon SQS integration in Retool Apps and Retool Workflows to send, receive, and delete messages from a queue. This integration enables you to respond to events as they occur, triggering changes and actions in your workflows or apps.</p>\n<div class=\"alert alert--beta margin-bottom--lg\" role=\"alert\">Amazon SQS<!-- --> is currently in<!-- --> <a class=\"glossary public-beta\" target=\"_blank\" rel=\"noopener noreferrer\">public beta</a> <!-- -->on Retool Cloud<!-- --> and <!-- -->Self-hosted Retool 3.102 or later.</div>\n<p>This change is available on Retool Cloud and will be available in a subsequent edge release of Self-hosted Retool. It will be included in the Q4 stable release of Self-hosted Retool.</p>",
            "url": "https://docs.retool.com/changelog/sqs",
            "title": "Amazon SQS integration",
            "summary": "Retool now supports Amazon SQS. You can use the Amazon SQS integration in Retool Apps and Retool Workflows to send, receive, and delete messages from a queue. This integration enables you to respond to events as they occur, triggering changes and actions in your workflows or apps.",
            "date_modified": "2024-10-01T12:00:00.000Z",
            "author": {
                "name": "Himanshu Bhandoh"
            },
            "tags": [
                "Resources",
                "Beta"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/sso-test-connection",
            "content_html": "<p>Retool now enables you to test your custom single sign-on integration with the click of a button. When you click the <strong>Test Connection</strong> button on the <strong>Single Sign-On (SSO) &gt; Custom SSO</strong> settings page, Retool checks that the proper groups are mapped, the right user metadata is sent from your identity provider, and the integration works seamlessly. Testing this connection does not change the current user's permission groups, and you won't be locked out if SSO is misconfigured.</p>\n<p>This feature is generally available on Retool Cloud and on Retool Self-hosted versions 3.93 and later.</p>",
            "url": "https://docs.retool.com/changelog/sso-test-connection",
            "title": "SSO test connection capability",
            "summary": "Retool now enables you to test your custom single sign-on integration with the click of a button. When you click the Test Connection button on the Single Sign-On (SSO) > Custom SSO settings page, Retool checks that the proper groups are mapped, the right user metadata is sent from your identity provider, and the integration works seamlessly. Testing this connection does not change the current user's permission groups, and you won't be locked out if SSO is misconfigured.",
            "date_modified": "2024-09-25T12:00:00.000Z",
            "author": {
                "name": "Yu-Chien Chan"
            },
            "tags": [
                "SSO"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/kafka",
            "content_html": "<p>Retool now supports <a href=\"https://kafka.apache.org/\" target=\"_blank\" rel=\"noopener noreferrer\">Apache Kafka</a>. You can use the Kafka integration in apps and workflows to produce, consume, or commit messages to a topic. This integration enables you to respond to events as they occur, triggering changes and actions in your workflows or apps.</p>\n<div class=\"alert alert--beta margin-bottom--lg\" role=\"alert\">Kafka<!-- --> is currently in<!-- --> <a class=\"glossary public-beta\" target=\"_blank\" rel=\"noopener noreferrer\">public beta</a> <!-- -->on Retool Cloud<!-- --> and <!-- -->Self-hosted Retool 3.102 or later.</div>\n<p>This change is available on Retool Cloud and will be available in a subsequent edge release of Self-hosted Retool. It will be included in the Q4 stable release of Self-hosted Retool.</p>",
            "url": "https://docs.retool.com/changelog/kafka",
            "title": "Kafka integration",
            "summary": "Retool now supports Apache Kafka. You can use the Kafka integration in apps and workflows to produce, consume, or commit messages to a topic. This integration enables you to respond to events as they occur, triggering changes and actions in your workflows or apps.",
            "date_modified": "2024-09-23T12:00:00.000Z",
            "author": {
                "name": "Himanshu Bhandoh"
            },
            "tags": [
                "Resources",
                "Beta",
                "Resources"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/subfolders-ga",
            "content_html": "<p>Subfolders is now available to all users on Retool Cloud and Retool Self-hosted versions 3.93 and later. Subfolders helps you manage and organize your Retool apps, workflows, and resources. To implement proper inheritance for security measures, we also now enforce the following:</p>\n<ul>\n<li>A child subfolder or app must be at least as permissive as its parent.</li>\n<li>In order to move an object, you must have <strong>Own</strong> access to the object (App or Folder) being moved and <strong>Edit</strong> or <strong>Own</strong> on its destination.</li>\n</ul>\n<p>In making changes to certain groups’ folder permissions, this means some users may no longer create apps inside of folders. Access to any existing apps or modules has changed. You can always update your group settings to enable app creation within folders.</p>\n<div class=\"theme-admonition theme-admonition-warning admonition_Gfwi alert alert--warning\"><div class=\"admonitionContent_UjKb\"><p>Subfolders will be available in self-hosted Retool 3.93 Edge and later. This is considered a breaking change as you cannot roll back to an earlier version. Before upgrading,  be sure to <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment#2-create-a-backup\">create a backup</a> of your Retool instance.</p></div></div>",
            "url": "https://docs.retool.com/changelog/subfolders-ga",
            "title": "General availability of subfolders",
            "summary": "Subfolders is now available to all users on Retool Cloud and Retool Self-hosted versions 3.93 and later. Subfolders helps you manage and organize your Retool apps, workflows, and resources. To implement proper inheritance for security measures, we also now enforce the following:",
            "date_modified": "2024-09-17T12:00:00.000Z",
            "author": {
                "name": "Jeff Hemphill"
            },
            "tags": [
                "Organization"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/dynamic-queries",
            "content_html": "<p>Dynamic queries enable users to access several different resources from a single query. These queries decrease the maintenance burden for apps that need to query various similar resources.</p>\n<p>Some example use cases for dynamic queries include:</p>\n<ul>\n<li>An app for your support team to interact with customer data when every customer’s data is hosted on a standalone database with unique credentials.</li>\n<li>An admin panel to measure the health of customers’ deploys when every customer has their own tenant.</li>\n<li>A generic budget dashboard for client projects when every client has their own database.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/dynamic-queries",
            "title": "Dynamic queries",
            "summary": "Dynamic queries enable users to access several different resources from a single query. These queries decrease the maintenance burden for apps that need to query various similar resources.",
            "date_modified": "2024-09-12T12:00:00.000Z",
            "author": {
                "name": "Huy Quang Pham"
            },
            "tags": [
                "Code"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/2024/09/04/scanner-component",
            "content_html": "<p>A new version of the <a href=\"https://docs.retool.com/apps/reference/components/scanner\">Scanner</a> component is now available. It is a significant upgrade over the previous version, with new functionality for you to customize the scanning experience. Features include:</p>\n<ul>\n<li>Use scan events to reference scanned items and the time between scans.</li>\n<li>Detect duplicate scans.</li>\n<li>Programmatically pause after each scan or set the time between scans.</li>\n</ul>\n<p>The new Scanner component is available on Retool Cloud and self-hosted deployments running Retool 3.82 or later. Existing apps can continue to use the previous version, which is now deprecated.</p>",
            "url": "https://docs.retool.com/changelog/2024/09/04/scanner-component",
            "title": "New Scanner component for Retool apps",
            "summary": "A new version of the Scanner component is now available. It is a significant upgrade over the previous version, with new functionality for you to customize the scanning experience. Features include:",
            "date_modified": "2024-09-04T00:00:00.000Z",
            "author": {
                "name": "mb"
            },
            "tags": [
                "Components",
                "Apps"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/custom-ai-provider",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAtUlEQVR4nD2PzQ6CMBCEeWhj+t/ejMREDbwER26eTDiABxoOPA0WcMyu4CaTbJuv05nMWQchBKy1qKoKTdOgbVtWnuew1iB4j8w5B6UUtNaIMYLmA2BZFlxvdxyOAtaHH2iMYbDrOqSUWO9pQlEUUErDhw0kR/q+73us68puaZ5RliUbhB2USkFKibquMY4jhiHi8XzhdL5wRk8ZqQQ57hHoAZ3lVpAgBgmgC4JItLOc+0MEfgHhLsNbMHPbzQAAAABJRU5ErkJggg==&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"567\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/custom-provider.1c38796.800.png\" srcset=\"/assets/ideal-img/custom-provider.1c38796.800.png 800w,/assets/ideal-img/custom-provider.0839d30.1200.png 1200w,/assets/ideal-img/custom-provider.6cf4cee.1600.png 1600w\" width=\"800\" height=\"567\"></noscript></div><figcaption class=\"caption\"><span><p>Add a custom provider from <strong>Resources</strong> &gt; <strong>Retool AI</strong>.</p></span></figcaption></figure></div>\n<p>You can now connect any AI provider that adheres to the OpenAI, Anthropic, Google, or Cohere schema. This enables you to connect from a wide range of AI providers, such as Mistral, Fireworks AI, Together AI, and OpenRouter.</p>\n<p>Organizations with increased security and compliance requirements can also configure custom AI providers if they need to route traffic through their own proxies.</p>",
            "url": "https://docs.retool.com/changelog/custom-ai-provider",
            "title": "Custom AI providers",
            "summary": "<Image",
            "date_modified": "2024-08-29T00:00:00.000Z",
            "author": {
                "name": "Huy Quang Pham"
            },
            "tags": [
                "Resources",
                "AI",
                "Resources"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/self-hosted-retool-375-stable",
            "content_html": "<p>Self-hosted Retool 3.75 is now available on the <a href=\"https://docs.retool.com/releases/stable\">Stable release</a> channel.</p>\n<!-- -->\n<p>Retool releases a version on the <a href=\"https://docs.retool.com/releases/stable\">Stable</a> channel every 13 weeks (quarterly). A Stable release is generally four versions behind the cloud-hosted version at the time.</p>\n<p>Preparation and testing of a Stable version occurs approximately four weeks prior to its release. Stable releases are rigorously tested before they are published. As the release cycle is less frequent, administrators can more easily maintain and upgrade deployments.</p>\n<!-- -->\n<!-- -->\n<p>Retool supports each Stable release for six months. During this time, Retool will release patch updates that contain bug fixes or security updates. Patch updates do not contain functionality changes and can be applied more quickly than performing a full version upgrade.</p>\n<div class=\"theme-admonition theme-admonition-tip admonition_Gfwi alert alert--success\"><div class=\"admonitionContent_UjKb\"><p>Retool provides versioned product documentation for supported Stable releases. When browsing Retool Docs, use the version dropdown menu in the navbar to switch to a relevant version.</p></div></div>\n<p>After six months, a Stable release is considered deprecated. You can continue using a deprecated release but it will no longer receive updates. At this time, you should upgrade to the latest Stable release.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"release-notes\">Release notes<a href=\"https://docs.retool.com/changelog/self-hosted-retool-375-stable#release-notes\" class=\"hash-link\" aria-label=\"Direct link to Release notes\" title=\"Direct link to Release notes\">​</a></h2><p>Learn about the latest features, changes, and improvements in self-hosted Retool. You can also compare release versions to get a complete list of all changes.</p><div class=\"demo margin-bottom--md\"><iframe height=\"800px\" width=\"100%\" frameborder=\"none\" src=\"https://docsdemos.retool.com/p/self-hosted-releases?hideNav=true&amp;channel=stable&amp;newRelease=3.75\" title=\"retool\"></iframe></div>",
            "url": "https://docs.retool.com/changelog/self-hosted-retool-375-stable",
            "title": "Self-hosted Retool 3.75 Stable",
            "summary": "Self-hosted Retool 3.75 is now available on the Stable release channel.",
            "date_modified": "2024-08-27T12:00:00.000Z",
            "tags": [
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/comment-thread-component",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAhklEQVR4nC3M2w6DIBAAUf//N5vYFFBWXJaLyDSxneeTWVwUkhrJDEkZkQ2TDbXKujmC95RSWF6r4MJBzJUjV7zb+bwdZo1r3Mx5M8ZgiXFDUyKPSu0NTcaxey49mfx6oAtCjEJuldo6cnpS9NxjMv/yfxRUFW2FbIV0BqLstNLo/XpQ650vAj/BIbcuFLEAAAAASUVORK5CYII=&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"407\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/retool-000278@2x.5defa05.800.png\" srcset=\"/assets/ideal-img/retool-000278@2x.5defa05.800.png 800w,/assets/ideal-img/retool-000278@2x.454e7f8.1200.png 1200w,/assets/ideal-img/retool-000278@2x.b506f39.1600.png 1600w\" width=\"800\" height=\"407\"></noscript></div><figcaption class=\"caption\"><span><p>Comment Thread with comments for the selected table row.</p></span></figcaption></figure></div>\n<p>The Comment Thread component enables users to post comments and start discussions directly within your apps. All users who have access to an app that contains Comment Thread can use the component. Each user's comment appears with their name and avatar image.</p>\n<p>When using Comment Thread, you specify a unique thread ID with which to associate comments. This can be a dynamic value so that comment threads dynamically change based on user interactions. For example, setting the thread ID to <code>{{ table1.selectedRow.id }}</code> would associate comments to whichever row is currently selected.</p>\n<p>Comment Thread includes event handler support, action buttons, and granular control over the refresh period. Retool automatically handles comment storage and retrieval so no data source is needed.</p>\n<p>If you're currently using the Comment component, you can switch to using Comment Thread without losing previous conversations by using the current <strong>Evaluated key</strong> value as the thread ID.</p>",
            "url": "https://docs.retool.com/changelog/comment-thread-component",
            "title": "Comment Thread component",
            "summary": "<Image",
            "date_modified": "2024-08-26T15:00:00.000Z",
            "author": {
                "name": "Hong Lin"
            },
            "tags": [
                "Apps"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/listview-legacy-comparison",
            "content_html": "<p>Retool released a new version of the <a href=\"https://docs.retool.com/apps/guides/layout-structure/repeatables\">List View</a> component in December 2023. The previous version has continued to be available as the <strong>Legacy List View</strong> component.\nYou can continue to use the Legacy List View component in existing apps but we recommend you switch to using the newer List View component. The newer version of List View is much more performant, has more features, and will receive updates.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"feature-comparison\">Feature comparison<a href=\"https://docs.retool.com/changelog/listview-legacy-comparison#feature-comparison\" class=\"hash-link\" aria-label=\"Direct link to Feature comparison\" title=\"Direct link to Feature comparison\">​</a></h2>\n<p>Learn more about the differences between Legacy List View and List View.</p>\n<table><thead><tr><th>Feature</th><th>Legacy List View</th><th>List View</th></tr></thead><tbody><tr><td><strong>Number of instances</strong></td><td>Set the <code>instances</code> property value.</td><td>Automatically generated for each array item in <code>data</code>.</td></tr><tr><td><strong>Instance values</strong></td><td>Reference nested values using the item index (e.g., <code>textInput1[3].value</code>).</td><td>Nested components cannot be referenced outside of List View.  For form inputs, use <code>instanceValues</code> instead.</td></tr><tr><td><strong>Instance keys</strong></td><td>Item keys.</td><td>Primary keys.</td></tr><tr><td><strong>Auto-height</strong></td><td>Automatically grows with content.</td><td>Requires a suitable <code>maxHeight</code> value.</td></tr><tr><td><strong>Show border</strong></td><td>Yes</td><td>Nest the List View component within a container and use it to set the border.</td></tr><tr><td><strong>Show drop shadow</strong></td><td>Yes</td><td>Nest the List View component within a container and use it to set the drop shadow.</td></tr><tr><td><strong>Styles and nested styles</strong></td><td>Yes</td><td>Nest a container within List View to apply styles and nested styles.</td></tr></tbody></table>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"instance-keys-and-values\">Instance keys and values<a href=\"https://docs.retool.com/changelog/listview-legacy-comparison#instance-keys-and-values\" class=\"hash-link\" aria-label=\"Direct link to Instance keys and values\" title=\"Direct link to Instance keys and values\">​</a></h2>\n<p>Retool recommends using primary keys, a unique identifier, to track and restore instances within the List View.</p>\n<p>List View is <em>virtualized</em> and only evaluates and renders items currently visible. This significantly improves performance. However, this also means that <a href=\"https://docs.retool.com/apps/guides/layout-structure/repeatables#reference-nested-components\">you can no longer directly reference nested items</a> as they may not have been evaluated yet. Instead, you can <a href=\"https://docs.retool.com/apps/guides/layout-structure/repeatables#aggregating-nested-form-components\">reference instance values for forms and input components</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"appearance-settings\">Appearance settings<a href=\"https://docs.retool.com/changelog/listview-legacy-comparison#appearance-settings\" class=\"hash-link\" aria-label=\"Direct link to Appearance settings\" title=\"Direct link to Appearance settings\">​</a></h2>\n<p>List View supports all of the same appearance settings as Legacy List View, with the following exceptions:</p>\n<ul>\n<li>List View does not support border or drop shadow styles. Instead, nest a container within List View and configure it with a border and drop shadow.</li>\n<li>A List View with a <code>heightType</code> of <code>auto</code> requires a suitable <code>maxHeight</code> value to maintain performance. The default is <code>100vh</code> and you can specify a different value to use. You should consider using the container in which List View is nested to avoid unexpected scrollbars.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/listview-legacy-comparison",
            "title": "List View and Legacy List View comparison",
            "summary": "Retool released a new version of the List View component in December 2023. The previous version has continued to be available as the Legacy List View component.",
            "date_modified": "2024-08-19T16:00:00.000Z",
            "author": {
                "name": "Olivia Sztanga"
            },
            "tags": [
                "Apps"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/stack-component",
            "content_html": "<p>The <a href=\"https://docs.retool.com/apps/reference/components/stack\">Stack</a> component is a container with <a href=\"https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox\" target=\"_blank\" rel=\"noopener noreferrer\">Flexbox</a>-like layout controls. Instead of following the standard 12-column grid layout, Stack automatically arranges nested components horizontally or vertically. You can then control the alignment and distribution of nested components and precisely adjust component size.</p>\n<div class=\"arcade-wrapper margin-bottom--md\"><div class=\"arcade\" style=\"position:relative;padding-bottom:calc(56.25% + 41px);height:0;width:100%\"><iframe title=\"Demo\" src=\"https://demo.arcade.software/ypvLI3FU6A38zIu0mT3l?embed&amp;show_copy_link=true&amp;write_key=uTqZjk9nuBRPz3zsAwaa5BvzzN76naLF\" allowfullscreen=\"\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;color-scheme:light\"></iframe></div></div>",
            "url": "https://docs.retool.com/changelog/stack-component",
            "title": "Flexible layouts with the Stack component",
            "summary": "The Stack component is a container with Flexbox-like layout controls. Instead of following the standard 12-column grid layout, Stack automatically arranges nested components horizontally or vertically. You can then control the alignment and distribution of nested components and precisely adjust component size.",
            "date_modified": "2024-08-15T15:30:00.000Z",
            "author": {
                "name": "Kent Walters"
            },
            "tags": [
                "Apps",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/mobile-microphone-component",
            "content_html": "<p>The Microphone component for Retool Mobile can record audio using the built-in microphone. Recordings are Base64-encoded in WebM format, and audio playback displays a progress bar and elapsed time.</p>",
            "url": "https://docs.retool.com/changelog/mobile-microphone-component",
            "title": "Microphone component for Retool Mobile",
            "summary": "The Microphone component for Retool Mobile can record audio using the built-in microphone. Recordings are Base64-encoded in WebM format, and audio playback displays a progress bar and elapsed time.",
            "date_modified": "2024-08-12T15:30:00.000Z",
            "author": {
                "name": "Robin Pham"
            },
            "tags": [
                "Mobile",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/mobile-slider-component",
            "content_html": "<p>The Slider component for Retool Mobile enables users to select a number value with a UI slider.</p>\n<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAADCAYAAACqPZ51AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAQUlEQVR4nH3MOw6AMAwEUd//qNDwMTIhWQ9yhdKw0qtWGuv9ITP5W/22rBv70Ygb/EpOb0TExN2xikmfMYQ0q+ILZlh2KfRO1BIAAAAASUVORK5CYII=&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"209\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/retool-000273@2x.f27eba3.800.png\" srcset=\"/assets/ideal-img/retool-000273@2x.f27eba3.800.png 800w,/assets/ideal-img/retool-000273@2x.60f7715.1164.png 1164w\" width=\"800\" height=\"209\"></noscript></div><figcaption class=\"caption\"><span><p>The Slider component for Retool Mobile</p></span></figcaption></figure></div>",
            "url": "https://docs.retool.com/changelog/mobile-slider-component",
            "title": "Slider component for Retool Mobile",
            "summary": "The Slider component for Retool Mobile enables users to select a number value with a UI slider.",
            "date_modified": "2024-08-12T12:30:00.000Z",
            "author": {
                "name": "Robin Pham"
            },
            "tags": [
                "Mobile",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/multipage-apps-beta",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlUlEQVR4nEWPWW5EIRADuf9Jk3lMoBeWBqKKgiLFn3bJslPOGVXF3WitMWeg5pRSEBGqyPVTEeNdnTig3vkqlc9c8R7MCLw1qiipjUkuhlgn1qa58/G88bFRNUT95umcw69MBTNj9k5+HvY+7OmcNZlj/oNnLcYYeK08rxdrb8KNNQatd9Kl/hQRiPk9dxvX4Pusu/UHLZ7oWjwSc3AAAAAASUVORK5CYII=&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"463\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/retool-000238@2x.974e43f.800.png\" srcset=\"/assets/ideal-img/retool-000238@2x.974e43f.800.png 800w,/assets/ideal-img/retool-000238@2x.26bbf24.1200.png 1200w,/assets/ideal-img/retool-000238@2x.44f261c.1570.png 1570w\" width=\"800\" height=\"463\"></noscript></div><figcaption class=\"caption\"><span><p>Multipage apps.</p></span></figcaption></figure></div>\n<p>Multipage apps contain pages to combine functionality and use cases. Standard Retool apps operate as single-page applications where all code and components is continually evaluated. Multipage apps are also supported by Retool Mobile where each screen functions as a separate page.</p>\n<p>With multipage apps, Retool only evaluates the code and components of the page currently in view. The benefits of multipage apps include:</p>\n<ul>\n<li><strong>Greater performance of large and complex apps</strong>. Since Retool only evaluates code and components for the current page, multipage apps are 30-40% faster than a single-page app.</li>\n<li><strong>Seamless navigation between pages</strong>. Retool loads the complete app state whenever a user navigates to a single-page app. With multipage apps, navigation between pages is seamless and more responsive.</li>\n<li><strong>Improved app management</strong>. Multipage apps can replace multiple apps in your organization, such as a team's frequently used apps. This reduces the number of apps to maintain and allows for easier permission management.</li>\n<li><strong>Reduced module dependency</strong>. Modules are commonly used to create shared navigation menus across multiple single-page apps. With multipage apps, you can eliminate the need for additional modules and the complexities with maintaining them.</li>\n</ul>\n<p>Each multipage app uses global and page scopes to separate pages. Globally scoped code, and Header and Sidebar frames, are available for use across every page, while each page has its own page-scoped code and components.</p>\n<p>You can request access to the multipage app beta and explore the docs to learn more.</p>\n<div class=\"button-group\"><a class=\"button button--sm button--primary\" href=\"https://retoolin.tryretool.com/form/1956dc1c-f507-4a04-aaf2-a22461e93324\">Request access</a><a class=\"button button--sm button--secondary\" href=\"https://docs.retool.com/mobile/guides/multipage\">Multipage mobile apps docs</a></div>",
            "url": "https://docs.retool.com/changelog/multipage-apps-beta",
            "title": "Multipage apps beta",
            "summary": "<Image",
            "date_modified": "2024-08-07T15:30:00.000Z",
            "author": {
                "name": "Zhengming Wang"
            },
            "tags": [
                "Apps",
                "Mobile",
                "Beta"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/widgetgrid",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkElEQVR4nCXMOw7CQAwA0b3/jbgBRSQCIVmv7f0YUUGK3GAQUEz3NMnMaK2hUti2DVWl907vg2pC1cyIIJkq5o4XYV3vSCnUWv9QMjJd8C2T1Bx3R4uwLAtmTozBGEFVI19mdLmRHr0SEX+syvihb50ixjRfWe9X0uksxOPJ+/XiOA72ff8dWxu0mikyYy34AEWasnpMCAELAAAAAElFTkSuQmCC&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"414\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/retool-000233@2x.741f91e.800.png\" srcset=\"/assets/ideal-img/retool-000233@2x.741f91e.800.png 800w,/assets/ideal-img/retool-000233@2x.41ca525.1200.png 1200w,/assets/ideal-img/retool-000233@2x.0bf79a4.1600.png 1600w\" width=\"800\" height=\"414\"></noscript></div><figcaption class=\"caption\"><span><p>Enable or disable WidgetGrid from the status bar.</p></span></figcaption></figure></div>\n<p>Retool is currently working on a new layout architecture, WidgetGrid, that significantly improves the performance of the canvas. Placement and arrangement of components, such as dragging to reposition, is up to 50% more responsive.</p>\n<p>WidgetGrid is currently rolling out to cloud-hosted organizations as an opt-in beta and will be available in the next <a href=\"https://docs.retool.com/releases/edge\">Edge</a> release of self-hosted Retool. You can enable WidgetGrid from the status bar when viewing or editing an app. You can disable WidgetGrid at any time and provide feedback about any issues you experienced.</p>",
            "url": "https://docs.retool.com/changelog/widgetgrid",
            "title": "Early access to WidgetGrid for faster app building interactions",
            "summary": "<Image",
            "date_modified": "2024-08-05T10:08:00.000Z",
            "author": {
                "name": "Ryan Pearl"
            },
            "tags": [
                "Apps",
                "Beta"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/multiplayer",
            "content_html": "<p><a href=\"https://docs.retool.com/apps/concepts/multiplayer\">Multiplayer</a> provides real-time collaborative editing that allows users to see what each other is working on and reflect changes as soon as they're made. It's best suited for development teams who work on different areas of an app independently.</p>\n<div class=\"arcade-wrapper margin-bottom--md\"><div class=\"arcade\" style=\"position:relative;padding-bottom:calc(86.58280922431865% + 41px);height:0;width:100%\"><iframe title=\"Demo\" src=\"https://demo.arcade.software/ng3tP3QeeQVbRgdQNLEI?embed&amp;show_copy_link=true&amp;write_key=uTqZjk9nuBRPz3zsAwaa5BvzzN76naLF\" allowfullscreen=\"\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;color-scheme:light\"></iframe></div></div>\n<p>Multiplayer is available on Retool Cloud and as a private beta for self-hosted organizations.</p>",
            "url": "https://docs.retool.com/changelog/multiplayer",
            "title": "Multiplayer: Collaborative app building",
            "summary": "Multiplayer provides real-time collaborative editing that allows users to see what each other is working on and reflect changes as soon as they're made. It's best suited for development teams who work on different areas of an app independently.",
            "date_modified": "2024-07-31T15:30:00.000Z",
            "author": {
                "name": "Alexander Stabile"
            },
            "tags": [
                "Apps"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/error-monitoring-for-apps",
            "content_html": "<p>You can now connect your organizations to Sentry or Datadog for error monitoring. App errors will be reported with a callstack and descriptive tags when viewing and interacting with an app in preview or public (end-user) mode.</p>",
            "url": "https://docs.retool.com/changelog/error-monitoring-for-apps",
            "title": "Send errors from apps to observability providers",
            "summary": "You can now connect your organizations to Sentry or Datadog for error monitoring. App errors will be reported with a callstack and descriptive tags when viewing and interacting with an app in preview or public (end-user) mode.",
            "date_modified": "2024-07-29T12:00:00.000Z",
            "author": {
                "name": "Caitlyn Chen"
            },
            "tags": [
                "Apps",
                "Mobile",
                "Beta"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/timeline-v2-component",
            "content_html": "<p>The new <a href=\"https://docs.retool.com/apps/reference/components/timeline\">Timeline</a> component displays a Gantt chart of events that represent a project or plan over time.</p>\n<!-- -->\n<div class=\"demo margin-bottom--md\"><iframe allow=\"camera; microphone\" height=\"450px\" width=\"100%\" frameborder=\"none\" src=\"https://playground.docsdemos.retool.com/p/web/undefined\" title=\"retool\"></iframe><div class=\"caption text--right\"><a href=\"https://playground.docsdemos.retool.com/p/web/undefined\" target=\"_blank\" rel=\"noopener noreferrer\">Demo</a></div></div>\n<p>The previous version of the Timeline component is still available as the <a href=\"https://docs.retool.com/apps/reference/components/event-list\">Event List</a> component.</p>",
            "url": "https://docs.retool.com/changelog/timeline-v2-component",
            "title": "Timeline component update",
            "summary": "The new Timeline component displays a Gantt chart of events that represent a project or plan over time.",
            "date_modified": "2024-07-19T00:00:00.000Z",
            "author": {
                "name": "Nicolas Schomberg"
            },
            "tags": [
                "Apps",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/tags-component-v2",
            "content_html": "<p>We've released a new version of the Tags web component that includes many of the features available in other components. This includes:</p>\n<ul>\n<li>Manual or mapped options for defining tags.</li>\n<li>Greater customization options with per-tag settings for icon, color, and value.</li>\n<li>Event handlers for click actions.</li>\n</ul>\n<p>The previous version of Tags is still available as a deprecated component and any existing apps that use it will continue to do so. You must update any existing apps if you want to make use of the new version.</p>\n<p>The new Tags component is available on Retool Cloud and the latest edge release of self-hosted Retool.</p>",
            "url": "https://docs.retool.com/changelog/tags-component-v2",
            "title": "New version of the Tags component for web apps",
            "summary": "We've released a new version of the Tags web component that includes many of the features available in other components. This includes:",
            "date_modified": "2024-07-17T09:00:00.000Z",
            "author": {
                "name": "mb"
            },
            "tags": [
                "Apps",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/subfolders",
            "content_html": "<p>Subfolder organization of apps is now available as a public beta. You can create nested folders for more granular organization and permissions of Retool apps.</p>\n<p>Organization admins can enable or disable subfolders in the <strong>Advanced settings</strong> section of the organization settings page.</p>",
            "url": "https://docs.retool.com/changelog/subfolders",
            "title": "Organize apps with subfolders",
            "summary": "Subfolder organization of apps is now available as a public beta. You can create nested folders for more granular organization and permissions of Retool apps.",
            "date_modified": "2024-06-21T11:00:00.000Z",
            "author": {
                "name": "Antony Bello"
            },
            "tags": [
                "Beta"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/self-hosted-retool-352-stable",
            "content_html": "<p>Self-hosted Retool 3.52 is now available on the <a href=\"https://docs.retool.com/releases/stable\">Stable release</a> channel.</p>\n<!-- -->\n<p>Retool releases a version on the <a href=\"https://docs.retool.com/releases/stable\">Stable</a> channel every 13 weeks (quarterly). A Stable release is generally four versions behind the cloud-hosted version at the time.</p>\n<p>Preparation and testing of a Stable version occurs approximately four weeks prior to its release. Stable releases are rigorously tested before they are published. As the release cycle is less frequent, administrators can more easily maintain and upgrade deployments.</p>\n<!-- -->\n<!-- -->\n<p>Retool supports each Stable release for six months. During this time, Retool will release patch updates that contain bug fixes or security updates. Patch updates do not contain functionality changes and can be applied more quickly than performing a full version upgrade.</p>\n<div class=\"theme-admonition theme-admonition-tip admonition_Gfwi alert alert--success\"><div class=\"admonitionContent_UjKb\"><p>Retool provides versioned product documentation for supported Stable releases. When browsing Retool Docs, use the version dropdown menu in the navbar to switch to a relevant version.</p></div></div>\n<p>After six months, a Stable release is considered deprecated. You can continue using a deprecated release but it will no longer receive updates. At this time, you should upgrade to the latest Stable release.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"release-notes\">Release notes<a href=\"https://docs.retool.com/changelog/self-hosted-retool-352-stable#release-notes\" class=\"hash-link\" aria-label=\"Direct link to Release notes\" title=\"Direct link to Release notes\">​</a></h2><p>Learn about the latest features, changes, and improvements in self-hosted Retool. You can also compare release versions to get a complete list of all changes.</p><div class=\"demo margin-bottom--md\"><iframe height=\"800px\" width=\"100%\" frameborder=\"none\" src=\"https://docsdemos.retool.com/p/self-hosted-releases?hideNav=true&amp;channel=stable&amp;newRelease=3.52\" title=\"retool\"></iframe></div>",
            "url": "https://docs.retool.com/changelog/self-hosted-retool-352-stable",
            "title": "Self-hosted Retool 3.52 Stable",
            "summary": "Self-hosted Retool 3.52 is now available on the Stable release channel.",
            "date_modified": "2024-06-06T12:00:00.000Z",
            "tags": [
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/self-hosted-telemetry",
            "content_html": "<p>Organizations with self-hosted deployments can now <a href=\"https://docs.retool.com/self-hosted/guides/telemetry\">collect and forward telemetry data</a> to either Retool or to custom destinations.</p>\n<p>Telemetry data is available in self-hosted Retool 3.52 and above for both Edge and Stable releases.</p>",
            "url": "https://docs.retool.com/changelog/self-hosted-telemetry",
            "title": "Telemetry data for self-hosted deployments",
            "summary": "Organizations with self-hosted deployments can now collect and forward telemetry data to either Retool or to custom destinations.",
            "date_modified": "2024-06-06T00:00:00.000Z",
            "author": {
                "name": "Ryan Artecona"
            },
            "tags": [
                "Self-hosted Retool",
                "Observability"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/component-font-size-control",
            "content_html": "<p>You can now adjust the font size for most components directly in the <strong>Styles</strong> settings. Available font size options map to the app's <strong>Typography</strong> settings for the current theme. You can also click <strong>FX</strong> to specify a <code>px</code> font size using a custom or dynamic value, such as <code>11px</code> or <code>{{ theme.h6Font }}</code>.</p>\n<p>Some components with existing text size controls, such as Divider, are unchanged. Font size controls for these components will eventually move to the <strong>Styles</strong> settings in future updates.</p>",
            "url": "https://docs.retool.com/changelog/component-font-size-control",
            "title": "Component font size control",
            "summary": "You can now adjust the font size for most components directly in the Styles settings. Available font size options map to the app's Typography settings for the current theme. You can also click FX to specify a px font size using a custom or dynamic value, such as 11px or {{ theme.h6Font }}.",
            "date_modified": "2024-05-30T12:00:00.000Z",
            "author": {
                "name": "McKenna Galvin"
            },
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/editable-key-value-component",
            "content_html": "<p>The <a href=\"https://retool.com/components/key-value\" target=\"_blank\" rel=\"noopener noreferrer\">Key Value component</a> for web apps now supports editable values and save actions. When configured, users can edit and save value changes in much the same way as the <a href=\"https://retool.com/components/table\" target=\"_blank\" rel=\"noopener noreferrer\">Table</a> component.</p>",
            "url": "https://docs.retool.com/changelog/editable-key-value-component",
            "title": "Edit Key Value component values",
            "summary": "The Key Value component for web apps now supports editable values and save actions. When configured, users can edit and save value changes in much the same way as the Table component.",
            "date_modified": "2024-05-30T11:00:00.000Z",
            "author": {
                "name": "Jacob Stern"
            },
            "tags": [
                "Apps",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/embed-sdk",
            "content_html": "<p>The <a href=\"https://docs.retool.com/apps/guides/app-management/embed-apps\">Retool Embed JS SDK</a> is now available on <a href=\"https://www.npmjs.com/package/@tryretool/retool-embed\" target=\"_blank\" rel=\"noopener noreferrer\">npm</a>. The SDK offers similar functionality to <a href=\"https://www.npmjs.com/package/react-retool\" target=\"_blank\" rel=\"noopener noreferrer\">react-retool</a> but enables you to more easily embed Retool apps into web applications that aren't built with React. The SDK supports both public apps and authenticated Embed apps.</p>",
            "url": "https://docs.retool.com/changelog/embed-sdk",
            "title": "Retool Embed SDK",
            "summary": "The Retool Embed JS SDK is now available on npm. The SDK offers similar functionality to react-retool but enables you to more easily embed Retool apps into web applications that aren't built with React. The SDK supports both public apps and authenticated Embed apps.",
            "date_modified": "2024-05-29T12:00:00.000Z",
            "author": {
                "name": "Antony Bello"
            },
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/vulnerability-reporting",
            "content_html": "<p>Retool is dedicated to protecting the confidentiality, integrity, and availability of our platform. The new <a href=\"https://retool.com/vulnerability-reporting\" target=\"_blank\" rel=\"noopener noreferrer\">vulnerability disclosure program</a> enables you to submit reports of any potential security concerns that you may have.</p>",
            "url": "https://docs.retool.com/changelog/vulnerability-reporting",
            "title": "Vulnerability reporting program",
            "summary": "Retool is dedicated to protecting the confidentiality, integrity, and availability of our platform. The new vulnerability disclosure program enables you to submit reports of any potential security concerns that you may have.",
            "date_modified": "2024-05-24T13:00:00.000Z",
            "author": {
                "name": "Houlton McGuinn"
            },
            "tags": [
                "Security"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/amazon-bedrock",
            "content_html": "<p>Retool now supports with <a href=\"https://docs.retool.com/data-sources/tutorials/connect/amazon-bedrock\">Amazon Bedrock</a> and <a href=\"https://docs.retool.com/data-sources/tutorials/connect/amazon-knowledge-base\">Knowledge Bases for Amazon Bedrock</a>. This integration enables businesses to leverage the power and security of Amazon Bedrock with the ease and speed of development on Retool to build AI applications.</p>\n<p>For companies with strict data policies, sending data to a third-party LLM is a deal-breaker. With Amazon Bedrock, businesses can host LLMs within their VPC, ensuring compliance with their security and governance requirements. Retool customers who have adopted AWS can take advantage of all that Bedrock has to offer while keeping their data safe and secure.</p>",
            "url": "https://docs.retool.com/changelog/amazon-bedrock",
            "title": "Amazon Bedrock and Knowledge Bases for Retool AI",
            "summary": "Retool now supports with Amazon Bedrock and Knowledge Bases for Amazon Bedrock. This integration enables businesses to leverage the power and security of Amazon Bedrock with the ease and speed of development on Retool to build AI applications.",
            "date_modified": "2024-05-20T11:00:00.000Z",
            "author": {
                "name": "Mack Lu"
            },
            "tags": [
                "AI"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/gpt-4o",
            "content_html": "<p>OpenAI's new flagship model, <a href=\"https://openai.com/index/hello-gpt-4o/\" target=\"_blank\" rel=\"noopener noreferrer\">GPT-4o</a>, is now available for use in <a href=\"https://docs.retool.com/queries/concepts/actions\">Retool AI</a> actions.</p>",
            "url": "https://docs.retool.com/changelog/gpt-4o",
            "title": "OpenAI GPT-4o available in Retool AI",
            "summary": "OpenAI's new flagship model, GPT-4o, is now available for use in Retool AI actions.",
            "date_modified": "2024-05-14T12:00:00.000Z",
            "author": {
                "name": "Huy Quang Pham"
            },
            "tags": [
                "AI"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/custom-product-pages",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA1UlEQVR4nE2QzUoEMRCE5/1faQ8uIggedEG8eJIFZwju6symk/6ZxJLulWEPRUL3l6oiQykFqore+40aWmsw8/M3NDAzpmlCSgnLcgFRxiUTqAjmzCDpYG0YzAxEFPJHIgJmgYiCPM0Mrfcr6FrXNYYuvzuYc44KXidA7+hOPjyfTzgcXmLpNWqtYfQPXqNYDB/HEa9v75gXgugaJjegRq9SK74XwumnoFQBiydpVNnAWhnzvMC/S5hhajDV2G1ga4bPKWO3H7F/SLh/TNjdjXh6/trAPwtfW2ftkpbdAAAAAElFTkSuQmCC&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"704\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/4a045295-b250-4679-8add-369b7f228366.8573284.800.png\" srcset=\"/assets/ideal-img/4a045295-b250-4679-8add-369b7f228366.8573284.800.png 800w,/assets/ideal-img/4a045295-b250-4679-8add-369b7f228366.c0c5605.1200.png 1200w,/assets/ideal-img/4a045295-b250-4679-8add-369b7f228366.04c8c8a.1600.png 1600w\" alt=\"Custom product pages\" width=\"800\" height=\"704\"></noscript></div><figcaption class=\"caption\"><span>Custom product pages</span></figcaption></figure></div>\n<p><a href=\"https://docs.retool.com/org-users/guides/external/custom-product-pages\">Custom product pages</a> allow organizations on the Business plan and above to replace Retool's login, reset password, signup, and invitation claims pages with custom Retool web apps.</p>\n<p>This feature is currently an early access beta. Contact your account manager or <a href=\"mailto:antony@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">reach out</a> to request access.</p>",
            "url": "https://docs.retool.com/changelog/custom-product-pages",
            "title": "Custom product pages",
            "summary": "<Image",
            "date_modified": "2024-05-10T10:00:00.000Z",
            "author": {
                "name": "Luke Wright"
            },
            "tags": [
                "Apps",
                "Beta"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/custom-component-libraries",
            "content_html": "<p><a href=\"https://docs.retool.com/apps/guides/custom/custom-component-libraries\">Custom component libraries</a> is the new approach to building custom React components for web apps. Previously, custom components were built directly within the App IDE. With custom component libraries, you can now build components locally in your development environment, then deploy to Retool. After deploying, you can drag and drop components into apps as you would any other component.</p>\n<p>Custom components are contained within libraries, and each library has a unique name. Custom components deployed to Retool are automatically shown in the Component Library.</p>",
            "url": "https://docs.retool.com/changelog/custom-component-libraries",
            "title": "Custom component libraries",
            "summary": "Build custom components for web apps.",
            "date_modified": "2024-05-09T09:00:00.000Z",
            "tags": [
                "Beta",
                "Apps"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/python-libraries-for-workflows",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVR4nDWOQQ6EIAxFubUgoGQCJDJyJDdGbzKb2Y0LM8jCb1pjk6b5zWtehdEaxhh47zFNE5ZlwbqumOcZIQQopSCVhrDWckgp4agHnqq1IueMpmlgjYFwzjE4DAP2fcd5ngyW8kceb5CMDLZty+C2/VBKQSkHPt8N6T1CSnmDfd+D9BTopxgjQohwL887rTW36LqOQQp0TSqaSkk2PeAF+nOo+XZcr7gAAAAASUVORK5CYII=&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"500\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/retool-000059@2x.5abc8d7.800.png\" srcset=\"/assets/ideal-img/retool-000059@2x.5abc8d7.800.png 800w,/assets/ideal-img/retool-000059@2x.5203222.1200.png 1200w,/assets/ideal-img/retool-000059@2x.eb00b3c.1600.png 1600w\" alt=\"Custom Python libraries\" width=\"800\" height=\"500\"></noscript></div><figcaption class=\"caption\"><span>Custom Python libraries</span></figcaption></figure></div>\n<p><a href=\"https://docs.retool.com/workflows/guides/blocks/python\">Custom Python libraries</a> fpr Retool Workflows is now available as a public beta. You can add one of the built-in Python libraries or provide a custom list of libraries and versions.</p>",
            "url": "https://docs.retool.com/changelog/python-libraries-for-workflows",
            "title": "Custom Python libraries for workflows",
            "summary": "<Image",
            "date_modified": "2024-05-07T00:00:00.000Z",
            "author": {
                "name": "Tanay Nathan"
            },
            "tags": [
                "Workflows",
                "Beta"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/biometric-verification-for-mobile-apps",
            "content_html": "<p>Retool Mobile for iOS and Android now supports biometric security. Users are prompted to verify their identity using biometrics (e.g., fingerprint or facial scan) each time they open the app.</p>\n<p>You can also enable a privacy screen that obscures the mobile app when it appears in the device's app switcher. This can prevent sensitive information being potentially made visible.</p>",
            "url": "https://docs.retool.com/changelog/biometric-verification-for-mobile-apps",
            "title": "Biometrics and privacy screen for mobile apps",
            "summary": "Retool Mobile for iOS and Android now supports biometric security. Users are prompted to verify their identity using biometrics (e.g., fingerprint or facial scan) each time they open the app.",
            "date_modified": "2024-05-06T00:00:00.000Z",
            "author": {
                "name": "Suparn Gupta"
            },
            "tags": [
                "Mobile"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/split-pane",
            "content_html": "<video class=\"vid\" width=\"100%\" controls=\"\" preload=\"metadata\"><source src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/df02ddb6-714c-4198-a279-6dfaf2e1db13.mp4\"></video>\n<p><a href=\"https://docs.retool.com/apps/concepts/ide#split-pane\">Split Pane</a> is a new web app frame pattern that allows users to create a resizable and scrollable frame, with a custom width, alongside the main canvas. You can add a Split Pane frame from the Frames section, or drag it onto the canvas from the Component Tree.</p>",
            "url": "https://docs.retool.com/changelog/split-pane",
            "title": "Split Pane frame",
            "summary": "Split Pane is a new web app frame pattern that allows users to create a resizable and scrollable frame, with a custom width, alongside the main canvas. You can add a Split Pane frame from the Frames section, or drag it onto the canvas from the Component Tree.",
            "date_modified": "2024-04-25T10:00:00.000Z",
            "author": {
                "name": "Ashwin Nathan"
            },
            "tags": [
                "Apps",
                "IDE",
                "Retool Cloud",
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/source-control-collaborative-branches",
            "content_html": "<p>You can now enable collaborators on <a href=\"https://docs.retool.com/source-control\">Source Control</a> branches. Source Control branches are private by default and only allow changes by the owner. On collaborative branches, multiple users can commit changes and submit pull requests to protected elements.</p>",
            "url": "https://docs.retool.com/changelog/source-control-collaborative-branches",
            "title": "Source Control collaborative branches",
            "summary": "You can now enable collaborators on Source Control branches. Source Control branches are private by default and only allow changes by the owner. On collaborative branches, multiple users can commit changes and submit pull requests to protected elements.",
            "date_modified": "2024-04-22T10:00:00.000Z",
            "author": {
                "name": "Xiang Li"
            },
            "tags": [
                "Source Control"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/webdriver-testing",
            "content_html": "<p>Webdriver tests are a great way to ensure that your Retool app is working as expected. They can be run on your local machine, against a staging instance, or in a CI/CD pipeline against your development branch to ensure that your app is working as expected.</p>",
            "url": "https://docs.retool.com/changelog/webdriver-testing",
            "title": "Webdriver tests",
            "summary": "Cypress and Playwright tests for Retool apps.",
            "date_modified": "2024-04-22T09:00:00.000Z",
            "tags": [
                "Apps",
                "Observability"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/loop-block-v2-beta",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAhUlEQVR4nHWQyw7DMAgE/f8f2zgtLxubrSBKD62KtLdhtNDO5wtEDBsDogYRAbOAWMCiEFGwCBqxYsyNHQFfq0AiwnF0mA2YWQmaqmKtVXH3j7GfHT4nIlAL7TZkmPkCRfDoB2aBATW7wO8kmJ0TdF/Q2/gDslTfnNgBzY7/wPxEmW3U5W+qeRB3A6mMMgAAAABJRU5ErkJggg==&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"574\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/loop-block-v2.e0ea682.800.png\" srcset=\"/assets/ideal-img/loop-block-v2.e0ea682.800.png 800w,/assets/ideal-img/loop-block-v2.feff00b.1200.png 1200w,/assets/ideal-img/loop-block-v2.9345df2.1600.png 1600w\" alt=\"Loop block v2\" width=\"800\" height=\"574\"></noscript></div><figcaption class=\"caption\"><span>Loop block v2</span></figcaption></figure></div>\n<p>A new and improved version of the <a href=\"https://docs.retool.com/workflows/guides/blocks/logic/loop\">Loop Block</a> is now available in beta. If you'd like to participate, <a href=\"https://docsdemos.retool.com/form/6cead287-fe32-4a4e-9161-f05cb441c4ad\" target=\"_blank\" rel=\"noopener noreferrer\">complete this form to request access</a>.</p>\n<p>The new Loop Block features:</p>\n<ul>\n<li>Iteration-level timeout of up to 30 seconds when executing the entire workflow.</li>\n<li>Parallel, sequential, and batched execution modes with iteration delays</li>\n<li>Improved iteration-level error handling to allow subsequent iterations to run.</li>\n<li>Iteration metadata that is accessible in subsequent blocks.</li>\n</ul>\n<p>Once enabled, any new Loop blocks added to workflows will use Loop block v2. Existing Loop blocks will continue to function as before.</p>",
            "url": "https://docs.retool.com/changelog/loop-block-v2-beta",
            "title": "Improvements to the Loop block for Retool Workflows now in beta",
            "summary": "<Image",
            "date_modified": "2024-04-09T10:00:00.000Z",
            "author": {
                "name": "Andrei Savin"
            },
            "tags": [
                "Beta",
                "Workflows"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/table-component-add-new-row",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAIAAAA4WjmaAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAX0lEQVR4nAXBARKDMAgEwPz/oXamHashhAB3EXfb6LLMItFVe+/n/VcLj5jTqqpd45Ih3JgumbjPz/d3qJvnrudpquK+SJqb+xpiaoOEW9RmA4AkuQFGBAByZ2Qur6oX7s1z9XSo39oAAAAASUVORK5CYII=&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"294\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/image.6adad7c.800.png\" srcset=\"/assets/ideal-img/image.6adad7c.800.png 800w,/assets/ideal-img/image.762f2a7.1200.png 1200w,/assets/ideal-img/image.19035b0.1600.png 1600w\" alt=\"Add new rows to the Table component\" width=\"800\" height=\"294\"></noscript></div><figcaption class=\"caption\"><span>Add new rows to the Table component</span></figcaption></figure></div>\n<p>The new <strong>Add new row</strong> Toolbar action makes it possible to input values directly into the Table component. New rows are added to the table's changeset to save. Adding rows directly to a table provides an alternative method to using a separate Form component and input fields.</p>",
            "url": "https://docs.retool.com/changelog/table-component-add-new-row",
            "title": "Add new rows to the Table component",
            "summary": "<Image",
            "date_modified": "2024-04-04T12:26:00.000Z",
            "author": {
                "name": "Darya Verzhbinsky"
            },
            "tags": [
                "Apps",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/security/cve-2024-3094",
            "content_html": "<p>Retool is aware of CVE-2024-3094, a backdoor affecting versions 5.6.0 and 5.6.1 of xz-utils. Self-hosted Retool images are not affected, and <strong>no action is required</strong>. Retool Cloud infrastructure and services are not impacted.</p>\n<p>If you have any questions or concerns, please reach out to <a href=\"mailto:security@retool.com?subject=CVE-2024-3094\" target=\"_blank\" rel=\"noopener noreferrer\">security@retool.com</a>.</p>",
            "url": "https://docs.retool.com/changelog/security/cve-2024-3094",
            "title": "CVE-2024-3094",
            "summary": "Retool is aware of CVE-2024-3094, a backdoor affecting versions 5.6.0 and 5.6.1 of xz-utils. Self-hosted Retool images are not affected, and no action is required. Retool Cloud infrastructure and services are not impacted.",
            "date_modified": "2024-04-01T12:30:00.000Z",
            "tags": [
                "Security"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/i18n-beta",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAvUlEQVR4nD2NQUvDMABG85ftSHPoiFCh6731KoOK9KC0x3hY+me8OqvrXDLTPGkFHzx4hw8+IaWkrmuMMRjzyjAMWGs5WLt2VVVkWYZIkoSu65jnwPk8EWNcnWNkoW1bUqUQaSp5ful4/5g4jhOfpwvj14Xx5Pn2sH9skGqDUErR9z3+GvgJkTCzuvRC89SglPwbLtfOuVXvPc57rt7xdgzcP+zZqBuE1po8zynLkqIo/t3tCtTtHek2Q+stv6nSv1zYGMiLAAAAAElFTkSuQmCC&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"486\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/i18n-beta.be58c21.800.png\" srcset=\"/assets/ideal-img/i18n-beta.be58c21.800.png 800w,/assets/ideal-img/i18n-beta.65dda20.1200.png 1200w,/assets/ideal-img/i18n-beta.5fa3397.1600.png 1600w\" alt=\"Internationalization beta\" width=\"800\" height=\"486\"></noscript></div><figcaption class=\"caption\"><span>Internationalization beta</span></figcaption></figure></div>\n<p><a href=\"https://docs.retool.com/org-users/concepts/internationalization\">Internationalization</a> (i18n) is now in beta for organizations on the Enterprise plan. This allows you to <a href=\"https://docs.retool.com/apps/guides/app-management/localization\">localize</a> Retool app content and data.</p>\n<p>This beta is available on Retool Cloud and self-hosted deployments running Retool 3.38 or later. Contact your Retool account team to request early access.</p>",
            "url": "https://docs.retool.com/changelog/i18n-beta",
            "title": "Internationalization beta",
            "summary": "<Image",
            "date_modified": "2024-03-26T10:30:00.000Z",
            "author": {
                "name": "Antony Bello"
            },
            "tags": [
                "Enterprise",
                "Apps",
                "Beta"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/copy-elements-across-spaces",
            "content_html": "<p>For organizations on the Enterprise plan on Retool Cloud or self-hosted Retool 3.41 and later, admin users can now copy apps, resources, Query Library queries, and workflows across <a href=\"https://docs.retool.com/org-users/tutorials/spaces\">Spaces</a>.</p>",
            "url": "https://docs.retool.com/changelog/copy-elements-across-spaces",
            "title": "Copy apps, resources, queries, and workflows across Spaces",
            "summary": "For organizations on the Enterprise plan on Retool Cloud or self-hosted Retool 3.41 and later, admin users can now copy apps, resources, Query Library queries, and workflows across Spaces.",
            "date_modified": "2024-03-20T12:00:00.000Z",
            "author": {
                "name": "Caitlyn Chen"
            },
            "tags": [
                "Spaces"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/retool-storage-public-urls",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAR0lEQVR4nIWNWQrAQAxCc//Ltp0u2SaxJDC/7QMRQZFUFRGBwt1bzAwzg4i0F1SlzOxQvrTG4xwQYVCnD7b9wHU//8Wcsx9entWePWXaH0cAAAAASUVORK5CYII=&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"293\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/retool-storage-public-urls.aaf5a8b.800.png\" srcset=\"/assets/ideal-img/retool-storage-public-urls.aaf5a8b.800.png 800w,/assets/ideal-img/retool-storage-public-urls.443c588.1200.png 1200w,/assets/ideal-img/retool-storage-public-urls.761fced.1600.png 1600w\" alt=\"Make file public on upload\" width=\"800\" height=\"293\"></noscript></div><figcaption class=\"caption\"><span>Make file public on upload</span></figcaption></figure></div>\n<p>You can now set private or public access for files uploaded to Retool Storage. Each file in your Retool organization has a public URL that you can enable by making the file public.</p>\n<p>Files uploaded to Retool Storage are private by default, and you can switch between private or public access at any time. When uploading files with a Retool Storage resource query, you can enable <strong>Make file public on upload</strong> to automatically make them public.</p>\n<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAfUlEQVR4nHWPWwoDMQhFs/9ldAtdRT+m5tGMXpO93GJgoIHpx0HUo2LKOVMkU0qlYWzAna9D+XgaU++duVQe78L2OanmG6eCw8EkIgwZDsKMw33D3WlwplorLYQxVvEOhNhao6ouOfgrzjkJgBFj4E5cp6P5u/HKL2JJPPUFnMT2ZVmVBGsAAAAASUVORK5CYII=&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"536\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/retool-storage-query-make-public.bd68b8c.800.png\" srcset=\"/assets/ideal-img/retool-storage-query-make-public.bd68b8c.800.png 800w,/assets/ideal-img/retool-storage-query-make-public.a9ea30b.1200.png 1200w,/assets/ideal-img/retool-storage-query-make-public.b13b92f.1414.png 1414w\" alt=\"Make file public on upload\" width=\"800\" height=\"536\"></noscript></div><figcaption class=\"caption\"><span>Make file public on upload</span></figcaption></figure></div>",
            "url": "https://docs.retool.com/changelog/retool-storage-public-urls",
            "title": "Publicly accessible files on Retool Storage",
            "summary": "<Image",
            "date_modified": "2024-03-14T09:00:00.000Z",
            "tags": [
                "Storage",
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/performance-updates-react-18",
            "content_html": "<p>We're continuing to make performance improvements after recently upgrading to React 18. <em>Update batching</em> groups state updates together, rather than perform each one separately, to optimize performance. This results in a more responsive experience in Retool and faster page load times.</p>",
            "url": "https://docs.retool.com/changelog/performance-updates-react-18",
            "title": "Faster page load times with update batching",
            "summary": "We're continuing to make performance improvements after recently upgrading to React 18. Update batching groups state updates together, rather than perform each one separately, to optimize performance. This results in a more responsive experience in Retool and faster page load times.",
            "date_modified": "2024-03-12T09:00:00.000Z",
            "tags": [
                "Retool Cloud",
                "Self-hosted Retool",
                "Apps"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/table-component-upload-images",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAdUlEQVR4nCWKSQ7DIBDA+P/L+on2mIgCGQIzQLO5SnuwLFl2j9fMM0WkdKYgTLEyx5UQhLQYXoy3GC4nwQehWCdKRuwgZsPPibUOFjvweeCsVGpZObcP1w2w7xtWlabKeUHtG65qQ9VQ61gbP9+03tH2b/fzBcOkmXbcRju1AAAAAElFTkSuQmCC&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"287\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/image.8907ccf.800.png\" srcset=\"/assets/ideal-img/image.8907ccf.800.png 800w,/assets/ideal-img/image.5c8c03f.1200.png 1200w,/assets/ideal-img/image.c5b30fd.1600.png 1600w\" alt=\"Image uploads in the Table component\" width=\"800\" height=\"287\"></noscript></div><figcaption class=\"caption\"><span>Image uploads in the Table component</span></figcaption></figure></div>\n<p>The <strong>Image</strong> column type for the Table component now supports image uploads directly to Retool Storage. Enable <strong>Allow uploading images</strong> to allow users to upload and replace images to Retool Storage.</p>",
            "url": "https://docs.retool.com/changelog/table-component-upload-images",
            "title": "Upload images in the Table component",
            "summary": "<Image",
            "date_modified": "2024-03-11T10:30:00.000Z",
            "author": {
                "name": "Darya Verzhbinsky"
            },
            "tags": [
                "Apps",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/audit-logs-in-datadog",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAtUlEQVR4nGWOQWrDMBBFdf/75AKBLFxDjR1Zo5FIwBvTFozruhgi07wil4SELh5/8/6fMUVRUJYl3nucc4jIHSeCeuF8ihhnK6qqQsSjqnhVWtduxRCU2iqvjWKO9oi1lhDCJv7JHu+VU1T2L8JuL5iu6+j7nnEcmaaJeZ6fmL6+efsYMMMwbFJmWRbWdSWlxOWSuP4kzu+JQ/uJqeuapmnup3M+EmMghoDJ0k3Ov8YY/5EHfgEj3vt+xKvG/AAAAABJRU5ErkJggg==&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"552\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/audit-logs-datadog.b752f39.800.png\" srcset=\"/assets/ideal-img/audit-logs-datadog.b752f39.800.png 800w,/assets/ideal-img/audit-logs-datadog.2a33c91.1200.png 1200w,/assets/ideal-img/audit-logs-datadog.07f686c.1354.png 1354w\" alt=\"Connect audit logs to Datadog\" width=\"800\" height=\"552\"></noscript></div><figcaption class=\"caption\"><span>Connect audit logs to Datadog</span></figcaption></figure></div>\n<p>Enterprise plan organizations on Retool Cloud or with a self-hosted deployment running Retool 3.38 Edge or later can connect and send all <a href=\"https://docs.retool.com/org-users/guides/audit-logs\" target=\"_blank\" rel=\"noopener noreferrer\">audit log</a> events to Datadog.</p>",
            "url": "https://docs.retool.com/changelog/audit-logs-in-datadog",
            "title": "Send audit log events to Datadog",
            "summary": "Connect audit logs to Datadog",
            "date_modified": "2024-03-11T09:00:00.000Z",
            "tags": [
                "Enterprise",
                "Observability",
                "Retool Cloud",
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/spaces-self-hosted",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAYAAAALpr0TAAAACXBIWXMAAAsTAAALEwEAmpwYAAABSElEQVR4nB2MzSuDcQCAfycXF3+Bm69SlLSDk/0DalcH7shXkeKwiygXB8lBykGhNJRJkaY22rA0H6N8zMfWbPu99v1+/N5He596bk+PEM2LiKYFRPMSom2ZuvYVGjrWaOxap9W1SWfPFt3uHUS9a5Wtg1uOA48EwgmCkU8uI19cXX8TvUsRDH7h8RwhWtyb/P5qgEIpE9u2HJVlUiP/pzM0GED09vl4/0ijGwa6YTmapsI0bSfUZBXvcBjRP3BGMpl1LpZloVTtrLDtWmhT0KpsTN8jxkfCJH9yZDMZZE4is5JSsYReNbCVRVmr4J97QSzMxJC5AsVKnnK1hG7qGJbhWKNSMIh6HxDr3ifeH7OkExrpV0nmTZJ7k2SeU1xdprg4/SHhDSH25+P45qL4ZyKcT4UITQa4mTghNnZIfHSXxPg2+dk9/gFtrSmVo4BO1gAAAABJRU5ErkJggg==&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"691\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/spaces.fe1728d.800.png\" srcset=\"/assets/ideal-img/spaces.fe1728d.800.png 800w,/assets/ideal-img/spaces.f21bbbd.1200.png 1200w,/assets/ideal-img/spaces.b30eda1.1367.png 1367w\" alt=\"Retool Spaces\" width=\"800\" height=\"691\"></noscript></div><figcaption class=\"caption\"><span>Retool Spaces</span></figcaption></figure></div>\n<p><a href=\"https://docs.retool.com/self-hosted\">Self-hosted</a> organizations on the Enterprise plan can create multiple, isolated organizations on a single Retool instance with <a href=\"https://docs.retool.com/org-users/tutorials/spaces\">Spaces</a>.</p>\n<p>Prior to Spaces, you needed to spin up an additional deployment to onboard an independent team with its own apps, resources, and software development cycle (SDLC). Now, on the same instance, you can create a Space with its own subdomain, SSO configuration, Source Control setup, and more.</p>",
            "url": "https://docs.retool.com/changelog/spaces-self-hosted",
            "title": "Retool Spaces for self-hosted deployments",
            "summary": "<Image",
            "date_modified": "2024-03-05T08:00:00.000Z",
            "author": {
                "name": "Antony Bello"
            },
            "tags": [
                "Spaces",
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/self-hosted-retool-release-channels",
            "content_html": "<p>Retool has improved the self-hosted Retool release process with the introduction of two release channels: <strong>Stable</strong> and <strong>Edge</strong>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"stable-releases\">Stable releases<a href=\"https://docs.retool.com/changelog/self-hosted-retool-release-channels#stable-releases\" class=\"hash-link\" aria-label=\"Direct link to Stable releases\" title=\"Direct link to Stable releases\">​</a></h2>\n<p>Releases on the <a href=\"https://docs.retool.com/releases/stable\">Stable</a> channel occur every quarter. Preparation and testing of a Stable version occurs approximately four weeks prior to its release and they are rigorously tested before they are published. The release tags for Stable releases contain the suffix <code>-stable</code>.</p>\n<p>Retool supports each Stable release for six months. During this time, Retool will release patch updates that contain bug fixes or security updates. Patch updates do not contain functionality changes and can be applied more quickly than performing a full version upgrade.</p>\n<p>Retool provides versioned product documentation for supported Stable releases. When browsing Retool Docs, use the version dropdown menu in the navbar to switch to a relevant version.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"edge-releases\">Edge releases<a href=\"https://docs.retool.com/changelog/self-hosted-retool-release-channels#edge-releases\" class=\"hash-link\" aria-label=\"Direct link to Edge releases\" title=\"Direct link to Edge releases\">​</a></h2>\n<p>Releases on the <a href=\"https://docs.retool.com/releases/edge\">Edge</a> 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 private beta functionality. The release tags for Edge releases contain the suffix <code>-edge</code>.</p>\n<p>Retool recommends most organizations use <a href=\"https://docs.retool.com/releases/stable\">Stable</a> releases unless you have a specific need for Edge releases and can keep your deployment up-to-date.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"benefits-of-stable-and-edge-releases\">Benefits of Stable and Edge releases<a href=\"https://docs.retool.com/changelog/self-hosted-retool-release-channels#benefits-of-stable-and-edge-releases\" class=\"hash-link\" aria-label=\"Direct link to Benefits of Stable and Edge releases\" title=\"Direct link to Benefits of Stable and Edge releases\">​</a></h2>\n<p>Until now, Retool maintained a single release channel. A new release would be published every two weeks that is generally a number of versions behind Retool Cloud. Retool would also release patch updates for previous versions.</p>\n<p>The new release channels streamline the release process, makes it easier for administrators to perform upgrades, and provides a separate deployment path for customers who prioritize stability over new functionality. As the Stable release cycle is less frequent, administrators can more easily maintain and upgrade deployments.</p>\n<p>Edge releases are now on par with Retool Cloud, providing self-hosted customers with new features much sooner. The weekly release schedule also means it is no longer necessary to patch previous releases. Every Edge release contains bug fixes and improvements.</p>",
            "url": "https://docs.retool.com/changelog/self-hosted-retool-release-channels",
            "title": "Self-hosted Retool quarterly and weekly releases",
            "summary": "Retool has improved the self-hosted Retool release process with the introduction of two release channels: Stable and Edge.",
            "date_modified": "2024-02-28T00:00:00.000Z",
            "author": {
                "name": "Benjamyn Baker"
            },
            "tags": [
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/self-hosted-retool-333-stable",
            "content_html": "<p>Self-hosted Retool 3.33 is now available on the <a href=\"https://docs.retool.com/releases/stable\">Stable release</a> channel.</p>\n<!-- -->\n<p>Retool releases a version on the <a href=\"https://docs.retool.com/releases/stable\">Stable</a> channel every 13 weeks (quarterly). A Stable release is generally four versions behind the cloud-hosted version at the time.</p>\n<p>Preparation and testing of a Stable version occurs approximately four weeks prior to its release. Stable releases are rigorously tested before they are published. As the release cycle is less frequent, administrators can more easily maintain and upgrade deployments.</p>\n<!-- -->\n<!-- -->\n<p>Retool supports each Stable release for six months. During this time, Retool will release patch updates that contain bug fixes or security updates. Patch updates do not contain functionality changes and can be applied more quickly than performing a full version upgrade.</p>\n<div class=\"theme-admonition theme-admonition-tip admonition_Gfwi alert alert--success\"><div class=\"admonitionContent_UjKb\"><p>Retool provides versioned product documentation for supported Stable releases. When browsing Retool Docs, use the version dropdown menu in the navbar to switch to a relevant version.</p></div></div>\n<p>After six months, a Stable release is considered deprecated. You can continue using a deprecated release but it will no longer receive updates. At this time, you should upgrade to the latest Stable release.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"release-notes\">Release notes<a href=\"https://docs.retool.com/changelog/self-hosted-retool-333-stable#release-notes\" class=\"hash-link\" aria-label=\"Direct link to Release notes\" title=\"Direct link to Release notes\">​</a></h2><p>Learn about the latest features, changes, and improvements in self-hosted Retool. You can also compare release versions to get a complete list of all changes.</p><div class=\"demo margin-bottom--md\"><iframe height=\"800px\" width=\"100%\" frameborder=\"none\" src=\"https://docsdemos.retool.com/p/self-hosted-releases?hideNav=true&amp;channel=stable&amp;newRelease=3.33\" title=\"retool\"></iframe></div>",
            "url": "https://docs.retool.com/changelog/self-hosted-retool-333-stable",
            "title": "Self-hosted Retool 3.33 Stable",
            "summary": "Self-hosted Retool 3.33 is now available on the Stable release channel.",
            "date_modified": "2024-02-27T12:00:00.000Z",
            "tags": [
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/app-performance-tools",
            "content_html": "<p>The new <strong>Linting</strong> and <strong>Performance</strong> tools, available within <a href=\"https://docs.retool.com/apps/concepts/debug-tools\">Debug Tools</a> in the App IDE, provide additional methods for debugging and optimizing apps.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"linting\">Linting<a href=\"https://docs.retool.com/changelog/app-performance-tools#linting\" class=\"hash-link\" aria-label=\"Direct link to Linting\" title=\"Direct link to Linting\">​</a></h2>\n<p>Identify queries, code, and components that may affect app performance.</p>\n<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAnUlEQVR4nCXDSwvBAADA8X1I38EHcXKTvFJeZRdRWhYuVm6mmLay8ohtHIbJyF70d/Crn5BKyxRrKvnyjFp9Sau5QmzpdNpruqLJsL8jl9ER8qU5RFfC+4Xo4RI9PSL/Ruh7JG8fCFB6FkKjuiD2T7w8lyR4wCf4T9584wCI0aQzQiGrowy2TKU9qnxEGzoYIwdzbLMZWRwmNkZlzw8wwIo6H1TFyAAAAABJRU5ErkJggg==&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"332\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/linting.4ca4f12.800.png\" srcset=\"/assets/ideal-img/linting.4ca4f12.800.png 800w,/assets/ideal-img/linting.93b8218.1200.png 1200w,/assets/ideal-img/linting.511136b.1600.png 1600w\" alt=\"Linting tools\" width=\"800\" height=\"332\"></noscript></div><figcaption class=\"caption\"><span>Linting tools</span></figcaption></figure></div>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"performance\">Performance<a href=\"https://docs.retool.com/changelog/app-performance-tools#performance\" class=\"hash-link\" aria-label=\"Direct link to Performance\" title=\"Direct link to Performance\">​</a></h2>\n<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAALCAYAAABGbhwYAAAACXBIWXMAAAsTAAALEwEAmpwYAAABdElEQVR4nF2PTWsTUQBF35/wr3ThXuiq+6KC0I1SoYooFgstlUAWUSh+g7usoqEQEFSsYkBqpGJLY5vMTJJO0kmm1rGdZDJJZ968d0pL2oV3dReHe7jiwsVnXL5b4Oq9d0zNfeL6/BemF75yZ7HIbOobc6lVLk0sI8Yms3S8Bokcgtac5axqrbl1u4gYv5an3DL4NwhIZIiMeshul9j3UVKitGL+fglx5cZ7Km6T3cAjOvqLHPxB7rtEThvimJPhRwsbiJszn2nbLRIpz7X/q1+ntxEPZr9jtXbYO/SQcYiSA1QYkgR9UOoUzD+2EOmH62x6TcyeS+DX6R/UiOw6YdVAD4en6pUnNuJpZouSY/Brr0bgW/QPqgzMCv3ybxiBay9sRHbJYLtpUWnW6LRr+J6D7+wSdlxIEpTWGC8biMLzBjuOy2Gvx5GMiNXo1OjMCei82kJ8yJgUs1U23pqYyyZWvkL9TRk7t04r95N27gf7qY8cA26WghlT0a7zAAAAAElFTkSuQmCC&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"911\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/performance.1e0a47c.800.png\" srcset=\"/assets/ideal-img/performance.1e0a47c.800.png 800w,/assets/ideal-img/performance.7c296ac.1200.png 1200w,/assets/ideal-img/performance.104e960.1600.png 1600w\" alt=\"Linting tools\" width=\"800\" height=\"911\"></noscript></div><figcaption class=\"caption\"><span>Linting tools</span></figcaption></figure></div>\n<p>View statistics related to app performance along with an overall performance score. This is a useful tool for measuring how changes affect an app's performance and provides guidance on how to optimize it further.</p>",
            "url": "https://docs.retool.com/changelog/app-performance-tools",
            "title": "App linting and performance debugging tools",
            "summary": "The new Linting and Performance tools, available within Debug Tools in the App IDE, provide additional methods for debugging and optimizing apps.",
            "date_modified": "2024-02-22T00:00:00.000Z",
            "tags": [
                "Apps",
                "Observability",
                "Retool Cloud",
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/configuration-variables-in-workflows",
            "content_html": "<p>You can now use <a href=\"https://docs.retool.com/org-users/guides/config-vars\">configuration variables</a> within workflows. Both values and secrets are supported and can be referenced using:</p>\n<div class=\"language-js codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#F8F8F2;--prism-background-color:#282A36\"><div class=\"codeBlockContent_biex\"><pre tabindex=\"0\" class=\"prism-code language-js codeBlock_bY9V thin-scrollbar\" style=\"color:#F8F8F2;background-color:#282A36\"><code class=\"codeBlockLines_e6Vv\"><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">{</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">{</span><span class=\"token plain\"> retoolContext</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token property-access\">configVars</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">.</span><span class=\"token constant\" style=\"color:rgb(189, 147, 249)\">YOUR_VAR_NAME</span><span class=\"token plain\"> </span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">}</span><span class=\"token punctuation\" style=\"color:rgb(248, 248, 242)\">}</span><br></span></code></pre><div class=\"buttonGroup__atx\"><button type=\"button\" aria-label=\"Copy code to clipboard\" title=\"Copy\" class=\"clean-btn\"><span class=\"copyButtonIcons_eSgA\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" class=\"copyButtonIcon_y97N\"><path fill=\"currentColor\" d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"></path></svg><svg viewBox=\"0 0 24 24\" class=\"copyButtonSuccessIcon_LjdS\"><path fill=\"currentColor\" d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"></path></svg></span></button></div></div></div>",
            "url": "https://docs.retool.com/changelog/configuration-variables-in-workflows",
            "title": "Use configuration variables in workflows",
            "summary": "You can now use configuration variables within workflows. Both values and secrets are supported and can be referenced using:",
            "date_modified": "2024-02-21T12:00:00.000Z",
            "tags": [
                "Workflows"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/forms",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAArElEQVR4nB3Oyw7BQBQA0Pn/H2DHnp1lFwgqupBIiEdLlAgNUp07087r3iucLzgieF9rXWutQGqQtVZQfbyzwTsFIMqy3B+y4/G83WWH9HK53tMsbxrDzBiCwBDWq0UyHy0mvWnUmg87ybg7i9rLuE+Igonez6KqZJHPTptBnsa3U/w4J/luSMELZjaN8c5biwAWkfjPWiQiwYQKZKN/t/frqUAG55wxtVKI+AUwjqSPgvz/xAAAAABJRU5ErkJggg==&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"479\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/forms.ee90b21.800.png\" srcset=\"/assets/ideal-img/forms.ee90b21.800.png 800w,/assets/ideal-img/forms.0489ed2.1200.png 1200w,/assets/ideal-img/forms.b52bc6c.1600.png 1600w\" alt=\"Retool Forms\" width=\"800\" height=\"479\"></noscript></div><figcaption class=\"caption\"><span>Retool Forms</span></figcaption></figure></div>\n<p><a href=\"https://docs.retool.com/forms\">Retool Forms</a> is the fastest way to build a form on top of your database, your data warehouse, or wherever else you want your data. Retool Forms are:</p>\n<ul>\n<li><strong>Native to your data source</strong>: Generating a form on top of any SQL datastore (Postgres, MySQL, Snowflake, etc.) in one click.</li>\n<li><strong>Your form, your database</strong>: Use your own or we’ll give you a Postgres DB—with a connection string if you want to take it elsewhere.</li>\n<li><strong>Code-first</strong>: You can write JavaScript almost anywhere, including libraries like moment and lodash, for custom validations, conditional logic, and data parsing.</li>\n<li><strong>The start of other processes</strong>: Build apps and workflows on top of your data to join data sources, send updates through Slack or email, and take action on your results.</li>\n<li><strong>Secure</strong>: Forms are public but the data, apps, and workflows you build are permissioned securely with granular access controls. You can also self-host it in your own VPC.</li>\n</ul>\n<p>Retool Forms is free and has no arbitrary limits on users, forms, or submissions.</p>",
            "url": "https://docs.retool.com/changelog/forms",
            "title": "Retool Forms: Build custom forms on top of a SQL database 10x faster",
            "summary": "<Image",
            "date_modified": "2024-02-21T12:00:00.000Z",
            "tags": [
                "Forms",
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-35-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added support for users to enable two-factor authentication without it being required by their Retool organization.</li>\n<li>Added support for dragging frames onto the canvas in the App IDE.</li>\n<li>Added support for data streaming to Anthropic AI models.</li>\n<li>Added the <strong>Edited Cell Indicator</strong> style to Table component.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue with the List View component when padding is set to <code>0</code>.</li>\n<li>Fixed an issue where the specified environment for a workflow reverts back to production upon refresh.</li>\n<li>Fixed an issue where the <strong>Terminate run</strong> button did not appear in <strong>Run History</strong> while a workflow run was in progress.</li>\n<li>Fixed an issue with Python in workflows if a library was not explicitly imported.</li>\n<li>Fixed an issue with the Table component where Avatar columns would display fallback text below the image.</li>\n<li>Fixed an issue where <code>getCurrentPosition()</code> would not function correctly when running a mobile app natively.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>The Mobile Image Input component can be configured to only take photos and not select media from the device.</li>\n<li>Improved component searches in the App IDE.</li>\n<li>Tags display placeholder text when values are not in the option list.</li>\n</ul></div></div>\n<div class=\"alert alert--warning admonition_M5PT changelog\"><h3 class=\"type\">Deprecated</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Deprecated the legacy Modal component. Use the <a href=\"https://docs.retool.com/apps/concepts/ide#modal-frame\">Modal frame</a> to display modals in apps.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-35-0",
            "title": "Cloud-hosted Retool 3.35",
            "summary": "- Added support for users to enable two-factor authentication without it being required by their Retool organization.",
            "date_modified": "2024-02-16T20:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-34-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added support for themes in the theme editor to open in their own URL.</li>\n<li>Added the <strong>Pill Border Radius</strong> style option to the Tabs component.</li>\n<li>Added the <strong>Icon Color</strong> style option to the Dropdown Button, Split Button, Toggle Button, File Button, Link, and Toggle Link components.</li>\n<li>Added the <strong>Filter Background</strong> style option to the Table component.</li>\n<li>Added the option to skip some certificate checks for gRPC resources.</li>\n<li>Added the <strong>Horizontal Alignment</strong> alignment option to the Avatar component when a label is not used.</li>\n<li>Added horizontal scroll and event support to the mobile HTML component.</li>\n<li>Added the <strong>Placeholder Text Color</strong> style option to input components.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where failure conditions for <strong>JavaScript</strong>, <strong>ParentWindow</strong>, and <strong>Query JSON with SQL</strong> queries may not run as expected.</li>\n<li>Fixed an issue with the Workflow IDE where the <strong>Terminate Run</strong> button may not appear if a workflow is currently running.</li>\n<li>Fixed an issue with the <strong>Switch component</strong> contextual option in the App IDE.</li>\n<li>Fixed an issue with the PostgreSQL integration where it may return an error due to too many connections.</li>\n<li>Fixed an issue with the App IDE where the cursor may jump to the end of text input fields after making a change.</li>\n<li>Fixed an issue with the Key Value component where the <strong>Progress Bar</strong> format may not displaying correctly.</li>\n<li>Fixed an issue with the Key Value component where the <strong>Icon Format</strong> type may not function correctly.</li>\n<li>Fixed an issue with the App IDE where some input field border radius styles may not appear correctly when previewing an app.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved the appearance of Function blocks in the Workflow IDE.</li>\n<li>Improved the appearance of the Slider component.</li>\n</ul></div></div>\n<div class=\"alert alert--secondary admonition_M5PT changelog\"><h3 class=\"type\">Changed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Changed the default status indicator for Date and Datetime columns in the Table component.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-34-0",
            "title": "Cloud-hosted Retool 3.34",
            "summary": "- Added support for themes in the theme editor to open in their own URL.",
            "date_modified": "2024-02-09T20:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/generate-workflows-with-ai",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA0klEQVR4nEWN3UoCQQCF5wV7k94i8AG6K1A0glzwZzOIoLywpYtAkGXLwkhW2Q0RihxH15nZnS/cLjzwXR2+c8TR8TUXvRfOvYiqF3LZeqXZecNrj+n6E+4fYionQ8RpbcQ+1jpcYXCuABx5kWGtKbs7f4Y4a0TkaNZqh5QKuVYoteV3tWL5/YNFM+iliKvmBNBIuWGjDmTbDKvzcj28XSBu/CkFEm13pb3HYNDOoPP/67i/RHTqn0SPCWE/4f0p5SNImAZz5sGMdBCzeI75aoz5Ax2+2HnauH/aAAAAAElFTkSuQmCC&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"497\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/generate-workflows-with-ai.a870d8f.800.png\" srcset=\"/assets/ideal-img/generate-workflows-with-ai.a870d8f.800.png 800w,/assets/ideal-img/generate-workflows-with-ai.e9d7613.1200.png 1200w,/assets/ideal-img/generate-workflows-with-ai.7ffdedb.1600.png 1600w\" alt=\"Generate a workflow with AI\" width=\"800\" height=\"497\"></noscript></div><figcaption class=\"caption\"><span>Generate a workflow with AI</span></figcaption></figure></div>\n<p>You can now use AI to generate fully functional workflows instead of assembling blocks or writing logic. You provide some instructions and Retool assembles the required blocks with any necessary logic. You can also select a database resource and provide context about table schema.</p>",
            "url": "https://docs.retool.com/changelog/generate-workflows-with-ai",
            "title": "Generate complete workflows with AI",
            "summary": "Generate fully functional workflows with an AI prompt.",
            "date_modified": "2024-02-05T16:31:41.000Z",
            "tags": [
                "Workflows",
                "AI"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-33-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added support for array elements to Table component icon formats.</li>\n<li>Added the <strong>Row separator color</strong> style option to the Table component.</li>\n<li>Added the <strong>Timestamp</strong> and <strong>Input border radius</strong> style options to the Chat component.</li>\n<li>Added the <strong>Button</strong> style option to the Chat component header.</li>\n<li>Added support for collaborative branches in Source Control.</li>\n<li>Added support for Anthropic <code>claude-2.1</code> and <code>claude-instant-1.2</code> AI models.</li>\n<li>Added the <strong>Adornment Icon Color</strong> style option to input components.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue with Toolscript exports.</li>\n<li>Fixed an issue where placeholder text for Select and Multiselect components may not adjust to the current app theme.</li>\n<li>Fixed an issue with Date input components where <code>formattedValue</code> did not include timezone formatting,</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Validation error messages use the app theme's <code>danger</code> style option.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-33-0",
            "title": "Cloud-hosted Retool 3.33",
            "summary": "- Added support for array elements to Table component icon formats.",
            "date_modified": "2024-02-02T20:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/password-protected-public-apps-support-ends-feb-24",
            "content_html": "<p>The option to password-protect public apps will no longer be available from February 18, 2024. To create a radically better experience in building authenticated Retool apps for external users, we’ve recently introduced <a href=\"https://retool.com/products/portals\" target=\"_blank\" rel=\"noopener noreferrer\">Retool Portals</a>, <a href=\"https://retool.com/products/embed\" target=\"_blank\" rel=\"noopener noreferrer\">Retool Embed</a> and <a href=\"https://docs.retool.com/forms\" target=\"_blank\" rel=\"noopener noreferrer\">Retool Forms</a>.</p>\n<p>Any existing public apps with password protection will remain protected. Should we decide to make any further changes to password protection, Retool will provide at least six months notice.</p>",
            "url": "https://docs.retool.com/changelog/password-protected-public-apps-support-ends-feb-24",
            "title": "Upcoming deprecation of password protection for public apps",
            "summary": "The option to password-protect public apps will no longer be available from February 18, 2024. To create a radically better experience in building authenticated Retool apps for external users, we’ve recently introduced Retool Portals, Retool Embed and Retool Forms.",
            "date_modified": "2024-01-29T13:00:00.000Z",
            "tags": [
                "Apps"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-32-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added support for customizing <strong>Adornment</strong> text on Input components.</li>\n<li>Added link underline style options to the Link, Toggle Link, Link List, Table, and Key Value components.</li>\n<li>Added the <strong>Indicator label</strong> style to the Segmented Control component.</li>\n<li>Added the <strong>Indeterminate</strong> property to the Progress Circle component.</li>\n<li>Added the <strong>Height</strong> property to the Radio Group and Checkbox Group components.</li>\n<li>Added support for drawers and modals to modules.</li>\n<li>Added more style options to the Breadcrumb component.</li>\n<li>Added prefix text, suffix text, prefix icon, and suffix icon to the Phone Number Input component.</li>\n<li>Added support for uploading duplicate files to Retool Storage.</li>\n<li>Added support for label wrapping to the Key Value component.</li>\n<li>Added hover and active color style options to all button components.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue with editing JSON column type data in the Table component.</li>\n<li>Fixed an issue where timezone formatting was not included in the <code>formattedValue</code> property in the state inspector.</li>\n<li>Fixed an issue where including time zone tokens in the <strong>Time format</strong> string on Date Time components would always show the local time zone instead of the configured display time zone.</li>\n<li>Fixed an issue with the Select component where the <code>readOnly</code> property may not behave as expected.</li>\n<li>Fixed an issue where the <strong>Add components</strong> modal may not appear for apps with no components.</li>\n<li>Fixed an issue with nested item scope in the List View component.</li>\n<li>Fixed an issue where bulk deletion of apps may not work as expected.</li>\n<li>Fixed an issue with vertical alignment of the Status component.</li>\n<li>Fixed an issue where the Navigation component may not use the correct color on hover.</li>\n<li>Fixed an issue with the Form component where resetting input values to initial data may not work if <code>setData()</code> had been called.</li>\n<li>Fixed an issue where debugging tools may stop responding when attempting to view <code>theme</code> state.</li>\n<li>Fixed an issue with the JSON Schema Form component where using <code>anyOf</code> may not behave as expected.</li>\n<li>Fixed an issue where <code>setValue()</code> may not function correctly when using array values.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved the appearance of the Tabs component when using a dark theme.</li>\n<li>Improved the default color values of the Chart component.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Patched</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Patched <a href=\"https://github.com/advisories?query=CVE-2023-26159\" target=\"_blank\" rel=\"noopener noreferrer\">CVE-2023-26159</a>.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-32-0",
            "title": "Cloud-hosted Retool 3.32",
            "summary": "- Added support for customizing Adornment text on Input components.",
            "date_modified": "2024-01-26T20:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/2fa-hardware-keys",
            "content_html": "<p>You can now use <a href=\"https://fidoalliance.org/fido2/\" target=\"_blank\" rel=\"noopener noreferrer\">FIDO2</a>-compliant hardware security keys, such as the <a href=\"https://www.yubico.com/products/yubikey-5-overview/\" target=\"_blank\" rel=\"noopener noreferrer\">YubiKey 5</a>, with two-factor authentication.</p>",
            "url": "https://docs.retool.com/changelog/2fa-hardware-keys",
            "title": "Use FIDO2 security keys for two-factor authentication",
            "summary": "You can now use FIDO2-compliant hardware security keys, such as the YubiKey 5, with two-factor authentication.",
            "date_modified": "2024-01-26T00:00:00.000Z",
            "author": {
                "name": "Jordan Merrick"
            },
            "tags": [
                "Security"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-30-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added style properties for the <strong>Top Bar</strong> icon in the IFrame component.</li>\n<li>Added a <strong>Checked Border</strong> style property to Switch, Checkbox, and Radio Group components.</li>\n<li>Added the <strong>Grayscale</strong> style option to the Image component.</li>\n<li>Added the Button Group component.</li>\n<li>Added active and hover link style properties for Link, Toggle Link, and Link List components.</li>\n<li>Added visibility of <strong>Hover Background</strong> color style properties for the Tabs component.</li>\n<li>Added the option to use <strong>Automatic</strong> colors for the Avatar Group component background color.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue with the background color of the Navigation component.</li>\n<li>Fixed an issue with resource deletion.</li>\n<li>Fixed an issue with editing cells of a Table component with expandable rows that may result in rendering content in the wrong place.</li>\n<li>Fixed an issue with the Number Input component where a validation message may appear before the user inputs a value.</li>\n<li>Fixed an issue that would cause some icons to use an incorrect color.</li>\n<li>Fixed an issue where sorting some <code>datetime</code> values in the Table component may not work.</li>\n</ul></div></div>\n<div class=\"alert alert--danger admonition_M5PT changelog\"><h3 class=\"type\">Removed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Removed unnecessary headers from requests.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-30-0",
            "title": "Cloud-hosted Retool 3.30",
            "summary": "- Added style properties for the Top Bar icon in the IFrame component.",
            "date_modified": "2024-01-12T20:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-29.0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added support for Google Service Account authentication to REST API resources.</li>\n<li>Added a dynamic option to the <strong>Require confirmation</strong> setting of queries.</li>\n<li>Added audit logs for Source Control settings.</li>\n<li>Added a new List View component.</li>\n<li>Added a <strong>Border Radius</strong> style option for the Dropdown Button component.</li>\n<li>Added an option to globally set the duration of query notifications.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue with frames when used inside a module.</li>\n<li>Fixed an issue with app navigation using shortlinks with query and hash parameters.</li>\n<li>Fixed an issue with component canvas labels in the IDE.</li>\n<li>Fixed an issue where the Chart component would crash if <code>Value labels</code> was set to be anything except a string or array.</li>\n<li>Fixed an issue that resulted in incorrect background colors when editing Table component cells.</li>\n<li>Fixed an issue where newly created custom app themes would not update until refreshed.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Legacy components appear at the end of the list in the component picker.</li>\n<li>Improved the appearance of web components.</li>\n<li>Default query notifications now only show in the IDE and not when viewing an app.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-29.0",
            "title": "Cloud-hosted Retool 3.29",
            "summary": "- Added support for Google Service Account authentication to REST API resources.",
            "date_modified": "2024-01-05T20:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-27-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added the <strong>Reset to default theme</strong> option to the <strong>App Theme</strong> settings.</li>\n<li>Added a warning message when attempting to use translation tools to translate the content of Retool apps.</li>\n<li>Added <code>_tool</code> helper methods.</li>\n<li>Added support for Retool Storage to other environments.</li>\n<li>Added a deselect option to the Table component's editable tag column.</li>\n<li>Added a custom width option to the Drawer frame.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue with app frames within modules.</li>\n<li>Fixed an issue with OAuth 2.0 callback URLs.</li>\n<li>Fixed an issue where nested items may not evaluate properly.</li>\n<li>Fixed an issue where Table component cells may display an incorrect background color during editing.</li>\n<li>Fixed an issue where nested containers in modules didn't show borders.</li>\n<li>Fixed an issue where changeset and save actions were not exposed for tables with only editable dynamic columns.</li>\n<li>Fixed an issue with the <strong>Link to Table</strong> option for Filter components within modules.</li>\n<li>Fixed an issue with the Reorderable List component where <code>renderedValue</code> would immediately update when reordered.</li>\n<li>Fixed an issue with the Chart component where <code>selectedData</code> may not work when using JSON to define chart metadata.</li>\n<li>Fixed an issue where dynamic column text color may not always work.</li>\n<li>Fixed an issue where <code>{{theme}}</code> may not correctly reflect organization-defined default themes.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-27-0",
            "title": "Cloud-hosted Retool 3.27",
            "summary": "- Added the Reset to default theme option to the App Theme settings.",
            "date_modified": "2023-12-22T20:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-26-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added support for custom widths to the <strong>Drawer</strong> frame in the IDE.</li>\n<li>Added the option to configure a security contact for your organization for incident-related notifications.</li>\n<li>Added the option to rename frames in the IDE.</li>\n<li>Added the option to download app JSON with existing query data in Debug Tools.</li>\n<li>Added all available frames to the <strong>State</strong> tab in the IDE.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue with the <strong>Styles</strong> color picker.</li>\n<li>Fixed an issue with the Table component where <strong>Changeset</strong> and <strong>Save</strong> actions were not available if the table only contained editable dynamic columns.</li>\n<li>Fixed an issue with the Key Value component where it did not properly respect saved property order.</li>\n<li>Fixed an issue with the IDE where the <strong>App</strong> settings did not properly appear.</li>\n<li>Fixed an issue with the IDE where the <strong>Edit</strong> button would not always appear in the query editor for the selected resource.</li>\n<li>Fixed an issue where Visual Studio Code on Windows could not always save changes.</li>\n<li>Fixed an issue with the performance of the <strong>Styles</strong> editor inputs when attempting to use <code>{{ }}</code> expressions.</li>\n<li>Fixed an issue where the <strong>Styles</strong> editor may produce unexpected errors.</li>\n<li>Fixed an issue with the styling of Date Range and Date Time components.</li>\n<li>Fixed an issue with the Key Value component where dynamic values would not work when using custom formatting.</li>\n<li>Fixed an issue where downloaded Word and Excel files would be corrupted.</li>\n<li>Fixed an issue with the Container component where the <code>ShowBorder</code> property would not support dynamic values.</li>\n<li>Fixed an issue where editing cells in nested tables would collapse the parent row.</li>\n<li>Fixed an issue with the Sidebar frame layout.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-26-0",
            "title": "Cloud-hosted Retool 3.26",
            "summary": "- Added support for custom widths to the Drawer frame in the IDE.",
            "date_modified": "2023-12-15T20:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/table-component-button-column-type",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAkElEQVR4nCXLSw6CMBAA0N5/bTwBK6NxzUaP4MpEE/xEBFLKp6Wd6YyU1hjf/oniacqiM8p6Yo9M9BlGVzZWdtz1TliclKkAIP6klNJLhizHLOfzDQVY0K0ctQ5hXpaYUqxU2B795kCXBwo3QV832ugYl/++12G9x9XOn64gJkvg2DpEz4CEnizMVctvSWqALxYmis4iPEZiAAAAAElFTkSuQmCC&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"411\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/image.2c0acb6.800.png\" srcset=\"/assets/ideal-img/image.2c0acb6.800.png 800w,/assets/ideal-img/image.f99a1c1.1200.png 1200w,/assets/ideal-img/image.bf95d74.1600.png 1600w\" alt=\"Button column in the Table component\" width=\"800\" height=\"411\"></noscript></div><figcaption class=\"caption\"><span>Button column in the Table component</span></figcaption></figure></div>\n<p>The new <strong>Button</strong> column type in the Table component is now available. When enabled, column values render as a button. This allows you to add buttons to trigger actions, queries, and open links using a button.</p>",
            "url": "https://docs.retool.com/changelog/table-component-button-column-type",
            "title": "Button column type for the Table component",
            "summary": "<Image",
            "date_modified": "2023-12-12T15:26:00.000Z",
            "author": {
                "name": "Darya Verzhbinsky"
            },
            "tags": [
                "Apps",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-25-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added an option to specify group mappings in <strong>SAML SSO</strong> settings.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where Google SSO was not available to some cloud-hosted organizations.</li>\n<li>Fixed an issue where <code>getSAMLAndLDAPConstants</code> was not using the default value for <code>samlGroupsAttribute</code>.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-25-0",
            "title": "Cloud-hosted Retool 3.25",
            "summary": "- Added an option to specify group mappings in SAML SSO settings.",
            "date_modified": "2023-12-08T20:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-24-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added <code>instanceView</code> as an exposed property in the List View component.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an interaction with <strong>collapse empty rows</strong> that would not work in repeated containers within the List View component.</li>\n<li>Fixed components that use <code>ChevronScrollable</code> that would not scroll correctly.</li>\n<li>Fixed positioning of Modal.</li>\n</ul></div></div>\n<div class=\"alert alert--secondary admonition_M5PT changelog\"><h3 class=\"type\">Changed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>URL query parameters retain their original sorting and no longer sorted alphabetically.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-24-0",
            "title": "Cloud-hosted Retool 3.24",
            "summary": "- Added instanceView as an exposed property in the List View component.",
            "date_modified": "2023-12-01T20:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/phone-number-input-component",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAECAYAAAC3OK7NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAoUlEQVR4nD3DPwsBYQDA4ftGvoWMRiSDRQwYsHD+M1gtFqvhBosoKZIi+ZvOwmDGed9zr5t/BuWpR/N4DXyBAf7QiGB4TDQyIR6dkYwtyCZWFFIbcrEtWkZfopSLlB+eT4FtK5y3++u4KPXBaF/RGs0dQkgsS/K4v7AsgS2dfyEl084NLZ8+0NL3tPUj3eKJXtmkXzkzrJpMaibzusm6dOELWpR/R0JAxdkAAAAASUVORK5CYII=&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"288\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/phone-number-input.fece3b6.800.png\" srcset=\"/assets/ideal-img/phone-number-input.fece3b6.800.png 800w,/assets/ideal-img/phone-number-input.c48a7fa.1200.png 1200w,/assets/ideal-img/phone-number-input.652a3e7.1600.png 1600w\" alt=\"Phone Input component\" width=\"800\" height=\"288\"></noscript></div><figcaption class=\"caption\"><span>Phone Input component</span></figcaption></figure></div>\n<p>The Phone Number Input component for web apps is now available. It automatically formats phone numbers, includes a country selector with international dialing code, and can perform validation based on the selected country. The default country is derived from the user's IP address.</p>",
            "url": "https://docs.retool.com/changelog/phone-number-input-component",
            "title": "Phone Number Input component",
            "summary": "<Image",
            "date_modified": "2023-12-01T16:31:41.000Z",
            "tags": [
                "Apps",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-23-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added the option to upgrade to annual pricing for organizations on Team or Business plans.</li>\n<li>Added a <strong>Close when pressing Escape</strong> option to Modal and Drawer frames.</li>\n<li>Added a global helper function for swapping items in an array.</li>\n<li>Added <strong>Padding</strong> options to the Segmented Control component.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed the height of Select components without a placeholder and when search is disabled.</li>\n<li>Fixed event handlers being incorrectly removed when upgrading a deprecated component.</li>\n<li>Fixed the resource authentication prompt occasionally not appearing for some users.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved the prominence of query warning messages.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-23-0",
            "title": "Cloud-hosted Retool 3.23",
            "summary": "- Added the option to upgrade to annual pricing for organizations on Team or Business plans.",
            "date_modified": "2023-11-24T20:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/gcp-secrets-manager",
            "content_html": "<p>Configuring Resources in Retool can require handling sensitive values, e.g., database passwords or API keys. Starting in <a href=\"https://docs.retool.com/releases/stable\">Self-hosted Retool 3.20</a> and later, you can store and retrieve secrets from Google Cloud Platform (GCP) Secrets Manager.</p>",
            "url": "https://docs.retool.com/changelog/gcp-secrets-manager",
            "title": "Google Cloud Platform Secrets Manager for self-hosted Retool 3.20 or later",
            "summary": "Configuring Resources in Retool can require handling sensitive values, e.g., database passwords or API keys. Starting in Self-hosted Retool 3.20 and later, you can store and retrieve secrets from Google Cloud Platform (GCP) Secrets Manager.",
            "date_modified": "2023-11-20T16:31:41.000Z",
            "tags": [
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-22-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added <code>LDAP_SERVER_CERTIFICATE</code> and <code>LDAP_SERVER_KEY</code> to the list of all secret environment variables that can be loaded from the file system with <code>RETOOL_LOAD_FILE_SECRETS</code>.</li>\n<li>Added keyboard navigation to the Table component summary row.</li>\n<li>Added padding controls to Drawer and Modal frames.</li>\n<li>Added color options to component label captions.</li>\n<li>Added <strong>Show</strong> and <strong>Hide</strong> event handlers for Drawer frames and Modal frames.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed GitHub commit actions in Source Control.</li>\n<li>Fixed resource permissions in embedded apps.</li>\n<li>Fixed Ask AI actions that may not stream data correctly.</li>\n<li>Fixed resources that may not prompt users to reauthenticate.</li>\n<li>Fixed custom links to embedded apps that may not load correctly when using a custom domain.</li>\n<li>Fixed style menu swatches to match parent container nested styles.</li>\n<li>Fixed nested styles with theme references.</li>\n<li>Fixed unexpected behavior in the code editor when working with nameless resources.</li>\n<li>Fixed a performance issue when typing quickly in a Styles editor.</li>\n<li>Fixed the default height of web components.</li>\n<li>Fixed style editor values that may unexpectedly reset.</li>\n<li>Fixed data updates to Table components with multi-row selection enabled that may not update <code>selectedSourceRows</code>.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Allow Table components with expandable rows to be represented in Toolscript.</li>\n<li>Improved the tooltip editor for Table component cells.</li>\n</ul></div></div>\n<div class=\"alert alert--danger admonition_M5PT changelog\"><h3 class=\"type\">Removed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Removed the list of users from API/user responses if the current user does not have access.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-22-0",
            "title": "Cloud-hosted Retool 3.22",
            "summary": "- Added LDAPSERVERCERTIFICATE and LDAPSERVERKEY to the list of all secret environment variables that can be loaded from the file system with RETOOLLOADFILE_SECRETS.",
            "date_modified": "2023-11-17T20:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/key-value-component-v2",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAwElEQVR4nB3MvU7CUBiA4XNTXIk3QuKIiwuKgwIBFomDSQdN+N2YtAm6YCFMYJpYTiJqwlDgVKD9jn2JfS7gUbmTB/LnA85KQ66qHpX6hJvKGxdFl1p1jHPvUzgdoQrFV2CPSIy1AqSIJMTxjkQS/rXuAlTpeoyJIlarDZ/LkK/vNWFo2G4Nm7UBLM/OEtW8nQOSjb+HPYdsSZFUsH82G6ePP6jG5YynnsZta15aGq+jmbYXzLoL/E5A0P/AL79zBG3drVNTCL6CAAAAAElFTkSuQmCC&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"410\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/key-value.81059b0.800.png\" srcset=\"/assets/ideal-img/key-value.81059b0.800.png 800w,/assets/ideal-img/key-value.dad0f2c.1200.png 1200w,/assets/ideal-img/key-value.8101b06.1600.png 1600w\" alt=\"Key Value component\" width=\"800\" height=\"410\"></noscript></div><figcaption class=\"caption\"><span>Key Value component</span></figcaption></figure></div>\n<p>A new version of the Key Value component is available on Retool Cloud and self-hosted deployments running Retool 3.22 or later. It contains a number of improvements over the previous component:</p>\n<ul>\n<li>Automatically reflects changes whenever the data source changes.</li>\n<li>Added support for event handlers.</li>\n<li>Various styling improvements.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/key-value-component-v2",
            "title": "New version of the Key Value component",
            "summary": "<Image",
            "date_modified": "2023-11-17T16:31:41.000Z",
            "tags": [
                "Apps",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/app-level-themes-typography-controls",
            "content_html": "<p>Retool organization users on the <strong>Business</strong> or <strong>Enterprise</strong> plan have the option to apply custom themes on a per-app basis. Previously, app themes were only available globally and required administator access. App-level themes apply only to the current app. If your organization does not have access to org-level themes, you can still set a custom app theme.</p>\n<!-- -->\n<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAMCAYAAABbayygAAAACXBIWXMAAAsTAAALEwEAmpwYAAABVUlEQVR4nG2QyUoDYRCE/xfzTTwKXrz6Ah68KOpBFDfUgGIwcQFBEfSghzBBPQQFQSMqWUwmI5M46799konbwYaiC7q7uqvF0PA2q/krFravWSlUWNmtsFa4JVe8Zatwx8HxAyNjp4jRiTMgJU4SjLVYaxiExZgBn527RoxPXoCReO9d4kSSpgqtbQapBo2L8xXExLSTKbpuB6UUf8MYm+Xc8j1iaqZMELzTarUJw5A4jn8QRXHWWNysIhYXKkB/pfwqRhmSJCGJ0+zWk61nxPryHb2eh5QK3/dxXRfP8wiCgCAIkSbmMl9D5HNVwshHSp251Po394fBcFNsIo52Xuj2PLT+fssfM9oQqZD7vQbivFCjXn9Bpbo/jDU2Q5+bVNMLu7zu1xClwwZ+0BkU/1H8UBHtgyqitPFE7eaNerlJo9yg5dRpO6+4zjOdUhXXecRduuQT6u+5ErROeh8AAAAASUVORK5CYII=&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"996\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/theme.f19c0bd.800.png\" srcset=\"/assets/ideal-img/theme.f19c0bd.800.png 800w,/assets/ideal-img/theme.fb878d0.1160.png 1160w\" alt=\"App-level themes\" width=\"800\" height=\"996\"></noscript></div><figcaption class=\"caption\"><span>App-level themes</span></figcaption></figure></div>\n<p>We've also added some expanded typography settings. You can set custom typefaces and font sizes. Not all custom typefaces may work with the line heights used in Retool apps (generally 1em-1.5em).</p>\n<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOCAYAAAAWo42rAAAACXBIWXMAAAsTAAALEwEAmpwYAAABiklEQVR4nE2Q3UtUURTFzz/WX+J7Lz333EuERCWUBoNiiMwU6hQU1UPEVE4fE4hMGYwKZpNzbRDH0XvPPd/nF/cejBYszmaftRdrb3FlpsX9lc/cXf7CfHO75sNWn8bjbyw1+6w/32Xm6mvEtZsdIFAqhQ+BGAMJEe99Xc3e6SGu3/oAOE4n52hjsdYTQiQEsCYNzc1tIW7c/gRUAodzjhhj8osR75KwsfAdMXuvR1lOMSaJQgg1K5iTAqJhZXGAeDC/TVFMOJ2cIaX8R+scNtd11vXlfcRiYwcpp+R5gVKKsizrt4rhfHJ+tfoT0Xy0SyHPuLjIkbKshZWj1hrn0tad1hCxsXpAxNRNa21ycq4+zeUyvbUM8fLJEG1yVFk5JFHFakgWEvD02xni7cZvCjlFK11/GmNqVshGGbk+Z//pCPHx2TFKF8iipJQKVeUsJM46vPE4LMP2IWLrxTEGRQzp0P/jsjdu7yG+Lu3x482AYfeIo80h2eYvxt1DTroH/OkMGL3bYbzwnr9fUQN3X7GFgwAAAABJRU5ErkJggg==&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"1150\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/typography.77cd476.800.png\" srcset=\"/assets/ideal-img/typography.77cd476.800.png 800w,/assets/ideal-img/typography.ba4c406.1176.png 1176w\" alt=\"Typography controls\" width=\"800\" height=\"1150\"></noscript></div><figcaption class=\"caption\"><span>Typography controls</span></figcaption></figure></div>",
            "url": "https://docs.retool.com/changelog/app-level-themes-typography-controls",
            "title": "App-level themes and typography controls",
            "summary": "Retool organization users on the Business or Enterprise plan have the option to apply custom themes on a per-app basis. Previously, app themes were only available globally and required administator access. App-level themes apply only to the current app. If your organization does not have access to org-level themes, you can still set a custom app theme.",
            "date_modified": "2023-11-15T16:31:41.000Z",
            "tags": [
                "Apps"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/codesearch",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAYAAAD68A/GAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA3UlEQVR4nB3NS0rDUABA0bcy9+IqlIILUIOiNCpSOhCcVOqnGBVERFQ6MRgyKEJoIyGBFCstgZek75Mr9U7O8Iq19QtaB69sOm/sHH3guD577if7bZ/Dtk+nG9LaGCKOzwJWKW3/zReG02dD58XgeJrtB9jaTRDd8xFVXZBmOVKWLApJnM6Z/lZM55ZZ2XDXSxD9/oS6LsjzH6qyQkqJVkus1jR2dTEEXoZ4vM9oqKhVDViUWWKsQVmFNhoDjJ9miN7JmHcvYXiTENymhINvRtcTvi4j4quIeBARuyF/mZPRmseTSmwAAAAASUVORK5CYII=&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"473\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/codesearch.9f79482.800.png\" srcset=\"/assets/ideal-img/codesearch.9f79482.800.png 800w,/assets/ideal-img/codesearch.0f5ec93.1200.png 1200w,/assets/ideal-img/codesearch.c6895eb.1454.png 1454w\" alt=\"Code Search\" width=\"800\" height=\"473\"></noscript></div><figcaption class=\"caption\"><span>Code Search</span></figcaption></figure></div>\n<p>You can now search for all code within a Retool app, from resource queries and component properties to preloaded JavaScript and CSS. Code search can instantly search for case or exact word matches, and supports regular expressions for fine-tuned searches.</p>",
            "url": "https://docs.retool.com/changelog/codesearch",
            "title": "Code search: Find code anywhere in your app",
            "summary": "<Image",
            "date_modified": "2023-11-14T16:31:41.000Z",
            "tags": [
                "Apps",
                "Mobile",
                "Workflows",
                "IDE"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/new-resource-permissions",
            "content_html": "<p>Resources now have additional permission levels. This make it easier to build apps with sensitive data in a secured way.</p>\n<ul>\n<li>The <a href=\"https://docs.retool.com/org-users/concepts/permission-groups#access-rules\">Use</a> permission grants users permission run queries on a given resource. This means administrators can now control access to sensitive resources without needing to control access to different apps.</li>\n<li>For Retool organizations on the <strong>Enterprise</strong> plan, resource permissions can also be granted at the environment level.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/new-resource-permissions",
            "title": "New resource permission levels",
            "summary": "Resources now have additional permission levels. This make it easier to build apps with sensitive data in a secured way.",
            "date_modified": "2023-11-14T16:31:41.000Z",
            "tags": [
                "Resources",
                "Users and Permissions"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/component-refresh-beta",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAYAAAB8ZH1oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAwElEQVR4nB3H3UrCUADA8fOEvUhvEPQGXiTdBSHoGh2oi+jKXBZdFHphyQj70FKnjEDc2dmcZ5//YHe/nzg47HHUdDk+eePcGtNqj7FsFyknyMsPbm+mnDZchH31DhQkJqMsDVVl6ldVio4jIOel7yPk9YQ8iwm2CqU0KgiJoh06jPHXfyRG8+r4iG53DmSk+Z60SNjnCQUZpjQEO1179rxBXJx9MXj0GDoeI8fDvff4fFjx7SyY3f2yfFrw05nyD4bQsXsF3h9nAAAAAElFTkSuQmCC&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"398\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/refresh.788dc06.800.png\" srcset=\"/assets/ideal-img/refresh.788dc06.800.png 800w,/assets/ideal-img/refresh.7295979.1200.png 1200w,/assets/ideal-img/refresh.5961281.1600.png 1600w\" alt=\"Custom URLs for web apps\" width=\"800\" height=\"398\"></noscript></div><figcaption class=\"caption\"><span>Custom URLs for web apps</span></figcaption></figure></div>\n<p>A visually refreshed component library is currently available as an opt-in beta for cloud-hosted organizations. It contains minor style changes to many components, such as:</p>\n<ul>\n<li>An updated color palette.</li>\n<li>Changes to the active and hover state appearance for buttons and inputs.</li>\n<li>Removing borders on input attachments and buttons.</li>\n<li>Fixing inconsistencies with component spacing, font weight, border radius, etc.</li>\n<li>A new look for the Tab and Navigation components.</li>\n</ul>\n<p>Any style overrides you've made will still be retained.</p>\n<p>Click <strong>Get started</strong> and leave a comment to request access.</p>",
            "url": "https://docs.retool.com/changelog/component-refresh-beta",
            "title": "Visual refresh of the component library",
            "summary": "<Image",
            "date_modified": "2023-11-13T16:31:41.000Z",
            "tags": [
                "Components",
                "Apps",
                "Beta"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-21-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added support for Retool Storage to public apps.</li>\n<li>Added an <strong>Add component</strong> option to the canvas context menu.</li>\n<li>Added support for hovering and copying text from cell tooltips in the Table component.</li>\n<li>Added support for config vars in custom auth JS.</li>\n<li>Added an option to customize the <strong>true</strong> and <strong>false</strong> icons for Table boolean columns.</li>\n<li>Added Modal frames to apps.</li>\n<li>Added editable dynamic columns to the Table component.</li>\n<li>Added option to always show row selection checkboxes when a Table component is in multi-row selection mode.</li>\n<li>Added temperature setting to AI Action queries.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed Code editor crashes when selecting nameless resources.</li>\n<li>Fixed a broken link in the Theme tutorial.</li>\n<li>Fixed an issue with resource permissions.</li>\n<li>Fixed an issue with the Styles menu color picker where it would fail to respond.</li>\n<li>Fixed text color for frames on themes where the canvas color and primary surface color are highly contrasting.</li>\n<li>Fixed an issue where Excel exports would prepend <code>'</code> to negative percent values.</li>\n<li>Fixed an issue where autocomplete in a Table component's event handlers settings didn't include some additional scope.</li>\n<li>Fixed an issue where some empty Table Tag cells would not show a placeholder when editable.</li>\n<li>Fixed an issue where the <strong>Open App</strong> event handler was not aware of custom scope provided by Table or Dropdown Button components.</li>\n<li>Fixed an issue where the Table component's search term property was ignored on mount.</li>\n<li>Fixed an issue where newline characters were ignored in the Table component's Multiline String format.</li>\n<li>Fixed an issue where checkboxes in expanded rows would not work without a configured primary key.</li>\n<li>Fixed missing URL hash parameters in some instances on protected branches.</li>\n<li>Fixed an error boundary in debug tools caused by switching themes.</li>\n<li>Fix commit timeouts on large apps.</li>\n<li>Fixed issue where config variables were not updated in OAuth settings.</li>\n<li>Fixed an issue where data updates to a Table component in multi-row selection mode would not update <code>selectedSourceRows</code>.</li>\n<li>Fixed an issue where the Table component's editable avatar and tags columns would fail to load if there were many options.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved date parsing to support seconds-based unix timestamps.</li>\n<li>Reduced latency of source control branch deletion endpoint by 80%.</li>\n</ul></div></div>\n<div class=\"alert alert--secondary admonition_M5PT changelog\"><h3 class=\"type\">Changed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Updated the design of inputs in the Theme editor.</li>\n<li>Secondary and tertiary colors in the Theme editor can now be empty.</li>\n<li>Exposed <code>{{ theme.borderRadius }}</code> to apps.</li>\n<li>Changed the Retool Database connection string modal UI.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-21-0",
            "title": "Cloud-hosted Retool 3.21",
            "summary": "- Added support for Retool Storage to public apps.",
            "date_modified": "2023-11-10T16:59:33.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/custom-app-urls",
            "content_html": "<div class=\"margin-bottom--md\"><figure class=\"screenshot\"><div class=\"doc-image\" style=\"background-size:cover;background-repeat:no-repeat;position:relative;background-image:url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAHCAYAAAAxrNxjAAAACXBIWXMAAAsTAAALEwEAmpwYAAABAElEQVR4nC2OQStEURiGzx/wfyyV7KzEysZEkVAjZWNnxg4b5I4oe01JMqVGRDTFYhJmmMLKYtw7nDvnnjn33Pvonnybt56e3vcTff3bDOSOGJwsMzx9wujMKeOzFaYWzpnLX5BfumRk7AwxlDvm96eD6WnCMESpLtmlaerS2oTiyj1iYr6K7wd0lUJ2I4Kgg1IKY+JMpy0tO2vPiMXlW/wgQKnICVJKIq3RWrvGtq8pr7cQxdU61loHo38xeyGU0rHexyc3m2+I0kaDNEncjDIxoelhUotJYjIatb953WoiDgsNKgdNqvsNrktP1LxH6l6dF++B1m6N9707vgpX/AEjwfBvbBjjrgAAAABJRU5ErkJggg==&quot;)\"><svg style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px\" width=\"800\" height=\"572\"></svg><noscript><img style=\"width:100%;height:auto;max-width:100%;margin-bottom:-4px;position:absolute;top:0;left:0\" src=\"/assets/ideal-img/custom-app-urls.40a1399.800.png\" srcset=\"/assets/ideal-img/custom-app-urls.40a1399.800.png 800w,/assets/ideal-img/custom-app-urls.00810be.1200.png 1200w,/assets/ideal-img/custom-app-urls.85a2738.1600.png 1600w\" alt=\"Custom URLs for web apps\" width=\"800\" height=\"572\"></noscript></div><figcaption class=\"caption\"><span>Custom URLs for web apps</span></figcaption></figure></div>\n<p>You can create custom URLs for web apps to make them more discoverable and easier to share with end users. With a custom URL set, end users can access apps at <code>{domain}/app/{custom-url}</code> or <code>{domain}/p/{custom-url}</code> if it's a public app.</p>",
            "url": "https://docs.retool.com/changelog/custom-app-urls",
            "title": "Custom URLs for web apps",
            "summary": "<Image",
            "date_modified": "2023-11-08T16:31:41.000Z",
            "tags": [
                "Apps",
                "IDE",
                "Retool Cloud",
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/enterprise-development",
            "content_html": "<p>We're releasing a new wave of Retool platform capabilities to provide greater flexibility and governance over how you organize your teams, secure your data, delegate permissions, and more.</p>\n<p>We're going even further on foundational platform features (SSO, RBAC, environments, Source Control, audit logs, and multiple hosting options), adding:</p>\n<ul>\n<li><a href=\"https://docs.retool.com/org-users/tutorials/spaces\">Spaces</a>: Independent workspaces for teams to manage their own apps, permissions, resources, connections, and git repos—all while sharing core infrastructure with other teams.</li>\n<li><a href=\"https://docs.retool.com/reference/api/v2\">Platform APIs</a> Programmatically manage the Retool platform with robust API endpoints to manage workspaces, provision users, assign permissions, organize apps, and more.</li>\n<li><a href=\"https://docs.retool.com/org-users/concepts/permission-groups\">Extended permissions</a>: Grant data-level access permissions for resources in each environment, ensuring that applications built in Retool are secure by default</li>\n<li><a href=\"https://docs.retool.com/workflows/guides/retool-events\">Orchestrated governance</a>: Create automated workflows and alerts that trigger whenever users are created, sign up, request access, and more.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/enterprise-development",
            "title": "Unlock enterprise development with new platform features",
            "summary": "We're releasing a new wave of Retool platform capabilities to provide greater flexibility and governance over how you organize your teams, secure your data, delegate permissions, and more.",
            "date_modified": "2023-11-08T10:05:00.000Z",
            "tags": [
                "Enterprise"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-19-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added multiple environment support for Retool Storage.</li>\n<li>Added the <code>getDisplayedData()</code> method to the Table component.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where the Modal component may not work as expected when using Safari.</li>\n<li>Fixed an issue where scrolling may not function correctly inside the Modal component.</li>\n<li>Fixed an issue where grouping Table component rows by date may result in duplicate groups.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved performance of image caching and processing.</li>\n<li>Improved efficiency of network requests.</li>\n<li>The <strong>Styles</strong> editor falls back to <code>px</code> when using a plain number value for border radius.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-19-0",
            "title": "Cloud-hosted Retool 3.19",
            "summary": "- Added multiple environment support for Retool Storage.",
            "date_modified": "2023-11-04T00:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-18-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added the capability to directly share apps with users from the <strong>Share Modal</strong> (for plans with granular access controls).</li>\n<li>Added a setting to allow page owners to manage access for their owned pages (for plans with granular access controls).</li>\n<li>Added audit logs when sharing apps through the <strong>Share</strong> modal.</li>\n<li>Added support for dynamic cell text color in the Table component.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where borders of nested containers inside modules would not appear.</li>\n</ul></div></div>\n<div class=\"alert alert--secondary admonition_M5PT changelog\"><h3 class=\"type\">Changed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Renamed <strong>URL Parameters</strong> to <strong>Page Settings</strong>.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-18-0",
            "title": "Cloud-hosted Retool 3.18",
            "summary": "- Added the capability to directly share apps with users from the Share Modal (for plans with granular access controls).",
            "date_modified": "2023-10-27T17:34:24.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/rpc-beta",
            "content_html": "<p>Retool RPC (Remote Procedure Call) allows you to connect your own codebase. Once enabled, you can define functions in your backend and use them within Retool apps and workflows.</p>\n<p>Click <strong>Get started</strong> to request access to the <a href=\"https://docs.retool.com/data-sources/quickstarts/retool-rpc#set-up-retool-rpc-with-retool-cli\">Retool RPC beta</a>.</p>",
            "url": "https://docs.retool.com/changelog/rpc-beta",
            "title": "Connect your codebase to Retool with RPC",
            "summary": "Retool RPC (Remote Procedure Call) allows you to connect your own codebase. Once enabled, you can define functions in your backend and use them within Retool apps and workflows.",
            "date_modified": "2023-10-23T16:31:41.000Z",
            "tags": [
                "Resources",
                "Code",
                "Beta"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-17-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added <code>body</code> option to GET requests.</li>\n<li>Added automatic column widths mode to the Table component.</li>\n<li>Added support for AWS CodeCommit, Bitbucket, and Azure Repos to Source Control for cloud-hosted organizations.</li>\n<li>Added support for <code>await</code> when using Table component filter methods.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where a workflow's webhook trigger cURL request would pass a <code>null</code> data flag.</li>\n<li>Fixed an issue where modules may not correctly reference URL parameters on page load.</li>\n<li>Fixed an issue where the List View component may crash under certain conditions.</li>\n<li>Fixed an issue where the Table component's Summary Row editor may crash under certain conditions.</li>\n<li>Fixed an issue where Table component sorting may not behave as expected.</li>\n<li>Fixed style controls for Editable Text, Editable Number, and Editable Text Area components.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved CSV upload experience in Retool Database.</li>\n<li>Improved performance of the code editor when editing styles that reference theme values.</li>\n<li>Improved referral form UI.</li>\n<li>Improved the readability of code-search keypaths.</li>\n</ul></div></div>\n<div class=\"alert alert--secondary admonition_M5PT changelog\"><h3 class=\"type\">Changed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Changed the behavior of column generation in the Table component when dynamic columns are enabled.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-17-0",
            "title": "Cloud-hosted Retool 3.17",
            "summary": "- Added body option to GET requests.",
            "date_modified": "2023-10-13T15:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/retool-storage",
            "content_html": "<p>Retool Storage is a hosted blob store that allows you to upload and interact with your files without needing to configure an object store (e.g., S3, Azure File Storage). There is a 5 GB storage limit per organization, with a 250 MB limit on file size. Your browser may have settings that restrict this limit further.</p>\n<p>Working with files has previously been a challenge for users as it required storing base64 strings or using third-party data stores. Retool Storage is a built-in solution that requires no configuration.</p>\n<p>There are two ways to interact with Retool Storage:</p>\n<ul>\n<li>The <strong>Retool Storage</strong> section in the <strong>Resources</strong> tab for your organization.</li>\n<li>The <strong>Retool Storage</strong> resource, available in both apps and workflows.</li>\n</ul>\n<p>You can programmatically upload, read, and download from Retool Storage.</p>",
            "url": "https://docs.retool.com/changelog/retool-storage",
            "title": "Retool Storage: A file store for cloud-hosted organizations",
            "summary": "Retool Storage is a hosted blob store that allows you to upload and interact with your files without needing to configure an object store (e.g., S3, Azure File Storage). There is a 5 GB storage limit per organization, with a 250 MB limit on file size. Your browser may have settings that restrict this limit further.",
            "date_modified": "2023-10-10T16:31:41.000Z",
            "tags": [
                "Resources",
                "Storage",
                "Retool Cloud",
                "Beta"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-16-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added support for the multi-element branching experience for all source control providers.</li>\n<li>Added support for the popout code editor in <strong>Run script</strong> event handlers in the Inspector.</li>\n<li>Added support for values containing newlines in configuration variables.</li>\n<li>Added support to allow users to join organizations using Google SSO on an org-scoped login, if the organization has auto-join enabled.</li>\n<li>Added the ability for admins to reset their organization's logo and favicon to the default.</li>\n<li>Added the ability to set primary and secondary border colors in the theme editor.</li>\n<li>Added the ability to set short sessions from the SSO settings page. This was previously only set from the <code>USE_SHORT_SESSIONS</code> environment variable.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where preview queries using Ask AI were automatically triggered. Now, queries must be manually triggered.</li>\n<li>Fixed a styling issue for the deprecated Select component.</li>\n<li>Fixed an issue when setting dynamic default values on Status Widget components.</li>\n<li>Fixed an issue where JavaScript linting wouldn't work correctly when apps had too many components.</li>\n<li>Fixed an issue where Text Input components would error when using raw numbers in border radius styles.</li>\n<li>Fixed an issue where <code>form.invalid</code>, used to validate Forms, did not work properly.</li>\n<li>Fixed an issue where a user auto-joining an organization may not be added to the All Users permission group.</li>\n<li>Fixed an issue where protected resources were becoming unprotected when synced.</li>\n<li>Fixed an issue where the ListView component <code>resetValue()</code> method would reset incorrect values.</li>\n<li>Fixed an issue with the OAuth callback URL for protected resources.</li>\n<li>Fixed an issue with legacy Table components using dark themes where the cell text color had incorrect contrast.</li>\n<li>Fixed issues with contrast text styling for Calendar and PDF components.</li>\n<li>Fixed issues with sort mode on Table components.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved the appearance of the sharing input in the Share apps modal.</li>\n<li>Improved the design of the direct access display in the Share apps modal.</li>\n</ul></div></div>\n<div class=\"alert alert--secondary admonition_M5PT changelog\"><h3 class=\"type\">Changed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Patched <a href=\"https://github.com/advisories/GHSA-j7hp-h8jx-5ppr\" target=\"_blank\" rel=\"noopener noreferrer\">CVE-2023-4863</a>.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-16-0",
            "title": "cloud/3-16-0",
            "summary": "- Added support for the multi-element branching experience for all source control providers.",
            "date_modified": "2023-10-06T13:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/workflows-generally-available",
            "content_html": "<p>We're excited to announce that <a href=\"https://retool.com/products/workflows\" target=\"_blank\" rel=\"noopener noreferrer\">Retool Workflows</a> is now generally available. Workflows is a visual automation product that lets you compose APIs and database queries with code (JavaScript or Python) to automate work. It combines the ease of drag-and-drop with the extensibility and reliability of code that engineers need for production-grade work. We've also integrated it with the rest of the Retool product so you can extend workflows with user interfaces or vice versa.</p>\n<p>Read the <a href=\"https://retool.com/blog/workflows-generally-available/\" target=\"_blank\" rel=\"noopener noreferrer\">blog post</a> to learn more about Workflows, check out the <a href=\"https://docs.retool.com/workflows\">documentation</a>, and <a href=\"https://login.retool.com/auth/signup?redirect=workflows-new&amp;source=docs\" target=\"_blank\" rel=\"noopener noreferrer\">start building for free</a>.</p>",
            "url": "https://docs.retool.com/changelog/workflows-generally-available",
            "title": "Retool Workflows is generally available",
            "summary": "We're excited to announce that Retool Workflows is now generally available. Workflows is a visual automation product that lets you compose APIs and database queries with code (JavaScript or Python) to automate work. It combines the ease of drag-and-drop with the extensibility and reliability of code that engineers need for production-grade work. We've also integrated it with the rest of the Retool product so you can extend workflows with user interfaces or vice versa.",
            "date_modified": "2023-10-06T00:00:00.000Z",
            "tags": [
                "Workflows"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-15-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added a button for adding a resource when the code list is empty.</li>\n<li>Added an onboarding panel for Retool Workflows.</li>\n<li>Added an option for downloading workflow run logs.</li>\n<li>Added an option to the command palette to view documentation for queries.</li>\n<li>Added options to the command palette for displaying <strong>Show on mobile</strong> and <strong>Show on desktop</strong> settings.</li>\n<li>Added support for SSO token lifespan in SSO settings.</li>\n<li>Added support for configuring a custom logout redirect URL to SSO settings.</li>\n<li>Added support for configuring a default user group for specific domains within SSO settings.</li>\n<li>Added support for non-pixel border radius styles to fall back to pixel values.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where configuration variables weren't replaced when using certain legacy OAuth fields.</li>\n<li>Fixed an issue where module settings were closed when using an unpinned Inspector.</li>\n<li>Fixed an issue where switching branches while editing a protected query in the Query Library resulted in wrong query values.</li>\n<li>Fixed an issue where tables with auto-height enabled did not account for summary rows.</li>\n<li>Fixed an issue where the <code>REQUEST_PASSWORD_RESET_LINK</code> event wasn't displayed in audit logs.</li>\n<li>Fixed an issue where the height of HTML components were set to zero.</li>\n<li>Fixed an issue with mobile layouts in web applications.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved caption styles for Listbox components so they derive settings from the label color.</li>\n<li>Improved drag and drop performance in the App editor.</li>\n<li>Improved modal style controls so they accurately set styles for nested items.</li>\n<li>Improved the formatting for summary and aggregate cells in Table components.</li>\n<li>Removed password login for admins on SSO enabled organizations.</li>\n<li>Removed public links from apps that have been moved to the trash bin.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-15-0",
            "title": "Cloud-hosted Retool 3.15",
            "summary": "- Added a button for adding a resource when the code list is empty.",
            "date_modified": "2023-09-29T00:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-14-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added an extra-small row height option to the Table component.</li>\n<li>Added dynamic row background colors to the Table component.</li>\n<li>Added line height property to Button content.</li>\n<li>Added support for Teradata to the JDBC resource.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed Checkbox Group and Switch Group losing the value of conditionally hidden options.</li>\n<li>Fixed Compare Changes modal not being scrollable.</li>\n<li>Fixed Toolbar buttons being retained in Source Control even after the user deletes the toolbar itself.</li>\n<li>Fixed an issue where SCIM tokens with multiple scopes were unauthorized.</li>\n<li>Fixed border hover state of input adornments, such as the number stepper.</li>\n<li>Fixed border of the branded header if no border color is set in the app's theme.</li>\n<li>Fixed border radius of box shadow for editable cell dropdowns in the Table component.</li>\n<li>Fixed code editor experience for object inputs.</li>\n<li>Fixed cursor jumping to the start of the field when editing queries.</li>\n<li>Fixed dropdown styles for the Navigation component when using the \"mobile\" overflow style.</li>\n<li>Fixed icons in the State tab displaying at incorrect sizes.</li>\n<li>Fixed an issue where apps and modules may be missing folders in which existing queries were in, which would result in Toolscript errors.</li>\n<li>Fixed nested styles for some legacy components inside containers.</li>\n<li>Fixed protected resources OAuth callback URL.</li>\n<li>Fixed row colors in the Table component when the background color has transparency.</li>\n<li>Fixed workflow templates in Self-hosted environments.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved audit logging for password resets.</li>\n<li>Improved guidance in Workflow block settings for run timeout error messages.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-14-0",
            "title": "Cloud-hosted Retool 3.14",
            "summary": "- Added an extra-small row height option to the Table component.",
            "date_modified": "2023-09-22T13:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-13-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added a Grayscale option in the Video component to support grayscale filters.</li>\n<li>Added button and search bar to browse an app's queries directly from the query editor.</li>\n<li>Added previews in the query editor for PDF and text files for Retool Storage.</li>\n<li>Added \"Expand content to fit\" option to the main frame and containers. This allows a child component to take up the entire width and height of its parent.</li>\n<li>Added a username field in Redis resource configurations.</li>\n<li>Added the ability to reference environment and configuration variables in the Service Account Key field in Google Sheets resources.</li>\n<li>Added Table styling to Toolscript serialization.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed summary aggregation calculations in the Table component.</li>\n<li>Fixed app crashes while navigating between pages.</li>\n<li>Fixed App List view styling issues.</li>\n<li>Fixed Links in tooltips could not be clicked.</li>\n<li>Fixed an issue where queries containing % would not open in the Query Library.</li>\n<li>Fixed an issue with cursor jumping in NoSQL queries.</li>\n<li>Fixed an issue with Toolscript serialization of summary aggregation in Table components.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved Workflows editor UI.</li>\n<li>Improved error handling in the CSS editor.</li>\n<li>Improved themes by renaming the \"error\" theme color to \"danger\" to match the property exposed in the theme object.</li>\n<li>Improved Toolscript migration logging by omitting \"uncommitted files\" messages.</li>\n<li>Improved the Retool Storage UI by displaying local timestamps.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-13-0",
            "title": "Cloud-hosted Retool 3.13",
            "summary": "- Added a Grayscale option in the Video component to support grayscale filters.",
            "date_modified": "2023-09-15T15:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-12-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added support for border radius to canvas frames.</li>\n<li>Added option to add queries directly from the tab bar.</li>\n<li>Added option to open data source details from the Code editor.</li>\n<li>Added option to rename queries in the context menu.</li>\n<li>Added support for Toolscript migration to Retool Cloud organizations.</li>\n<li>Added support for additional heading sizes in the Rich Text component.</li>\n<li>Added support for pinning columns to the left and right simultaneously in the Table component.</li>\n<li>Added template options when building a new mobile app.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fix an issue with the List View component where child components may not function correctly when recreated.</li>\n<li>Fixed an issue where <code>runScript</code> Event Handlers in nested Table components would have incorrect <code>currentSourceRow</code> scopes.</li>\n<li>Fixed an issue where incorrect autocomplete suggestions would appear.</li>\n<li>Fixed an issue where lint messages in the code editor sometimes did not display.</li>\n<li>Fixed an issue where viewing state of a query in the sidebar wouldn't show the query in the State tab.</li>\n<li>Fixed an issue with the List View component where it may not function properly after undoing and redoing changes.</li>\n<li>Fixed an issue with the List View component where the border color may not correctly apply.</li>\n<li>Fixed as issue where some information may not appear when viewing a page's access list from the Share modal.</li>\n<li>Fixed an issue where invited users could join archived organizations.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved performance of code editors when working with large data.</li>\n<li>Improved behavior of <code>selectRow</code> in the Table component.</li>\n<li>Improved custom domain support to allow usage of an organization's domain for invites and reset password links.</li>\n<li>Improved the app listing page.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-12-0",
            "title": "Cloud-hosted Retool 3.12",
            "summary": "- Added support for border radius to canvas frames.",
            "date_modified": "2023-09-08T15:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/retool-ai",
            "content_html": "<p><a href=\"https://retool.com/products/ai\" target=\"_blank\" rel=\"noopener noreferrer\">Retool AI</a> is a set of AI building blocks to help you create AI-powered apps and workflows in minutes.</p>\n<ul>\n<li><strong>Build apps and workflows powered by AI</strong>: Use pre-built <a href=\"https://docs.retool.com/queries/concepts/actions\">AI actions</a> to summarize text, classify images, extract entities, and more. OpenAI’s <code>gpt-4</code> &amp; <code>gpt-3.5-turbo</code> are available out of the box. You can enter your API key, and swap in other LLMs any time.</li>\n<li><strong>Create data-aware AI chatbots in 30 seconds</strong>: Upload PDFs, crawl websites, and connect SaaS tools into <a href=\"https://docs.retool.com/data-sources/quickstarts/retool-vectors\">Retool Vectors</a>, our all-new managed vector store. Ask questions about your data and get helpful answers instantly.</li>\n<li><strong>Code, query, and debug faster</strong>: Ask our <a href=\"https://docs.retool.com/queries/concepts/ask\">AI assistant</a> questions and it’ll generate code that just works, with context into your app’s components and data sources.</li>\n</ul>\n<p><a href=\"https://login.retool.com/auth/login?source=docs\" target=\"_blank\" rel=\"noopener noreferrer\">Sign up or log in to get started on Retool Cloud</a>. Retool AI for Self-hosted Retool will be available in the next release, v3.12.</p>\n<video class=\"vid\" width=\"100%\" controls=\"\" preload=\"metadata\"><source src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/5fb6dd3d-7fab-4087-9d25-276d4807e467.mp4\"></video>",
            "url": "https://docs.retool.com/changelog/retool-ai",
            "title": "Retool AI now available",
            "summary": "Retool AI is a set of AI building blocks to help you create AI-powered apps and workflows in minutes.",
            "date_modified": "2023-09-08T00:00:00.000Z",
            "tags": [
                "AI"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-11-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added an Add Block menu to Retool Workflows.</li>\n<li>Added headings to theme previews.</li>\n<li>Added support for automatic form generation in the Table component when using dynamic columns.</li>\n<li>Added support for persisting the state of minimized query tabs across tab refreshes.</li>\n<li>Added support for query caching in Retool Mobile.</li>\n<li>Added the Close Button component.</li>\n<li>Added the State panel to the sidebar.</li>\n<li>Added the ability to change the color of the required asterisk in Text Input components.</li>\n<li>Added the ability to resize the undocked editor sidebar.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed IDE shortcuts when using Retool on Windows PCs.</li>\n<li>Fixed an issue on the link to Pull Requests for uncommitted apps for multi-element branching in Source Control.</li>\n<li>Fixed an issue where Toolscript metadata was incorrectly interpreted.</li>\n<li>Fixed an issue where editors and owners could not delete apps if they did not have access to the archive folder.</li>\n<li>Fixed an issue where queries may run twice when saving changes using keyboard shortcuts.</li>\n<li>Fixed an issue where the List View component did not work properly after it was renamed.</li>\n<li>Fixed an issue where the code editor was editable while AskAI results were pending.</li>\n<li>Fixed an issue with the Modal component where components within a modal may result in the <code>heightType: modal is not defined</code> error message.</li>\n<li>Fixed an issue where queries with falsy return values would return 'No results returned'.</li>\n<li>Fixed issues with autocomplete in the code editor.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved behavior of Boolean columns in Retool Database.</li>\n<li>Improved code editor experience and autocomplete behavior.</li>\n<li>Improved the color picker to adopt styles from the app theme.</li>\n<li>Improved the edit permission description to make it clear that deletion is allowed.</li>\n<li>Improved the ergonomics when users re-open the Code tab. The query list now re-opens, in addition to the query editor.</li>\n<li>Improved the new IDE experience.</li>\n<li>Improved the page load speed on large apps.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-11-0",
            "title": "Cloud-hosted Retool 3.11",
            "summary": "- Added an Add Block menu to Retool Workflows.",
            "date_modified": "2023-09-01T15:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-10-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added a \"Show border\" option on Container components.</li>\n<li>Added a <code>resetFilterStack</code> API to the Table component to reset filters to their defaults.</li>\n<li>Added ability for admins on Cloud organizations to update their organization's subdomain in Settings &gt; Advanced.</li>\n<li>Added name auto-focussing for new variables and folders.</li>\n<li>Added support for AskAI code explanations in transformers.</li>\n<li>Added support for custom headers when fetching OpenAPI specs.</li>\n<li>Added support for sending metadata in GRPC Reflection requests.</li>\n<li>Added the \"CMD\" + \"+\" keyboard shortcut to enable popout editors.</li>\n<li>Added the ability to rename queries in the editor sidebar by slow double-clicking.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where Table column background colors were not updated in Source Control.</li>\n<li>Fixed an issue where click handlers were not correctly triggered in the editor on Retool Mobile.</li>\n<li>Fixed an issue where code editor placeholders did not always display correctly.</li>\n<li>Fixed an issue where config vars would not refresh when switching environments in presentation mode.</li>\n<li>Fixed an issue where the Inspector was hidden when app settings were open.</li>\n<li>Fixed an issue where the Table component's default filters were not preserved when data sources changed and columns did not change.</li>\n<li>Fixed an issue where the property browser tooltip showed incorrect data for <code>any</code> data types.</li>\n<li>Fixed an issue where the summary row on Table components would aggregate all data when tables were filtered.</li>\n<li>Fixed an issue where users who auto-joined a cloud organization were suggested to create duplicate users.</li>\n<li>Fixed an issue with Button Group and List View styles.</li>\n<li>Fixed an issue with accessing branch menus in preview mode.</li>\n<li>Fixed an issue with polling for pull request merge statuses.</li>\n<li>Fixed an issue with the styling of protected queries in the query editor.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved autocomplete for HTML, JSON, and CSS template string editors.</li>\n<li>Improved autocomplete for some Table component properties.</li>\n<li>Improved canvas interactions and the UI in Retool Workflows.</li>\n<li>Upgraded the JSON Schema Form component to the latest version.</li>\n</ul></div></div>\n<div class=\"alert alert--secondary admonition_M5PT changelog\"><h3 class=\"type\">Changed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Changed the default IDE for all users.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-10-0",
            "title": "Cloud-hosted Retool 3.10",
            "summary": "- Added a \"Show border\" option on Container components.",
            "date_modified": "2023-08-25T15:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-9-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added the ability for Cloud users to use <code>%USER_OAUTH2_ACCESS_TOKEN%</code> in their resource configurations.</li>\n<li>Added a configurable data retention option to Retool Workflows settings.</li>\n<li>Added a setting that allows users to request to join an organization using the sign in page.</li>\n<li>Added functionality to the Branding page for customers to toggle the setting to show custom logos in app headers by default.</li>\n<li>Added the ability for users to change their email addresses for logins that require an email and password.</li>\n<li>Added the option to set variables on event handlers.</li>\n<li>Added updated styles to legacy components.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where Retool DB UI popovers were hidden.</li>\n<li>Fixed an issue where boolean values were not displayed in the JSON tab.</li>\n<li>Fixed an issue where code editor tooltips would close when moused over.</li>\n<li>Fixed an issue where config variables were not being populated in apps after refreshing them.</li>\n<li>Fixed an issue where custom SSO features were displayed to users that don't have access to them.</li>\n<li>Fixed an issue where environments weren't refreshing.</li>\n<li>Fixed an issue where moving Retool Workflows blocks triggered messaging about undeployed changes.</li>\n<li>Fixed an issue where values were not registering in Loop blocks for Retool Workflows.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved code suggestions when writing transformers.</li>\n<li>Improved the description of custom logo requirements on the Branding page so users know SVGs aren't supported.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-9-0",
            "title": "Cloud-hosted Retool 3.9",
            "summary": "- Added the ability for Cloud users to use %USEROAUTH2ACCESS_TOKEN% in their resource configurations.",
            "date_modified": "2023-08-18T15:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-8-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added a summary row to the Table component.</li>\n<li>Added evaluation results for <code>{{ }}</code> Retool variables in Transformers.</li>\n<li>Added links to Retool's Terms of Service for customers and users.</li>\n<li>Added an option to the Table component to toggle whether hidden column data is included when exporting data.</li>\n<li>Added support for aggregate cells with grouped rows to the Table component.</li>\n<li>Added support for dynamic columns to the Table component.</li>\n<li>Added support for referencing <code>currentRow</code> in a Table column's status indicator.</li>\n<li>Added the option to toggle whether to log in with Google or username and password.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where imported queries may not function correctly in some circumstances.</li>\n<li>Fixed an issue where queries that don't support <em>Extract to Query Library</em> would still display the option.</li>\n<li>Fixed an issue where scrolling a component may cause the viewport to scroll as well.</li>\n<li>Fixed an issue where the Tabs component may not overflow correctly if <code>margin</code> is set to <code>none</code>.</li>\n<li>Fixed an issue where tooltips would not display correctly.</li>\n<li>Fixed an issue with the Table component that prevented switching to the <code>progress</code> format.</li>\n<li>Fixed an issue with the size of Text Input components when <code>marginType</code> is <code>none</code>.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved AI Assist to correctly reference values from Global objects.</li>\n<li>Improved OpenAI queries when used with transformers so AI-generated code automatically wraps variables using <code>{{ }}</code>.</li>\n<li>Improved property browsing for <strong>Global</strong> objects.</li>\n<li>Improved the functionality of autocomplete in the code editor.</li>\n<li>Improved the responsiveness of the Header frame.</li>\n<li>Public apps are now enabled by default for Retool Cloud organizations on the Enterprise plan.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-8-0",
            "title": "Cloud-hosted Retool 3.8",
            "summary": "- Added a summary row to the Table component.",
            "date_modified": "2023-08-11T00:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/enable-outbound-retool-regions-cloud",
            "content_html": "<p>When you <a href=\"https://docs.retool.com/data-sources/quickstarts/resources\">configure a resource</a> on Retool Cloud, you can now choose to route traffic through the <code>eu-central-1</code> region, based in Frankfurt, Germany, or through the default <code>us-west-2</code> region, based in Oregon, US. This determines the network round trip time it takes Retool to query your data sources. Selecting a region in close proximity to your resources can improve your application's performance.</p>\n<p>You can set a default region for all your resources and override it for individual resources. Learn how to set resource regions in <a href=\"https://docs.retool.com/data-sources/guides/connections/outbound-retool-regions\">our documentation</a>.</p>",
            "url": "https://docs.retool.com/changelog/enable-outbound-retool-regions-cloud",
            "title": "New Retool outbound regions for Retool Cloud",
            "summary": "When you configure a resource on Retool Cloud, you can now choose to route traffic through the eu-central-1 region, based in Frankfurt, Germany, or through the default us-west-2 region, based in Oregon, US. This determines the network round trip time it takes Retool to query your data sources. Selecting a region in close proximity to your resources can improve your application's performance.",
            "date_modified": "2023-08-07T00:00:00.000Z",
            "tags": [
                "Retool Cloud",
                "Resources"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-7-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added a new code editor for JSON.</li>\n<li>Added an <code>options</code> parameter to <code>fileUtils.parseXLSX</code>.</li>\n<li>Added the ability to resize columns in the results pane for Retool Workflows.</li>\n<li>Added the ability to set a default region on an organization and override it for individual resources.</li>\n<li>Fixed an issue where certain template expressions caused incorrect dependencies.</li>\n<li>Fixed an issue where increasing the number of instances in a nested list view would cause components to render incorrectly.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where lint errors in code editor template strings would incorrectly display.</li>\n<li>Fixed an issue where organizations using two-factor authentication could have issues allowing users to automatically join.</li>\n<li>Fixed an issue where the Table component's overflow tooltip would unnecessarily show.</li>\n<li>Fixed an issue where the branding page was being incorrectly shown to organizations on certain plans.</li>\n<li>Fixed an issue where timestamps for Firestore resources were not standardized.</li>\n<li>Fixed an issue with code editor validation for color inputs in the Table component.</li>\n<li>Fixed an issue with encryption for config variable values.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved syntax highlighting on various components.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-7-0",
            "title": "Cloud-hosted Retool 3.7",
            "summary": "- Added a new code editor for JSON.",
            "date_modified": "2023-08-04T00:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-6-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added additional autocomplete and linting scope for Table event handlers for the new code editor.</li>\n<li>Added a Multiplayer Refresh Bar component.</li>\n<li>Added <code>selectNextRow</code> and <code>selectPreviousRow</code> to the Table component.</li>\n<li>Added support for embedding the Scanner component in screens for Retool Mobile.</li>\n<li>Added support for panning using the middle mouse button on the Workflow canvas in all modes.</li>\n<li>Added the <code>onChangeSort</code> event handler to the new Table component.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where analytics queries were numbered incorrectly due to sharing a count with transformers.</li>\n<li>Fixed an issue where Navigation components would not show app menu items when in a public app.</li>\n<li>Fixed an issue where nonce was not getting replaced in the redirect URL in custom auth.</li>\n<li>Fixed an issue where Table components would reset their selection state when re-mounted (for example, when in a Tabbed container).</li>\n<li>Fixed an issue where the border radius style for List View components weren't applied correctly.</li>\n<li>Fixed an issue where the global navigation header wouldn't show an active state when on folders or views.</li>\n<li>Fixed an issue where theme-based cell text colors weren't correctly applied to the new Table component.</li>\n<li>Fixed HTTP error codes for requireApiParamsMiddleware.</li>\n<li>Fixed <code>useStickToBottom</code> scroll functionality so that it only affects the innermost scroll bar.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved support for code evaluation with scope.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-6-0",
            "title": "Cloud-hosted Retool 3.6",
            "summary": "- Added additional autocomplete and linting scope for Table event handlers for the new code editor.",
            "date_modified": "2023-07-28T23:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/secrets-manager-integrations-are-now-available-for-enterprise-customers",
            "content_html": "<p>Secret Management is now supported in Retool! We have native integrations with AWS and HashiCorp Vault that allow you to keep your secrets secure and rotate them without restarting your Retool instance.</p>\n<p>Admins can set up secrets by namespace after granting Retool access through their secrets manager provider.</p>\n<p><img decoding=\"async\" loading=\"lazy\" alt=\"Set up Secrets Manager\" src=\"https://docs.retool.com/assets/images/setup-9399cc9be3bf5f5f83b5cf65971c18bc.gif\" width=\"2446\" height=\"1178\" class=\"img_ev3q\"></p>\n<p>Resource editors can reference those secrets by key name on resource configuration fields. Retool will then fetch the secret values directly from the secrets manager.</p>\n<p><img decoding=\"async\" loading=\"lazy\" alt=\"Set up Secrets Manager\" src=\"https://docs.retool.com/assets/images/connection-16b924ec89ae871bce00a5bf5c99ffa4.webp\" width=\"2446\" height=\"1178\" class=\"img_ev3q\"></p>\n<p>These integrations will be available on self-hosted Retool (v3.4+) on the Enterprise plan.</p>\n<p>For customers that aren’t on our Enterprise plans, check out our newly released <a href=\"https://docs.retool.com/org-users/guides/config-vars\">Environment Configuration Variables</a> feature to store secrets securely in Retool without exposing them.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"get-started\">Get started<a href=\"https://docs.retool.com/changelog/secrets-manager-integrations-are-now-available-for-enterprise-customers#get-started\" class=\"hash-link\" aria-label=\"Direct link to Get started\" title=\"Direct link to Get started\">​</a></h2>\n<p>Explore Secrets Manager documentation to get started.</p>\n<div class=\"button-group button-group--block\"><a href=\"https://docs.retool.com/self-hosted/guides/secrets/aws\" class=\"button button--primary\"><p>AWS Secrets Manager</p></a><a href=\"https://docs.retool.com/self-hosted/guides/secrets/hashicorp-vault\" class=\"button button--primary\"><p>HashiCorp Vault integration</p></a></div>",
            "url": "https://docs.retool.com/changelog/secrets-manager-integrations-are-now-available-for-enterprise-customers",
            "title": "Secrets Manager integrations for Self-hosted Enterprise customers",
            "summary": "Secret Management is now supported in Retool! We have native integrations with AWS and HashiCorp Vault that allow you to keep your secrets secure and rotate them without restarting your Retool instance.",
            "date_modified": "2023-07-27T23:00:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-5-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added ability to toggle groupAdmin through SCIM.</li>\n<li>Added <code>clickRow</code>, <code>doubleClickRow</code>, <code>deselectRow</code>, and <code>changeRowSelection</code> event handlers to the Table component.</li>\n<li>Added column background color options to the Table component.</li>\n<li>Added new Branding settings that are available as an opt-in beta.</li>\n<li>Added SCIM endpoints to delete a user, get user pages, and resources.</li>\n<li>Added SCIM endpoints to view group pages and resources.</li>\n<li>Added support for Secrets Manager and Environment Configuration Variables.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where renaming or deleting a query that shares its name with a folder would affect to the folder instead.</li>\n<li>Fixed an issue where the Debug Tools console may not scroll correctly.</li>\n<li>Fixed an issue with the Number Input mobile component where decimal numbers could not be entered when using iOS.</li>\n<li>Fixed an issue with the Retool menu where the User menu may incorrectly appear instead.</li>\n<li>Fixed an issue with the Table component where changing the width of a grouped column may result in unexpected behavior.</li>\n<li>Fixed an issue with the Table component where reordering columns with \"Include full rows in changeset array\" enabled would break editable cells.</li>\n<li>Fixed an issue with the Table component where <code>selectedRow</code> properties may not update as expected.</li>\n<li>Fixed issue with the List View component where horizontal scrollbars may incorrectly appear.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved autocomplete for plugins in the code editor for transformers.</li>\n<li>Improved error handling of File Input components to include a notification if an error occurs during the onChange event.</li>\n<li>Improved organization of \"Show Header\" and \"Show Footer\" controls for Container components. These are now available from the Add-ons menu.</li>\n<li>Improved <code>scrollToRow</code> and <code>selectRow</code> APIs for the Table component to infer the target mode if not provided.</li>\n<li>Improved Source Control for Cloud enterprise organizations by enabling the feature by default.</li>\n<li>Improved Source Control so that repositories are automatically populated with metadata.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-5-0",
            "title": "Cloud-hosted Retool 3.5",
            "summary": "- Added ability to toggle groupAdmin through SCIM.",
            "date_modified": "2023-07-21T23:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-4-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added an error message when a user attemps to accept an expired or invalid user invite.</li>\n<li>Added a setting to allow admins to disable a user's access to the account details page.</li>\n<li>Added a subdomain to the reply-to address on emails sent using Retool Email.</li>\n<li>Added support for comma-separated email keys in JWT email key fields.</li>\n<li>Added support for auto-completing template strings around plugin names in the transformer code editor.</li>\n<li>Added a 'change filter' event handler on Table components.</li>\n<li>Added the ability to change label and caption colors on Steps components.</li>\n<li>Added the ability to customize how row selection states should update when actions are clicked in Table components.</li>\n<li>Added <code>retoolContext.networkStatus</code> property to expose network connectivity details in mobile apps.</li>\n<li>Added a warning icon to workflow Resource blocks which do not have a resource configured.</li>\n<li>Added support for gpt3-turbo-16k in smart queries and smart blocks.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an error where users could not accept invites when logging in with Google SSO.</li>\n<li>Fixed an issue that could cause crashes on the account settings page and audit logs.</li>\n<li>Fixed an issue where the SCIM groups update endpoint did not check for group uniqueness. The endpoint now also identifies users by their SID instead of display name.</li>\n<li>Fixed an issue where apps would snap to the top of the page when navigating between apps.</li>\n<li>Fixed an issue where data did not show as an autocomplete option until a query ran.</li>\n<li>Fixed an issue that would cause the navigation bar to disappear.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved grouped rows in Table components by making their row headers sticky.</li>\n<li>Improved keyboard navigation in Table components.</li>\n<li>Improved the user experience when copying cells in Table components.</li>\n<li>Improved error handling and codes for SCIM user endpoints.</li>\n<li>Improved the language on source control protection modals for Retool Cloud.</li>\n<li>Improved the Branding settings page to allow for more customized Embed login pages.</li>\n<li>Improved workflow templates by creating tables if they don't exist.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-4-0",
            "title": "Cloud-hosted Retool 3.4",
            "summary": "- Added an error message when a user attemps to accept an expired or invalid user invite.",
            "date_modified": "2023-07-14T08:37:22.599Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/embed-and-portals",
            "content_html": "<p>We're expanding beyond internal tools so you can build nearly any software for your business with Retool.</p>\n<p>With this launch, we're adding two new products to help you:</p>\n<ul>\n<li><strong>Ship a secure, custom portal</strong>: Build and host portals for your customers, partners, and vendors fully on Retool with <a href=\"http://retool.com/products/portals\" target=\"_blank\" rel=\"noopener noreferrer\">Retool Portals</a> which manages signup, authentication, and permissions out of the box.</li>\n<li><strong>Augment existing software</strong>: Quickly add data and CRUD functionality to an existing app or portal with <a href=\"http://retool.com/products/embed\" target=\"_blank\" rel=\"noopener noreferrer\">Retool Embed</a>.</li>\n</ul>\n<p>Both Retool Portals and Retool Embed are now available across <a href=\"https://retool.com/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Business and Enterprise plans</a>.</p>\n<p>To learn more about how Embed and Portals are changing the way you can build with Retool, watch the overview video.</p>\n<div class=\"youtube\"><iframe src=\"https://www.youtube.com/embed/pWKwMz0bw58\" allowfullscreen=\"\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" accelerometer=\"true\" autoplay=\"\" clipboard-write=\"true\" encrypted-media=\"true\" gyroscope=\"true\" picture-in-picture=\"true\" web-share=\"true\"></iframe></div>\n<p>You can read integration details in [the docs](/apps/guides/app-management/embed-apps to embed your first Retool app or build an end-to-end portal on Retool.</p>",
            "url": "https://docs.retool.com/changelog/embed-and-portals",
            "title": "Augment any software with Retool Embed and Retool Portals",
            "summary": "We're expanding beyond internal tools so you can build nearly any software for your business with Retool.",
            "date_modified": "2023-07-13T00:00:00.000Z",
            "tags": [
                "Apps"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-3-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added a redirect to the main Retool login screen when a user visits an invalid org subdomain</li>\n<li>Added a warning note when trying to invite an already disabled user to an organization</li>\n<li>Added documentation links to Retool Workflows blocks</li>\n<li>Added support for bearer token authentication to Rest API, OpenAPI, and GraphQL resources</li>\n<li>Added support for multiple triggers for running a Retool workflow</li>\n<li>Added support for <code>postgres</code> scheme in the Postgres connection string</li>\n<li>Added support for the <code>hidden</code> property for toolbar buttons in new Table component</li>\n<li>Added the ability to copy selected cell values in the new Table component</li>\n<li>Added tooltips to Retool Workflows block actions</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed a bug where Column add-ons weren't rendered for the InspectorList</li>\n<li>Fixed a filtering issue with columns that use the <code>currency</code> type in the new Table component</li>\n<li>Fixed an issue where links were hidden in the app navigation bar when using Retool Embed</li>\n<li>Fixed an issue where no results were returned when <code>startAt</code> or <code>endAt</code> were set to <code>null</code> when using the Firebase SDK</li>\n<li>Fixed issue that would cause justified content in the Navigation component to re-render too many times, affecting event handlers</li>\n<li>Fixed multiple issues where the bottom border in Table components didn't collapse correctly</li>\n<li>Fixed status indicators to show even if there is no cell content in the Table component</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved cell tooltips for the new Table component</li>\n<li>Improved Firebase resources so that timestamps use <code>moment</code></li>\n<li>Improved in-app documentation for <code>selectRow</code> and <code>scrollToRow</code> APIs for new Table component</li>\n<li>Improved onboarding panel styles</li>\n<li>Improved the cell tooltip experience in the new Table component by not rendering empty tooltips</li>\n<li>Improved the design of the Resource query block and dropdown in Retool Workflows</li>\n</ul></div></div>\n<div class=\"alert alert--secondary admonition_M5PT changelog\"><h3 class=\"type\">Changed</h3><div class=\"admonitionContent_Thwv\"></div></div>\n<div class=\"alert alert--warning admonition_M5PT changelog\"><h3 class=\"type\">Deprecated</h3><div class=\"admonitionContent_Thwv\"></div></div>\n<div class=\"alert alert--danger admonition_M5PT changelog\"><h3 class=\"type\">Removed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Removed <code>SCIM_ONLY_MODE</code> support for on-premise deployments</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-3-0",
            "title": "Cloud-hosted Retool 3.3",
            "summary": "- Added a redirect to the main Retool login screen when a user visits an invalid org subdomain",
            "date_modified": "2023-07-07T08:37:22.599Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-2-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added function examples to the autocomplete details in the code editor.</li>\n<li>Added cell tooltips to the Table component.</li>\n<li>Added multiline text column format to the Table component.</li>\n<li>Added <code>onBlur</code> and <code>onFocus</code> events to the Table component.</li>\n<li>Added support for multiple row selection to the Table component.</li>\n<li>Added support for configuration variables in custom API authentication.</li>\n<li>Added support for the Smart Query resource to mobile apps.</li>\n<li>Added the Search Bar component to mobile apps.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where the App editor may crash in certain situations when editing Markdown text.</li>\n<li>Fixed an issue with the Key Value component where the option to dynamically show columns may not function correctly.</li>\n<li>Fixed an issue with the Table component where columns may not fill available space.</li>\n<li>Fixed an issue with the Table component where grouping by nested number columns could cause unexpected behavior.</li>\n<li>Fixed an issue that could cause unexpected behavior when using transformers.</li>\n<li>Fixed an issue where the toolbar may briefly appear when users are redirected to their specified workspaces app.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved color selection in the Inspector with addition of a color picker.</li>\n<li>Improved the experience of the code editor.</li>\n<li>Improved error messaging for requests to incorrect URL.</li>\n<li>Improved the Text Input component to allow adornments when input is a single line.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-2-0",
            "title": "Cloud-hosted Retool 3.2",
            "summary": "- Added function examples to the autocomplete details in the code editor.",
            "date_modified": "2023-06-30T23:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-1-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added an Auto height mode to Table components.</li>\n<li>Added an option on the advanced settings page to opt out of the AI support bot.</li>\n<li>Added an option to disable server-side preparation for Presto resources.</li>\n<li>Added an option to the Table component to include all column values in <code>changesetArray</code>.</li>\n<li>Added a one-tap Zebra DataWedge Setup flow to the in-app settings screen on Retool Mobile.</li>\n<li>Added a screen in Settings to test configurations for Zebra devices for Retool Mobile.</li>\n<li>Added <code>currentRow</code> to mapped row action fields in Table components.</li>\n<li>Added Markdown support for tooltips.</li>\n<li>Added more formatting options for Number, Currency, and Percent columns in Table components.</li>\n<li>Added Retool Email to the reporting onboarding template for Retool Workflows.</li>\n<li>Added style options to Dropdown Button components.</li>\n<li>Added support for grouping rows in Table components.</li>\n<li>Added syntax highlighting for matching brackets.</li>\n<li>Added the ability to duplicate resources.</li>\n<li>Added the option in the Inspector to set default filters on Table components.</li>\n<li>Added the option to dynamically set the Row selection mode in Table components.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue related to push notifications for self-hosted deployments using Retool Managed Whitelabel Apps on iOS.</li>\n<li>Fixed an issue that caused toolbar event handlers to be removed when unrelated toolbar buttons were deleted.</li>\n<li>Fixed an issue where access and secret keys were not cleared out in AWS resources when the default provider was selected.</li>\n<li>Fixed an issue where an additional redirect would occur when Cloud users logged in and out on their organization's subdomain.</li>\n<li>Fixed an issue where an infinite spinner would show in the form generator when a schema failed to load on Retool Mobile.</li>\n<li>Fixed an issue where environment query parameters were not set in the latest runtime.</li>\n<li>Fixed an issue where events added from the form generator were not immediately reflected in the editor pane in Retool Mobile.</li>\n<li>Fixed an issue where filtering in Table components would not appropriately filter grouped rows.</li>\n<li>Fixed an issue where incorrect custom styling was applied to Filter components.</li>\n<li>Fixed an issue where navigation styles were not recursively applied.</li>\n<li>Fixed an issue where new variables could not be created in custom authentication.</li>\n<li>Fixed an issue where number input changes in Table components were not committed.</li>\n<li>Fixed an issue where occasionally Save actions could not be added to Table components.</li>\n<li>Fixed an issue where OpenAPI schemas would not load for YAML spec files.</li>\n<li>Fixed an issue where OpenAPI specs would not show in workflow templates.</li>\n<li>Fixed an issue where Query Library queries could not be selected in apps.</li>\n<li>Fixed an issue where REST API paths were sometimes incorrectly cased.</li>\n<li>Fixed an issue where Retool Database settings were not able to be saved.</li>\n<li>Fixed an issue where reverting to a release would occasionally fail.</li>\n<li>Fixed an issue where <code>selectedRow</code> and <code>selectedSourceRow</code> properties in Table components were not updated when data changed.</li>\n<li>Fixed an issue where some apps were occasionally hidden after logging in on small screens.</li>\n<li>Fixed an issue where tap events did not work in preview mode on Retool Mobile.</li>\n<li>Fixed an issue where the example input JSON in the Workflows start block did not accept JavaScript objects.</li>\n<li>Fixed an issue with feature gating of public apps.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved pagination in the Table component by removing server-side dependency cycles and resetting pages when they no longer exist.</li>\n<li>Improved the prioritization of autocomplete results.</li>\n<li>Improved the Retool logo, new and beta tags, and header on Retool home and settings pages.</li>\n<li>Improved the styling of login pages using custom logos.</li>\n<li>Improved the styling of reset password failure emails.</li>\n</ul></div></div>\n<div class=\"alert alert--danger admonition_M5PT changelog\"><h3 class=\"type\">Removed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Removed the border next to the dropdown in Select components.</li>\n<li>Removed the \"Retool menu without branding\" option in the Customize Retool user menu settings.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-1-0",
            "title": "Cloud-hosted Retool 3.1",
            "summary": "- Added an Auto height mode to Table components.",
            "date_modified": "2023-06-23T11:57:27.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/3-0-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added background and text highlight style options to the Navigation component.</li>\n<li>Added caching support to public queries.</li>\n<li>Added support for AWS IAM credentials to resources that use SSH.</li>\n<li>Added support for boto3, geojson, geopy, pysftp, tabulate, ffmpeg, and langchain Python libraries in Retool Workflows.</li>\n<li>Added support for ClickHouse and Trino to JDBC resources.</li>\n<li>Added support for gRPC resources.</li>\n<li>Added support for specifying the environment to use for webhook-triggered workflows.</li>\n<li>Added tab-to-select to autocomplete options in code editors.</li>\n<li>Added the Filter component that links to Table components for configuring filters.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where disabling Custom Collection views in Retool Mobile may not behave as expected.</li>\n<li>Fixed an issue where reordering hidden columns in the Table component may not behave as expected.</li>\n<li>Fixed an issue where testing the connection for S3 resources may fail if their configuration was imported from AWS.</li>\n<li>Fixed an issue where unavailable branding options may be visible.</li>\n<li>Fixed an issue with the Table component where mapped data may not include all evaluated options.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved error messaging when attempting to use <code>{{ }}</code> values in JavaScript code.</li>\n<li>Improved selection of autocomplete options in code editors.</li>\n<li>Improved the onboarding experience for new Retool organizations.</li>\n<li>Improved the onboarding experience of Retool Workflows.</li>\n<li>Improved timeout for AWS Lambda resources.</li>\n</ul></div></div>\n<div class=\"alert alert--danger admonition_M5PT changelog\"><h3 class=\"type\">Removed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Removed CTRL/Command+F keyboard shortcut to format code. This shortcut has been replaced with Alt/Option+Shift+F.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/3-0-0",
            "title": "Cloud-hosted Retool 3.0",
            "summary": "- Added background and text highlight style options to the Navigation component.",
            "date_modified": "2023-06-16T23:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-124-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added an AI feature that generates Retool Database schemas.</li>\n<li>Added a new onboarding flow for Retool Workflows.</li>\n<li>Added plugin hover tooltips to the code editor.</li>\n<li>Added support for includeDefaultScope to the code editor.</li>\n<li>Added support for the <code>self</code> context to template string editors.</li>\n<li>Added support for <a href=\"https://docs.retool.com/docs/retool-mobile-zebra\" target=\"_blank\" rel=\"noopener noreferrer\">Zebra scanner devices</a> for Retool Mobile.</li>\n<li>Added the ability to view SQL schemas in resource blocks for Retool Workflows.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where a blank navigation bar was sometimes displayed after loading a Retool Workflow.</li>\n<li>Fixed an issue where component APIs would sometimes not be displayed in the autocomplete list within the JavaScript Query editor.</li>\n<li>Fixed an issue where hover tooltip positions for template strings were displayed in the wrong location.</li>\n<li>Fixed an issue where module outputs stopped functioning after renaming the module.</li>\n<li>Fixed an issue where protecting a workflow sometimes resulted in an error.</li>\n<li>Fixed an issue where the default values for enum fields were set incorrectly in Retool Database.</li>\n<li>Fixed an issue where the popout editor's placeholder does not reflect the editor's value.</li>\n<li>Fixed an issue where the sign-up link wasn't appearing on the Login page for self-hosted customers.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved page load times.</li>\n<li>Improved the logic that determines column types for columns that use numbers in the Table component.</li>\n<li>Improved the resource template modal so it's displayed faster.</li>\n</ul></div></div>\n<div class=\"alert alert--secondary admonition_M5PT changelog\"><h3 class=\"type\">Changed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Updated the billing matrix on the Settings page for Retool Embed.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/2-124-0",
            "title": "Retool 2.124",
            "summary": "- Added an AI feature that generates Retool Database schemas.",
            "date_modified": "2023-06-09T08:57:48.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-123-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added a maximum session length of 30 days for Retool Embed.</li>\n<li>Added a Python custom libraries UI with global importing and language server support to Retool Workflows.</li>\n<li>Added a schema explorer for gRPC resources.</li>\n<li>Added dynamic icons to the Table component.</li>\n<li>Added inline validation to resource settings.</li>\n<li>Added query caching on public apps.</li>\n<li>Added the ability to disable Retool Embed users from the permissions page.</li>\n<li>Added the ability to run Retool Workflows queries on Retool Mobile.</li>\n<li>Added the llama_index library to Retool Workflows.</li>\n<li>Added the option to disable prepared statements for Databricks resources.</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an issue where editable tag cells in the Table component were incorrectly highlighted</li>\n<li>Fixed an issue where passing an integer to externalIdentifier for Retool Embed would cause a server error.</li>\n<li>Fixed an issue where Table toolbar styling would not match the Table styling.</li>\n<li>Fixed an issue where template strings were incorrectly highlighted before they were evaluated.</li>\n<li>Fixed an issue where the Table component would sometimes crash when using the Tag dropdown.</li>\n<li>Fixed an issue with caption alignment in the Table component.</li>\n<li>Fixed an issue with Markdown syntax highlighting when using templated strings.</li>\n<li>Fixed an issue with push notification delivery on Android with Retool Mobile.</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved gating on Query Library and Home pages to prevent access by users without permissions. Previously, they could not access the contents, but they could see the page.</li>\n<li>Improved the styling of the Retool logo, header, and tags.</li>\n</ul></div></div>\n<div class=\"alert alert--danger admonition_M5PT changelog\"><h3 class=\"type\">Removed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Removed the ability to trigger some keyboard shortcuts within input components, as some keys are reserved for text formatting.</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/2-123-0",
            "title": "Retool 2.123",
            "summary": "- Added a maximum session length of 30 days for Retool Embed.",
            "date_modified": "2023-06-02T10:04:25.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/weve-supercharged-the-table-component-agHVavZn",
            "content_html": "<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/9d79929e-65e9-4cc0-943b-921bf02f9997.webp\" alt=\"New Table component\" class=\"img_ev3q\"></p>\n<p>We rebuilt the Table component to improve customizability, and scalability for our customers. The new Table is capable of rendering, updating, and scrolling through hundreds of thousands of rows and hundreds of columns with diverse data types <em>fast</em>.</p>\n<p>It also features deeper customization options:</p>\n<ul>\n<li>Data manipulation (filtering, sorting, pagination) works out-of-the-box and can be configured client- or server-side.</li>\n<li>Advanced filtering and sorting options, such as nested filtering and multi-column sort.</li>\n<li>Primary key configuration to maintain state (like <strong>Row selection</strong>, or <strong>change set</strong>) through complex filters, sorts, and pagination operations.</li>\n<li>More intuitive <strong>Tag</strong> (dropdown and multiselect) columns with the option list editor.</li>\n<li>Column-level event handlers.</li>\n<li>Toolbar actions for more opportunities to perform action with table data.</li>\n<li>Redesigned action buttons, more intelligent defaults (including column width and type), cell captions, column header tooltips.</li>\n<li>Smoother editable cell interactions and improved keyboard shortcuts.</li>\n</ul>\n<p>The new Table component is available today and replaces the previous Table component. Existing customers can continue to use the previous version, which is available as the <strong>Table (legacy)</strong> component.</p>\n<p>Check out our <a href=\"https://retool.com/components/table-new\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a> or the <a href=\"https://docs.retool.com/changelog/table-legacy-comparison\">migration guide</a> to get started. To learn more about building a data-driven dashboard with the new Table component, check out the following walkthrough.</p>\n<div class=\"youtube\"><iframe src=\"https://www.youtube.com/embed/G7FwV9H6Mnk\" allowfullscreen=\"\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" accelerometer=\"true\" autoplay=\"\" clipboard-write=\"true\" encrypted-media=\"true\" gyroscope=\"true\" picture-in-picture=\"true\" web-share=\"true\"></iframe></div>",
            "url": "https://docs.retool.com/changelog/weve-supercharged-the-table-component-agHVavZn",
            "title": "We've supercharged the Table component",
            "summary": "New Table component",
            "date_modified": "2023-06-01T13:53:46.000Z",
            "tags": [
                "Components",
                "Apps"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-122-0",
            "content_html": "<p>Cloud-hosted Retool has been updated with the following changes. These changes will also be available in a future release of <a href=\"https://docs.retool.com/releases\">Self-hosted Retool</a>.</p>\n<div class=\"alert alert--success admonition_M5PT changelog\"><h3 class=\"type\">Added</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Added a control for enabling case sensitive filtering in the Table component, defaulting to case insensitive matching</li>\n<li>Added a link to the REST API resource page from the resource catalog when there are no search results</li>\n<li>Added a new Stripe API version, which includes the Payment Links endpoint</li>\n<li>Added Apps and Workflows options to the Retool logo menu</li>\n<li>Added a Retool Workflows callout and the option to run a workflow to the query editor</li>\n<li>Added debugging details for full and partial syncs to the Source Control dashboard</li>\n<li>Added error handling support to query editor AI</li>\n<li>Added evaluation highlighting for evaluation template strings</li>\n<li>Added JavaScript support to query editor AI</li>\n<li>Added linting to the template string code editors</li>\n<li>Added Markdown syntax highlighting to the Text component</li>\n<li>Added support for gRPC binary metadata</li>\n<li>Added support for pypdf custom library</li>\n<li>Added the ability to edit Icon and Label properties to Toolbar buttons</li>\n<li>Added the ability to select multiple services for gRPC queries</li>\n<li>Added the JDBC resource to Retool Cloud</li>\n</ul></div></div>\n<div class=\"alert alert--info admonition_M5PT changelog\"><h3 class=\"type\">Fixed</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Fixed an error when editing JavaScript queries related to the case sensitivity of identifiers</li>\n<li>Fixed an issue where an application's header flashed when an organization had users redirecting to workspaces</li>\n<li>Fixed an issue where disabled resource configuration settings appeared to be enabled</li>\n<li>Fixed an issue where padding around action buttons in the legacy Table component caused rows to extend past their usual height</li>\n<li>Fixed an issue where some components threw an error when adding them to the canvas</li>\n<li>Fixed an issue where the Icon component would remain in an error state if given an invalid name</li>\n<li>Fixed an issue where the table location would jump after refetching a Retool Database table</li>\n<li>Fixed an issue where you couldn't capitalize table names</li>\n<li>Fixed JavaScript editor colors</li>\n</ul></div></div>\n<div class=\"alert alert--primary admonition_M5PT changelog\"><h3 class=\"type\">Improved</h3><div class=\"admonitionContent_Thwv\"><ul>\n<li>Improved autolayout functionality in Retool Workflows</li>\n<li>Improved GraphQL formatting by using Prettier, which also prevents comments from being removed when reformatting</li>\n<li>Improved some resource templates and correctly capitalized some resource names</li>\n<li>Improved the pop-out code editor layout</li>\n<li>Improved URL hash behavior so that hashes persist when switching between edit and preview modes</li>\n</ul></div></div>",
            "url": "https://docs.retool.com/changelog/cloud/2-122-0",
            "title": "Retool 2.122",
            "summary": "- Added a control for enabling case sensitive filtering in the Table component, defaulting to case insensitive matching",
            "date_modified": "2023-05-26T08:38:16.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-121-0",
            "content_html": "<ul>\n<li>Added <strong>bottom sheet</strong> in Retool Mobile to display screens as an overlay that slides up from the bottom of the app.</li>\n<li>Added fallback message for code and conditional blocks in Retool Workflows when no results are returned.</li>\n<li>Added Microsoft Teams integration.</li>\n<li>Added <code>navigator.selectTab()</code> method and event handler action in Retool Mobile to select screens.</li>\n<li>Added support for using Retool-exposed environment variables when configuring custom authentication.</li>\n<li>Added the ability to remove nested arrays and objects from an OpenAPI query.</li>\n<li>Added the option in Retool Workflows when running a block to also run all previous blocks in the same control flow.</li>\n<li>Added the option to specify <code>maxPoolSize</code> in MongoDB resources.</li>\n<li>Added type-coercion details when setting values in the App editor.</li>\n<li>Fixed an issue in Retool Mobile where the Image Input component's resolution settings may not be enforced.</li>\n<li>Fixed an issue in Retool Workflows where Query blocks for resources with NoSQL integrations may not autocomplete or execute.</li>\n<li>Fixed an issue where a user's name may not be saved during signup.</li>\n<li>Fixed an issue where tooltips may appear to be blank.</li>\n<li>Fixed an issue where using the Command Palette may cause other modals to appear unexpectedly.</li>\n<li>Fixed an issue with the Link List component where selecting link color settings my incorrectly display Label settings in the Inspector.</li>\n<li>Improved app sharing behavior to copy the link when there are no previous releases.</li>\n<li>Improved block resizing in Retool Workflows.</li>\n<li>Improved branch naming in Source Control so that whitespace is automatically replaced with <code>-</code>.</li>\n<li>Improved loading time of Retool Database menu items.</li>\n<li>Improved the apperance of monospace text, icon design, and footer size in the App editor.</li>\n<li>Improved the behavior of popovers in the Code editor.</li>\n<li>Improved the order of settings in the Inspector for the Table component.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-121-0",
            "title": "Retool 2.121",
            "summary": "- Added bottom sheet in Retool Mobile to display screens as an overlay that slides up from the bottom of the app.",
            "date_modified": "2023-05-19T00:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-120-0",
            "content_html": "<ul>\n<li>Added a maximum response size of 100 MB when fetching database schemas.</li>\n<li>Added an isOnboardingApp property to the app saved event.</li>\n<li>Added JSON as a Workflows parameters option when running Workflows from apps.</li>\n<li>Added rtAppSwitcherDrawerItemSettingsHidden and rtAppSwitcherDrawerItemLogoutHidden fields to managed app config in Retool Mobile, which hide settings and logout in mobile app side drawers.</li>\n<li>Added rtDisableAppSwitcherDrawer to the managed app config in Retool Mobile to disable mobile app side drawers.</li>\n<li>Added support for cookies in the OpenAPI resource configuration.</li>\n<li>Added support for Google SSO using organization subdomains, i.e. org-subdomain.retool.com.</li>\n<li>Fixed an error where JavaScript queries returning Promise.reject() would not terminate when using the latest runtime.</li>\n<li>Fixed an issue where duplicate application names were created from templates.</li>\n<li>Fixed an issue where module outputs with dependencies did not work as expected.</li>\n<li>Fixed an issue where plotly.js would not import when using the latest runtime.</li>\n<li>Fixed an issue where tooltips for function signatures on some utility methods would show unknown return values.</li>\n<li>Fixed an issue where workflow parameters were not configurable on event handlers.</li>\n<li>Improved error messages in the query editor when the schema fails to return.</li>\n<li>Improved performance when using List View components in the latest runtime.</li>\n<li>Improved the performance of transformers when using the latest runtime on Google Chrome.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-120-0",
            "title": "Retool 2.120",
            "summary": "- Added a maximum response size of 100 MB when fetching database schemas.",
            "date_modified": "2023-05-12T22:37:19.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/lower-pricing-to-make-retool-more-accessible-to-more-teams",
            "content_html": "<p>Today we <a href=\"https://retool.com/blog/pricing-v2/\" target=\"_blank\" rel=\"noopener noreferrer\">announced major changes to our pricing</a> to make Retool more accessible to as many teams as possible. Here’s what we’ve updated:</p>\n<ul>\n<li>Instead of charging the same price for any user at your company, we now charge different rates for Standard users (people who build apps in Retool) and a significantly lower amount for End users (people who only view or use Retool apps).</li>\n<li>We’re also adding an <a href=\"https://retool.com/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">annual billing option</a> to our Team and Business plans so that you can pay annually and get an additional 20% discount per user.</li>\n<li>And, we’re introducing a <a href=\"https://retool.com/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Self-hosted Business plan</a> for teams that prefer to self-host and need more granular permissions, audit logs, reusable modules, and other security features. To access these new plans, make sure to upgrade your Self-hosted Retool deployment to v2.117 or later. Existing Free, Team, and Business plan customers can switch over to the new plans from your billing page at any time and we expect that many of you will find that the new pricing better meets your team’s needs. If you’d like to stay on your current plan, there’s no action required—your current plan will still be available until the end of 2024 and we’ll provide plenty of notice before then. To learn more, check out our <a href=\"https://retool.com/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">pricing page</a>.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/lower-pricing-to-make-retool-more-accessible-to-more-teams",
            "title": "Lower pricing to make Retool more accessible to more teams",
            "summary": "Today we announced major changes to our pricing to make Retool more accessible to as many teams as possible. Here’s what we’ve updated:",
            "date_modified": "2023-05-11T22:37:19.000Z",
            "tags": [
                "Pricing"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/push-notifications-for-retool-mobile",
            "content_html": "<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/51da30f5-3119-4161-9615-4f97bad7eacd.webp\" alt=\"Push notifications\" class=\"img_ev3q\"></p>\n<p>Using the built-in Mobile Push Notifications resource, you can write queries that send push notifications to specific users from any Retool web app, Retool Mobile app, or Retool Workflow via webhook. <a href=\"mailto:mobile-request@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">Contact us</a> to get started or read our <a href=\"https://docs.retool.com/mobile/guides/app-management/push-notifications\">push notification docs</a> to learn more.</p>",
            "url": "https://docs.retool.com/changelog/push-notifications-for-retool-mobile",
            "title": "Push notifications for Retool Mobile",
            "summary": "Push notifications",
            "date_modified": "2023-05-11T22:37:19.000Z",
            "tags": [
                "Mobile",
                "Resources"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/table-legacy-comparison",
            "content_html": "<p>You don't have to upgrade existing apps that use the legacy Table component. You can continue to configure the legacy Table in your existing apps, and then use the new Table component when you have an app to build.</p>\n<p>If you want to migrate an existing app to use the new Table component, use this guide to learn more about the differences before migrating.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"column-configuration\">Column configuration<a href=\"https://docs.retool.com/changelog/table-legacy-comparison#column-configuration\" class=\"hash-link\" aria-label=\"Direct link to Column configuration\" title=\"Direct link to Column configuration\">​</a></h2>\n<p>The new Table no longer supports the Auto column format. Each column must have an explicit format. Each column can contain an optional source key, which maps the column to a field in the data source. If the source key is omitted, the column is effectively a custom column.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"properties\">Properties<a href=\"https://docs.retool.com/changelog/table-legacy-comparison#properties\" class=\"hash-link\" aria-label=\"Direct link to Properties\" title=\"Direct link to Properties\">​</a></h2>\n<p>Some commonly used Table properties have been renamed. Anywhere in your app where you reference these properties, you’ll want to update those references to the new property names.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"selectedrow\"><code>selectedRow</code><a href=\"https://docs.retool.com/changelog/table-legacy-comparison#selectedrow\" class=\"hash-link\" aria-label=\"Direct link to selectedrow\" title=\"Direct link to selectedrow\">​</a></h3>\n<p>The property to access the Table’s selected row changed from <code>table1.selectedRow.data</code> to <code>table1.selectedRow</code>.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"currentrow\"><code>currentRow</code><a href=\"https://docs.retool.com/changelog/table-legacy-comparison#currentrow\" class=\"hash-link\" aria-label=\"Direct link to currentrow\" title=\"Direct link to currentrow\">​</a></h3>\n<p><code>currentRow</code> in a column’s mapped values is now <code>currentSourceRow</code>, to make it explicit that it references the underlying source row’s data.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"recordupdates-and-changeset\"><code>recordUpdates</code> and <code>changeSet</code><a href=\"https://docs.retool.com/changelog/table-legacy-comparison#recordupdates-and-changeset\" class=\"hash-link\" aria-label=\"Direct link to recordupdates-and-changeset\" title=\"Direct link to recordupdates-and-changeset\">​</a></h3>\n<p>The legacy Table’s edited fields were exposed in <code>recordUpdates</code> and <code>changeSet</code>. These fields are now <code>changesetArray</code> and <code>changesetObject</code>, respectively. These properties no longer contain the entire row’s data, and instead only contain the modified fields.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"pagination-controls\">Pagination controls<a href=\"https://docs.retool.com/changelog/table-legacy-comparison#pagination-controls\" class=\"hash-link\" aria-label=\"Direct link to Pagination controls\" title=\"Direct link to Pagination controls\">​</a></h3>\n<p>Pagination controls are now nested under <code>table1.pagination</code>. This means referencing a table’s <code>pageSize</code>, for example, is done using <code>table1.pagination.pageSize</code>. Pagination is now accessible in the Table’s <strong>Add-ons</strong> section in the <strong>Inspect</strong> tab.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"save-and-cancel-buttons\">Save and cancel buttons<a href=\"https://docs.retool.com/changelog/table-legacy-comparison#save-and-cancel-buttons\" class=\"hash-link\" aria-label=\"Direct link to Save and cancel buttons\" title=\"Direct link to Save and cancel buttons\">​</a></h3>\n<p>The new Table exposes the built-in save and cancel buttons for bulk editing in the <strong>Add-ons</strong> section of the <strong>Inspect</strong> tab.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"sorting-controls\">Sorting controls<a href=\"https://docs.retool.com/changelog/table-legacy-comparison#sorting-controls\" class=\"hash-link\" aria-label=\"Direct link to Sorting controls\" title=\"Direct link to Sorting controls\">​</a></h3>\n<p>The legacy Table exposed several fields to represent the Table’s sorting state: <code>defaultSortDescending</code>, <code>defaultSortByColumn</code>, <code>sortedColumn</code>, <code>sortedDesc</code>. The new Table exposes the <code>sortArray</code> property, which represents the entire sort state of the table.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"filtering-controls\">Filtering controls<a href=\"https://docs.retool.com/changelog/table-legacy-comparison#filtering-controls\" class=\"hash-link\" aria-label=\"Direct link to Filtering controls\" title=\"Direct link to Filtering controls\">​</a></h3>\n<p>The legacy Table did not support nested filtering. The new Table supports nested filters with the <code>filterStack</code> property.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"feature-comparison\">Feature comparison<a href=\"https://docs.retool.com/changelog/table-legacy-comparison#feature-comparison\" class=\"hash-link\" aria-label=\"Direct link to Feature comparison\" title=\"Direct link to Feature comparison\">​</a></h2>\n<p>See below for a feature-by-feature comparison of the legacy Table and the new Table.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"updated-approaches-to-existing-features\">Updated approaches to existing features<a href=\"https://docs.retool.com/changelog/table-legacy-comparison#updated-approaches-to-existing-features\" class=\"hash-link\" aria-label=\"Direct link to Updated approaches to existing features\" title=\"Direct link to Updated approaches to existing features\">​</a></h3>\n<table><thead><tr><th>Category</th><th>Feature</th><th>Description</th></tr></thead><tbody><tr><td>Column type</td><td>Auto column</td><td>The new Table forces explicit column types.</td></tr><tr><td>Column type</td><td>Button column</td><td>The new Table has redesigned actions for triggering events.</td></tr><tr><td>Column type</td><td>User Email column</td><td>The new Table has an Avatar column that serves the same purpose.</td></tr><tr><td>Column type</td><td>Modal column</td><td>Modal columns are not supported natively in the new Table, but can be implemented by using a Column event handler to trigger a Modal component open.</td></tr><tr><td>Actions</td><td>Action button columns</td><td>The new Table floats all action buttons to the right edge of the table when you hover over a row.</td></tr></tbody></table>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"legacy-features-unsupported-in-the-new-table-component\">Legacy features unsupported in the new Table component<a href=\"https://docs.retool.com/changelog/table-legacy-comparison#legacy-features-unsupported-in-the-new-table-component\" class=\"hash-link\" aria-label=\"Direct link to Legacy features unsupported in the new Table component\" title=\"Direct link to Legacy features unsupported in the new Table component\">​</a></h3>\n<table><thead><tr><th>Category</th><th>Feature</th><th>Description</th></tr></thead><tbody><tr><td>Column type</td><td>Rating column</td><td>You can use a Tag column to represent a rating cell instead.</td></tr><tr><td>Sorting</td><td>Sort columns by raw value</td><td>The new Table sorts columns by their mapped values.</td></tr><tr><td>Styling</td><td>Row color</td><td>Row color is not supported in the new Table.</td></tr></tbody></table>",
            "url": "https://docs.retool.com/changelog/table-legacy-comparison",
            "title": "Table component and Legacy Table component differences",
            "summary": "You don't have to upgrade existing apps that use the legacy Table component. You can continue to configure the legacy Table in your existing apps, and then use the new Table component when you have an app to build.",
            "date_modified": "2023-05-10T00:00:00.000Z",
            "tags": [
                "Apps",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/deploy-branded-retool-mobile-apps-for-ios-and-android-with-white_labeling",
            "content_html": "<p>Retool Mobile now enables you build <a href=\"https://docs.retool.com/docs/retool-mobile-whitelabel-apps\" target=\"_blank\" rel=\"noopener noreferrer\">white-label Retool Mobile apps</a> and launch them in the iOS App Store and Google Play. With a white-labeled app, you can choose your app’s name, icon, and splash screen, and also manage the version of the app available to your users to take full control of what you build. White-labeled apps are available to customers on our <a href=\"https://retool.com/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Enterprise</a> plans. <a href=\"mailto:mobile-request@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">Contact us</a> to get started or read our white-label app docs to learn more.</p>",
            "url": "https://docs.retool.com/changelog/deploy-branded-retool-mobile-apps-for-ios-and-android-with-white_labeling",
            "title": "Deploy branded Retool Mobile apps to the App Stores with white-labeling",
            "summary": "Retool Mobile now enables you build white-label Retool Mobile apps and launch them in the iOS App Store and Google Play. With a white-labeled app, you can choose your app’s name, icon, and splash screen, and also manage the version of the app available to your users to take full control of what you build. White-labeled apps are available to customers on our Enterprise plans. Contact us to get started or read our white-label app docs to learn more.",
            "date_modified": "2023-05-09T22:37:19.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-119-0",
            "content_html": "<ul>\n<li>Added a Create resource button to all resource configuration pages without one</li>\n<li>Added a Create resource button to the Google Sheets resource configuration page</li>\n<li>Added a Day component</li>\n<li>Added an offset to function blocks in Retool Workflows so that multiple blocks don't overlap</li>\n<li>Added count and updateByQuery to Elasticsearch</li>\n<li>Added functionality to workflow queries so their errors can be displayed</li>\n<li>Added image uploader support in the editor to Retool Mobile's Image component</li>\n<li>Added the ability to hide the minimap when editing a Retool workflow</li>\n<li>Added the option to copy a shareable link to the Share button</li>\n<li>Fixed an issue where Debug Tools didn't open after a successful auth test when configuring a resource</li>\n<li>Fixed an issue where failing to publish a push notification to one device with Retool Mobile prevented push notifications from being published to other devices</li>\n<li>Fixed an issue where scope and audience were included for non-client credentials OAuth</li>\n<li>Fixed an issue where text in the Libraries menu was cutoff within a Retool workflow</li>\n<li>Fixed an issue where the login logo aspect ratio was incorrect for white label apps</li>\n<li>Fixed an issue where you could not create a new query when the selected query's resource no longer exists</li>\n<li>Fixed block icons in Retool Workflows so they match the menu icons</li>\n<li>Fixed misaligned text in the Retool Workflows Resource query block</li>\n<li>Improved IDE performance when mousing over the canvas</li>\n<li>Improved mobile camera experience on tablets</li>\n<li>Improved the Inspector so that properties in the Add-ons, Validation Rules, and Style sections don't persist if they're added but not configured</li>\n<li>Improved the styling for the Import from Query Library options for the Resource query block in Retool Workflows</li>\n<li>Improved the UI for selecting access options when sharing an app</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-119-0",
            "title": "Retool 2.119",
            "summary": "- Added a Create resource button to all resource configuration pages without one",
            "date_modified": "2023-05-05T22:37:19.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-118-2",
            "content_html": "<ul>\n<li>Added additional permissions checks when running workflows from apps.</li>\n<li>Added a refresh button to workflow run history in Retool Workflows.</li>\n<li>Added keyword search terms for icons.</li>\n<li>Added rate limiting when triggering workflows from apps.</li>\n<li>Added retry functionality to workflow blocks.</li>\n<li>Added support for apps to wait for a response when triggering workflows with Response blocks.</li>\n<li>Added support for scope selection to BigQuery resources.</li>\n<li>Displays an error message when a SCRIPT tag in a Custom Component fails to load.</li>\n<li>Fixed an issue where a protected resource with multiple environments could not be moved.</li>\n<li>Fixed an issue where code autocomplete may return a list of unrelated results in the code editor.</li>\n<li>Fixed an issue where editing preloaded JavaScript may cause URL parameters to not function correctly when using the latest runtime.</li>\n<li>Fixed an issue where event handlers with dependencies on other event handlers may not function correctly when using the latest runtime.</li>\n<li>Fixed an issue where parent window queries may hang if the parent window failed to respond.</li>\n<li>Fixed an issue where queries may run in a stale state when saving changes under poor network conditions.</li>\n<li>Fixed an issue with Retool Mobile apps where input sheets may not function correctly when using the on-screen keyboard.</li>\n<li>Improved component search results in the right panel of the App editor.</li>\n<li>Improved GUI mode queries that perform bulk updates by increasing timeout to 120s.</li>\n<li>Improved handling and messaging for users that do not have sufficient permissions to perform certain actions.</li>\n<li>Improved insufficient permission error handling on pages for which users do not have access.</li>\n<li>Improved JavaScript linting in code editors.</li>\n<li>Improved query editor formatting by changing the keyboard shortcut to <strong>Shift+Alt+F</strong>.</li>\n<li>Improved the functionality of the pop-out code editor.</li>\n<li>Improved the layout of resource settings.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-118-2",
            "title": "Retool 2.118",
            "summary": "- Added additional permissions checks when running workflows from apps.",
            "date_modified": "2023-04-28T00:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-117-1",
            "content_html": "<ul>\n<li>Added a \"Default camera\" setting on the Scanner component on Retool Mobile to support toggling between front and back cameras.</li>\n<li>Added a link to the JDBC documentation within the JDBC editor.</li>\n<li>Added an <code>rtTags</code> field to managed app configs for Retool Mobile to support arbitrary key-value pairs on Android devices.</li>\n<li>Added controls to display List View components horizontally or as a grid.</li>\n<li>Added permissions restrictions when running Workflows from apps.</li>\n<li>Added placeholder JSON to the Workflow Params field when using Workflow resources in the query editor.</li>\n<li>Added support for the beautifulsoup4, json, datetime, and tabulate libraries in Retool Workflows blocks.</li>\n<li>Fixed a memory leak.</li>\n<li>Fixed an issue where an unnecessary error would show in the Firebase raw query editor.</li>\n<li>Fixed an issue where changes to the Inspector may be undone.</li>\n<li>Fixed an issue where hover tooltips did not work on items within nested List View components.</li>\n<li>Fixed an issue where JavaScript variables would be overridden in the latest runtime when the \"Keep variables in sync\" setting was enabled.</li>\n<li>Fixed an issue where Jira resources may fail to authenticate when using shared credentials.</li>\n<li>Fixed an issue where key values would occasionally fail to render new data in the latest runtime.</li>\n<li>Fixed an issue where public apps with passwords would sometimes fail to load when using the latest runtime.</li>\n<li>Fixed an issue where temporaryState.setIn did not work propertly in some cases in the latest runtime.</li>\n<li>Fixed an issue where the FullStory alert handler in Retool Workflows did not properly accept an API key.</li>\n<li>Fixed an issue where the hover tooltips in the query editor would sometimes move away from the editor when scrolling.</li>\n<li>Fixed an issue where the lastest runtime crashed from using the keyword <code>parent</code> in some template strings.</li>\n<li>Improved text selection on Retool Mobile.</li>\n<li>Removed the connection string display in the Resource config for Retool Database. Connection strings are accessible from the dropdown in the Database editor.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-117-1",
            "title": "Retool 2.117.1",
            "summary": "- Added a \"Default camera\" setting on the Scanner component on Retool Mobile to support toggling between front and back cameras.",
            "date_modified": "2023-04-21T18:51:53.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-117-0",
            "content_html": "<ul>\n<li>Added Query Library support to Retool Workflows.</li>\n<li>Added SQL query support to Elasticsearch resources.</li>\n<li>Fixed an issue where a stale query may run immediately after being edited when using the latest runtime.</li>\n<li>Fixed an issue where the App editor may crash when hovering over a tooltip.</li>\n<li>Fixed an issue where the option to invite new users may appear to users without administrator access. Users couldn't invite other new users due to insufficient privileges.</li>\n<li>Fixed an issue where workflows may not display crontab information on the workflows page in Retool Workflows.</li>\n<li>Improved links to workflows and folders in Retool Workflows.</li>\n<li>Improved the editing experience for long cell values in the Table component.</li>\n<li>Improved visiblity of workflow names for users without sufficient permissions.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-117-0",
            "title": "Retool 2.117",
            "summary": "- Added Query Library support to Retool Workflows.",
            "date_modified": "2023-04-14T21:35:47.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/access-frequently-used-apps-in-retool-mobile",
            "content_html": "<p>The Retool Mobile app now includes a side drawer to access frequently used apps. Users can also open Retool Mobile and automatically launch the most recently used app.</p>",
            "url": "https://docs.retool.com/changelog/access-frequently-used-apps-in-retool-mobile",
            "title": "Access frequently used apps in Retool Mobile",
            "summary": "The Retool Mobile app now includes a side drawer to access frequently used apps. Users can also open Retool Mobile and automatically launch the most recently used app.",
            "date_modified": "2023-04-13T19:58:00.000Z",
            "tags": [
                "Mobile"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/navigate-between-apps-retool-mobile",
            "content_html": "<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/301935-77-9Ku-_ve-_vRp6J3Xvv71F77-977-977-9G--_ve-_vQHvv73vv70H77-9J--_ve-_ve-_ve-_ve-_ve-_ve-_ve-_ve-_vXg\" alt=\"\" class=\"img_ev3q\"></p>\n<p>You can now configure app linking event handlers to enable users to navigate from one mobile app to another. In the App editor, configure an event handler with the **Navigation **action, the <strong>Open app</strong> method, and select the app to use.</p>",
            "url": "https://docs.retool.com/changelog/navigate-between-apps-retool-mobile",
            "title": "Navigate between apps in Retool Mobile",
            "summary": "You can now configure app linking event handlers to enable users to navigate from one mobile app to another. In the App editor, configure an event handler with the Navigation action, the Open app method, and select the app to use.",
            "date_modified": "2023-04-12T19:29:00.000Z",
            "tags": [
                "Mobile"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/create-more-complex-layouts-for-retool-mobile-apps",
            "content_html": "<p>You can now set a <strong>width-factor</strong> on containers to create more complex layouts in Retool Mobile.</p>",
            "url": "https://docs.retool.com/changelog/create-more-complex-layouts-for-retool-mobile-apps",
            "title": "Greater layout flexibility in Retool Mobile",
            "summary": "You can now set a width-factor on containers to create more complex layouts in Retool Mobile.",
            "date_modified": "2023-04-10T19:27:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-116-1",
            "content_html": "<ul>\n<li>Added support for NO_PROXY to RestAPI and GraphQL requests.</li>\n<li>Added support for OpenAPI specs that require Basic authentication.</li>\n<li>Fixed an issue where Digest authorization header creation may not include the <code>opaque</code> value.</li>\n<li>Fixed an issue where Inspector dropdown menus may not filter correctly.</li>\n<li>Fixed an issue where module queries may incorrectly appear for modules that don't contain queries.</li>\n<li>Fixed an issue where parentWindow queries may not run correctly when using the latest runtime.</li>\n<li>Fixed an issue where the Chart component may render incorrectly.</li>\n<li>Fixed an issue where the Data Source dropdown menu would not render correctly if there were queries with long names.</li>\n<li>Fixed an issue where the Table component may incorrectly show a Downgrade option.</li>\n<li>Fixed an issue where non-admin users may not be able to create a foreign key column in Retool Database tables.</li>\n<li>Improved the Form generator modal to open documentation in new tab.</li>\n<li>Improved the interface of the Retool Database resource page.</li>\n<li>Improved the scroll behavior of Code blocks in Retool Workflows.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-116-1",
            "title": "Retool 2.116.1",
            "summary": "- Added support for NO_PROXY to RestAPI and GraphQL requests.",
            "date_modified": "2023-04-07T23:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/switch-environments-in-retool-mobile-apps",
            "content_html": "<p>We’ve added the ability to work with resources and apps that have multiple environments in Retool Mobile using our new environment switcher</p>",
            "url": "https://docs.retool.com/changelog/switch-environments-in-retool-mobile-apps",
            "title": "Switch environments in Retool Mobile",
            "summary": "We’ve added the ability to work with resources and apps that have multiple environments in Retool Mobile using our new environment switcher",
            "date_modified": "2023-04-03T19:27:00.000Z",
            "tags": [
                "Mobile",
                "Resources"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-116-0",
            "content_html": "<ul>\n<li>Added a Databricks integration.</li>\n<li>Added an improved version of the Slack integration.</li>\n<li>Added support for parent window communication in the latest runtime.</li>\n<li>Added the ability to select components directly from hover tooltips in the query editor.</li>\n<li>Fixed an issue where linting errors would incorrectly show on the <code>await</code> keyword.</li>\n<li>Fixed an issue where Multiselect and Multiselect Listbox components included <code>undefined</code> in <code>value</code> when options were dynamically removed.</li>\n<li>Fixed an issue where Retool Database schemas were unnecessarily refetched.</li>\n<li>Fixed an issue where SSO login on Retool Mobile would show an error when switching between apps on Android devices.</li>\n<li>Fixed an issue with broken custom auth template strings.</li>\n<li>Fixed Cmd+L keyboard shortcut to format code in Retool Workflows.</li>\n<li>Improved error reporting in custom authentication.</li>\n<li>Improved error reporting in List View components in the latest runtime.</li>\n<li>Improved spacing and styling of the JavaScript query code editor.</li>\n<li>Improved the Elasticsearch integration.</li>\n<li>Improved the layout of the Slack block in Retool Workflows.</li>\n<li>Improved the load time of the Workflows home page.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-116-0",
            "title": "Retool 2.116",
            "summary": "- Added a Databricks integration.",
            "date_modified": "2023-03-31T20:29:04.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/inspector-redesign",
            "content_html": "<p>We’re excited to launch a new version of the Retool Inspector! By reducing clutter and improving consistency across components, we’ve made it easy to find important properties when you need them most.</p>\n<p>With this re-design, we're adding:</p>\n<ul>\n<li>A new add-ons section</li>\n<li>Progressive disclosure for list editors</li>\n<li>Advanced panels</li>\n<li>More consistent property grouping</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-add-ons-section\">New add-ons section<a href=\"https://docs.retool.com/changelog/inspector-redesign#new-add-ons-section\" class=\"hash-link\" aria-label=\"Direct link to New add-ons section\" title=\"Direct link to New add-ons section\">​</a></h2>\n<p>We’ve added a new section under “Content” called “Add-ons”. These add-ons include properties that were formerly known as “Adornments”, such as prefix icons, suffix text, and tooltips.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/299953-77-9DO-_vWPvv71DLmIDQe-_ve-_ve-_vTTvv73vv73vv71X77-9Du-_vRxP77-9Se-_ve-_vRXvv73vv73vv71c\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We’ve also split some components up into their constituent parts and are adding them to “Add-ons” as well. Each of these add-ons has its own properties and corresponding Inspector view (e.g. the Label add-on below). These add-ons are also visible on the editor canvas and can be directly clicked to open up the right panel.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/299954-Hu-_ve-_ve-_vSoGFXfvv70RLXrvv73vv73vv73vv73vv70-77-977-977-977-977-977-9OQ0DLB3vv70aAA\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"progressive-disclosure-for-list-editors\">Progressive disclosure for list editors<a href=\"https://docs.retool.com/changelog/inspector-redesign#progressive-disclosure-for-list-editors\" class=\"hash-link\" aria-label=\"Direct link to Progressive disclosure for list editors\" title=\"Direct link to Progressive disclosure for list editors\">​</a></h2>\n<p>Currently, we use the list editor pattern for adding event handlers. We're now applying this same pattern to Add-ons, Validation rules, and Styles. This hides away properties that have not yet been set, but can be added on an as-needed basis. You can add any of these properties by clicking the plus button next to each list editor’s header.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/299957-77-977-9OwHvv71Y77-9Tu-_ve-_ve-_ve-_vVbvv70077-9e--_vWrvv71YBO-_ve-_ve-_vTdwa2Dvv71VTg\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"advanced-panels\">Advanced panels<a href=\"https://docs.retool.com/changelog/inspector-redesign#advanced-panels\" class=\"hash-link\" aria-label=\"Direct link to Advanced panels\" title=\"Direct link to Advanced panels\">​</a></h2>\n<p>Instead of showing every property in each section, we now hide less frequently used settings inside of an advanced panel. You can access these properties by clicking on the advanced button in the header of each section.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/299939-77-977-977-977-977-9Fe-_ve-_vVtfZ--_vSXvv70o77-977-977-9U3IJ77-9VlI7Ne-_ve-_vTw577-977-9\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"consistent-property-grouping\">Consistent property grouping<a href=\"https://docs.retool.com/changelog/inspector-redesign#consistent-property-grouping\" class=\"hash-link\" aria-label=\"Direct link to Consistent property grouping\" title=\"Direct link to Consistent property grouping\">​</a></h2>\n<p>Each component now has the same three sections, which makes it easier to find similar properties across different components:</p>\n<ul>\n<li><strong>Content</strong>: Data that gets piped into the component, as well as any add-ons.</li>\n<li><strong>Interaction</strong>: Event handlers, validation rules, and any properties that impact the behavior of the component.</li>\n<li><strong>Appearance</strong>: Properties that change the look of a component, such as layout, style, and show/hide toggles.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/299945-fknvv73vv73vv71OGx8Q77-977-977-9O--_vX9fCUbvv73vv70vK--_ve-_vQLvv73vv704R--_vTME\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We're excited to see what you think! Feel free to send any feedback to <a href=\"mailto:jessicasun@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">jessicasun@retool.com</a>.</p>",
            "url": "https://docs.retool.com/changelog/inspector-redesign",
            "title": "Introducing a new Inspector 🔎",
            "summary": "We’re excited to launch a new version of the Retool Inspector! By reducing clutter and improving consistency across components, we’ve made it easy to find important properties when you need them most.",
            "date_modified": "2023-03-30T22:01:24.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/usage-analytics-for-enterprise-plan-customers",
            "content_html": "<p>A line of sight into your business operations is critical to decision-making as you scale. With Usage Analytics, Retool admins have a single place to:</p>\n<ul>\n<li>Monitor all app and user adoption.</li>\n<li>Gain insight into aggregate usage to effectively manage teams and apps.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/299837-Q--_vRfvv73vv71p77-977-977-9UCPvv73vv73vv73vv71WGUsA77-977-9FAvvv73vv73vv70b77-9b1Pvv70D\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Usage Analytics is available to all Cloud and Self-hosted customers on the Enterprise plan. You can access it in your <strong>Organization settings</strong>.</p>\n<p>Usage Analytics for Self-hosted deployments requires Self-hosted Retool v2.113 or later. Check out the docs to <a href=\"https://docs.retool.com/docs/usage-analytics#enable-usage-analytics\" target=\"_blank\" rel=\"noopener noreferrer\">enable Usage Analytics</a>.</p>",
            "url": "https://docs.retool.com/changelog/usage-analytics-for-enterprise-plan-customers",
            "title": "Usage Analytics for Enterprise customers",
            "summary": "A line of sight into your business operations is critical to decision-making as you scale. With Usage Analytics, Retool admins have a single place to:",
            "date_modified": "2023-03-30T18:40:25.000Z",
            "tags": [
                "Observability",
                "Enterprise"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/return-custom-webhook-data-in-retool-workflows",
            "content_html": "<p>The Response block in Retool Workflows allows for synchronous webhook runs. Workflows can now return data as a webhook response at any time during a run or upon completion.</p>\n<p>The Response block works in conjunction with the <a href=\"https://docs.retool.com/docs/retool-workflows-blocks#trigger-workflows-with-webhooks\" target=\"_blank\" rel=\"noopener noreferrer\">Webhook trigger</a> and enables you to configure your own responses. You can specify the HTTP status code and a JSON response body to return, which can include any data from the workflow. For example, use a workflow to look up a customer's mailing address based on their email, use multiple blocks to return different types of data depending on execution logic, or even use a Response block as an error handler to signal that something went wrong.</p>\n<p>Response blocks are represented as a new block type; just drag out a block, select <strong>Response</strong> in the context menu, and your webhook will now wait until the Response block is executed to return. Check out the <a href=\"https://docs.retool.com/docs/retool-workflows-blocks#response\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a> to learn more.</p>",
            "url": "https://docs.retool.com/changelog/return-custom-webhook-data-in-retool-workflows",
            "title": "Return custom webhook data in Retool Workflows",
            "summary": "The Response block in Retool Workflows allows for synchronous webhook runs. Workflows can now return data as a webhook response at any time during a run or upon completion.",
            "date_modified": "2023-03-29T20:46:25.000Z",
            "tags": [
                "Workflows"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/power-business-automations-with-gpt-4-in-retool-workflows",
            "content_html": "<p>Introducing the Smart Block, bringing the power of GPT-4 and AI into Retool Workflows.</p>\n<p>Treat the Smart Block like a natural programming step in any series of tasks you want to automate: just drag a Smart Block onto the canvas, identify the dataset you want to pass in with your request, and complete your prompt with a set of natural language instructions. Then, just run the block and return your data for use in your automations: summarize hundreds of rows of raw product data, create entirely custom systems to classify or filter requests, or even execute AI-authored code––all in Retool.</p>\n<p>The Smart Block is free to use and available now for all cloud organizations. To learn more, <a href=\"https://retool.com/blog/gpt4-in-retool/\" target=\"_blank\" rel=\"noopener noreferrer\">read the full announcement</a>, or check out the <a href=\"https://docs.retool.com/docs/retool-workflows-blocks#smart\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a>.</p>",
            "url": "https://docs.retool.com/changelog/power-business-automations-with-gpt-4-in-retool-workflows",
            "title": "Power business automations with GPT-4 in Retool Workflows",
            "summary": "Introducing the Smart Block, bringing the power of GPT-4 and AI into Retool Workflows.",
            "date_modified": "2023-03-29T20:46:15.000Z",
            "tags": [
                "Workflows",
                "AI"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/offline-mode-is-now-available-in-retool-mobile",
            "content_html": "<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/299472-77-977-977-977-977-977-977-977-977-9Yu-_vSp977-977-9M--_vTs0UnxqNXF9LGjvv73vv73vv71NCw\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Offline mode in Retool Mobile enables users to continue performing read and write actions whenever the internet connection is lost.</p>\n<p><strong>Reads</strong>: Screens and parts of the app that users have visited while online are cached and available when the device is offline.</p>\n<p><strong>Writes</strong>: Users can continue performing write actions with cached data. Once the connection is restored, Retool Mobile syncs the changes back to the server.</p>",
            "url": "https://docs.retool.com/changelog/offline-mode-is-now-available-in-retool-mobile",
            "title": "Offline mode is now available in Retool Mobile",
            "summary": "Offline mode in Retool Mobile enables users to continue performing read and write actions whenever the internet connection is lost.",
            "date_modified": "2023-03-29T15:56:36.000Z",
            "tags": [
                "Mobile",
                "Code",
                "Resources"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/retool-mobile-apps-for-zebra-devices",
            "content_html": "<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/301931-CO-_vSrvv71kGQ7vv73vv71ZGggR77-9KO-_ve-_ve-_vSnvv73vv73vv73vv73vv73vv71_77-977-977-9eTs_\" alt=\"\" class=\"img_ev3q\"></p>\n<p>You can now run Retool Mobile apps on <a href=\"https://www.zebra.com/us/en/products/mobile-computers.html\" target=\"_blank\" rel=\"noopener noreferrer\">Zebra Android devices</a> to utilize Zebra scanners and hardware sensors.</p>",
            "url": "https://docs.retool.com/changelog/retool-mobile-apps-for-zebra-devices",
            "title": "Retool Mobile apps for Zebra devices",
            "summary": "You can now run Retool Mobile apps on Zebra Android devices to utilize Zebra scanners and hardware sensors.",
            "date_modified": "2023-03-27T19:22:13.000Z",
            "tags": [
                "Mobile",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-115-0",
            "content_html": "<ul>\n<li>Added Backspace/Delete keyboard shortcut to remove blocks in Retool Workflows.</li>\n<li>Added contextual callouts for recently added blocks to the Workflow editor in Retool Workflows.</li>\n<li>Added support for uploading CSV files into existing tables in Retool Database.</li>\n<li>Fixed an issue where a query's confirmation message may not appear when using the latest runtime.</li>\n<li>Fixed an issue where clearing a form with JavaScript may not function correctly when using the new runtime.</li>\n<li>Fixed an issue where initial form data may not be set when using the latest runtime.</li>\n<li>Fixed an issue where the PDF component may crash when loading certain PDF files.</li>\n<li>Improved messaging when a user does not have permission to edit an app.</li>\n<li>Improved messaging when enabling shared credentials for OAuth resources.</li>\n<li>Improved the query editor schema browser when using Retool Database so that it always up to date.</li>\n<li>Improved the results pane UI in workflow blocks.</li>\n<li>Improved the Slack integration with support for Slack API operations.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-115-0",
            "title": "Retool 2.115",
            "summary": "- Added Backspace/Delete keyboard shortcut to remove blocks in Retool Workflows.",
            "date_modified": "2023-03-24T20:22:44.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/map-component-now-available-in-retool-mobile",
            "content_html": "<p>You can now add an interactive map to Retool Mobile apps. Users can view their current location and interact with specific location markers.</p>",
            "url": "https://docs.retool.com/changelog/map-component-now-available-in-retool-mobile",
            "title": "Embed maps in mobile apps",
            "summary": "You can now add an interactive map to Retool Mobile apps. Users can view their current location and interact with specific location markers.",
            "date_modified": "2023-03-23T19:13:32.000Z",
            "tags": [
                "Mobile",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/previewmode",
            "content_html": "<p>Previewing an app used to require navigating to presentation mode and waiting for all the queries to reload. Today we’re launching Preview Mode, a faster way to preview apps directly in the editor without automatic query re-runs!</p>\n<p>You can access Preview Mode by clicking on the icon in the top right corner of the editor, or using the Option+Command+Enter keyboard shortcut.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/298094-77-977-977-9I0nvv70177-977-977-977-977-977-977-9dO-_vS1KBD_vv71wFW3vv73vv71N77-977-977-977-9BQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Along with this new Preview Mode, we’ve also released some changes to the app header.</p>\n<p><strong>Updated share modal</strong></p>\n<p>You can now select viewer app links of the latest release or live release to share with your organization.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/298100-77-9Bu-_ve-_vS0L77-977-977-9D--_vRsCSO-_vVh-77-977-977-977-977-977-9Vu-_vSTvv73vv70hKzda\" alt=\"\" class=\"img_ev3q\"></p>\n<p><strong>Consolidated app details and documentation</strong></p>\n<p>You can now edit all page information by clicking the app title. This includes the app title and description, Editor README, and end user documentation.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/298095-fUrvv73vv71v77-977-977-977-977-9NO-_vUtEZVFU77-977-977-9Aj1LC--_vR3vv73vv70G77-9PiA\" alt=\"\" class=\"img_ev3q\"></p>\n<p><strong>Quick access to resetting app state</strong></p>\n<p>To make resetting the app state easier, we’ve added a button on the Status Bar at the bottom of the editor. This can also be accessed using the Option+Command+R keyboard shortcut, or in the App actions menu. We’ve also made this action more clear by renaming it from “Reload all queries” to “Reset app state.”</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/298099-Ugjvv73vv71t77-9b01E77-977-9Ze-_ve-_ve-_vUfvv71J77-9CgtJdHVochbvv73vv70s77-977-9\" alt=\"\" class=\"img_ev3q\"></p>",
            "url": "https://docs.retool.com/changelog/previewmode",
            "title": "Introducing Preview Mode: One-click preview for builders ▶️ ",
            "summary": "Previewing an app used to require navigating to presentation mode and waiting for all the queries to reload. Today we’re launching Preview Mode, a faster way to preview apps directly in the editor without automatic query re-runs!",
            "date_modified": "2023-03-23T18:21:40.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/display-charts-in-retool-mobile-apps",
            "content_html": "<p>We’ve added the ability to work with <a href=\"https://plotly.com/javascript/reference/\" target=\"_blank\" rel=\"noopener noreferrer\">Plotly</a> charts inside of Retool Mobile. Now you can take your dashboards on the go with built-in support for line graphs, bar charts, scatter plots, and more.</p>",
            "url": "https://docs.retool.com/changelog/display-charts-in-retool-mobile-apps",
            "title": "Display charts in mobile apps",
            "summary": "We’ve added the ability to work with Plotly charts inside of Retool Mobile. Now you can take your dashboards on the go with built-in support for line graphs, bar charts, scatter plots, and more.",
            "date_modified": "2023-03-21T19:24:08.000Z",
            "tags": [
                "Mobile",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/upgraded-camera-features-in-retool-mobile",
            "content_html": "<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/301936-TA8f77-9bmJk77-977-977-9bO-_ve-_ve-_ve-_vRHvv73vv73vv71B77-977-977-9TS3vv71EJ--_vRhbRw\" alt=\"\" class=\"img_ev3q\"></p>\n<p>You can now take multiple photos, preview them, and upload all at once with our upgraded Image Input component.</p>",
            "url": "https://docs.retool.com/changelog/upgraded-camera-features-in-retool-mobile",
            "title": "Upgraded camera features in Retool Mobile",
            "summary": "You can now take multiple photos, preview them, and upload all at once with our upgraded Image Input component.",
            "date_modified": "2023-03-19T19:55:46.000Z",
            "tags": [
                "Mobile",
                "Components"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-114-0",
            "content_html": "<ul>\n<li>Added an option to show or hide all block comments in Retool Workflows.</li>\n<li>Added cookies support to OpenAPI resources.</li>\n<li>Added SSH tunneling support to Elasticsearch resources.</li>\n<li>Added token management for shared or unshared OAuth resources.</li>\n<li>Fixed an issue where a Retool app would crash under certain conditions when using custom URL parameters and the latest runtime.</li>\n<li>Fixed an issue where custom components would not function correctly when using the latest runtime.</li>\n<li>Fixed an issue where event handlers would not function correctly when using the latest runtime.</li>\n<li>Fixed an issue where file input components would not function correctly when using the latest runtime.</li>\n<li>Fixed an issue where links would not always open in a new tab using the latest runtime.</li>\n<li>Fixed an issue where localStorage values would not be set correctly when using the latest runtime.</li>\n<li>Fixed an issue where Multiselect component tags would render with excessive vertical spacing.</li>\n<li>Fixed an issue where navigating between Retool apps would trigger excessive notifications in the latest runtime.</li>\n<li>Fixed an issue where Navigation component event handlers would be cleared if the logo was updated.</li>\n<li>Fixed an issue where previewing a query with invalid syntax would result in a 400 error.</li>\n<li>Fixed an issue where some preloaded JavaScript would not funtion correrctly when using the latest runtime.</li>\n<li>Fixed an issue where the Mobile Scanner component would not correctly trigger event handlers if multi-scan capture was enabled.</li>\n<li>Fixed an issue where the Wizard component would not function correctly when using the latest runtime.</li>\n<li>Fixed an issue with error reporting when using the latest runtime.</li>\n<li>Fixed an issue with excessive undo actions after renaming a component when using the latest runtime.</li>\n<li>Improved App editor performance when renaming components.</li>\n<li>Improved app reliability when swithcing back to the legacy runtime.</li>\n<li>Improved code autocompletion for preloaded JavaScript libraries.</li>\n<li>Improved connection testing and debugging for Amazon S3 resources.</li>\n<li>Improved connection testing and debugging for DynamoDB resources.</li>\n<li>Improved OpenAPI resources behavior in Retool Workflows.</li>\n<li>Improved the position of tooltips when selecting icons in the App editor.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-114-0",
            "title": "Retool 2.114",
            "summary": "- Added an option to show or hide all block comments in Retool Workflows.",
            "date_modified": "2023-03-17T23:23:32.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-113-0",
            "content_html": "<ul>\n<li>Added BitBucket configuration options to Source Control settings.</li>\n<li>Added columns to the Workflows tab to display more information.</li>\n<li>Added connection testing and debugging when configuring Firebase resources.</li>\n<li>Added link to first-party documentation in the query editor when using a Stripe resource.</li>\n<li>Added option to resize Code blocks in Retool Workflows.</li>\n<li>Added status bar options to select an environment, and browse or revert the history of queries in the Query Library.</li>\n<li>Added the Code block in Retool Workflows to separate code execution and resource queries. Query blocks are now Resource query blocks.</li>\n<li>Added the Smart block in Retool Workflows to interact with ChatGPT.</li>\n<li>Added the Response block in Retool Workflows to send webhook event responses.</li>\n<li>Fixed an issue in Retool Mobile where the clearValue() and resetValue() methods for the Image Input component would not function correctly.</li>\n<li>Fixed an issue where apps would redirect and load multiple times under certain conditions when using the latest runtime.</li>\n<li>Fixed an issue where branding headers would overlap app content.</li>\n<li>Fixed an issue where certain JavaScript utility methods would not function correctly in Safari.</li>\n<li>Fixed an issue where custom CSS would not function correctly when using the latest runtime.</li>\n<li>Fixed an issue where Debug Tools would not function correctly when using the latest runtime.</li>\n<li>Fixed an issue where OpenAPI queries would not run if they contained an expression with double quotes.</li>\n<li>Fixed an issue where preloaded JavaScript would not function correctly when using the latest runtime.</li>\n<li>Fixed an issue where Query Library queries would not display the apps in which they're used.</li>\n<li>Fixed an issue where Source Control using AWS CodeCommit would not create commits with more than 100 files.</li>\n<li>Fixed an issue where the query editor would not function correctly if a selected endpoint path contained a comma.</li>\n<li>Fixed an issue where the State tab in the App editor would not display parsedValue for File Input and similar components.</li>\n<li>Fixed an issue where the Tabbed Container component would not function correctly when under certain conditions using the latest runtime.</li>\n<li>Fixed an issue where the Table component would incorrectly sort numbers if cells contained null values.</li>\n<li>Improved autolayout of workflows in Retool Workflow.</li>\n<li>Improved behavior of REST API resources configured with shared credentials to match other resources.</li>\n<li>Improved block note editing in Retool Workflow.</li>\n<li>Improved debugging information for Redis resources.</li>\n<li>Improved JavaScript linting to identify unnecessary use of <code>{{ }}</code>.</li>\n<li>Improved Source Control to automatically create pull requests when unprotecting an app or resource.</li>\n<li>Improved the information in the onboarding workflow in Retool Workflows.</li>\n<li>Improved undo behavior when using the latest runtime.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-113-0",
            "title": "Retool \"2.113\"",
            "summary": "- Added BitBucket configuration options to Source Control settings.",
            "date_modified": "2023-03-10T22:46:59.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-112-0",
            "content_html": "<ul>\n<li>Added API version selection to Twilio resources.</li>\n<li>Added Gitlab configuration options to Source Control settings.</li>\n<li>Added interactive state to the Query Library status bar.</li>\n<li>Fixed an issue where a Retool app could not be downloaded using the Showcase share option.</li>\n<li>Fixed an issue where linting errors in code editors would appear blue on hover.</li>\n<li>Fixed an issue where MongoDB schemas in the Query Library would not load correctly.</li>\n<li>Fixed an issue where panning a workflow in the Retool Workflows editor would not behave as expected.</li>\n<li>Fixed an issue where Query blocks in Retool Workflows may not list all available resources.</li>\n<li>Fixed an issue where the Table component would incorrectly sort numbers if cells contained only zero and negative values.</li>\n<li>Improved error reporting when writing JavaScript code.</li>\n<li>Improved support for parameters when editing JSON in queries.</li>\n<li>Improved the Navigation component to include a logo by default.</li>\n<li>Improved the Share options for Retool apps.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-112-0",
            "title": "Retool 2.112",
            "summary": "- Added API version selection to Twilio resources.",
            "date_modified": "2023-03-03T22:37:19.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-111-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-111-1#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added Notes option to workflow blocks for writing Markdown comments.</li>\n<li>Added notes to the sample workflow for new users of Retool Workflows.</li>\n<li>Fixed an issue where protected app links would not work correctly.</li>\n<li>Fixed an issue where protecting an app or resource would not create a pull request correctly.</li>\n<li>Fixed an issue where resetting a remote branch in Source Control would not list all available branches in GitHub.</li>\n<li>Fixed an issue where Retool Database would not correctly detect duplicate values when importing CSVs.</li>\n<li>Fixed an issue where Source Control branch diffs for an app were not correctly compared after resetting a remote branch.</li>\n<li>Fixed an issue where the Environments section would not render correctly if there were many environments listed.</li>\n<li>Fixed an issue where the Header frame would not render correctly in presentation mode when using both Header and Sidebar frames.</li>\n<li>Fixed an issue where tooltips would not render below the cursor.</li>\n<li>Fixed an issue where workflows with names containing slashes could be protected.</li>\n<li>Improved Autolayout functionality in Retool Workflows.</li>\n<li>Improved error messaging for unexpected behavior when using app releases.</li>\n<li>Improved error messaging when attempting to reuse an existing environment name.</li>\n<li>Improved user interface and experience for Retool Database.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-111-1",
            "title": "Retool 2.111.1",
            "summary": "Fixes and improvements",
            "date_modified": "2023-02-24T21:05:19.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-111-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-111-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>\n<p>Added the <strong>selection</strong> property and <strong>setSelection()</strong> to the <a href=\"https://retool.com/components/rich-text-editor\" target=\"_blank\" rel=\"noopener noreferrer\">Rich Text Editor</a> component.</p>\n</li>\n<li>\n<p>Added <strong>environment</strong> URL parameter to specify the environment in <a href=\"https://docs.retool.com/docs/retool-embed\" target=\"_blank\" rel=\"noopener noreferrer\">Retool Embed</a> apps.</p>\n</li>\n<li>\n<p>Fixed an issue where Date Time-formatted columns in the <a href=\"https://retool.com/components/table\" target=\"_blank\" rel=\"noopener noreferrer\">Table component</a> would not correctly sort if any cells contained null values.</p>\n</li>\n<li>\n<p>Fixed an issue where TLS certificates for resources would not upload if using a Windows computer.</p>\n</li>\n<li>\n<p>Fixed an issue where <a href=\"https://docs.retool.com/docs/mongodb\" target=\"_blank\" rel=\"noopener noreferrer\">MongoDB</a> connection strings would be incorrectly parsed if it contained a TLS option.</p>\n</li>\n<li>\n<p>Fixed an issue where an app would unintentionally scroll if typing into input components within the Header frame.</p>\n</li>\n<li>\n<p>Fixed an issue where publicly shared apps would ignore the specified maximum width and render at 100% width under certain conditions.</p>\n</li>\n<li>\n<p>Fixed an issue where the resource schema would not refresh correctly when changing the environment.</p>\n</li>\n<li>\n<p>Fixed an issue where the <a href=\"https://docs.retool.com/docs/asana-integration\" target=\"_blank\" rel=\"noopener noreferrer\">Asana</a> resource settings contained a broken link.</p>\n</li>\n<li>\n<p>Fixed an issue where the toggle to enable a workflow would not function correctly in <a href=\"https://docs.retool.com/docs/retool-workflows\" target=\"_blank\" rel=\"noopener noreferrer\">Retool Workflows</a>.</p>\n</li>\n<li>\n<p>Fixed an issue where the <a href=\"https://docs.retool.com/docs/query-library\" target=\"_blank\" rel=\"noopener noreferrer\">Query Library</a> would not correctly display if a query contained JavaScript variables.</p>\n</li>\n<li>\n<p>Improved resource settings to hide token status if the resource uses Shared OAuth.</p>\n</li>\n<li>\n<p>Improved the Schema Explorer to display namespaced table schemas for <a href=\"https://docs.retool.com/docs/mysql-integration\" target=\"_blank\" rel=\"noopener noreferrer\">MySQL</a> resources.</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-111-0",
            "title": "Retool 2.111",
            "summary": "Fixes and improvements",
            "date_modified": "2023-02-17T16:00:25.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-110-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-components\">New components<a href=\"https://docs.retool.com/changelog/cloud/2-110-0#new-components\" class=\"hash-link\" aria-label=\"Direct link to New components\" title=\"Direct link to New components\">​</a></h2>\n<ul>\n<li><a href=\"https://retool.com/components/status\" target=\"_blank\" rel=\"noopener noreferrer\">Status</a>: A component that displays the status of a task or operation. It supports multiple user-defined states, including icons, colors, and labels.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/289151-Se-_vRPvv73vv70kVCES77-9NFMbdu-_ve-_vSgbLe-_vXrvv70TYu-_ve-_ve-_vSbvv70x77-9EQ\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-110-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>\n<p>Changed copy for the 'Reload all queries' action to 'Reset app state'</p>\n</li>\n<li>\n<p>Fixed an issue where the variable editor was erroneously showing up for a GraphQL Resource in the Query Library</p>\n</li>\n<li>\n<p>Added a toggle to prevent scroll from changing values in the Number Input</p>\n</li>\n<li>\n<p>Fixed query renames being reset whenever a periodic query runs</p>\n</li>\n<li>\n<p>Fixed copying and pasting of Containers or Modals with nested Modules</p>\n</li>\n<li>\n<p>Fixed an issue that would cause certain inputs in Rich Text Input to crash with an error</p>\n</li>\n<li>\n<p>Added Markdown support in the GraphQL schema explorer</p>\n</li>\n<li>\n<p>Added titles to popped-out code editors</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-110-0",
            "title": "Retool 2.110",
            "summary": "New components",
            "date_modified": "2023-02-10T16:00:09.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/improvements-to-our-drag-and-drop-system-2jjucMXTO",
            "content_html": "<p>We're releasing improvements to our drag-and-drop system to make it easier than ever to build UIs within Retool. With our new preview experience, adding and moving components around the canvas is easier and more predictable, especially in nested and dense contexts.</p>\n<hr>\n<p><strong>Nested Contexts (e.g. Containers)</strong></p>\n<p>Containers no longer change size as you’re dragging over them, making it easier to drag and drop in and out of nested areas:</p>\n<hr>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/286103-77-977-977-9f24Jb3Xvv73vv70g77-9FBTvv70vWe-_vTlF77-977-9Qu-_ve-_ve-_vRgSUe-_vVpw\" alt=\"\" class=\"img_ev3q\"></p>\n<hr>\n<p><strong>Dense Contexts (e.g. Forms)</strong></p>\n<p>Surrounding components no longer move unpredictably. For example, dragging a Text Input into a dense form is easier than ever:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/286105-Re-_vVklIFpq77-9d--_ve-_ve-_vXTvv70F77-9Du-_vVTvv73vv70ITWV3O--_ve-_vSAp77-977-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We want to hear from you! Reach out to <a href=\"mailto:dworsky@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">dworsky@retool.com</a> if you have any feedback on drag and drop. We’re continuing to add more improvements over the coming weeks.</p>",
            "url": "https://docs.retool.com/changelog/improvements-to-our-drag-and-drop-system-2jjucMXTO",
            "title": "Improvements to our drag and drop system",
            "summary": "We're releasing improvements to our drag-and-drop system to make it easier than ever to build UIs within Retool. With our new preview experience, adding and moving components around the canvas is easier and more predictable, especially in nested and dense contexts.",
            "date_modified": "2023-02-03T20:54:56.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-109-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-109-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed height of Forms when dragged out from the create panel</li>\n<li>Added name tooltip over the component icon in the right panel</li>\n<li>Updated the icon for <code>Submit Feedback</code> in the Help menu</li>\n<li>Fixed an issue where the \"Actions\" column of Tables wouldn't appear</li>\n<li>Fixed the <code>disabled</code> property setting on Calendar Input to properly disable clicking on days of the calendar</li>\n<li>Improved the empty state of the Table columns editor</li>\n<li>Fixed JavaScript query failure conditions</li>\n<li>Fixed the Link Card shadow height</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-109-0",
            "title": "Retool 2.109",
            "summary": "Fixes and improvements",
            "date_modified": "2023-02-03T17:25:42.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-108-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-components\">New components<a href=\"https://docs.retool.com/changelog/cloud/2-108-0#new-components\" class=\"hash-link\" aria-label=\"Direct link to New components\" title=\"Direct link to New components\">​</a></h2>\n<ul>\n<li><strong>Breadcrumb Navigation</strong>: Show users how the page they are on is categorized or the path the user took to find it.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/282595-OlXvv73vv71K77-977-9Y1R3DO-_ve-_vUPvv73vv73vv73vv71R77-9Du-_ve-_vRLvv70HVe-_ve-_vVUH77-9\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-108-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>\n<p>Improved overall UI for clearer tabs design, less cluttered global navigation, lighter borders and keylines to allow the UI to breath, clearer section headings, clearer hierarchy between sections and elements, general fit-and-finish improvements across the app</p>\n</li>\n<li>\n<p>Fixed a case where the Sidebar would not render in small widths</p>\n</li>\n<li>\n<p>Fixed the Table \"Actions\" column so it hides when the Table has no data</p>\n</li>\n<li>\n<p>Fixed a crash when linking to a container from a Steps or Tab component in an app with a Table and no other Containers</p>\n</li>\n<li>\n<p>Added the <code>scrollIntoView</code> API to all components</p>\n</li>\n<li>\n<p>Updated the frontend UI for SSL/TLS configuration to be consistent across resources</p>\n</li>\n<li>\n<p>Fixed a bug where JavaScript queries were created instead of resource queries after a JavaScript query is selected</p>\n</li>\n<li>\n<p>Added option for users to add root authority and client cert and key when configuring a REST API resource to use TLS</p>\n</li>\n<li>\n<p>Improved error message when you try to create a resource with a name that already exists.</p>\n</li>\n<li>\n<p>Fixed an issue where icons in dynamic mode may fail to load</p>\n</li>\n<li>\n<p>Removed SSL host option from Postgres resource configuration</p>\n</li>\n<li>\n<p>Added the ability to customize an app's maximum width via App Settings</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-108-0",
            "title": "Retool 2.108",
            "summary": "New components",
            "date_modified": "2023-01-20T17:07:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-107-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-107-1#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>\n<p>Added the ability to resize the left \"Code\" panel</p>\n</li>\n<li>\n<p>Fixed tooltips in Debug Tools for enums</p>\n</li>\n<li>\n<p>Updated the HTML component so event handlers can be attached to elements within the component</p>\n</li>\n<li>\n<p>Improved the styling of the Branding header when viewing applications</p>\n</li>\n<li>\n<p>Fixed Debug Tools to focus on the State of the currently selected component when first opened</p>\n</li>\n<li>\n<p>Fixed formatting for SQL queries with ternaries</p>\n</li>\n<li>\n<p>Added a timeframe customization option for the list view in the Calendar component</p>\n</li>\n<li>\n<p>Improved Autocomplete fields in the right panel to only surface in code blocks</p>\n</li>\n<li>\n<p>Improved the styling of the Retool user menu when rendered in the Sidebar</p>\n</li>\n<li>\n<p>Updated the UI for SSL options on the resource configuration form</p>\n</li>\n<li>\n<p>Added support for certificates and verification mode to AlloyDB resource</p>\n</li>\n<li>\n<p>Added support for <code>hint</code> to MongoDB's find operation</p>\n</li>\n<li>\n<p>Fixed issue where users were unable to connect to Hubspot using OAuth authentication</p>\n</li>\n<li>\n<p>Removed support for GET and PUT commands with our Snowflake resource</p>\n</li>\n<li>\n<p>Fixed link to double cookie submit documentation on the REST API resource configuration form</p>\n</li>\n<li>\n<p>Updated the Postgres connection options tooltip to open links in a new tab</p>\n</li>\n<li>\n<p>Updated the resource dropdown in the query editor to show 'Create a new resource' when user is searching</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-107-1",
            "title": "Retool 2.107.1",
            "summary": "Fixes and improvements",
            "date_modified": "2023-01-13T17:13:32.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-107-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-107-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>\n<p>Fixed a bug with the border radius when flipping images</p>\n</li>\n<li>\n<p>Changed the 'Go to URL' event handler to open in new tab by default</p>\n</li>\n<li>\n<p>Fixed the resize indicator from overlapping when resizing components with vertical controls</p>\n</li>\n<li>\n<p>Fixed viewport width to respect the app canvas max width</p>\n</li>\n<li>\n<p>Fixed an issue where right panel popovers would overflow the top of the page</p>\n</li>\n<li>\n<p>Fixed an issue causing Javascript queries to not run when referencing widgets in empty List Views</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-107-0",
            "title": "Retool 2.107.0",
            "summary": "Fixes and improvements",
            "date_modified": "2023-01-06T20:43:48.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-106-2-2",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-106-2-2#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Fixed hover expansion behavior in Table cells with long text</li>\n<li>Updated the styling for the event handler editors of the Navigation component</li>\n<li>Updated the starter app template and added a \"View Example App\" option in onboarding</li>\n<li>Added default label for custom buttons added to a Table</li>\n<li>Added tooltips on Select to clarify when a query is triggered</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-106-2-2",
            "title": "Retool 2.106.2",
            "summary": "Fixes and improvements",
            "date_modified": "2022-12-30T16:16:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/introducing-a-new-component-creation-flow",
            "content_html": "<p>Introducing a new way to create components! The new component creation flow allows components to be easily created within frames, containers, and more with just a few clicks.</p>\n<p><strong>Canvas</strong></p>\n<p>Empty Containers, List Views, Forms, and other contexts now have an “Add components” button. Click the button to see a list of Retool components, and select the components you wish to add to the container.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/277269-Vu-_ve-_vTdr77-9Xgnvv73vv73vv73vv73vv71L77-977-977-977-9MmhvPO-_vWkB77-9Q--_ve-_vRvvv73vv70\" alt=\"\" class=\"img_ev3q\"></p>\n<p><strong>Context Menu</strong></p>\n<p>Add components to existing containers and forms by right clicking and selecting “Add components” in the context menu. New components will be added below existing components in the container.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/277270-77-977-9QO-_ve-_ve-_ve-_ve-_vQE377-977-977-9T--_vQQf77-9Tu-_ve-_vSPvv73vv73vv73vv70p77-9F--_vSZM\" alt=\"\" class=\"img_ev3q\"></p>\n<p><strong>Component Explorer</strong></p>\n<p>Quickly add components to frames, containers, container sections, and views through the Component Explorer by clicking on the action button and pulling up the Create Components modal.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/277271-Bnvvv70FZu-_vRXvv71yTe-_vVBgWe-_ve-_vRbvv71KBllK77-977-977-9Hu-_vT_vv71J77-977-9\" alt=\"\" class=\"img_ev3q\"></p>",
            "url": "https://docs.retool.com/changelog/introducing-a-new-component-creation-flow",
            "title": "Introducing a new component creation flow 🌟 ",
            "summary": "Introducing a new way to create components! The new component creation flow allows components to be easily created within frames, containers, and more with just a few clicks.",
            "date_modified": "2022-12-22T21:13:06.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/launching-an-updated-calendar-component",
            "content_html": "<p>We’ve revamped the Calendar component with a bundle of visual and API improvements to help display and manage your events better! It comes with a host of new, customizable view options as well as additional event handlers and styling options. ✨</p>\n<p>The updated Calendar comes with: expanded options to customize view and locale settings like time zone, a refreshed look to match your other components and/or app theme, a List view to display events in a schedule format, and bug fixes galore!</p>\n<p>You can upgrade your existing Calendar component, or drag out a new one from the right-hand panel. Check out our refreshed <a href=\"https://retool.com/components/calendar\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a> to learn how to make the best use of the Calendar!</p>",
            "url": "https://docs.retool.com/changelog/launching-an-updated-calendar-component",
            "title": "Launching an updated Calendar component 📅",
            "summary": "We’ve revamped the Calendar component with a bundle of visual and API improvements to help display and manage your events better! It comes with a host of new, customizable view options as well as additional event handlers and styling options. ✨",
            "date_modified": "2022-12-22T19:03:57.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-106-2",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-components\">New components<a href=\"https://docs.retool.com/changelog/cloud/2-106-2#new-components\" class=\"hash-link\" aria-label=\"Direct link to New components\" title=\"Direct link to New components\">​</a></h2>\n<ul>\n<li><strong><a href=\"https://retool.com/components/steps\" target=\"_blank\" rel=\"noopener noreferrer\">Vertical Steps</a></strong>: Added support for vertical orientation and captions in the Steps component.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/276644-77-977-9EEVVd--_vUQC77-9CSU-K--_vTHvv73vv70mAWh9Eu-_ve-_vQ_vv70i77-9e1Uw\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-106-2#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed an issue where per-query timeouts were not working for Presto and Vertica queries</li>\n<li>Fixed column resizing and the \"Reset column width\" setting in the Table component</li>\n<li>Fixed \"Go to App\" links from modules when included in public apps</li>\n<li>Added max width to tooltips to prevent overflowing</li>\n<li>Fixed modals to be scrollable if they overflow</li>\n<li>Fixed an issue where gRPC queries with dynamic inputs that evaluated to strings were failing due to a syntax error</li>\n<li>Added hoverable Markdown icons with tooltips to fields that support Markdown</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-106-2",
            "title": "Retool 2.106.3",
            "summary": "New components",
            "date_modified": "2022-12-22T12:14:01.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-106-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-components\">New components<a href=\"https://docs.retool.com/changelog/cloud/2-106-1#new-components\" class=\"hash-link\" aria-label=\"Direct link to New components\" title=\"Direct link to New components\">​</a></h2>\n<ul>\n<li><strong><a href=\"https://retool.com/components/color-input\" target=\"_blank\" rel=\"noopener noreferrer\">Color Input</a></strong>: Select a specific color using the color picker or type in a color using its HEX/RGB value.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/275497-dGLvv71077-9Lu-_ve-_vQLvv73vv73vv73vv73vv73vv73vv71q77-977-9Ne-_vXzvv71t77-9UO-_ve-_vTPvv702Vg\" alt=\"\" class=\"img_ev3q\"></p>\n<ul>\n<li><strong>QR Code</strong>: Create a scannable QR code from strings like phone numbers, emails, and URLs.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/275494-KO-_ve-_ve-_ve-_ve-_vXR_77-977-9Xl7vv73vv70QbxHvv73vv73vv70mPO-_ve-_ve-_vQNgPu-_ve-_ve-_vR4\" alt=\"\" class=\"img_ev3q\"></p>\n<ul>\n<li><strong><a href=\"https://retool.com/components/container#:~:text=Default-,Collapsible,-Fixed%20size\" target=\"_blank\" rel=\"noopener noreferrer\">Link Card</a></strong>: Use a full card as a link, and control interactions on mouseover.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/275498-77-977-9XO-_ve-_ve-_ve-_ve-_vR3vv73vv70b77-977-9BRvvv71xCO-_vVRUMu-_ve-_ve-_vRDvv70077-9SzI\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-106-1#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>\n<p>Allowed both <code>item</code> &amp; <code>i</code> to be present for the \"Run script\" event handler</p>\n</li>\n<li>\n<p>Improved tooltips for long app names in the right-panel for the Navigation component</p>\n</li>\n<li>\n<p>Added a default app name when duplicating an app</p>\n</li>\n<li>\n<p>Updated the resource auth logic to automatically refresh auth for custom auth resources on page load</p>\n</li>\n<li>\n<p>Fixed the app description to automatically update on change</p>\n</li>\n<li>\n<p>Added the ability to import from connection string for MongoDB</p>\n</li>\n<li>\n<p>Improved padding of confirmation modals</p>\n</li>\n<li>\n<p>Allowed tooltips to trigger on disabled components</p>\n</li>\n<li>\n<p>Updated the MongoDB resource configuration UI to have separate fields for Client Certificate and Client Key</p>\n</li>\n<li>\n<p>Added a border to the component search bar when the widget picker is scrolled</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-106-1",
            "title": "Retool 2.106.1",
            "summary": "New components",
            "date_modified": "2022-12-20T23:42:29.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/command-palette",
            "content_html": "<p>We're excited to launch the Command Palette, a powerful tool for quickly running commands and finding everything you need within Retool! Instead of searching and clicking around the editor to perform common actions, you can now use the Command Palette to build faster than ever before. ⚡</p>\n<p>The Command Palette helps you search for components and queries within the app editor, and find other apps, shared queries, or resources within your organization. 🔍 You can also run 90+ app actions without ever leaving your keyboard, such as editing a nested component, viewing releases and history, or previewing a query. 🏃</p>\n<p>You can access the Command Palette with the Cmd+K (Mac) or Ctrl+K (Windows) keyboard shortcut, or click on the search icon in the top right corner of the editor. Check out our <a href=\"http://retool.com/docs/command-palette\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a> or <a href=\"https://retool.com/blog/command-palette/\" target=\"_blank\" rel=\"noopener noreferrer\">blog post</a> to learn more, and feel free to send any feedback to <a href=\"mailto:jessicasun@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">jessicasun@retool.com</a>!</p>",
            "url": "https://docs.retool.com/changelog/command-palette",
            "title": "Introducing the Command Palette",
            "summary": "We're excited to launch the Command Palette, a powerful tool for quickly running commands and finding everything you need within Retool! Instead of searching and clicking around the editor to perform common actions, you can now use the Command Palette to build faster than ever before. ⚡",
            "date_modified": "2022-12-14T16:41:34.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-106-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-106-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Added a .refresh() API to Table to imperatively refresh the backing query</li>\n<li>Fixed a bug where the Mongo query editor would show a metadata error if resource does not have access to all collections in schema</li>\n<li>Added option to pass an ARN when using AWS v4 authentication method</li>\n<li>Added support for <code>{{current_user}}</code> to the database options input on the resource configuration page</li>\n<li>Fixed the width of inputs with overflowing text in the right-panel</li>\n<li>Fixed an issue where current_user was evaluated client side for query library queries</li>\n<li>Unified the version number displayed in the editor Header and Status Bar</li>\n<li>Updated the Hubspot integration to use Private App Tokens instead of API keys, which have been deprecated</li>\n<li>Added support for release management in Modules</li>\n<li>Fixed tooltips not appearing when input components are disabled</li>\n<li>Updated the schema browser to only return the first 1000 tables, sorted alphabetically</li>\n<li>Added support for event handlers to HTML component</li>\n<li>Fixed several visual issues with the Retool user menu</li>\n<li>Added overlayMinWidth property for Dropdown Button, MultiSelect, Select, and Split Button</li>\n<li>Updated the empty state UI for Select and Listbox components</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-106-0",
            "title": "Retool 2.106",
            "summary": "Fixes and improvements",
            "date_modified": "2022-12-09T22:34:30.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-103-3",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-103-3#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>\n<p>Added property to configure the minimum column width in the Checkbox Group, Switch Group, Radio Group, and Link List components</p>\n</li>\n<li>\n<p>Updated loading state for PDFs to use spinner icon instead of text</p>\n</li>\n<li>\n<p>Fixed an issue where the query editor would error on advanced tab of a deleted query</p>\n</li>\n<li>\n<p>Improved the hover interaction for the Browse Apps dropdown in the Retool pill</p>\n</li>\n<li>\n<p>Updated the OAuth1.0 resource authentication method to support PLAINTEXT signatures</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-103-3",
            "title": "Retool 2.103.3",
            "summary": "Fixes and improvements",
            "date_modified": "2022-11-25T22:32:36.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-103-2",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-103-2#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>\n<p>Added new behavior where URL parameters will persist when switching from edit to preview mode</p>\n</li>\n<li>\n<p>Fixed resetValue for the DateRange component</p>\n</li>\n<li>\n<p>Fixed a bug causing MongoDB fields to not appear in the schema editor</p>\n</li>\n<li>\n<p>Removed keyboard shortcuts modal when viewing a Retool app in preview mode</p>\n</li>\n<li>\n<p>Fixed an issue where table action buttons expand incorrectly in dense and compact tables</p>\n</li>\n<li>\n<p>Clicking away from renaming a query in the code section of the editor will now commit the new name</p>\n</li>\n<li>\n<p>Improved query editor UX when there are no queries to run</p>\n</li>\n<li>\n<p>Improved discoverability of popout code editor keyboard shortcut ( Cmd + \\ )</p>\n</li>\n<li>\n<p>Fixed 'Show Selection' toggle for Listbox and MultiSelect Listbox</p>\n</li>\n<li>\n<p>Added autocomplete docs for <code>{{self.X}}</code></p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-103-2",
            "title": "Retool 2.103.2",
            "summary": "Fixes and improvements",
            "date_modified": "2022-11-18T20:46:27.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-103-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-103-1#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Improved code editor preview experience by updating component name</li>\n<li>Fixed text alignment for links that wrap to multiple lines</li>\n<li>Improved searching for queries in folders by automatically expand folders</li>\n<li>Changed 'Enable autocomplete' control to 'Enable browser autofill' for Text Input</li>\n<li>Fixed bug which caused single-letter domains in URLs to be incorrectly shown as invalid</li>\n<li>Improved the design of the query context menu</li>\n<li>Added support for OAuth 2.0 client credentials for OpenAPI</li>\n<li>Made the \"Scripts and styles\" modal resizable</li>\n<li>Changed the default timeout for mysql, presto and vertica resources from 10,000ms to 120,000ms</li>\n<li>Added support for AWS v4 authentication via headers</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-103-1",
            "title": "Retool 2.103.1",
            "summary": "Fixes and improvements",
            "date_modified": "2022-11-11T18:50:47.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/launching-a-revamped-cutcopypaste-experience",
            "content_html": "<p>We’re excited to announce a revamped cut/copy/paste experience that’s available to all cloud customers and will soon be available to on-premise customers. Component cut, copy, and paste are core to Retool’s editor ergonomics, allowing you to rapidly iterate on existing applications. Previously when copying and pasting, components would occasionally overlap or shift their layouts in unexpected ways. Pasting components within containers was especially difficult. The revamped experience remedies these bugs, including the following:</p>\n<p>Previously, when pasting with a Container selected, the components would paste below. Now, pasting with a Container selected pastes the content inside. This makes it easier to create layouts with nested contexts without drag and drop.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/266719-77-9S0da77-9RWciPO-_vVHvv70s77-977-9GStpRUNuGO-_ve-_ve-_vS_vv71rFQHvv70C\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Previously, pasting components into a container would resize them to be much narrower or wider than expected. Now, we auto-adjust pasted components’ widths so that they are correctly sized in the new context.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/266720-BiVO77-977-9OyohMj0YBlZbUhbvv73vv711Cu-_vSwA77-9Q--_vRnvv70477-9Yxk\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Previously, copy/paste shortcuts did nothing with an input-based component (i.e. Text Input) if the input element is focused. Now, copy/paste shortcuts correctly copy the component or paste components from the clipboard.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/266721-77-977-977-9C--_vQ3vv73vv73vv73vv70lGn4p77-977-977-9dxcfK1tJ77-9QlXvv70tQu-_ve-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We shipped <strong>10+ major bug fixes and improvements</strong> to our copy/paste experience, like:</p>\n<ul>\n<li>Fixed overlapping of pasted auto-height components</li>\n<li>Fixed unexpected vertical gaps between components copied from below auto-height components</li>\n<li>Fixed overlapping of pasted components if a frame is selected</li>\n<li>Pasted components now scroll into view</li>\n<li>Fixed unexpected vertical gaps between components inside pasted containers</li>\n<li>Fixed overlapping of pasted components in a container’s header if the container is nested in another container’s header</li>\n<li>Fixed pasting inside containers nested in a List View component</li>\n<li>Disabled being able to paste List View components to achieve nesting depth greater than 3</li>\n<li>Copy/paste shortcuts now correctly copy and paste Table components if no cells are selected</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"introducing-a-new-context-menu\">Introducing a new Context Menu<a href=\"https://docs.retool.com/changelog/launching-a-revamped-cutcopypaste-experience#introducing-a-new-context-menu\" class=\"hash-link\" aria-label=\"Direct link to Introducing a new Context Menu\" title=\"Direct link to Introducing a new Context Menu\">​</a></h2>\n<p>In addition, we’re introducing a new context menu for Retool’s editor that enables rapid access to common component operations, such as deleting components, switching components to other similar components, and of course, copying and pasting components. In an effort to improve usability, the structure and ordering of the context menu has been improved and now includes submenu options too.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/266722-77-977-9b08mUVzvv73vv71YIxIUOyzvv71IOGjvv71g77-977-977-977-9AXXvv73vv71Q77-977-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>The context menu can be activated by right-clicking on components on the canvas or on the component Explorer in the left panel. Right-clicking on canvas frames will instead bring up an abridged version of the widget context menu with more general editor operations.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/266723-clRd77-977-977-977-977-9Su-_vTLvv70877-977-977-9de-_vWQ1De-_ve-_vQvvv71B77-977-9Me-_ve-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>",
            "url": "https://docs.retool.com/changelog/launching-a-revamped-cutcopypaste-experience",
            "title": "Launching a revamped Cut/Copy/Paste experience ✂️",
            "summary": "We’re excited to announce a revamped cut/copy/paste experience that’s available to all cloud customers and will soon be available to on-premise customers. Component cut, copy, and paste are core to Retool’s editor ergonomics, allowing you to rapidly iterate on existing applications. Previously when copying and pasting, components would occasionally overlap or shift their layouts in unexpected ways. Pasting components within containers was especially difficult. The revamped experience remedies these bugs, including the following:",
            "date_modified": "2022-11-11T14:00:53.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-103-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-103-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Deprecated Single Tag and Multiple Tags custom columns. To add a custom Tag column, use a Transformer to add an extra column to the Table’s dataset and configure it to be a Tag column. Existing custom tag columns will maintain their functionality.</li>\n<li>Added auto-selection of the new temporary state when duplicating</li>\n<li>Fixed temporary state duplication from opening the inspector panel</li>\n<li>Fixed JS query auto-indexing when used in a module</li>\n<li>Fixed a bug where server-side paginated scrolling tables failed to fetch subsequent pages</li>\n<li>Updated JavaScript transformers to show linting suggestions just like JavaScript queries</li>\n<li>Added a Duplicate action within the context menu for temporary states</li>\n<li>Fixed a bug where Test Connection would fail for GraphQL resources passing current_user in the header</li>\n<li>Updated the eval popover text in the null and undefined cases</li>\n<li>Fixed an issue where viewers without edit permissions would see an unnecessary blank space on the top of their apps</li>\n<li>Unified query sidebar design between the bottom panel and the bottom half of the Explorer</li>\n<li>Fixed an issue with Table action buttons overflowing and covering adjacent columns</li>\n<li>Removed the checkbox for assuming IAM roles on the Athena resource</li>\n<li>Added support for <code>{{current_user}}</code> scope to the Presto resource configuration</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-103-0",
            "title": "Retool 2.103",
            "summary": "Fixes and improvements",
            "date_modified": "2022-11-05T06:05:51.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-102-2",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-102-2#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Added support for SSH for MySQL Resources with Dynamic Overrides</li>\n<li>Improved styling of the editor</li>\n<li>Fixed a bug where HTML cells in Table with overflow would not properly wrap</li>\n<li>Improved hover states on the Retool org homepage</li>\n<li>Fixed renaming in the code sidebar to prevent collisions</li>\n<li>Added automatic opening of code folders whose children become selected</li>\n<li>Added functionality to import from connection strings for PostgreSQL</li>\n<li>Fixed a few issues with Table's <code>selectedCell</code> property: <code>selectedCell</code> is now correct when rows are sorted, <code>selectedCell</code> will no longer double-update, only one selected cell will be displayed at a time</li>\n<li>Fixed panel resizeability when left and bottom panels are closed</li>\n<li>Added component icons to the right-panel inspector header</li>\n<li>Fixed a bug causing number string form data keys to generate array form data</li>\n<li>Updated the default option order for a control component for a modal</li>\n<li>Fixed default folder name from 'untitled<em>folder</em>#' to 'folder_#'</li>\n<li>Fixed an issue where components may have been visually omitted from the Explorer</li>\n<li>Fixed a bug where Table's empty message would break Table when set to an object</li>\n<li>Removed the number of errors from Debug Tools in the status bar</li>\n<li>Added ability to use certain editor/presentation shortcuts while an input field is active</li>\n<li>Fixed a bug where apps using a BigQuery resource configured with Service Account authentication would prompt users to authenticate</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-102-2",
            "title": "Retool 2.102.2",
            "summary": "Fixes and improvements",
            "date_modified": "2022-10-28T14:00:21.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-102-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-102-1#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>\n<p>Added functionality to import from connection strings for MySQL and MSSQL</p>\n</li>\n<li>\n<p>Added a hidden mapper and automatically convert base 64 encoded images in Image Grid</p>\n</li>\n<li>\n<p>Fixed a bug with mapped Table values that return moment instances</p>\n</li>\n<li>\n<p>Updated the Bulk Upsert command to support null and undefined primary key values for MSSQL queries</p>\n</li>\n<li>\n<p>Updated the Bulk Upsert command to support null and undefined primary key values for MySQL queries</p>\n</li>\n<li>\n<p>Added clearValue() to clear scanner data</p>\n</li>\n<li>\n<p>Fixed an issue where renaming queries and transformers would erase unsaved edits</p>\n</li>\n<li>\n<p>Fixed a bug where the query to populate schema browser for Presto resources would timeout. The schema browser now shows the first 1000 tables.</p>\n</li>\n<li>\n<p>Updated the Bulk Upsert command to support null primary key values for Postgres queries</p>\n</li>\n<li>\n<p>Added the ability to select icons for Avatar components</p>\n</li>\n<li>\n<p>Fixed height of the query search bar</p>\n</li>\n<li>\n<p>Added IAM Auth as an option for connection to MySQL resources</p>\n</li>\n<li>\n<p>Updated Table data cell icons</p>\n</li>\n<li>\n<p>Fixed missing dataset editor styles in Chart</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-102-1",
            "title": "Retool 2.102.1",
            "summary": "Fixes and improvements",
            "date_modified": "2022-10-21T18:05:25.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-102-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-102-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>\n<p>Fixed a bug where GCM encryption required resource passwords to being less than 8 characters</p>\n</li>\n<li>\n<p>Improved default dark theme colors and display tag colors in the Theme Preview when editing a Theme</p>\n</li>\n<li>\n<p>Fixed a small visual bug with the hidden icon in the Explorer</p>\n</li>\n<li>\n<p>Fixed a bug where \"onRowSelect\" event handlers were fired when cell selection changed</p>\n</li>\n<li>\n<p>Improved clarity and style of auth verification buttons in the custom auth configuration flow</p>\n</li>\n<li>\n<p>Made styling and icon changes in the editor interface</p>\n</li>\n<li>\n<p>Fixed whitespace escape characters in Multiline Text data cells</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-102-0",
            "title": "Retool 2.102",
            "summary": "Fixes and improvements",
            "date_modified": "2022-10-14T16:00:36.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/changes-to-retools-ip-addresses-for-cloud-and-on-premise-connections",
            "content_html": "<p>Retool continually works on stability and security improvements for our customers. We are updating our infrastructure that will result in a change to the IP addresses that Retool uses. This change will not affect most customers but impacts those who must allow connections to Retool IP addresses through a firewall. This includes:</p>\n<ul>\n<li>Retool Cloud customers who have inbound firewall rules for resources on the network (e.g., databases)</li>\n<li>Self-hosted Retool customers who have outbound firewall rules on the network (air-gapped deployments are not affected)</li>\n</ul>\n<p>**If you explicitly allow connections from or to Retool’s IP addresses, you must include additional IP addresses before December 1st, 2022. If you have difficulty updating this information, please reach out to us by emailing <a href=\"mailto:ip-changes@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">ip-changes@retool.com</a>. **</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"retool-cloud-customers\"><strong>Retool Cloud customers</strong><a href=\"https://docs.retool.com/changelog/changes-to-retools-ip-addresses-for-cloud-and-on-premise-connections#retool-cloud-customers\" class=\"hash-link\" aria-label=\"Direct link to retool-cloud-customers\" title=\"Direct link to retool-cloud-customers\">​</a></h2>\n<p>Retool must be allowed to connect to your resources using the following IP addresses. Update your inbound firewall rules to ensure Retool has continued access to your data:</p>\n<ul>\n<li>52.177.12.28/32</li>\n<li>52.175.251.223/32</li>\n<li>35.90.103.132/30</li>\n<li>44.208.168.68/30</li>\n</ul>\n<p>Failure to update this information in time can prevent Retool from accessing your data and result in failed queries.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"self-hosted-retool-customers\">Self-hosted Retool customers<a href=\"https://docs.retool.com/changelog/changes-to-retools-ip-addresses-for-cloud-and-on-premise-connections#self-hosted-retool-customers\" class=\"hash-link\" aria-label=\"Direct link to Self-hosted Retool customers\" title=\"Direct link to Self-hosted Retool customers\">​</a></h2>\n<p>Self-hosted Retool deployments must be allowed to connect to Retool’s license check, email, and usage reporting services using the following IP addresses. Update your outbound firewall rules to ensure Retool has continued access:</p>\n<ul>\n<li>13.66.159.82/32</li>\n<li>13.66.251.59/32</li>\n<li>35.92.202.168/29</li>\n<li>44.211.178.248/29</li>\n</ul>\n<p>Failure to update this information in time can result in failed license checks and user invites.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"reachability-test\"><strong>Reachability test</strong><a href=\"https://docs.retool.com/changelog/changes-to-retools-ip-addresses-for-cloud-and-on-premise-connections#reachability-test\" class=\"hash-link\" aria-label=\"Direct link to reachability-test\" title=\"Direct link to reachability-test\">​</a></h3>\n<p>You can test your changes within Retool to make sure your deployment can reach the new IP addresses:</p>\n<ol>\n<li>Sign in to Retool and navigate to the <strong>Query Library</strong>.</li>\n<li>Click <strong>+ New</strong> to create a new query.</li>\n<li>Select the **REST **resource and <strong>GET</strong> action type.</li>\n<li>Set the URL to <strong><a href=\"https://reachability-test.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">https://reachability-test.retool.com</a></strong>.</li>\n<li>Click <strong>Save</strong> to save the query, then click ▶ to run the query.</li>\n</ol>\n<p>If the query returns a <strong>200</strong> status and <strong>OK</strong> status text, your deployment can successfully reach the new IP addresses.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/274599-DXxDXnPvv73vv71bentmSjXvv71-PO-_ve-_vW7vv70CEe-_ve-_ve-_vX0MTSNCcAI\" alt=\"\" class=\"img_ev3q\"></p>",
            "url": "https://docs.retool.com/changelog/changes-to-retools-ip-addresses-for-cloud-and-on-premise-connections",
            "title": "Changes to Retool’s IP addresses for cloud and on-premise connections ",
            "summary": "Retool continually works on stability and security improvements for our customers. We are updating our infrastructure that will result in a change to the IP addresses that Retool uses. This change will not affect most customers but impacts those who must allow connections to Retool IP addresses through a firewall. This includes:",
            "date_modified": "2022-10-14T00:31:41.000Z",
            "tags": [
                "Organization"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-101-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-features\">New features<a href=\"https://docs.retool.com/changelog/cloud/2-101-1#new-features\" class=\"hash-link\" aria-label=\"Direct link to New features\" title=\"Direct link to New features\">​</a></h2>\n<ul>\n<li><a href=\"https://docs.retool.com/docs/forms#the-form-component\" target=\"_blank\" rel=\"noopener noreferrer\">Form generation from a table</a>: Generate a form and all of its corresponding inputs from an existing table component on the canvas. Inputs will correspond to each column in the table, and values in the form will correspond to the selected table row by default.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/257500-OkAm77-977-977-9Le-_ve-_vRAG77-977-9PHnvv71b77-977-9QO-_vS9BbO-_vTVK77-977-977-9YBM\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-101-1#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>\n<p>Added required field validation for saving and testing resource connections</p>\n</li>\n<li>\n<p>Improved the in-app resource configuration form to provide full-width inputs for better legibility</p>\n</li>\n<li>\n<p>Improved usability of REST resource URL prefixes by allowing them to be selectable and scrollable if long</p>\n</li>\n<li>\n<p>Fixed a bug where \"Ctrl+C\" would not copy table cell contents on Windows</p>\n</li>\n<li>\n<p>Improved Help Bubble by making the version and build number selectable and copyable</p>\n</li>\n<li>\n<p>Added clickable icons to slider component which increment and decrement the slider</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-101-1",
            "title": "Retool 2.101.1",
            "summary": "New features",
            "date_modified": "2022-10-08T00:06:58.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-101-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-features\">New features<a href=\"https://docs.retool.com/changelog/cloud/2-101-0#new-features\" class=\"hash-link\" aria-label=\"Direct link to New features\" title=\"Direct link to New features\">​</a></h2>\n<ul>\n<li><strong><a href=\"https://retool.com/components/calendar-input\" target=\"_blank\" rel=\"noopener noreferrer\">Calendar Input</a> component</strong>: Select a specific date, with support to select a month and year using the header.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/255163-77-977-977-977-9eu-_vSpe77-9T0bvv71d77-9bzPvv71-77-977-977-977-977-9GO-_ve-_ve-_vRkhLu-_vUk\" alt=\"\" class=\"img_ev3q\"></p>\n<ul>\n<li><strong>Resize to fit</strong>: Added a \"Resize to fit\" action to fixed height containers that will adjust the container's height to fit its content. This action can be taken from the right-click context menu, by double clicking on the bottom rail of the component bounding box, or with the keyboard shortcut \"Cmd+Option+Shift+r\" (Mac) or \"Ctrl+Option+Shift+r\" (Windows and Linux).</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/255164-bT7vv73vv71-77-977-9NO-_vUTvv73vv70PX--_vWvvv71i77-9We-_vRDvv71aGwPvv73vv73vv73vv710Jw\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-101-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed issue for Single Tag columns in Tables where option label would not render when option value was also set</li>\n<li>Fixed an issue where Browse Apps wouldn't appear in the Retool pill</li>\n<li>Fixed the Postgres resource to support providing a CA certificate without setting a client key</li>\n<li>Fixed the docs link in OAuth 2.0 helper text on resource configuration page</li>\n<li>Fixed a bug where the onboarding CTA was showing up after the tutorial is completed</li>\n<li>Removed requirement for a resource to be in edited in order to test connection on configuration page</li>\n<li>Improved the editor canvas to be a consistent color when zoomed out</li>\n<li>Improved default custom component logic</li>\n<li>Added the ability to copy parts of the text within Table cells instead of the entire cell</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-101-0",
            "title": "Retool 2.101",
            "summary": "New features",
            "date_modified": "2022-09-30T16:00:09.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-100-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-100-1#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>\n<p>Added stronger password requirements</p>\n</li>\n<li>\n<p>Improved CouchDB error messaging for Test Connection</p>\n</li>\n<li>\n<p>Fixed error with MongoDB queries in the query library if a database is not specified</p>\n</li>\n<li>\n<p>Fixed an issue where null values in <strong><em>form.initialData</em></strong> causes form value to be overridden</p>\n</li>\n<li>\n<p>Fixed visual inconsistencies with the Browse Apps UI</p>\n</li>\n<li>\n<p>Updated the IP allowlist on the resource configuration page to include new IP addresses</p>\n</li>\n<li>\n<p>Added Shift (+10/-10) and Alt (+0.1/-0.1) keyboard navigation for the Number Input</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-100-1",
            "title": "Retool 2.100.1",
            "summary": "Fixes and improvements",
            "date_modified": "2022-09-23T23:40:34.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-99-2",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-99-2#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Fixed Wizard Widget crashing in the naming step with an invalid name</li>\n<li>Improved performance of panel resize in the editor</li>\n<li>Improved evaluation performance for mapped fields</li>\n<li>Improved Table performance when selecting a row</li>\n<li>Fixed issue with false-y values rendering in Tag column type in Table</li>\n<li>Fixed visual bug in the help menu</li>\n<li>Added outdated indicator to query runs in the Debug Tools console</li>\n<li>Added \"^+L\" keyboard shortcut for clearing Timeline in Debug Tools</li>\n<li>Improved consistent spacing between controls in the Header (zoom, panel toggles, etc)</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-99-2",
            "title": "Retool 2.99.2",
            "summary": "Fixes and improvements",
            "date_modified": "2022-09-16T23:18:56.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/launching-debug-tools",
            "content_html": "<p>We're excited to announce that Debug Tools are now available for all cloud customers, and will be available in the next on-premise version! Debug Tools are a suite of devtools that enable you to investigate and debug errors in your Retool apps.</p>\n<p>With Debug Tools, you can:</p>\n<p>⚠ Get notified every time there’s an error</p>\n<p>🔎 Quickly understand why and how errors happened</p>\n<p>🔦 See a timeline of events to debug parallel queries</p>\n<p>⚡ Inspect the state of all properties, including dependencies</p>\n<p>You can access Debug Tools by clicking the bug icon on the right of the new status bar at the bottom of every Retool app, or by using the CTRL+` keyboard shortcut. Check out our <a href=\"https://docs.retool.com/docs/debug-tools\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a> or <a href=\"https://retool.com/blog/debug-tools\" target=\"_blank\" rel=\"noopener noreferrer\">blog post</a> to learn more, and feel free to send any feedback to <a href=\"mailto:jessicasun@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">jessicasun@retool.com</a>. We’re excited to make debugging your apps quicker and easier than ever before!</p>",
            "url": "https://docs.retool.com/changelog/launching-debug-tools",
            "title": "Launching Debug Tools 🚀 ",
            "summary": "We're excited to announce that Debug Tools are now available for all cloud customers, and will be available in the next on-premise version! Debug Tools are a suite of devtools that enable you to investigate and debug errors in your Retool apps.",
            "date_modified": "2022-09-13T17:31:35.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-99-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-99-1#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Fixed bug where 'Data source' for a Tag (Dropdown) column in a Table would be incorrectly validated</li>\n<li>Added a Refresh event handler to Table that is fired when the refresh button is clicked</li>\n<li>Fixed Table so the selected row and focused cell will no longer be able to get out of sync</li>\n<li>Fixed visual inconsistencies when viewing an app in Public mode</li>\n<li>Support sorting numerical values in Single Tag column type in the Table component</li>\n<li>Fixed Multiselect not showing the search input when filtering options</li>\n<li>Updated icons for Single Tag column type in Table</li>\n<li>Fixed \"Download image\" action for Image URL Table columns</li>\n<li>Changed Icon's min height to 2 rows and added focus states for clickable Icons</li>\n<li>Improved GCS query editor set metadata function to support editing the fixed key metadata of an object</li>\n<li>Fixed GCS query editor to update state when access level input is deselected</li>\n<li>Fixed bug where module's components would appear in delete dialog when deleting a container with a module</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-99-1",
            "title": "Retool 2.99.1",
            "summary": "Fixes and improvements",
            "date_modified": "2022-09-09T23:18:56.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-99-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-99-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Fixed an issue where converting an App to Module caused issues with queries in folders</li>\n<li>Added a beta AlloyDB resource integration</li>\n<li>Changed permissions page title to reflect the url slug</li>\n<li>Added a <strong>_scrollIntoView _</strong>API for most components</li>\n<li>Updated Table to show up to 100 rows in auto mode, as well as use the scroll overflow option</li>\n<li>Fixed an issue where Link List, Dropdown Button, and Split Button would show numbers as labels when no labels were provided</li>\n<li>Fixed <strong><em>showNextView</em></strong> &amp; <strong><em>showPreviousView</em></strong> for Container when view keys are numbers</li>\n<li>Fixed typo in Max cache duration. 86400 seconds is 1 day not 1 hour.</li>\n<li>Fixed a bug where a Link component with only an icon and no text did not render in Safari</li>\n<li>Fixed a bug where setting a debounce value on the Submit event of a Form prematurely cleared the form's values</li>\n<li>Improved Table keyboard navigation performance</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-99-0",
            "title": "Retool 2.99",
            "summary": "Fixes and improvements",
            "date_modified": "2022-09-02T23:02:26.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-98-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-98-1#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Updated color palette for Retool UI</li>\n<li>Fixed a bug where <strong><em>null</em></strong> would sometimes be treated as <strong><em>undefined</em></strong> in a JavaScript Query</li>\n<li>Fixed autocomplete suggestions when using optional chaining</li>\n<li>Added support for copy/cut/paste shortcuts in the Components tree in the Explorer</li>\n<li>Fixed an issue with menu highlighting in the Query Library</li>\n<li>Fixed an issue preventing certain Table rows with fixed columns from being selectable</li>\n<li>Fixed Steps labels color when on a dark background</li>\n<li>Added a smaller \"Dense\" row height option to Table</li>\n<li>Fixed overflow of long labels in the option list editor</li>\n<li>Fixed component paste position when the Main frame is selected</li>\n<li>Fixed the setting for Markdown link behavior in App Settings</li>\n<li>Added alert on editor when attempting to save a cyclic module dependency</li>\n<li>Adds skip TLS checkbox for Redshift</li>\n<li>Improved invite flow to no longer suggest inaccessible permission groups when inviting new members into an organization</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-98-1",
            "title": "Retool 2.98.1",
            "summary": "Fixes and improvements",
            "date_modified": "2022-08-26T17:42:42.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-98-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-components\">New components<a href=\"https://docs.retool.com/changelog/cloud/2-98-0#new-components\" class=\"hash-link\" aria-label=\"Direct link to New components\" title=\"Direct link to New components\">​</a></h2>\n<ul>\n<li><a href=\"https://retool.com/components/image-grid\" target=\"_blank\" rel=\"noopener noreferrer\">Image Grid</a>: Display multiple images from a list of URLs or base64-encoded images, with support for captions and multiple layout settings.</li>\n<li><a href=\"https://retool.com/components/page-input\" target=\"_blank\" rel=\"noopener noreferrer\">Page Input</a>: Click to navigate to the next and previous pages, or type to jump to any page number.</li>\n<li><a href=\"https://retool.com/components/link-list\" target=\"_blank\" rel=\"noopener noreferrer\">Link List</a>: Display multiple links in a vertical list with support dynamic or static data sources.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/245310-TjPvv70CAe-_vS4_Qhrvv70B77-977-9NxXvv73vv73vv70777-977-977-977-9VEbvv71YDCHvv73vv70\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-98-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed an issue where workspaces in menus did not highlight</li>\n<li>Updated the Scanner component to close the camera stream when not in use</li>\n<li>Fixed an issue that could cause a query to be triggered when switching Container views in the Inspector</li>\n<li>Fixed falsy <em><strong>form.initialData</strong></em> values not updating their corresponding input component</li>\n<li>Fixed an issue blocking code evaluation for dependencies of certain disabled queries on app load</li>\n<li>Improved date editing behavior in the Date Range component</li>\n<li>Updated the <em><strong>setImageUrl</strong></em> api on Image to support nullish values</li>\n<li>Improved initial render performance of Table</li>\n<li>Fixed <strong><em>fx</em></strong> mode for attachments in SMTP queries</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-98-0",
            "title": "Retool 2.98",
            "summary": "New components",
            "date_modified": "2022-08-19T22:17:20.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/updates-to-the-debug-tools-beta",
            "content_html": "<p>We’ve added two new tabs, <strong>State</strong> and <strong>Timeline</strong>, that enable you to inspect the app state, drill into dependencies, and visualize query runs.</p>\n<p>The <strong>State</strong> tab allows you to view the current state of all properties in your apps, as well as see dependencies between individual properties and calls from event handlers or JavaScript. This makes it easy to see everything that triggers a specific query. You can also directly jump to what you need with a “View state” context menu action and built-in search.</p>\n<p>The <strong>Timeline</strong> tab shows a live view of all query runs, making it easier to visualize run times, compare sequencing, and quickly identify successful, failed, and active query runs.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/244866-Ye-_ve-_ve-_vWbvv702dWLvv71zZQ5UPHBe77-977-977-9Ge-_ve-_ve-_ve-_vUzvv73vv70S77-9dO-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We've also moved <strong>Environments</strong>, <strong>Releases</strong>, and <strong>History</strong> to the status bar for easier access. The status bar is only visible to users with edit permissions.</p>\n<p>To access the Debug Tools beta, navigate to the Beta tab in your organization’s settings and turn on the <strong>Debug console and status bar</strong> toggle. Share your feedback with us by clicking on the Beta Feedback button in the top right corner! These updates are currently live on cloud and will be available on-prem in v2.98.</p>",
            "url": "https://docs.retool.com/changelog/updates-to-the-debug-tools-beta",
            "title": "Updates to the Debug Tools beta 🎉",
            "summary": "We’ve added two new tabs, State and Timeline, that enable you to inspect the app state, drill into dependencies, and visualize query runs.",
            "date_modified": "2022-08-17T20:58:27.000Z",
            "tags": [
                "IDE",
                "Beta"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-97-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-97-1#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Updated icons throughout the product</li>\n<li>Fixed cases where the isFetching property on a JavaScript Query would be incorrect</li>\n<li>Updated the \"Go to app\" event handler to allow selecting the current app</li>\n<li>Fixed an issue causing Enter in a Select component to submit the parent Form</li>\n<li>Improved type casting for date time properties</li>\n<li>Added support for numeric prefix text on Selects and Listboxes</li>\n<li>Fixed Style Editor labels for theme colors like \"Primary\"</li>\n<li>Fixed rendering of Segmented Control components with no options</li>\n<li>Reduced the clickable area on the Link component</li>\n<li>Fixed default label mappers on Dropdown Button and Split Button</li>\n<li>Fixed a bug where the in-app auth modal didn't appear for older Salesforce and Snowflake resources</li>\n<li>Added option to skip TLS certificate validation for resources using connection string configuration</li>\n<li>Fixed an issue causing <strong><em>query.error</em></strong> to be unavailable in error event handlers</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-97-1",
            "title": "Retool 2.97.1",
            "summary": "Fixes and improvements",
            "date_modified": "2022-08-12T17:31:30.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-97-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-97-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed autocomplete in JS Queries and Run Script to prevent suggesting curly braces</li>\n<li>Fixed an issue causing <strong><em>form.data</em></strong> to include values from components without form data keys</li>\n<li>Added autocomplete docs for the <strong><em>theme</em></strong> global</li>\n<li>Added a warning about <strong><em>selectTab</em></strong> usage when upgrading a deprecated Tabbed Container</li>\n<li>Fixed a case where Module inputs might evaluate incorrectly on page load</li>\n<li>Fixed a bug where resizing Table columns would sometimes reorder the columns</li>\n<li>Fixed a bug that caused the \"Skip TLS Certificate Verification\" resource setting to not be consistently respected</li>\n<li>Fixed an issue that caused component background colors to sometimes render incorrectly in a Modal</li>\n<li>Fixed Big Query resource to show Re-authenticate button when OAuth access token is expired</li>\n<li>Added date/time format settings to the grouped mode of the Timeline component</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-97-0",
            "title": "Retool 2.97",
            "summary": "Fixes and improvements",
            "date_modified": "2022-08-06T00:16:52.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-96-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-free-plan\">New free plan<a href=\"https://docs.retool.com/changelog/cloud/2-96-1#new-free-plan\" class=\"hash-link\" aria-label=\"Direct link to New free plan\" title=\"Direct link to New free plan\">​</a></h2>\n<p>We introduced a new free plan with expanded access to collaboration and sharing features for up to 5 users. Read <a href=\"https://retool.com/blog/new-free-plan-2022/\" target=\"_blank\" rel=\"noopener noreferrer\">our blog post</a> for more information about the plan.</p>\n<p>Fixes and improvements</p>\n<ul>\n<li>Improved hover states and selected menu items in the sidebar nav and query editor</li>\n<li>Fixed a case where references to a disabled query could prevent a component from rendering</li>\n<li>Unified and expanded permission settings for the IFrame and Custom components</li>\n<li>Fixed drag and drop scroll behavior in the Code section of Explorer</li>\n<li>Fixed how multiview Containers in List Views appear in the Explorer</li>\n<li>Added a setting to show/hide the border on the Table component</li>\n<li>Fixed an issue causing Table pagination bar to collapse when using server-side pagination</li>\n<li>Fixed typo in dynamic column setting <strong><em>restrictedEditingMapper</em></strong></li>\n<li>Fixed JS colors in Tag column type</li>\n<li>Changed the default Google Sheets authentication option to user-level OAuth</li>\n<li>Fixed incorrect color labels in the Style Editor for some settings</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-96-1",
            "title": "Retool 2.96.1",
            "summary": "New free plan",
            "date_modified": "2022-07-29T18:49:56.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-96-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-96-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed layout issue with the \"compare changes\" modal</li>\n<li>Fixed a case where certain labels in the Explorer weren't properly overflowing</li>\n<li>Fixed inaccurate dimensions in the component resize bounding box</li>\n<li>Fixed an issue that could cause Key Value to render incorrectly inside of a List View</li>\n<li>Updated notification rendering to avoid blocking app editor UI</li>\n<li>Added support for providing a custom filename on PDF Exporter queries</li>\n<li>Added year information to the Releases and Page Documentation modals</li>\n<li>Fixed references to <strong><em>self</em></strong> in Run Script event handlers when using Modules</li>\n<li>Fixed the default value of Number Inputs when <strong><em>allowNull</em></strong> is false</li>\n<li>Added <strong><em>showNextVisibleView</em></strong> and <strong><em>showPreviousVisibleView</em></strong> APIs to multiview Containers</li>\n<li>Fixed the query editor to not display a Re-authenticate button for resources using a shared authentication option</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-96-0",
            "title": "Retool 2.96",
            "summary": "Fixes and improvements",
            "date_modified": "2022-07-22T23:33:04.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-95-2",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-google-sheets-authentication-methods\">New Google Sheets authentication methods<a href=\"https://docs.retool.com/changelog/cloud/2-95-2#new-google-sheets-authentication-methods\" class=\"hash-link\" aria-label=\"Direct link to New Google Sheets authentication methods\" title=\"Direct link to New Google Sheets authentication methods\">​</a></h2>\n<p>We've added more ways for your organization to connect to Google Sheets securely.</p>\n<ul>\n<li><strong>Service account authentication:</strong> Authenticate with a service account tied to a Google Cloud project. Allows user to give Retool access on a spreadsheet by spreadsheet basis by sharing a spreadsheet with the service account’s email.</li>\n<li><strong>User OAuth:</strong> OAuth-based authentication with individual user credentials. Each user is prompted to authenticate with Google Sheets using an OAuth flow, and API calls from Retool are made on behalf of the logged-in user. When using apps built on top of Google Sheets, users can only access and edit sheets that have been shared with them in Google.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/239604-77-9X--_ve-_ve-_ve-_vWbvv70j77-9Yu-_ve-_ve-_vVZMPivvv73vv70iSAHvv73vv71T77-977-977-977-977-9Dw\" alt=\"\" class=\"img_ev3q\"></p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/239600-aXbvv73vv71pPO-_ve-_ve-_vQ1LZlIJ77-9SQPvv73vv73vv704Pe-_ve-_vTBvb2ZuMu-_vU0\" alt=\"\" class=\"img_ev3q\"></p>\n<p>See our <a href=\"https://docs.retool.com/docs/google-integrations\" target=\"_blank\" rel=\"noopener noreferrer\">Google Sheets documentation</a> for more information.</p>\n<p>Fixes and improvements</p>\n<ul>\n<li>Fixed an invalid default ID when using a Module that starts with a number</li>\n<li>Fixed an issue where a Table with empty column-based data would not display the column headers</li>\n<li>Fixed scrollbars incorrectly appearing on the Multiselect component when wrapping is disabled</li>\n<li>Added year information to the History modal</li>\n<li>Fixed a case where <strong><em>query.data</em></strong> references would not evaluate correctly on manual query runs</li>\n<li>Improved labeling of components, queries, transformers, and temporary state in autocomplete</li>\n<li>Updated search in the Code section of the Explorer to autofocus on click</li>\n<li>Fixed a bug where Module input queries could be imported to the Query Library and subsequently cause the Query Library to freeze</li>\n<li>Added timeout support to gRPC queries</li>\n<li>Fixed support for sending body with custom authentication browser requests</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-95-2",
            "title": "Retool 2.95.2",
            "summary": "New Google Sheets authentication methods",
            "date_modified": "2022-07-15T23:31:17.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-95-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-95-1#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>\n<p>Fixed the tooltip text color inside Containers with a dark background</p>\n</li>\n<li>\n<p>Improved text color selection for \"Contrast text\" and \"Automatic\" colors</p>\n</li>\n<li>\n<p>Improved spacing of server-side pagination controls</p>\n</li>\n<li>\n<p>Fixed some erroneous circular dependency warnings</p>\n</li>\n<li>\n<p>Fixed labels in event handlers for some Container APIs</p>\n</li>\n<li>\n<p>Fixed the vertical alignment of the label on Text Area and Multiselect</p>\n</li>\n<li>\n<p>Added support for referencing List View children without an index (e.g., <strong><em>example.value</em></strong> instead of <strong><em>example[i].value</em></strong>)</p>\n</li>\n<li>\n<p>Improved the order of Table properties in the State tab</p>\n</li>\n<li>\n<p>Added a \"Report Abuse\" button to the Help menu</p>\n</li>\n<li>\n<p>Added \"Invalidate query cache\" option to query menus in the app editor</p>\n</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/239629-77-977-9eO-_vQfvv73vv73vv73vv73vv70oKGfvv73vv73vv70cX11sRE9S77-9Qe-_vQI3eDfvv73vv70\" alt=\"\" class=\"img_ev3q\"></p>\n<ul>\n<li>Added option to connect to Postgres using AWS IAM authentication</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/239628-IRPvv73vv73vv71F77-977-9Viwf77-977-9QXXvv71b77-977-977-977-9KQFYdRtN77-977-9JhJC\" alt=\"\" class=\"img_ev3q\"></p>\n<ul>\n<li>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-95-1",
            "title": "Retool 2.95.1",
            "summary": "Fixes and improvements",
            "date_modified": "2022-07-08T23:30:31.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-95-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-95-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed an issue preventing reordering of columns when some columns are frozen</li>\n<li>Fixed a performance issue affecting large apps with certain layout patterns</li>\n<li>Fixed \"Reset state\" for temporary state when the State tab is open</li>\n<li>Fixed column reordering on the Table component when using the \"Apply to column order\" setting</li>\n<li>Added support for regions <strong><em>af-south-1</em></strong>, <strong><em>ap-east-1</em></strong>, <strong><em>ap-southeast-3</em></strong> and <strong><em>eu-south-2</em></strong> to AWS resource types</li>\n<li>Added a setting for total row count when using cursor-based pagination on Table</li>\n<li>Fixed custom logo upload in Branding settings</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-95-0",
            "title": "Retool 2.95",
            "summary": "Fixes and improvements",
            "date_modified": "2022-07-01T23:29:48.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-94-6",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-94-6#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Improved autocomplete handling of text starting with <strong><em>!</em></strong></li>\n<li>Fixed a few drag-and-drop issues</li>\n<li>Fixed vertical alignment of text inside Modal columns on Table</li>\n<li>Added a \"Cancel changes\" event to Table</li>\n<li>Fixed incorrect circular dependency errors when referencing widgets in list views with dynamic indexes</li>\n<li>Fixed an incorrect value of <strong><em>retoolContext.appUuid</em></strong> in public apps</li>\n<li>Added an in-editor notification when trying to add a row to a Table with no editable columns</li>\n<li>Fixed a visual bug with the \"Mode\" setting on Timeline</li>\n<li>Added <strong><em>inputValue</em></strong> to the Number Input component for the live value while editing</li>\n<li>Added a setting to the Select component to allow/prevent deselecting</li>\n<li>Updated File Input, Button, and Dropzone to correctly parse excel dates</li>\n<li>Added keyboard shortcuts to move and resize components by 5 rows at a time</li>\n<li>Added pattern validation to Text Area and Editable Text Area</li>\n<li>Improved OpenAPI integration to refresh access token on any non-2xx response</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-94-6",
            "title": "Retool 2.94.6",
            "summary": "Fixes and improvements",
            "date_modified": "2022-06-24T23:27:04.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-94-4",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-94-4#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added a setting to append new files when using Multiselect on any file input</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/239626-VGHvv71277-977-977-9Dzfvv70b77-977-977-977-9Tmrvv70a77-977-977-9Bu-_vQ_vv71177-977-977-9JRU\" alt=\"\" class=\"img_ev3q\"></p>\n<ul>\n<li>Fixed handling of file inputs in the SMTP attachment setting</li>\n<li>Updated components to render captions even when a label is not provided</li>\n<li>Added a \"Load\" event to the Video component</li>\n<li>Added a \"Click\" event to the Statistic component</li>\n<li>Added a setting for \"Default date\" on the Calendar component</li>\n<li>Removed the App-specific global CSS setting from Modules</li>\n<li>Fixed a bug where Select and Multiselect would show a clear button when no value was selected</li>\n<li>Fixed styling issues with empty state text on Listbox components</li>\n<li>Fixed custom auth modal behavior to let users authenticate into more than one custom auth resources</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-94-4",
            "title": "Retool 2.94.4",
            "summary": "Fixes and improvements",
            "date_modified": "2022-06-17T23:26:17.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-93-7",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-93-7#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>\n<p>Added a warning when multiple users may be editing the same app</p>\n</li>\n<li>\n<p>Fixed custom styles for Modals in embedded apps</p>\n</li>\n<li>\n<p>Consolidated the \"Control query\" and \"Trigger query\" event handler actions</p>\n</li>\n<li>\n<p>Fixed an issue where Date Time could show the wrong popover for the focused subfield</p>\n</li>\n<li>\n<p>Fixed an issue where dynamic height rows in Table would sometimes overlap</p>\n</li>\n<li>\n<p>Added <strong><em>current_users.sid</em></strong> to access a unique ID for the current user</p>\n</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/239623-XXIz77-9CQvvv71-77-9du-_vVvvv73vv73vv70o77-9KyHvv71JO0cZEX_vv73vv71x77-977-9Ew\" alt=\"\" class=\"img_ev3q\"></p>\n<ul>\n<li>Fixed a stacking order issue when mixing Table Modal columns and Modal components</li>\n<li>Fixed issue where custom auth modal background remained after auth flow complete</li>\n<li>Removed the 5 row min height on the app Header frame</li>\n<li>Fixed cursor-based pagination with scrollable Tables in some cases</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-93-7",
            "title": "Retool 2.93.7",
            "summary": "Fixes and improvements",
            "date_modified": "2022-06-10T23:27:27.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-93-3",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"resource-folders-and-permissions\">Resource folders and permissions<a href=\"https://docs.retool.com/changelog/cloud/2-93-3#resource-folders-and-permissions\" class=\"hash-link\" aria-label=\"Direct link to Resource folders and permissions\" title=\"Direct link to Resource folders and permissions\">​</a></h2>\n<p>We're rolling out support for resource folders and more granular resource permission options. Highlights include:</p>\n<ul>\n<li>Users can now have permission to create resources for a specific group without having edit access to every resource in the instance</li>\n<li>Resource folders provide a UI for organizing and managing access to resources</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/239590-NO-_ve-_vXJk77-9THAS77-977-9cxU077-9Vu-_ve-_ve-_vVjvv70_YhR177-9P--_ve-_vTMRTQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/239592-FDjvv73vv73vv73vv73vv71vJO-_ve-_ve-_ve-_vW9mJ--_ve-_vXVJ77-977-9eRjvv73vv70GQe-_ve-_vRkY\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-93-3#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added a setting to the Listbox component to allow/prevent deselecting</li>\n<li>Added functionality for admins to generate a reset password link for any user from the settings page</li>\n<li>Updated boolean settings in the inspector to note the original value if it was cast to <strong><em>true</em></strong>/<strong><em>false</em></strong></li>\n<li>Added HTTP Digest as an authentication method for REST and GraphQL APIs</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-93-3",
            "title": "Retool 2.93.3",
            "summary": "Resource folders and permissions",
            "date_modified": "2022-06-03T23:25:25.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-92-8",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-92-8#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added a new query type for modifying GCS file metadata</li>\n<li>Added the ability for admins to generate a \"reset password\" link from Settings &gt; Users</li>\n<li>Fixed custom styling for Modal components in embedded applications</li>\n<li>Fixed color strings in the Table component's mappers so that <strong><em>rgb(r, g, b, a)</em></strong> correctly respects the alpha channel</li>\n<li>Fixed an issue where some components would shift around when upgraded to new versions</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-92-8",
            "title": "Retool 2.92.8",
            "summary": "Fixes and improvements",
            "date_modified": "2022-05-27T13:54:33.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-92-3",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-92-3#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed an edge case where MSSql query errors were not surfaced to users</li>\n<li>Fixed various bugs and polish in the MongoDB query editor</li>\n<li>Added support for additional GCP BigQuery regions</li>\n<li>Added support for Snowflake form generation</li>\n<li>Added support for Elasticsearch, MongoDB, MSSql, Cassandra, Postgres, and Redis users to explicitly opt out of TLS certificate validation</li>\n<li>Fixed the Postgres connector so that connections are not held open unnecessarily</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-92-3",
            "title": "Retool 2.92.3",
            "summary": "Fixes and improvements",
            "date_modified": "2022-05-20T13:50:42.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-91-9",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-91-9#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added a range of valid values for the Rating component (between 0 and 20)</li>\n<li>Fixed the Table component's cell colors when using a theme</li>\n<li>Improved the Multiselect component to scroll to the last selected item, rather than the first</li>\n<li>Fixed the default item name of new options created for the Split Button and Dropdown Button components</li>\n<li>Fixed incorrect overlays when certain components were placed in nested Modal components</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-91-9",
            "title": "Retool 2.91.9",
            "summary": "Fixes and improvements",
            "date_modified": "2022-05-13T10:00:52.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-91-4",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"introducing-the-explorer\">Introducing the Explorer<a href=\"https://docs.retool.com/changelog/cloud/2-91-4#introducing-the-explorer\" class=\"hash-link\" aria-label=\"Direct link to Introducing the Explorer\" title=\"Direct link to Introducing the Explorer\">​</a></h2>\n<p>We’re rolling out a redesigned left panel that makes it easy to navigate to anything in your app from one place. See everything on the canvas in the <strong>Components</strong> section, or create and manage queries, transformers, and temporary state from the <strong>Code</strong> section. The Model Browser is still available via the <strong>State</strong> tab.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/221254-Ye-_vRvvv70377-9Lu-_ve-_vT9nUQ8_77-9RTQF77-9H1rvv714Ke-_vXnvv73vv73vv73vv71PbA\" alt=\"\" class=\"img_ev3q\"></p>\n<p>The Component Tree gives you a full view of everything in your application, including things that aren’t currently visible, such as components in non-active Views in a Tabbed Container. Clicking on the item will select it, and will handle cases such as making its containing views active, or making the hidden item visible!</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/221256-77-977-9MWUQeXrvv71577-977-977-977-9P3Us77-9GAsCSWPvv73vv73vv73vv71aJ14MRu-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>You can take quick actions on your components, such as renaming them inline, or right-clicking on them to bring up their full context menu.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/221257-DQvvv73vv71KEO-_ve-_ve-_vSlzHe-_ve-_vWE_77-9JWHvv70MMu-_ve-_vSnvv73vv73vv73vv71-77-9Nw\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We’ve also made the Left panel resizable to give editors greater control of their experience and visibility into the state of their application.</p>\n<p>Creating and managing <strong>Temporary state</strong> has moved into the unified Code section, along with the rest of your existing Resources. Editing a Temporary state value has moved into the Bottom panel, streamlining the editing experience.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/221260-Ze-_ve-_ve-_vVnvv73vv73vv70bR--_vUcWRu-_ve-_ve-_vQfvv717Ahvvv70u77-9RG8c77-977-977-9JQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>The Explorer is available to all of our cloud customers and will be rolling out to on-premise customers in the coming weeks! Let us know if you have any feedback in the <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-91-4#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added support for \"Auto\" height on the List View component</li>\n<li>Added support for \"Auto\" height on the Table component, with a max height of 20 rows</li>\n<li>Added a Slack query setting to override the channel or user the message will be sent to</li>\n<li>Added a Slack query setting to convert Markdown to Slack's non-standard \"mrkdwn\" format</li>\n<li>Improved the Table component such that columns now include a dropdown that lets you specify \"sort ascending\" or \"sort descending\" more easily</li>\n<li>Added support for arrow keys to navigate between sections of the Table component</li>\n<li>Improved the visual appearance of the Table component's header cells</li>\n<li>Improved the Google Sheets query editor such that it now parses columns with headers but no cell data, and columns with empty and non-empty cell data</li>\n<li>Added a default spreadsheet selection to the Google Sheets query editor</li>\n<li>Fixed component and query renaming to prevent using invalid identifiers that could cause the app to crash</li>\n<li>Fixed an edge case where custom document titles would sometimes not appear</li>\n<li>Improved Table keyboard navigation to make the behavior for scrollable tables match paginated tables</li>\n<li>Fixed the ordering of Table component's action button queries so that they're correctly triggered before row select event handlers</li>\n<li>Fixed an edge case where queries that reference transformers would not run on page load, even if specified</li>\n<li>(On-prem only) Fixed OAuth 1.0 implementation to generate token header even when no token secret is supplied</li>\n<li>(On-prem only) Improved the LDAP group mapping feature so that you can map a single google group to multiple retool groups (using the LDAP_ROLE_MAPPING env variable)</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-91-4",
            "title": "Retool 2.91.4",
            "summary": "Introducing the Explorer",
            "date_modified": "2022-05-06T18:22:08.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-90-3",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-90-3#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added support for \"Auto\" height on Modules</li>\n<li>Improved drag-and-drop so that components roughly maintain their sizes when dragged into Container components</li>\n<li>Fixed the user \"Download as CSV\" so that the last active date always appears</li>\n<li>Added <strong><em>validate</em></strong> and <strong><em>clearValidation</em></strong> APIs for the Form component</li>\n<li>Improved selection in the Table component such that selected rows will now be selected and deselected correctly while filtering</li>\n<li>Fixed the Date Time component so that the Date subfield correctly persists its value</li>\n<li>Fixed alignment in the query editor for REST API queries</li>\n<li>Added a new \"Reset state\" action to the component context menu</li>\n<li>Fixed an edge case the Select component would unexpectedly reset the input value when connected to a dynamic datasource</li>\n<li>Fixed an edge case where adding Chart components to empty List View components would cause the editor to crash</li>\n<li>Fixed an edge case where scrolling a Select component in a Modal component would sometimes scroll the application</li>\n<li>Fixed multiple component selection so that text isn't additionally selected</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-90-3",
            "title": "Retool 2.90.3",
            "summary": "Fixes and improvements",
            "date_modified": "2022-04-22T11:15:51.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-89-8",
            "content_html": "<ul>\n<li>Fixed the Modal component so that it cannot open behind existing modals</li>\n<li>Fixed the List View component so that the first row is vertically sized correctly</li>\n<li>Added a new option to the Table component \"Reset after successful save\" that allows you to control whether the Table data should reset after saving or adding new rows</li>\n<li>Fixed the height of the first line of text in the Text component</li>\n<li>Improved drag and drop behavior on Safari for the Image component</li>\n<li>Fixed <strong><em>theme</em></strong> in the hover model browser so that it shows changes correctly</li>\n<li>Added the ability to save a query even when it's running Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> 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.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-89-8",
            "title": "Retool 2.89.8",
            "summary": "- Fixed the Modal component so that it cannot open behind existing modals",
            "date_modified": "2022-04-15T00:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-89-3",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"more-customizable-select-components\">More customizable Select components<a href=\"https://docs.retool.com/changelog/cloud/2-89-3#more-customizable-select-components\" class=\"hash-link\" aria-label=\"Direct link to More customizable Select components\" title=\"Direct link to More customizable Select components\">​</a></h2>\n<p>Select, Listbox, and their Multiselect variants are getting a lot more customizable! Using the recently launched <a href=\"https://docs.retool.com/docs//apps/guides/option-lists\" target=\"_blank\" rel=\"noopener noreferrer\">option list editor</a>, you can easily assign a color, image, icon, and prefix text to each option. The layout will automatically adapt as you mix and match settings, and you can adjust the image size and shape in the Style Editor.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/215116-F--_vR4eSO-_ve-_ve-_ve-_ve-_ve-_ve-_vUDvv71Md30O77-9f15V77-977-9Ui1dHHZaO3Q\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"theme-and-style-editor-updates\">Theme and Style Editor updates<a href=\"https://docs.retool.com/changelog/cloud/2-89-3#theme-and-style-editor-updates\" class=\"hash-link\" aria-label=\"Direct link to Theme and Style Editor updates\" title=\"Direct link to Theme and Style Editor updates\">​</a></h2>\n<p>The color picker in the Style Editor now includes all of the swatches from your Theme, including two new optional colors: Secondary and Tertiary. We’ve also added a <code>theme</code> global, so you can reference theme colors directly in your code. For example, conditionally indicate success or failure with <code>{{ someCondition ? theme.success : theme.danger }}</code>.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/215117-77-9B20UCHPvv73vv700Se-_ve-_vTFcNnJX77-9Fu-_ve-_ve-_vTQg77-977-9Mu-_vQFO77-9Qg\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"automatic-colors\">Automatic colors<a href=\"https://docs.retool.com/changelog/cloud/2-89-3#automatic-colors\" class=\"hash-link\" aria-label=\"Direct link to Automatic colors\" title=\"Direct link to Automatic colors\">​</a></h2>\n<p>Last but not least, Themes have also been updated with a collection of Automatic colors that can be used by components like Tags, Select, Listbox, and Avatar. Colors from this collection are deterministically assigned based on text in the component. For example, the tag “Foo” will get the same color assignment no matter where it appears in your app.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/215119-KBnvv73vv73vv73vv71q77-9d--_ve-_vTRL77-9NO-_ve-_vWPvv73vv70677-9aw3vv73vv73vv70ZTe-_ve-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/215122-77-977-9a--_vXHvv73vv73vv73vv73vv71LAe-_vQjvv73vv70r77-9Je-_vU5Q77-9C3JL77-977-9E3Xvv73vv70\" alt=\"\" class=\"img_ev3q\"> Configure your automatic colors directly in your Theme Editor</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-89-3#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Improved query creation from event handlers so that it default creates the last selected query type</li>\n<li>Fixed the Table component's \"select all\" menu for checkbox selection</li>\n<li>Fixed an edge case where transformers would not run on page load</li>\n<li>Improved the experience of resizing components</li>\n<li>Fixed Select components that were incorrectly showing validation errors when <strong><em>required</em></strong> was set to <strong><em>true</em></strong></li>\n<li>Fixed the Table component's \"row select change\" event that was incorrectly firing twice</li>\n<li>Added a new setting so that Modal <strong><em>.open()</em></strong> and <strong><em>.close()</em></strong> can optionally trigger the Open and Close event handlers</li>\n<li>Added support for the Image component to have a smaller height in Fixed height mode</li>\n<li>Fixed component repositioning via keyboard</li>\n<li>Fixed keyboard navigation on the canvas such that arrow keys do not swap component positions</li>\n<li>Added a warning in edit mode when Table \"save changes\" events are not configured</li>\n<li>Fixed the Table component's \"Row select change\" events that were firing twice when rows were selected via keyboard arrow keys</li>\n<li>Fixed Range Slider and Toggle Button components so that they don't automatically trigger dependent queries with the \"Run query only when manually triggered\" setting on</li>\n<li>Consolidated the 'Dynamically show column' and 'Show column' fields into a single 'Show column' field for the Table component's column editors</li>\n<li>Fixed the Modal component so that it maintains visual height when switched to Fixed height</li>\n<li>Fixed the ability to show/hide a button to clear selection in the Table component</li>\n<li>Fixed \"text auto\" colors for modules being used in applications</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-89-3",
            "title": "Retool 2.89.3",
            "summary": "More customizable Select components",
            "date_modified": "2022-04-08T17:51:07.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-88-11",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"table-updates\">Table updates<a href=\"https://docs.retool.com/changelog/cloud/2-88-11#table-updates\" class=\"hash-link\" aria-label=\"Direct link to Table updates\" title=\"Direct link to Table updates\">​</a></h2>\n<p>Working with Table just got a lot more efficient thanks to major improvements to keyboard navigation and new UI for multi-row selection!</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"keyboard-navigation\">Keyboard navigation<a href=\"https://docs.retool.com/changelog/cloud/2-88-11#keyboard-navigation\" class=\"hash-link\" aria-label=\"Direct link to Keyboard navigation\" title=\"Direct link to Keyboard navigation\">​</a></h3>\n<p>We’ve vastly expanded keyboard navigation support in Table, enabling your end users to work much more quickly.</p>\n<p>Use the arrow keys to move between cells, with up/down now respecting the sort order (a long-standing bug). On editable cells, hit** **<strong><em>Enter</em></strong> to edit or just start typing to replace the content. Hit <strong><em>Enter</em></strong> again to commit your edits and move down a row, <strong><em>Tab</em></strong> to commit and move to the next column, or <strong><em>Esc</em></strong> to revert. You can also clear the focused cell with <strong><em>Delete</em></strong>/<strong><em>Backspace</em></strong> and copy the contents with <strong><em>CMD+C</em></strong> (**<em>CTRL+C</em>**).</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/211696-77-977-9Tu-_ve-_vW9uTEDvv71deu-_vTEnDyJQ77-9Zlzvv73vv73vv71PaO-_ve-_ve-_ve-_vVk5\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We also added a <strong>Double click to edit</strong> option in the Inspector section, on by default for upgraded Tables. Turn this off to return to the old single-click mode.</p>\n<p>Existing Table components can be upgraded in the Inspector, enabling keyboard navigation and converting all columns to the new column types announced a few weeks back. To access legacy column types, choose <strong>Downgrade component</strong> from the ••• menu.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"checkbox-selection\">Checkbox selection<a href=\"https://docs.retool.com/changelog/cloud/2-88-11#checkbox-selection\" class=\"hash-link\" aria-label=\"Direct link to Checkbox selection\" title=\"Direct link to Checkbox selection\">​</a></h3>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/211697-77-977-977-9TwMXcO-_ve-_vUsm77-977-9Qj3vv73vv70NI--_vVAt77-9QQULBVR2fe-_vQM\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We’ve also added an optional checkbox column for Tables with multi-row selection enabled. When the setting is turned on (<strong>Use checkbox column</strong> for selection under** Row Selection**), an additional column will appear on the left with checkboxes to control row selection. The header also includes a checkbox to instantly select every row, along with a menu to select all rows on the current page.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-88-11#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added a new \"Auto\" height option for Modules, allowing them to resize themselves to fit their contents</li>\n<li>Fixed Form components in Modules so that validation and submit buttons work properly</li>\n<li>Added support to control which menu items are highlighted in the Navigation component</li>\n<li>Fixed dynamic height components so that they don't shift the canvas layout when deleted</li>\n<li>Increased the size of handles on components to make resizing easier</li>\n<li>Improved drag-and-drop such that moving a component into a Container component will preserve its width as much as possible</li>\n<li>Fixed action buttons for the Table component so that they fire on first click in editor mode</li>\n<li>Fixed the editor canvas so it does not change it's size when dragging components</li>\n<li>Fixed component selection so that hidden containers stay visible when you're selecting any component inside of them</li>\n<li>Fixed the Slider component and the Range Slider component's outputs when the value is over 1,000</li>\n<li>Fixed layout issues with dragging around hidden components</li>\n<li>Fixed an edge case where style editor colors would occasionally display incorrectly</li>\n<li>Fixed an issue where you could not programmatically call <strong><em>selectRow</em></strong> in Table components with multiple selection enabled</li>\n<li>Added the ability to dynamically set whether a Table component supports selecting multiple rows</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-88-11",
            "title": "Retool 2.88.11",
            "summary": "Table updates",
            "date_modified": "2022-04-01T00:00:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-88-5",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"multiple-environments\"><strong>Multiple environments</strong><a href=\"https://docs.retool.com/changelog/cloud/2-88-5#multiple-environments\" class=\"hash-link\" aria-label=\"Direct link to multiple-environments\" title=\"Direct link to multiple-environments\">​</a></h2>\n<p>We’ve added support for multiple, user-defined environments, making it easy to build, run, and test applications to suit your development needs. Now, you're not constrained by only **Staging **and <strong>Production</strong>: admins can configure as many environments as they need under Organization Settings &gt; Environments:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/211678-77-977-9Su-_ve-_vTrvv73vv73vv70Z77-9X--_ve-_vQhw77-977-9G33vv73vv73vv73vv73vv73vv73vv70Hcu-_ve-_vWg\" alt=\"\" class=\"img_ev3q\"></p>\n<p>To set these up on the resource level, define configurations for all environments under <strong>Resources</strong>:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/211679-G--_vTbvv70N77-977-977-9Uu-_ve-_vQNP77-9B--_ve-_vQws77-977-977-977-977-9F29cMhNZ77-977-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>As you're editing and previewing applications, switch between environments to quickly test against different scenarios (e.g. switching between QA data and production data).</p>\n<p>This feature will be available on all plans, and is rolling out to customers in the next few weeks. If you have any feedback, let us know in the <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-88-5#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Fixed keyboard shortcuts that were occasionally not firing in editor mode</li>\n<li>Fixed an edge case where multiple options' tooltips could display at the same time for Select, Multiselect, Listbox, and Multiselect Listbox components</li>\n<li>Fixed resizing widgets when scrolling the canvas</li>\n<li>Added automatic code hinting to the options list editor for components like Select and Multiselect</li>\n<li>Added an option to order columns via the Table component's dynamic column settings</li>\n<li>Fixed git syncing with GitHub, which was failing due to an error about using RSA key with SHA-1</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-88-5",
            "title": "Retool 2.88.5",
            "summary": "Multiple environments",
            "date_modified": "2022-03-25T14:49:07.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-87-10",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"html-component\">HTML component<a href=\"https://docs.retool.com/changelog/cloud/2-87-10#html-component\" class=\"hash-link\" aria-label=\"Direct link to HTML component\" title=\"Direct link to HTML component\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/210129-FO-_vU0TMjdjHw_vv71aFe-_vXhpCnPvv70zTgZ777-9cO-_vRxjIO-_ve-_vW5q\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We have introduced the new HTML Component so that you can quickly add custom HTML and sandboxed CSS to your apps. This component is perfect for use cases that require a little bit of custom UI without the full scripting capabilities that Custom Component provides. The HTML component is live for all cloud customers, and will be rolling out to on-premise customers in the coming weeks.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"icon-component\">Icon component<a href=\"https://docs.retool.com/changelog/cloud/2-87-10#icon-component\" class=\"hash-link\" aria-label=\"Direct link to Icon component\" title=\"Direct link to Icon component\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/210130-Du-_ve-_vTnvv70QYu-_vQLvv73vv73vv71W77-977-9Qe-_vVsPE07vv71n77-9ei9q77-977-977-9Su-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We have also introduced a standalone Icon component with over 3,400 icons to choose from! It supports alignment options, alt text for accessibility, and optional click event handlers.</p>\n<p>Dynamically set the icon based on any state from your application to give helpful visual clues:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/210131-77-9Ju-_vVV8O--_vUfvv73vv73vv71r77-977-977-9Ee-_vREoMgLvv71D77-977-977-9aXjvv71p77-9FQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>The new Icon component is live for all cloud customers. We're working on rolling out our new icon library and this component to our on-premise customers in the coming weeks. If you have any questions or feedback, let us know in the <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>.</p>\n<p>Fixes and improvements</p>\n<ul>\n<li>Fixed layout issues with dragging hidden components</li>\n<li>Fixed an edge case where style editor colors would occasionally display incorrectly</li>\n<li>Fixed an issue where you could not programmatically call <strong><em>selectRow</em></strong> in Table components with multiple selection enabled</li>\n<li>Added a new \"Auto\" height option for Modules, allowing them to resize themselves to fit their contents</li>\n<li>Added the ability to dynamically set whether a Table component supports selecting multiple rows</li>\n<li>Fixed the Table component's \"sort change\" event handlers which were temporarily not firing</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-87-10",
            "title": "Retool 2.87.10",
            "summary": "HTML component",
            "date_modified": "2022-03-18T12:31:47.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-87-4",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-87-4#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed event handlers in the Split Button component and the Dropdown Button component when options are hidden</li>\n<li>Fixed the confirmation message when deleting queries, transformers, and temporary state</li>\n<li>Added markdown syntax highlighting to tooltip fields in the Inspector</li>\n<li>Fixed the Table component's \"Add new row\" action so that it no longer overwrites the first row in your Table when uploading an image</li>\n<li>Adjusted the amount the Container component grows when dragging in child components</li>\n<li>Fixed the _focus _JavaScript APIs for the Listbox and Multiselect Listbox components</li>\n<li>Improved the editing experience when working with the Container component</li>\n<li>Fixed app URL parameters when they reference components</li>\n<li>Added the ability in edit mode to select components when a Container component is in a loading state</li>\n<li>Fixed an edge case in the options list editor where items would be duplicated in Manual mode</li>\n<li>Fixed the Dropdown Button component so that it is square when it only has an icon and no text</li>\n<li>Fixed validation for icons configured via the options list editor in Mapped mode</li>\n<li>Fixed the Date Time component so that it is not editable in readonly mode</li>\n<li>Fixed the Form component so that it doesn't clear its fields if the submit event fails</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-87-4",
            "title": "Retool 2.87.4",
            "summary": "Fixes and improvements",
            "date_modified": "2022-03-11T11:00:56.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-87-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-87-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Changed Container's \"hoist loading state\" so that it only applies to the current view</li>\n<li>Added a new JS API, <em><strong>setCurrentViewIndex</strong></em>,** **to Containers to set the current view of the Container by index</li>\n<li>Added support for toggling <strong><em>showBody</em></strong> for Containers and Forms with fixed height</li>\n<li>Fixed app document titles so that they're dynamically evaluated</li>\n<li>Fixed syntax underlines in code inputs so that they are correctly positioned against the invalid tokens</li>\n<li>Improved automatic labels in the Form generator (ex: \"imageUrl\" -&gt; \"Image URL\")</li>\n<li>Renamed the Table component's \"Default selected row\" option to \"Default row\"</li>\n<li>Expanded the number of input types to choose from in the Form generator when the type can't be inferred</li>\n<li>Changed the Table component to now show the \"Save changes\" event handler first</li>\n<li>Fixed a rendering issue when clicking the Toggle Button component</li>\n<li>Fixed text centering when Listbox components wrap to multiple lines</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-87-0",
            "title": "Retool 2.87",
            "summary": "Fixes and improvements",
            "date_modified": "2022-03-04T12:01:10.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-86-6",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"20-new-column-types-for-the-table-component\">20+ new column types for the Table component<a href=\"https://docs.retool.com/changelog/cloud/2-86-6#20-new-column-types-for-the-table-component\" class=\"hash-link\" aria-label=\"Direct link to 20+ new column types for the Table component\" title=\"Direct link to 20+ new column types for the Table component\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/205783-KQZO77-9P--_vR_vv71QBO-_vRXvv73vv73vv71j77-9Hizvv73vv70N77-977-977-9OwZM77-9MwAQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We've brought the power and flexibility of our canvas components–like the new Rating component or the rebuilt Date Time component–to our Table with over 20 new column types to choose from.</p>\n<p><strong>Number, Currency, Percent, Rating</strong></p>\n<p>These column types provide new and expanded functionality to display numeric values in the Table component. Like the Number Input component on the canvas, you can control decimal places or support any 3-letter currency code. You can also display a star rating of your numeric values with the Rating type.</p>\n<p>**User Email **</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/207051-77-9K--_ve-_ve-_ve-_ve-_vRrvv70kLVlp77-9bW4sSO-_vRDvv73vv73vv70a77-9H--_vX0777-9MBg\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Display formatted emails using the new User Email column type. If the email address has an associated Retool account, you'll get better formatting out of the box: including the email, the user's profile picture (if applicable, otherwise their initials), and full name.</p>\n<p><strong>Multiline, Markdown, HTML</strong></p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/205788-Pn7vv71y77-9Iu-_ve-_ve-_vQTvv73vv73vv71VMO-_ve-_vXU477-977-9TUlh77-9be-_ve-_vQUPHO-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Display multiline text easily with the new Multiline column, or take advantage of full GitHub Flavored Markdown support in the Markdown column. Use the HTML column type to render HTML in your table cells.</p>\n<p><strong>Date, Time, Date Time</strong></p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/205789-Zlzvv71zJi7vv73vv71U77-9T--_vQBP77-977-9dVzvv73vv73vv73vv73vv71hU--_ve-_vS7vv70O77-9NA\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Display dates and times, and automatically handle time zone in the Table with \"manage time zone.\" \"Display\" time zone controls how time is displayed to your users, while \"Value\" time zone controls how it’s encoded, so you can do things like have the display time zone follow your user's local browser, but encode the time in UTC! The new Date, Time, and Date Time columns also support an expanded list of <a href=\"https://www.unicode.org/reports/tr35/tr35-dates.html?utm_source=beamer&amp;utm_medium=standalone&amp;utm_campaign=November-5-2021&amp;utm_content=textlink#Date_Field_Symbol_Table\" target=\"_blank\" rel=\"noopener noreferrer\">formatting strings</a>.</p>\n<p><strong>Image Link, Image Upload</strong></p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/207021-NgXvv71j77-977-977-9OHTvv73vv71977-977-977-9cl3vv701TO-_vTdwWu-_vU_vv73vv71B77-9eGI\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Display images from a URL or allow your users to upload an image directly with the Image Link and Image Upload column types.</p>\n<p><strong>Single Tag, Multiple Tag (coming soon!)</strong>\n---**** <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/207039-Yu-_vQLvv73vv73vv71ySirvv70877-9PmV9Cj_vv71C77-9bTjvv71PAxDvv73vv73vv71jVe-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>The new Single Tag column type replaces the existing Dropdown column type: when your user edits the cell like above, they'll see the familiar dropdown. You can configure the data source that populates the list of options in the dropdown: it defaults to the unique column values, but you can also choose a query, transformer, or just JS. When your user selects an option, it will be rendered as a tag! Tag colors can be automatic or configured with JS. In the next few weeks we'll be rolling out the Multiple Tag column type, so your users can similarly select multiple options from a Multiselect dropdown.</p>\n<p>Additionally, check out the new JSON column type (instead of Object), the Link type, and the rebuilt Modal and Button types.</p>\n<p><strong>Usability improvements</strong></p>\n<p>**** <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/207053-77-977-9TxHvv73vv71rFH3vv73vv73vv73vv73vv73vv715EH_vv70q77-9Uu-_vTJIWknvv73vv70M77-977-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We've added better overflow handling so that truncated cells will expand on hover, and multiline cells will also grow on hover to show more of their content. The editing experience also got a revamp: there's a new indicator for edited cells in the top right corner of the cell, and we've made it easier to directly edit Boolean and Rating cells.</p>\n<p><strong>What's next</strong></p>\n<p>In the next few weeks, we'll be rolling out keyboard navigation (e.g. use arrow keys to navigate between cells, type to start editing, etc.). We'll also be adding an upgrade path so that you can migrate your existing column types to the new ones, and get access to all of the expanded keyboard navigation!</p>\n<p>If you have any questions or feedback on these new column types, head to our <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and Improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-86-6#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>\n<p>Changed Date, Time, and Date Time column types for the Table component to be left aligned by default</p>\n</li>\n<li>\n<p>Fixed Containers so that their children components properly render in a List View</p>\n</li>\n<li>\n<p>Fixed the Multiselect component's read only setting</p>\n</li>\n<li>\n<p>Added support for custom root certificates for the Postgres resource</p>\n</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-86-6",
            "title": "Retool 2.86.6",
            "summary": "20+ new column types for the Table component",
            "date_modified": "2022-02-25T12:35:56.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-86-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"dropdown-button-component\">Dropdown button component<a href=\"https://docs.retool.com/changelog/cloud/2-86-0#dropdown-button-component\" class=\"hash-link\" aria-label=\"Direct link to Dropdown button component\" title=\"Direct link to Dropdown button component\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/204108-77-977-977-9Ce-_ve-_ve-_vUDvv73vv73vv73vv73vv71I77-9QCMg77-977-9SD_vv73vv704ae-_vSTvv71R77-977-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>This week, we've introduced one of our most commonly requested components, the Dropdown Button, so that you can easily display a list of actions for your users to choose from. Our new options list editor allows you to configure a short list of actions for your Dropdown Button in Manual mode, or a dynamically generated list (i.e. from a query or transformer) in Mapped mode.</p>\n<p>In Manual mode, set additional properties like label and caption, as well as event handlers for each option. In the below example, when \"Review\" is clicked both the <strong><em>reviewOffer</em></strong>_ <em>query</em> <em>and the **_notifyReview</em>** query will be triggered:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/204111-77-977-9XUzvv73vv70QAB8xeO-_ve-_vWzvv73vv73vv73vv73vv73vv71CUu-_ve-_ve-_ve-_ve-_ve-_vXfvv73vv73vv70\" alt=\"\" class=\"img_ev3q\"></p>\n<p>In Mapped mode, you can set all of your Dropdown Button's properties using the special keyword <strong><em>item</em></strong>_ <em>or index **_i</em> **to reference each element in the dynamic list of options. When you're configuring event handlers, <strong><em>item</em></strong>_ _and **<em>i</em>** will also be in scope, so you can do things like run a specific query when a given option is selected:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/204121-77-977-977-9BjQa77-9XnFacGHvv70sah48de-_vXo_O--_vQHvv70177-977-9D--_ve-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"split-button\"><strong>Split button</strong><a href=\"https://docs.retool.com/changelog/cloud/2-86-0#split-button\" class=\"hash-link\" aria-label=\"Direct link to split-button\" title=\"Direct link to split-button\">​</a></h3>\n<p>We also introduced another component similar to Dropdown Button–Split Button! It allows your users to see the primary action first, but drop into additional actions if needed. Set it up just like you would the Dropdown Button, with all the same Manual/Mapped mode functionality, including event handlers:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/204122-cu-_vTzvv719aAXvv70M77-9XO-_vXfvv73vv70XB--_ve-_ve-_ve-_vWrvv73vv73vv73vv71Ree-_ve-_ve-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>As we continue to add to our component library, we want to hear from you–share any feedback on these new components, or other components you'd like to see in our <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>. If you have more questions about how these components work, check out the component directory for details about <a href=\"https://retool.com/components/dropdown-button\" target=\"_blank\" rel=\"noopener noreferrer\">Dropdown Button</a> and <a href=\"https://retool.com/components/split-button\" target=\"_blank\" rel=\"noopener noreferrer\">Split Button</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-86-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added <strong><em>clearValue</em></strong> and <strong><em>setValue</em></strong> JS API methods to the Cascader component</li>\n<li>Added a keyboard shortcut– <strong><em>CMD + /</em></strong> (<strong><em>CTRL + /</em></strong>)–to toggle all components visible. It will also force \"Maintain space when hidden\" components to be fully visible.</li>\n<li>Fixed the Confetti event handler to not block component state changes (e.g. Form <strong><em>submitting</em></strong>)</li>\n<li>Added more granular control for the styles of the Steps component</li>\n<li>Improved scroll behavior of the Tabs and Steps components when their widths are small</li>\n<li>Fixed Table rows so that when scrolling, they will now resize properly between compact and standard height settings</li>\n<li>Fixed nested Form components so that they submit correctly</li>\n<li>Fixed Forms as they were incorrectly getting stuck in a <strong><em>submitting</em></strong> state after cancelling a query</li>\n<li>Renamed the Toggle List component to Feature Flags since it's configured for feature flags by default</li>\n<li>Fixed Form fields from validating before a user has provided any input</li>\n<li>Fixed vertical centering of fallback text in Avatar and Avatar Group components</li>\n<li>Fixed an erroneous error message when dragging a JSON Editor component out of a Container</li>\n<li>Fixed disabled Radio and Segmented Control options so that they no longer appear selected</li>\n<li>Improved error messages for code inputs where the value is optional</li>\n<li>Fixed Button and Toggle Button components so that they can't overflow the component bounding box (blue box in editor mode)</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-86-0",
            "title": "Retool 2.86",
            "summary": "Dropdown button component",
            "date_modified": "2022-02-18T17:09:11.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-85-12",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"containers\">Containers<a href=\"https://docs.retool.com/changelog/cloud/2-85-12#containers\" class=\"hash-link\" aria-label=\"Direct link to Containers\" title=\"Direct link to Containers\">​</a></h2>\n<p>This week we’re highlighting some major improvements to containers including support for multiple views, collapsible containers, and new presets for multistep flows and tabs.</p>\n<p><strong>Multiview</strong></p>\n<p>Multiview makes it easy to swap between different groups of components within a single Container. Add any number of views via the Inspector, each with a grid to drag components onto. The current view can be controlled with event handlers, the <strong><em>setView</em></strong> API, or conditional logic in the default view settings.</p>\n<p>You can enable multiview on any Container, but we’re also launching presets for common multiview patterns:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/202061-77-9Ey7vv73vv73vv73vv73vv71Q77-9KALvv73vv71hMzDvv73vv71_77-9Ru-_ve-_vSI-77-9Ye-_ve-_ve-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p><strong>Tabbed Container</strong></p>\n<p>The redesigned Tabbed Container comes pre-configured with a Tabs component linked to a multiview Container. Tabs can now be moved and customized independently, and individual tabs can be disabled or hidden.****</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/202068-Me-_vUlmGxrvv71a77-977-9Ju-_vRpFe--_vRw177-977-977-9B--_ve-_vTBj77-977-9ehEU77-9\" alt=\"\" class=\"img_ev3q\">\n---<strong>Stepped Container</strong></p>\n<p>The brand new Stepped Container provides a quick and easy way to build beautiful multi-step flows. Like Tabbed, it comes pre-configured with the new Steps component linked to a multiview Container, along with next and previous Buttons.****</p>\n<p>**** <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/202066-YWZtWDBoI--_vQvvv73vv71_HO-_ve-_ve-_ve-_vQR0CCzvv73vv73vv73vv71Q77-9K008d--_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"collapsible-container\">Collapsible Container<a href=\"https://docs.retool.com/changelog/cloud/2-85-12#collapsible-container\" class=\"hash-link\" aria-label=\"Direct link to Collapsible Container\" title=\"Direct link to Collapsible Container\">​</a></h3>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/202073-77-977-9V0Pvv71SB--_vQTvv71e77-977-977-977-977-9NBZ3U--_vUZ3ehFY77-977-9G3Ju77-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Container and Form now include a “Show body” setting, along with new APIs to show/hide the header, body, and footer. Get started quickly with the new Collapsible Container, which includes a Toggle Button wired up to expand and collapse the body of its Container.</p>\n<p>To learn more about all of these new features, check out our <a href=\"https://retool.com/components/container\" target=\"_blank\" rel=\"noopener noreferrer\">Containers docs</a>. And if you have any feedback, we’d love to hear from you in our <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-85-12#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Improved styling of disabled components to improve readability</li>\n<li>Fixed keyboard navigation for disabled components</li>\n<li>Added more information, like the type of the value, in the SQL editor when SQL is evaluated</li>\n<li>Fixed File Dropzone, File Button, and File Input in List Views</li>\n<li>Added an option to Table components to \"Disable user selection.\" If enabled, selection can only happen via the editor inspector or JS APIs. Click and arrow keys are ignored.</li>\n<li>Improved List View rendering performance</li>\n<li>Fixed the <strong><em>columnMappers</em></strong> property on the Table component to update when data changes</li>\n<li>Added the ability to hover over the extra indicator (e.g. \"+10\") for the Tags component to see the other tags</li>\n<li>(enterprise only) Fixed the keyboard shortcut<strong>_ CMD+SHIFT+P_</strong> (<strong><em>CTRL+ SHIFT + P</em></strong>) so that it doesn't drop you into a non-editable protected branch</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-85-12",
            "title": "Retool 2.85.12",
            "summary": "Containers",
            "date_modified": "2022-02-11T16:32:33.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-85-2",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"options-list-editor\">Options list editor<a href=\"https://docs.retool.com/changelog/cloud/2-85-2#options-list-editor\" class=\"hash-link\" aria-label=\"Direct link to Options list editor\" title=\"Direct link to Options list editor\">​</a></h2>\n<p>Many components present a list of options, like the dropdown in a Select or the radio buttons in a Radio Group; we’ve made it much easier to build this kind of UI with our new options list editor. We’ve also added new settings for those options, like captions and tooltips.</p>\n<p>These types of components now have a new Options section, with two modes: Manual and Mapped. If you have a short list of options (e.g. Cherry, Apple, Orange, Kiwi), quickly configure your component in Manual mode by adding them to the reorderable list:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/202776-77-9Mu-_vR55RA3vv70x77-977-977-9GHUQ77-977-977-9NlHvv73vv71hZk7vv73vv71-Y2nvv73vv70\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Sometimes you’ll need to generate a list of options from a dynamic data source like a query or transformer, or from a large array or JS expression. Switch into Mapped mode to quickly set up these dynamic options lists:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/202793-cu-_vXDvv70zLu-_vVNO77-977-9SO-_vRNz77-9NHPvv71H77-9Kgkn77-977-977-977-9Me-_ve-_vWU\" alt=\"\" class=\"img_ev3q\"></p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-settings\">New settings<a href=\"https://docs.retool.com/changelog/cloud/2-85-2#new-settings\" class=\"hash-link\" aria-label=\"Direct link to New settings\" title=\"Direct link to New settings\">​</a></h3>\n<p>In both Manual and Mapped mode, you can configure settings (caption, tooltip, hidden, disabled) for each item in your list of options.</p>\n<p>In Manual mode, just click on an option and enter values for each setting (e.g. “caption ABC”, <code>{{ checkbox1.value }}</code>):</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/202780-Ne-_ve-_ve-_vTbvv71cBe-_vSwmZj8d77-9Zu-_vSjvv70HfGXvv73vv71U77-977-9G1_vv700eQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Mapped mode works similar to the <strong><em>.map</em></strong> method on an array. You have access to a special keyword, <strong><em>item</em></strong>, which will allow you to map each item in your data source to these settings you’ve configured:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/202786-77-9be-_vRdXSe-_vU0X77-9W--_vUB7Yybvv73vv73vv73vv70G77-9Ae-_ve-_vTdzORAFRu-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>The new options list editor is much more powerful–dig into <a href=\"https://docs.retool.com/docs//apps/guides/option-lists\" target=\"_blank\" rel=\"noopener noreferrer\">our docs</a> to learn more. We’re also working on supporting more settings, like images and colors for options in a Select dropdown. Let us know in our <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a> if you have any feedback or ideas for other settings!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"theme-editor\">Theme editor<a href=\"https://docs.retool.com/changelog/cloud/2-85-2#theme-editor\" class=\"hash-link\" aria-label=\"Direct link to Theme editor\" title=\"Direct link to Theme editor\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/202797-S--_vQHvv70U77-977-977-977-9bO-_vRUM77-9Ou-_ve-_vQ7vv73vv73vv70p77-9C--_ve-_vWXvv70G77-977-9RQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We rebuilt our theme editor, which allows you to create themes that control the look and feel of applications across your organization. Under your organization settings, you’ll find Themes, where you can create new themes and modify existing ones.</p>\n<p>The new editor includes improved descriptions of all the style properties and a revamped, live-updating preview–so you can see how your color selections will impact your apps 🎨. We also introduced several new settings, like status colors. You can also now configure text colors: components will automatically use the most readable option of the light and dark colors you choose!</p>\n<p>Themes are available on Business or Enterprise plans. We’ll soon be adding even more properties–so be sure to drop us any feedback in the <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-85-2#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Simplified the “query success” setting in the query editor</li>\n<li>Improved autocomplete for Form and Text components</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-85-2",
            "title": "Retool 2.85.2",
            "summary": "Options list editor",
            "date_modified": "2022-02-04T16:25:59.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-84-4",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-component-directory\">New Component Directory<a href=\"https://docs.retool.com/changelog/cloud/2-84-4#new-component-directory\" class=\"hash-link\" aria-label=\"Direct link to New Component Directory\" title=\"Direct link to New Component Directory\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/198595-77-9c--_ve-_vVkEDVpy77-977-9eWTvv73vv73vv70877-977-977-977-9WE7vv73vv73vv73vv73vv70Y77-977-977-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Our new component directory (<a href=\"https://retool.com/components\" target=\"_blank\" rel=\"noopener noreferrer\">retool.com/components</a>) allows you to quickly browse or search through all of our components, see examples of different configurations in action, and dive into expanded API docs for component properties, methods, and events.</p>\n<p>Each component has multiple real-world examples to explore different functionality, from labels and captions to validation and styles. Each example also includes the corresponding settings and values if you want to try them out in your own app:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/198596-77-9fe-_ve-_ve-_ve-_ve-_ve-_ve-_ve-_ve-_vW1Scu-_ve-_ve-_ve-_ve-_vRfvv73vv73vv71c77-9eu-_ve-_vVjvv70F77-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>As you check out the new component docs, we'd love to hear any feedback from you in our <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-84-4#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added a default value option for the Toggle Link component</li>\n<li>Improved the ordering of the Table component inspector fields</li>\n<li>Improved the responsiveness of code editors</li>\n<li>Fixed the grid visibility toggle–<strong><em>⌘+Shift+G</em></strong> (<strong><em>Ctrl +Shift+G</em></strong>)–so that it persists across sessions</li>\n<li>Fixed a layout issue for containers in edit mode when using Safari</li>\n<li>Improved the resources dropdown in the query editor so that you can now also search by resource type</li>\n<li>Added the \"not equal\" and \"not in\" operators to the Firestore query editor</li>\n<li>Added a new keyword <strong><em>currentColumn</em></strong> that editors can use when building with the Table component</li>\n<li>Fixed the ability to reorder rows for the Key Value component</li>\n<li>Added the ability to configure whether Markdown links open in a new tab via the app settings menu</li>\n<li>Fixed Snowflake queries using OAuth so that they properly prompt for authentication</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-84-4",
            "title": "Retool 2.84.4",
            "summary": "New Component Directory",
            "date_modified": "2022-01-28T15:42:56.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-83-15",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-83-15#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Fixed code evaluation to properly handle false values with newlines</li>\n<li>Fixed the styling for empty Table components</li>\n<li>Improved the dropdown for selecting column types in a Table component–popular types now appear first</li>\n<li>Improved error messages when a resource type isn't supported in the form generator</li>\n<li>Improved error messages for the Auth Login integration component</li>\n<li>Fixed an issue where we were showing a hardcoded query timeout in edit mode, instead of <strong><em>DBCONNECTOR_QUERY_TIMEOUT_MS</em></strong></li>\n<li>[on-prem only] Fixed OAuth auto-refresh to work with fields using <strong>_RETOOL_EXPOSED__</strong> variables</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-83-15",
            "title": "Retool 2.83.15",
            "summary": "Fixes and improvements",
            "date_modified": "2022-01-21T20:49:22.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-83-5",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-table-style-options\">New Table style options<a href=\"https://docs.retool.com/changelog/cloud/2-83-5#new-table-style-options\" class=\"hash-link\" aria-label=\"Direct link to New Table style options\" title=\"Direct link to New Table style options\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/195579-VEJEDz3vv71qee-_ve-_vTc6I--_ve-_ve-_ve-_vRVnDO-_ve-_ve-_vQMqJu-_vUZZ77-977-9CQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We now have 15 style options so that you can fully customize the look of your table, and we’ve also refreshed the default styles. In the “Style” section of the Table component inspector, there’s plenty more you can do now, like:</p>\n<ul>\n<li><strong>Configure row color dynamically</strong> with any JavaScript condition (e.g. <code>{{ currentRow.sales &gt; 100 ? ‘green’ : ‘red’ }}</code>), rather than setting background colors on each column.</li>\n<li><strong>Control column border visibility</strong>–we’ve updated default styles to remove column borders and reduce visual noise, but their visibility is configurable. (For backwards compatibility, Table components created before this change will have borders on by default.)</li>\n<li><strong>Quickly set up zebra striping</strong> by choosing a color for the “Alternate row background” style.</li>\n<li><strong>Control header, toolbar, and cell styles</strong> with more fine-grained options for text, background, and accent colors. We’ve also revamped our** column sorting and edited cell indicators** and made their styling configurable.</li>\n</ul>\n<p>As you style your tables, let us know if you have any feedback or feature requests in our <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-83-5#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added support for upgrading deprecated Multiselect, Select, and Text components to their new version</li>\n<li>Added support for label captions on all input components</li>\n<li>Added autocomplete for user-defined properties with underscores (e.g. <code>{{ currentRow._id }}</code>)</li>\n<li>Fixed dragging and dropping components above Table components</li>\n<li>Added support for specs served from <strong><em>http</em></strong> urls to the OpenAPI integration</li>\n<li>Fixed the debounce/throttle dropdown in the event handler menu</li>\n<li>Fixed the alignment of the Table component's column visibility icons in Safari</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-83-5",
            "title": "Retool 2.83.5",
            "summary": "New Table style options",
            "date_modified": "2022-01-14T15:40:12.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-82-32",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-table-columns-inspector\">New Table columns inspector<a href=\"https://docs.retool.com/changelog/cloud/2-82-32#new-table-columns-inspector\" class=\"hash-link\" aria-label=\"Direct link to New Table columns inspector\" title=\"Direct link to New Table columns inspector\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/193995-77-9Ue-_ve-_ve-_vRo477-9ckzvv73vv71SOu-_vUtC77-977-977-977-977-9TlXvv70PF--_vXpmZFw\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We’re making a ton of improvements to our Table component! First up, the recent changes to our columns inspector:</p>\n<ul>\n<li>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.</li>\n<li>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.</li>\n<li>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.</li>\n</ul>\n<p>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 <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-82-32#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Introduced accent color styling for Table component cells</li>\n<li>Introduced vertical column borders as a setting in the Styles section for the Table component, and removed them by default on new Tables</li>\n<li>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.</li>\n<li>Added new style editor options to the Button Group component</li>\n<li>Improved performance of the editor when interacting with input components</li>\n<li>Fixed autocomplete in event handler code editors</li>\n<li>Fixed Select and Listbox component deselection when items are marked as <strong><em>required</em></strong></li>\n<li>Fixed the <strong><em>setValue</em></strong> API for Select components with the \"Allow custom value\" option enabled</li>\n<li>Fixed the Date Time component to correctly display times that fall on DST boundaries</li>\n<li>Fixed documentation in the model browser (left-hand panel)</li>\n<li>Improved performance when deleting containers with many children</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-82-32",
            "title": "Retool 2.82.32",
            "summary": "New Table columns inspector",
            "date_modified": "2022-01-07T02:08:18.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/december-3-2021",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"dynamic-icons\">Dynamic Icons<a href=\"https://docs.retool.com/changelog/december-3-2021#dynamic-icons\" class=\"hash-link\" aria-label=\"Direct link to Dynamic Icons\" title=\"Direct link to Dynamic Icons\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/187258-Oe-_ve-_vR7vv73vv71Mclkb77-977-9Wu-_ve-_vSpPNTXvv73vv71k77-9Hu-_ve-_ve-_vRY377-977-977-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>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 <strong><em>/icon</em></strong> to pop up the new icon picker to choose from over 3,000 searchable icons with support for bold and outline styles.</p>\n<p>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 <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/december-3-2021#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed the \"allow overflow\" option on Table component columns</li>\n<li>Improved overflow for Table component cells with large contents</li>\n<li>Fixed the <strong><em>focus</em></strong> API for Date and Time components</li>\n<li>Fixed the Tags component to show more text when wrapping is turned off</li>\n<li>Improved the Tags component so that it can fit on a single line</li>\n<li>Fixed default labels for Select components</li>\n<li>Fixed the default workspace for permission groups</li>\n<li>Fixed a rendering issue on focus for Listbox and Multiselect Listbox components</li>\n<li>Fixed the authentication dropdown for REST resources in the query editor</li>\n<li>Added support for tel:, sms:, and webcal:// links in markdown</li>\n<li>Added support for forwarding cookies for HTTP requests inside custom authentication</li>\n<li>Fixed SCIM group deletion so that it will not affect default groups–\"admin,\" \"editor,\" \"viewer,\" \"All Users\"(on-premise only)</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/december-3-2021",
            "title": "Retool Cloud updates for 3 December 2021",
            "summary": "Dynamic Icons",
            "date_modified": "2021-12-03T18:14:24.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-81-5",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"container-and-form\">Container and Form<a href=\"https://docs.retool.com/changelog/cloud/2-81-5#container-and-form\" class=\"hash-link\" aria-label=\"Direct link to Container and Form\" title=\"Direct link to Container and Form\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/184012-77-9GUVmI2Pvv73vv73vv70H77-977-977-977-977-977-9B2Dvv70sOT5T77-977-9VhTvv73vv706HwA\" alt=\"\" class=\"img_ev3q\"></p>\n<p>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!</p>\n<p><strong>Layout</strong></p>\n<p>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.</p>\n<p><strong>Styling</strong></p>\n<p>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.</p>\n<p><strong>Data handling</strong></p>\n<p>Forms now support a new property called <strong><em>Initial data</em></strong>. 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 <strong><em>Initial data</em></strong> property to <code>{{ table1.selectedRow.data }}</code>. Form inputs also have a data key which you can use to match the keys in the <strong><em>Initial data</em></strong> object. If you use our Form generator, those inputs will be linked automatically (you can also use <strong><em>ctrl + click</em></strong> to generate/regenerate a Form).</p>\n<p>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 <code>{{ form1.data }}</code> to properly persist the changeset from your form!</p>\n<p><strong>Expanded API</strong></p>\n<p>Lastly, we expanded Form's API to give you more programmatic control over your forms! In addition to supporting <strong><em>submit</em></strong> and <strong><em>clear</em></strong> , we’ve added <strong><em>reset</em></strong> and <strong><em>setData</em></strong>.</p>\n<p>If you have any questions or feedback on form building in Retool, head to our <a href=\"https://community.retool.com/c/feature-requests/7\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>. These new features are rolling out over the next week.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-81-5#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added a <strong><em>setValue</em></strong> API for Date Range components</li>\n<li>Added <strong><em>selectedIndex</em></strong> and <strong><em>selectedIndexes</em></strong> properties to Select, Multiselect, Listbox, Multiselect Listbox, Radio Group, Segmented Control, and Switch Group components</li>\n<li>Added case sensitive and fixed string searching to Select, Multiselect, Listbox, and Multiselect Listbox components</li>\n<li>Fixed modal column types in Tables to scroll if their content overflows</li>\n<li>Fixed an evaluation issue with <strong><em>self</em></strong> when controlling another component</li>\n<li>Fixed the bounding box for Container components with children</li>\n<li>Improved performance when editing a Table component</li>\n<li>Fixed an evaluation issue with mapped columns in Table components</li>\n<li>Fixed the context menu so it closes when you click outside of it</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-81-5",
            "title": "Retool 2.81.5",
            "summary": "Container and Form",
            "date_modified": "2021-11-19T20:42:13.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-80-14",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"generating-forms\"><strong>Generating forms</strong><a href=\"https://docs.retool.com/changelog/cloud/2-80-14#generating-forms\" class=\"hash-link\" aria-label=\"Direct link to generating-forms\" title=\"Direct link to generating-forms\">​</a></h2>\n<p>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!****</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/183082-77-9Vu-_ve-_vUXvv714ByLvv70h77-9XFzvv71977-977-9TO-_vRFB77-9RCZwbu-_ve-_ve-_ve-_vXg\" alt=\"\" class=\"img_ev3q\"></p>\n<p>The form generator flow also has a few new improvements, including:</p>\n<ul>\n<li><strong>Smarter component defaults:</strong> given your column type, we’ll select a default type from our new input components. For example, a<strong>_ varchar(n)_</strong> column will default to a Text Input but can be changed to an Editable Text, Text Area, or Password. An <strong><em>integer</em></strong> column will default to a Number Input but can be changed to an Editable Number, Percent, Rating, Currency, or Slider.</li>\n<li><strong>Automatic labels:</strong> We automatically generate labels for you (e.g. a column named <strong><em>created_at</em></strong> 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.</li>\n</ul>\n<p>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 <a href=\"https://docs.retool.com/docs/choosing-a-form-component\" target=\"_blank\" rel=\"noopener noreferrer\">the docs</a>. 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 <a href=\"https://community.retool.com/c/feature-requests/7\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-80-14#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added the ability to upgrade deprecated Date Time components</li>\n<li>Added a transition to the Date and Date Time calendar</li>\n<li>Fixed DST handling for Date Time components with the time zone value set to \"Local time\"</li>\n<li>Fixed <strong><em>formattedValue</em></strong> in Date Time when no <strong><em>timeFormat</em></strong> is specified</li>\n<li>Improved placeholders for configuring URL parameters</li>\n<li>Added support for arrays as parameters for Snowflake queries</li>\n<li>Improved performance of Snowflake queries</li>\n<li>Fixed query loading indicators in presentation mode</li>\n<li>Added warning logging when expected SAML fields are unset (on-prem only)</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-80-14",
            "title": "Retool 2.80.14",
            "summary": "Generating forms",
            "date_modified": "2021-11-12T20:45:16.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-80-6",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"date-time-date-time-and-date-range\">Date, Time, Date Time, and Date Range<a href=\"https://docs.retool.com/changelog/cloud/2-80-6#date-time-date-time-and-date-range\" class=\"hash-link\" aria-label=\"Direct link to Date, Time, Date Time, and Date Range\" title=\"Direct link to Date, Time, Date Time, and Date Range\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/180778-77-9DWjvv73vv70A77-977-9YALvv73vv70C77-9Hu-_ve-_vVrvv73vv70RM2NfQw5jEO-_ve-_ve-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"> Date Range component</p>\n<p>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:</p>\n<ul>\n<li><strong>Automatic time zone handling:</strong> We have a new option called “manage time zone” that allows you to set both a <strong>display time zone</strong> 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!</li>\n<li><strong>Expanded formatting options:</strong> both dates and times now support all <a href=\"https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\" target=\"_blank\" rel=\"noopener noreferrer\">format strings</a> 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).</li>\n<li><strong>Validation:</strong> 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!</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/180779-Gu-_vVLvv73vv71tXz1s77-977-977-977-9eCnvv73vv70IUe-_vVvvv70z77-977-9cj7vv73vv71P77-9QQ\" alt=\"\" class=\"img_ev3q\"> Display and value time zone in PDT</p>\n<p>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!</p>\n<p>Drop us a note in the <a href=\"https://community.retool.com/c/feature-requests/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a> 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!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-80-6#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed the Image component so it doesn't force authentication in public applications</li>\n<li>Added query loading indicators in presentation mode</li>\n<li>Added a transition to the Date and Date Time components’ calendars</li>\n<li>Added support for a <strong><em>focus</em></strong> state for the Editable Text and Editable Number components</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-80-6",
            "title": "Retool 2.80.6",
            "summary": "Date, Time, Date Time, and Date Range",
            "date_modified": "2021-11-05T20:52:57.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-80-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"-self-\"><code>{{ self }}</code><a href=\"https://docs.retool.com/changelog/cloud/2-80-0#-self-\" class=\"hash-link\" aria-label=\"Direct link to -self-\" title=\"Direct link to -self-\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/179428-77-9HGDvv71_C--_ve-_ve-_vWfvv73vv71X77-977-977-977-977-9NmFC77-9Z0Q6a--_ve-_vTfvv71S77-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Components can now reference themselves in the inspector using the <code>{{ self }}</code> keyword! Access any component properties using <code>{{ self }}</code>, like the component’s value/values, label/labels, settings like disabled, hidden, readOnly, and validation properties such as maxCount.</p>\n<p>For example, in a component like Select or Multiselect, you can set the labels to dynamically update to the capitalized values with <code>{{ self.values.map(_.startCase) }}</code> –this will actually be the new default going forward! It also makes dynamic styling much more powerful–for example, you can style the Statistic component’s trend green when <code>{{ self.secondaryValue &gt; 0 }}</code> and red otherwise to indicate upward or downward trends.</p>\n<p><code>{{ self }}</code> is available for all components, and works in their event handlers, too! We’ve updated a bunch of our components to use <code>{{ self }}</code> for better defaults–but we’re excited to see what you configure with it. Drop us a note in the <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a> with any examples, feature requests, or feedback! This feature is available to all cloud customers, and will be included in the next on-premise release.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-80-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed unexpected layout shifts in some apps while dragging/resizing</li>\n<li>Fixed form generation to set labels correctly for checkboxes</li>\n<li>Improved performance when querying the audit log</li>\n<li>Added the ability to enable/disable release management across an organization from Advanced Settings</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-80-0",
            "title": "Retool 2.80",
            "summary": "{{ self }}",
            "date_modified": "2021-10-29T23:16:54.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-79-5",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"statistic\"><strong>Statistic</strong><a href=\"https://docs.retool.com/changelog/cloud/2-79-5#statistic\" class=\"hash-link\" aria-label=\"Direct link to statistic\" title=\"Direct link to statistic\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/177766-77-9Fu-_ve-_ve-_vXZt77-977-9De-_vRo_77-9X--_vQDvv73vv73vv73vv70W77-9ce-_ve-_vWER77-9HO-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We overhauled our Statistic component! Previously, you could only set a single primary value, and we supported limited formatting options. Now, you can also set a secondary value to compare metrics over different time periods (e.g., to show monthly revenue growth). Additionally, the primary and secondary values have the same powerful customization options as our Number Input component, including currency and percent formatting, decimal place control, and more. The new Statistic component supports more features, including the ability to dynamically control positive and negative trend color, set a caption text, control alignment, and more.</p>\n<p>Like all of our new components, the Statistic component also has expanded style editor support. You can automatically migrate your old Statistic components to this new version, too! As always, post in our community forum if you have feedback on this new component or feature requests.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"icon-library\">Icon library<a href=\"https://docs.retool.com/changelog/cloud/2-79-5#icon-library\" class=\"hash-link\" aria-label=\"Direct link to Icon library\" title=\"Direct link to Icon library\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/177765-QyBODu-_vRrvv71WCXc477-977-977-977-9Cnzvv73vv71777-9fwfvv73vv70HT--_ve-_vU3vv73vv70\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We now offer over 3,000 searchable icons with support for bold and outline styles. You’ll have access to this library anywhere where you can set an icon in Retool. To use any of our old icons, choose the deprecated icon set. These are rolling out to editors over the next week.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-79-5#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added documentation for the majority of component properties, visible in autocomplete and model browser tooltips</li>\n<li>Improved app performance on page load</li>\n<li>Fixed Google Datastore ordering options</li>\n<li>Fixed public apps in Incognito mode for Chrome</li>\n<li>Improved SQL auto-formatting</li>\n<li>Fixed \"body query type\" for REST APIs with custom auth</li>\n<li>Fixed the layout for Image components in Firefox</li>\n<li>Added support for upgrading <strong><em>caret</em></strong> type Toggle components to the new Toggle Link component</li>\n<li>Fixed unexpected layout shifts in apps with tall dynamic height Text components</li>\n<li>Fixed SQL schema column types to display as <strong><em>timestamp</em></strong> or <strong><em>timestamptz</em></strong> instead of <strong><em>timezone</em></strong></li>\n<li>Added support for an optional label on the File Dropzone component</li>\n<li>Added an option to configure text size on the Divider component</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-79-5",
            "title": "Retool 2.79.5",
            "summary": "Statistic",
            "date_modified": "2021-10-22T04:41:09.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-79-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"create-and-edit-resources-from-your-app\">Create and edit resources from your app<a href=\"https://docs.retool.com/changelog/cloud/2-79-0#create-and-edit-resources-from-your-app\" class=\"hash-link\" aria-label=\"Direct link to Create and edit resources from your app\" title=\"Direct link to Create and edit resources from your app\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/175592-77-9W--_ve-_vWXvv70Q77-9NhTvv71s77-977-977-9PO-_ve-_vUkS77-9EnTvv73vv73vv73vv70Ha--_ve-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>You can now view, edit, and create new resources without leaving your Retool app!</p>\n<p>To create a new resource, select the “create a new resource” option from the top of the resource dropdown in any query. You can configure a connection and immediately query any of our <a href=\"https://docs.retool.com/docs/integrations-catalog\" target=\"_blank\" rel=\"noopener noreferrer\">40+ supported database and API types</a>, including <a href=\"https://docs.retool.com/docs/postgresql-integration\" target=\"_blank\" rel=\"noopener noreferrer\">Postgres</a>, <a href=\"https://docs.retool.com/docs/mongodb\" target=\"_blank\" rel=\"noopener noreferrer\">MongoDB</a>, and any <a href=\"https://docs.retool.com/docs/apis\" target=\"_blank\" rel=\"noopener noreferrer\">REST API</a> or <a href=\"https://docs.retool.com/docs/graphql\" target=\"_blank\" rel=\"noopener noreferrer\">GraphQL</a>.</p>\n<p>To view or edit a resource configuration, click the “edit resource” button from the selected resource in your query. For example, you can view the name of the default bucket of an S3 resource, add staging credentials to a Postgres database, or add a new header to your GraphQL resource—all without leaving your app! Any changes to the resource persist across all Retool apps in your current environment.</p>\n<p>We’re rolling out this new functionality this week. Share any feedback or suggestions for new resource types in our <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-79-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed label wrapping for Checkbox Group, Radio Group, and Switch Group components</li>\n<li>Fixed duplicate or <strong><em>null</em></strong> values in Select, Multiselect, Listbox, and Multiselect Listbox components</li>\n<li>Fixed the \"Go to app\" event handler in public apps</li>\n<li>Fixed property defaults when switching from one component type to another</li>\n<li>Fixed default value rendering for Select components in edit mode</li>\n<li>Fixed the Table component’s <strong><em>setSort</em></strong> so that it now updates both the <strong><em>sortedColumn</em></strong> and <strong><em>sortedDesc</em></strong> properties</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-79-0",
            "title": "Retool 2.79",
            "summary": "Create and edit resources from your app",
            "date_modified": "2021-10-15T02:56:45.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-78-5",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"upgrading-components\">Upgrading components<a href=\"https://docs.retool.com/changelog/cloud/2-78-5#upgrading-components\" class=\"hash-link\" aria-label=\"Direct link to Upgrading components\" title=\"Direct link to Upgrading components\">​</a></h2>\n<p>Over the past few months, we’ve launched new versions of 20+ components, including Text Input, Button, Toggle/Switch, Progress Bar, and more. These new components have been redesigned and rebuilt from the ground up with more customization options, expanded style editor support, improved keyboard accessibility, and robust validation for inputs.</p>\n<p>In order to make it easy for you to use these new components in your existing apps, we’ve built two ways to migrate existing components to these powerful new versions with a few clicks.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"upgrade-individual-components\">Upgrade individual components<a href=\"https://docs.retool.com/changelog/cloud/2-78-5#upgrade-individual-components\" class=\"hash-link\" aria-label=\"Direct link to Upgrade individual components\" title=\"Direct link to Upgrade individual components\">​</a></h3>\n<p>If a selected component has a new version you will see a “Deprecated component” notice at the top of the Inspector. Click “Upgrade” and Retool will automatically upgrade the component to the new version. All of your configuration settings (e.g. event handlers, tooltip content, suffix text, etc) will transfer to the new version. As always, you use <strong><em>⌘+Z</em></strong> to undo your changes.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/173974-Gwt777-977-977-9QWrvv73vv71IIu-_ve-_vUgC77-9AX3vv71N77-977-977-977-977-977-977-977-977-9Au-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"upgrade-all-components-in-an-app\">Upgrade all components in an app<a href=\"https://docs.retool.com/changelog/cloud/2-78-5#upgrade-all-components-in-an-app\" class=\"hash-link\" aria-label=\"Direct link to Upgrade all components in an app\" title=\"Direct link to Upgrade all components in an app\">​</a></h3>\n<p>We also added a quick way for you to migrate multiple components in an app at once. Click on the app actions menu (three dots in the upper right), then click “Upgrade components”, then select which components to upgrade.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/173975-77-9Vu-_ve-_vR3vv70bS--_vTZVeEjvv73vv70_M--_ve-_ve-_vWMo77-977-9BO-_vWMG77-977-9ae-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>This new upgrade functionality supports common components and is rolling out to customers over the next week. We’re adding support for new components—like Select and Multiselect—to work with these upgrade paths shortly. Post in our <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a> to let us know how it’s working and if you have any additional functionality you’d like to see!</p>\n<p>Fixes and improvements</p>\n<ul>\n<li>Fixed the <strong><em>recordUpdates</em></strong> and <strong><em>changeSet</em></strong> attributes of the Table component to only clear when a bulk update is successful</li>\n<li>Added a new Pagination component for easily navigating paged data</li>\n<li>Fixed default text color when the canvas has a dark background</li>\n<li>Added support for sharing Jira resource credentials between users</li>\n<li>Added an option to configure text size in Editable Text and Editable Number components</li>\n<li>Fixed the Calendar component so that custom event properties are not lost when events are modified</li>\n<li>Added the ability to customize the appearance of the Retool user menu on a per-app basis (Enterprise only)</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-78-5",
            "title": "Retool 2.78.5",
            "summary": "Upgrading components",
            "date_modified": "2021-10-08T19:00:46.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-78-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"select-and-multiselect\"><strong>Select and Multiselect</strong><a href=\"https://docs.retool.com/changelog/cloud/2-78-0#select-and-multiselect\" class=\"hash-link\" aria-label=\"Direct link to select-and-multiselect\" title=\"Direct link to select-and-multiselect\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/172918-Su-_vSRn77-9GE0le--_vVIU77-9CmYQM--_ve-_vR_vv71nejPvv71ZQe-_ve-_ve-_ve-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We’ve overhauled two of our most popular components: Select and Multiselect. Like our new Input components, they have powerful new functionality including:</p>\n<ul>\n<li>Expanded style editor support</li>\n<li>Control over label position, alignment, and wrapping</li>\n<li>More robust validation (e.g. min/max items for Multiselect)</li>\n<li>Support for adding text and icons in the prefix and suffix</li>\n<li>An optional tooltip with GitHub flavored markdown</li>\n</ul>\n<p>Both components support full keyboard accessibility. For example, you can now use arrow keys to move between individual selected items. These components also have tons of new configuration options including:</p>\n<ul>\n<li>Overlay height: set the maximum height of the dropdown</li>\n<li>Combobox mode: set whether or not the component has an input field to support searching by text</li>\n<li>Selection indicator: control whether the dropdown should show a checkmark on the selected item(s)</li>\n<li>Empty state: set a message to display when the component has no options provided or when no options match the search term</li>\n<li>Disabled: provide an array of values that should be rendered disabled or disable the entire component</li>\n</ul>\n<p>New components you’d like to see us add? Let us know in our <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-78-0#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed label alignment on the Progress Bar component</li>\n<li>Fixed component styles in ListViews</li>\n<li>Added tooltip support to more components (Avatar, Avatar Group, Divider, IFrame, Image, Progress Bar/Circle)</li>\n<li>Improved CSV parsing capabilities of the File Input components</li>\n<li>Added a warning when trying to preview an app with an unsaved query</li>\n<li>Updated Slider and Range Slider components to support editing the track color</li>\n<li>Fixed the Table component “Row select” and “Row select changed” events to support arrow key selections</li>\n<li>Added support for evaluating an app's UUID dynamically (e.g. <code>{{ retoolContext.appUuid }}</code>)</li>\n<li>Added support for reply-to email in SMTP resource</li>\n<li>Fixed the JIRA resource so that it automatically refreshes its token</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-78-0",
            "title": "Retool 2.78",
            "summary": "Select and Multiselect",
            "date_modified": "2021-10-02T06:14:52.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-77-6",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"scrollable-tables\">Scrollable tables<a href=\"https://docs.retool.com/changelog/cloud/2-77-6#scrollable-tables\" class=\"hash-link\" aria-label=\"Direct link to Scrollable tables\" title=\"Direct link to Scrollable tables\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/171614-dl5iTe-_vSbvv73vv73vv711LChV77-977-9H--_ve-_vT7vv73vv71r77-9YUtv77-977-977-977-9Li0\" alt=\"\" class=\"img_ev3q\"></p>\n<p>The Table component is now scrollable! Scrollable tables are a great way to allow your users to quickly explore data.</p>\n<p>To try it out, select the new “Scroll” option in the Table component inspector. \"Scroll\" supports all of the Table component’s “Pagination” options (e.g. server-side pagination) out of the box. To learn more about working with Tables in Retool, check out our <a href=\"https://docs.retool.com/docs/working-with-tables\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a>.</p>\n<p>We’ll be shipping other highly requested Table features and bug fixes in the coming months. Visit our <a href=\"https://community.retool.com/c/feature-requests/7\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a> to make a new request or add your support for existing ones.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-77-6#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Improved ordering of code autocomplete suggestions</li>\n<li>Added multiline text support for Button components</li>\n<li>Fixed folder creation—now we route you to the newly created folder</li>\n<li>Improved validation to skip any components set to disabled, read only, or hidden</li>\n<li>Updated the PDF Viewer component to support scaling each page to the height of the component, and added an additional option to snap scroll to each page</li>\n<li>Improved fuzzy search performance for the Listbox and Multiselect Listbox components when using the “search term” option</li>\n<li>Updated the Preview button to prevent accidental clicks</li>\n<li>Fixed a rendering bug with the Looker component</li>\n<li>Fixed tree construction so that merge conflicts are properly detected in protected apps (Enterprise plan only)</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-77-6",
            "title": "Retool 2.77.6",
            "summary": "Scrollable tables",
            "date_modified": "2021-09-25T06:16:08.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-76-19",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"avatar-and-avatar-group\"><strong>Avatar and Avatar Group</strong><a href=\"https://docs.retool.com/changelog/cloud/2-76-19#avatar-and-avatar-group\" class=\"hash-link\" aria-label=\"Direct link to avatar-and-avatar-group\" title=\"Direct link to avatar-and-avatar-group\">​</a></h2>\n<p>**** <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/169644-77-9Ge-_ve-_vUMRbu-_ve-_ve-_ve-_ve-_vVLvv73vv73vv70h77-9Ze-_ve-_ve-_ve-_vRzvv73vv71Q77-977-977-9T2s\" alt=\"\" class=\"img_ev3q\"></p>\n<p>The new Avatar and Avatar Group components allow you to easily represent users in your app.</p>\n<p>Avatar allows you to display an image with an optional label and caption. The image URL will default to the current user’s profile photo (a new property, <code>{{ current_user.profilePhotoUrl }}</code>) and you can optionally set fallback text for when there isn’t a url available — if that text looks like a user's full name, we’ll render just their initials. Choose from a selection of avatar size options, extra small (16px) to extra large (48px), and customize label, alignment, and more!</p>\n<p>Avatar Group displays several avatars together. Configure the maximum number of avatars to display, and the last avatar will display “+N” when there are more. Like our new input components, these also offer expanded style editor support.</p>\n<p>More components you’d like to see us build? Let us know in our <a href=\"https://community.retool.com/c/feature-requests/7\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a>!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-76-19#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Added a new option, \"show top bar,\" to IFrame which allows you to optionally show a customizable title, and adds two actions: refresh and open in a new tab</li>\n<li>Fixed Listbox and Multiselect Listbox rendering with duplicate values</li>\n<li>Added autofill for app names when importing an app</li>\n<li>Improved the component search experience by autofocusing the search field when opening the Insert pane</li>\n<li>Improved the loading state for the Table component</li>\n<li>Fixed an edge case where renaming a component didn't rename references to the component</li>\n<li>Added workspaces, audit logs, and data editor to the \"powered by Retool\" menu</li>\n<li>Updated AWS assume role help text to display the correct backend name</li>\n<li>Added the <strong><em>POSTGRES_STATEMENT_TIMEOUT</em></strong> environment variable, which defaults to 10 seconds (on-prem only)</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-76-19",
            "title": "Retool 2.76.19",
            "summary": "Avatar and Avatar Group",
            "date_modified": "2021-09-18T01:35:13.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-74-17",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"editable-text-and-number\">Editable Text and Number<a href=\"https://docs.retool.com/changelog/cloud/2-74-17#editable-text-and-number\" class=\"hash-link\" aria-label=\"Direct link to Editable Text and Number\" title=\"Direct link to Editable Text and Number\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/168336-BO-_ve-_ve-_vW9v77-9KC3vv73vv73vv71-QXvvv70577-9Lu-_vV4TcRrvv70FY--_vT9rPD4\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We’ve overhauled Editable Text and added a new Editable Number. Like all of our new inputs, these offer brand new configuration options, built-in and custom validation rules, and expanded style editor support. These components were also built with accessibility and data density in mind.</p>\n<p>The Editable inputs display static text that can be edited on click. In edit mode, Editable Text has all the same powerful, new functionality of our Text Input component, including: configurable prefix/suffix text, a prefix/suffix icon, read only mode, and more. In addition, Editable Number supports the functionality of the Number Input component, including currency support, percentage formatting, and control over decimal places and padding zeros.</p>\n<p><strong>Helper text</strong></p>\n<p>All keyboard inputs–like Text Input, Number Input, Editable Text and Number, Currency, and more–can now optionally configure a tooltip that is visible below the input only on focus:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/168329-Eu-_vUElESZIKkLvv71ZXu-_ve-_vQl977-977-9PO-_vR9_EArvv70a77-9dWPvv71jOA\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Like the regular tooltip, helper text supports <a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub flavored markdown</a>.</p>\n<p>We’re continuing to ship new components each week! Drop us a note at <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a> if you have any feedback. Editable Text and Number are rolled out to all plans on Retool cloud, and will be included in the next on-premise release.</p>\n<p><strong>Fixes and improvements</strong></p>\n<ul>\n<li>Fixed an edge case where Text components could be rendered at the wrong height</li>\n<li>Added support for freezing action button columns to the left or right of the Table component</li>\n<li>Added the ability to add the currently viewed folder to your favorites list</li>\n<li>Fixed focus, hover, and disabled styles for the clear button on input components</li>\n<li>Added support for null values for sliders in the JSON Schema Form component</li>\n<li>Fixed rendering of short Listbox components with labels</li>\n<li>Added <strong><em>lastReceivedFromResourceAt</em></strong> attribute to queries to track when the query response was last received from the resource</li>\n<li>Added the current page index and total number of rows to the footer of the Table component</li>\n<li>Fixed label width default to be 40% instead of 33%</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-74-17",
            "title": "Retool 2.74.17",
            "summary": "Editable Text and Number",
            "date_modified": "2021-09-10T18:11:01.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-76-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"input-improvements\">Input improvements<a href=\"https://docs.retool.com/changelog/cloud/2-76-1#input-improvements\" class=\"hash-link\" aria-label=\"Direct link to Input improvements\" title=\"Direct link to Input improvements\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/167166-Xu-_vT4P77-9XyYyRO-_ve-_vS1JXu-_vXbvv73vv70C77-977-977-977-977-9cQQ4BO-_ve-_vQs4\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We've added 5 new and improved options for input components in the Inspector (right-hand panel), including:</p>\n<ul>\n<li><strong>Read only:</strong> read only inputs are focusable and selectable but cannot be modified. They look the same as normal inputs.</li>\n<li><strong>Label width:</strong> set the width of the label as a percentage of the component width (%), pixels (px), or grid columns (col).</li>\n<li>**Decimal places: **set the maximum number of digits after the decimal, and optionally pad trailing zeros.</li>\n<li>**Allow null value: **Number Input components can now have an empty state of null instead of 0.</li>\n<li>**Show clear button: **Number Input components can now optionally show a clear button.</li>\n</ul>\n<p>If you want further configuration options for any of our components, drop us a note at <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a>!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-76-1#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added a keyboard shortcut–<strong><em>⌘ + D</em></strong> (<strong><em>CTRL + D</em></strong>)–to duplicate a component on the canvas</li>\n<li>Added a keyboard shortcut–<strong><em>?</em></strong>–to show a list of all of the other built-in editor shortcuts (like <strong><em>⌘ + D</em></strong>!)</li>\n<li>Added a \"Hide submit button\" option to the JSON Schema Form component</li>\n<li>Fixed vertical alignment of multiline labels on the Checkbox and Switch components</li>\n<li>Added a \"Row Select Change\" event handler for the Table component</li>\n<li>Adjusted default hover and active colors for Button</li>\n<li>Fixed automatic text color for components inside of the Header frame</li>\n<li>Updated read only input components to hide the optional clear button</li>\n<li>Simplified the empty state for Container components</li>\n<li>Fixed a delay with updates to dynamic height components</li>\n<li>Removed an incorrect error message when selecting components in the same container</li>\n<li>Fixed migrations to respect <strong><em>DATABASE_URL</em></strong> (on-prem only)</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise?utm_source=beamer&amp;utm_medium=standalone&amp;utm_campaign=August-27-2021&amp;utm_content=textlink\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-76-1",
            "title": "Retool 2.76.1",
            "summary": "Input improvements",
            "date_modified": "2021-09-03T02:00:29.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-75-8",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"retool-for-startups\">Retool for Startups<a href=\"https://docs.retool.com/changelog/cloud/2-75-8#retool-for-startups\" class=\"hash-link\" aria-label=\"Direct link to Retool for Startups\" title=\"Direct link to Retool for Startups\">​</a></h2>\n<p>Eligible startups now get 12 months of free Retool credits (up to $1200 value), and we've partnered with companies like HubSpot, Segment, DigitalOcean, and Brex to offer many more startup discounts (apply <a href=\"https://retool.typeform.com/to/qGcaOOHW\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>!).</p>\n<p>If you applied and were accepted into the <a href=\"https://retool.com/startups/\" target=\"_blank\" rel=\"noopener noreferrer\">Retool for Startups</a> program, you now have access to a new Startup Offers section in your Settings. To view more details and redemption instructions, go to Settings &gt; Startup Offers:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/166188-Vu-_ve-_vUvvv70l77-977-9cu-_vRvvv73vv70PKe-_ve-_vVxHOe-_ve-_vWDvv71E77-977-9Nu-_ve-_vSzvv70\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Questions about the program? Enrolling in these offers? Drop us a note at <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a> (also, if you'd like to feature a startup deal for your company on the Startup Offers page, apply <a href=\"https://retool.typeform.com/to/qgVhKdhf\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>).</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-75-8#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added a new event handler action type to set and clear local storage key/value pairs</li>\n<li>Added a toggle to the Number Input component to allow null values</li>\n<li>Fixed a regression that would cause the editor to crash when deleting temporary state variables</li>\n<li>Improved the app homepage search results to show what folders apps are in</li>\n<li>Fixed the \"hide reset button\" switch on the Wizard component</li>\n<li>Fixed default values and \"Change\" event types for the Range Slider component</li>\n<li>Fixed app versioning such that the editor always shows the most up to date version, even if an earlier release is published</li>\n<li>Added a tooltip to display the full app name on hover for the \"Go to app\" event handler</li>\n<li>Fixed the Tags component so that it can reference other queries/components (e.g. <code>{{ .. }}</code>) when setting tag titles</li>\n<li>Updated the labels for undo/redo shortcuts to be platform-specific</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> 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.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-75-8",
            "title": "Retool 2.75.8",
            "summary": "Retool for Startups",
            "date_modified": "2021-08-27T23:31:05.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/august-th-",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"switching-between-component-types\">Switching between component types<a href=\"https://docs.retool.com/changelog/august-th-#switching-between-component-types\" class=\"hash-link\" aria-label=\"Direct link to Switching between component types\" title=\"Direct link to Switching between component types\">​</a></h2>\n<p>You can now easily switch the type of a component (e.g. Button →Link), and we’ll transfer over all applicable settings like label configuration, tooltips, and more! Let's say that you’ve set up a Number Input with a default value, min/max, label, and tooltip, and then you decide you actually want your users to be able to select their value via a Slider.</p>\n<p>Previously, you’d have to drag out a new Slider component and manually copy over each of your settings one by one. Now, all you need to do is click on the three dots menu in the component inspector (right-hand panel) and click “switch component\":</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/164757-Uu-_ve-_vSbvv73vv709We-_ve-_ve-_vTrvv70ablF-77-9dO-_ve-_ve-_vVTvv73vv73vv73vv71LKO-_vQ7vv70\" alt=\"\" class=\"img_ev3q\"></p>\n<p>For most input components, you can now switch to a preset or other similar component type (for Number Input, that’s Slider, Percent, Currency, Rating, and Range Slider). Sometimes, we’ll prompt you for additional action when we can’t automatically convert all of your settings: like when switching from a Slider to a Range Slider, you’ll have to choose start and end values. There are so many different options to try out: like switching between different styles of Buttons (Button, Outline Button, and Link)!</p>\n<p>We’re rolling out this new functionality to all users over the next week. Additionally, we’re working on fully overhauling additional components like Select and Multiselect, so you won’t see these options on those components just yet. Let us know how “Switch component” works for you, and any other components/presets you’d like to see at <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a>!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/august-th-#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Improved start time when running query</li>\n<li>Improved performance during drag-and-drop</li>\n<li>Fixed an edge case where multiple queries to the same resource would occasionally fail</li>\n<li>Added support for plain numbers in the border radius style editor (assumes <strong><em>px</em></strong> unit)</li>\n<li>Fixed file parsing for the new file input component types on Windows</li>\n<li>Added a new option to the Text Input component to show a character count</li>\n<li>Improved search in the component list</li>\n<li>Fixed a rare edge case where the preview button in editor mode would hang indefinitely</li>\n<li>Fixed GraphQL queries to exclude empty optional fields</li>\n<li>Added support for using self-signed certificates with MongoDB connection string</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> to see the on-prem versions and their release notes. These features and performance improvements will be rolling out to on-prem customers in the next few weeks.</p>",
            "url": "https://docs.retool.com/changelog/august-th-",
            "title": "Retool Cloud updates for 21 August 2021",
            "summary": "Switching between component types",
            "date_modified": "2021-08-21T01:53:13.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-73-14",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"resource-permissions\">Resource permissions<a href=\"https://docs.retool.com/changelog/cloud/2-73-14#resource-permissions\" class=\"hash-link\" aria-label=\"Direct link to Resource permissions\" title=\"Direct link to Resource permissions\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/163164-DEITFO-_vUPvv73vv70X77-9M--_vTTvv73vv73vv73vv71x77-977-9S--_vTrvv70p77-9Cyrvv73vv70877-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>All admins will now be able to assign two different permission levels for any given resource: (1) \"use,\" which allows an editor to write queries with that resource and (2) \"edit,\" which additionally allows an editor to modify the resource's configuration.</p>\n<p>Previously, admins had minimal control over permissions to resources — any resource permission granted at a group level would allow members of that group to modify the configuration of the resource. We know configuration for some resources can be sensitive and complex to change, so we've shipped these new permission levels to give admins more control over their user's access.</p>\n<p>Additionally, to allow editors to create new resources or delete existing ones, admins can assign a group to have “universal access” at the “edit” level. As always, a “viewer” of an app (e.g. no edit permissions) can still view and use an app that leverages a resource for which they do not have explicit permissions granted.</p>\n<p>These new resource permissions are available to all admins across Pro+ plans. Drop us a note at <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a> to let us know how they're working for you!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-73-14#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Added a new Progress Bar component with an indeterminate state</li>\n<li>Added a new scalable Progress Circle component</li>\n<li>Fixed local storage dependencies such that values nested inside a third level now trigger updates correctly (e.g. <strong><em>localStorage.values.x.y</em></strong>)</li>\n<li>Fixed dynamic height for direct children of Modules and Modals</li>\n<li>Removed inconsistent right panel behavior in favor of the pop out code editor</li>\n<li>Updated the Divider component to support an optional text label</li>\n<li>Added the ability to see tables that are related to your query in the query editor's schema browser</li>\n<li>Fixed the visible scrollbar on single line, fixed height Text components</li>\n<li>Fixed an issue where transformers do not run on page load if they depend on disabled queries</li>\n</ul>\n<p>Check out this <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">guide</a> to see the on-prem versions and their release notes. These features will be rolling out to on-prem customers in the next few weeks.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-73-14",
            "title": "Retool 2.73.14",
            "summary": "Resource permissions",
            "date_modified": "2021-08-13T23:46:48.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/august-3WNpaqgL4",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"event-handlers-for-queries\">Event handlers for queries<a href=\"https://docs.retool.com/changelog/august-3WNpaqgL4#event-handlers-for-queries\" class=\"hash-link\" aria-label=\"Direct link to Event handlers for queries\" title=\"Direct link to Event handlers for queries\">​</a></h2>\n<p>When your query succeeds or fails, you can now trigger other queries, control components, call additional APIs, and more–all using event handlers!</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/161955-77-977-9G3Dvv73vv73vv73vv70r77-9VCDvv70na3Tvv71cNu-_vV5w77-9d2Ee77-977-977-9T--_vS4\" alt=\"\" class=\"img_ev3q\"> New event handlers for queries</p>\n<p>For most Retool apps you've built in the past, you've probably set up the \"After this query runs\" triggers. For example, let's say you have a query, <em><strong>selectUsers</strong></em>, populating a Table component; if you insert a new record to the <strong><em>users</em></strong> table, you probably want to re-run that <strong><em>selectUsers</em></strong> query so that your Table is up to date:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/161959-77-9E--_ve-_vQvvv70hOzlabO-_vSpjKx_vv73vv70a77-9eO-_ve-_vUfvv73vv73vv73vv703F--_vU8\" alt=\"\" class=\"img_ev3q\"> Previous query triggers</p>\n<p>However, anything more complex–showing a notification, controlling components (e.g. opening a modal)–previously required creating and wiring up a JavaScript query, and writing custom code.</p>\n<p>A few months ago, we rolled out new event handlers to all of your components. We're now replacing the old query triggers, and bringing those powerful event handlers to your queries! You can configure any number of event handlers to run when your query succeeds or fails (e.g. on success, show a notification to your end user <em>and</em> open a modal to prompt a new workflow).</p>\n<p>Anything you can do with Retool’s JS API (e.g. <strong><em>query1.trigger()</em></strong>, <strong><em>modal.open()</em></strong>, <strong><em>utils.showNotification(...)</em></strong>) you can do with event handlers. If you do have a need to write some custom JavaScript, it's even easier than before. You can just use the \"run script\" event handler and write your code, without creating and wiring up a new query.</p>\n<p>As you build with these new event handlers on your queries, we want to hear from you! Are there more kinds of event handlers you'd like to see us add? Any feedback? Drop us a note at <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/august-3WNpaqgL4#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Updated default component IDs to use camelCase (e.g., <strong><em>checkboxGroup1</em></strong>)</li>\n<li>Added advanced editor features to the Text Area component, including autocomplete, autocapitalization, and spell check</li>\n<li>Added support for exploring queries and transformers in the model browser (left-hand panel) while actively editing a different query or transformer</li>\n<li>Added a <strong><em>change</em></strong> event handler to BoundingBox component</li>\n<li>Added a Front integration</li>\n<li>Fixed Folders and Apps so that they're sorted consistently</li>\n<li>Fixed an edge case with query trigger migrations for the new query event handlers</li>\n<li>Fixed an edge case where the \"Go to app\" event handler wouldn't successfully navigate</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> to see the on-prem versions and their release notes. These features will be rolling out to on-prem customers in the next few weeks.</p>",
            "url": "https://docs.retool.com/changelog/august-3WNpaqgL4",
            "title": "Retool Cloud updates for 6 August 2021",
            "summary": "Event handlers for queries",
            "date_modified": "2021-08-06T01:08:05.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-73-7",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"9-new-componentsfile-inputs-buttons-tags-listbox-and-more\">9 new components–File Inputs, Buttons, Tags, Listbox and more!<a href=\"https://docs.retool.com/changelog/cloud/2-73-7#9-new-componentsfile-inputs-buttons-tags-listbox-and-more\" class=\"hash-link\" aria-label=\"Direct link to 9 new components–File Inputs, Buttons, Tags, Listbox and more!\" title=\"Direct link to 9 new components–File Inputs, Buttons, Tags, Listbox and more!\">​</a></h2>\n<p>We’re rolling out 9 redesigned and rebuilt components, including fully overhauled, existing components (Button, File Button, Link) and brand new components (Tags, File Input, File Dropzone, Listbox, Multiselect Listbox).</p>\n<p>Just like the input components we released a few weeks ago, these offer brand new configuration options, built-in and custom validation rules, and expanded style editor support. These components were also built with accessibility in mind.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"listbox-and-multiselect-listbox\">Listbox and Multiselect Listbox<a href=\"https://docs.retool.com/changelog/cloud/2-73-7#listbox-and-multiselect-listbox\" class=\"hash-link\" aria-label=\"Direct link to Listbox and Multiselect Listbox\" title=\"Direct link to Listbox and Multiselect Listbox\">​</a></h3>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/160686-77-9Nu-_vXbvv701PO-_vXEp77-9ExTvv70P77-977-977-9GABo77-977-977-977-977-977-9dE7vv71J77-9\" alt=\"\" class=\"img_ev3q\"> Listbox and Multiselect Listbox</p>\n<p>Listbox and Multiselect Listbox allow you to display a list of selectable item(s) to your end users. You can dynamically set the default selected item(s) and/or disabled item(s). There’s also built-in support for fuzzy search on the values or labels, all you have to do is set the search term (e.g. <code>{{ textinput1.value }}</code>).</p>\n<p>There are plenty more settings you can configure, even down to the empty state when no options match your search term. Additional functionality includes: an optional Tooltip with support for GitHub flavored markdown, custom validation (e.g. min/max items, custom error messages), event handler support, and more!</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"button-outline-button-and-link\">Button, Outline Button, and Link<a href=\"https://docs.retool.com/changelog/cloud/2-73-7#button-outline-button-and-link\" class=\"hash-link\" aria-label=\"Direct link to Button, Outline Button, and Link\" title=\"Direct link to Button, Outline Button, and Link\">​</a></h3>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/160687-77-9MCcd77-9Ckda77-977-9Au-_vQ3vv73vv70ZV1NO77-9Xe-_ve-_vWNO77-977-9Ph4c77-9BA\" alt=\"\" class=\"img_ev3q\"> Button, Outline Button, and Link</p>\n<p>The refreshed Button component and new Outline Button component have lots of new functionality. For example, you can dynamically set the loading state (e.g. <code>{{ query1.isFetching }}</code> ) to show a loading animation and disable interactivity for your users while your query is running.</p>\n<p>You can switch between a regular, Solid Button and an Outline Button directly in the “Style” section of the Inspector for either component–you’ll also find more advanced style editor support.</p>\n<p>Lastly, we have a new Link component that supports additional configuration like prefix/suffix icons and an optional Tooltip. You can use the Link component with any event handler, like opening a webpage or another Retool application.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"file-button-file-input-and-file-dropzone\">File Button, File Input, and File Dropzone<a href=\"https://docs.retool.com/changelog/cloud/2-73-7#file-button-file-input-and-file-dropzone\" class=\"hash-link\" aria-label=\"Direct link to File Button, File Input, and File Dropzone\" title=\"Direct link to File Button, File Input, and File Dropzone\">​</a></h3>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/160684-fHsm77-9KBHvv73vv71yC--_vQlE77-977-9HGVw77-9eu-_vQ1j77-977-9YnBd77-9NGAg\" alt=\"\" class=\"img_ev3q\"> File Button, File Input, and File Dropzone</p>\n<p>We now have 2 new ways for your end users to browse and upload files–File Dropzone and File Input–and we’ve rebuilt and redesigned File Button. All of these now support single or multiple file uploads, and have 3 consistent properties to interact with and reference elsewhere in your app: (1) <strong><em>value</em></strong>: an array of base64 encoded strings for the selected file(s) (2) <strong><em>files</em></strong>: an array of file metadata, like when it was last modified, the file name, type, and size (3) <strong><em>parsedValue</em></strong>: an array of JS objects or arrays that Retool automatically parses from uploaded files (Excel, JSON, CSV, TSV and text files are supported).</p>\n<p>They also support custom validation (e.g. min/max file size, custom error messages), prefix/suffix text and icons, an optional Tooltip, and so much more functionality.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"tags\">Tags<a href=\"https://docs.retool.com/changelog/cloud/2-73-7#tags\" class=\"hash-link\" aria-label=\"Direct link to Tags\" title=\"Direct link to Tags\">​</a></h3>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/160688-77-9VAcd77-9UEF9UylV77-977-977-977-9Zu-_vVTvv71A77-9M--_ve-_vWxiZ10MfO-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"> Tags</p>\n<p>Lastly, we’ve also added a new Tags component, a presentational component typically used in apps for things like categorization. It now has dynamic and automatic height: growing as you add additional tags as well as support for an optional Tooltip.</p>\n<p>These components won’t be the last–we’re continuing to expand our component library and add more functionality and customizability to those you’re using today. Drop us a note with any feedback (or requests for new components!) at <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-73-7#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added a button to the Users page for admins to download their user list as a CSV</li>\n<li>Fixed previewing apps with multiple versions so that we now support previewing any published release, as well as the current working version</li>\n<li>Added appName to retoolContext so you can dynamically access the name of the current app (e.g. <code>{{retoolContext.appName}}</code>)</li>\n<li>Added the ability to copy table names from the database schema browser in the editor</li>\n<li>Added a submit event to the Notes component</li>\n<li>Added the ability to set custom content-type on Google Cloud Storage upload query</li>\n<li>Simplified the History modal further by removing an unneeded entry type</li>\n<li>Fixed cases where drag-and-drop could get blocked by iframes on the canvas</li>\n<li>Fixed unexpected layout shifts on some apps with multiple Text components</li>\n<li>Improved performance of apps with many dynamic height components</li>\n<li>Improved the query selection dropdown for event handlers to include the name of the resource for a given query</li>\n<li>Improved performance on initial render of the canvas and Container components</li>\n<li>Added a new option to Tabbed Container to preserve UI state across hidden tabs</li>\n<li>Improved the dialog when deleting multiple components to show child components that will also be deleted</li>\n<li>Added an option to customize the 'no rows found' text when a Table component is empty</li>\n<li>Fixed overflow issues with long before/after text in Text, Number, and Password inputs</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> to see the on-prem versions and their release notes. These features will be rolling out to on-prem customers in the next few weeks.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-73-7",
            "title": "Retool 2.73.7",
            "summary": "9 new components–File Inputs, Buttons, Tags, Listbox and more!",
            "date_modified": "2021-07-31T01:17:28.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-73-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"performance\">Performance<a href=\"https://docs.retool.com/changelog/cloud/2-73-1#performance\" class=\"hash-link\" aria-label=\"Direct link to Performance\" title=\"Direct link to Performance\">​</a></h2>\n<p>Switching between edit and preview is now much snappier! When building an app in Retool, you’ll often jump back and forth between editing your app and previewing what it looks like for your end users. We’ve just shipped some big performance improvements to the path:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/159334-77-977-977-977-977-9ZVB1Le-_vX4cKe-_ve-_ve-_ve-_vRLvv71cd--_ve-_ve-_vTjvv73vv71s77-977-977-9dw\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Performance is always top of mind for us. In an effort to make every app load faster, we’ve leveraged code splitting to reduce the size of our main Components bundle by 63%. Now, your apps only pay a performance cost for the components you use. We have several engineers focused on burning down a list of similar improvements to app performance–drop us a note at <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a> if there are parts of Retool you want us to focus on!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-73-1#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added a keyboard shortcut <strong><em>⌘ + U</em></strong> (<strong><em>CTRL + U</em></strong>) to toggle the right panel (Inspector) open/close</li>\n<li>Added a keyboard shortcut <strong><em>⌘ + .</em></strong> (<strong><em>CTRL + .</em></strong>) to toggle open/close whichever panels you’re currently using</li>\n<li>Fixed <strong><em>localStorage.setValue</em></strong> so that it will no longer trigger queries that depend on other keys in local storage</li>\n<li>Added the ability to write a table name dynamically in Snowflake GUI mode queries</li>\n<li>Improved performance of evaluating dependencies (e.g. component/query references) in applications</li>\n<li>Enabled search by component type in the Event Handlers component dropdown</li>\n<li>Improved REST API queries to respect the <strong><em>DBCONNECTOR_QUERY_TIMEOUT_MS</em></strong> setting</li>\n<li>Improved the pop out code editor to maintain the cursor position of its in-line editor</li>\n<li>Protected Apps (Enterprise plan)<!-- -->\n<ul>\n<li>Added additional logging for syncing single pages</li>\n<li>Fixed incorrect links to pages in the releases and history modal</li>\n</ul>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-73-1",
            "title": "Retool 2.73.1",
            "summary": "Performance",
            "date_modified": "2021-07-24T00:26:34.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-72-16",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"event-handlers-run-script\">Event handlers: run script<a href=\"https://docs.retool.com/changelog/cloud/2-72-16#event-handlers-run-script\" class=\"hash-link\" aria-label=\"Direct link to Event handlers: run script\" title=\"Direct link to Event handlers: run script\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/158036-UCrvv73vv70vE--_ve-_ve-_vSrvv70ydi3vv73vv73vv73vv70E77-9U3_vv73vv71k77-9R--_ve-_vTXvv73vv70\" alt=\"\" class=\"img_ev3q\"></p>\n<p>You can now run JavaScript with side effects directly inside of an event handler without having to create and manage a separate JavaScript Query.</p>\n<p>Previously, if you wanted to run JavaScript with side effects—like triggering a query <strong><em>query1.trigger()</em></strong> or downloading data <em><strong>utils.downloadFile(…)</strong></em>—you had to create a new JavaScript query, write your code, save your query, and wire up a “Trigger query” event handler.</p>\n<p>To streamline this common workflow, you can now write custom JavaScript code directly in your event handler with the new “Run script” action. You can utilize Retool’s full JavaScript API that allows you to control components (e.g. <strong><em>modal.open()</em></strong>, <strong><em>table.selectRow(index)</em></strong>, <strong><em>input.setValue(…)</em></strong>), show notifications <strong><em>utils.showNotification(…)</em></strong>, set temporary state <strong><em>state.setValue(…)</em></strong>, set key/value pairs in local storage <strong><em>localStorage.setValue(…)</em></strong>, and more. Check out <a href=\"https://docs.retool.com/docs/scripting-retool\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> to learn more about what you can do with JavaScript in Retool.</p>\n<p>Additional API methods you’d like to see us add? Any other feedback while working with “Run script” or JavaScript queries? Drop us a note at <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-72-16#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added a Divider component to create a horizontal rule</li>\n<li>Fixed the keyboard shortcut <strong><em>⌘+C</em></strong> (<strong><em>CTRL+C</em></strong>) to copy text from an input component while in editor mode</li>\n<li>Added support for Snowflake OAuth at the user level</li>\n<li>Added new tooltips for components that render error messages in context, replacing the generic “has an error in property” warning</li>\n<li>Fixed the \"run query automatically when inputs change\" setting so that it’s not overwritten for imported queries</li>\n<li>Added the ability to automatically paginate Stripe queries</li>\n<li>Fixed a flash of content rendering issue in the inspector when selecting multiple components</li>\n<li>Fixed a rendering issue with the user menu for embedded apps</li>\n<li>Removed redundant fields in the app YAML serialization</li>\n<li>Added 5+ different design polish improvements to the Resources page</li>\n</ul>\n<p><strong>Protected apps (Enterprise only)</strong></p>\n<ul>\n<li>Improved publishing and unpublishing releases</li>\n<li>Fixed an edge case when protecting an already protected app</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> to see the on-prem versions and their release notes. These features will be rolling out to on-prem customers in the next few weeks.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-72-16",
            "title": "Retool 2.72.16",
            "summary": "Event handlers: run script",
            "date_modified": "2021-07-16T20:21:55.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-72-9",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-canvas-frames-and-a-navigation-component\">New canvas frames and a Navigation component<a href=\"https://docs.retool.com/changelog/cloud/2-72-9#new-canvas-frames-and-a-navigation-component\" class=\"hash-link\" aria-label=\"Direct link to New canvas frames and a Navigation component\" title=\"Direct link to New canvas frames and a Navigation component\">​</a></h2>\n<p>We’ve removed the Retool header from end user mode, giving you full control over your app’s presentation. User-specific actions have moved to a new location, and we’ve introduced a new sticky header frame, along with a Navigation component for building your own custom headers.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/156447-MHR777-977-9KAPvv71077-977-9Ye-_vSdoE--_vTQV77-9PQMA77-977-9MgwrZO-_ve-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"> Editor mode</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"floating-user-menu\">Floating user menu<a href=\"https://docs.retool.com/changelog/cloud/2-72-9#floating-user-menu\" class=\"hash-link\" aria-label=\"Direct link to Floating user menu\" title=\"Direct link to Floating user menu\">​</a></h3>\n<p>In end user mode, Retool-specific actions have been moved to the floating menu in the lower left corner of your apps. Here your users can navigate to different Retool apps, edit their user settings, logout, and more.</p>\n<p>If you are viewing an app where you have edit permissions, you’ll still see a Retool header above your app with editor-specific actions. End users will not see this.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/156465-77-977-977-977-977-9DgYeBXXvv73vv71oJu-_ve-_vXzvv71l77-9DO-_ve-_ve-_vR1l77-977-9ee-_ve-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"header-frame\">Header frame<a href=\"https://docs.retool.com/changelog/cloud/2-72-9#header-frame\" class=\"hash-link\" aria-label=\"Direct link to Header frame\" title=\"Direct link to Header frame\">​</a></h3>\n<p>The canvas area is now split into two frames: Header and Main. Put any component into the Header — including the new Navigation component — and your app will have a sticky header.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"navigation-component\">Navigation component<a href=\"https://docs.retool.com/changelog/cloud/2-72-9#navigation-component\" class=\"hash-link\" aria-label=\"Direct link to Navigation component\" title=\"Direct link to Navigation component\">​</a></h3>\n<p>The new Navigation component allows you to configure a list of menu items and submenus. Each item can open another app, link to a URL, run a query, and more. You can also add a logo, control alignment of the menu items, and style it all via the Style Editor. With modules, you can even reuse your Navigation across multiple apps.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/156454-CS4xdGvvv70J77-977-9Ye-_vQ9abu-_vWLvv70EQ--_ve-_vRDvv73vv70077-9QFnvv700TAg\" alt=\"\" class=\"img_ev3q\"> Configuring the Navigation component</p>\n<p>The Header frame and Navigation component will be rolling out in one of the <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">next stable releases</a> for on-prem customers, but is available today for all cloud customers.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-72-9#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Improved performance of component interactions by 2x for applications with a large number of components</li>\n<li>Fixed arrow keys to use the new row height when moving a component up or down</li>\n<li>Fixed the order of menu items in the Navigation component after using the inspector</li>\n<li>Polished design in various places in the editor</li>\n<li>Improved initial render time for apps with many input components</li>\n<li>Added the ability to change your first and last name in Account Settings</li>\n<li>Fixed event handlers for generated Forms</li>\n<li>Fixed S3 file downloads of non-binary type files</li>\n<li>Added the ability to input Redis commands in raw format, similar to <strong><em>redis-cli</em></strong></li>\n<li>Fixed editor keyboard shortcuts when certain input components have focus</li>\n<li>Added the ability for editors to set a description for module inputs</li>\n<li>Fixed Form's \"clear after submission\" option with new input components</li>\n<li>Fixed spacing around components inside of a ListView</li>\n<li>Added additional user metadata to the Releases and History modal</li>\n<li>Added a warning when additional configuration is needed to connect a Google Sheets resource</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> to see the on-prem versions and their release notes.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-72-9",
            "title": "Retool 2.72.9",
            "summary": "New canvas frames and a Navigation component",
            "date_modified": "2021-07-10T00:10:29.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-72-4",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-input-components\">New input components<a href=\"https://docs.retool.com/changelog/cloud/2-72-4#new-input-components\" class=\"hash-link\" aria-label=\"Direct link to New input components\" title=\"Direct link to New input components\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/155082-77-977-9e--_vQPvv70l77-9BRNg77-9Ae-_ve-_vXsk77-9aO-_vXxV77-977-9Fe-_vUt577-9QmwR\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We’re rolling out 15+ input components, redesigned and rebuilt from the ground up. These include a full overhaul of components like Text Input and Checkbox, along with completely new inputs like Segmented Control and Range Slider.</p>\n<p>Each component offers brand new configuration options, built-in and custom validation rules, and expanded style editor support. We’ve also built these components with accessibility in mind, with features like focus states, full keyboard and screen reader support, and automatic text color selection.</p>\n<p>Along with these new components, the grid is also getting major upgrade: we’ve introduced a significantly reduced row height that allows for greater data density and more fine-grained layout control. The height of all new components is automatic and dynamic: growing as you add options to a Radio Group or type in a Text Area, and enabling validation errors to be rendered inline.</p>\n<p>These components support their original functionality along with new features like:</p>\n<ul>\n<li>\n<p><strong>Text Input</strong></p>\n<ul>\n<li>Simplified inspector with many options split out into separate components</li>\n<li>Configurable prefix and suffix text or icons, autofill behavior, and more</li>\n</ul>\n</li>\n<li>\n<p>**Text Area **(formerly part of Text Input)</p>\n<ul>\n<li>Controls for number of lines and auto-grow as the user types</li>\n<li>Optional character count display along with min/max validation</li>\n</ul>\n</li>\n<li>\n<p>**Number Input **(formerly part of Text Input)</p>\n<ul>\n<li>Automatic formatting based on the locale in your browser settings</li>\n<li>Support for any 3-letter currency code, with the ability to override default display</li>\n<li>Optional increment/decrement steppers, alignment options, and more</li>\n</ul>\n</li>\n<li>\n<p><strong>Inputs preconfigured to get you started more quickly</strong></p>\n<ul>\n<li>Email and URL configurations of Text Input</li>\n<li>Currency and Percent configurations of Number Input</li>\n</ul>\n</li>\n<li>\n<p><strong>Select inputs</strong></p>\n<ul>\n<li>Segmented Control</li>\n<li>Radio Group</li>\n<li>Checkbox and Checkbox Group</li>\n<li>Switch (formerly Toggle) and Switch Group</li>\n</ul>\n</li>\n<li>\n<p><strong>Password Input</strong></p>\n<ul>\n<li>Optional show/hide password toggle</li>\n<li>Regex validation and autofill types</li>\n</ul>\n</li>\n<li>\n<p><strong>Sliders</strong></p>\n<ul>\n<li>Slider for selecting single value</li>\n<li>Range Slider for selecting a start and end value</li>\n<li>Rating, with support for 3 different icon sets — stars, hearts, and smileys</li>\n</ul>\n</li>\n<li>\n<p><strong>In addition, all new inputs support:</strong></p>\n<ul>\n<li>\n<p>APIs to set, clear, and validate an input's value via an Event Handler or JS query</p>\n</li>\n<li>\n<p>Tooltips with GitHub Flavored Markdown and styles based on the app theme</p>\n</li>\n<li>\n<p>Control over label position, alignment, and wrapping</p>\n</li>\n<li>\n<p>Validation rules including custom logic and inline error messages</p>\n</li>\n</ul>\n</li>\n</ul>\n<p>You can find all of these components in our new compact and reorganized component list that features improved search. Old versions of these inputs have been deprecated, but existing instances will not be affected. If you want to continue using them, turn on the \"Deprecated components\" switch on the Beta settings page to see the “Deprecated” section in the components list.</p>\n<p>Drop us a note with any feedback (or requests for new components!) at <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"utilities\">Utilities<a href=\"https://docs.retool.com/changelog/cloud/2-72-4#utilities\" class=\"hash-link\" aria-label=\"Direct link to Utilities\" title=\"Direct link to Utilities\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/155081-77-9Whvvv70DfzPvv73vv70HXHxD77-977-9Akfvv73vv73vv71UQzPvv70qRUktee-_ve-_vUM\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Whether you’re prototyping a new idea or just want to get a CRUD app up and running, we now have 20+ developer utilities to help you build faster. Starting just with a CSV, you can generate a REST API on top of your data, write your data back to PostgresSQL or MySQL, or even autogenerate a CRUD app. We also have plenty of public data sets to get you started.</p>\n<p><a href=\"https://retool.com/utilities/\" target=\"_blank\" rel=\"noopener noreferrer\">Check out the full set of utilities and start building today.</a> Any others you’d like to see? Drop us a note at <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a>!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-72-4#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added a 'Submit feedback' option to the help menu to send product feedback directly to the Retool engineering team</li>\n<li>Added a keyboard shortcut <strong><em>⌘+J</em></strong> (<strong><em>CTRL+J</em></strong>) to show/hide the query editor (bottom panel)</li>\n<li>Fixed the style editor for Modal components</li>\n<li>Fixed Date/Time components min and max to use UTC time when 'display in local timezone' is not selected</li>\n<li>Added back the ability to delete and duplicate transformers and analytics from the query editor sidebar</li>\n<li>Fixed loading spinners that weren’t visible for some components</li>\n<li>Fixed styling for URL parameters in REST queries</li>\n<li>Fixed self-hosted trials that were expiring at the incorrect date</li>\n<li>Added a OneSignal integration</li>\n<li>Added support for <strong><em>current_user.metadata</em></strong> when using custom HTTP Auth with REST</li>\n<li>Improved search in the components list</li>\n</ul>\n<p><strong>Enterprise plan</strong></p>\n<ul>\n<li>Added an environment variable–<strong><em>DISABLE_INTERCOM</em></strong>–to swap email support for default chat support</li>\n<li>Added a button in the Advanced settings tab to refresh your license key</li>\n<li>Protected apps<!-- -->\n<ul>\n<li>Fixed the 'protect page' modal to properly dismiss on branches other than 'main’</li>\n<li>Improved autogenerated PR descriptions</li>\n<li>Added entries in the History modal for resetting branches and merging pull requests</li>\n</ul>\n</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> to see the on-prem versions and their release notes.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-72-4",
            "title": "Retool 2.72.4",
            "summary": "New input components",
            "date_modified": "2021-07-03T00:25:18.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-71-15",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"undoredo\">Undo/redo<a href=\"https://docs.retool.com/changelog/cloud/2-71-15#undoredo\" class=\"hash-link\" aria-label=\"Direct link to Undo/redo\" title=\"Direct link to Undo/redo\">​</a></h2>\n<p>We’ve completely overhauled the undo/redo system in the Retool editor. You can now reliably undo and redo nearly any action, including:</p>\n<ul>\n<li>Creating, renaming, or deleting components and queries</li>\n<li>Editing queries or component properties</li>\n<li>Any layout operation (including copy and paste)</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/153669-Wu-_ve-_vTF777-9W3nvv73vv73vv73vv71g77-9cg0NSWt677-977-977-9K--_ve-_ve-_ve-_vUBBG1U\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"history\">History<a href=\"https://docs.retool.com/changelog/cloud/2-71-15#history\" class=\"hash-link\" aria-label=\"Direct link to History\" title=\"Direct link to History\">​</a></h2>\n<p>The History modal lets you view changes and revert apps to a prior state. Until now, the list included many entries (e.g. “minor changes”) that made it difficult to pinpoint exactly what had changed. We’ve added human-readable descriptions for every action and consolidated entries, making it easier than ever to identify your changes and jump back to the right moment.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/153667-VFFGMO-_ve-_ve-_ve-_ve-_ve-_vVzvv70c77-977-977-977-9f0nvv73vv71zGy5-BWXvv73vv70CRwg\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-71-15#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Improved load times for our components</li>\n<li>Fixed S3 download queries that would fail for certain file types</li>\n<li>Fixed an inconsistent default sticky header setting</li>\n<li>Fixed the <strong><em>utils.downloadPage</em></strong> API</li>\n<li>Fixed Snowflake queries to correctly estimate their size</li>\n<li>Improved error messages for bulk user invites</li>\n<li>Added the ability to <strong><em>⌘+click</em></strong> (<strong><em>CTRL+click</em></strong>) on a query, component, or state name inside <code>{{ }}</code> to see its value in the model browser</li>\n<li>Improved permissions for resource creation</li>\n<li>Fixed queries triggered by a Navigation component in a Module</li>\n</ul>\n<p><strong>Enterprise plan</strong></p>\n<ul>\n<li>Added a configuration option to disable public pages</li>\n<li>Added a new page–Environment Variables–in Settings for debugging (Beta)</li>\n<li>Protected apps<!-- -->\n<ul>\n<li>Added the ability to protect and unprotect apps from the actions menu</li>\n<li>Fixed the commit changes modal to display changes since the last commit, instead of against the main branch</li>\n<li>Improved autogenerated PR descriptions</li>\n</ul>\n</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> to see the on-prem versions and their release notes.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-71-15",
            "title": "Retool 2.71.15",
            "summary": "Undo/redo",
            "date_modified": "2021-06-25T23:12:52.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-71-7",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"performance\">Performance<a href=\"https://docs.retool.com/changelog/cloud/2-71-7#performance\" class=\"hash-link\" aria-label=\"Direct link to Performance\" title=\"Direct link to Performance\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/152323-77-9IATvv73vv73vv706P--_ve-_vUPvv73vv73vv73vv70m77-977-977-977-9d--_vVQO77-9Mmvvv70JK2Pvv70\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We recently fixed a long term issue that was negatively impacting Retool performance, caused by inefficient transmission of data between our parent application window and our JavaScript evaluation sandbox. <a href=\"https://community.retool.com/t/what-happened-retool-is-sooo-fast-suddenly/5156/3\" target=\"_blank\" rel=\"noopener noreferrer\">We’re now seeing up to 10x faster query result speeds</a> for many Retool apps, especially those with significant data fetching and <code>{{}}</code> usage.</p>\n<p>To complement this improvement, we’ve also started to expose some performance metadata directly in the query editor. Hover over query’s runtime in the left panel of the query editor and you’ll now see a performance breakdown for that query. You can inspect each step from when a query is triggered to when the data is processed on the client—making it much easier to debug slow queries.</p>\n<p>The performance tooltip will be rolling out to users over the next week. Drop a note to <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a> and let us know how it’s working for you.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"self-hosted-retool\">Self-hosted Retool<a href=\"https://docs.retool.com/changelog/cloud/2-71-7#self-hosted-retool\" class=\"hash-link\" aria-label=\"Direct link to Self-hosted Retool\" title=\"Direct link to Self-hosted Retool\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/152314-77-9HmMYU--_ve-_vQ7vv70F77-9NTs5Ce-_ve-_vUhYSe-_ve-_vWEL77-9Su-_vXHvv70yHCQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>If you’re working with sensitive data or in a highly regulated industry, your internal tools almost certainly need to run on your own infra. For developers in this camp, we’ve just introduced much easier paths to spin up self-hosted Retool: 1-click deployment to AWS, a k8s install script, and deployment as a Docker container to any service (Heroku, Render, etc.). <a href=\"https://retool.com/self-hosted/\" target=\"_blank\" rel=\"noopener noreferrer\">Get started now</a> and build Retool apps on your own infrastructure in less than 10 minutes.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-71-7#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed the app “Preview” button to wait for all changes to save before switching to preview mode</li>\n<li>Fixed the “allowed inputs” validation for certain types of the TextInput component (e.g. <strong><em>percentage</em></strong>, <strong><em>number</em></strong>, <strong><em>currency</em></strong>)</li>\n<li>Added a toggle on custom components to enable the <strong><em>allow-modals</em></strong> sandbox option</li>\n<li>Fixed the Scanner component's image preview on mobile</li>\n<li>Fixed failure conditions in a query's “Response” tab so that they’re no longer shown when the setting is toggled off</li>\n<li>Upgraded the Presto integration JDBC driver to v350</li>\n<li>Added support to the Presto integration for the source connection parameter</li>\n<li>Removed license key checking for airgapped deployments</li>\n<li>Added support for audit log entries when Resources get created, updated, or deleted (Pro plan and above)</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"enterprise-plan\">Enterprise Plan<a href=\"https://docs.retool.com/changelog/cloud/2-71-7#enterprise-plan\" class=\"hash-link\" aria-label=\"Direct link to Enterprise Plan\" title=\"Direct link to Enterprise Plan\">​</a></h3>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/152312-Se-_vRsK77-977-9E--_vSPvv73vv70i77-9M--_vU3vv73vv73vv73vv70KdX4k77-9H--_vVM077-9Ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We’ve been shipping improvements to Protected Apps over the past few weeks and all of those changes are now live on the latest stable build, <a href=\"https://docs.retool.com/docs/retool-v2-69\" target=\"_blank\" rel=\"noopener noreferrer\">2.69.17</a>–check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> to upgrade your Retool instance.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-71-7",
            "title": "Retool 2.71.7",
            "summary": "Performance",
            "date_modified": "2021-06-18T22:50:21.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-69-11",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"more-room-to-write-code\">More room to write code<a href=\"https://docs.retool.com/changelog/cloud/2-69-11#more-room-to-write-code\" class=\"hash-link\" aria-label=\"Direct link to More room to write code\" title=\"Direct link to More room to write code\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/150884-77-9dAFHXe-_ve-_ve-_vXw-77-977-9Jzp777-9NC0yHO-_vRtd77-9VApv77-9D--_vVs-\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Let’s face it, writing more than a few lines of code inside of Retool isn’t usually a great experience: code inputs are small, there aren’t any line numbers, and the text wrapping can be aggressive. This week, we’re excited to ship a new movable, resizable editor window that can be popped out from any code input. Whether you’re writing a custom component, editing JSON for a Chart component, or writing a long SQL query—it’s finally much nicer to write multiline code in Retool.</p>\n<p>We’re working to bring even more code editing improvements to Retool, so drop us a note at <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a> and let us know what you’d like to see next.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-69-11#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added 20+ app edit descriptions for the history tab in \"Releases and history\"</li>\n<li>Added the ability to automatically format JS queries</li>\n<li>Fixed the distanceMatrix endpoint for the Google Maps integration</li>\n<li>Added the ability to set a custom content-type on a S3 upload query</li>\n<li>Added a permission group setting to grant non-admins access to the audit log</li>\n<li>Fixed undo/redo when renaming components</li>\n<li>Added a setting to restrict which user groups can run a query in a query's \"Advanced\" tab</li>\n<li>Added the ability to browse MongoDB collection schemas in the query editor</li>\n<li>Added more defaults to MongoDB fields in the query editor</li>\n<li>Added support for the <strong><em>insertMany</em></strong> action type for MongoDB queries</li>\n<li>Fixed the button column type for the Table component to correctly evaluate references to other components and queries when setting the \"disabled\" field</li>\n<li>Added text color settings to the Rich Text Editor component</li>\n<li>Added support for the <strong><em>style</em></strong> attribute in Text component content</li>\n<li>Fixed a rare edge case with custom auth flows</li>\n<li>Fixed alignment of profile photos in permissions settings</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"enterprise-plan\">Enterprise plan<a href=\"https://docs.retool.com/changelog/cloud/2-69-11#enterprise-plan\" class=\"hash-link\" aria-label=\"Direct link to Enterprise plan\" title=\"Direct link to Enterprise plan\">​</a></h3>\n<ul>\n<li>Added a button in the “Advanced” tab to verify GitHub repo setup for protected apps</li>\n<li>Added the ability to set a name when creating protected branches</li>\n<li>Added links to GitHub commits in “Releases and history” for protected apps</li>\n<li>Added the ability to turn on protected apps from the settings page</li>\n<li>Added support for setting the client ID and secret for JIRA resources</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise?utm_source=beamer&amp;utm_medium=standalone&amp;utm_campaign=May-21-2021&amp;utm_content=textlink\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> to see the on-prem versions and their release notes.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-69-11",
            "title": "Retool 2.69.11",
            "summary": "More room to write code",
            "date_modified": "2021-06-11T23:10:05.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-70-7",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"code-editing-improvements\">Code editing improvements<a href=\"https://docs.retool.com/changelog/cloud/2-70-7#code-editing-improvements\" class=\"hash-link\" aria-label=\"Direct link to Code editing improvements\" title=\"Direct link to Code editing improvements\">​</a></h2>\n<p>Great code editing ergonomics are near and dear to our hearts at Retool. We’ve recently added a few improvements that make writing JavaScript in Retool just a little bit smoother.</p>\n<p>Inline code evaluation previews now display the type of the returned value. This is handy for quick reference when working with properties that can accept multiple types:</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/149550-77-977-9IDzvv70377-977-977-977-9XUnvv71677-9He-_vSPvv71e77-9XVku77-9Q--_ve-_ve-_vToi77-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Retool now also supports and correctly lints ES2020 features, like the nullish coalescing operator and optional chaining. You can replace clunky expressions like <code>{{ (localStorage.values||{}).userStatus ? localStorage.values.userStatus : 'Unavailable' }}</code> with a simple <code>{{ localStorage.values.userStatus ?? 'Unavailable' }}</code>.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/149551-77-9KO-_ve-_ve-_vVvvv73vv73vv73vv70Q77-977-977-977-977-977-977-977-977-9WUvvv70K77-9Be-_vT9E77-9eHE\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Lastly, we’ve improved Retool’s autocomplete to properly infer JavaScript types and offer the available methods and properties, even when chained. If using inline JSDoc comments, the defined parameters will also show up the autocomplete menus.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/149552-PBNzZHNK77-9HBrvv73vv73vv71-d--_ve-_vRLvv73vv71pYzfvv70v77-9Ju-_ve-_ve-_vX7vv703\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-70-7#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Fixed a memory leak issue causing unneeded query results to be retained</li>\n<li>Added the returned value type to inline code evaluation previews</li>\n<li>Added ES2020 support to Retool’s code linter</li>\n<li>Removed notifications from appearing on every copy and paste operation</li>\n<li>Fixed Excel files returned from REST API queries to be correctly parsed as base64Binary</li>\n<li>Added link on the Billing page for admins to view past invoices and payment methods</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"enterprise-plan\">Enterprise Plan<a href=\"https://docs.retool.com/changelog/cloud/2-70-7#enterprise-plan\" class=\"hash-link\" aria-label=\"Direct link to Enterprise Plan\" title=\"Direct link to Enterprise Plan\">​</a></h3>\n<ul>\n<li>Moved protected apps actions into separate menu in the editor header</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-70-7",
            "title": "Retool 2.70.7",
            "summary": "Code editing improvements",
            "date_modified": "2021-06-05T00:28:08.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-69-9",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"one-click-reusable-queries-right-from-your-app\">One-click reusable queries, right from your app<a href=\"https://docs.retool.com/changelog/cloud/2-69-9#one-click-reusable-queries-right-from-your-app\" class=\"hash-link\" aria-label=\"Direct link to One-click reusable queries, right from your app\" title=\"Direct link to One-click reusable queries, right from your app\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/148162-dwpPT1wU77-9W--_ve-_ve-_vW4s77-9dO-_vV8i77-977-9AGs9MlDvv71e77-977-9Te-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>When you’re writing a query in an app, you may realize that it would be useful in many apps. Rather than copy/pasting your work, you can now extract your resource query to the Query Library and import your new, reusable query wherever you need it! We’ll automatically convert JS expressions to query variables, so that each app can configure its own inputs. To learn more about reusing queries with the Query Library, check out the <a href=\"https://docs.retool.com/docs/reusable-queries\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-69-9#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>Added the ability to reset all temporary state variables to their initial value</li>\n<li>Improved performance of Omnibox <strong><em>⌘ + K</em></strong> (or<strong>_ CTRL + K_</strong>)</li>\n<li>Included Query Library queries in Omnibox <strong><em>⌘ + K</em></strong> (or <strong><em>CTRL + K</em></strong>)</li>\n<li>Fixed the Jira query editor to work correctly with POST requests</li>\n<li>Fixed the query editor so that its height persists throughout a session</li>\n<li>Fixed the canvas background color for themes in the editor</li>\n<li>Added support for Vim mode in code editors <strong><em>⌘ + ⌥ + V</em></strong> (or <strong><em>CTRL + ALT + V</em></strong>)</li>\n<li>Fixed initial value on app load for the date/time inputs</li>\n<li>Fixed the function selection for Lambda queries</li>\n<li>Fixed S3 read queries for <strong><em>binary/octet-stream</em></strong> content-type payloads\n**\n---**</li>\n</ul>\n<p><strong>Enterprise plan</strong></p>\n<ul>\n<li>Added an environment variable to disable username/password login (<strong><em>DISABLE_USER_PASS_LOGIN</em></strong>)</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/self-hosted/concepts/update-deployment\">this guide</a> to see the on-prem versions and their release notes.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-69-9",
            "title": "Retool 2.69.9",
            "summary": "One-click reusable queries, right from your app",
            "date_modified": "2021-05-28T23:02:37.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-69-3",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"google-maps-and-google-analytics-integrations\">Google Maps and Google Analytics integrations<a href=\"https://docs.retool.com/changelog/cloud/2-69-3#google-maps-and-google-analytics-integrations\" class=\"hash-link\" aria-label=\"Direct link to Google Maps and Google Analytics integrations\" title=\"Direct link to Google Maps and Google Analytics integrations\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/146805-77-977-9VO-_vR4mOjMV77-9KzwidO-_vXvvv73vv716b--_ve-_ve-_vSfvv70Z77-977-977-977-977-9JA\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Need to geocode addresses? Find the road closest to a map point? Build a realtime dashboard of visitors on your website?</p>\n<p>We've added native integrations with two of Retool’s most commonly connected APIs: Google Maps and Google Analytics. Both integrations come with out-of-the-box authentication support and a custom query builder for discovering endpoints and validating inputs. For Google Analytics, we've prepared a transformer that makes it easy to parse reports into a clean array of objects for charting and displaying in a table format. To learn more, check out the <a href=\"https://docs.retool.com/docs/google-analytics-integration\" target=\"_blank\" rel=\"noopener noreferrer\">Google Analytics</a> and <a href=\"https://docs.retool.com/docs/google-maps-integration\" target=\"_blank\" rel=\"noopener noreferrer\">Google Maps</a> docs.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved-query-sharing\"><strong>Improved query sharing</strong><a href=\"https://docs.retool.com/changelog/cloud/2-69-3#improved-query-sharing\" class=\"hash-link\" aria-label=\"Direct link to improved-query-sharing\" title=\"Direct link to improved-query-sharing\">​</a></h2>\n<p>Shared queries imported from the Query Library can now be pinned to their latest version. Before this update, any changes made to a shared query required you to manually bump the version in each app that used it. Now your apps can be in sync automatically with your shared query.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/146806-77-9MO-_ve-_ve-_vSka77-9IhHvv70LH--_vUxb77-977-977-9IX_vv73vv71oYO-_vRzvv70ZOhYs\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We also now include a list of apps that use a shared query in the right panel of the Query Library. When making big changes to a query (e.g. adding new variables), you can quickly open each app from the list and carefully update them, as needed.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/146810-77-9dX7vv73vv705D--_vTYjS1Tvv71aKGDvv73vv73vv73vv73vv73vv70YNu-_vUzvv70577-977-977-977-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Pinning to the latest version is only available for cloud customers, if you'd like to use it on-prem, shoot us a note at <a href=\"mailto:support@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">support@retool.com</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\">Fixes and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-69-3#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Fixes and improvements\" title=\"Direct link to Fixes and improvements\">​</a></h2>\n<ul>\n<li>\n<p>Added support for copy/pasting multiple components</p>\n</li>\n<li>\n<p>Added autocomplete for native JavaScript functions in JavaScript queries</p>\n</li>\n<li>\n<p>Added support for ES2020 features like nullish coalescing and optional chaining</p>\n</li>\n<li>\n<p>Updated pasted components to use their original name</p>\n</li>\n<li>\n<p>Improved performance of apps with a Table component</p>\n</li>\n<li>\n<p>Added a <strong><em>setValue</em></strong> API to the Slider component</p>\n</li>\n<li>\n<p>Added <strong><em>play</em></strong>, <strong><em>pause</em></strong>, and <strong><em>seekTo</em></strong> APIs to the Video component</p>\n</li>\n<li>\n<p>Added a <strong><em>duration</em></strong> property to the Video component</p>\n</li>\n<li>\n<p>Fixed inspector for the Calendar component</p>\n</li>\n<li>\n<p>Fixed the size of the Modal button when disabled</p>\n</li>\n<li>\n<p>Fixed event handlers on the S3 Uploader component</p>\n</li>\n<li>\n<p>Fixed the default name for new S3 Uploader components</p>\n</li>\n<li>\n<p>Fixed component positioning when pasting into containers</p>\n</li>\n<li>\n<p>Fixed some folders not appearing in the \"Add to folder\" dropdown when creating a new app</p>\n</li>\n<li>\n<p>Added link to \"Releases and history\" when previewing an app\n---<strong>Enterprise plan</strong></p>\n</li>\n<li>\n<p>Added support for creating releases for protected apps</p>\n</li>\n<li>\n<p>Fixed \"Releases and history\" to show history for the current branch on a protected app</p>\n</li>\n<li>\n<p>Enabled editors to reset a protected app to the state of a remote branch</p>\n</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> to see the on-prem versions and their release notes.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-69-3",
            "title": "Retool 2.69.3",
            "summary": "Google Maps and Google Analytics integrations",
            "date_modified": "2021-05-21T21:19:44.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-68-13",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"event-handlers\">Event Handlers<a href=\"https://docs.retool.com/changelog/cloud/2-68-13#event-handlers\" class=\"hash-link\" aria-label=\"Direct link to Event Handlers\" title=\"Direct link to Event Handlers\">​</a></h2>\n<p>Think of a Retool event handler just like <strong><em>addEventListener</em>**</strong> ** in native JS or **<em>onChange</em>** in React. Before, components could only trigger a single query, and anything more advanced would require writing JavaScript. Now, you can configure components to trigger multiple queries, control other components, and call additional APIs in response to user interactions.</p>\n<p>We’ve also greatly expanded the number of events available on components, and added new <strong><em>utils</em></strong> and component APIs. Anything you can do with Retool’s JavaScript API (e.g.** <strong>_</strong>query1.trigger()**_, <strong><em>modal.open()</em></strong>, **<em>utils.showNotification(...)</em>**) you can now do with Event Handlers. Event Handlers will be rolled out to all customers over the next few weeks. To learn more, check out the <a href=\"https://docs.retool.com/docs/event-handlers\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a>.</p>\n<p>Style Editors</p>\n<p>Every component now has a style editor in the inspector, making it easier to customize the appearance of your applications without CSS. You can edit the background, foreground, borders and more—you can even use a JavaScript expression for dynamic colors (e.g. <code>{{ checkbox1.value ? 'purple' : 'yellow' }}</code>). Style editors will be rolled out to all customers over the next few weeks. To learn more, check out the <a href=\"https://docs.retool.com/docs/styling-new\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a>.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/145488-WGDvv73vv73vv73vv70kXlgJ77-977-977-9DO-_ve-_vWJm77-9Ku-_vXp377-9IQpj77-977-9HO-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"group-admins\">Group Admins<a href=\"https://docs.retool.com/changelog/cloud/2-68-13#group-admins\" class=\"hash-link\" aria-label=\"Direct link to Group Admins\" title=\"Direct link to Group Admins\">​</a></h2>\n<p>Admins can now assign Group Admins to manage membership for any custom groups.</p>\n<p>Previously, only Admins could manage membership for custom groups. Now, Admins can grant any number of group members the Group Admin privileges to add new users or remove existing users. Group Admins will be able to see all users within an org, but are not able to modify any aspect of their group beyond membership (e.g. app and resource permissions).</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/145486-S--_vSJnOGfvv73vv73vv73vv715Au-_ve-_vU7vv70F77-9dAhR77-9Rm4ga--_vTPvv73vv70t77-9\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-68-13#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Improved performance when typing in a TextInput</li>\n<li>Added the ability to unpublish a release, which switches an app back to using the latest working version</li>\n<li>Added an action to <a href=\"https://d3399nw8s4ngfo.cloudfront.net/changelog/formatting_sql_query_query_library.mp4\" target=\"_blank\" rel=\"noopener noreferrer\">format SQL or GraphQL queries in the Query Library </a></li>\n<li>Added more information to document titles to make working in multiple browser tabs easier</li>\n<li>Added new templates for an <a href=\"https://retool.com/templates/elasticsearch-admin-panel\" target=\"_blank\" rel=\"noopener noreferrer\">Elasticsearch Admin Panel</a>, <a href=\"https://retool.com/templates/datadog-retool-elasticsearch-panel\" target=\"_blank\" rel=\"noopener noreferrer\">Datadog Elasticsearch Admin Panel</a>, and <a href=\"https://retool.com/templates/twilio-segment-app\" target=\"_blank\" rel=\"noopener noreferrer\">Twilio + Segment Personalized Outreach App</a></li>\n<li>Reduced app startup time</li>\n<li>Fixed visibility of the spinner when saving changes in a Table</li>\n<li>Removed <strong><em>updatedAt</em></strong> property from release and commit diffs</li>\n<li>Improved performance of apps with multiple modules</li>\n<li>Fixed display of debug data when testing a <a href=\"https://docs.retool.com/docs/custom-api-authentication#2-use-custom-auth-for-your-authentication-method\" target=\"_blank\" rel=\"noopener noreferrer\">custom auth flow</a> with an OAuth step</li>\n<li>Changed query search in the Query Editor to be case insensitive</li>\n<li>Fixed incorrect page documentation content on public apps</li>\n<li>Fixed styles of the color picker in the inspector</li>\n<li>Fixed documentation links for several resources</li>\n<li>Fixed \"last active\" date on the Users page under Settings</li>\n</ul>\n<p><strong>Enterprise plan</strong></p>\n<ul>\n<li>Fixed default folder permissions for new pages that use Git Syncing</li>\n</ul>\n<p>Check out <a href=\"https://docs.retool.com/docs/updating-retool-on-premise\" target=\"_blank\" rel=\"noopener noreferrer\">this guide</a> to see the on-prem versions and their release notes.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-68-13",
            "title": "Retool 2.68.13",
            "summary": "Event Handlers",
            "date_modified": "2021-05-14T22:51:23.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-68-5",
            "content_html": "<p>App Documentation</p>\n<p>**READMEs. **README files are a staple of any programming project. If you're on the Startup plan or above, all of your Retool apps now come equipped with a built-in README file. To open it, click on the app’s description in the navigation bar. The Editor README is a great place for sharing information with other Retool editors in your organization: details on working with data sources, descriptions of business logic, or ground rules for making changes.</p>\n<p><strong>User Documentation.</strong> Of course, developers aren’t the only ones who benefit from documentation. For customers on plans that support end-user only permissions (Pro and above), we’ve also added User Documentation support. Here you can provide information that will be visible to your app’s users, like how to operate the app and who to contact when there’s an issue. (You can also set the docs to open automatically for users firing up the app for the first time.)</p>\n<p>To learn more about App Documentation and how to bring sophisticated text display to Retool, check out our <a href=\"https://retool.com/blog/text-v2-app-documentation/\" target=\"_blank\" rel=\"noopener noreferrer\">blog</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes-and-improvements\"><strong>Fixes and improvements</strong><a href=\"https://docs.retool.com/changelog/cloud/2-68-5#fixes-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to fixes-and-improvements\" title=\"Direct link to fixes-and-improvements\">​</a></h2>\n<ul>\n<li>Introduced <strong><em>⌘/⌃X</em></strong> to cut/paste components on the canvas and between apps</li>\n<li>Corrected placement of pasted components to be more predictable</li>\n<li>Improved the Text component:<!-- -->\n<ul>\n<li>Reintroduced a background color option</li>\n<li>Reintroduced support for the <strong><em>class</em></strong> attribute on HTML elements</li>\n<li>Improved styles for nested lists and headlines</li>\n<li>Fixed a bug where toggling staging mode would reset the height</li>\n</ul>\n</li>\n<li>Added the ability to turn a Container into a Tabbed Container from the <a href=\"https://d3399nw8s4ngfo.cloudfront.net/changelog/container_to_tabbed_container.gif\" target=\"_blank\" rel=\"noopener noreferrer\">component’s Inspector menu</a></li>\n<li>Updated the Container deletion confirmation to list child components that will also be deleted</li>\n<li>Updated Table and Chart to use the currently selected query by default when created</li>\n<li>Updated the Table <strong><em>setFilters</em></strong>_ _API to support \"OR\" in addition to \"AND\"</li>\n<li>Fixed a bug where custom CSS did not load correctly in Modules</li>\n<li>Added support for tabbing between components in the editor</li>\n<li>Added support for opening a new tab from the Omnibox by holding <em><strong>⌘/⌃</strong></em></li>\n<li>Added keyboard shortcut to toggle the canvas grid lines (<em><strong>⌘/⌃+Shift+G</strong></em>)</li>\n<li>Updated the Query Library to display duration after running a query</li>\n<li>Updated the Releases list to include the creator and publisher of each release</li>\n<li>Fixed a bug where renamed components, queries, and transformers could collide with reserved Retool names (e.g. <strong><em>utils</em></strong>)</li>\n<li>Fixed a rare bug where JS references to a component wouldn't be updated on rename</li>\n<li>Improved error messages when renaming components, queries, and transformers</li>\n<li>Redesigned tooltips in the Inspector</li>\n<li>Updated the Alert component to be resizable up to 4 rows in height</li>\n<li>Fixed a bug where editors without \"use\" permissions could add a Module to apps</li>\n<li>Fixed Snowflake queries to respect the<strong>_ DBCONNECTOR_QUERY_TIMEOUT_MS_</strong> env variable</li>\n<li>Fixed a bug with Stripe queries that contain array parameters</li>\n<li>Fixed a bug in Google Cloud Storage queries where the default export file type was invalid</li>\n<li>Fixed a bug where disabled users would show up in the app users list</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"enterprise-plan\"><strong>Enterprise Plan</strong><a href=\"https://docs.retool.com/changelog/cloud/2-68-5#enterprise-plan\" class=\"hash-link\" aria-label=\"Direct link to enterprise-plan\" title=\"Direct link to enterprise-plan\">​</a></h3>\n<ul>\n<li>Updated protected apps to create an initial commit when starting with an empty repo</li>\n<li>Fixed author data when syncing protected branches to Retool</li>\n<li>Fixed a rare bug where the GitHub API would not return the entire tree for a protected app's repo</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-68-5",
            "title": "Retool 2.68.5",
            "summary": "App Documentation",
            "date_modified": "2021-05-07T20:02:18.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-66-88",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"text-v2\">Text v2<a href=\"https://docs.retool.com/changelog/cloud/2-66-88#text-v2\" class=\"hash-link\" aria-label=\"Direct link to Text v2\" title=\"Direct link to Text v2\">​</a></h2>\n<p>We’ve just launched a brand new version of our Text component. The component includes:</p>\n<ul>\n<li>Full support for all <a href=\"https://guides.github.com/features/mastering-markdown/\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub flavored markdown</a> features — 6 different headline sizes, bold, italics, strikethrough, underline, bullet lists, numbered lists, task lists, images, links, blockquotes, code blocks, and tables.</li>\n<li>Dynamic height with the “hug contents” option, on by default</li>\n<li>Inspector improvements including a markdown-aware code editor and image scaling options</li>\n</ul>\n<p>The new Text component no longer supports advanced HTML rendering. If you require more custom HTML, check out the <a href=\"https://retool.com/components#IFrame\" target=\"_blank\" rel=\"noopener noreferrer\">iFrame component</a> or the <a href=\"https://docs.retool.com/docs/custom-react-components\" target=\"_blank\" rel=\"noopener noreferrer\">Custom component</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"app-specific-styles-and-scripts\">App specific styles and scripts<a href=\"https://docs.retool.com/changelog/cloud/2-66-88#app-specific-styles-and-scripts\" class=\"hash-link\" aria-label=\"Direct link to App specific styles and scripts\" title=\"Direct link to App specific styles and scripts\">​</a></h2>\n<p>You might have noticed that the Text component doesn’t support adding <code>style</code> tags for custom CSS. Good news is, you no longer have to hack in CSS into random Text components. You can now add styles specific to your application in the “Scripts and styles” modal. As the name suggests, this panel also lets you add <a href=\"https://docs.retool.com/docs/custom-js-code\" target=\"_blank\" rel=\"noopener noreferrer\">JS libraries and define custom code</a> in your applications.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/140782-Eu-_vR7vv73vv73vv70vFe-_vVjvv73vv73vv70eWTjvv73vv71wc01HX--_ve-_vUjvv73vv73vv71lehg\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Layout improvements and dynamic containers</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/140781-77-9Ll8q77-977-977-977-977-9a0rvv73vv71m77-9LAxJau-_ve-_vRLvv71sKS4y77-9Qu-_vUbvv70\" alt=\"\" class=\"img_ev3q\"></p>\n<p>We’ve refreshed the way drag and drop works in the editor for easier editing and a faster feedback loop:</p>\n<ul>\n<li>Redesigned component bounding box for easier selection, drag, and resize</li>\n<li>Instant drag-and-drop feedback with no countdown timer</li>\n<li>Major improvements and fixes to layout reflows from drag-and-drop and hidden components</li>\n<li>Hidden components are now visible when selected</li>\n<li>Support for opening/closing modals and switching Tabbed container tabs during drag-and-drop</li>\n</ul>\n<p>We’ve also added dynamically resizing to some containers. The Container component, Tabbed Container component, and Form components now include a “hug contents” setting that automatically sets the height of the container based on the height of its contents!</p>\n<p>For a quick guide on how these changes can make you faster at editing, check out the <a href=\"https://docs.retool.com/docs/layout#dynamic-layouts\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"chart-v2\">Chart v2<a href=\"https://docs.retool.com/changelog/cloud/2-66-88#chart-v2\" class=\"hash-link\" aria-label=\"Direct link to Chart v2\" title=\"Direct link to Chart v2\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/140780-H0p6eu-_vU7vv73vv73vv71777-977-9M--_vQxMLO-_ve-_ve-_vT90BO-_vWjvv70JW--_ve-_vVoY\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Our new chart component, built on top of the <a href=\"https://plotly.com/javascript/\" target=\"_blank\" rel=\"noopener noreferrer\">open source Plotly library</a>, makes data visualizations easier to build, update, and consume. It makes it simple to build charts right out of the box with all of the basics—like mixed chart types, built-in aggregations, and support for grouping—included. And because you’re building charts in Retool, you can take action on the data you’re looking at by easily writing back to your database, making an API request, or whatever else is impactful. See how other Retool users are leveraging charts in our <a href=\"https://retool.com/blog/introducing-our-new-chart-component/\" target=\"_blank\" rel=\"noopener noreferrer\">blog post</a> or checkout our <a href=\"https://www.youtube.com/watch?v=iN5nLpcu2J8\" target=\"_blank\" rel=\"noopener noreferrer\">webinar</a> on how to build data-driven dashboards in Retool.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"modules\">Modules<a href=\"https://docs.retool.com/changelog/cloud/2-66-88#modules\" class=\"hash-link\" aria-label=\"Direct link to Modules\" title=\"Direct link to Modules\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/140779-IO-_vQYJdSR_LmPvv73vv73vv73vv73vv71mBO-_ve-_vTXvv73vv718FQ8q77-977-977-9N--_ve-_vVc\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Modules are a new way for Retool customers to reuse groups of components and queries between applications. Modules give you the ability to create a shared library of reusable components and queries that you can use in any Retool application. Any update you make to a module is immediately reflected in every app it powers. Check out our <a href=\"https://retool.com/blog/introducing-modules/\" target=\"_blank\" rel=\"noopener noreferrer\">blog post</a> and the <a href=\"https://docs.retool.com/docs/modules\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"user-management-improvements\">User Management Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-66-88#user-management-improvements\" class=\"hash-link\" aria-label=\"Direct link to User Management Improvements\" title=\"Direct link to User Management Improvements\">​</a></h2>\n<p>A brand new UI and folder-based permissions. Quickly and effortlessly manage access for many users.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/140796-77-9JmTvv73vv70B77-9G--_vSRGX2bvv73vv73vv71877-9Zu-_ve-_ve-_ve-_ve-_ve-_vT3vv73vv71yOmjvv70\" alt=\"\" class=\"img_ev3q\"></p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/140797-77-9Fnjvv73vv70L77-9X3rvv70Z77-9bgAH77-977-977-977-977-977-9QU3vv70jIe-_ve-_ve-_ve-_vWdE\" alt=\"\" class=\"img_ev3q\"></p>\n<p>A suite of new integrations</p>\n<p>We’ve added integrations for <a href=\"https://docs.retool.com/docs/jira-integration\" target=\"_blank\" rel=\"noopener noreferrer\">Jira</a>, <a href=\"https://docs.retool.com/docs/asana-integration\" target=\"_blank\" rel=\"noopener noreferrer\">Asana</a>, <a href=\"https://docs.retool.com/docs/datadog-integration\" target=\"_blank\" rel=\"noopener noreferrer\">Datadog</a> and BigID, with many more to come!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"refreshed-query-uis\">Refreshed Query UIs<a href=\"https://docs.retool.com/changelog/cloud/2-66-88#refreshed-query-uis\" class=\"hash-link\" aria-label=\"Direct link to Refreshed Query UIs\" title=\"Direct link to Refreshed Query UIs\">​</a></h2>\n<p>We’ve updated our UI for some of our most popular integrations including Stripe, Twilio and Sendgrid. Among many visual improvements, the new UI includes inline documentation for the resources so you no longer have to constantly switch between Retool and the Stripe/Twilio/Sendgrid documentation when writing your queries.</p>",
            "url": "https://docs.retool.com/changelog/cloud/2-66-88",
            "title": "Retool 2.66.88",
            "summary": "Text v2",
            "date_modified": "2021-04-20T01:21:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-66-28",
            "content_html": "<p><strong>New</strong></p>\n<ul>\n<li>Added support for attachments in the <strong>SMTP</strong> integration</li>\n<li>Added support for renaming resources without breaking references to the resource in apps</li>\n<li>Added misc. improvements to the UX of modules</li>\n</ul>\n<p><strong>Protected applications (beta)</strong></p>\n<ul>\n<li>Fixed switching between branches in protected apps that were placed in a folder.</li>\n<li>Showed better error messages when invalid branch names are chosen</li>\n</ul>\n<p><strong>Bugfixes</strong></p>\n<ul>\n<li>Improved error message when queries fail due to network errors</li>\n<li>Removed requirement to manually enable custom analytics on each app</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-66-28",
            "title": "Retool 2.66.28",
            "summary": "New",
            "date_modified": "2021-02-24T06:40:32.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-66-25",
            "content_html": "<p><strong>New</strong></p>\n<ul>\n<li>Added a new <strong>SMTP Integration</strong> which supports sending emails to arbitrary SMTP servers.</li>\n<li>**2FA **is now a feature all paid plans have available.</li>\n<li>Added support for server variables in the **OpenAPI **integration</li>\n<li>Added option to configure the min and max database pool size that on-prem Retool uses</li>\n</ul>\n<p><strong>Protected Applications (Beta)</strong></p>\n<ul>\n<li>Added support for using Protected Applications at the same time with the existing <a href=\"https://docs.retool.com/docs/git-syncing\" target=\"_blank\" rel=\"noopener noreferrer\">git syncing workflow</a>.</li>\n<li>Various UX improvements</li>\n</ul>\n<p><strong>Modules (Beta)</strong></p>\n<ul>\n<li>Added option to add descriptions to modules</li>\n<li>Added option to convert existing containers into modules</li>\n</ul>\n<p><strong>Performance improvements</strong></p>\n<ul>\n<li>Users of a local Retool deployment can add the environment variable <code>APPS_FS_SYNC_WATCHER=true</code> to greatly improve the performance of modifying Retool apps.</li>\n<li>Reduced the main bundle size of the Retool app by ~30%.</li>\n<li>Added a cache for utilities used in the runtime of Retool.</li>\n</ul>\n<p><strong>Bugfixes</strong></p>\n<ul>\n<li>\n<p>Fixed issue in the **Table **component where date type columns did not support selecting a time of day.</p>\n</li>\n<li>\n<p>Fixed issue where the **SAP Hana **integration would not work when connecting to the database via a SSH tunnel</p>\n</li>\n<li>\n<p>Fixed issue where **Textinputs **would not accept negative number or currency values</p>\n</li>\n<li>\n<p>Fixed issue where components could not be copy-pasted immediately after using <code>CMD+C</code></p>\n</li>\n<li>\n<p>Fixed issue where the Dropdown component sometimes may render its values behind another component</p>\n</li>\n<li>\n<p>Fixed issue with Tabbed Containers when the list of tab names contains objects</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-66-25",
            "title": "Retool 2.66.25",
            "summary": "New",
            "date_modified": "2021-02-19T08:50:08.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-66-14",
            "content_html": "<p><strong>New</strong></p>\n<ul>\n<li>\n<p>Added support for Docker secrets in Retool's on-prem deployment</p>\n</li>\n<li>\n<p>Added support for <a href=\"https://docs.retool.com/docs/sso-generic-openid-provider#role-mapping\" target=\"_blank\" rel=\"noopener noreferrer\">parsing group claims</a> in the **Custom OAuth2 SSO integration. **</p>\n</li>\n<li>\n<p>Added support for <a href=\"https://docs.retool.com/docs/sso-generic-openid-provider#example-walk-through-google\" target=\"_blank\" rel=\"noopener noreferrer\">Google SSO</a> in the **Custom OAuth2 SSO integration. **</p>\n</li>\n<li>\n<p><a href=\"https://github.com/tryretool/retool-helm\" target=\"_blank\" rel=\"noopener noreferrer\">Official Helm 3 chart for Retool available. </a>Helm 2 charts are available <a href=\"https://github.com/tryretool/retool-helm/tree/helm2\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>.</p>\n</li>\n<li>\n<p>Added tools to debug the authentication flow for resources configured using **Custom Auth **</p>\n</li>\n<li>\n<p>Redesigned the database schema browser</p>\n</li>\n<li>\n<p>Changed <strong>REST API</strong> resources to allow for empty base URLs</p>\n</li>\n</ul>\n<p><strong>Performance improvements</strong></p>\n<ul>\n<li>Transition speed between different apps greatly improved</li>\n<li>Cleaned up some unnecessary libraries and code</li>\n</ul>\n<p><strong>Bugfixes</strong></p>\n<ul>\n<li>\n<p>Fixed issue where single-container on-prem deployments no longer supported SSH connections</p>\n</li>\n<li>\n<p>Fixed issue where text would overflow in <strong>Button</strong> components when the label was too long</p>\n</li>\n<li>\n<p>Fixed issue where the <strong>SAP Hana</strong> integration would unexpectedly hang</p>\n</li>\n<li>\n<p>Fixed visual issue with <strong>Table</strong> headers when using themes</p>\n</li>\n<li>\n<p>Fixed issue where the <strong>ReorderableList</strong> would not work with duplicate values</p>\n</li>\n<li>\n<p>Fixed visual bugs of the Settings page on wider screens</p>\n</li>\n<li>\n<p>Fixed custom dimensions support in our <strong>Google Analytics</strong> integration</p>\n</li>\n<li>\n<p>Fixed visual bug when inviting additional users</p>\n</li>\n<li>\n<p>Fixed issue where the staging / production toggle would still appear even when you had set the <code>HIDE_PROD_AND_STAGING_TOGGLES</code> environment variable to <code>true</code></p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-66-14",
            "title": "Retool 2.66.14",
            "summary": "New",
            "date_modified": "2021-02-09T08:38:42.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/performance-improvements-table-features-beta-updates-and-fixes",
            "content_html": "<p><strong>New</strong></p>\n<ul>\n<li>\n<p>Added support for custom SSL options in the** gRPC** integration</p>\n</li>\n<li>\n<p>Improved how we handle errors in the <strong>OpenAPI</strong> integration</p>\n</li>\n<li>\n<p>Added option to configure Table components to hide the refresh button in its footer.</p>\n</li>\n<li>\n<p>Added support for frozen columns in the **Table **component</p>\n</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/130307-77-977-977-977-977-977-9Ak3vv73vv70Y77-9DC9yHO-_ve-_ve-_ve-_ve-_ve-_vWQIVu-_ve-_vTAB77-977-977-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p><strong>Protected Applications (Beta)</strong></p>\n<ul>\n<li>Added branch management interface to the editor</li>\n<li>Fixed issue where renaming or moving apps would not sync to git repos</li>\n<li>Fixed issue opening pull requests in GitHub Enterprise</li>\n</ul>\n<p><strong>Layout (beta)</strong></p>\n<ul>\n<li>\n<p>Holding <code>CMD</code> will block component interaction and allow you drag and drop components without having to worry about triggering side effects</p>\n</li>\n<li>\n<p>Selecting a hidden components will make the component visible automatically.\n<strong>Performance improvements</strong></p>\n</li>\n<li>\n<p>Apps with larger numbers of concurrent queries (5+) should see significant improvements in the responsiveness of the application when the queries are running.</p>\n</li>\n</ul>\n<p><strong>Modules beta</strong></p>\n<ul>\n<li>Modules will inherit the permissions sets of their host app. This means that end users will be able view modules used in apps even if they have not been granted explicit view access to those modules.</li>\n<li>Importing an app with modules will also automatically recreate missing modules that are needed by that app.</li>\n</ul>\n<p><strong>Bugfixes</strong></p>\n<ul>\n<li>\n<p>Fixed issue where exporting apps on a non-main branch in the protected application workflow would still export the main branch</p>\n</li>\n<li>\n<p>Fixed an issue where OAuth2 flows that had “skip Retool consent screen” turned on was incorrectly interpolating variables</p>\n</li>\n<li>\n<p>Fixed issue where the id token was not being refreshed in the OAuth2 refresh</p>\n</li>\n<li>\n<p>Fixed issue where the Github API Base URL was not visible in the protected apps settings</p>\n</li>\n<li>\n<p>Fixed issue where importing apps would stop working</p>\n</li>\n<li>\n<p>Fixed issue where the <strong>Rich Text Editor</strong> would be blurred unexpectedly</p>\n</li>\n<li>\n<p>Fixed issue where it was not possible to disable beta experiments</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/performance-improvements-table-features-beta-updates-and-fixes",
            "title": "2.66.5 Performance improvements, table features, beta updates, and fixes",
            "summary": "New",
            "date_modified": "2021-02-02T08:23:12.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-65-1",
            "content_html": "<p><strong>Protected applications beta</strong></p>\n<ul>\n<li>Added the ability to edit protected branches from end user mode</li>\n</ul>\n<p><strong>Performance</strong></p>\n<ul>\n<li>Changed the <code>utils.openUrl</code> utility method to use client-side routing when possible</li>\n</ul>\n<p><strong>Bugfixes</strong></p>\n<ul>\n<li>Fixed issue where some corrupted apps would fail to load</li>\n<li>Fixed several issues in the OpenAPI v3 integration</li>\n<li>Fixed exporting apps to include any modules that they use.</li>\n<li>Fixed issue where on-prem deployments with both <code>USE_SHORT_SESSIONS</code> turned on as well as 2FA enforced would lead user sessions timing out after five minutes.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-65-1",
            "title": "Retool 2.65.1",
            "summary": "Protected applications beta",
            "date_modified": "2021-01-27T08:16:34.000Z",
            "tags": [
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-64-83",
            "content_html": "<p><em>This update is available in version 2.64.83 or higher.</em></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"query-editor-folders\">Query editor folders<a href=\"https://docs.retool.com/changelog/cloud/2-64-83#query-editor-folders\" class=\"hash-link\" aria-label=\"Direct link to Query editor folders\" title=\"Direct link to Query editor folders\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/125091-dFQ_ZDTvv71RXXQw77-9VFrvv73vv73vv70I77-977-977-977-9Iizvv73vv70y77-977-977-977-977-9Sg\" alt=\"\" class=\"img_ev3q\"></p>\n<p>You can now organize your queries and transformers inside folders! We’ve also re-structured the query editor so that queries and transformers are in the same list and can be organized together.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"property-tooltips\">Property tooltips<a href=\"https://docs.retool.com/changelog/cloud/2-64-83#property-tooltips\" class=\"hash-link\" aria-label=\"Direct link to Property tooltips\" title=\"Direct link to Property tooltips\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/125090-77-9Q3JI77-9WzYuKRDvv73vv73vv71t77-9Se-_ve-_ve-_ve-_ve-_vT3vv71eZ08ED1zvv71G77-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>When you’re exploring the left panel (⌘B) in the editor, you’ll find tooltips as you hover over certain properties that surface helpful tips and documentation.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"editor-improvements\">Editor improvements<a href=\"https://docs.retool.com/changelog/cloud/2-64-83#editor-improvements\" class=\"hash-link\" aria-label=\"Direct link to Editor improvements\" title=\"Direct link to Editor improvements\">​</a></h2>\n<ul>\n<li>You can now search for imported queries in the Query editor menu</li>\n<li>String type values in the green evaluation preview are now wrapped in quotes</li>\n<li>Component drag-and-drop no longer interferes with selecting text in an input</li>\n<li>You can now configure the resolution on** utils.downloadPDF()**</li>\n<li>You can now omit elements when downloading a pdf of your Retool app with <strong>utils.downloadPage()</strong></li>\n<li>Query \"on success\" notifications are no longer configurable when they won't be displayed</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"component-improvements\">Component improvements<a href=\"https://docs.retool.com/changelog/cloud/2-64-83#component-improvements\" class=\"hash-link\" aria-label=\"Direct link to Component improvements\" title=\"Direct link to Component improvements\">​</a></h2>\n<ul>\n<li>All Select components can now be set to allow app users to enter custom values</li>\n<li>Enables option to search for and select custom values in Dropdowns. Clarifies difference between allowing a custom value and displaying an invalid value by renaming \"Allow out of range values\" to \"Display invalid values\"</li>\n<li>Form components now also consider input components (Text Inputs, Selects, etc.) nested inside containers</li>\n<li>Plotly chart components now omit numeric columns formatted as strings from parsed x-axis value options. Data returned from Postgres and Google Sheets datasets will now render correctly when graphed with Plotly component</li>\n<li>DateTimePicker components now support \"required\" validation for forms</li>\n<li>Fixed an issue where the Rich Text Editor would not always display the correct value after model updates</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"resource-improvements\">Resource improvements<a href=\"https://docs.retool.com/changelog/cloud/2-64-83#resource-improvements\" class=\"hash-link\" aria-label=\"Direct link to Resource improvements\" title=\"Direct link to Resource improvements\">​</a></h2>\n<ul>\n<li>Cassandra resources now support read-only AWS Keyspaces</li>\n<li>Fix Google Cloud DataStore ordering bug where clearing the ordering setting broke the query.</li>\n<li>Fix for OpenAPI custom query parameters</li>\n<li>Specifying a None for the Body field in REST queries will now send nothing instead of an empty object</li>\n<li>Fixed an issue where certain Custom Auth steps for REST and GraphQL resources were skipped if they followed an OAuth2 step</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-64-83",
            "title": "Retool 2.64.83",
            "summary": "This update is available in version 2.64.83 or higher.",
            "date_modified": "2021-01-26T00:12:57.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/alert-component",
            "content_html": "<p><em>This update is available in version 2.64.72 or higher.</em></p>\n<p>We’ve added an “Alert” component to Retool! Alert components let you provide and highlight feedback to your users. You might <a href=\"https://docs.retool.com/docs/app-appearance#hiding-and-disabling-components--queries\" target=\"_blank\" rel=\"noopener noreferrer\">hide and show</a> this component based on the response of a query. You can dynamically set the type of alert you show to your users (ex: display a success or error based on the return value of a query). You can also include a button in this component that can take any action a Button component can, such as running a query, or exporting data.</p>",
            "url": "https://docs.retool.com/changelog/alert-component",
            "title": "Alert component",
            "summary": "This update is available in version 2.64.72 or higher.",
            "date_modified": "2021-01-11T20:33:03.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-64-71",
            "content_html": "<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"these-updates-are-included-in-v26471-or-higher\">These updates are included in v2.64.71 or higher.<a href=\"https://docs.retool.com/changelog/cloud/2-64-71#these-updates-are-included-in-v26471-or-higher\" class=\"hash-link\" aria-label=\"Direct link to These updates are included in v2.64.71 or higher.\" title=\"Direct link to These updates are included in v2.64.71 or higher.\">​</a></h3>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"google-sheets\">Google sheets<a href=\"https://docs.retool.com/changelog/cloud/2-64-71#google-sheets\" class=\"hash-link\" aria-label=\"Direct link to Google sheets\" title=\"Direct link to Google sheets\">​</a></h2>\n<ul>\n<li><strong>New action type Bulk Update</strong>: allows you to update many cells in a sheet at once, where previously you had to configure a custom JS query</li>\n<li><strong>New action type Delete</strong>: allows you to delete a row in a given sheet, which was previously not possible in Retool</li>\n<li><strong>Typed values</strong>: Retool can now read column types from your spreadsheet (e.g. Numbers, Booleans, and Strings). Tables now detect column formats and sort columns with those new formats. Typed values also makes it easier to join across different resources without type conversions.</li>\n<li><strong>Updated <a href=\"https://docs.retool.com/docs/google-sheets\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a></strong>: improvements include a new tutorial for building an app</li>\n<li><strong>Small bug fixes</strong>: Retool no longer throws errors when querying empty spreadsheets. Additionally, we improved the stability of connecting your Google account.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"releases-and-history\">Releases and history<a href=\"https://docs.retool.com/changelog/cloud/2-64-71#releases-and-history\" class=\"hash-link\" aria-label=\"Direct link to Releases and history\" title=\"Direct link to Releases and history\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/119622-77-977-9K--_vQfvv73vv73vv73vv70hf--_ve-_ve-_vTjvv73vv70D77-9eO-_ve-_vTEjIe-_ve-_ve-_vQc377-9TQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>You can now better manage versions of your applications with our release and history modals.</p>\n<p><strong>New features include:</strong></p>\n<ul>\n<li>App releases have been reworked to clarify who took what action</li>\n<li>You can now compare changes between any two releases side-by-side</li>\n<li>First releases for an app are no longer forced to use v0.1.0</li>\n<li>The redesigned history tab shows 10 items per page and includes tags on saves that are live and/or released</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"query-failure-conditions\">Query failure conditions<a href=\"https://docs.retool.com/changelog/cloud/2-64-71#query-failure-conditions\" class=\"hash-link\" aria-label=\"Direct link to Query failure conditions\" title=\"Direct link to Query failure conditions\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/119623-Y0rvv70Mde-_ve-_vVnvv73vv71W77-977-9Wu-_ve-_vQjvv73vv70_77-9InVl77-9aO-_vTYV77-9Ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Before, Retool would display a default raw error message from a failing query to users using your Retool apps. You can now override that default message by setting a message on failure conditions.</p>\n<p><strong>You can use “failure conditions” in queries to:</strong></p>\n<ol>\n<li>Display custom error messages to your users</li>\n<li>Mark successful queries as failure (ex: for GraphQL queries)</li>\n</ol>\n<p>Check out the <a href=\"https://docs.retool.com/docs/transformers#failure-conditions\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a> for more info. Note that this feature replaces “Error transformers.”</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-editor-functionality\">New editor functionality<a href=\"https://docs.retool.com/changelog/cloud/2-64-71#new-editor-functionality\" class=\"hash-link\" aria-label=\"Direct link to New editor functionality\" title=\"Direct link to New editor functionality\">​</a></h2>\n<ul>\n<li>You can now download an image of your Retool app as a PDF with <strong>utils.downloadPage()</strong></li>\n<li>You can now logout programmatically by redirecting to /logout in your apps</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"table-improvements\">Table improvements<a href=\"https://docs.retool.com/changelog/cloud/2-64-71#table-improvements\" class=\"hash-link\" aria-label=\"Direct link to Table improvements\" title=\"Direct link to Table improvements\">​</a></h2>\n<ul>\n<li>You can now set dropdown labels dynamically with <code>{{ }}</code> in dropdown columns</li>\n<li>When adding a new row to an empty table, your column settings (e.g. dropdown values like <code>{{ query1.data }}</code>, dropdown labels, background color, etc.) will now apply to the new row</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"component-improvements\">Component improvements<a href=\"https://docs.retool.com/changelog/cloud/2-64-71#component-improvements\" class=\"hash-link\" aria-label=\"Direct link to Component improvements\" title=\"Direct link to Component improvements\">​</a></h2>\n<ul>\n<li>Text Inputs components now include an option to show commas for numerical types</li>\n<li>Queries can now be cached per user instead of across your organization. You can toggle this setting on the Settings → Advanced page.</li>\n<li>Added the option to scroll vertically in Tabbed Container components</li>\n<li>Cleaned up styles for Toggle components</li>\n<li>Plotly components that use <strong>Group by</strong> now generate the correct JSON</li>\n<li>Keys in Key Value components are now reorderable even when they don't contain data</li>\n<li>Key Value components now display falsy values correctly</li>\n<li>You can no longer move components off the page when moving them with arrow keys</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"resource-improvements\">Resource improvements<a href=\"https://docs.retool.com/changelog/cloud/2-64-71#resource-improvements\" class=\"hash-link\" aria-label=\"Direct link to Resource improvements\" title=\"Direct link to Resource improvements\">​</a></h2>\n<ul>\n<li>You can now search for resources on your Resources page</li>\n<li>In REST and GraphQL resources, you can now use an <strong><a href=\"https://docs.retool.com/docs/apis#oauth-20\" target=\"_blank\" rel=\"noopener noreferrer\">OAUTH2_ID_TOKEN</a></strong> (in addition to the <strong>OAUTH2_TOKEN</strong>) to substitute for the OAuth ID token when sharing OAuth credentials between users is disabled.</li>\n<li>MSSQL resources now support Trusted Authentication</li>\n<li>MongoDB queries now let you specify the <strong>options</strong> field to support inputs like <strong>allowDiskUse</strong></li>\n<li>Firebase resources now correctly let you specify the database URL</li>\n<li>MySQL resources correctly support dynamic name overrides for Bulk insert, update, and upsert queries</li>\n<li>Retool no longer incorrectly passes an audience to the /token endpoint for OAuth2 auth flows</li>\n<li>Fixed an issue where Postgres resources that connected via SSH occasionally timed out</li>\n<li>PostgreSQL auto-incrementing primary keys now don’t need to be passed in for Bulk upsert queries</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"bug-fixes\">Bug fixes<a href=\"https://docs.retool.com/changelog/cloud/2-64-71#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug fixes\" title=\"Direct link to Bug fixes\">​</a></h2>\n<ul>\n<li>Large apps with Text inputs (read: most apps!) are now more performant and don't slow down when you type</li>\n<li>Keyboard shortcuts now work correctly on Chromebooks</li>\n<li>CSV exports no longer prepend apostrophes to negative values</li>\n<li>Query library gRPC queries now import metadata correctly</li>\n<li>Previewing an OpenAPI query no longer crashes the query editor</li>\n<li>Container components no longer show duplicate property editors</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-64-71",
            "title": "Retool 2.64.71",
            "summary": "These updates are included in v2.64.71 or higher.",
            "date_modified": "2020-12-18T19:44:45.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/debugging-in-browser-developer-tools-barcode-scanner",
            "content_html": "<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"these-updates-are-included-in-v26440-or-higher\">These updates are included in v2.64.40 or higher.<a href=\"https://docs.retool.com/changelog/debugging-in-browser-developer-tools-barcode-scanner#these-updates-are-included-in-v26440-or-higher\" class=\"hash-link\" aria-label=\"Direct link to These updates are included in v2.64.40 or higher.\" title=\"Direct link to These updates are included in v2.64.40 or higher.\">​</a></h3>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"debug-queries-in-browser-devtools\">Debug queries in browser DevTools<a href=\"https://docs.retool.com/changelog/debugging-in-browser-developer-tools-barcode-scanner#debug-queries-in-browser-devtools\" class=\"hash-link\" aria-label=\"Direct link to Debug queries in browser DevTools\" title=\"Direct link to Debug queries in browser DevTools\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/113186-77-977-9UO-_ve-_vTnvv73vv71vU--_vULvv73vv719MR3vv70N77-977-977-977-977-9ce-_vSh977-9He-_vX8\" alt=\"\" class=\"img_ev3q\"></p>\n<p>No longer do you have to console.log everything you can to debug queries. You can now use your browser’s developer tools debugger with Javascript Queries and Transformers! Check out <a href=\"https://docs.retool.com/docs/debugging-javascript\" target=\"_blank\" rel=\"noopener noreferrer\">the docs</a> for more details.</p>\n<p>For example, to do this in Chrome:</p>\n<ol>\n<li>Run the query 2. Open the Sources tab in Chrome DevTools and navigate to a file (Cmd/Ctrl-P) with the same name as the query 3. You should now be able to inspect variables, set breakpoints, etc.</li>\n</ol>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"barcode-scanner\">Barcode scanner<a href=\"https://docs.retool.com/changelog/debugging-in-browser-developer-tools-barcode-scanner#barcode-scanner\" class=\"hash-link\" aria-label=\"Direct link to Barcode scanner\" title=\"Direct link to Barcode scanner\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/113187-c--_vWRr77-977-977-9Vm1HQyYT77-9WO-_ve-_ve-_ve-_ve-_vQjvv71x77-977-977-977-977-9Xe-_vVLvv70\" alt=\"\" class=\"img_ev3q\"></p>\n<p>You can now scan barcodes in Retool using the Barcode scanner component. The component uses the camera of the device to scan the barcode and returns the code number.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"cascading-query-deletion\">Cascading query deletion<a href=\"https://docs.retool.com/changelog/debugging-in-browser-developer-tools-barcode-scanner#cascading-query-deletion\" class=\"hash-link\" aria-label=\"Direct link to Cascading query deletion\" title=\"Direct link to Cascading query deletion\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/113188-77-9FBwf77-9aO-_ve-_vRgJ77-977-977-9CO-_ve-_vUHvv71-77-9S--_vWEg77-977-977-9bu-_vUHvv71J\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Often deleting a query left your app in a broken state. To fix this, we've changed query deletion to cascade: deleting a query will delete all the references to it. We've added a confirmation modal that explicitly describes what will happen. One note: it's tricky to delete query references in JS expressions, so we leave those as-is and provide references in the confirmation modal.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"preview-specific-app-versions\">Preview specific app versions<a href=\"https://docs.retool.com/changelog/debugging-in-browser-developer-tools-barcode-scanner#preview-specific-app-versions\" class=\"hash-link\" aria-label=\"Direct link to Preview specific app versions\" title=\"Direct link to Preview specific app versions\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/113189-77-977-977-977-9C2NO77-977-9NVBU77-9b--_vStCf--_ve-_vQpoc--_ve-_vUNHchfvv73vv73vv70\" alt=\"\" class=\"img_ev3q\"></p>\n<p>You can now jump from the editor to previewing the latest or the live version of the app, without having to open the Releases modal.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"more-powerful-components\">More powerful components<a href=\"https://docs.retool.com/changelog/debugging-in-browser-developer-tools-barcode-scanner#more-powerful-components\" class=\"hash-link\" aria-label=\"Direct link to More powerful components\" title=\"Direct link to More powerful components\">​</a></h2>\n<ul>\n<li>Added support for <strong>LIKE</strong> operations in the Query builder component</li>\n<li>You can now allow popups in the iFrame component</li>\n<li>You can now reload the iFrame component from a JS query</li>\n<li>The Form generator now allows for fields to be drag-and-dropped reordered. You can also specify dropdowns as an input type.</li>\n<li>Fixed an issue where opening another Retool app via the Button component sent you to the home page instead</li>\n<li>Added a <strong>lastSubmittedAt</strong> field to Text Input components</li>\n<li>Added option to not clear the Dropdown component when clicked</li>\n<li>Added the ability to remove borders in the ListView component</li>\n<li>MultiSelect components no longer expand past the allotted space when full</li>\n<li>Added a button to clear Text Input components</li>\n<li>Chart components with duplicate x-axis values now display correctly</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"table-improvements\">Table improvements<a href=\"https://docs.retool.com/changelog/debugging-in-browser-developer-tools-barcode-scanner#table-improvements\" class=\"hash-link\" aria-label=\"Direct link to Table improvements\" title=\"Direct link to Table improvements\">​</a></h2>\n<ul>\n<li>Long strings in cells no longer crash the table</li>\n<li>Dropdown type columns now map a value of <strong>0</strong> correctly to its label</li>\n<li>Numeric columns now align right by default</li>\n<li>Queries triggered by Button type columns can now access the <strong>triggeredById</strong> and <strong>index</strong> fields to see which table and row triggered them</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"editor-power-and-quality-of-life\">Editor power and quality of life<a href=\"https://docs.retool.com/changelog/debugging-in-browser-developer-tools-barcode-scanner#editor-power-and-quality-of-life\" class=\"hash-link\" aria-label=\"Direct link to Editor power and quality of life\" title=\"Direct link to Editor power and quality of life\">​</a></h2>\n<ul>\n<li>The releases modal now shows email addresses</li>\n<li>Query editor now scrolls correctly to the bottom of the query list when a query is created</li>\n<li>Deleting a query now also deletes other properties that reference that query</li>\n<li>Queries now have a <strong>queryRunTime</strong> field that contains how long the query took to run</li>\n<li>Added toggle to always show a hidden component in editor mode</li>\n<li>Query success toasts now display the query name in editor mode</li>\n<li>You can now add metadata to gRPC resource requests</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"bug-fixes\">Bug fixes<a href=\"https://docs.retool.com/changelog/debugging-in-browser-developer-tools-barcode-scanner#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug fixes\" title=\"Direct link to Bug fixes\">​</a></h2>\n<ul>\n<li>The Releases modal now displays the correct page (was off by 1)</li>\n<li>Accessing <strong>currentRow</strong> in Button type columns now works as expected</li>\n<li>List View components using row keys no longer crash</li>\n<li>New queries no longer incorrectly display \"Cannot find property 'get' of undefined\"</li>\n<li>Forms no longer crash when optional fields require validation</li>\n<li>Text Input components now validate numbers with regex correctly</li>\n<li>Text Input components now invalidate floats when an integer was required</li>\n<li>Fixed a bug where connecting a Google sheets resource would occasionally fail</li>\n<li>Added clarifications to GCS resources that failed silently on upload</li>\n<li>Creating a folder named \"<strong>root</strong>\" no longer breaks your home page</li>\n<li>The <strong>Resend invite</strong> button after inviting a user now works as expected</li>\n<li>Fixed a bug that stopped you publishing the latest version of an app</li>\n<li>The errors field is now correctly cleared after a query succeeds</li>\n<li>Custom auth steps when setting up a REST/GraphQL resource now accurately show what variables you have access to</li>\n<li>Queries no longer have <strong>isFetching</strong> set to true after completion</li>\n<li>Fixed a bug where switching apps didn't stop queries on the previous page from running</li>\n<li>Renaming a page now displays a reason if it failed</li>\n<li>Copy pasting a Container component now also correctly copies its children</li>\n<li>Marking a Text Input component as not required in a Form component now works as expected</li>\n<li>Mappers in Chart components are now recalculated correctly when datasets are toggled</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/debugging-in-browser-developer-tools-barcode-scanner",
            "title": "Debugging in browser developer tools, Barcode scanner",
            "summary": "These updates are included in v2.64.40 or higher.",
            "date_modified": "2020-11-13T04:44:51.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-64-5",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"form-generator\">Form Generator<a href=\"https://docs.retool.com/changelog/cloud/2-64-5#form-generator\" class=\"hash-link\" aria-label=\"Direct link to Form Generator\" title=\"Direct link to Form Generator\">​</a></h2>\n<p>You can now generate a form directly from a database table! Drag out a Form component, click on the “Generate fields from a database” button, choose your table, and we’ll add a query and all the components you need to insert a row. You’ll be able to edit the query and each component just as if you’d created the whole form manually.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/106309-dkbvv71q77-9cO-_vS0x77-977-977-9Ee-_ve-_vRpC77-9Rkjvv73vv73vv73vv71MHhrvv73vv70G77-9EQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Release diffs</p>\n<p>We’ve added the ability to view the diff between two different releases. If you want to know which lines in a SQL query are different, or which exact property you tweaked last week on that button, this is your feature.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/106310-77-977-9XO-_vSA8Y--_ve-_ve-_vX_vv73vv71p77-977-977-977-9EO-_vVPvv71RGe-_vVjvv71_Tlbvv705\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Full screen editing</p>\n<p>Need more room to write code? You can now press F11 to view code editors in full screen. This feature works anywhere you can use <code>{{ }}</code>.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/106312-TGvvv73vv70j77-977-977-9dwHvv73vv73vv70j77-977-9Ku-_vQ_vv73vv70MMzXvv73vv70T77-977-977-9JHw\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"sso-with-oauth-providers\">SSO with OAuth providers<a href=\"https://docs.retool.com/changelog/cloud/2-64-5#sso-with-oauth-providers\" class=\"hash-link\" aria-label=\"Direct link to SSO with OAuth providers\" title=\"Direct link to SSO with OAuth providers\">​</a></h2>\n<p>For on-premise deployments, you can now implement SSO with any provider that implements OpenID, such as Auth0 and Microsoft Entra ID. Check out the docs <a href=\"https://docs.retool.com/docs/sso-generic-openid-provider\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"table-improvements\">Table improvements<a href=\"https://docs.retool.com/changelog/cloud/2-64-5#table-improvements\" class=\"hash-link\" aria-label=\"Direct link to Table improvements\" title=\"Direct link to Table improvements\">​</a></h2>\n<ul>\n<li>Table component now handles non-array data correctly</li>\n<li>Selecting a row in Table components now correctly updates the selected page</li>\n<li>Table components using GraphQL server side pagination no longer infinitely loop</li>\n<li>Table component pagination arrows now display correctly in Firefox</li>\n<li>Table components columns with names that conflict with Table component properties now work correctly</li>\n<li>Fixed Table components with inline editable columns that occasionally crashed</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"more-improvements\">More improvements<a href=\"https://docs.retool.com/changelog/cloud/2-64-5#more-improvements\" class=\"hash-link\" aria-label=\"Direct link to More improvements\" title=\"Direct link to More improvements\">​</a></h2>\n<ul>\n<li>Code completion for Table component column mapper settings is now based on the selected table row</li>\n<li>Faster List View component rendering time</li>\n<li>Faster load time for the Audit log page</li>\n<li>Personal queries are now first in the Query Library</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"bug-fixes\">Bug fixes<a href=\"https://docs.retool.com/changelog/cloud/2-64-5#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug fixes\" title=\"Direct link to Bug fixes\">​</a></h2>\n<ul>\n<li>\n<p>Text Input components no longer default to an invalid regex check</p>\n</li>\n<li>\n<p>Fixed an issue where pressing Tab would hide a Tabbed Container component’s tabs</p>\n</li>\n<li>\n<p>Fixed certain cases where Text Input components inside containers and List views crashed</p>\n</li>\n<li>\n<p>The JSON Schema Form component now lists all compatible SQL resources</p>\n</li>\n<li>\n<p>Selecting a user in the Settings page no longer selects the wrong user</p>\n</li>\n<li>\n<p>Fixed an issue where the query editor crashed with certain resources selected</p>\n</li>\n<li>\n<p>Transformers no longer crashed the display when previewed</p>\n</li>\n<li>\n<p>0 is now considered a valid Text Input component value</p>\n</li>\n<li>\n<p>Checkboxes inside Form components now clear when a form is cleared</p>\n</li>\n<li>\n<p>App names with non-letter characters like <strong>!</strong>, <strong>#</strong>, or <strong>?</strong> now display correctly in the editor</p>\n</li>\n<li>\n<p>You can now dynamically add a key to a URL param for REST/GraphQL queries</p>\n</li>\n<li>\n<p>Using <strong>/users/scheduled_sends</strong> in the Sendgrid resource no longer crashes the Query Editor</p>\n</li>\n<li>\n<p>The <strong>visibleContainers</strong> field in the Container component now updates correctly on scroll</p>\n</li>\n<li>\n<p>Changing the URL now triggers queries dependent on <strong>urlparams</strong></p>\n</li>\n<li>\n<p>Formatting SQL queries with <strong>&amp;&amp;</strong> now works correctly</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-64-5",
            "title": "Retool 2.64.5",
            "summary": "Form Generator",
            "date_modified": "2020-10-01T03:44:37.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-63-5",
            "content_html": "<p>We’ve been silent for a while but fret not, we’ve been hard at work. We’ve deployed some larger features over the last month and a half, not to mention a whole lot of smaller bug fixes and improvements. As usual, please reach out if you have feedback or comments!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"wizard-component-beta\">Wizard component (BETA)<a href=\"https://docs.retool.com/changelog/cloud/2-63-5#wizard-component-beta\" class=\"hash-link\" aria-label=\"Direct link to Wizard component (BETA)\" title=\"Direct link to Wizard component (BETA)\">​</a></h2>\n<p>We've released a beta version of the Wizard component, an exciting new addition to Retool's component library. The Wizard allows you to visually create multi-step workflows with branching logic, ideal for when you need to guide users through a specific sequence. This is an entirely new component in Retool, so we’d love to hear more about how it can better fit your workflows.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/96347-bu-_ve-_ve-_ve-_vSkk77-977-9dRs-77-9b--_vRrvv70sKe-_vWkMSu-_ve-_ve-_ve-_vWjvv73vv73vv73vv70\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"plotly-chart-component-beta\">Plotly Chart component (BETA)<a href=\"https://docs.retool.com/changelog/cloud/2-63-5#plotly-chart-component-beta\" class=\"hash-link\" aria-label=\"Direct link to Plotly Chart component (BETA)\" title=\"Direct link to Plotly Chart component (BETA)\">​</a></h2>\n<p>We’ve released a beta version of our new Chart component, powered by Plotly. This new component gives you the option of quickly generating a chart from a query or transformer. For more advanced charting needs you can toggle to directly edit Plotly JSON.</p>\n<p>New out of the box features:</p>\n<ul>\n<li>Combine bar and line graphs in the same chart</li>\n<li>Dynamically group and aggregate data</li>\n<li>Use the chart’s <strong>selectedPoints</strong> property to dynamically update other parts of your app</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/96348-77-977-9Se-_ve-_vRZBMwXvv73vv70qWiPvv70cSe-_vQx3L07vv70n77-9KlcFXe-_vTVy\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"preview-save-and-run-queries\">Preview, Save, and Run Queries<a href=\"https://docs.retool.com/changelog/cloud/2-63-5#preview-save-and-run-queries\" class=\"hash-link\" aria-label=\"Direct link to Preview, Save, and Run Queries\" title=\"Direct link to Preview, Save, and Run Queries\">​</a></h2>\n<p>The query editor now has improved clarity around previewing, saving and running queries. We've heard a lot of questions like: “Why does query1 run when I save, but query2 doesn’t?” and “Wait, the play button doesn’t actually run the query?” To help clear up this behavior, we've made the following changes:</p>\n<ul>\n<li>The <strong>preview button</strong> now has a clearer label to prevent confusion with actually triggering a query.</li>\n<li>The <strong>save button</strong> now has two states: “Save” and “Save &amp; Run”. The state shown is tied to whether the query is set to run “automatically when inputs change” (Save &amp; Run) or “only when manually triggered” (Save). In Retool, “read” queries default to always run when inputs change, while “write” queries will only run when manually triggered (e.g. by clicking on a button).</li>\n<li>Once a query has been saved, you’ll see a newly added <strong>run button</strong>. This will trigger the query to run once. (Helpful for debugging—no more having to add a button to your app just to test trigger a query!)</li>\n<li>Last but not least, we’ve moved the <strong>run query when</strong> setting to the top of the query editor, so it’s easier to predict the behavior of a query at a glance.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/96351-77-9WzXvv71e77-9ZVw477-977-9Te-_ve-_ve-_vXwy77-977-9CCjvv73vv73vv71O77-977-9RBAtVO-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"grpc-connector\">gRPC Connector<a href=\"https://docs.retool.com/changelog/cloud/2-63-5#grpc-connector\" class=\"hash-link\" aria-label=\"Direct link to gRPC Connector\" title=\"Direct link to gRPC Connector\">​</a></h2>\n<p>Retool now connects to gRPC based resources for on premise deployments. The connection supports unary requests for reading and writing (including with variables) with gRPC today. To setup your proto files and start making gRPC request start with the <a href=\"https://docs.retool.com/docs/grpc\" target=\"_blank\" rel=\"noopener noreferrer\">docs here</a>.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/96350-A--_vW3vv70bQVTvv71O77-977-9CVIW77-977-9bxRf77-977-9STzvv73vv71WG3J2EShp\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"sql-resource-creation-changes\">SQL resource creation changes<a href=\"https://docs.retool.com/changelog/cloud/2-63-5#sql-resource-creation-changes\" class=\"hash-link\" aria-label=\"Direct link to SQL resource creation changes\" title=\"Direct link to SQL resource creation changes\">​</a></h2>\n<p>Retool previously required you to set up two resources for SQL: one for <strong>reading</strong> and one for <strong>writing</strong>. We’ve simplified this so that one resource that can perform both reads and writes! This has been enabled for all SQL resources over the last few weeks. Check out the docs for a more detailed overview of the changes.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/96352-77-977-977-977-9fT5WAzrvv73vv71REjZyG--_vV9feHlm77-977-977-9J--_vTQbZV7vv70\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"configurable-table-button\">Configurable table button<a href=\"https://docs.retool.com/changelog/cloud/2-63-5#configurable-table-button\" class=\"hash-link\" aria-label=\"Direct link to Configurable table button\" title=\"Direct link to Configurable table button\">​</a></h2>\n<p>You can now add a button to the table that can fire off any query of your choice. Often we’ve wanted a button that’s very table related but doesn’t quite fit into the existing toolkit, so we’ve added this button as a catch-all.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/96353-77-9Su-_vTbvv73vv70uc--_ve-_ve-_ve-_ve-_vXo-77-977-977-9HWHvv73vv70v77-9Se-_vVfvv71rPe-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improvements\">Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-63-5#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<ul>\n<li>App search on the homepage now also shows apps inside folders</li>\n<li>Added toggle to hide the submit button from Form containers</li>\n<li>Added name of editors in the History and Releases modals</li>\n<li>The search omnibox now de-prioritizes archived apps</li>\n<li>Added support for specifying <strong>?_releaseVersion</strong> as a URL parameter</li>\n<li>Added the ability to customize the duration of query success/error notifications</li>\n<li>Added (back!) the ability to bulk invite users</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"components\">Components<a href=\"https://docs.retool.com/changelog/cloud/2-63-5#components\" class=\"hash-link\" aria-label=\"Direct link to Components\" title=\"Direct link to Components\">​</a></h3>\n<ul>\n<li>ListView components now support dynamic row heights and hiding components</li>\n<li>Add ability to delete notes in the Notes component</li>\n<li>Improved fuzzy search functionality for select components</li>\n<li>Added back Regex filter on TextInput components that stopped users from typing invalid characters</li>\n<li>Added the ability to set a start time for the Timer component and the ability to customize the value</li>\n<li>Added the ability to style the Toggle component as a caret</li>\n<li>Added a <strong>.select()</strong> method to Text Input components to select text from Run JS Code queries</li>\n<li>Added the ability to use <strong>allow-downloads</strong> with IFrame components</li>\n<li>Added the ability to group events by day in the Timeline component</li>\n<li>Added the ability to allow geolocation in the Custom Component's IFrame</li>\n<li>Added the ability to enable <strong>allow-same-origin</strong> in the Custom Component</li>\n<li>Added the ability render custom HTML inside the Select component</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"table-improvements\">Table improvements<a href=\"https://docs.retool.com/changelog/cloud/2-63-5#table-improvements\" class=\"hash-link\" aria-label=\"Direct link to Table improvements\" title=\"Direct link to Table improvements\">​</a></h3>\n<ul>\n<li>CSV downloads now include the correct column names for renamed columns</li>\n<li>Added the ability to disable the save changes button</li>\n<li>Added the ability to view columns as radio buttons</li>\n<li>Added the ability to disable checkbox and radio style columns</li>\n<li>Fixed an issue where CSV exports now include all columns (instead of just those in the first row)</li>\n<li>Fixed an issue where manually triggered queries were not run when clicking the refresh button</li>\n<li>Fixed an issue where certain column names like “Disabled” broke the component</li>\n<li>Fixed issues where <strong>currentRow</strong> and <strong>self</strong> displayed the wrong value</li>\n<li>Fixed an issue where the “Server side paginated” field did not work as expected</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"resources\">Resources<a href=\"https://docs.retool.com/changelog/cloud/2-63-5#resources\" class=\"hash-link\" aria-label=\"Direct link to Resources\" title=\"Direct link to Resources\">​</a></h3>\n<ul>\n<li>You can now access returned errors in the Error transformer. You can now return an object from the Error transformer</li>\n<li>Added the ability to specify user role for Snowflake connections</li>\n<li>Added the ability to query collection groups for Firestore connections</li>\n<li>Added <strong>in</strong> and <strong>array-contains-any</strong> queries to Firestore</li>\n<li>Added the ability to use BigQuery’s legacy SQL dialect</li>\n<li>Added KEYS, MGET, and HMGET to the available Redis commands</li>\n<li>Added the ability to use IAM roles for Athena and DynamoDB</li>\n<li>Added the ability to get, set and delete tags on S3 files</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"auth-improvements-for-restgraphql\">Auth improvements for REST/GraphQL<a href=\"https://docs.retool.com/changelog/cloud/2-63-5#auth-improvements-for-restgraphql\" class=\"hash-link\" aria-label=\"Direct link to Auth improvements for REST/GraphQL\" title=\"Direct link to Auth improvements for REST/GraphQL\">​</a></h3>\n<ul>\n<li>Added the ability to verify a custom auth connection via a request</li>\n<li>Added the ability to create a custom flow for refreshing authentication</li>\n<li>Added the ability to automatically submit an OAuth form for REST/GraphQL queries</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"bug-fixes\">Bug Fixes<a href=\"https://docs.retool.com/changelog/cloud/2-63-5#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug Fixes\" title=\"Direct link to Bug Fixes\">​</a></h2>\n<ul>\n<li>Fixed a bug where paginated GraphQL queries were called repeatedly if they returned no results</li>\n<li>Fixed a bug where the HTML renderer in Select components didn’t work if values were objects</li>\n<li>Fixed an issue where Firebase queries didn’t allow selecting a collection ID</li>\n<li>Fixed an issue where Firestore queries did not work when using <strong>$ref</strong> in the request</li>\n<li>Fixed an issue where you could not call methods on components nested inside ListView components</li>\n<li>Fixed an issue where the Rich Text Editor component called the “On Blur” query on every keystroke if the component contained a URL</li>\n<li>Fixed issues where Select and Text Input components didn’t render correctly inside ListViews</li>\n<li>Fixed an issue where Containers inside ListView components didn’t render in the right order</li>\n<li>Fixed an issue where rejected promises returned from JS queries were not interpreted as errors</li>\n<li>Fixed an issue where <strong>ui<!-- -->:emptyValue</strong> in JSONSchemaForm components wasn’t being set correctly</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-63-5",
            "title": "Retool 2.63.5",
            "summary": "We’ve been silent for a while but fret not, we’ve been hard at work. We’ve deployed some larger features over the last month and a half, not to mention a whole lot of smaller bug fixes and improvements. As usual, please reach out if you have feedback or comments!",
            "date_modified": "2020-08-28T15:37:42.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-60-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"custom-keyboard-shortcuts\">Custom keyboard shortcuts<a href=\"https://docs.retool.com/changelog/cloud/2-60-1#custom-keyboard-shortcuts\" class=\"hash-link\" aria-label=\"Direct link to Custom keyboard shortcuts\" title=\"Direct link to Custom keyboard shortcuts\">​</a></h2>\n<p>You can now add custom keyboard shortcuts to your apps! If you find yourself clicking the same button over and over again, or if you want to run a mini JS query on keystroke, you can now automate those actions with shortcuts.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/87348-77-977-977-9TEbvv71E4amL77-9Qe-_ve-_ve-_ve-_ve-_vXbvv71r77-9R9-pbe-_ve-_vXM\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"default-table-shortcuts\">Default table shortcuts<a href=\"https://docs.retool.com/changelog/cloud/2-60-1#default-table-shortcuts\" class=\"hash-link\" aria-label=\"Direct link to Default table shortcuts\" title=\"Direct link to Default table shortcuts\">​</a></h2>\n<p>While you can define custom shortcuts for any component, we also added some default hotkeys for the table. When you click on a table, you can use the keyboard to travel between rows in that table — to go up and down, you can use:</p>\n<ul>\n<li>Up/Down arrow keys</li>\n<li>J/K for our Vim experts</li>\n<li>Ctrl-P/Ctrl-N for our Emacs fans</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"expand-and-minimize-the-query-editor\">Expand and minimize the query editor<a href=\"https://docs.retool.com/changelog/cloud/2-60-1#expand-and-minimize-the-query-editor\" class=\"hash-link\" aria-label=\"Direct link to Expand and minimize the query editor\" title=\"Direct link to Expand and minimize the query editor\">​</a></h2>\n<p>We’ve all wanted a little more room to write our longer queries. You can now expand the query editor to (almost!) fill your screen.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/87347-77-977-90J7vv73vv73vv70S77-9eO-_ve-_vV4zRQrbsO-_vT9YOCBWYu-_veOzlVTvv70\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"a-long-tail-of-other-improvements\">A long tail of other improvements<a href=\"https://docs.retool.com/changelog/cloud/2-60-1#a-long-tail-of-other-improvements\" class=\"hash-link\" aria-label=\"Direct link to A long tail of other improvements\" title=\"Direct link to A long tail of other improvements\">​</a></h2>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"components\">Components<a href=\"https://docs.retool.com/changelog/cloud/2-60-1#components\" class=\"hash-link\" aria-label=\"Direct link to Components\" title=\"Direct link to Components\">​</a></h3>\n<ul>\n<li>Added a <strong>focus()</strong> method for Text Input components in Javascript queries</li>\n<li>Added the ability to disable Button components for a specified time time after click</li>\n<li>Added the ability to set times using the local time zone on the Date Time Picker and the Date Range Picker components. For example, with local timezones enabled in EST, the component interprets choosing 5PM as 5PM EST, as opposed to 5PM in UTC converted to 1PM EST.</li>\n<li>Added class names to input validation icons to allow overriding with custom CSS</li>\n<li>Added the ability to search users in the Settings → Users page</li>\n<li>Added toggle to allow popups to escape the sandbox for custom components</li>\n<li>Added the ability to right align table columns</li>\n<li>Fixed a bug where passing JSON to column settings in tables would crash the table</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"resources\">Resources<a href=\"https://docs.retool.com/changelog/cloud/2-60-1#resources\" class=\"hash-link\" aria-label=\"Direct link to Resources\" title=\"Direct link to Resources\">​</a></h3>\n<ul>\n<li>Added the ability to configure instance names for MSSQL resources</li>\n<li>Added the ability to set application intent to “read only” for MSSQL resources</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"performance\">Performance<a href=\"https://docs.retool.com/changelog/cloud/2-60-1#performance\" class=\"hash-link\" aria-label=\"Direct link to Performance\" title=\"Direct link to Performance\">​</a></h3>\n<ul>\n<li>Significant performance improvements when loading apps and using apps when queries are running</li>\n<li>Performance improvements for navigating the user permissions page</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"bug-fixes\">Bug fixes<a href=\"https://docs.retool.com/changelog/cloud/2-60-1#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug fixes\" title=\"Direct link to Bug fixes\">​</a></h3>\n<ul>\n<li>Fixed a bug where text inputs did not expand to their full height when labels were positioned to the left</li>\n<li>Fixed a bug where tabbing between component settings did not work as expected</li>\n<li>Fixed a bug where Text Input components did not blur properly on ESC</li>\n<li>Fixed a bug where you could not leave the staging environment in Presentation mode</li>\n<li>Fixed an issue where edits to resource settings were not being saved</li>\n<li>Fixed an issue where placeholders for Parent Window queries were not set correctly</li>\n<li>Fixed an issue where searching for actions in Firebase queries did not show the right results</li>\n<li>Fixed an issue where clicking Rich Text Editor components didn’t save correctly on blur</li>\n<li>Fixed a bug where you could not select the time on the Date Picker component if min or max values were set</li>\n<li>Fixed a few overflow bugs on user access control settings</li>\n<li>Fixed a bug where not all pages were fetched from DynamoDB tables when there were more than 100</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-60-1",
            "title": "Retool 2.60.1",
            "summary": "Custom keyboard shortcuts",
            "date_modified": "2020-06-29T19:44:09.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-59-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"styled-text-components\">Styled text components<a href=\"https://docs.retool.com/changelog/cloud/2-59-0#styled-text-components\" class=\"hash-link\" aria-label=\"Direct link to Styled text components\" title=\"Direct link to Styled text components\">​</a></h2>\n<p>We’ve added options to set the text alignment, text color, and background color for Text components. This should help the simple but hard working component stand out, as it organizes your apps and calls out important information.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/81433-Rgdy77-9G3Dvv70T77-9Imvvv73vv712K8mVLu-_ve-_vQvvv73vv70477-977-977-9f03vv70GQw\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"add-your-logo-and-brand-color\">Add your logo and brand color<a href=\"https://docs.retool.com/changelog/cloud/2-59-0#add-your-logo-and-brand-color\" class=\"hash-link\" aria-label=\"Direct link to Add your logo and brand color\" title=\"Direct link to Add your logo and brand color\">​</a></h2>\n<p>Custom theming has arrived! Enterprise customers can now upload a logo file and customize the navbar color. This improves the presentation quality when end users log in to use your Retool apps.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/81855-77-9LO-_vR1c77-9N9ub77-977-977-9Ce-_vSQlVu-_ve-_vTbvv70V77-9dQnvv71ZTVdW77-977-9\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"workspaces\">Workspaces<a href=\"https://docs.retool.com/changelog/cloud/2-59-0#workspaces\" class=\"hash-link\" aria-label=\"Direct link to Workspaces\" title=\"Direct link to Workspaces\">​</a></h2>\n<p>Customize the default homepage for your end users with workspaces. You can build a Retool app and declare this page as the workspace any of your user groups.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/81856-77-9DiZF77-9SO-_vR1dUGNg77-977-977-9c0zvv73vv719IDLvv73vv71t77-9Nu-_ve-_ve-_vXIh\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"component-improvements\">Component improvements<a href=\"https://docs.retool.com/changelog/cloud/2-59-0#component-improvements\" class=\"hash-link\" aria-label=\"Direct link to Component improvements\" title=\"Direct link to Component improvements\">​</a></h2>\n<ul>\n<li>Added toggles to allow microphone and camera access for the IFrame component</li>\n<li>Added the ability to test a connection while adding a resource</li>\n<li>Added the option to use UTC instead of local timezone in the Date picker component</li>\n<li>Added the ability to run queries on blur for the Rich Text Editor component</li>\n<li>Fixed a bug where <em>ui:emptyValue</em> was not interpreted correctly in the JSON Schema Form component</li>\n<li>Fixed a bug where text colors were not applying correctly when using Markdown</li>\n<li>Fixed a bug to allow negative currency values in the Text input component</li>\n<li>Fixed a bug to correctly validate currency in Text input components</li>\n<li>Fixed an overflow issue for Table component action buttons and columns</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"resource-improvements\">Resource improvements<a href=\"https://docs.retool.com/changelog/cloud/2-59-0#resource-improvements\" class=\"hash-link\" aria-label=\"Direct link to Resource improvements\" title=\"Direct link to Resource improvements\">​</a></h2>\n<ul>\n<li>Added the ability to create a GraphQL query without creating a resource</li>\n<li>Added the option to disable prepared statements for BigQuery resources</li>\n<li>Fixed a bug where MongoDB <em>insertOne</em> and <em>deleteOne</em> queries were triggered by input changes</li>\n<li>Fixed a bug to enable uploading raw strings to S3</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"bug-fixes\">Bug fixes<a href=\"https://docs.retool.com/changelog/cloud/2-59-0#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug fixes\" title=\"Direct link to Bug fixes\">​</a></h2>\n<ul>\n<li>Fixed an issue causing unreliable sending of user invites</li>\n<li>Fixed a bug causing child components to clear state when nested in List View containers</li>\n<li>Added a modal to view user permissions (back) to the app list on the home page</li>\n<li>Fixed a bug where the app would scroll to the top when a component was deleted</li>\n<li>Fixed a bug where <em>DateTimePicker</em> and <em>TimePicker</em> values were incorrectly formatted</li>\n<li>Hidden widgets no longer flash on page load</li>\n<li>Folders have been added back to the home screen alongside apps</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-59-0",
            "title": "Retool 2.59",
            "summary": "Styled text components",
            "date_modified": "2020-05-28T05:42:17.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/quarantine-cleaning",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"a-new-home-page\">A new home page<a href=\"https://docs.retool.com/changelog/quarantine-cleaning#a-new-home-page\" class=\"hash-link\" aria-label=\"Direct link to A new home page\" title=\"Direct link to A new home page\">​</a></h2>\n<p>The home page is the first screen you see after signing in. It’s the hub of Retool: where you go to create a new app, access apps you’ve already built, and discover apps built by teammates. To make it easier for new users to get started — and existing teams to manage a growing number of apps — we’ve rebuilt the Apps home page from the ground up with a focus on speed and visibility.</p>\n<p>Some of our favorite features of the new home page include:</p>\n<ul>\n<li>Quick links to access apps you’ve recently viewed or starred</li>\n<li>Ability to view all your folders</li>\n<li>See when an app was last edited and by whom with more app metadata</li>\n<li>Search for pages by name (and last editor) and faster page loads</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/74092-77-977-977-9Uu-_ve-_ve-_ve-_ve-_vTjFpxAe77-977-9MOSEou-_vUPvv73vv71j77-9ZToVPu-_vVk\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"whats-using-this-button\">What's using this button?<a href=\"https://docs.retool.com/changelog/quarantine-cleaning#whats-using-this-button\" class=\"hash-link\" aria-label=\"Direct link to What's using this button?\" title=\"Direct link to What's using this button?\">​</a></h2>\n<p>Components, transformers, state, and queries now show dependencies in the model browser! Hover over the blue icon next to the name to see the dependencies. For example, you can see which components update <code>textinput1</code> and what components <code>textinput1</code> depends on.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/74094-Le-_vREUDNOYcO-_ve-_ve-_ve-_ve-_ve-_vRLNuO-_ve-_vWtp77-9cHnZqFkyLmQu77-9\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"tables\">Tables<a href=\"https://docs.retool.com/changelog/quarantine-cleaning#tables\" class=\"hash-link\" aria-label=\"Direct link to Tables\" title=\"Direct link to Tables\">​</a></h2>\n<p>As usual, we've made improvements to the table component, given how core it is to the Retool experience. Let us know if there any cases that make using tables particularly slow or cumbersome, and we’ll be on it!</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"performance\">Performance<a href=\"https://docs.retool.com/changelog/quarantine-cleaning#performance\" class=\"hash-link\" aria-label=\"Direct link to Performance\" title=\"Direct link to Performance\">​</a></h3>\n<ul>\n<li>Performance improvements for tables that contain dates</li>\n<li>Tables with content that overflowed columns now load faster</li>\n<li>Tables load data faster</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"pagination\">Pagination<a href=\"https://docs.retool.com/changelog/quarantine-cleaning#pagination\" class=\"hash-link\" aria-label=\"Direct link to Pagination\" title=\"Direct link to Pagination\">​</a></h3>\n<ul>\n<li>Fixed Action Buttons not rendering correctly in Tables that use forward-cursor-based pagination</li>\n<li>Allow users to disable the \"Next\" button on the Table for forward-cursor-based pagination</li>\n<li>Fixed how the Table decides to update the afterCursor property when the data has been fully loaded</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"custom-column-types\">Custom column types<a href=\"https://docs.retool.com/changelog/quarantine-cleaning#custom-column-types\" class=\"hash-link\" aria-label=\"Direct link to Custom column types\" title=\"Direct link to Custom column types\">​</a></h3>\n<ul>\n<li>Fixed an issue where tables with dropdown type columns did not load dynamic data correctly</li>\n<li>Fixed an issue where tables with dropdown type columns would sometimes crash</li>\n<li>Fixed an issue where dropdown type cells in tables would search via value instead of label</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"features--integrations\">Features &amp; Integrations<a href=\"https://docs.retool.com/changelog/quarantine-cleaning#features--integrations\" class=\"hash-link\" aria-label=\"Direct link to Features &amp; Integrations\" title=\"Direct link to Features &amp; Integrations\">​</a></h2>\n<ul>\n<li>Added startAt and endAt to Firestore queries for use in pagination</li>\n<li>You can now delete shared queries in the query library</li>\n<li>Imported queries that have been deleted can now be converted to a regular query</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"ux-improvements\">UX Improvements<a href=\"https://docs.retool.com/changelog/quarantine-cleaning#ux-improvements\" class=\"hash-link\" aria-label=\"Direct link to UX Improvements\" title=\"Direct link to UX Improvements\">​</a></h2>\n<ul>\n<li>The JSON Explorer component now opens all nodes by default</li>\n<li>Added <code>Cmd/Ctrl+Shift+P</code> as a shortcut to go to presentation mode</li>\n<li>Added transformers back to the model browser</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"bug-fixes\">Bug Fixes<a href=\"https://docs.retool.com/changelog/quarantine-cleaning#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug Fixes\" title=\"Direct link to Bug Fixes\">​</a></h2>\n<ul>\n<li>Fixed issue where changing URL parameters in REST resources didn't let you save the resource</li>\n<li>Fixed an issue where clicking on a state variable wouldn’t focus the inspector</li>\n<li>Fixed an issue where zero values did not display correctly in Text components</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/quarantine-cleaning",
            "title": " 2.58.10 — Quarantine Cleaning",
            "summary": "A new home page",
            "date_modified": "2020-04-17T04:00:36.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-54-19",
            "content_html": "<p><em>Along with improvements to forms, we’ve continued our series of visual tweaks. __We’ll be tweaking these designs over the next few months. We’d love to <a href=\"mailto:notes@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">hear your feedback</a>!</em></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"powerful-validation-options\">Powerful validation options<a href=\"https://docs.retool.com/changelog/cloud/2-54-19#powerful-validation-options\" class=\"hash-link\" aria-label=\"Direct link to Powerful validation options\" title=\"Direct link to Powerful validation options\">​</a></h2>\n<p>We’ve added a number of validation options to validate your inputs. For example, you can check that a value in a Text Input is now a valid email address in 2 clicks. You can also customize the error message you show to your users.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/68210-UO-_vXzvv73vv73vv73vv71s77-977-9174v77-9JO-_vSABbWpnXu-_vWlAE8q3Qe-_vQo\" alt=\"\" class=\"img_ev3q\"></p>\n<h2></h2>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"duplicate-apps-from-the-editor\">Duplicate apps from the editor<a href=\"https://docs.retool.com/changelog/cloud/2-54-19#duplicate-apps-from-the-editor\" class=\"hash-link\" aria-label=\"Direct link to Duplicate apps from the editor\" title=\"Direct link to Duplicate apps from the editor\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/68365-KTHvv70R77-977-9xa7vv73vv73Oozvvv73vv70n77-9Ne-_vWodJVnvv70y77-9bhTvv7190Yg\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"a-little-easier-on-the-eyes\">A little easier on the eyes<a href=\"https://docs.retool.com/changelog/cloud/2-54-19#a-little-easier-on-the-eyes\" class=\"hash-link\" aria-label=\"Direct link to A little easier on the eyes\" title=\"Direct link to A little easier on the eyes\">​</a></h2>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"a-new-set-of-colors-to-make-retool-more-accessible\">A new set of colors to make Retool more accessible<a href=\"https://docs.retool.com/changelog/cloud/2-54-19#a-new-set-of-colors-to-make-retool-more-accessible\" class=\"hash-link\" aria-label=\"Direct link to A new set of colors to make Retool more accessible\" title=\"Direct link to A new set of colors to make Retool more accessible\">​</a></h3>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/68196-ZO-_vRYj77-9Ce-_vW7vv71HKWJzzKPvv73vv73vv73vv73vv73vv71zVALvv73vv71577-977-977-9WXc\" alt=\"\" class=\"img_ev3q\"> Our new colors and their improved accessibility ratings</p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"more-consistent-tables-typography-and-containers\">More consistent tables, typography, and containers<a href=\"https://docs.retool.com/changelog/cloud/2-54-19#more-consistent-tables-typography-and-containers\" class=\"hash-link\" aria-label=\"Direct link to More consistent tables, typography, and containers\" title=\"Direct link to More consistent tables, typography, and containers\">​</a></h3>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/68199-dtyecjzvv71SQu-_vVJoDu-_vTZR77-977-9bwwR77-977-977-9au-_ve-_vUt6GDdo\" alt=\"\" class=\"img_ev3q\"></p>\n<p>A new navigation bar</p>\n<p><em>… to give you a little more horizontal space</em></p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/68200-77-9IO-_vcupKSULFdWM77-9X03vv73vv73vv70x77-977-9AQbvv70BXW3vv73vv73vv70A77-9\" alt=\"\" class=\"img_ev3q\"></p>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-styles-for-all-resource-forms\">New styles for all resource forms<a href=\"https://docs.retool.com/changelog/cloud/2-54-19#new-styles-for-all-resource-forms\" class=\"hash-link\" aria-label=\"Direct link to New styles for all resource forms\" title=\"Direct link to New styles for all resource forms\">​</a></h3>\n<p><em>… as part of our quest to make adding a resource as easy as possible</em></p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/68202-77-9DUrfuyzcpTXvv73WqC0x77-9bu-_vU9a77-9Me-_vTcf77-977-9ce-_vXh077-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>An easier way to create apps</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/68203-77-977-977-9AxMF77-977-9aOGwkN2277-9P--_vVjvv73vv70777-977-977-9Sy8k77-9MUTvv70I\" alt=\"\" class=\"img_ev3q\"></p>\n<p>A new <code>Share</code> button</p>\n<p><em>...for sharing links for editors, viewers, and for embedding public apps</em></p>\n<p>__ <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/68204-YO-_vd-dXu-_ve-_vWl977-9d9eU77-9Eu-_vRnvv73vv70lAVc6Nljvv73vv73vv71077-9Vw\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"other-improvements\">Other improvements<a href=\"https://docs.retool.com/changelog/cloud/2-54-19#other-improvements\" class=\"hash-link\" aria-label=\"Direct link to Other improvements\" title=\"Direct link to Other improvements\">​</a></h2>\n<ul>\n<li>Added a keyboard shortcut Ctrl+b / Cmd+b to open and close the Model browser</li>\n<li>Added support for newer AWS regions (eu-north-1, me-south-1, us-gov-east-1, and us-gov-west-1) for DynamoDB and Athena.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixes\">Fixes<a href=\"https://docs.retool.com/changelog/cloud/2-54-19#fixes\" class=\"hash-link\" aria-label=\"Direct link to Fixes\" title=\"Direct link to Fixes\">​</a></h2>\n<ul>\n<li>Fixed a bug where background colors for modals and file pickers weren’t configurable</li>\n<li>Fixes a bug where Table mappers that refer to something outside of the Table's data scope would not update properly.</li>\n<li>Performance improvements for Retool apps with many components</li>\n<li>Fixed a bug where <code>Select</code> and <code>TextInput</code> components inside <code>ListView</code> components might crash</li>\n<li>Handle raw SQL statements on Oracle DB correctly</li>\n<li>Fix issue with SQL Server resource connections</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-54-19",
            "title": "Retool 2.54.19",
            "summary": "Along with improvements to forms, we’ve continued our series of visual tweaks. \\\\We’ll be tweaking these designs over the next few months. We’d love to hear your feedback!",
            "date_modified": "2020-03-17T00:22:40.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/a-new-editor",
            "content_html": "<ul>\n<li>General editor performance improvements</li>\n<li>Dragging new components onto the canvas should be faster</li>\n<li>Dropdown components are faster when using “Max Results”</li>\n<li>Faster scrolling for wide tables</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/a-new-editor",
            "title": "Retool Cloud updates for February 2, 2020",
            "summary": "- General editor performance improvements",
            "date_modified": "2020-02-22T00:00:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-53-31",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"better-resources\">Better resources<a href=\"https://docs.retool.com/changelog/cloud/2-53-31#better-resources\" class=\"hash-link\" aria-label=\"Direct link to Better resources\" title=\"Direct link to Better resources\">​</a></h2>\n<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"graphql-resources-now-have-a-schema-explorer\">GraphQL resources now have a schema explorer!<a href=\"https://docs.retool.com/changelog/cloud/2-53-31#graphql-resources-now-have-a-schema-explorer\" class=\"hash-link\" aria-label=\"Direct link to GraphQL resources now have a schema explorer!\" title=\"Direct link to GraphQL resources now have a schema explorer!\">​</a></h3>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/59670-77-9AFYkWO-_ve-_ve-_ve-_vQvvv717DG7vv73vv71x77-9Ye-_ve-_ve-_ve-_vRZgCWF7Au-_vSbvv70\" alt=\"\" class=\"img_ev3q\"></p>\n<ul>\n<li>You can now specify a database index/number for Redis resources</li>\n<li>Our Lambda integration now supports Invocation type</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improvements\">Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-53-31#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<ul>\n<li>Support restoring signatures from images in the Signature component</li>\n<li>Add “isOpen” property to Modals</li>\n<li>Better currency support for TextInput components</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"bug-fixes\">Bug Fixes<a href=\"https://docs.retool.com/changelog/cloud/2-53-31#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug Fixes\" title=\"Direct link to Bug Fixes\">​</a></h2>\n<ul>\n<li>Fix issues with on-premise deployments on Ubuntu 16</li>\n<li>Fix issue where callbacks in custom components were not being called correctly</li>\n<li>Fix issue where empty strings instead of nulls were inserted into tables</li>\n<li>Fix issue where JSON values from MultiSelect components weren’t parsed correctly</li>\n<li>Fix syntax highlighting for dropdown values</li>\n<li>Display Dropdown cells in Tables correctly in compact mode</li>\n<li>Stop converting dates to strings during Git syncing</li>\n<li>Bulk updates now work correctly in filtered tables</li>\n<li>Remove extra scroll bars in the Query library</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-53-31",
            "title": "Retool 2.53.31",
            "summary": "Better resources",
            "date_modified": "2020-01-09T02:10:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-53-18",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"add-new-row\">Add New Row<a href=\"https://docs.retool.com/changelog/cloud/2-53-18#add-new-row\" class=\"hash-link\" aria-label=\"Direct link to Add New Row\" title=\"Direct link to Add New Row\">​</a></h2>\n<p>You can now add new rows to your data directly from your table. Useful when you don’t want to build a form :)</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/56917-77-977-9c2Rs77-9X3Pvv71V77-9Q--_ve-_ve-_vU0afEPvv73vv73vv7183YPvv73vv70w77-977-977-977-9\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"better-omnibox\">Better Omnibox<a href=\"https://docs.retool.com/changelog/cloud/2-53-18#better-omnibox\" class=\"hash-link\" aria-label=\"Direct link to Better Omnibox\" title=\"Direct link to Better Omnibox\">​</a></h2>\n<p>The new Omnibox (Cmd/Ctrl+K) now can take you to Resources, Folders, the Query library, and Settings in addition to the usual Retool apps</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/56918-77-977-9Be-_vSPvv73vv70EKu-_vWhE77-9du-_ve-_vTHvv70P77-90q06cRrvv73vv70XR--_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<p>Improvements</p>\n<ul>\n<li>Added <strong>image/png</strong> as a type in GCS resources</li>\n<li>Added better instructions to Container, Tabbed Container, and List View</li>\n<li>Added option to enable batch querying for MSSQL queries</li>\n<li>Accept multiple variable definitions in REST and GraphQL resources using custom auth</li>\n<li>Fixed bug where <code>{{ }}</code> in URLs in REST and GraphQL resources were not being processed correctly</li>\n<li>Fixed an issue where mappers were not working correctly with filters</li>\n<li>Fixed a bug where Retool resources (REST, Run JS Code, etc.) did not work correctly in staging</li>\n<li>Performance and reliability improvements</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-53-18",
            "title": "Retool 2.53.18",
            "summary": "Add New Row",
            "date_modified": "2019-12-07T03:18:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-52-16",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"complex-table-cells\">Complex Table Cells<a href=\"https://docs.retool.com/changelog/cloud/2-52-16#complex-table-cells\" class=\"hash-link\" aria-label=\"Direct link to Complex Table Cells\" title=\"Direct link to Complex Table Cells\">​</a></h2>\n<p>Tables now support much more than just text. Columns can now be a <strong>Checkbox</strong>, <strong>TextInput</strong>, <strong>DatePicker</strong>, <strong>Button</strong> or <strong>Dropdown</strong>. This feature also completely integrates with bulk updates, making editing your data as simple as editing a table.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55126-Bu-_vWUg77-9ac-U77-977-977-9Qu-_ve-_vRTvv73vv73vv73vv73vv73vv73vv71177-977-9AyTvv71p77-9aWE\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"refreshed-query-library\">Refreshed Query Library<a href=\"https://docs.retool.com/changelog/cloud/2-52-16#refreshed-query-library\" class=\"hash-link\" aria-label=\"Direct link to Refreshed Query Library\" title=\"Direct link to Refreshed Query Library\">​</a></h2>\n<p>We’ve added a series of features along with a brand new look!</p>\n<ul>\n<li>A <strong>View History</strong> button to look through query history and revert to an earlier version</li>\n<li>A usage view to see which apps are using this query</li>\n<li>Use imported javascript libraries inside <code>{{ }}</code></li>\n<li>A search field to find specific queries</li>\n<li>Permission toggle to show/hide the library to different user groups</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55121-VlVX77-977-977-9IVFG77-977-9A--_ve-_vQXvv73vv71K77-977-9KGtp77-9L--_ve-_ve-_ve-_ve-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"dropzone\">Dropzone<a href=\"https://docs.retool.com/changelog/cloud/2-52-16#dropzone\" class=\"hash-link\" aria-label=\"Direct link to Dropzone\" title=\"Direct link to Dropzone\">​</a></h2>\n<p>A <em>Filepicker</em> widget when expanded will become a dropzone.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55122-77-977-91bImX--_vRfvv70VTidVeu-_ve-_ve-_vV_vv73vv70uLTk177-977-9OO-_ve-_vVLvv70\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"chart-v2\">Chart v2<a href=\"https://docs.retool.com/changelog/cloud/2-52-16#chart-v2\" class=\"hash-link\" aria-label=\"Direct link to Chart v2\" title=\"Direct link to Chart v2\">​</a></h2>\n<p>We’ve added a new <em>Chart</em> component that lets you use all three charts in one.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55123-77-977-977-90rAh77-9SXvvv70pJSHvv719D23vv73vv702PO-_vQPvv73vv73vv73vv71V77-9P--_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improvements\">Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-52-16#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<ul>\n<li>Switching resources no longer clears out your query</li>\n<li>Memory leak fixes for on-premise customers</li>\n<li>MongoDB resources now support SSL and self signed certificates</li>\n<li>MongoDB resources now support <code>updateMany</code></li>\n<li>Snowflake resources let you specify a DB schema</li>\n<li>Table mappers now work correctly with filters</li>\n<li>Apps with a large number of queries have better performance</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-52-16",
            "title": "Retool 2.52.16",
            "summary": "Complex Table Cells",
            "date_modified": "2019-11-21T23:41:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-52-17",
            "content_html": "<p><em>As always please reach out to <a href=\"mailto:feedback@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">feedback@retool.com</a> with comments and requests!</em></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"auto-generate-apps\">Auto-generate Apps<a href=\"https://docs.retool.com/changelog/cloud/2-52-17#auto-generate-apps\" class=\"hash-link\" aria-label=\"Direct link to Auto-generate Apps\" title=\"Direct link to Auto-generate Apps\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55262-G2nvv70Z77-9Ee-_vUV5RO-_vVYy77-9Ue-_ve-_vRxwPyjvv73vv71lGBvvv73vv71r77-9\" alt=\"autogenerate.gif\" class=\"img_ev3q\"></p>\n<p>You can now generate a simple app automatically for Postgres and MySQL. Pick a table and a field to filter on, and we’ll build it for you 🙂</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"beta--table-filters\">BETA — Table filters<a href=\"https://docs.retool.com/changelog/cloud/2-52-17#beta--table-filters\" class=\"hash-link\" aria-label=\"Direct link to BETA — Table filters\" title=\"Direct link to BETA — Table filters\">​</a></h2>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://p6.f1.n0.cdn.getcloudapp.com/items/JruwYrNq/Screen+Recording+2019-11-14+at+03.38+PM.gif?v=02be9f85115610b2cd65d2d7a1e6b553\" alt=\"\" class=\"img_ev3q\"></p>\n<p>You can now filter for values on the <strong>Table Component</strong>, no config necessary. Let us know what you think!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improvements\">Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-52-17#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<ul>\n<li>Added option to return raw date strings in MySQL instead of JS objects</li>\n<li>Fixed a bug where Cassandra, BigQuery, Denodo, Vertica, Snowflake resources could not write</li>\n<li>Fixed a bug where users couldn’t be invited and added to a group at the same time</li>\n<li>Fixed a bug where GraphQL resources crashed if they had invalid schemas</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-52-17",
            "title": "Retool 2.52.17",
            "summary": "As always please reach out to feedback@retool.com with comments and requests!",
            "date_modified": "2019-11-14T23:31:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-52-10",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"tabs\">Tabs!<a href=\"https://docs.retool.com/changelog/cloud/2-52-10#tabs\" class=\"hash-link\" aria-label=\"Direct link to Tabs!\" title=\"Direct link to Tabs!\">​</a></h2>\n<p>You can now reorder query tabs! Sometimes, it’s the little things 🙂</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://p6.f1.n0.cdn.getcloudapp.com/items/2NuApowq/Screen+Recording+2019-11-06+at+04.36+PM.gif?v=5abecfc1b0deb43ac8e5879dc0c4d03b\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"cascader-component\">Cascader Component<a href=\"https://docs.retool.com/changelog/cloud/2-52-10#cascader-component\" class=\"hash-link\" aria-label=\"Direct link to Cascader Component\" title=\"Direct link to Cascader Component\">​</a></h2>\n<p>When you need a dropdown with nested options, you can use our new <code>Cascader</code> component</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://p6.f1.n0.cdn.getcloudapp.com/items/kpudlZGJ/Screen+Recording+2019-11-06+at+04.07+PM.gif?v=825b5bea8d1d7ce708edaa5516da8367\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"tables\">Tables<a href=\"https://docs.retool.com/changelog/cloud/2-52-10#tables\" class=\"hash-link\" aria-label=\"Direct link to Tables\" title=\"Direct link to Tables\">​</a></h2>\n<ul>\n<li>Table cells have a new type: <code>Modal</code> — Clicking on a cell of this type will open a modal. You can use <code>selectedRow.data</code> to customize your components inside.</li>\n<li>You can show and hide columns using <code>{{ }}</code> in the <code>Column Settings</code> section</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"query-library\">Query Library<a href=\"https://docs.retool.com/changelog/cloud/2-52-10#query-library\" class=\"hash-link\" aria-label=\"Direct link to Query Library\" title=\"Direct link to Query Library\">​</a></h2>\n<ul>\n<li>You can now delete your own queries in the Query Library</li>\n<li>Query runs are now tracked in the audit log</li>\n<li>REST resources are now displayed correctly with the base URL</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improvements\">Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-52-10#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<ul>\n<li>Query preview now shows the data after transformation</li>\n<li>Forms now validate text inputs of type <code>email</code> correctly</li>\n<li>On-premise users now have git-syncing for resources</li>\n<li>The MSSQL resource now lets you dynamically override username and password <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55263-KwB177-977-9P0Tvv73vv70w77-9D31K77-9K--_vSEjM2Dvv71X77-9VO-_ve-_vQXvv71oe--_vQ\" alt=\"\" class=\"img_ev3q\"></li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-52-10",
            "title": "Retool 2.52.10",
            "summary": "Tabs!",
            "date_modified": "2019-11-07T00:37:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-51-4",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"notes-v2\">Notes v2<a href=\"https://docs.retool.com/changelog/cloud/2-51-4#notes-v2\" class=\"hash-link\" aria-label=\"Direct link to Notes v2\" title=\"Direct link to Notes v2\">​</a></h2>\n<p>We’ve heard your feedback and built out a version 2 of the Notes component. You can now leave multiple comments, and also see who commented and when!</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55264-X--_vVg2Ky4l77-977-977-9cO-_vX_vv70ycu-_ve-_ve-_vXnvv73vv71rddO-JCLvv71s\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"schemas\">Schemas<a href=\"https://docs.retool.com/changelog/cloud/2-51-4#schemas\" class=\"hash-link\" aria-label=\"Direct link to Schemas\" title=\"Direct link to Schemas\">​</a></h2>\n<p>We spiced up the schema viewer for SQL based resources. You can search by table, field, and collapse and expand columns. We’ve also made scrolling through more responsive.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55265-fz9O77-977-977-9OU86SFtm77-9cVnvv73vv70WCO-_ve-_vTENeO-_ve-_ve-_vXrvv73vv70\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"braintree-component\">Braintree component<a href=\"https://docs.retool.com/changelog/cloud/2-51-4#braintree-component\" class=\"hash-link\" aria-label=\"Direct link to Braintree component\" title=\"Direct link to Braintree component\">​</a></h2>\n<p>We added a Braintree component to accept payments — and to keep our Stripe component company 🙂</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55266-GFQW77-9A--_ve-_vX9tI--_ve-_vRzvv73NujJo77-9B33vv70cdu-_vVrvv70F77-9TV5V\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"query-library\">Query Library!?<a href=\"https://docs.retool.com/changelog/cloud/2-51-4#query-library\" class=\"hash-link\" aria-label=\"Direct link to Query Library!?\" title=\"Direct link to Query Library!?\">​</a></h2>\n<p>The Query Playground is now the Query Library. We want the name to reflect the core functionality we’ve added to to the Library, like reusable queries. We hope this doesn’t stop you from playing around and experimenting though!</p>\n<p>You can now pass along links to specific queries in the playground. This should make sharing queries much easier.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55267-77-977-9Iu-_vWE077-9VE82ce-_vX0b77-9Du-_vRNm77-9GCjvv70h77-977-9C--_vRt777-9\" alt=\"Screen Shot 2019-10-30 at 1.59.37 PM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improvements\">Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-51-4#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<ul>\n<li>Table columns are now sorted by the unmapped value. Now, using a mapper on a column won’t affect your sorting.</li>\n<li>The Create button on the home page is now disabled for users who can’t create apps</li>\n<li>Fixed SSL connections for legacy versions of Aurora</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-51-4",
            "title": "Retool 2.51.4",
            "summary": "Notes v2",
            "date_modified": "2019-10-29T02:18:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-50-4",
            "content_html": "<p>GraphQL queries now correctly return errors!</p>\n<ul>\n<li>Download your query results in the Query Playground as CSV or JSON</li>\n<li>Fixed a bug where MSSQL resources needed SSL to write back</li>\n<li>Fixed a bug with how Retool processes and returns large Salesforce SOQL queries</li>\n<li>Made the Query editor more responsive</li>\n</ul>\n<p><em>If your team is trying to build apps around processes that require approval — budget increases, large purchases, or anything that requires approval from another specific user — please reach out to <a href=\"mailto:yogi@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">yogi@retool.com</a>! We’re working on making these flows easier to build and have something that might make your life easier.</em></p>",
            "url": "https://docs.retool.com/changelog/cloud/2-50-4",
            "title": "Retool 2.50.4",
            "summary": "GraphQL queries now correctly return errors!",
            "date_modified": "2019-10-22T00:22:00.000Z",
            "tags": [
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-50-3",
            "content_html": "<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55268-77-977-9J--_vWRj77-9dS7vv73vv73vv70k77-977-9Z--_vWLvv73vv700f0sn77-9bu-_vQLvv70u77-9\" alt=\"\" class=\"img_ev3q\"></p>\n<p>You can use the same query in multiple apps with <a href=\"https://retool.com/docs/reusable-queries\" target=\"_blank\" rel=\"noopener noreferrer\">Reusable Queries</a>. Often, you want the same functionality across apps, but don’t want to copy paste a query over and over again. Reusable queries help you avoid code duplication, version control queries, and share queries with your team.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improvements\">Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-50-3#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<ul>\n<li>Add and edit headers in GraphQL queries</li>\n<li>Pressing ESC correctly deselects your components</li>\n<li>Performance fixes around the query editor and autocomplete</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-50-3",
            "title": "Retool 2.50.3",
            "summary": "You can use the same query in multiple apps with Reusable Queries. Often, you want the same functionality across apps, but don’t want to copy paste a query over and over again. Reusable queries help you avoid code duplication, version control queries, and share queries with your team.",
            "date_modified": "2019-10-15T21:52:00.000Z",
            "tags": [
                "Self-hosted Retool"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-49-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"retool-managed-notes--beta\">Retool managed notes — beta<a href=\"https://docs.retool.com/changelog/cloud/2-49-0#retool-managed-notes--beta\" class=\"hash-link\" aria-label=\"Direct link to Retool managed notes — beta\" title=\"Direct link to Retool managed notes — beta\">​</a></h2>\n<p>If you’ve ever thought, “I wish I could just write a quick note about this user, but don’t want to create a table or add a column for it,” you should try the <a href=\"https://docs.retool.com/docs/notes\" target=\"_blank\" rel=\"noopener noreferrer\">Note component</a>. The component lets you comment on any row your database. For example, you can write a note (e.g. “duplicate user!”), attach it to <code>userid_42</code>, and retrieve it later. This is still in beta, so <a href=\"mailto:notes@retool.com\" target=\"_blank\" rel=\"noopener noreferrer\">we’d love your feedback</a>!</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55269-7qOU77-9E--_vWVO77-9CSXvv73vv73vv70pB--_vXMcKc-xC--_vQvvv70f77-9b--_ve-_ve-_vQ\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"playground-updates-shared-queries-and-variables\">Playground updates: shared queries and variables<a href=\"https://docs.retool.com/changelog/cloud/2-49-0#playground-updates-shared-queries-and-variables\" class=\"hash-link\" aria-label=\"Direct link to Playground updates: shared queries and variables\" title=\"Direct link to Playground updates: shared queries and variables\">​</a></h2>\n<p>You can now share your Playground queries with the rest of the team! Once a query has been shared, all the editors in your team will be able to see, run, and edit the query.</p>\n<p>Also new: variables in queries. Use double curly braces <code>{{ }}</code> in your playground queries to define parameters to your queries. To run parameterized queries in the playground, pass in values to variables on the right hand side.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55270-77-9V1AT77-977-9CdWyCO-_ve-_vVjMmu-_ve-_vR7vv73vv70sNh3vv73vv73vv70fOA_vv70sMA\" alt=\"\" class=\"img_ev3q\"></p>\n<p><em>Coming soon — import queries from the playground into your apps, so you can stay DRY and avoid copy/pasting queries</em> 🙂</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"calculated-table-columns\">Calculated table columns<a href=\"https://docs.retool.com/changelog/cloud/2-49-0#calculated-table-columns\" class=\"hash-link\" aria-label=\"Direct link to Calculated table columns\" title=\"Direct link to Calculated table columns\">​</a></h2>\n<p>Ever wished you had Javascript in Excel? Now you have Retool! The Table component now lets you add columns populated by calculations (such as ones that reference other values in the table). And, of course, you get the power of JS with the <code>{{ }}</code>.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55271-NO-_ve-_vTXvv73vv73vv73vv71NMx5v77-9Ne-_vWTvv73vv73vv73vv71Y77-9fO-_vdGiaTdG\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-resources-openapi--cosmosdb--s3-compatible-storage-providers\">New resources: OpenAPI + CosmosDB + S3-compatible storage providers<a href=\"https://docs.retool.com/changelog/cloud/2-49-0#new-resources-openapi--cosmosdb--s3-compatible-storage-providers\" class=\"hash-link\" aria-label=\"Direct link to New resources: OpenAPI + CosmosDB + S3-compatible storage providers\" title=\"Direct link to New resources: OpenAPI + CosmosDB + S3-compatible storage providers\">​</a></h2>\n<p>We’ve added three new resources:</p>\n<ol>\n<li>API that has an OpenAPI specification (e.g. certain <a href=\"https://cloud.google.com/endpoints/docs/openapi/\" target=\"_blank\" rel=\"noopener noreferrer\">Google Cloud Endpoints</a>)</li>\n<li>Azure CosmosDB</li>\n<li>You can now pass in a different base URL to the S3 resource to connect to any S3 compatible storage provider (ex: DigitalOcean Spaces or Wasabi)</li>\n</ol>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"revert-to-an-older-release\">Revert to an older release<a href=\"https://docs.retool.com/changelog/cloud/2-49-0#revert-to-an-older-release\" class=\"hash-link\" aria-label=\"Direct link to Revert to an older release\" title=\"Direct link to Revert to an older release\">​</a></h2>\n<p>You can now directly revert to an older release in the app editor, without searching through your entire history. (If your end users are not on the <code>latest</code> release, reverting to an older version will not revert their published version.)</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55272-AO-_vSrvv70TFB0r77-977-9EDratu-_ve-_ve-_ve-_vVR-EgDvv70y77-9z6pYUmcF\" alt=\"\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"other-improvements\">Other improvements<a href=\"https://docs.retool.com/changelog/cloud/2-49-0#other-improvements\" class=\"hash-link\" aria-label=\"Direct link to Other improvements\" title=\"Direct link to Other improvements\">​</a></h2>\n<ul>\n<li>SAML JIT user provisioning for Okta (if you know, you know)</li>\n<li>You can now pass in SSL certificates to connect to RethinkDB</li>\n<li>We added <code>utils.copyToClipboard</code> to let you copy text in Javascript queries</li>\n<li>We now support various eastern european characters in our font, such as ľščťžřňěůôä for our Czech friends</li>\n<li>Our MySQL and Postgres resources now accept self signed certificates — this is useful if you’re on GCP</li>\n<li>Small fixes for containers in mobile mode, the <code>DateTimePicker</code>, and authentication for REST Queries</li>\n<li>Various performance fixes</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-49-0",
            "title": "Retool 2.49",
            "summary": "Retool managed notes — beta",
            "date_modified": "2019-10-09T17:27:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-42-3",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"transformers-for-query-data\">Transformers for query data<a href=\"https://docs.retool.com/changelog/cloud/2-42-3#transformers-for-query-data\" class=\"hash-link\" aria-label=\"Direct link to Transformers for query data\" title=\"Direct link to Transformers for query data\">​</a></h2>\n<p>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 <code>{{ query1.data }}</code> elsewhere, it’ll be transformed, so you won’t have to write the same JS in multiple places.</p>\n<ul>\n<li>Click “enable” next to the “Transformer” section below your query.</li>\n<li>Use <code>data</code> in the Query Transformer to access the query results.</li>\n<li>In the rest of the app, access the transformed results with the <code>data</code> property inside <code>{{ }}</code>, for example with <code>{{ query1.data }}</code>.</li>\n<li>If you need to, you can still access the original response of the query with <code>{{ queryName.rawData }}</code>.</li>\n</ul>\n<p>Note: you can disable the query transformer by clicking the “disable” button.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55276-Ru-_vU0x77-9MSjIve-_vRJALiLvv71D77-9Ne-_vW0EGO-_ve-_vR7vv73vv73vv73ekO-_vQ\" alt=\"Example of using the Transformer to filter User IDs with a dynamic slider.\" class=\"img_ev3q\"> <em>Example of using the Transformer to filter User IDs with a dynamic slider.</em></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"click-to-copy-the-green-evaluation-preview\">Click to copy the green “evaluation preview”<a href=\"https://docs.retool.com/changelog/cloud/2-42-3#click-to-copy-the-green-evaluation-preview\" class=\"hash-link\" aria-label=\"Direct link to Click to copy the green “evaluation preview”\" title=\"Direct link to Click to copy the green “evaluation preview”\">​</a></h2>\n<p>Retool now supports copying the content from an “evaluation preview” textbox. ​​</p>\n<p>​​For example, in the GIF below, we’re copying the actual live results of a query into a <strong>JSON Explorer</strong>, so we can inspect it.</p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55277-OO-_ve-_vUfvv71JeSwx77-977-9LTHvv73vv70BFO-_vV0PSe-_vT1v77-977-977-9BhXvv73vv70H\" alt=\"Copying the green “evaluation preview” text to inspect the data in a JSON explorer component.\" class=\"img_ev3q\"></p>\n<p><em>Copying the green “evaluation preview” text to inspect the data in a JSON explorer component.</em></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"copy--paste-containers-with-their-children\">Copy &amp; paste containers with their children<a href=\"https://docs.retool.com/changelog/cloud/2-42-3#copy--paste-containers-with-their-children\" class=\"hash-link\" aria-label=\"Direct link to Copy &amp; paste containers with their children\" title=\"Direct link to Copy &amp; paste containers with their children\">​</a></h2>\n<p>You can now copy and paste <strong>Containers</strong> with of their children.</p>\n<ul>\n<li>Select the parent <strong>Container</strong> (or <strong>Tabbed Container</strong>) component.</li>\n<li>Copy with <code>⌘ + C</code> on Mac (or <code>CTRL + C</code> on Windows / Linux).</li>\n<li>Click on the canvas to deselect the <strong>Container</strong>.</li>\n<li>Paste with <code>⌘ + V</code> on Mac (or <code>CTRL + V</code> on Windows / Linux).</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55278-OE1I77-9GQPvv70jxqfvv73vv73vv70OIivvv73vv73vv71i77-977-977-9K--_vXBb77-9LO-_vRfvv70\" alt=\"Copy and paste containers with their children!\" class=\"img_ev3q\"></p>\n<p><em>Copy and paste containers with their children!</em></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"paste-components-inside-existing-containers\">Paste components inside existing containers<a href=\"https://docs.retool.com/changelog/cloud/2-42-3#paste-components-inside-existing-containers\" class=\"hash-link\" aria-label=\"Direct link to Paste components inside existing containers\" title=\"Direct link to Paste components inside existing containers\">​</a></h2>\n<p>Also, you can also now paste components directly into <strong>Container</strong> or <strong>Tabbed Container</strong> components.</p>\n<ul>\n<li>Click the component and copy it with <code>⌘ + C</code> on Mac (or <code>CTRL + C</code> on Windows / Linux).</li>\n<li>Select the <strong>Container</strong> or individual tab of a <strong>Tabbed Container</strong> where you want the copy to go.</li>\n<li>Paste the component with <code>⌘ + V</code> on Mac (or <code>CTRL + V</code> on Windows / Linux).</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55279-77-9UO-_vRHvv71SWkXHm1vvv71vOu-_vSk3Ve-_ve-_ve-_ve-_ve-_vTQv77-977-9cwZi\" alt=\"Copy and pasting a button from one container to another.\" class=\"img_ev3q\"> <em>Copy and pasting a button from one container to another.</em></p>\n<h1>Performance enhancements</h1>\n<p>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 &amp; mapped values will load quicker too!</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-minor-features\">New minor features<a href=\"https://docs.retool.com/changelog/cloud/2-42-3#new-minor-features\" class=\"hash-link\" aria-label=\"Direct link to New minor features\" title=\"Direct link to New minor features\">​</a></h2>\n<ul>\n<li>Added ability to control staging vs. production environment with a URL parameter.</li>\n<li>Added an onboarding checklist for new users! (If you complete it, we’ll mail you a Retool T-shirt 👕).</li>\n<li>Updated visual cue to make it more obvious when components reference unsaved queries.</li>\n<li>Added <code>sms://</code> and <code>facetime://</code> to our list of allowed protocols in HTML links.</li>\n<li>Added option to disable introspection for GraphQL resources.</li>\n<li>Added ability to specify an <code>audience</code> parameter in OAuth 2.0 authentication for HTTP and GraphQL APIs.</li>\n<li>Added ability to clear the <strong>PDF Viewer</strong> component programmatically with <code>.clear()</code>.</li>\n<li>Added better support for newlines when copying text and components to the clipboard.</li>\n<li>Added option to hide the <code>clear</code> button in <strong>Select</strong> components (aka <strong>Dropdown components</strong>).</li>\n<li>Added option for <code>scroll</code> on the <strong>Modal</strong> component.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"small-fixes\">Small fixes<a href=\"https://docs.retool.com/changelog/cloud/2-42-3#small-fixes\" class=\"hash-link\" aria-label=\"Direct link to Small fixes\" title=\"Direct link to Small fixes\">​</a></h2>\n<ul>\n<li>Fixed the the display for the “Always show download button” option on <strong>Table</strong> components.</li>\n<li>Fixed <code>upsert</code> action for querying Snowflake databases.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-42-3",
            "title": "Retool 2.42.3",
            "summary": "Transformers for query data",
            "date_modified": "2019-07-23T02:32:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/copy-paste-components-staging-environment-visual-cue-timer-component-and-more",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"copy-and-paste-components-between-apps\">Copy and paste components between apps<a href=\"https://docs.retool.com/changelog/copy-paste-components-staging-environment-visual-cue-timer-component-and-more#copy-and-paste-components-between-apps\" class=\"hash-link\" aria-label=\"Direct link to Copy and paste components between apps\" title=\"Direct link to Copy and paste components between apps\">​</a></h2>\n<ul>\n<li>Copy &amp; paste entire components from one app to another!</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"visual-cue-for-staging-environment\">Visual cue for staging environment<a href=\"https://docs.retool.com/changelog/copy-paste-components-staging-environment-visual-cue-timer-component-and-more#visual-cue-for-staging-environment\" class=\"hash-link\" aria-label=\"Direct link to Visual cue for staging environment\" title=\"Direct link to Visual cue for staging environment\">​</a></h2>\n<ul>\n<li>Added a yellow banner for both Editor and Presentation modes when staging mode is selected</li>\n<li>Only available for apps that have a staging environment configured</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55280-77-9Ze-_ve-_vXDvv719GE9ab1fvv70977-977-9au-_ve-_ve-_vVg-77-977-92prvv73Fn3QoZw\" alt=\"Visual cue for staging environment \" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new\">New<a href=\"https://docs.retool.com/changelog/copy-paste-components-staging-environment-visual-cue-timer-component-and-more#new\" class=\"hash-link\" aria-label=\"Direct link to New\" title=\"Direct link to New\">​</a></h2>\n<ul>\n<li>Start, stop, resume, and reset a stopwatch-style timer <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55281-FC3vv70eSVfvv73vv73vv70GLB5Exabvv70eCu-_vUBh77-977-977-977-977-977-9Ze-_vWYgOQ\" alt=\"timer component\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new--improved\">New &amp; Improved<a href=\"https://docs.retool.com/changelog/copy-paste-components-staging-environment-visual-cue-timer-component-and-more#new--improved\" class=\"hash-link\" aria-label=\"Direct link to New &amp; Improved\" title=\"Direct link to New &amp; Improved\">​</a></h2>\n<ul>\n<li>Added <code>triggeredby``Id</code> attribute to manually-triggered queries so you know what triggered it</li>\n<li>Added button to Settings &gt; Advanced page to download Retool’s public key for git syncing</li>\n<li>Added support for auto-pagination for DynamoDB resources</li>\n<li>Added ability to specify GCS bucket in resource editor</li>\n<li>Added ability to specify more than 1 permitted file type for S3 Uploader components</li>\n<li>Added <code>onchange</code> query trigger for Radio Group components</li>\n<li>Added write-back capability for BiqQuery resources</li>\n<li>Added <code>setValue</code> function to Editable Text component</li>\n<li>Added autocomplete for JS query utility libraries</li>\n<li>Now displaying hints for common SQL query gotchas in query editor</li>\n<li>Various performance improvements for big Retool apps</li>\n<li>Better UX in Query Playground for long queries</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/copy-paste-components-staging-environment-visual-cue-timer-component-and-more",
            "title": "Retool Cloud updates for 7 March 2019",
            "summary": "Copy and paste components between apps",
            "date_modified": "2019-07-03T21:47:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/view-concurrent-users-delete-apps-and-more",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"concurrent-developer-warnings\">Concurrent developer warnings<a href=\"https://docs.retool.com/changelog/view-concurrent-users-delete-apps-and-more#concurrent-developer-warnings\" class=\"hash-link\" aria-label=\"Direct link to Concurrent developer warnings\" title=\"Direct link to Concurrent developer warnings\">​</a></h2>\n<ul>\n<li>Added a notification to the header that shows who else is modifying the same Retool app.</li>\n<li>You can use this to avoid overwriting changes that your team mates are making to the Retool app.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55282-Nu-_vSrvv73vv705f2YM77-9CO-_ve-_vTnvv73vv714B2bvv73vv73vv73vv71077-9wqhU77-977-977-977-9\" alt=\"Screen Shot 2019-06-03 at 2.19.47 PM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"deleting-apps\">Deleting apps<a href=\"https://docs.retool.com/changelog/view-concurrent-users-delete-apps-and-more#deleting-apps\" class=\"hash-link\" aria-label=\"Direct link to Deleting apps\" title=\"Direct link to Deleting apps\">​</a></h2>\n<ul>\n<li>Added ability for admins to permanently delete apps that are in the archive folder.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55283-77-977-977-977-9KO-_vXcfTO-_ve-_vSVdFu-_vVvvv73ok7Xvv703DUg_Mu-_ve-_vWB_Smk\" alt=\"Screen Shot 2019-06-03 at 2.21.58 PM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new\">New<a href=\"https://docs.retool.com/changelog/view-concurrent-users-delete-apps-and-more#new\" class=\"hash-link\" aria-label=\"Direct link to New\" title=\"Direct link to New\">​</a></h2>\n<ul>\n<li>Added the option to specify the ACL for files uploaded to Google Cloud Storage</li>\n<li>Added option to allow users to define custom values in Multiselects. Enable this by using the \"Allow user defined values\" option in Multiselects.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55284-LQTvv71efO-_vQzvv73vv73vv71Nce-_vXcs77-9OHJf77-9Bu-_ve-_vTfvv73fmCvvv70tTg\" alt=\"Screen Recording 2019-06-03 at 02.25 PM.gif\" class=\"img_ev3q\"></p>",
            "url": "https://docs.retool.com/changelog/view-concurrent-users-delete-apps-and-more",
            "title": "2.41.3 View concurrent users, delete apps, and more",
            "summary": "Concurrent developer warnings",
            "date_modified": "2019-06-03T11:51:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/control-resource-access-levels-and-more",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"resource-access-levels\">Resource access levels<a href=\"https://docs.retool.com/changelog/control-resource-access-levels-and-more#resource-access-levels\" class=\"hash-link\" aria-label=\"Direct link to Resource access levels\" title=\"Direct link to Resource access levels\">​</a></h2>\n<ul>\n<li>Extended the access control levels in Retool to allow admins to restrict access to Resources connected in Retool.</li>\n<li>You can use this feature to do things like:<!-- -->\n<ul>\n<li>Only allow analysts to use readonly database connections.</li>\n<li>Only allow developers to use apis / databases that they manage.</li>\n</ul>\n</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55285-Kw3vv73vv73vv73vv715F--_vUI1G--_vUbvv73vv71WQu-_ve-_vU0_77-977-977-9DFjvv70oBe-_vRw\" alt=\"Screen Shot 2019-06-03 at 1.54.16 PM.png\" class=\"img_ev3q\"></p>\n<p>Here, the group lets the \"Awesome Intern\" use the <code>onboarding_db (readonly)</code> and <code>onboarding_api</code> resources to create / modify apps</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"query-playground\">Query playground<a href=\"https://docs.retool.com/changelog/control-resource-access-levels-and-more#query-playground\" class=\"hash-link\" aria-label=\"Direct link to Query playground\" title=\"Direct link to Query playground\">​</a></h2>\n<ul>\n<li>\n<p>Added the Query Playground which lets developers write queries quickly without having to create an app. <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55286-dj7vv70377-9eBBt77-9bSYu77-9MCERWu-_vTR0Ru-_ve-_vWEU77-977-9Onfvv73vv708\" alt=\"Screen Shot 2019-06-03 at 2.02.33 PM.png\" class=\"img_ev3q\"></p>\n</li>\n<li>\n<p>Coming soon: reusing queries you write in the playground within your Retool apps.</p>\n</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"tile-homepage-view\">Tile homepage view<a href=\"https://docs.retool.com/changelog/control-resource-access-levels-and-more#tile-homepage-view\" class=\"hash-link\" aria-label=\"Direct link to Tile homepage view\" title=\"Direct link to Tile homepage view\">​</a></h2>\n<ul>\n<li>Added a new tile-based home screen for Retool apps</li>\n<li>You can customize the image you use for each tile.</li>\n<li>You can also \"favorite\" your most frequently used apps so that always appear at the top of the page.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55287-77-9Oe-_ve-_vRTvv73vv70MfO-_ve-_vXlj2Knvv70N77-9Ywfvv70mRu-_vQs377-9Xu-_vXd977-9\" alt=\"Screen Shot 2019-06-03 at 2.08.00 PM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new\">New<a href=\"https://docs.retool.com/changelog/control-resource-access-levels-and-more#new\" class=\"hash-link\" aria-label=\"Direct link to New\" title=\"Direct link to New\">​</a></h2>\n<ul>\n<li>Added support for deleting S3 files.</li>\n<li>Added support for S3 bucket URLs in APIs that use the AWSv4 authentication method.</li>\n<li>Increased maximum timeout for queries to 10 minutes.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/control-resource-access-levels-and-more#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>Fixed how custom redirect flows in \"Custom Auth\" APIs work in \"staging\" environments.</li>\n<li>Fixed POST/PUT/DELETE requests in the Stripe integration that have an empty body.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/control-resource-access-levels-and-more",
            "title": "Retool Cloud updates for 31 May 2019",
            "summary": "Resource access levels",
            "date_modified": "2019-05-31T15:56:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/query-caching-and-more",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"query-caching\">Query Caching<a href=\"https://docs.retool.com/changelog/query-caching-and-more#query-caching\" class=\"hash-link\" aria-label=\"Direct link to Query Caching\" title=\"Direct link to Query Caching\">​</a></h2>\n<ul>\n<li>Added query caching as a way to optimize the performance of Retool apps.</li>\n<li>Queries can have its results cached for up to one day <strong>(the cache TTL)</strong>\n<ul>\n<li>The first time you run a cacheable query, it will run the query normally and then remember the query result.</li>\n<li>Anytime anybody runs the query again the remembered result gets returned instantly.</li>\n<li>The remembered result is deleted after the cache TTL expires.</li>\n</ul>\n</li>\n<li>You can configure this option in the \"Advanced options\" section of the query editor.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55288-77-977-9eRnvv71VGwDvv71K77-9dhDvv73vv73vv73vv73vv73vv71h77-977-977-9WO-_vWMTOe-_vWnvv71R\" alt=\"Screen Shot 2019-05-20 at 7.36.17 AM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"retool-community\">Retool community!<a href=\"https://docs.retool.com/changelog/query-caching-and-more#retool-community\" class=\"hash-link\" aria-label=\"Direct link to Retool community!\" title=\"Direct link to Retool community!\">​</a></h2>\n<ul>\n<li>Visit the <a href=\"https://community.retool.com/\" target=\"_blank\" rel=\"noopener noreferrer\">community forum</a> to join the community 🙂</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-and-improved\">New and Improved<a href=\"https://docs.retool.com/changelog/query-caching-and-more#new-and-improved\" class=\"hash-link\" aria-label=\"Direct link to New and Improved\" title=\"Direct link to New and Improved\">​</a></h2>\n<ul>\n<li>Added <code>lastUploadedFileName</code> to the S3 Uploader component. Works similarly to the <code>lastUploadedFileUrl</code>.</li>\n<li>Added live warnings to make it easier to write <a href=\"https://docs.tryretool.com/docs/scripting-retool\" target=\"_blank\" rel=\"noopener noreferrer\">Javascript scripts</a>.</li>\n<li>Added a <code>utils.downloadFile</code> function to Javascript scripts. Use this to with API queries that return pdfs / docx / xlsx / etc. to download the files returned. <a href=\"https://docs.tryretool.com/docs/scripting-retool#section--utils-downloadfile-data-any-filename-string-filetype-string-\" target=\"_blank\" rel=\"noopener noreferrer\">Docs here.</a></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/query-caching-and-more#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>Changed the MongoDB <code>insertOne</code> queries to also return the created object, including the MongoDB <code>_id</code>.</li>\n<li>Fixed deadlink on the Permissions dashboard.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/query-caching-and-more",
            "title": "2.39.7 Query caching and more",
            "summary": "Query Caching",
            "date_modified": "2019-05-19T11:18:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/rethinkdb-lambda-integrations-and-more",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"rethinkdb-integration\">RethinkDB Integration<a href=\"https://docs.retool.com/changelog/rethinkdb-lambda-integrations-and-more#rethinkdb-integration\" class=\"hash-link\" aria-label=\"Direct link to RethinkDB Integration\" title=\"Direct link to RethinkDB Integration\">​</a></h2>\n<ul>\n<li>Added RethinkDB as a Retool integration.</li>\n<li>Run <code>get</code>, <code>insert</code>, <code>update</code>, <code>delete</code>, and <code>find</code> queries on your database.</li>\n<li>Let us know what else we can add.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"lambda-integration\">Lambda Integration<a href=\"https://docs.retool.com/changelog/rethinkdb-lambda-integrations-and-more#lambda-integration\" class=\"hash-link\" aria-label=\"Direct link to Lambda Integration\" title=\"Direct link to Lambda Integration\">​</a></h2>\n<ul>\n<li>Added AWS Lambda as a Retool integration.</li>\n<li>Invoke lambda functions with whatever payload you need.</li>\n<li>See more info in our docs <a href=\"https://docs.tryretool.com/docs/lambda-integration\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/rethinkdb-lambda-integrations-and-more#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li>Added support for sharded Microsoft SQL Server databases.</li>\n<li>Improved the user management screen in Retool. Disabled users are greyed out, and we show accurate last active dates for each user.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/rethinkdb-lambda-integrations-and-more#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>Fixed how Custom Auth API integrations work in staging environments</li>\n<li>Fixed how non-string values are passed in FormData API requests.</li>\n<li>Fixed error that Slack webhooks would return in on premise Retool.</li>\n<li>Disabled overly aggressive cache headers in on premise Retool.</li>\n<li>Fixed editing JSON columns in editable tables.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/rethinkdb-lambda-integrations-and-more",
            "title": "2.39.2 RethinkDB, Lambda Integrations, and more",
            "summary": "RethinkDB Integration",
            "date_modified": "2019-05-09T06:18:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-38-74",
            "content_html": "<ul>\n<li>We've enabled zooming to the drag and drop interface to make it easier to make big changes to your app.</li>\n<li>We've made it easier to re-arrange components on crowded applications.</li>\n<li>We've made it easier to drop components into existing containers.</li>\n<li>We've added resize handlers to all four corners of every component.</li>\n<li>We've made it easier to select multiple components.</li>\n<li>Here's a preview of some of these new features in a gif!</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55289-77-977-91oPvv70CWu-_vTt077-9K--_vVLvv70f77-977-977-9VntPDnZQKHZc77-9W--_vQ\" alt=\"Screen Recording 2019-04-28 at 09.02 PM.gif\" class=\"img_ev3q\"></p>\n<h1>Better navigation</h1>\n<ul>\n<li>We've changed our sorting algorithm for the <strong>Quick Switcher</strong> (use <code>Cmd+K</code> or <code>Ctrl+K</code> to bring it up!) to rank more relevant applications.</li>\n<li>We've added an interface to switch between apps to the End User mode.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55290-77-977-9PRovC--_vS3vv70CZu-_vUAVM--_vd2y77-9L2zvv70M77-9ee-_vTscKTvvv70\" alt=\"Screen Recording 2019-04-28 at 09.10 PM.gif\" class=\"img_ev3q\"></p>\n<h1>Fun confetti!</h1>\n<ul>\n<li>We've added a fun easter egg: make your queries fire off some confetti when it successfully runs!</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55291-QgpzXRcC77-9fu-_vRXvv70pMe-_ve-_vSHvv71FF--_ve-_vR0BXO-_vXRi77-9bO-_vdiW\" alt=\"Screen Recording 2019-04-28 at 09.16 PM.gif\" class=\"img_ev3q\"></p>\n<h1>Component changelog</h1>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"date-pickers-and-date-range-pickers\">Date Pickers and Date Range Pickers<a href=\"https://docs.retool.com/changelog/cloud/2-38-74#date-pickers-and-date-range-pickers\" class=\"hash-link\" aria-label=\"Direct link to Date Pickers and Date Range Pickers\" title=\"Direct link to Date Pickers and Date Range Pickers\">​</a></h2>\n<ul>\n<li>We've added restricting dates your users can select.</li>\n<li>You can define a <strong>minimum</strong> and a <strong>maximum</strong> date for both date pickers and date range pickers.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55292-az_vv70P77-9Eu-_vV8r77-9Vu-_ve-_ve-_vR7vv70P77-9KTXVtO-_ve-_vSfvv73vv73vv73vv73PmO-_vQ\" alt=\"Screen Shot 2019-04-28 at 8.38.15 PM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"pdf-viewer\">PDF Viewer<a href=\"https://docs.retool.com/changelog/cloud/2-38-74#pdf-viewer\" class=\"hash-link\" aria-label=\"Direct link to PDF Viewer\" title=\"Direct link to PDF Viewer\">​</a></h2>\n<ul>\n<li>We've added the PDF Viewer component. Use this to render PDFs for your users.</li>\n<li>You can either use a URL or a PDF file that's been encoded as <strong>base64</strong>.</li>\n<li>You can get a base64 encoded version of a PDF by using the Retool's REST Query.</li>\n<li>Here's an end-to-end example of how you might render a PDF from the IRS.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55293-77-977-9Vu-_vVVC77-9Cu-_vU4Lbe-_ve-_ve-_vU5377-9Nlst77-977-977-9Linvv71_77-977-9Oe-_vQ\" alt=\"Screen Shot 2019-04-28 at 8.51.02 PM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"checkbox-tree\">Checkbox Tree<a href=\"https://docs.retool.com/changelog/cloud/2-38-74#checkbox-tree\" class=\"hash-link\" aria-label=\"Direct link to Checkbox Tree\" title=\"Direct link to Checkbox Tree\">​</a></h2>\n<ul>\n<li>We've added a checkbox tree that makes it easy to select categories and subcategories.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55294-YiQGxI0b77-9Fu-_vWLvv73vv70577-977-977-9Ju-_vXc-77-9LRHvv73vv73vv70V77-9fF8aPw\" alt=\"Screen Shot 2019-04-28 at 9.28.09 PM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"statistics\">Statistics<a href=\"https://docs.retool.com/changelog/cloud/2-38-74#statistics\" class=\"hash-link\" aria-label=\"Direct link to Statistics\" title=\"Direct link to Statistics\">​</a></h2>\n<ul>\n<li>We've added a statistic component to make it easy to render numbers like KPIs, etc.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55295-77-9WO-_ve-_vSjvv73vv70577-9WnXvv70i77-9Gijvv70w77-9YH1k77-9N3c477-9Iu-_ve-_vVE\" alt=\"Screen Shot 2019-04-28 at 9.29.25 PM.png\" class=\"img_ev3q\"></p>\n<h1>Integrations changelog</h1>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"cassandra-improvements\">Cassandra improvements<a href=\"https://docs.retool.com/changelog/cloud/2-38-74#cassandra-improvements\" class=\"hash-link\" aria-label=\"Direct link to Cassandra improvements\" title=\"Direct link to Cassandra improvements\">​</a></h2>\n<ul>\n<li>We've added writing back to your Cassandra database.</li>\n<li>We've added support to connect to Cassandra using custom SSL CA Certificates.</li>\n<li>This feature works in the same way as other SQL Databases like Postgres, MySQL, etc.</li>\n<li>You'll need to create a new resource with a Cassandra user that has edit permissions.</li>\n<li>You can learn more about how that works <a href=\"https://docs.tryretool.com/docs/sql-writes\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"snowflake-improvements\">Snowflake improvements<a href=\"https://docs.retool.com/changelog/cloud/2-38-74#snowflake-improvements\" class=\"hash-link\" aria-label=\"Direct link to Snowflake improvements\" title=\"Direct link to Snowflake improvements\">​</a></h2>\n<ul>\n<li>We've also added writing back to your Snowflake database.</li>\n<li>This feature works in the same way as other SQL Databases like Postgres, MySQL, etc.</li>\n<li>You'll need to create a new resource with a Snowflake user that has edit permissions.</li>\n<li>You can learn more about how that works <a href=\"https://docs.tryretool.com/docs/sql-writes\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"rest-api-authentication\">REST API Authentication<a href=\"https://docs.retool.com/changelog/cloud/2-38-74#rest-api-authentication\" class=\"hash-link\" aria-label=\"Direct link to REST API Authentication\" title=\"Direct link to REST API Authentication\">​</a></h2>\n<ul>\n<li>We've added a \"Form\" step to the <strong>Custom Auth</strong> method.</li>\n<li>Use this to ask for credentials like usernames and passwords to pass to your API.</li>\n<li>Learn more by reading the docs <a href=\"https://docs.tryretool.com/docs/custom-api-authentication\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>!</li>\n</ul>\n<h1>Uncategorized features</h1>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-38-74#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>RadioGroup components now overflow correctly.</li>\n<li>Tables and other components in ListViews now render correctly.</li>\n<li>JSON Schema Form components with input<!-- -->:range<!-- --> (sliders) now work correctly.</li>\n<li>JSON Schema Form components that use the <code>required</code> now validate it's inputs correctly.</li>\n<li>Retool now correctly release and re-use database connections.</li>\n<li>GraphQL Queries now support Auth0 as an authentication method.</li>\n<li>MongoDB <code>distinct</code> queries now correctly validate inputs.</li>\n<li>BigQuery queries now format dates and timestamps correctly.</li>\n<li>New components created through copy paste now appear on the row below.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/cloud/2-38-74#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li>We've improved the syntax highlighting for Custom Component editor.</li>\n<li>We've it easier to switch between mobile and desktop layouts in the drag and drop interface.</li>\n<li>We've released starter templates that make it easier to build apps in Retool.</li>\n<li>We've improved how Google Sheet queries.</li>\n<li>We've added support for connecting to Redis via SSL.</li>\n<li>We've added support for dynamic MongDB collection names.</li>\n<li>We've added a currency type to TextInput components.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-38-74",
            "title": "Drag and drop",
            "summary": "- We've enabled zooming to the drag and drop interface to make it easier to make big changes to your app.",
            "date_modified": "2019-04-28T21:59:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-38-59",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"multiple-action-buttons\">Multiple Action Buttons<a href=\"https://docs.retool.com/changelog/cloud/2-38-59#multiple-action-buttons\" class=\"hash-link\" aria-label=\"Direct link to Multiple Action Buttons\" title=\"Direct link to Multiple Action Buttons\">​</a></h2>\n<ul>\n<li>Tables now can have multiple action buttons!</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55296-I--_ve-_vUjvv71GIU_vv73cje-_ve-_vRXvv73vv713V--_vRLvv70UZHLvv70cVlLvv73vv70\" alt=\"Screen Shot 2019-04-07 at 9.05.25 PM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"cassandra-integration\">Cassandra Integration<a href=\"https://docs.retool.com/changelog/cloud/2-38-59#cassandra-integration\" class=\"hash-link\" aria-label=\"Direct link to Cassandra Integration\" title=\"Direct link to Cassandra Integration\">​</a></h2>\n<ul>\n<li>Retool now supports Cassandra v3+!</li>\n<li>We support using CQL - a SQL-like query language for Cassandra.</li>\n<li>See the <a href=\"https://docs.retool.com/data-sources/quickstarts/database/cassandra\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a> to learn more.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"google-cloud-storage-integration\">Google Cloud Storage Integration<a href=\"https://docs.retool.com/changelog/cloud/2-38-59#google-cloud-storage-integration\" class=\"hash-link\" aria-label=\"Direct link to Google Cloud Storage Integration\" title=\"Direct link to Google Cloud Storage Integration\">​</a></h2>\n<ul>\n<li>Retool now supports all the same configurations in S3 with Google Cloud Storage</li>\n<li>See the <a href=\"https://docs.retool.com/data-sources/tutorials/connect/google/cloud-storage\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a> to learn more.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"vertica-integration\">Vertica Integration<a href=\"https://docs.retool.com/changelog/cloud/2-38-59#vertica-integration\" class=\"hash-link\" aria-label=\"Direct link to Vertica Integration\" title=\"Direct link to Vertica Integration\">​</a></h2>\n<ul>\n<li>Retool also supports Vertica as a database!</li>\n<li>Reading and Updating are both supported.</li>\n<li>See the <a href=\"https://docs.retool.com/data-sources/quickstarts/database/vertica\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a> to learn more.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"map-improvements\">Map Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-38-59#map-improvements\" class=\"hash-link\" aria-label=\"Direct link to Map Improvements\" title=\"Direct link to Map Improvements\">​</a></h2>\n<ul>\n<li>Added an <code>onViewPortChange</code> hook to trigger queries</li>\n<li>Added an <code>onPointSelected</code> hook to trigger queries</li>\n<li>Added <code>.selectPoint(...)</code> as as a method on Map components</li>\n<li>Improved accuracy of the custom marker positioning</li>\n<li>Made the Map component update its <code>latitude</code> and <code>longitude</code> property when the viewport updates.</li>\n<li>Added <code>GeoJSON</code> styling. Try this for an example!\n<code>{ type: 'line', paint: { 'line-width': 5 } }</code>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"signature-component\">Signature Component<a href=\"https://docs.retool.com/changelog/cloud/2-38-59#signature-component\" class=\"hash-link\" aria-label=\"Direct link to Signature Component\" title=\"Direct link to Signature Component\">​</a></h2>\n<ul>\n<li>Retool now has a Signature Component!</li>\n<li>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.\n<img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55297-EHxuI3BVE0Tvv73vv73vv70Y77-977-9D3nvv70P77-977-977-977-977-977-9Y0BG77-977-9EO-_vWk\" alt=\"Screen Shot 2019-04-07 at 9.12.23 PM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"stripe-checkout-component\">Stripe Checkout Component<a href=\"https://docs.retool.com/changelog/cloud/2-38-59#stripe-checkout-component\" class=\"hash-link\" aria-label=\"Direct link to Stripe Checkout Component\" title=\"Direct link to Stripe Checkout Component\">​</a></h2>\n<ul>\n<li>Retool now has a component for collecting credit card information securely through Stripe's SDK.</li>\n<li>The component exposes a .stripeToken property that you can use with Stripe's API to create a credit card.\n<img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55298-ChXvv71tNe-_vT7Fh--_ve-_ve-_ve-_vRlOQFk177-9xqwTLUXvv73vv73vv73vv71H77-9eO-_vQ\" alt=\"Screen Shot 2019-04-07 at 9.14.35 PM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"date-range-component\">Date Range component<a href=\"https://docs.retool.com/changelog/cloud/2-38-59#date-range-component\" class=\"hash-link\" aria-label=\"Direct link to Date Range component\" title=\"Direct link to Date Range component\">​</a></h2>\n<ul>\n<li>Retool also has a date range component for selecting begin / end dates.\n<img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55299-Ju-_vRTvv73vv70S77-977-9WDXvv70F77-977-9OC9R77-9EXY177-977-9Mu-_vW4HOH_vv71r\" alt=\"Screen Shot 2019-04-07 at 9.17.08 PM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"various-features-and-improvements\">Various features and improvements<a href=\"https://docs.retool.com/changelog/cloud/2-38-59#various-features-and-improvements\" class=\"hash-link\" aria-label=\"Direct link to Various features and improvements\" title=\"Direct link to Various features and improvements\">​</a></h2>\n<ul>\n<li>Uploaded Excel files are also now automatically parsed!</li>\n<li>ListViews now have improved performance!</li>\n<li>Added support for deleting permission groups</li>\n<li>Added support for copying invite links directly from the Retool settings interface.</li>\n<li>Show staging / production toggle in the end user mode</li>\n<li>Support user-defined expiration timeouts for OAuth resources.</li>\n<li>Added utils.getCurrentPosition which returns a Promise that resolves to the device's current position</li>\n<li>Fixed bulk operations on Salesforce</li>\n<li>Fixed intermittent problems with CSV parsing on Windows machines</li>\n<li>Added option to render dates in Tables in their original timezone.</li>\n</ul>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-38-59",
            "title": "cloud/2-38-59",
            "summary": "Multiple Action Buttons",
            "date_modified": "2019-04-03T00:20:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-38-39",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"custom-react-components\">Custom React Components<a href=\"https://docs.retool.com/changelog/cloud/2-38-39#custom-react-components\" class=\"hash-link\" aria-label=\"Direct link to Custom React Components\" title=\"Direct link to Custom React Components\">​</a></h2>\n<ul>\n<li>You can now create your own custom components using React and Javascript.</li>\n<li>We give you full access to the same APIs that our native components have.</li>\n<li>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.</li>\n<li>See below for an example of a Plot.ly scatter chart in Retool. <a href=\"https://docs.tryretool.com/v2.26.10/docs/custom-react-components\" target=\"_blank\" rel=\"noopener noreferrer\">Full docs here</a></li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55300-77-9dApraQkR77-9I3bvv71p77-9LQ0Q77-977-9MxLvv73vv71rU3hH77-9YO-_vTFv77-9\" alt=\"Screen Shot 2019-03-16 at 12.34.31 AM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"dynamically-hiding--showing-components\">Dynamically Hiding / Showing Components<a href=\"https://docs.retool.com/changelog/cloud/2-38-39#dynamically-hiding--showing-components\" class=\"hash-link\" aria-label=\"Direct link to Dynamically Hiding / Showing Components\" title=\"Direct link to Dynamically Hiding / Showing Components\">​</a></h2>\n<ul>\n<li>Retool now supports dynamically hiding and showing components.</li>\n<li>Retool automatically relayouts the app to get rid of the empty whitespace.</li>\n<li>Check it out in action below! <a href=\"https://docs.tryretool.com/v2.26.10/docs/dynamically-hide-components\" target=\"_blank\" rel=\"noopener noreferrer\">Full docs here</a> <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55301-77-977-9De-_vWLvv71oBkPvv70P77-977-9X--_ve-_vTfvv70D77-9Ve-_vVjvv71Sau-_ve-_vX0-MQ\" alt=\"Screen Recording 2019-03-16 at 12.25 AM.gif\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"undos--redos\">Undos / Redos<a href=\"https://docs.retool.com/changelog/cloud/2-38-39#undos--redos\" class=\"hash-link\" aria-label=\"Direct link to Undos / Redos\" title=\"Direct link to Undos / Redos\">​</a></h2>\n<ul>\n<li>Retool now supports undos and redos!</li>\n<li>On Macs use <code>Cmd+Z</code> to <strong>Undo</strong> and <code>Cmd+Shift+Z</code> to <strong>Redo</strong> changes you make while building your apps</li>\n<li>On Windows / Linux use <code>Ctrl+Z</code> to <strong>Undo</strong> and <code>Ctrl+Shift+Z</code> to <strong>Redo</strong> changes you make while building your apps</li>\n<li>Here it is in action: <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55302-Di_vv73vv73vv73vv71_77-977-977-9fxHvv73vv71277-9DTvvv73vv71G77-9OO-_vW3vv71Cyrvvv70\" alt=\"Screen Recording 2019-03-16 at 12.28 AM.gif\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved-calendar\">Improved Calendar<a href=\"https://docs.retool.com/changelog/cloud/2-38-39#improved-calendar\" class=\"hash-link\" aria-label=\"Direct link to Improved Calendar\" title=\"Direct link to Improved Calendar\">​</a></h2>\n<ul>\n<li>Added the option to modify and delete events in the calendar</li>\n<li>Added the ability to set what kind of interactions in the calendar are allowed (e.g. creating events, modifying events, deleting events, etc.)</li>\n<li>Added the ability to choose the default view of the calendar</li>\n<li>Added a preview for events selected</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55303-77-9UQIBSHV4Cu-_vUjvv73vv73vv73vv73YqW8W77-9BE3vv73vv71LT--_vU1y77-9QA\" alt=\"Screen Shot 2019-03-16 at 12.45.01 AM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"oauth-20-bugfixes\">OAuth 2.0 Bugfixes<a href=\"https://docs.retool.com/changelog/cloud/2-38-39#oauth-20-bugfixes\" class=\"hash-link\" aria-label=\"Direct link to OAuth 2.0 Bugfixes\" title=\"Direct link to OAuth 2.0 Bugfixes\">​</a></h2>\n<ul>\n<li>Retool now support sharing OAuth 2.0 credentials between users.</li>\n<li>Retool also supports specifying an OAuth 2.0 Audience.</li>\n<li>We've greatly improved the reliability of our OAuth 2.0 integration and extended support to GraphQL as well.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"on-premise-response-time-and-error-monitoring\">On Premise Response Time and Error Monitoring<a href=\"https://docs.retool.com/changelog/cloud/2-38-39#on-premise-response-time-and-error-monitoring\" class=\"hash-link\" aria-label=\"Direct link to On Premise Response Time and Error Monitoring\" title=\"Direct link to On Premise Response Time and Error Monitoring\">​</a></h2>\n<ul>\n<li>Retool now ships with support for monitoring software.</li>\n<li>New Relic example config\nNEW_RELIC_LICENSE_KEY=your-new-relic-license-key\nNEW_RELIC_APP_NAME=retool-yourcompany-name\nNEW_RELIC_NO_CONFIG_FILE=true<!-- -->\n<ul>\n<li>Sentry example config:\nSENTRY_DSN=your-sentry-dsn</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"google-sheets\">Google Sheets<a href=\"https://docs.retool.com/changelog/cloud/2-38-39#google-sheets\" class=\"hash-link\" aria-label=\"Direct link to Google Sheets\" title=\"Direct link to Google Sheets\">​</a></h2>\n<ul>\n<li>We've added support for updating Google sheets.</li>\n<li>More docs and functionality coming soon!</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"misc-features--bugfixes\">Misc Features / Bugfixes<a href=\"https://docs.retool.com/changelog/cloud/2-38-39#misc-features--bugfixes\" class=\"hash-link\" aria-label=\"Direct link to Misc Features / Bugfixes\" title=\"Direct link to Misc Features / Bugfixes\">​</a></h2>\n<ul>\n<li>Added support for triggering queries after a date is selected in the DateTimePicker with the onSelect property</li>\n<li>Added support for Delimiter in S3's List Objects operation</li>\n<li>Added support for GraphQL Cursor Based Pagination. <a href=\"https://docs.tryretool.com/docs/server-side-paginating-tables#section-graphql-cursor-based-pagination\" target=\"_blank\" rel=\"noopener noreferrer\">Docs here!</a></li>\n<li>Added support for ordering in Firebase queries</li>\n<li>Added support for deleteOne to MongoDB.</li>\n<li>Added support for dynamic Keys in JSON expressions</li>\n<li>Improved performance of Retool's Snowflake integration</li>\n<li>Handle MySQL connections more reliably</li>\n<li>Added the option to allow dropdowns and multiselects to optionally allow itself to show out-of-range values</li>\n<li>Added .setImageUrl method to the Image component</li>\n<li>Whitelisted <code>slack://</code> and <code>mailto://</code> URLs for buttons and <code>&lt;a&gt;</code> tags.</li>\n<li>Added the ability to set a delay before initially running a query on page load.</li>\n<li>Added a Looker integration into Retool.</li>\n<li>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.</li>\n<li>Improved how Retool serializes Firebase refs.</li>\n<li>Added support for all Redis commands.</li>\n<li>Added support for choosing a TDS version for Microsoft SQL Server.</li>\n<li>Fixed several issues with the Map component and it's parsing of GeoJSON</li>\n<li>Fixed logic for verifying if the user is currently logged into an API.</li>\n<li>Fixed error handling for GraphQL queries.</li>\n<li>Fixed a rare yet inexplicable bug where a Retool app will appear to be completely wiped clean.</li>\n</ul>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-38-39",
            "title": "Retool 2.38.39",
            "summary": "Custom React Components",
            "date_modified": "2019-03-16T01:36:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-38-11",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-integrations\">New Integrations<a href=\"https://docs.retool.com/changelog/cloud/2-38-11#new-integrations\" class=\"hash-link\" aria-label=\"Direct link to New Integrations\" title=\"Direct link to New Integrations\">​</a></h2>\n<ul>\n<li>Redis Integration: <code>GET</code> <code>DEL</code> and <code>SET</code> keys in Redis!</li>\n<li>Looker Integration: seamlessly embed Looker dashboards inside Retool</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-and-fixed\">New and Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-38-11#new-and-fixed\" class=\"hash-link\" aria-label=\"Direct link to New and Fixed\" title=\"Direct link to New and Fixed\">​</a></h2>\n<ul>\n<li>Canvas Shortcuts: use arrow keys to move components on the canvas!</li>\n<li>Partial updates to Firestore collections has been added</li>\n<li>GraphQL now supports OAuth 2.0 Client Credentials as an auth method.</li>\n<li>Microsoft SQL Server connections now supports older databases like SQL Server 2000.</li>\n<li>Maps can be configured to also show the lat-lng coordinate of the mouse position:</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55304-Gu-_ve-_ve-_vSLvv73vv73vv73vv73vv70e77-9Cu-_ve-_vR7vv73vv70677-9CjttzaXvv73vv71J77-977-977-977-9\" alt=\"Screen Shot 2019-02-14 at 1.19.18 AM.png\" class=\"img_ev3q\"></p>",
            "url": "https://docs.retool.com/changelog/cloud/2-38-11",
            "title": "Retool 2.38.11",
            "summary": "New Integrations",
            "date_modified": "2019-02-14T09:15:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-38-7",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"snowflake-integration\">Snowflake Integration<a href=\"https://docs.retool.com/changelog/cloud/2-38-7#snowflake-integration\" class=\"hash-link\" aria-label=\"Direct link to Snowflake Integration\" title=\"Direct link to Snowflake Integration\">​</a></h2>\n<ul>\n<li>We've released a Snowflake Integration with Retool.</li>\n<li>Use SQL to query your Snowflake Database</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-38-7",
            "title": "Retool 2.38.7",
            "summary": "Snowflake Integration",
            "date_modified": "2019-02-11T08:44:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-38-6",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"managing-user-permission-improvements\">Managing User Permission Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-38-6#managing-user-permission-improvements\" class=\"hash-link\" aria-label=\"Direct link to Managing User Permission Improvements\" title=\"Direct link to Managing User Permission Improvements\">​</a></h2>\n<ul>\n<li>The Permissions dashboard has been optimized to work with cases with large numbers of users and apps</li>\n<li>Searching for users and apps now works through fuzzy matching.</li>\n<li>Add an option to set the permissions of a group to \"none\"</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"mandatory-2fa\">Mandatory 2FA<a href=\"https://docs.retool.com/changelog/cloud/2-38-6#mandatory-2fa\" class=\"hash-link\" aria-label=\"Direct link to Mandatory 2FA\" title=\"Direct link to Mandatory 2FA\">​</a></h2>\n<ul>\n<li>Admins can now require all users to enable 2FA.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"json-schema-form-improvements\">JSON Schema Form improvements<a href=\"https://docs.retool.com/changelog/cloud/2-38-6#json-schema-form-improvements\" class=\"hash-link\" aria-label=\"Direct link to JSON Schema Form improvements\" title=\"Direct link to JSON Schema Form improvements\">​</a></h2>\n<ul>\n<li>Fixed: the form will only begins validating once inputs are dirty</li>\n<li>The form now supports <code>ui:disabled</code> and <code>ui:readonly</code></li>\n<li>Added an option to either validate the form as the user types, or only when the form is submitted.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"misc\">Misc<a href=\"https://docs.retool.com/changelog/cloud/2-38-6#misc\" class=\"hash-link\" aria-label=\"Direct link to Misc\" title=\"Direct link to Misc\">​</a></h2>\n<ul>\n<li>Add <code>.skip</code> parameter to our CouchDB integration</li>\n<li>Initial page load time for on-premise Retool users can be up to 2-3s faster.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-38-6",
            "title": "Retool 2.38.6",
            "summary": "Managing User Permission Improvements",
            "date_modified": "2019-02-08T19:15:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/filter-logs-by-user-misc-improvements",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"filter-audit-logs-by-user\">Filter Audit Logs by User<a href=\"https://docs.retool.com/changelog/filter-logs-by-user-misc-improvements#filter-audit-logs-by-user\" class=\"hash-link\" aria-label=\"Direct link to Filter Audit Logs by User\" title=\"Direct link to Filter Audit Logs by User\">​</a></h2>\n<ul>\n<li>The Audit Logs can now be filtered by users as well.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55305-BNKjwoFZ77-977-977-9KO-_vUHvv73vv70PYu-_vQ1y77-977-9Qu-_vTLlr7jUmyVBDg\" alt=\"Screen Shot 2019-02-04 at 12.54.18 AM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"firestore-references\">Firestore References<a href=\"https://docs.retool.com/changelog/filter-logs-by-user-misc-improvements#firestore-references\" class=\"hash-link\" aria-label=\"Direct link to Firestore References\" title=\"Direct link to Firestore References\">​</a></h2>\n<ul>\n<li>Firestore query by reference / inserting and updating references.</li>\n<li>Here's an example of how to specify that a string should be a \"reference\" type:</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55306-PUtxGu-_ve-_ve-_vWJs77-9Au-_vTPvv73vv71u77-9fO-_ve-_vX7vv70YPT7vv71J77-91I4z77-9\" alt=\"Screen Shot 2019-02-04 at 12.56.13 AM.png\" class=\"img_ev3q\"></p>\n<ul>\n<li>Inspired by the <a href=\"https://docs.mongodb.com/manual/reference/mongodb-extended-json/\" target=\"_blank\" rel=\"noopener noreferrer\">MongoDB Extended JSON</a> syntax, you use <code>$ref</code> 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.</li>\n</ul>\n<div class=\"codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#F8F8F2;--prism-background-color:#282A36\"><div class=\"codeBlockContent_biex\"><pre tabindex=\"0\" class=\"prism-code language-text codeBlock_bY9V thin-scrollbar\" style=\"color:#F8F8F2;background-color:#282A36\"><code class=\"codeBlockLines_e6Vv\"><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\">{ $ref: \"collection/documentId\" }</span><br></span></code></pre><div class=\"buttonGroup__atx\"><button type=\"button\" aria-label=\"Copy code to clipboard\" title=\"Copy\" class=\"clean-btn\"><span class=\"copyButtonIcons_eSgA\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" class=\"copyButtonIcon_y97N\"><path fill=\"currentColor\" d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"></path></svg><svg viewBox=\"0 0 24 24\" class=\"copyButtonSuccessIcon_LjdS\"><path fill=\"currentColor\" d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"></path></svg></span></button></div></div></div>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"misc\">Misc<a href=\"https://docs.retool.com/changelog/filter-logs-by-user-misc-improvements#misc\" class=\"hash-link\" aria-label=\"Direct link to Misc\" title=\"Direct link to Misc\">​</a></h2>\n<ul>\n<li>The moment-timezone library has been added to Retool. You can now use expressions like <code>{{ moment.tz('2019-10-10 13:43', 'America/New_York').toISOString() }}</code> to convert dates in different timezones</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/filter-logs-by-user-misc-improvements",
            "title": "2.37.1 Filter Logs by User + misc improvements",
            "summary": "Filter Audit Logs by User",
            "date_modified": "2019-02-04T08:51:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/performance-permissions-improvements-and-more",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"performance-improvements\">Performance Improvements<a href=\"https://docs.retool.com/changelog/performance-permissions-improvements-and-more#performance-improvements\" class=\"hash-link\" aria-label=\"Direct link to Performance Improvements\" title=\"Direct link to Performance Improvements\">​</a></h2>\n<ul>\n<li>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.</li>\n<li>Apps should now start up between 1-2s faster on average.</li>\n<li>Tables are more efficient when rendering large amounts of data.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"disabled-controls\">Disabled Controls<a href=\"https://docs.retool.com/changelog/performance-permissions-improvements-and-more#disabled-controls\" class=\"hash-link\" aria-label=\"Direct link to Disabled Controls\" title=\"Direct link to Disabled Controls\">​</a></h2>\n<ul>\n<li>Every control in Retool now can be dynamically disabled</li>\n<li>This includes Text Inputs, Dropdowns, MultiSelects, RadioGroups, Checkboxes, Checkbox Groups, Button Groups, Rating components, and more.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"custom-tooltips\">Custom Tooltips<a href=\"https://docs.retool.com/changelog/performance-permissions-improvements-and-more#custom-tooltips\" class=\"hash-link\" aria-label=\"Direct link to Custom Tooltips\" title=\"Direct link to Custom Tooltips\">​</a></h2>\n<ul>\n<li>Every control can now also have a custom tooltip! <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55307-fy3vv70677-9Cu-_vVtB77-977-977-9OgLvv73vv70Z77-977-9EO-_ve-_ve-_vQoq77-9De-_vW3vv73vv73vv70\" alt=\"Screen Shot 2019-01-31 at 8.30.54 PM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"git-integration\">Git Integration<a href=\"https://docs.retool.com/changelog/performance-permissions-improvements-and-more#git-integration\" class=\"hash-link\" aria-label=\"Direct link to Git Integration\" title=\"Direct link to Git Integration\">​</a></h2>\n<ul>\n<li>Retool supports version controlling and serializing apps to a git repo</li>\n<li>Retool also supports reading and recreating apps from a git repo</li>\n<li>This allows for designing pull-request flows for deploying apps from staging environments to production environments.</li>\n<li>To learn more, see the <a href=\"https://docs.retool.com/source-control/guides/git-syncing\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a>.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"permissions-redesign\">Permissions Redesign<a href=\"https://docs.retool.com/changelog/performance-permissions-improvements-and-more#permissions-redesign\" class=\"hash-link\" aria-label=\"Direct link to Permissions Redesign\" title=\"Direct link to Permissions Redesign\">​</a></h2>\n<ul>\n<li>The entire UI for interacting with users, groups, and apps have been modified for more clarity.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55308-x7Xvv73DjgRGbg0t77-977-977-977-92Ljvv71BNe-_ve-_vV09QDLQle-_ve-_vcuW77-9\" alt=\"Screen Shot 2019-01-31 at 8.41.50 PM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed-and-misc-features\">Fixed and Misc Features<a href=\"https://docs.retool.com/changelog/performance-permissions-improvements-and-more#fixed-and-misc-features\" class=\"hash-link\" aria-label=\"Direct link to Fixed and Misc Features\" title=\"Direct link to Fixed and Misc Features\">​</a></h2>\n<ul>\n<li>Components in modals will render with the correct sizes in Firefox.</li>\n<li>We've added a Date Time column type to Tables.</li>\n<li>Deleting components will automatically trigger a save point in Retool.</li>\n<li>You can now trigger queries when checkboxes are switched on and off.</li>\n<li>MongoDB validations for <code>field</code>, <code>limit</code>, and <code>skip</code> have been fixed.</li>\n<li>Retool apps now live on <code>/apps</code> instead of <code>/presentation</code></li>\n<li>The Retool autocomplete now triggers in more sensible scenarios</li>\n<li>Retool folders are now sorted alphabetically</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/performance-permissions-improvements-and-more",
            "title": "2.36.2 Performance, Permissions Improvements, and more",
            "summary": "Performance Improvements",
            "date_modified": "2019-02-01T04:24:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-33-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"prettify-the-database-editor\">Prettify the Database Editor<a href=\"https://docs.retool.com/changelog/cloud/2-33-0#prettify-the-database-editor\" class=\"hash-link\" aria-label=\"Direct link to Prettify the Database Editor\" title=\"Direct link to Prettify the Database Editor\">​</a></h2>\n<ul>\n<li>Check out our new interfaces!</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55309-77-9AC3vv71wKO-_vRfvv719Yu-_ve-_vQ7vv73vv71-M--_vQEQ77-9Ju-_vS_vv73vv73vv73Dte-_ve-_vQ\" alt=\"Screen Shot 2019-01-18 at 5.12.15 PM.png\" class=\"img_ev3q\"></p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55310-W--_ve-_ve-_ve-_vUTvv70077-9Du-_vSTvv73vv73vv73vv70S77-9Ce-_ve-_vSTvv73vv71NZe-_ve-_vQ3vv71v77-9\" alt=\"Screen Shot 2019-01-18 at 5.12.45 PM.png\" class=\"img_ev3q\"></p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55311-77-977-9J1J8YEPvv73vv70oy73vv73vv71c77-9KVYn77-977-9GGxcPCBd77-977-9QHzvv70\" alt=\"Screen Shot 2019-01-18 at 5.13.28 PM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"empty-folders-hidden-for-end-users\">Empty folders hidden for end-users<a href=\"https://docs.retool.com/changelog/cloud/2-33-0#empty-folders-hidden-for-end-users\" class=\"hash-link\" aria-label=\"Direct link to Empty folders hidden for end-users\" title=\"Direct link to Empty folders hidden for end-users\">​</a></h2>\n<ul>\n<li>Your users of your apps only see the folders in Retool that have apps that they have access to.</li>\n<li>Developers still see empty folders (so you can add apps to empty folders!)</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"noteworthy-features-and-bugfixes\">Noteworthy features and bugfixes<a href=\"https://docs.retool.com/changelog/cloud/2-33-0#noteworthy-features-and-bugfixes\" class=\"hash-link\" aria-label=\"Direct link to Noteworthy features and bugfixes\" title=\"Direct link to Noteworthy features and bugfixes\">​</a></h2>\n<ul>\n<li>Retool apps now look nicer by default with better contrast.</li>\n<li>Containers are smaller by default, making them easier to create.</li>\n<li>Fixed: inline <code>&lt;style&gt;</code> tags in <code>Text</code> components behave more consistently</li>\n<li>Fixed: the Audit Logs now renders long context nicely.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-33-0",
            "title": "Retool 2.33",
            "summary": "Prettify the Database Editor",
            "date_modified": "2019-01-19T01:06:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-32-49",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"ux-improvements\">UX Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-32-49#ux-improvements\" class=\"hash-link\" aria-label=\"Direct link to UX Improvements\" title=\"Direct link to UX Improvements\">​</a></h2>\n<ul>\n<li>Reorder columns by dragging on the headers of the Table</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55312-NNGt77-9VhEY77-9Ku-_ve-_ve-_vTI077-9eTzvv70z77-977-977-9VO-_vUJ33Lvvv73vv73vv70\" alt=\"Screen Recording 2019-01-11 at 09.10 PM.gif\" class=\"img_ev3q\"></p>\n<ul>\n<li>\n<p>The column option editor is more compact and significantly easier to use <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55313-77-9Zu-_vVMZdypy77-977-977-977-9Ru-_vT7vv71877-9RO-_ve-_vUQqRmDvv73vv73vv70eZu-_vXU\" alt=\"Screen Recording 2019-01-11 at 09.07 PM.gif\" class=\"img_ev3q\"></p>\n</li>\n<li>\n<p>We've added a new way to scroll through the list of queries you've made <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55314-Bxc777-9Fu-_vQQ_BEnvv73vv71g77-9ANWu77-977-9EO-_vdypbe-_vSUvWHPvv71lUA\" alt=\"Screen Recording 2019-01-11 at 09.19 PM.gif\" class=\"img_ev3q\"></p>\n</li>\n</ul>\n<h1>Filter and search through Audit Logs</h1>\n<ul>\n<li>Search and filter through the events by page, query, and date in your Audit Logs</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55315-77-977-9y6Mha--_ve-_ve-_ve-_vVUHDu-_vQTHhO-_ve-_ve-_vVHhuLJHZe-_vWHvv71I77-977-9\" alt=\"Screen Recording 2019-01-11 at 09.25 PM.gif\" class=\"img_ev3q\"></p>\n<ul>\n<li>Coming soon: advanced filters by users, query properties, and more.</li>\n</ul>\n<h1>Free Table refresh and download buttons</h1>\n<ul>\n<li>Tables now come with a refresh button for free! Use it to reload the query that the Table it's connected to.</li>\n<li>It also comes with a download button that exports the data as a csv file. <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55316-Qe-_ve-_veOCtVdM77-9F17HqVXvv713KRMpee-_ve-_ve-_ve-_ve-_vSXvv73vv73vv73vv73vv73vv70\" alt=\"Screen Recording 2019-01-11 at 09.43 PM.gif\" class=\"img_ev3q\"></li>\n</ul>\n<h1>Image component</h1>\n<ul>\n<li>To embed images into Retool, just use the Image component</li>\n<li>The button is also clickable; you configure it run queries, open other pages, just like a button!</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55317-GwPHpO-_vQjvv71jHu-_ve-_vRZr14_vv73vv73vv73vv73Ih--_vVBgGO-_vTLvv73vv71kHA\" alt=\"Screen Shot 2019-01-11 at 9.22.33 PM.png\" class=\"img_ev3q\"></p>\n<h1>Autocomplete Dropdowns</h1>\n<ul>\n<li>There's now a <code>.searchValue</code> property on dropdowns that allow you to get the currently searched for term.</li>\n<li>This allows you creating autocomplete searchboxes. See below for an example of it in action!</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55318-77-9BWB2VRjvv71VfO-_vSIXQUPvv73vv70k77-977-9QAQI77-9aTwl77-977-9eX0FKQ\" alt=\"DropdownSearch\" class=\"img_ev3q\"></p>\n<h1>Small, but notable features</h1>\n<ul>\n<li>Retool now allows sharing Salesforce credentials between users.</li>\n<li>Tables will now auto-infer data types by default, so dates, numbers, and objects are rendered nicely to start off!</li>\n<li>Reorderable Lists now have a \"labels\" property, letting users now reorder lists of data with more human-friendly text in the list.</li>\n<li>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.</li>\n<li>Retool now supports APIs that make use of the double-cookie submit pattern to protect against CSRF attacks.</li>\n<li>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!</li>\n</ul>\n<h1>Misc new features</h1>\n<ul>\n<li>The Modal component can now be optionally configured to close when clicking outside the modal.</li>\n<li>The Timeline component can be configured to render its values as HTML. <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55319-77-977-977-9W--_ve-_ve-_vW7vv718cHzRonVv77-9TO-_vX3vv71eUDzvv71TIe-_vTkE77-9KA\" alt=\"Screen Shot 2019-01-11 at 9.32.26 PM.png\" class=\"img_ev3q\"></li>\n<li>The default timeout on MSSQL queries has been increased to 10 minutes.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-32-49",
            "title": "Retool 2.32.49",
            "summary": "UX Improvements",
            "date_modified": "2019-01-03T07:41:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-32-32",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improvements\">Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-32-32#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<ul>\n<li>Retool can now connect to MongoDB databases through an SSH Tunnel</li>\n<li>Dropdowns now use fuzzy searching when matching results</li>\n<li>Add <code>.reset</code> method to the <code>FilePicker</code> component</li>\n<li>Improved the <code>Date</code> format in <code>Table</code> components to be clearer and more concise</li>\n<li>Improved the Editable Table to use a checkbox when editing boolean columns</li>\n<li>Added the ability to trigger queries after an item is selected in a dropdown</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"scim-user-provisioning\">SCIM User Provisioning<a href=\"https://docs.retool.com/changelog/cloud/2-32-32#scim-user-provisioning\" class=\"hash-link\" aria-label=\"Direct link to SCIM User Provisioning\" title=\"Direct link to SCIM User Provisioning\">​</a></h2>\n<ul>\n<li>Retool is now generally available on the Okta integration network for both SAML and SCIM User Provisioning.</li>\n<li>Creating, updating, and deactivating users are supported by Retool.</li>\n<li>Syncing Groups and permissions is coming soon!</li>\n<li>Learn more in the <a href=\"https://docs.retool.com/sso/guides/scim-user-provisioning\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a>.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-and-updated-integrations\">New and Updated Integrations<a href=\"https://docs.retool.com/changelog/cloud/2-32-32#new-and-updated-integrations\" class=\"hash-link\" aria-label=\"Direct link to New and Updated Integrations\" title=\"Direct link to New and Updated Integrations\">​</a></h2>\n<ul>\n<li><strong>CouchDB</strong>: We've added support for CouchDB as a database you can connect to. Learn more in the <a href=\"https://docs.retool.com/data-sources/quickstarts/database/couchdb\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a>.</li>\n<li><strong>Firestore</strong>: We've added the ability to insert and update data in Firestore.</li>\n<li><strong>OracleDB</strong>: We've added support for writing SQL to OracleDB.</li>\n<li><strong>Close.io</strong>: We've added support for Close.io's API.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-32-32#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>The <code>Calendar</code> component displays all events in the local timezone.</li>\n<li>Tables with edited cells now always have \"Save changes\" button visible.</li>\n<li>The <code>JSON Schema Form</code> component now shows an <code>email</code> input field correctly.</li>\n<li>Improved speed of selecting icons on textinputs</li>\n<li>Added support for OAuth2 to <code>GraphQL</code> datasources</li>\n<li>Fixed bulk updates queries with Redshift datasources</li>\n<li>Fixed various issues with the Denodo integration</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-32-32",
            "title": "Retool 2.32.32",
            "summary": "Improvements",
            "date_modified": "2018-12-07T20:27:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-32-15",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"editable-tables\">Editable Tables<a href=\"https://docs.retool.com/changelog/cloud/2-32-15#editable-tables\" class=\"hash-link\" aria-label=\"Direct link to Editable Tables\" title=\"Direct link to Editable Tables\">​</a></h2>\n<ul>\n<li>You can now directly edit values in Tables, just like it is an Excel spreadsheet.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55320-77-977-9Ue-_vRkD77-9d--_vXxZ77-9GO-_ve-_vQkK77-977-9ABk1dO-_vXjvv70a77-9Je-_vXM\" alt=\"Gif2.gif\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"server-side-search-on-dropdowns\">Server-side search on dropdowns.<a href=\"https://docs.retool.com/changelog/cloud/2-32-15#server-side-search-on-dropdowns\" class=\"hash-link\" aria-label=\"Direct link to Server-side search on dropdowns.\" title=\"Direct link to Server-side search on dropdowns.\">​</a></h2>\n<ul>\n<li>Search your database as you type with a dropdown.</li>\n<li>Here's a quick example of it in action</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55321-77-9Hwbvv70gAe-_ve-_vQDvv73vv70i77-9R--_ve-_ve-_vcyt77-977-9SUwW77-977-9JAN_fu-_vQg\" alt=\"DropdownSearch.gif\" class=\"img_ev3q\"></p>",
            "url": "https://docs.retool.com/changelog/cloud/2-32-15",
            "title": "Retool 2.32.15",
            "summary": "Editable Tables",
            "date_modified": "2018-11-13T19:56:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-32-12",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"geojson-on-maps\">GeoJSON on Maps!<a href=\"https://docs.retool.com/changelog/cloud/2-32-12#geojson-on-maps\" class=\"hash-link\" aria-label=\"Direct link to GeoJSON on Maps!\" title=\"Direct link to GeoJSON on Maps!\">​</a></h2>\n<ul>\n<li>Plot points, lines, and polygons using GeoJSON on Retool's Map component.<img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55322-U--_vcKx77-91IFJ77-9dU7vv71OZSlT77-977-9Al3vv73vv71977-9fe-_ve-_ve-_ve-_vTnvv73vv70\" alt=\"maps.png\" class=\"img_ev3q\"></li>\n<li>See the <a href=\"http://geojson.org/\" target=\"_blank\" rel=\"noopener noreferrer\">GeoJSON documentation</a> to learn more.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-32-12#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>Urls do not unnecessarily decode urls in the path.</li>\n<li>Fix importing CSVs in to databases via the Database Editor.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-32-12",
            "title": "Retool 2.32.12",
            "summary": "GeoJSON on Maps!",
            "date_modified": "2018-11-12T20:30:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-32-9",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"firestore-support\">Firestore support<a href=\"https://docs.retool.com/changelog/cloud/2-32-9#firestore-support\" class=\"hash-link\" aria-label=\"Direct link to Firestore support\" title=\"Direct link to Firestore support\">​</a></h2>\n<ul>\n<li>Retool now supports querying against Firestore.</li>\n<li>For existing Firebase users, you'll need to modify your Firebase connection to also include your <code>projectId</code></li>\n<li>Here's a screenshot of what it looks like! <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55323-77-9cDTvv73vv70C77-9fe-_ve-_vR7vv71HcO-_ve-_ve-_vcOdSO-_vVBz77-9GVRY77-977-9S3QL\" alt=\"Screen Shot 2018-11-09 at 2.49.40 PM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"dynamically-set-toggled-properties\">Dynamically set toggled properties.<a href=\"https://docs.retool.com/changelog/cloud/2-32-9#dynamically-set-toggled-properties\" class=\"hash-link\" aria-label=\"Direct link to Dynamically set toggled properties.\" title=\"Direct link to Dynamically set toggled properties.\">​</a></h2>\n<ul>\n<li>Any property on components that was controlled via a Toggle (e.g. turning on / off the <code>required</code> property on a <code>TextInput</code> can also be dynamically set! <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55324-77-9CGPvv70a77-9AO-_vWbvv71Yau-_ve-_vRoY77-9CF3vv73LplXvv70Y77-977-977-9Ah9p77-9\" alt=\"Screen Shot 2018-11-09 at 2.52.34 PM.png\" class=\"img_ev3q\"></li>\n<li>You can also swap back to using a normal checkbox too. <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55325-77-977-9Ukfvv73vv73vv71cIRpz77-9ZVl6WA0F77-9GTwN77-977-9bCoA77-9dRTvv70R\" alt=\"Screen Shot 2018-11-09 at 2.53.10 PM.png\" class=\"img_ev3q\"></li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-32-9",
            "title": "Retool 2.32.9",
            "summary": "Firestore support",
            "date_modified": "2018-11-09T22:49:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-32-2",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"scim-provisioning\">SCIM Provisioning<a href=\"https://docs.retool.com/changelog/cloud/2-32-2#scim-provisioning\" class=\"hash-link\" aria-label=\"Direct link to SCIM Provisioning\" title=\"Direct link to SCIM Provisioning\">​</a></h2>\n<ul>\n<li>Retool in on-premise environments now supports SCIM Provisioning!</li>\n<li>To learn more, see the <a href=\"https://docs.retool.com/sso/guides/scim-user-provisioning\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a>.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/cloud/2-32-2#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li>If you were sent a link to Retool you'll be redirected to where you wanted to go even if you were asked to sign in first.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-32-2",
            "title": "Retool 2.32.2",
            "summary": "SCIM Provisioning",
            "date_modified": "2018-11-07T10:09:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-31-27",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"filepicker-selecting-multiple-files\">Filepicker: Selecting multiple files<a href=\"https://docs.retool.com/changelog/cloud/2-31-27#filepicker-selecting-multiple-files\" class=\"hash-link\" aria-label=\"Direct link to Filepicker: Selecting multiple files\" title=\"Direct link to Filepicker: Selecting multiple files\">​</a></h2>\n<ul>\n<li>The <code>Filepicker</code> component now also supports selecting multiple files, and parsing them. You can select multiple files by holding either the <code>Ctrl</code>, <code>Cmd</code>, or <code>Shift</code> modifier keys while choosing your files.</li>\n<li>The <code>Filepicker</code> component also now supports uploading entire directories.</li>\n<li>All of this can be enabled or disabled in the settings of the <code>Filepicker</code>.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"sql-server-improvements\">SQL Server improvements<a href=\"https://docs.retool.com/changelog/cloud/2-31-27#sql-server-improvements\" class=\"hash-link\" aria-label=\"Direct link to SQL Server improvements\" title=\"Direct link to SQL Server improvements\">​</a></h2>\n<ul>\n<li>SQL Server queries that comprise of multiple queries now have a more consistent behavior.</li>\n<li>For example, in the following SQL query, the <code>.data</code> property will contain the result of the first <code>select</code> statement. On the other hand, to get the result of the 2nd <code>select</code> statement, you can use the <code>.dataArray</code> property. (e.g. <code>{{ query1.dataArray[1] }}</code>)\nselect <em>from SalesLT.Customer;\nselect</em> from SalesLT.Address;<!-- -->\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"misc\">Misc.<a href=\"https://docs.retool.com/changelog/cloud/2-31-27#misc\" class=\"hash-link\" aria-label=\"Direct link to Misc.\" title=\"Direct link to Misc.\">​</a></h2>\n<ul>\n<li>The JSON Schema Form component now supports the ui<!-- -->:widget<!-- --> \"date\" and \"datetime\"</li>\n<li>The Modal component's vertical size can be controlled either in pixels (500px) or percentages (80%).</li>\n<li>The Rich Text Editor now has more consistent behavior when the initial value of the component is set programatically</li>\n</ul>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-31-27",
            "title": "Retool 2.31.27",
            "summary": "Filepicker: Selecting multiple files",
            "date_modified": "2018-11-06T07:51:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-31-26",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"table-improvements\">Table Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-31-26#table-improvements\" class=\"hash-link\" aria-label=\"Direct link to Table Improvements\" title=\"Direct link to Table Improvements\">​</a></h2>\n<ul>\n<li>The \"pagination\" ui on Tables can now be placed on the top of the top instead of the bottom of the Table.<img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55326-SO-_vSIf77-977-9ZmHvv73vv70gBBzvv73vv70kSu-_vUgYJW7vv73GllQX77-9UzJG\" alt=\"Screen Shot 2018-11-01 at 2.23.12 AM.png\" class=\"img_ev3q\"></li>\n<li>The \"compact\" Table mode now shows even more data by using shorter rows.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-and-improved\">New and improved<a href=\"https://docs.retool.com/changelog/cloud/2-31-26#new-and-improved\" class=\"hash-link\" aria-label=\"Direct link to New and improved\" title=\"Direct link to New and improved\">​</a></h2>\n<ul>\n<li>We've added an integration with Basecamp.</li>\n<li>The error messages for database connection errors have been fixed to suggest better solutions.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-31-26#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>You can now specify both the \"jumphost\" (also known as \"bastion\") host as well as the port to connect. This is helpful when trying to connect a database through an SSH Tunnel with a jumphost that uses a non-standard SSH tunnel port (e.g. 22000).</li>\n<li>You can use any Retool \"parameter\" inside table \"formatters\", and \"color\" formatters on top of the existing <code>self</code> and <code>currentRow</code> property.</li>\n<li>Intercom now correctly works for all on-premise users.</li>\n<li>Long-running queries on MySQL database queries now correctly timeout after the query's \"timeout\" setting.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-31-26",
            "title": "Retool 2.31.26",
            "summary": "Table Improvements",
            "date_modified": "2018-11-01T09:20:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-31-23",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"table-improvements\">Table improvements<a href=\"https://docs.retool.com/changelog/cloud/2-31-23#table-improvements\" class=\"hash-link\" aria-label=\"Direct link to Table improvements\" title=\"Direct link to Table improvements\">​</a></h2>\n<ul>\n<li>For data-dense tables, you can now also enable <strong>compact mode</strong>. Take a look below for how the tables compare. <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55327-Tsek77-9Nu-_ve-_vUpBBO-_vSsB77-9Xu-_ve-_ve-_ve-_ve-_vWBZL--_vWwnKu-_vWtXQ24\" alt=\"Screen Shot 2018-10-25 at 10.31.10 AM.png\" class=\"img_ev3q\"></li>\n<li>Tables now also formats <code>null</code>, <code>true</code>, and <code>false</code> values! <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55328-Xu-_vVU077-977-977-977-9LBAvAO-_ve-_ve-_vQJ1OO-_ve-_ve-_vWjarljvv70e77-9ETzvv70l\" alt=\"Screen Shot 2018-10-25 at 10.36.06 AM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"json-schema-form-improvements\">JSON Schema Form Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-31-23#json-schema-form-improvements\" class=\"hash-link\" aria-label=\"Direct link to JSON Schema Form Improvements\" title=\"Direct link to JSON Schema Form Improvements\">​</a></h2>\n<ul>\n<li>The alignment and look of controls in the JSON Schema Form have been revamped to be consistent with Retool's other components.</li>\n<li>The <code>Clear after Form Submission</code> option on the Form now waits for the query to finish executing before clearing the form.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed:<a href=\"https://docs.retool.com/changelog/cloud/2-31-23#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed:\" title=\"Direct link to Fixed:\">​</a></h2>\n<ul>\n<li>Percentages in Pie charts now show correctly in all cases.</li>\n<li>Allow non-ASCII characters when parsing CSVs uploaded by the <code>FilePicker</code></li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-31-23",
            "title": "Retool 2.31.23",
            "summary": "Table improvements",
            "date_modified": "2018-10-25T17:29:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-31-21",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"auto-generate-forms\">Auto Generate Forms<a href=\"https://docs.retool.com/changelog/cloud/2-31-21#auto-generate-forms\" class=\"hash-link\" aria-label=\"Direct link to Auto Generate Forms\" title=\"Direct link to Auto Generate Forms\">​</a></h2>\n<ul>\n<li>Create forms for any of your database tables with just one click with the <code>JSONSchemaForm</code> component.</li>\n<li>Retool can parse your database schema to create forms for your tables. See the <a href=\"https://docs.retool.com/apps/guides/forms-inputs/form\">documentation</a> to learn more.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/cloud/2-31-21#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li>Added support for uploading <code>binary</code> data to <code>S3</code>. This makes it possible to use the normal <code>FilePicker</code> component to upload files to `S3.</li>\n<li>Added the <code>TabbedContainer</code>'s <code>selectedTab</code> as an option for deep linking.</li>\n<li>Added support for exporting <code>arrays of arrays</code> to CSV files. See below for an example\n[['Name', 'Hobby'],\n['Fred', 'Tennis'],\n['Marry', 'Badminton']]<!-- -->\n<ul>\n<li>Added support for connecting to dynamically choosing the database to connect to at query run time. This makes it possible to connect Retool with sharded databases.</li>\n</ul>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-31-21",
            "title": "Retool 2.31.21",
            "summary": "Auto Generate Forms",
            "date_modified": "2018-10-18T09:03:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-31-15",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"editor-improvements\">Editor Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-31-15#editor-improvements\" class=\"hash-link\" aria-label=\"Direct link to Editor Improvements\" title=\"Direct link to Editor Improvements\">​</a></h2>\n<ul>\n<li>We've optimized the sizing of everything in the Retool Editor.</li>\n<li>It's now friendlier on computers with smaller screens and makes sure that you can see everything you need to without having to scroll or zoom out.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/cloud/2-31-15#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li>Microsoft SQL Server queries now support returning multiple recordsets. For example the below will now return both results in the same SQL query\n-- Find all the rogers\nselect <em>from dbo.Users where name = 'Roger';\n-- Find all the sarahs\nselect</em> from dbo.Users where name = 'Sarah';<!-- -->\n<ul>\n<li>Tables can be server-paginated without specifying the total size of the dataset being paged through.</li>\n<li>In case you've forgotten how Retool works, or if you want to show a friend the basics, you can now restart the tutorial from the home screen by clicking on <strong>Do Tutorial</strong></li>\n<li>A link to our docs has been added to the sidebar.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-31-15#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>Fixed: switching between production and staging now also auto-refetches the schema of your datasources</li>\n</ul>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-31-15",
            "title": "Retool 2.31.15",
            "summary": "Editor Improvements",
            "date_modified": "2018-10-16T07:18:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-31-12",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-pdf-exports\">New PDF Exports<a href=\"https://docs.retool.com/changelog/cloud/2-31-12#new-pdf-exports\" class=\"hash-link\" aria-label=\"Direct link to New PDF Exports\" title=\"Direct link to New PDF Exports\">​</a></h2>\n<ul>\n<li>Write markdown, and get a PDF.</li>\n<li>Great for creating tools to generate PDF documents (invoices, contracts, etc.)</li>\n<li>Use this by using the new <code>PDF Exporter</code> query: <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55329-cFHvv70z77-9f3rvv73vv71Kemvvv70z77-9Ozzvv73vv70WOO-_vRl177-977-9I--_vT_vv70d\" alt=\"Screen Shot 2018-10-11 at 6.24.30 PM.png\" class=\"img_ev3q\"></li>\n<li>To generate PDFs that look like this:</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55330-XntY77-977-977-9Rw4w77-9KTY177-9FO-_vSRqAw_vv71QFO-_ve-_ve-_ve-_ve-_vTPvv71u77-9\" alt=\"Screen Shot 2018-10-11 at 6.25.19 PM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved-javascript-queries\">Improved Javascript Queries<a href=\"https://docs.retool.com/changelog/cloud/2-31-12#improved-javascript-queries\" class=\"hash-link\" aria-label=\"Direct link to Improved Javascript Queries\" title=\"Direct link to Improved Javascript Queries\">​</a></h2>\n<ul>\n<li>Javascript Queries lets you script Retool to do pretty much anything.</li>\n<li>This works by invoking methods on Retool primitives (components, queries, etc.).</li>\n<li>All of these operations are asynchronous - they don't immediately take effect (e.g. triggering a REST API query).</li>\n<li>To help make this easier, Retool now supports promise based syntax and async-await syntax on newer browsers <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55331-77-977-977-977-977-9ZRDvv73vv70877-9yb8kAjRp77-9GO-_vR7vv73vv73vv73vv73vv73vv713Eg3vv71K\" alt=\"Screen Shot 2018-10-11 at 6.26.13 PM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved-tables\">Improved Tables<a href=\"https://docs.retool.com/changelog/cloud/2-31-12#improved-tables\" class=\"hash-link\" aria-label=\"Direct link to Improved Tables\" title=\"Direct link to Improved Tables\">​</a></h2>\n<ul>\n<li>The column of buttons can be moved to the leftmost column of the Table.</li>\n<li>The header of the column of buttons can be customized.</li>\n<li>Server side paginated tables no longer requires the total number of records in the dataset to page correctly.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"misc-improvements\">Misc Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-31-12#misc-improvements\" class=\"hash-link\" aria-label=\"Direct link to Misc Improvements\" title=\"Direct link to Misc Improvements\">​</a></h2>\n<ul>\n<li>\n<p>Added <code>.setValue</code> to checkboxes</p>\n</li>\n<li>\n<p>Added percents to pie charts</p>\n</li>\n<li>\n<p>Added the HTML class <code>._retool-</code> to containers</p>\n</li>\n<li>\n<p>Fixed: GraphQL errors have been improved</p>\n</li>\n<li>\n<p>Fixed: Allow underscores in odbc based connections</p>\n</li>\n<li>\n<p>Fixed: SAML login cast to lower case for consistency</p>\n</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-31-12",
            "title": "Retool 2.31.12",
            "summary": "New PDF Exports",
            "date_modified": "2018-10-11T10:32:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-30-0",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-component-reorderable-lists\">New component: Reorderable Lists<a href=\"https://docs.retool.com/changelog/cloud/2-30-0#new-component-reorderable-lists\" class=\"hash-link\" aria-label=\"Direct link to New component: Reorderable Lists\" title=\"Direct link to New component: Reorderable Lists\">​</a></h2>\n<ul>\n<li>Need to allow your users to reorder a collection of items?</li>\n<li>The Reorderable List is a component that allows your users to drag and drop cards to reorder an array of strings into any order they want.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"bulk-upserts\">Bulk Upserts<a href=\"https://docs.retool.com/changelog/cloud/2-30-0#bulk-upserts\" class=\"hash-link\" aria-label=\"Direct link to Bulk Upserts\" title=\"Direct link to Bulk Upserts\">​</a></h2>\n<ul>\n<li>Retool supports bulk upserts into SQL databases (Postgres, MySQL, and SQL Server).</li>\n<li>Choose which table, which key to treat as a primary key, and an array of data to update / insert data into Retool.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/cloud/2-30-0#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li>Retool's resizing handle's hitbox has been increased to make it easier to click and drag.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-30-0",
            "title": "Retool 2.30",
            "summary": "New component: Reorderable Lists",
            "date_modified": "2018-10-01T06:36:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-29-18",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new\">New<a href=\"https://docs.retool.com/changelog/cloud/2-29-18#new\" class=\"hash-link\" aria-label=\"Direct link to New\" title=\"Direct link to New\">​</a></h2>\n<ul>\n<li><code>Javascript</code> queries can now return values and be used like a normal query in other parts of Retool</li>\n<li>Add support for OAuth 1a one-legged support</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/cloud/2-29-18#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li>The <code>SQL</code> autocomplete no longer triggers on <code>,</code> and other special characters</li>\n<li>Drag and drop performance has been optimized to be smoother and more responsive.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-29-18#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>MongoDB projections now work correctly</li>\n<li>Double clicking on a table's row does not retrigger a re-running of all the queries if the <code>selectedRow.data</code> has not changed</li>\n<li>HTTP APIs now correctly implement the <code>binary</code> body type to send the raw payload of the file rather than encoding it in <code>FormData</code></li>\n<li>Fixed Retool's edit integration with Redshift</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-29-18",
            "title": "Retool 2.29.18",
            "summary": "New",
            "date_modified": "2018-09-28T07:11:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-29-14",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"s3-extensions\">S3 Extensions<a href=\"https://docs.retool.com/changelog/cloud/2-29-14#s3-extensions\" class=\"hash-link\" aria-label=\"Direct link to S3 Extensions\" title=\"Direct link to S3 Extensions\">​</a></h2>\n<ul>\n<li>Added support for generating signed requests.</li>\n<li>This allows to create a temporary URL that you can use in <code>&lt;img&gt;</code> tags to render data from private S3 buckets</li>\n<li>Added support for uploading data to S3 buckets, like <code>json</code> or <code>csv</code> files.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"video-player-component\">Video player component<a href=\"https://docs.retool.com/changelog/cloud/2-29-14#video-player-component\" class=\"hash-link\" aria-label=\"Direct link to Video player component\" title=\"Direct link to Video player component\">​</a></h2>\n<ul>\n<li>Embed videos into Retool, control playback rate, and read timestamps from the video</li>\n<li>Supports Youtube, Vimeo, Streamable, mp4 files, etc.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"salesforce-integration\">Salesforce integration<a href=\"https://docs.retool.com/changelog/cloud/2-29-14#salesforce-integration\" class=\"hash-link\" aria-label=\"Direct link to Salesforce integration\" title=\"Direct link to Salesforce integration\">​</a></h2>\n<ul>\n<li>Fixed various issues when calling into Salesforce Apex classes</li>\n<li>Added an option to auto-flatten child objects in SOQL queries</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"graphql\">Graphql<a href=\"https://docs.retool.com/changelog/cloud/2-29-14#graphql\" class=\"hash-link\" aria-label=\"Direct link to Graphql\" title=\"Direct link to Graphql\">​</a></h2>\n<ul>\n<li>GraphQL variables are preserved when the query's syntax temporarily becomes invalid while typing out a query.</li>\n<li>Authentication cookies are correctly forwarded along with GraphQL introspection queries</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/cloud/2-29-14#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li>Queries that update / delete rows can now be configured to treat a no-op as a success case.</li>\n<li>Improved styling of our OAuth consent screen</li>\n<li>Added the option to duplicate data in Google sheets</li>\n<li>Show an error when metadata about a resource failed to fetch - e.g. the list of tables / columns in a database or the list of spreadsheets available.</li>\n<li><code>KeyValueMap</code> components now render singleton arrays without <code>[</code> and <code>]</code></li>\n<li>Add a <code>X-Retool-Forwarded-For</code> header to outgoing API requests</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-29-14#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>Fixed autocasting of <code>bit(1)</code> and <code>binary</code> columns in MySQL</li>\n<li>Fixed loading database schemas from Denodo datasources</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-29-14",
            "title": "Retool 2.29.14",
            "summary": "S3 Extensions",
            "date_modified": "2018-09-22T09:48:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-29-6",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"turning-off-prepared-statements\">Turning off Prepared Statements<a href=\"https://docs.retool.com/changelog/cloud/2-29-6#turning-off-prepared-statements\" class=\"hash-link\" aria-label=\"Direct link to Turning off Prepared Statements\" title=\"Direct link to Turning off Prepared Statements\">​</a></h2>\n<ul>\n<li>Retool now supports turning of preparing SQL queries to prevent SQL injection.</li>\n<li>Only admins may enable this option in the Resource connection form.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"progress-bar-component\">Progress bar component<a href=\"https://docs.retool.com/changelog/cloud/2-29-6#progress-bar-component\" class=\"hash-link\" aria-label=\"Direct link to Progress bar component\" title=\"Direct link to Progress bar component\">​</a></h2>\n<ul>\n<li>We've added a new <code>Progress</code> bar component!</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55332-HWcnb--_ve-_ve-_ve-_vSUyf--_vcqB77-977-93bjvv71XD2Zi2L_vv70Q77-9F--_ve-_ve-_vQ\" alt=\"Screen Shot 2018-09-17 at 12.32.46 AM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/cloud/2-29-6#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li>Allow <code>Table</code> components to have dynamic formatting / cell coloring depending on any field in the table's data.</li>\n<li><code>SOQL</code> queries now support auto-flattening children objects. Enable this on a per-query basis like below:<img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55333-77-9DH91He-_vR7Dte-_ve-_ve-_vUfvv73vv7141b3vv70Y77-977-9K--_ve-_ve-_vTDvv73vv73vv71ELg\" alt=\"Screen Shot 2018-09-17 at 12.31.10 AM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-29-6#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>GraphQL variables are no longer unset when the parsed GraphQL query is invalid.</li>\n<li>The GraphQL shows an error when the GraphQL schema cannot be parsed</li>\n<li><code>GraphQL</code> queries now support cookie-based authentication</li>\n<li><code>Google Sheets</code> queries can now query public Google sheets without having to first granting Retool read permissions on your Google account.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-29-6",
            "title": "Retool 2.29.6",
            "summary": "Turning off Prepared Statements",
            "date_modified": "2018-09-17T07:25:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-29-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"custom-css-styles\">Custom CSS Styles<a href=\"https://docs.retool.com/changelog/cloud/2-29-1#custom-css-styles\" class=\"hash-link\" aria-label=\"Direct link to Custom CSS Styles\" title=\"Direct link to Custom CSS Styles\">​</a></h2>\n<ul>\n<li>You can now customize how your Retool apps look with global css styles by opening up the <strong>Settings</strong> screen and navigating to the <strong>Code</strong> section. <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55334-77-977-9JO-_vXTvv71JVu-_vWs977-9Bg5t77-9I--_ve-_vQDvv73vv73vv71377-9QO-_vTUP77-977-9\" alt=\"Screen Shot 2018-09-11 at 5.40.45 PM.png\" class=\"img_ev3q\"></li>\n<li>Fair warning! You might end up changing the CSS of some of the Retool UIs. To avoid that, you can scope your styles under the <code>.retool-canvas</code> class name. For example:</li>\n</ul>\n<div class=\"codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#F8F8F2;--prism-background-color:#282A36\"><div class=\"codeBlockContent_biex\"><pre tabindex=\"0\" class=\"prism-code language-text codeBlock_bY9V thin-scrollbar\" style=\"color:#F8F8F2;background-color:#282A36\"><code class=\"codeBlockLines_e6Vv\"><span class=\"token-line\" style=\"color:#F8F8F2\"><span class=\"token plain\">.retool-canvas h1 { color: red };</span><br></span></code></pre><div class=\"buttonGroup__atx\"><button type=\"button\" aria-label=\"Copy code to clipboard\" title=\"Copy\" class=\"clean-btn\"><span class=\"copyButtonIcons_eSgA\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" class=\"copyButtonIcon_y97N\"><path fill=\"currentColor\" d=\"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\"></path></svg><svg viewBox=\"0 0 24 24\" class=\"copyButtonSuccessIcon_LjdS\"><path fill=\"currentColor\" d=\"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\"></path></svg></span></button></div></div></div>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"firebase-writes\">Firebase writes<a href=\"https://docs.retool.com/changelog/cloud/2-29-1#firebase-writes\" class=\"hash-link\" aria-label=\"Direct link to Firebase writes\" title=\"Direct link to Firebase writes\">​</a></h2>\n<ul>\n<li>Added support for .set, .update and .push methods on Firebase database refs.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-and-improved\">New and Improved<a href=\"https://docs.retool.com/changelog/cloud/2-29-1#new-and-improved\" class=\"hash-link\" aria-label=\"Direct link to New and Improved\" title=\"Direct link to New and Improved\">​</a></h2>\n<ul>\n<li>Added .setData method to Table components</li>\n<li>Our json parser supports numbers as property names</li>\n<li>Our Salesforce integration correctly authenticates with sandbox environments.</li>\n<li>Fixed support for Denodo write in on-prem setups.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-29-1",
            "title": "Retool 2.29.1",
            "summary": "Custom CSS Styles",
            "date_modified": "2018-09-12T00:38:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-28-26",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"table-action-buttons\">Table action buttons<a href=\"https://docs.retool.com/changelog/cloud/2-28-26#table-action-buttons\" class=\"hash-link\" aria-label=\"Direct link to Table action buttons\" title=\"Direct link to Table action buttons\">​</a></h2>\n<ul>\n<li>Action buttons on tables support opening new pages (either internal Retool apps, or external URLs). To customize the behavior for each button, you can use the <code>currentRow</code> variable or the <code>i</code> variable.</li>\n<li>Action buttons on tables can be dynamically disabled in a similar fashion. See below for an example config.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55335-Xu-_ve-_ve-_vVbvv71dDu-_vTrvv73vv73vv73vv73Ppy3vv73vv71O77-977-9BmMBXAhXRAXvv70\" alt=\"Screen Shot 2018-09-09 at 3.45.23 AM.png\" class=\"img_ev3q\"></p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"api-custom-authentication\">API Custom Authentication<a href=\"https://docs.retool.com/changelog/cloud/2-28-26#api-custom-authentication\" class=\"hash-link\" aria-label=\"Direct link to API Custom Authentication\" title=\"Direct link to API Custom Authentication\">​</a></h2>\n<ul>\n<li>Added support for a custom redirect-based authentication scheme. Useful in cases where a custom in-house SSO solution has been built. <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55336-240pMO-_ve-_vRjvv73vv73vv70LY--_vSPvv73vv73vv71177-977-9MO-_vT7TqytvM0jvv718\" alt=\"Screen Shot 2018-09-09 at 3.48.12 AM.png\" class=\"img_ev3q\"></li>\n<li>Added support for defining variables to substitute into an API request<img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55337-77-9UQoy77-9c--_ve-_vRRu77-977-9O--_vV_vv71e77-9N--_ve-_vWLvv71o77-9cCAo77-977-9SQ\" alt=\"Screen Shot 2018-09-09 at 3.48.42 AM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/cloud/2-28-26#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li>UX for adding new databases has been improved by providing sane defaults.</li>\n<li>Added support for connecting via SSH Tunnels to MySQL databases with edit permissions enabled.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-28-26#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>The Stripe integration has been improved to support form-data based endpoints.</li>\n<li>The <code>JSONEditor</code> component no longer switches focus when pressing the <code>Tab</code> key.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-28-26",
            "title": "Retool 2.28.26",
            "summary": "Table action buttons",
            "date_modified": "2018-09-09T10:43:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-28-22",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/cloud/2-28-22#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li><code>KeyValueMap</code> now supports customizing the values using <code>HTML</code></li>\n<li><code>CheckboxGroup</code> has an option to align all the checkboxes vertically rather than horizontally.</li>\n<li>The syntax highlighting has been improved for areas where an JS Object is expected</li>\n<li>A <code>Home</code> button has been added to the file menu.</li>\n<li>When opening up a Retool page using a device with a small screen, Retool now shows the app as if it were opened on a desktop.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-28-22#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>Disabled queries may sometimes have unintended consequences and cause downstream queries to fail to run.</li>\n<li><code>TimePicker</code>'s sets the second to 0 when the formatted string does not include seconds</li>\n<li>Fixed a bug with our modals on Firefox.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-28-22",
            "title": "Retool 2.28.22",
            "summary": "Improved",
            "date_modified": "2018-09-06T08:28:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-28-19",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"calendar-component\">Calendar component<a href=\"https://docs.retool.com/changelog/cloud/2-28-19#calendar-component\" class=\"hash-link\" aria-label=\"Direct link to Calendar component\" title=\"Direct link to Calendar component\">​</a></h2>\n<ul>\n<li>Retool now has a calendar component that you can use to render events.</li>\n<li>Supports creating new events</li>\n<li>Supports moving events and changing start / end of events</li>\n<li>Supports selecting events.</li>\n</ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55338-77-977-977-977-9XNKUdAjZgHLvv73vv73vv73vv73vv70p77-9Xu-_vVnvv70MMzsk77-977-9T3Lvv70\" alt=\"Screen Shot 2018-09-04 at 3.34.21 AM.png\" class=\"img_ev3q\"></p>",
            "url": "https://docs.retool.com/changelog/cloud/2-28-19",
            "title": "Retool 2.28.19",
            "summary": "Calendar component",
            "date_modified": "2018-09-04T09:51:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-28-16",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"dynamic-json-improvements\">Dynamic JSON Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-28-16#dynamic-json-improvements\" class=\"hash-link\" aria-label=\"Direct link to Dynamic JSON Improvements\" title=\"Direct link to Dynamic JSON Improvements\">​</a></h2>\n<ul>\n<li>Retool supports dynamically adding and removing keys from objects.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"misc\">Misc.<a href=\"https://docs.retool.com/changelog/cloud/2-28-16#misc\" class=\"hash-link\" aria-label=\"Direct link to Misc.\" title=\"Direct link to Misc.\">​</a></h2>\n<ul>\n<li>Syntax highlighting for MongoDB queries improved</li>\n<li>Syntax highlighting for Elastic Search queries improved</li>\n<li><code>ButtonGroup</code> component support for multi-selection is fixed.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-28-16",
            "title": "Retool 2.28.16",
            "summary": "Dynamic JSON Improvements",
            "date_modified": "2018-09-03T02:10:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-28-15",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"dynamodb-improvements\">DynamoDB Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-28-15#dynamodb-improvements\" class=\"hash-link\" aria-label=\"Direct link to DynamoDB Improvements\" title=\"Direct link to DynamoDB Improvements\">​</a></h2>\n<ul>\n<li><code>ExpressionAttributeValues</code> no longer require typing out the entire <code>Dyanmo Type</code></li>\n<li>Added support for the <code>IndexName</code> property</li>\n<li>Added a link to <code>DynamoDB</code> docs within the <code>DyanmoDB</code> editor</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"denodo-improvements\">Denodo Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-28-15#denodo-improvements\" class=\"hash-link\" aria-label=\"Direct link to Denodo Improvements\" title=\"Direct link to Denodo Improvements\">​</a></h2>\n<ul>\n<li>Denodo schemas are now shown side by side the query editor</li>\n<li>Retool supports writing back to Denodo datasources</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-28-15#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>Uploading payloads that are larger than 5MB now shows the HTTP status code (413 Entity Too Large) instead of a generic error.</li>\n<li>Git syncing: our <code>yaml</code> formatter now supports Date objects.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-28-15",
            "title": "Retool 2.28.15",
            "summary": "DynamoDB Improvements",
            "date_modified": "2018-09-01T08:23:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-28-12",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"dynamodb-integration\">DynamoDB Integration<a href=\"https://docs.retool.com/changelog/cloud/2-28-12#dynamodb-integration\" class=\"hash-link\" aria-label=\"Direct link to DynamoDB Integration\" title=\"Direct link to DynamoDB Integration\">​</a></h2>\n<ul>\n<li>Retool now supports DynamoDB as a datasource!</li>\n<li>We support connecting to DynamoDB via an AWS IAM Role.</li>\n<li>For more information, see the <a href=\"https://docs.retool.com/data-sources/quickstarts/database/amazon-dynamodb\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a>.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-json-parser\">New JSON Parser<a href=\"https://docs.retool.com/changelog/cloud/2-28-12#new-json-parser\" class=\"hash-link\" aria-label=\"Direct link to New JSON Parser\" title=\"Direct link to New JSON Parser\">​</a></h2>\n<ul>\n<li>\n<p>Retool no longer forces precise JSON expressions. See below for equivalencies.</p>\n<p>// Property keys no longer need to be quoted\n<code>{ \"id\": 123 }</code> // before\n<code>{ id: 123 }</code> . // after\n// Property values can be in single quotes\n<code>{ \"name\": \"Ashley\" }</code> // before\n<code>{ name: 'Ashley' }</code> // after\n// Trailing commas are allowed\n[1,2,3] // before\n[1,2,3,] // after</p>\n<ul>\n<li>Dynamic expressions are still valid, see below for some examples:\n// Use <code>{{}}</code> as proeprty values\n<code>{ name: {{ textinput1.value }} }</code>\n// Use <code>{{}}</code> as items in an array, or a\n<code>{ age: [1, 2, {{ 3 }}, 4, 5] }</code>\n// Use <code>{{}}</code> within property value strings\n<code>{ message: 'Hi {{ textinput1.value }}' }</code></li>\n</ul>\n</li>\n</ul>\n<pre tabindex=\"0\" class=\"codeBlockStandalone_MEMb thin-scrollbar codeBlockContainer_Ckt0 theme-code-block\" style=\"--prism-color:#F8F8F2;--prism-background-color:#282A36\"><code class=\"codeBlockLines_e6Vv\"></code></pre>",
            "url": "https://docs.retool.com/changelog/cloud/2-28-12",
            "title": "Retool 2.28.12",
            "summary": "DynamoDB Integration",
            "date_modified": "2018-08-31T06:11:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-28-10",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"writing-to-google-sheets\">Writing to Google Sheets<a href=\"https://docs.retool.com/changelog/cloud/2-28-10#writing-to-google-sheets\" class=\"hash-link\" aria-label=\"Direct link to Writing to Google Sheets\" title=\"Direct link to Writing to Google Sheets\">​</a></h2>\n<ul>\n<li>Retool supports writing data back to Google Sheets</li>\n<li>Supported operations<!-- -->\n<ul>\n<li>Create spreadsheets programmatically</li>\n<li>Append new rows to spreadsheets</li>\n<li>Read data from spreadsheets</li>\n</ul>\n</li>\n<li>Coming soon:<!-- -->\n<ul>\n<li>Updating ranges in spreadsheets</li>\n<li>Listing available spreadsheets</li>\n</ul>\n</li>\n<li>For more information, see the <a href=\"https://docs.retool.com/queries/guides/resources/google-sheets\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a>.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-28-10#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>Various edge cases in our SAML login has been fixed</li>\n<li>Retool supports mapping attributes from the SAMLResponse to the <code>firstName</code> and <code>lastName</code> fields Retool uses.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-28-10",
            "title": "Retool 2.28.10",
            "summary": "Writing to Google Sheets",
            "date_modified": "2018-08-30T10:41:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-28-8",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"http--graphql-authentication\">HTTP / GraphQL Authentication<a href=\"https://docs.retool.com/changelog/cloud/2-28-8#http--graphql-authentication\" class=\"hash-link\" aria-label=\"Direct link to HTTP / GraphQL Authentication\" title=\"Direct link to HTTP / GraphQL Authentication\">​</a></h2>\n<ul>\n<li>Now supports arbitrary OAuth2 steps</li>\n<li>If the OAuth2 identity provider returns an <code>id_token</code>, that is now also usable in following steps</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/cloud/2-28-8#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li>Added optional labels to the <code>Filepicker</code></li>\n<li>Added <code>.setValue</code> method to the <code>Text Editor</code> and <code>JSON Editor</code> components</li>\n<li>Our <code>SAML</code> integration now supports identity providers that do not specify the X509 certificate used to sign assertions.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-28-8#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>Mobile layouts are now correctly full width when in present mode</li>\n<li>Staging mode now enabled when <code>JS Queries</code> and <code>Query JSON with SQL</code> queries are in use</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-28-8",
            "title": "Retool 2.28.8",
            "summary": "HTTP / GraphQL Authentication",
            "date_modified": "2018-08-29T11:32:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-28-5",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"http--graphql-authentication\">HTTP / GraphQL Authentication<a href=\"https://docs.retool.com/changelog/cloud/2-28-5#http--graphql-authentication\" class=\"hash-link\" aria-label=\"Direct link to HTTP / GraphQL Authentication\" title=\"Direct link to HTTP / GraphQL Authentication\">​</a></h2>\n<ul>\n<li>Retool supports forwarding arbitrary number of authentication cookies</li>\n<li>Retool supports custom multi-step authentication flows<!-- -->\n<ul>\n<li>Google OAuth Step - login via Google and obtain an access token</li>\n<li>API Request step - make an API request (e.g. exchange an Google access token for an authorization token)</li>\n<li>More coming soon.</li>\n</ul>\n</li>\n<li>Example: First sign in via Google, pass the access token to a login endpoint which sets an authorization cookie that should be present in all future requests</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/cloud/2-28-5#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li>Multi-selection on the canvas auto-terminates once the mouse leaves the canvas</li>\n<li>The screen where the list of supported datasources has been refactored to support searching</li>\n<li>Rename \"Run\" -&gt; \"Preview\" in the Query Editor to make it clearer that it's still necessary to save the query to have it's changes appear in the app.</li>\n<li>Add an option to choose the default column to sort a Table by</li>\n<li>Added documentation on how to use</li>\n<li>JSON Request payload logging: Retool now also logs the final request generated by an HTTP query in the audit logs. Fields like the <code>Authorization</code> header and fields with the name <code>password</code> are automatically sanitized, and blacklisted parameters are also respected.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-28-5#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>When a dependency cycle exists between a query and a component exists, Retool will now notify you that a dependency cycle exists and ask you to correct it. Retool apps should no longer break when a dependency cycle is accidentally added.</li>\n<li>Error previews in editors now no longer truncate the error if it's too long.</li>\n<li>Previewing SQL queries with long column names correctly render in the table preview</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-28-5",
            "title": "Retool 2.28.5",
            "summary": "HTTP / GraphQL Authentication",
            "date_modified": "2018-08-28T06:18:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-28-1",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"images-in-rich-text-editors\">Images in rich text editors<a href=\"https://docs.retool.com/changelog/cloud/2-28-1#images-in-rich-text-editors\" class=\"hash-link\" aria-label=\"Direct link to Images in rich text editors\" title=\"Direct link to Images in rich text editors\">​</a></h2>\n<ul>\n<li>The <code>TextEditor</code> component now supports images</li>\n<li>Images uploaded are base64 encoded and embedded inline in the HTML output <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55339-77-9WO-_vTU4cS3vv71977-9x69n77-977-9Me-_vWx9XO-_ve-_ve-_vWxmJ--_ve-_vR1maEQ\" alt=\"Screen Shot 2018-08-23 at 1.10.00 AM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"misc\">Misc<a href=\"https://docs.retool.com/changelog/cloud/2-28-1#misc\" class=\"hash-link\" aria-label=\"Direct link to Misc\" title=\"Direct link to Misc\">​</a></h2>\n<ul>\n<li>The <code>ElasticSearch</code> configuration screen now asks you to whitelist the IP address we make outbound connections from.</li>\n<li>We've been busy with a bunch of housekeeping - stay tuned for bigger changes soon.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-28-1",
            "title": "Retool 2.28.1",
            "summary": "Images in rich text editors",
            "date_modified": "2018-08-23T08:10:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-27-2",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"json-editor\">JSON Editor<a href=\"https://docs.retool.com/changelog/cloud/2-27-2#json-editor\" class=\"hash-link\" aria-label=\"Direct link to JSON Editor\" title=\"Direct link to JSON Editor\">​</a></h2>\n<ul>\n<li>New component: a component for editing arbitrary JSON blobs of data</li>\n<li>Auto-formats your JSON as you edit it</li>\n<li>Auto-validates your JSON <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55340-ETHvv71i77-977-977-9UFEGCmrvv71l77-9MO-_vTI777-977-977-9LO-_ve-_vdyTL--_vQ7vv73vv70\" alt=\"Screen Shot 2018-08-21 at 9.33.48 PM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"improved\">Improved<a href=\"https://docs.retool.com/changelog/cloud/2-27-2#improved\" class=\"hash-link\" aria-label=\"Direct link to Improved\" title=\"Direct link to Improved\">​</a></h2>\n<ul>\n<li>Added more documentation to make connecting Retool to Salesforce easy.</li>\n<li>The buttons for creating transformers and temporary state have been reorganized.</li>\n<li>SQL queries automatically switch between running whenever parameters to change to being manually triggered depending on whether the query is a read only query or not.</li>\n<li>HTML links in Retool (<code>&lt;a&gt;</code> elements) can now open links in a new tab<!-- -->\n<ul>\n<li><code>&lt;a&gt;</code> tags now support the <code>target</code> attribute.</li>\n<li><code>&lt;a href=\"https://google.com\" target=\"_blank\"&gt; Google &lt;/a&gt;</code> will render a link that opens Google in a new page</li>\n<li>Retool will also automatically add the <code>rel=\"noopener noreferer</code> attribute to protect your privacy and security to all links that open pages in new tabs.</li>\n</ul>\n</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-27-2#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>The top edge of the <code>Component Properties</code> popup is now also draggable.</li>\n<li>The free plan now correctly allows up to ten queries per page</li>\n<li>Components inside of ListViews should behave more predictably</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-27-2",
            "title": "Retool 2.27.2",
            "summary": "JSON Editor",
            "date_modified": "2018-08-22T04:28:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-27-1",
            "content_html": "<h3 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"rich-text-editor\">Rich Text Editor<a href=\"https://docs.retool.com/changelog/cloud/2-27-1#rich-text-editor\" class=\"hash-link\" aria-label=\"Direct link to Rich Text Editor\" title=\"Direct link to Rich Text Editor\">​</a></h3>\n<ul>\n<li>New component: A rich text editor.</li>\n<li>Embed a rich text editor into your application which outputs HTML that captures the format of the text in the editor. <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55341-77-9Oe-_ve-_vSdxMu-_ve-_vVR_LO-_ve-_vVF7Ixnvv71HPO-_ve-_ve-_vRZgKWLSg3rvv70\" alt=\"Screen Shot 2018-08-21 at 12.00.07 AM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"misc\">Misc.<a href=\"https://docs.retool.com/changelog/cloud/2-27-1#misc\" class=\"hash-link\" aria-label=\"Direct link to Misc.\" title=\"Direct link to Misc.\">​</a></h2>\n<ul>\n<li>On-prem: OAuth integrations now correctly use the configured http proxy.</li>\n<li>Modals: The modal can now be colored, disabled, etc dynamically.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-27-1",
            "title": "Retool 2.27.1",
            "summary": "Rich Text Editor",
            "date_modified": "2018-08-21T03:59:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-26-19",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"supported-firebase-apis\">Supported Firebase APIs<a href=\"https://docs.retool.com/changelog/cloud/2-26-19#supported-firebase-apis\" class=\"hash-link\" aria-label=\"Direct link to Supported Firebase APIs\" title=\"Direct link to Supported Firebase APIs\">​</a></h2>\n<ul>\n<li>User management<!-- -->\n<ul>\n<li>Getting users by uid, email, and phone number</li>\n<li>Updating users</li>\n<li>Creating users</li>\n<li>Deleting users</li>\n<li>Listing users</li>\n</ul>\n</li>\n<li>Database querying using order by, limits, and range queries</li>\n</ul>\n<p>To learn more, see <a href=\"https://docs.retool.com/data-sources/tutorials/connect/firebase\" target=\"_blank\" rel=\"noopener noreferrer\">the documentation</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"misc\">Misc<a href=\"https://docs.retool.com/changelog/cloud/2-26-19#misc\" class=\"hash-link\" aria-label=\"Direct link to Misc\" title=\"Direct link to Misc\">​</a></h2>\n<ul>\n<li>Added support for OAuth 2.0 Client Credentials authentication</li>\n<li>Fixed: the initial value of <code>CheckboxGroup</code> components is an empty list <code>[]</code> instead of an empty string <code>''</code></li>\n<li>Fixed: Previewing \"Querying JSON via SQL\" queries now correctly shows a preview of the result.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-26-19",
            "title": "Retool 2.26.19",
            "summary": "Supported Firebase APIs",
            "date_modified": "2018-08-18T07:41:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-26-15",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"s3-improvements\">S3 Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-26-15#s3-improvements\" class=\"hash-link\" aria-label=\"Direct link to S3 Improvements\" title=\"Direct link to S3 Improvements\">​</a></h2>\n<ul>\n<li>Downloading files from private S3 buckets. To learn more, see our <a href=\"https://docs.tryretool.com/v2.26.10/docs/s3-integration-1#section-searching-and-downloading-files-from-s3\" target=\"_blank\" rel=\"noopener noreferrer\">docs</a>.</li>\n<li>On premise users will now be able to use IAM Roles to authorize Retool's S3 integration</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-26-15#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>The Quickswitcher (you can bring it up with <code>Cmd+K</code> (OSX) or <code>Ctrl+K</code> (Windows/Linux) will open the correct page selected even if the mouse is hovered over a different page.</li>\n<li>The <code>BarChart</code> and <code>LineChart</code> components now start the Y-Axis at zero by default.</li>\n<li>Complex GraphQL variables (e.g. objects or arrays) are correctly handled by Retool.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-26-15",
            "title": "Retool 2.26.15",
            "summary": "S3 Improvements",
            "date_modified": "2018-08-16T05:38:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-26-12",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new\">New<a href=\"https://docs.retool.com/changelog/cloud/2-26-12#new\" class=\"hash-link\" aria-label=\"Direct link to New\" title=\"Direct link to New\">​</a></h2>\n<ul>\n<li><code>Table</code> components can now be configured to also show a button to clear the selected row. <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55342-YSsc77-9RgB-77-9ZUoYG--_vUEUOlFVZ--_ve-_ve-_ve-_ve-_vRbvv73vv70Q77-977-977-9\" alt=\"Screen Shot 2018-08-15 at 2.06.53 AM.png\" class=\"img_ev3q\"></li>\n<li>The <code>viewport</code> global variable has been added which has the current width and height of the application in pixels. You can use this to change your UI depending on how wide the screen is. <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55343-77-9G--_vTBqDO-_vWbvv73VunEt77-9fVMj77-977-977-977-977-977-977-9MO-_vUzYle-_vQ\" alt=\"Screen Shot 2018-08-15 at 2.05.58 AM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-26-12#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>The billing page has been updated to reflect the current plans.</li>\n<li><code>Select</code> and <code>Multiselect</code> components with a <code>Default Value</code> set to a value that is not present in the <code>values</code> property is correctly hidden.</li>\n<li>Modals (such as the Releases, History, and Share modals) now correctly close when clicking outside of them.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-26-12",
            "title": "Retool 2.26.12",
            "summary": "New",
            "date_modified": "2018-08-15T06:24:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-26-10",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"graphql-improvements\">GraphQL Improvements<a href=\"https://docs.retool.com/changelog/cloud/2-26-10#graphql-improvements\" class=\"hash-link\" aria-label=\"Direct link to GraphQL Improvements\" title=\"Direct link to GraphQL Improvements\">​</a></h2>\n<ul>\n<li>GraphQL linting, validation, and more added.</li>\n<li>GraphQL Variables are parsed and can be dynamically bound to Retool values. <img decoding=\"async\" loading=\"lazy\" src=\"https://d3399nw8s4ngfo.cloudfront.net/docs/changelog/55344-YzQo77-9XWx-74agKg1K77-9KMKc77-977-9Pe-_vRLvv73OrO-_vSfvv71k77-9QQ\" alt=\"Screen Shot 2018-08-13 at 9.20.56 PM.png\" class=\"img_ev3q\"></li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"helm\">Helm<a href=\"https://docs.retool.com/changelog/cloud/2-26-10#helm\" class=\"hash-link\" aria-label=\"Direct link to Helm\" title=\"Direct link to Helm\">​</a></h2>\n<ul>\n<li>For our on-prem users, we've added Helm charts to make it even easier to deploy Retool onto a Kubernetes cluster.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"fixed\">Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-26-10#fixed\" class=\"hash-link\" aria-label=\"Direct link to Fixed\" title=\"Direct link to Fixed\">​</a></h2>\n<ul>\n<li>The auto-provisioned toy databases now have the correct permissions assigned to the readonly and editor users.</li>\n<li><code>KeyValueMap</code> components with a large number of columns will hide the row editor to prevent page freezes.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-26-10",
            "title": "Retool 2.26.10",
            "summary": "GraphQL Improvements",
            "date_modified": "2018-08-14T04:18:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-26-9",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"new-mongodb-operations\">New MongoDB Operations<a href=\"https://docs.retool.com/changelog/cloud/2-26-9#new-mongodb-operations\" class=\"hash-link\" aria-label=\"Direct link to New MongoDB Operations\" title=\"Direct link to New MongoDB Operations\">​</a></h2>\n<ul>\n<li><code>insertOne</code> - allows for inserting one document into a collection</li>\n<li><code>updateOne</code> - allows for updating one document in a collection</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-26-9",
            "title": "Retool 2.26.9",
            "summary": "New MongoDB Operations",
            "date_modified": "2018-08-13T19:57:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/cloud/2-26-7",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"ssh-tunneling\">SSH Tunneling<a href=\"https://docs.retool.com/changelog/cloud/2-26-7#ssh-tunneling\" class=\"hash-link\" aria-label=\"Direct link to SSH Tunneling\" title=\"Direct link to SSH Tunneling\">​</a></h2>\n<ul>\n<li>We now support SSH Tunneling to <code>Postgresql</code> and <code>MySQL</code> databases in our cloud environment. To learn more, see the <a href=\"https://docs.retool.com/data-sources/guides/connections/ssh-tunnels\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a>.</li>\n<li>For our on-premise customers, Retool will auto-provision a RSA public-private key pair that you will be able to use to establish SSH Tunnels.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_loeA\" id=\"misc-and-fixed\">Misc and Fixed<a href=\"https://docs.retool.com/changelog/cloud/2-26-7#misc-and-fixed\" class=\"hash-link\" aria-label=\"Direct link to Misc and Fixed\" title=\"Direct link to Misc and Fixed\">​</a></h2>\n<ul>\n<li>Drag and drop performance has been improved by reducing number of unnecessary re-renders.</li>\n<li><code>Dropdowns</code> and <code>Multiselects</code> supports arrays of objects as their value.</li>\n<li>The navigation Sidebar has been modified to have higher contrast</li>\n<li>Fixed: The <code>JSON Schema Form</code> now correctly renders icons on buttons as well as support the <code>ui:readonly</code> and <code>ui:disabled</code> in the <code>ui:schema</code> option.</li>\n<li>Fixed: the <code>Athena</code> integration now correctly formats query previews.</li>\n</ul>",
            "url": "https://docs.retool.com/changelog/cloud/2-26-7",
            "title": "Retool 2.26.7",
            "summary": "SSH Tunneling",
            "date_modified": "2018-08-12T23:10:00.000Z",
            "tags": [
                "Retool Cloud"
            ]
        },
        {
            "id": "https://docs.retool.com/changelog/launch",
            "content_html": "<p>We're excited to publicly launch Retool. We usually update our changelogs every 2-3 days so be sure to check here often!</p>\n<p>We'll be following semantic versioning <a href=\"https://semver.org/\" target=\"_blank\" rel=\"noopener noreferrer\">https://semver.org</a> and we'll be careful to annotate any potentially breaking changes that we release.</p>\n<p>For our on-premise customers we'll also be posting the version numbers of all our releases.</p>",
            "url": "https://docs.retool.com/changelog/launch",
            "title": "Launch!",
            "summary": "We're excited to publicly launch Retool. We usually update our changelogs every 2-3 days so be sure to check here often!",
            "date_modified": "2018-08-12T23:05:00.000Z",
            "tags": []
        }
    ]
}