# Versioning

Every time you deploy new changes to your shadow fork, a new version will be automatically created with an auto-incrementing version number. This ensures that each version of your shadow fork is immutable, preserving the state and configuration at the time of deployment.

These immutable versions can be reliably used for exports, database syncs, or JSON-RPC calls.&#x20;

Immutable versioning allows you to safely deploy changes to your shadow fork and test them without disrupting previously running jobs.

For example, if you set up a recurring export on your shadow fork at version `v2`, that recurring export will *always* be run using the shadow changes that were deployed at `v2`.

If you deploy new changes to your shadow fork:

* The new shadow fork changes will be deployed at `v3`
* The original recurring export will continue to run at `v2`
* If you want recurring exports at `v3`, you’ll need to set up a new recurring export at `v3`
* You can cancel the recurring export at `v2` at any time

{% hint style="info" %}
Coming soon: We're working on functionality to roll back changes, allowing you to revert to previous versions if necessary.
{% endhint %}
