The first tagged release: the point where there is something to roll back to. Contains the download-limit and quota fixes.
Fixed
?inline=1no longer hands out uncounted downloads. It served ANY type while only previews were meant to be free, so requesting a.zipinline was a full download that never touched the counter. Only types the browser can actually display count as previews now; anything else is a normal, counted download served as an attachment.- A cold
Rangerequest no longer rides for free.Range: bytes=1-returned everything but the first byte without counting. Free continuations now require that the same client already paid for a download of that id (sliding one-hour window) — resuming an interrupted transfer stays free, dodging the counter does not. - Concurrent upload inits could each reserve the whole remaining quota through a stale usage cache: five 100 MB uploads fitted into a 100 MB store. Check and reservation now happen under the per-key lock.
Container image
docker pull ghcr.io/ulzuhan/docdrop:1.0.1
Pin :1.0.1 if you would rather decide when to move, :1.0 / :1 to take patches automatically, :latest for the most recent release.
Known quirk of this release only: its images were built before the tag-ownership fix that followed it, so :latest and :1.0.1 are two independent builds of the same commit with different digests. From the next release onwards they are the same digest by construction.
Verified before tagging: 18/18 protocol tests, lint and tsc clean, the inline and Range bypasses re-tested against a running server with the quota forced down to 100 MB.