Skip to main content

Bucket versioning

Versioning in our S3-compatible API is designed to maintain multiple variants of objects within a bucket, providing enhanced data protection and recovery capabilities.

Each version serves as a complete snapshot of an object at the time it was stored, enabling you to preserve, retrieve, and restore every version of every object in your bucket.

This feature is designed for robust data protection and compliance. It helps protect against both unintended user actions and application failures by maintaining a secure history of changes. Unlike traditional version control systems, our S3-compatible versioning focuses on data integrity and recovery, making it ideal for scenarios requiring audit trails, compliance requirements, or the ability to recover from accidental deletions or modifications.

info

When versioning is enabled, modifying an object creates a new version rather than replacing the existing one. The original object remains intact and accessible, while the new version becomes the current one.

danger

Versioning stores multiple copies of the same object, which means it will increase your storage usage and associated costs. Each version of an object is billed at the same rate as the current version.


For example, if you modify a 1GB file 10 times with versioning enabled, you will be billed for storing 10GB (1GB per version).

Enabling versioning on a bucket at creation time

When creating a bucket, you can check the "Versioned bucket" option in the dialog.

Create bucket modal

Check status an existing bucket

To check the versioning status of a bucket, navigate inside a bucket to see it's content, For this example we will use the previously created new-versioned-bucket.

Bucket content

As you can see on the top-left of the Explorer's view, right below the bucket's name, you can see that the item count is 0 versioned items.

We created this bucket with versioning enabled, so the item count is marked as versioned, but for a bucket does not have versioning enabled, the item count will not mention versioning.

So any bucket that does not have versioning enabled will have an item count of 0 items.

Enable or suspend versioning on an existing bucket from the buckets listing

To enable versioning on an existing bucket, you can click on the menu icon of a bucket's row, wait for the versioning status to be fetched, and then click on the Enable versioning menu item.

Enable versioning on an existing bucket

If the menu item states Suspend versioning, it means that versioning is currently enabled, and you can click on it to disable it.

Suspend versioning on an existing bucket

info

When versioning is suspended, the bucket will no longer create new versions of objects when modified. However, existing versions will remain unchanged and accessible.

When suspending the versioning, the Explorer will prompt you to confirm the action, with the necessary information to understand the consequences of the action.

Suspend versioning confirmation modal

Enable or suspend versioning on an existing bucket from the bucket's view

To perfom the same actions from the bucket's view, you can use the menu next to the bucket's name title.

Bucket menu

Here you can see the same options as when you use the buckets listing, but this time you can perform the actions directly from the bucket's view.

The actions to suspend versioning are the same as mentioned above.