Skip to content

Update dependency @vercel/blob to v2.3.3#773

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/vercel-blob-2.x-lockfile
Open

Update dependency @vercel/blob to v2.3.3#773
renovate[bot] wants to merge 1 commit intomainfrom
renovate/vercel-blob-2.x-lockfile

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Apr 18, 2026

This PR contains the following updates:

Package Change Age Confidence
@vercel/blob (source) 2.0.12.3.3 age confidence

Release Notes

vercel/storage (@​vercel/blob)

v2.3.3

Compare Source

Patch Changes
  • d2ea7cf: Enforce maximumSizeInBytes client-side for multipart uploads. Bodies with a known size (Blob, File, Buffer) are now checked before the upload starts, avoiding wasted API calls.
  • 949e994: Fix multipart upload hanging forever on empty streams, and fix createChunkTransformStream bypassing backpressure by removing incorrect queueMicrotask wrapping.

v2.3.2

Compare Source

Patch Changes
  • c9d9a1a: Apply ifMatch/allowOverwrite validation to handleUpload and generateClientTokenFromReadWriteToken. When ifMatch is set via onBeforeGenerateToken or direct token generation, allowOverwrite is now implicitly enabled. Explicitly passing allowOverwrite: false with ifMatch throws a clear error.
  • 6dcecb8: Make ifMatch imply allowOverwrite: true on put(). Previously, using ifMatch without explicitly setting allowOverwrite: true would cause the server to send conflicting conditional headers to S3, resulting in 500 errors. Now the SDK implicitly enables allowOverwrite when ifMatch is set, and throws a clear error if allowOverwrite: false is explicitly combined with ifMatch.

v2.3.1

Compare Source

Patch Changes
  • a9a733a: fix: validate URL domain in get() to prevent sending the token to arbitrary hosts

v2.3.0

Compare Source

Minor Changes
  • 04ca1f0: Add private storage support (beta), a new get() method, and conditional gets

    Private storage (beta)

    You can now upload and read private blobs by setting access: 'private' on put() and get(). Private blobs require authentication to access — they are not publicly accessible via their URL.

    New get() method

    Fetch blob content by URL or pathname. Returns a ReadableStream along with blob metadata (url, pathname, contentType, size, etag, etc.).

    Conditional gets with ifNoneMatch

    Pass an ifNoneMatch option to get() with a previously received ETag. When the blob hasn't changed, the response returns statusCode: 304 with stream: null, avoiding unnecessary re-downloads.

    Example

    import { put, get } from "@​vercel/blob";
    
    // Upload a private blob
    const blob = await put("user123/avatar.png", file, { access: "private" });
    
    // Read it back
    const response = await get(blob.pathname, { access: "private" });
    // response.stream — ReadableStream of the blob content
    // response.blob — metadata (url, pathname, contentType, size, etag, ...)
    
    // Conditional get — skip download if unchanged
    const cached = await get(blob.pathname, {
      access: "private",
      ifNoneMatch: response.blob.etag,
    });
    if (cached.statusCode === 304) {
      // Blob hasn't changed, reuse previous data
    }

    Learn more: https://vercel.com/docs/vercel-blob/private-storage

v2.2.0

Compare Source

Minor Changes
  • 2b1cbbc: Add ifMatch option to del() for conditional deletes (optimistic concurrency control). Only works for single-URL deletes.

v2.1.0

Compare Source

Minor Changes
  • 6c68442: Add ETag support for conditional writes (optimistic concurrency control)

    • Return etag in all blob responses (put, copy, head, list, multipart)
    • Accept ifMatch option in put/copy/createMultipartUpload for conditional writes
    • Add BlobPreconditionFailedError for ETag mismatch (HTTP 412)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants