Skip to main content

Content History

GrowthThis feature is available with a Growth plan. EnterpriseThis feature is available with an Enterprise plan. 5.0.0This feature requires Strapi version 5.0.0 or later.
Page summary:

Content History stores previous document versions so editors can compare and restore earlier states from the Content Manager. This documentation explains how to browse and restore workflows for quick rollback of mistakes. Versions are only created for content edited in the Content Manager, and are kept for a maximum of 90 days.

The Content History feature, in the Content Manager, gives you the ability to browse and restore previous versions of documents created with the Content Manager.

IDENTITY CARD
Plan
CMS Growth or Enterprise plan
Role & permission
None
Activation
Available by default, if required plan
Environment
Available in both Development & Production environment

How versions are created

A history version is only created when a document is modified through the Content Manager in the admin panel. Content modified in any other way does not appear in the Content History of the document.

Content is modified throughVersion created
The Content Manager in the admin panelYes
The REST APINo
The GraphQL APINo
The Document Service API, for instance strapi.documents() called from application codeNo
Lifecycle hooksNo
Cron jobsNo
The strapi import and strapi transfer commands (see Data management)No
Caution

Content History is not a record of every change made to a document. Documents written programmatically, such as those created by a migration script or an integration calling the REST API, have no corresponding version, and a document can therefore differ from the most recent version listed in its Content History.

To trace the actions performed by users of the admin panel, use Audit Logs.

Usage

Path to use the feature: Content Manager
From the edit view of a content type: click (top right corner) then Content History.

Browsing Content History

With Content History, you can browse your content through:

  • The main view on the left, which lists the fields and their content for the version selected in the sidebar on the right.
  • The sidebar on the right, which lists the total number of versions available, and for each version:
    • the date and time when the version was created,
    • the user who created it,
    • and whether its status is Draft, Modified, or Published (see Draft & Publish for more information about document statuses).
Accessing the Content History of a documentAccessing the Content History of a document
Note

The main view of Content History clearly states whether a field was inexistent, deleted, or renamed in other versions of the content-type. Fields that are unknown for the selected version will be displayed under an Unknown fields heading below the other fields.

Restoring a previous version

You can choose to restore a previous version of a document. When restoring a version, the content of this version will override the content of the current draft version. The document switches to the Modified status and you will then be able to publish the content whenever you want (see Publishing a draft).

  1. Browse the Content History and select a version via the sidebar on the right.
  2. Click the Restore button.
  3. In the Confirmation window, click Restore.
Note

If the Internationalization (i18n) feature is enabled for the content-type, restoring a version with a unique field (i.e. a field whose content is the same for all locales) will restore the content of this field for all locales.

Restoring version with Content HistoryRestoring version with Content History

Version retention

Content History is not a permanent archive. Versions are deleted automatically: a job runs once a day, at midnight, and permanently deletes every version older than the retention period. Versions deleted by this job cannot be recovered from the Content History interface.

Regardless of the plan, versions are kept for a maximum of 90 days. This period is counted from the creation date of each version.

The retention period can be shortened, but never extended, with the history.retentionDays parameter of the /config/admin file. When both the license and the configuration file define a value, the lower of the two applies.

Was this page helpful?