--- title: "Use object versioning" description: "Turn object versioning on or off for a TIR Object Storage bucket, and view, download, or delete the versions of an object." content_type: "how-to" product: "tir-object-storage" platform: "TIR" url: "/tir/tir-object-storage/how-to/use-object-versioning/" topic: ["protect-and-manage"] --- # Use object versioning Keep earlier versions of an object when you upload a new one under the same name. With versioning on, each version has its own version ID, size, and time, and can be downloaded or deleted on its own. ## Before you begin - A bucket in the **Ready** state. You can change versioning only while the bucket is **Ready**. - Permission to update datasets in the project. A Member gets it through a policy that allows updating datasets. - Object lock off on the bucket, if you want to turn versioning off. A bucket with object lock keeps versioning on for good, so its **Actions** menu leaves out **Object Versioning**. - A plan for the bill: every stored version counts toward it. A file overwritten ten times with versioning on leaves ten versions on the bill. Pair versioning with a [lifecycle rule](/tir/tir-object-storage/how-to/add-a-lifecycle-rule/) so old versions stay under control. ## Turn versioning on 1. In the list, open the **Actions** menu of the bucket and select **Object Versioning**. It tells you whether versioning is enabled or disabled now. 2. Versioning applies to every object from that moment on, and objects already stored stay as they are. 3. Tick **I understand and I want to enable object versioning**, then select **Save**. You can also turn versioning on when you create a bucket, with **Enable Object Versioning**. ## Turn versioning off Turning it off suspends versioning. A new object with the same name then replaces the old one instead of adding a version. Existing versions stay available as they are and keep being stored and billed. Versioning stays on while the bucket has an active replication rule. Open **Object Versioning** in the bucket's **Actions** menu, tick the acknowledgement box for disabling, and select **Save**. In the list, a bucket's **Versioning** is **Enabled** or **Disabled**. **Disabled** covers a bucket whose versioning was suspended as well as one that has had versioning off from the start. ## View and manage the versions of an object 1. On the **Data Objects** tab, select **View Versions** on the object's row. The button is on objects, not folders. 2. Each version has its ID, whether it is the latest, its size, and when it was last changed. A delete marker is labelled **(Delete marker)** and has no size. 3. A version's **Actions** are **Download**, **Generate Presigned URL**, **Lock Settings**, and **Delete**. **Lock Settings** is there only in a bucket with object lock, on every version except a delete marker. **Delete** asks "Are you sure you want to delete the selected version?" and warns that deleting permanently removes it. On a bucket with object lock, it also says a version under legal hold can be deleted only after the hold is removed. ## Check the versions The **Object Versioning** dialog shows versioning as enabled or disabled, and uploading an object under an existing name adds a row to **Object Versions**. For locks on a version, see [Lock one object version or place a legal hold](/tir/tir-object-storage/how-to/lock-an-object-version/). If **Save** stays unavailable, see [Troubleshooting TIR Object Storage](/tir/tir-object-storage/troubleshooting/tir-object-storage/).