Storage Updates & Release Notes
24 updates curated from 1 source by the Releasebot Team. Last updated: Aug 11, 2026
- Aug 10, 2026
- Date parsed from source:Aug 10, 2026
- First seen by Releasebot:Aug 11, 2026
@vercel/[email protected]
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/[email protected]
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.
- Aug 6, 2026
- Date parsed from source:Aug 6, 2026
- First seen by Releasebot:Aug 7, 2026
@vercel/[email protected]
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/[email protected]
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" }, });
Original sourceconst result = await putFromUrl( "avatars/foo.webp", "https://example.com/photo.jpg", { access: "public", optimizeImage: { width: 128, quality: 75, format: "webp" }, } ); - Jul 28, 2026
- Date parsed from source:Jul 28, 2026
- First seen by Releasebot:Jul 29, 2026
@vercel/[email protected]
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:
- Claude Code updates425 release notes · Latest Aug 22, 2026
- ChatGPT updates209 release notes · Latest Aug 21, 2026
- OpenAI Models updates49 release notes · Latest Aug 18, 2026
- Gemini updates395 release notes · Latest Aug 20, 2026
- Claude updates129 release notes · Latest Aug 21, 2026
- Codex updates214 release notes · Latest Aug 20, 2026
- Jul 27, 2026
- Date parsed from source:Jul 27, 2026
- First seen by Releasebot:Jul 28, 2026
@vercel/[email protected]
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/[email protected]
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/[email protected]
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/[email protected]
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/[email protected]
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
- Apr 2, 2026
- Date parsed from source:Apr 2, 2026
- First seen by Releasebot:Apr 2, 2026
@vercel/[email protected]
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/[email protected]
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.
- Mar 4, 2026
- Date parsed from source:Mar 4, 2026
- First seen by Releasebot:Mar 4, 2026
@vercel/[email protected]
Patch Changes
- a9a733a: fix: validate URL domain in get() to prevent sending the token to arbitrary hosts
- Feb 19, 2026
- Date parsed from source:Feb 19, 2026
- First seen by Releasebot:Feb 23, 2026
@vercel/[email protected]
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
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.