Skip to content

Releases: vercel/storage

@vercel/blob@2.8.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 23:27
cdbac94

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.

@vercel/global-config@1.5.1

Choose a tag to compare

@github-actions github-actions released this 06 Aug 09:21
7637604

Patch Changes

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

@vercel/edge-config@1.5.1

Choose a tag to compare

@github-actions github-actions released this 06 Aug 09:21
7637604

Patch Changes

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

@vercel/blob@2.7.0

Choose a tag to compare

@github-actions github-actions released this 06 Aug 09:21
7637604

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" },
      }
    );

@vercel/global-config@1.5.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 10:17
9f1c171

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.

@vercel/edge-config@1.5.0

Choose a tag to compare

@github-actions github-actions released this 28 Jul 13:49
9f1c171
Version Packages (#1089)

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

@vercel/blob@2.6.1

Choose a tag to compare

@github-actions github-actions released this 08 Jul 10:32
f5cb880

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.

@vercel/blob@2.6.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 20:26
20e17d7

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.

@vercel/blob@2.5.0

Choose a tag to compare

@github-actions github-actions released this 25 Jun 17:03
bb04f82

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.

@vercel/blob@2.4.1

Choose a tag to compare

@github-actions github-actions released this 18 Jun 12:44
63b87d6

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.