pimcore can version all your content (documents, assets and objects). You can have as much versions as you want. On each change a new version of the element is created.
Settings
You can configure the versioning behavior in the system settings (Settings -> System )
Turn off versioning for a process (since 1.4.2)
Sometimes it is very useful to just deactivate versioning for a process. For example for importers or synchronisations with 3rd party systems.
You can globally deactivate and activate versioning with the following PHP code directly in your scripts:
Version::disable(); // to disable versioning for the current process Version::enable(); // to enable
Note: With this commands you only deactivate/activate the versioning for the current PHP process. This setting is not saved, and only affects changes on elements which are modified within this process!