File Versioning
Definition
With versioning switched on, writing to a name that already exists does not destroy anything. The store keeps the old bytes, writes the new ones, and marks the new copy as current, giving each version its own identifier and timestamp. Older versions stay individually addressable, so a reader who knows the identifier can fetch a copy from three weeks ago while everyone else gets today's. Deleting behaves the same way: it writes a marker that hides the file rather than removing the bytes underneath. In object storage this is a switch on the storage bucket, not a per-file setting. Retention is normally bounded — the last N versions, or anything from the last 30 or 90 days — because each version occupies its own space and is billed accordingly.
Why It Matters
Without a history, a bad overwrite is final. Someone republishes a site at five on a Friday with a half-finished build, the good copy existed only in a folder on a laptop that has since been reimaged, and the weekend is spent rebuilding from memory. With a history the previous copy is a click away, which is the whole basis of instant rollback. The cost is worth knowing in advance: a 50 MB site republished twice a day accumulates roughly 3 GB of history in a month, not 50 MB, so an expiry rule is part of turning versioning on rather than an optimisation to consider later.
How It Works
Enable versioning on the bucket and every PUT to an existing key returns a new version identifier in a response header. A plain GET serves whatever is current; a GET carrying a version identifier serves that specific copy. Listing the versions of a key returns them newest first with sizes and timestamps, which is what a history panel is built from. A delete inserts a delete marker at the top of the stack, so the file appears gone while every earlier version is still there — remove the marker and it comes back. Lifecycle rules do the housekeeping, expiring noncurrent versions after a set number of days so old copies do not pile up unnoticed. 99helpers records one version per publish, with the byte count and the time it went live.
Real-World Example
A startup keeps its price list at acme-pricing.99helpers.site. Someone publishes a draft with the enterprise tier still showing a placeholder figure, and it stays up for forty minutes before anyone notices. The history panel lists 14 versions; the one from that morning is still intact, so the correct page is back without anyone touching the original source files or hunting for the last good export.
Common Mistakes
- ✕Switching versioning on and never adding an expiry rule — storage grows with every publish and the bill climbs quietly for months
- ✕Believing a delete frees space, when it only writes a marker and every earlier version is still stored and still charged
- ✕Treating version history as a backup — it sits in the same bucket, so one bucket-level accident takes the history with the file
- ✕Publishing under a slightly different name each time, which creates unrelated objects and leaves you with no history at all
Related Terms
Instant Rollback
Instant rollback is returning a published file or site to an earlier version in a single action, with the change live straight away. Nothing is rebuilt and nothing is re-uploaded, because the earlier copy is already stored.
Object Storage
Object storage keeps each file as a self-contained object — its bytes, its metadata and a key that names it — inside a flat container reached over HTTP. There is no directory tree and no file handle to open, seek and write.
Storage Bucket
A storage bucket is the top-level container in an object storage system: a named, region-bound namespace that holds objects and carries the settings applied to all of them.
Storage Quota
A storage quota is the total volume of data your account may hold at any one moment. It is a standing measurement of what sits on disk, and downloading a file does not change it.
Atomic Deployment
An atomic deployment switches a site from the old version to the new one in a single step, so visitors never see a mixture of the two. Either every file is new, or every file is still the old one.
Put a file online in seconds
Drop in a document, an image, a page or a whole static website and share the link — free, with no build step and no server to set up.
Host a file free →