---
description: Manage and maintain multiple versions of your Processes, Screens and Scripts.
---

# Versioning Package

## Overview

Use the Versioning package to manage and maintain multiple versions of your Processes, Scripts and Screens. A version is a set of changes made to a ProcessMaker Platform asset at a particular time by a Process Designer. Versioning maintains a record of all named and unnamed changes to that asset. Versioning information is useful both for auditing and historical data maintenance purposes. The saved versions display in a tabular format when viewing version history for an asset from where they can be edited and/or marked as the `Current Version` according to your business needs.&#x20;

The latest saved version of a ProcessMaker Platform asset is automatically designated as the current version and is used in new Requests. Version changes are not reflected in Requests which were in-progress or already completed when that asset version changed.

The Versioning package has the following attributes:

* When the Versioning package is installed, versioning is available for Processes, Scripts and Screens.&#x20;
* Every new version is saved with the following information:
  * **Date**: The date and time when a Process Designer saved that version.&#x20;
  * **Name**: The name of this version as entered by a Process Designer.
  * **Description**: A description of the changes in this version as entered by a Process Designer.
  * **Saved by**: The name of the Process Designer who saved this version.
* Although multiple versions of each ProcessMaker Platform asset can be saved, only one version can be marked as the current version.&#x20;
* Any existing version of a ProcessMaker Platform asset can become the current version when configuring that asset.&#x20;

See the following topics regarding how to use versioning in Processes:

* **Save a version**: [Save a version](broken-reference) of a Process in the Process Modeler.
* **View and configure Version History:** [View and configure version history](broken-reference) of a Process in Process Modeler.

See the following topics regarding how to use versioning in Scripts:

* **Save a version**: [Save a version](broken-reference) of a Script in the Script Editor.
* **View and configure Version History:** [View and configure version history](broken-reference) of a Script in Script Editor.

See the following topics regarding how to use versioning in Screens:

* **Save a version**: [Save a version](broken-reference) of a Screen in the Screen Builder.
* **View and configure Version History:** [View and configure version history](broken-reference) of a Screen in Screen Builder.
