Skip to main content

Version Control

Last updated 16/10/2025

How Versioning Works in Five

Out of the box, Five provides version control. Version control is a method that helps track, manage, and organize changes made to your application you are developing in Five. It allows multiple developers to work on the same project while keeping a detailed history of every change, including what was changed, who made the change, and when. If a mistake is made, you can revert to an earlier version of a record, effectively restoring it to a previous state.

You can see these changes in the History button located in the form app bar for each record. Five also has inbuilt tools, such as the Audit Trail tool, which you can use to search and view changes to your application.

For every table you create in Five, a history table is automatically created to store changes and previous states can be restored. Your table will hold the current version of the record, while the history table will hold all previous versions. Five has default settings configured for your history tables.

Five's Default Settings

On your application record, you have access to the Versioning tab which will display the Versioning form. This is where you can see the default values set by Five, all fields are editable, however, there is nothing you need to edit here if you wish to keep this feature and just use the defaults set by Five.


Versioning form
Figure 1 - Versioning form

The table below explains the fields on the Versioning form.


FieldDefault SettingDescription
Enable VersioningtrueThis will allow for a full set of history tables to be created.
History Table Prefix /SuffixSuffix: _At least one of these fields is mandatory for versioning so Five can duplicate your table schema with the table name and the prefix, suffix, or both and store all versions of a record in the history table. For example, if you had a table called Customer, by using the underscore suffix, there will now be two versions of the table in the database shown: Customer and Customer_. The Customer table will be the main table and hold the latest version of each record, while the Customer_ table will be the history table and will hold all previous versions of the record.
Version Key Field DefaultiVersionKeyThis field will be the name of the column in the history table that will hold the primary key (Globally Unique Identifier, GUID) to uniquely identify each version of the record.
Last User Field DefaultiLastUserKeyThis field will be the name of the column in the history table that stores the GUID associated with the user who last performed changes, and the user’s name will be available in the history timeline.
Record Action Field DefaultRecordActionThis field will be the name of the column in the history table that stores the action that was performed: C – Create, U – Update, or D - Delete.
Record Date Field DefaultRecordDateThis field will be the name of the column in the history table that stores the timestamp of when the modifications occurred and will be available in the history timeline displayed as date and time. Database format - RFC 3339 (2019-10-12 07:20:50.52z)

Disable Versioning

caution
If you disable versioning, all history will be lost.

1. Select the Application record in the list and click the Versioning tab.


Versioning tab
Figure 2 - Versioning tab

2. Either click the Edit button in the form app bar or click directly on the Enable Versioning switch.


Edit button
Figure 3 - Edit button

4. Click the Enable Versioning switch.


Enable Versioning switch
Figure 4 - Enable Versioning switch

5. Click the Save button in the form app bar.


Save button
Figure 5 - Save button

Restore to a Previous Version

note
The History button will remain disabled if there have been no changes made to a record.

1. Select a record in the list and click the History button in the form app bar.


History button
Figure 6 - History button

2. Click a previous point on the timeline.

info
In the image below the title is different at the selected point on the history timeline, and we can see the user 'jo' made this change with the date and time the change was made.

History timeline
Figure 7 - History timeline

4. Click the Edit button in the form app bar.

info
You can either click the Edit button followed by the Save button to restore a previous state, or click the Edit button and make changes to a previous state before saving the record. If you are only viewing the changes, you can remove the timeline by clicking the red clock.

Edit button
Figure 8 - Edit button

5. Click the Save button in the form app bar.


Save button
Figure 9 - Save button

Versioning in Your Application

By default, with Versioning on in Five, versioning will also be available in your application through the History button in the form app bar. Users wil only have access to the permissions granted in their role.