Storage Updates & Release Notes

Follow

24 updates curated from 1 source by the Releasebot Team. Last updated: Aug 11, 2026

Get this feed:
  • Aug 10, 2026
    • Date parsed from source:
      Aug 10, 2026
    • First seen by Releasebot:
      Aug 11, 2026
    Vercel logo

    Storage by Vercel

    Storage adds putImage for optimized image uploads through Vercel Image Optimization, storing only the optimized output from image content or a public image URL. It also deprecates optimizeImage on put and putFromUrl in favor of putImage while keeping both working for now.

    Minor Changes

    8b49164: Add putImage(pathname, bodyOrUrl, options): optimizes an image through Vercel Image Optimization and stores only the optimized output. The source can be the image content itself (string, File, Blob, Buffer or Stream) or a URL instance pointing at a public http(s) image, which is fetched server-side. Options mirror put (access, addRandomSuffix, allowOverwrite, cacheControlMaxAge, ifMatch) plus the required optimizeImage parameters (width, quality, format); contentType is not accepted since the stored content type always comes from the optimizer output. Deprecates the optimizeImage option on put and the putFromUrl function in favor of putImage; both keep working.

    Original source
  • Aug 6, 2026
    • Date parsed from source:
      Aug 6, 2026
    • First seen by Releasebot:
      Aug 7, 2026
    Vercel logo

    Storage by Vercel

    Storage renames the internal @vercel/edge-config-fs package to @vercel/global-config-fs.

    Patch Changes

    59b9bf5: Rename the internal @vercel/edge-config-fs package to @vercel/global-config-fs

    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from Vercel and hundreds of other software products.

    Create account
  • Aug 6, 2026
    • Date parsed from source:
      Aug 6, 2026
    • First seen by Releasebot:
      Aug 7, 2026
    Vercel logo

    Storage by Vercel

    Storage renames the internal @vercel/edge-config-fs package to @vercel/global-config-fs.

    Patch Changes

    59b9bf5: Rename the internal @vercel/edge-config-fs package to @vercel/global-config-fs

    Original source
  • Aug 6, 2026
    • Date parsed from source:
      Aug 6, 2026
    • First seen by Releasebot:
      Aug 7, 2026
    Vercel logo

    Storage by Vercel

    Storage adds image optimization support for put and putFromUrl with Vercel Image Optimization before storing optimized output.

    Minor Changes

    ad5a134: Add image optimization support: a new optimizeImage option on put and a new putFromUrl method. Both optimize the image through Vercel Image Optimization before storing it (only the optimized output is stored) and require OIDC authentication.

    const result = await put("avatars/foo.webp", body, {
    access: "public",
    optimizeImage: { width: 128, quality: 75, format: "webp" },
    });
    
    const result = await putFromUrl(
    "avatars/foo.webp",
    "https://example.com/photo.jpg",
    {
    access: "public",
    optimizeImage: { width: 128, quality: 75, format: "webp" },
    }
    );
    
    Original source
  • Jul 28, 2026
    • Date parsed from source:
      Jul 28, 2026
    • First seen by Releasebot:
      Jul 29, 2026
    Vercel logo

    Storage by Vercel

    Storage updates version packages.

    Version Packages (#1089)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

    Original source
  • Similar to Storage with recent updates:

  • Jul 27, 2026
    • Date parsed from source:
      Jul 27, 2026
    • First seen by Releasebot:
      Jul 28, 2026
    Vercel logo

    Storage by Vercel

    Storage introduces @vercel/global-config as the new name for @vercel/edge-config, with a drop-in replacement that keeps existing exports intact while adding aliased types and broader connection string support.

    Minor Changes

    5c2d8bf: Introduce @vercel/global-config as the new name for @vercel/edge-config.

    The package is a drop-in replacement: all existing exports are unchanged, and the exported types are additionally aliased as GlobalConfigClient, GlobalConfigItems, GlobalConfigValue and EmbeddedGlobalConfig.

    The default client now reads the connection string from process.env.GLOBAL_CONFIG, falling back to process.env.EDGE_CONFIG if it is not defined. The same applies to GLOBAL_CONFIG_TRACE_VERBOSE and GLOBAL_CONFIG_DISABLE_DEVELOPMENT_SWR.

    Connection strings using https://global-config.vercel.com are now supported, in addition to the existing https://edge-config.vercel.com and edge-config: formats.

    Original source
  • Jul 8, 2026
    • Date parsed from source:
      Jul 8, 2026
    • First seen by Releasebot:
      Jul 9, 2026
    Vercel logo

    Storage by Vercel

    Storage adds useCache for presignUrl get operations to bypass CDN cache and read latest private blob content.

    Patch Changes

    d0118c4: Add a useCache option to presignUrl() for get operations. When useCache: false, the presigned URL includes a cache=0 query param so fetches bypass the CDN cache and read the latest content directly from origin storage. Like get(), the bypass only applies to private blobs. The param is not part of the signed payload, so holders of a presigned URL can also add or remove it manually.

    Original source
  • Jul 7, 2026
    • Date parsed from source:
      Jul 7, 2026
    • First seen by Releasebot:
      Jul 8, 2026
    Vercel logo

    Storage by Vercel

    Storage adds blob rename support and restores get() cache control. Rename can move a blob to a new pathname, with overwrite and random-suffix options, while get(useCache: false) now bypasses CDN cache to serve the latest content from origin storage.

    Minor Changes

    c4976ba: Add rename(fromUrlOrPathname, toPathname, options) to move a blob to another pathname. The blob is copied to the new pathname and the source is deleted afterwards; if the copy fails the source is left untouched. By default renaming onto an existing blob throws — pass allowOverwrite: true to replace it, or addRandomSuffix: true to generate a unique destination. Requires a read-write token (client tokens are not supported).

    89d94e9: Restore the useCache option on get(). Passing useCache: false bypasses the CDN cache and serves the blob directly from origin storage (via the cache=0 query parameter), guaranteeing the latest content at the cost of slower reads. Defaults to true.

    Original source
  • Jun 25, 2026
    • Date parsed from source:
      Jun 25, 2026
    • First seen by Releasebot:
      Jun 26, 2026
    Vercel logo

    Storage by Vercel

    Storage improves token handling and deprecates the get() useCache option, which is now ignored as reads continue through the standard caching path.

    Minor Changes

    31a8b8f: Deprecate the useCache option on get(). The backend no longer honors the cache=0 query parameter it produced, so the option is now a no-op — reads always go through the standard caching path. The option is still accepted (and ignored) to avoid breaking existing callers, and will be removed in a future major version.

    Patch Changes

    9ac2586: Read the Vercel OIDC token via @vercel/oidc's refreshing getVercelOidcToken instead of the non-refreshing getVercelOidcTokenSync. This refreshes an expired token in development environments. In production with a valid token, behavior is unchanged. If a refresh is needed but fails, the token is treated as absent so callers still fall back to BLOB_READ_WRITE_TOKEN.

    Original source
  • Jun 18, 2026
    • Date parsed from source:
      Jun 18, 2026
    • First seen by Releasebot:
      Jun 18, 2026
    Vercel logo

    Storage by Vercel

    Storage patches Vercel OIDC token handling with an explicit @vercel/oidc dependency and a blank-header fix.

    Patch Changes

    b7027de: Read the Vercel OIDC token via the @vercel/oidc package (getVercelOidcTokenSync) instead of an inlined copy. This makes the dependency explicit and discoverable, and matches how other Vercel packages consume OIDC. Behavior is unchanged except for one edge case: a blank x-vercel-oidc-token request-context header now resolves to no token rather than falling back to VERCEL_OIDC_TOKEN.

    Original source
  • May 18, 2026
    • Date parsed from source:
      May 18, 2026
    • First seen by Releasebot:
      May 19, 2026
    Vercel logo

    Storage by Vercel

    Storage adds Vercel OIDC auth and presigned URLs.

    Minor Changes

    20eeaff: Add Vercel OIDC auth and presigned URLs

    Original source
  • Apr 2, 2026
    • Date parsed from source:
      Apr 2, 2026
    • First seen by Releasebot:
      Apr 2, 2026
    Vercel logo

    Storage by Vercel

    Storage improves multipart uploads with client-side size checks and fixes for empty stream hangs and backpressure handling.

    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.

    Original source
  • Mar 27, 2026
    • Date parsed from source:
      Mar 27, 2026
    • First seen by Releasebot:
      Mar 27, 2026
    Vercel logo

    Storage by Vercel

    Storage adds clearer ifMatch and allowOverwrite handling across uploads and put(), preventing conflicting S3 conditional headers and replacing 500 errors with explicit validation.

    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.
    Original source
  • Mar 4, 2026
    • Date parsed from source:
      Mar 4, 2026
    • First seen by Releasebot:
      Mar 4, 2026
    Vercel logo

    Storage by Vercel

    Patch Changes

    • a9a733a: fix: validate URL domain in get() to prevent sending the token to arbitrary hosts
    Original source
  • Feb 19, 2026
    • Date parsed from source:
      Feb 19, 2026
    • First seen by Releasebot:
      Feb 23, 2026
    Vercel logo

    Storage by Vercel

    Private storage enters beta with a new get() API. You can upload and read private blobs by setting access: 'private', and use conditional gets with etag to avoid re-downloads. Returns a stream and blob metadata for easy streaming.

    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

    Original source
Releasebot

Curated by the Releasebot team

Releasebot is an aggregator of official product update announcements from hundreds of software vendors and thousands of sources.

Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.