[@vercel/blob] Add ttlDays option - #1108
Open
falcoagustin wants to merge 2 commits into
Open
falcoagustin wants to merge 2 commits into
falcoagustin wants to merge 2 commits into
Conversation
Sent as x-ttl-days on put, copy, rename and createMultipartUpload, embedded in client tokens and signed into presigned URLs. head() returns expiresAt when a TTL applies. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🦋 Changeset detectedLatest commit: b041c57 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
falcoagustin
requested review from
cantemizyurek,
elliotdauber and
kldavis4
September 19, 2026 10:57
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
There is no way to make a blob expire. Temp uploads, exports and previews stay until someone deletes them.
Design: Blob TTL for objects. Server side: vercel/api#92860.
Solution
Adds
ttlDays(integer 1 to 30) toput,copy,renameandcreateMultipartUpload. It is sent as thex-ttl-daysheader, embedded in client tokens fromgenerateClientTokenFromReadWriteTokenandhandleUpload, and signed into presigned put URLs asvercel-blob-ttl-days. Browser-sideuploadanduploadPresignedreject it, same ascacheControlMaxAge, so only the server decides the TTL.head()returnsexpiresAtas aDatewhen the blob has a TTL.Why: Blob had no expiry. This lets a write say how long the object should live, and the API tags it so S3 lifecycle rules delete it. Copies and renames never inherit the source TTL, so promoting a temp upload to its final path is just a copy or rename without
ttlDays.Requires the API change to be deployed and the
blob-ttlteam flag to be on; otherwise the API returns 400.🤖 Generated with Claude Code