# Versioning

#### Contract versions

Blockchain is immutable, therefore the versioning is not supported. There is always only **one version** on the blockchain.&#x20;

#### Upgradable Proxies

Even by upgrading the implementation for a contract. The previous implementation gets obsolete, so you have to reinstall the contract to regenerate the code.

#### Git versioning of the `0xweb/` folder

Unlike `node_modules` we suggest adding `0xweb` folder with the generated classes to the project's repository. You can track later the changes made to the dAPPs (*in case of proxies*).&#x20;

But you can also add `0xweb` to `.gitignore`, as you can reinstall all contracts listed in `0xweb.json` file any time later.
