Skip to main content

Changelog

Updates, changes, and improvements at Retool.

Refer to the stable and edge release notes for detailed information about self-hosted releases.

2 posts tagged with "Performance"

View All Tags

Defer module evaluation

App builders can now defer the initialization of modules until they're viewable to improve the initial loading time of larger apps.

To enable this public beta, navigate to Beta > Settings and enable [Perf] Module deferred evaluation.

When an app is initially loaded, Retool initializes all code, components, and modules. However, a common use case for modules is including them in conditionally hidden frames, and these modules don't need to be loaded when they are still hidden.

Modules now have a new option in the Inspector: [Beta] Defer evaluation until visible. When a “deferred” module is hidden (either ‘hidden’ state is true, or it is in a hidden frame, or otherwise not being rendered), Retool defers the module's initialization. When the module is shown, Retool invokes the initialization procedure that would typically happen during app startup.

This gives builders more flexibility in how components are loaded in their apps, and large apps load more quickly.

App page save compaction

Retool made internal improvements that streamline the way we save and store your app saves, resulting in quicker app load times for users.

These improvements are automatically applied to customers on cloud instances. If your organization is self-hosted, run the following shell command in your backend container to remove old entries for apps that have been deleted and compact data from app edits older than a month:

./retool_backend --run-pagesave-compaction

Run this command as often as necssary to clean up your database.

You can also pass in an optional --concurrency parameter to specify the number of concurrent connections to the database in order to speed up the process. For example, --concurrency 4 opens 4 connections. The default value is 1.