releases.shpreview
Vercel/Vercel CLI

Vercel CLI

Mon
Wed
Fri
JunJulAugSepOctNovDecJanFebMarAprMayJun
Less
More
Releases582Avg178/moVersions@vercel/aws@0.2.0 to vercel@54.12.1
@vercel/frameworks@3.28.1
Patch Changes
  • 4421ad9: Allow the Node framework preset to work without a package.json. The node framework is now detected from a server.* entrypoint alone, and the @vercel/backends builder defaults the module format to ESM ("module") when no package.json is present instead of erroring with "Unable to resolve format".
@vercel/next@4.19.0
Minor Changes
  • 01e18e8: Add hasFallback, htmlSize, and isDynamicRoute to Prerender

    These optional fields surface per-route PPR shell metadata in the Build Output so consumers can classify prerenders (e.g. full shell vs. empty shell vs. concrete prerender):

    • hasFallback — whether a dynamic route template had a static fallback (undefined for concrete prerenders)
    • htmlSize — byte size of the prerendered .html shell (0 for an empty shell, undefined when there's no .html)
    • isDynamicRoute — whether the entry came from a dynamic route template rather than a concrete prerender
vercel@54.12.1
Patch Changes
  • 800286e: vercel connect create --data now accepts @<path> to read the JSON from a file and @- to read it from stdin, so non-managed connector credentials (e.g. client secrets) no longer have to be passed inline where they leak into shell history and process listings. Inline --data still works but now warns when it looks like it contains a secret.
  • 800286e: Strip ANSI escape sequences from team-controlled connector names, UIDs, and project names in all vercel connect command output (attach, detach, remove, revoke-tokens, and the list table's type/projects cells), not just the list UID/name cells. Prevents terminal escape injection from maliciously-named connectors visible across a team.
  • 1e64d1f: Added vc api --spec-url <url> for loading endpoints from a custom OpenAPI spec instead of the default public Vercel spec. Custom specs are fetched fresh, can use the current CLI token to pass Vercel deployment protection via the SSO handshake, and replace the public spec entirely for listing, interactive selection, and tag/operation resolution.
  • Updated dependencies [52f005f]
  • Updated dependencies [2d2aad9]
  • Updated dependencies [01e18e8]
    • @vercel/backends@0.8.12
    • @vercel/build-utils@13.30.0
    • @vercel/next@4.19.0
    • @vercel/elysia@0.1.93
    • @vercel/express@0.1.103
    • @vercel/fastify@0.1.96
    • @vercel/go@3.9.0
    • @vercel/h3@0.1.102
    • @vercel/hono@0.2.96
    • @vercel/hydrogen@1.4.0
    • @vercel/koa@0.1.76
    • @vercel/nestjs@0.2.97
    • @vercel/node@5.8.17
    • @vercel/python@6.44.1
    • @vercel/redwood@2.5.0
    • @vercel/remix-builder@5.9.1
    • @vercel/ruby@2.4.0
    • @vercel/rust@1.3.0
    • @vercel/static-build@2.10.3
@vercel/backends@0.8.12
Patch Changes
  • 52f005f: Fix a @vercel/backends performance regression. Passing stat/readlink/readFile overrides to nodeFileTrace replaces @vercel/nft's internal CachedFileSystem, so repeated (mostly missing) path probes during module resolution became uncached syscalls that throw on every miss. The stat/readlink overrides are now only applied when there are in-memory rolldown output files to serve, and all fs overrides are memoized (including negative results) to restore nft's caching.
  • 2d2aad9: Fix corruption of native addon (.node) and other binary files during file tracing. Traced files were read as UTF-8 strings, which mangled non-text bytes and caused runtime errors such as ELF file's phentsize not the expected size (e.g. with argon2 on pnpm). Binary files are now preserved byte-for-byte.
  • Updated dependencies [01e18e8]
    • @vercel/build-utils@13.30.0
@vercel/python-runtime@0.14.2
Patch Changes
  • 76aeb97: Decode Transfer-Encoding: chunked WSGI request bodies that arrive without a Content-Length, and strip the hop-by-hop framing header from the WSGI environ (PEP 3333).
@vercel/remix-builder@5.9.1
Patch Changes
  • a5034c1: Fix React Router SPA subroute refreshes by routing the catch-all through index.html when no index SSR function is emitted.
@vercel/python@6.44.1
Patch Changes
  • 4637f0a: Force Python bytecode precompilation to rewrite existing .pyc files with unchecked-hash invalidation.
  • c5d53d7: Use the in-repo python/vercel-runtime and python/vercel-workers source as the install target during monorepo vercel build runs (mirroring the existing dev-server behavior). This prevents CLI unit tests from depending on a PyPI release of a version that has not been published yet — the case that breaks Version Packages PRs that bump these packages.
@vercel/go@3.9.0
Minor Changes
  • 0c4ea01: Refactor: extract the standalone-server IPC proxy into a shared @vercel-internals/ipc-proxy package.

    The proxy is now compiled once into prebuilt static binaries (shipped per-architecture) and reused by compiled runtimes, instead of being compiled at deploy time. No change to deployed behavior.

@vercel/connect@0.2.3
Patch Changes
  • 2f22f21: Add a targeted deleteTokenCacheEntry(connector, params) export that drops a single in-process token cache entry, and wire it into the Eve connect() adapter as an evict() hook. When Eve rejects a resolved bearer (a downstream 401 mapped to requireAuth(), or an MCP server rejecting the token) it now cascades invalidation from its own per-step cache down into the Connect adapter's cache, so the next getToken performs a genuine refresh instead of re-serving the revoked-but-unexpired token. The evict() hook also accepts an opt-in revoke: true to tear the grant down at Vercel Connect (refresh token included) for user-initiated disconnects; revocation is best-effort and falls back to a local cache drop on failure.
vercel@54.12.0
Minor Changes
  • 5757bca: [services] add support to vc dev for experimentalServicesV2.
Patch Changes
  • 663307f: Fix CLI self-upgrade failing with EUNSUPPORTEDPROTOCOL inside pnpm/yarn workspaces
  • 32a730e: Elevate maximum maxDuration to 1800s
  • Updated dependencies [4637f0a]
  • Updated dependencies [32a730e]
  • Updated dependencies [c5d53d7]
  • Updated dependencies [a5034c1]
  • Updated dependencies [0c4ea01]
    • @vercel/python@6.44.1
    • @vercel/build-utils@13.29.1
    • @vercel/remix-builder@5.9.1
    • @vercel/go@3.9.0
    • @vercel/node@5.8.16
    • @vercel/static-build@2.10.2
    • @vercel/backends@0.8.11
    • @vercel/elysia@0.1.92
    • @vercel/express@0.1.102
    • @vercel/fastify@0.1.95
    • @vercel/h3@0.1.101
    • @vercel/hono@0.2.95
    • @vercel/hydrogen@1.4.0
    • @vercel/koa@0.1.75
    • @vercel/nestjs@0.2.96
    • @vercel/next@4.18.0
    • @vercel/redwood@2.5.0
    • @vercel/ruby@2.4.0
    • @vercel/rust@1.3.0
@vercel/routing-utils@6.3.0
Minor Changes
  • 90a7cc1: Support a service-targeted destination object ({ type: "service", service, path }) on routes and rewrites, so a route/rewrite can delegate into a named service. The service handoff is terminal: continue: true together with a service destination is rejected during normalization.
vercel@54.11.1
Patch Changes
  • 8d8e871: Evaluate the maxDuration upper bound at validation time so VERCEL_CLI_SKIP_MAX_DURATION_LIMIT works regardless of import order.

    The gate was read when @vercel/build-utils' functionsSchema was constructed and when the CLI compiled its vercel.json validator — both at module load. Any process that imports these modules before setting the env var baked in the default 900-second maximum and ignored the flag, failing with Invalid vercel.json - functions[...].maxDuration should be <= 900.

    @vercel/build-utils now exposes getFunctionsSchema(), which reads the limit at call time (the existing functionsSchema const is kept but deprecated). The CLI builds and compiles its config validator lazily, caching one validator per resolved limit, so setting the variable after import takes effect. Default behavior is unchanged — the 900s maximum, the lower bound, and the integer check are all still enforced when the variable is unset.

  • Updated dependencies [8d8e871]

    • @vercel/build-utils@13.29.0
    • @vercel/backends@0.8.10
    • @vercel/elysia@0.1.91
    • @vercel/express@0.1.101
    • @vercel/fastify@0.1.94
    • @vercel/go@3.8.0
    • @vercel/h3@0.1.100
    • @vercel/hono@0.2.94
    • @vercel/hydrogen@1.4.0
    • @vercel/koa@0.1.74
    • @vercel/nestjs@0.2.95
    • @vercel/next@4.18.0
    • @vercel/node@5.8.15
    • @vercel/python@6.44.0
    • @vercel/redwood@2.5.0
    • @vercel/remix-builder@5.9.0
    • @vercel/ruby@2.4.0
    • @vercel/rust@1.3.0
    • @vercel/static-build@2.10.1
@vercel/connect@0.2.2
Patch Changes
  • 0afea93: Add an opt-in validate flag to the Eve connect() adapter (backed by a new forceRefresh option on getToken/getTokenResponse). When set, each getToken bypasses the in-process token cache and re-checks Vercel Connect, so a grant the user revoked server-side surfaces as an authorization-required prompt instead of being served as a stale, still-cached bearer.
vercel@54.11.0
Minor Changes
  • fc7b557: Ensure project manifest includes framework for non-service builds.
Patch Changes
  • bc8dc95: Fix the darwin-arm64 native CLI binary crashing with SIGSEGV on most commands. The custom Node runtime was stripped with bare strip, which removes the exported napi_* symbols that native addons (@napi-rs/keyring) bind against at dlopen time. The runtime is now stripped with strip -SXx, which keeps exported symbols. Also makes the @vercel/vc-native bin shim launch the platform binary directly when the postinstall script did not run (pnpm blocks dependency build scripts by default), instead of always failing.
  • bc8dc95: Fix vercel upgrade crashing with ENOENT: no such file or directory, realpath '…/.pkg-staging/pkg.js' in the native binary. The command tried to realpath process.argv[1], which points into the binary's virtual filesystem snapshot. Native installs now detect the package manager (npm, pnpm, or yarn) from the binary's real install location and suggest the matching global upgrade command.
@vercel/connect@0.2.1
Patch Changes
  • 2988097: Document ConnectTokenParams.scopes support for ["*"] default scopes.
  • 585bd2c: Add the revokeToken API for revoking Connect tokens by connector and subject.
  • b151652: Use the published Eve 0.6 beta package for local type validation and add Connect-backed Eve GitHub and Linear channel credential helpers.
vercel@54.10.3
Patch Changes
  • 4f82914: Bump the embedded sandbox CLI to 3.1.2 (@vercel/sandbox 2.1.1) to fix vc sandbox commands crashing with a segmentation fault.
    • @vercel/node@5.8.14
vercel@54.10.2
Patch Changes
  • 0f7844c: Fix the native CLI binary crashing on auth commands (login, whoami, logout, and any command that reads config) with ERR_MODULE_NOT_FOUND: '@vercel/cli-auth'. The package is now staged into the binary. The binary release is also hardened with a real command smoke test and a build-time check that every statically-imported dependency is bundled, so a binary missing a required package can no longer be released.
  • Updated dependencies [78e5d4f]
    • @vercel/static-build@2.10.0
    • @vercel/hydrogen@1.4.0
    • @vercel/redwood@2.5.0
    • @vercel/remix-builder@5.9.0
    • @vercel/next@4.18.0
Last Checked
4h ago
Latest
@vercel/frameworks@3.28.1
Tracking since Mar 5, 2026