# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.shadow.xyz/modify-contracts/versioning.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
