Releases
[Team plan, Business plan, Enterprise plan]
Releases are used to save versions of an app at a certain point in time within the Retool UI. Documentation can be found here for more detailed context.
Quick tip:
If you find that your app is in a weird state or changes have been made that you need to undo, you can navigate to a previous version of your app using its history. This can be achieved from the UI or by appending _historyOffset to your apps URL until you get to a desired app state. The value of which being the number of steps back in your app's page save history you want to go.
Example URL:
- https://<INSTANCE_BASE_DOMAIN>/editor/<APP_UUID>?_historyOffset=5
You can also do this through the UI by clicking into the pages history and selecting to restore the app back to that point in time:
If you don't have Releases enabled or are not editing via Source Control, making changes to the canvas after navigating to the app using _historyOffset can change the live version of the app. You can always go back in your history if you do this accidentally, though.
Source Control
[Enterprise]
Used to manage app building similar to how typical software development is done using git versioning, branches, and a remote repo for more robust development. Documentation can be found here for more context.
Main differences between the two:
- Source Control allows you to have more insight into changes across the instance in one central place.
- Source Control offers you the ability to deploy apps across instances with ease (configure another instance with the same Source Control configuration pointing to the same repo).
- Releases are specific to the app and only exist within the context of the app.
In the end Releases and Source Control offer the ability to save a version of an app, navigate back to previous versions, and view changes made between versions. They both protect the currently live version of your app from any changes being made that may accidentally break it. Source Control being the more robust and scalable option as compared to Releases.
Can I use them together?
Yes! Using them together can offer an additional layer of security to your published app(s). When using these in tandem, you will edit your app via Source Control and then merge your changes. Once you have merged your changes, you will need to publish a new Release of the app in order for those changes to be realized on the live version of the app. To do this, you will need to access the app in view mode and then proceed to publish a new version here, like so:
Source Control updates not showing in the app?
One common point of confusion is that Source Control will be enabled on an app that is already using Releases. This can make it seem as if no changes being made via Source Control are being applied to the app after being merged.
To resolve this, you can do one of two things:
-
Publish a new Release:
To do this, you would need to navigate to the app outside of edit mode and then select to publish a new version (see above GIF). -
Disable Releases:
To do this, you will also navigate to the app outside of edit mode and will choose to un-publish the currently live version. Doing this will make it so that any time a new branch is merged with main in Source Control, those changes will be visible immediately: