Bucket versioning
Turn on S3 versioning, recover deleted files, restore old versions, and auto-delete old versions in BucketMate
Versioning keeps the previous version of a file every time it changes or is deleted, so you can recover it later. BucketMate lets you turn versioning on, browse versions, and clean up old versions.
Bucket versioning requires Pro. This includes turning versioning on, browsing versions, restoring old versions, recovering deleted files, and cleaning up old versions.
Turn versioning on or suspend it
- Right-click a bucket in the sidebar.
- Choose Versioning > Turn on… or Versioning > Suspend….
- Confirm the change.
Once versioning is on, it can only be suspended, not fully turned off. Suspending stops new versions from being created. Existing versions are kept until you delete them.
If Versioning shows Not available, your provider or server doesn't support versioning through the S3 API. See Provider support.
Browse and recover versions
Open a bucket and choose Show versions to switch the file table into versions mode.
- All versions lists every file with its older versions.
- Deleted files lists files whose latest version is a delete marker.
- Recover all brings back every deleted file in the current folder and its subfolders.
- From a version's context menu you can restore it as the latest version, download it, or delete it.
Restoring copies the version you picked into a new latest version. The current version stays in history.
Delete old versions
Old versions use storage, and your provider bills for it. You can clean them up in two ways.
Delete old versions now
- Open Show versions.
- Choose Clean up > Delete old versions here….
- Pick how many old versions to keep, then confirm.
BucketMate deletes the versions directly. This can't be undone.
Auto-delete old versions
- Right-click a bucket and choose Versioning > Auto-delete old versions…, or choose Clean up > Auto-delete old versions… in versions mode.
- Pick when old versions are deleted and how many to always keep.
- Choose Turn on.
Auto-delete saves a lifecycle rule on the bucket. Your provider runs the rule on its own servers, so BucketMate doesn't need to stay open. Other lifecycle rules on the bucket stay as they are.
Things to know:
- Providers run lifecycle rules on their own schedule. AWS usually deletes expired versions within a day.
- Deleted files are gone for good once their old versions expire.
- Some S3-compatible servers save the rule but never run it. BucketMate reads the rule back after saving and shows an error if the server didn't keep it.
- If old versions are still there well after the time you picked, versions mode shows a warning. This usually means your server doesn't apply lifecycle rules for old versions.
Provider support
| Provider | Versioning | Auto-delete old versions |
|---|---|---|
| AWS S3 | Yes | Yes |
| MinIO | Yes | Yes |
| Wasabi | Yes | Yes, on buckets that support lifecycle rules |
| Backblaze B2 | Buckets are always versioned | Yes, but Always keep isn't supported |
| DigitalOcean Spaces | Yes | Yes |
| SeaweedFS | Yes | Depends on the version. Older releases accept the rule but don't run it |
| Cloudflare R2 | No | No |
| Google Cloud Storage | Not available in BucketMate | Not available in BucketMate |
| Supabase Storage | No | No |
| Hetzner Object Storage | Yes | Yes |
| Tigris | BucketMate checks each bucket | Depends on the bucket |
Provider features change over time. If auto-delete doesn't seem to work, check your provider's docs for lifecycle rules with NoncurrentVersionExpiration.
Limitations
- Versioning can be suspended but not fully turned off.
- Object Lock has to be turned on when a bucket is created, and it requires versioning. BucketMate doesn't create Object Lock buckets.
- Versions mode loads versions page by page. Counts in large buckets show a
+until every page is loaded. - Self-hosted servers such as MinIO and SeaweedFS may need extra setup for versioning or lifecycle rules. Check your server's docs.