# What changed in @vercel/functions

> 12 changes in @vercel/functions 3 from its official release notes, upgrade guides and advisories: 1 breaking, 5 new APIs and options. Each one cited. Sources checked 2026-10-21. HTML: https://unstale.sh/npm/@vercel/functions/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @vercel/functions 3

### Breaking changes

- InMemoryCache now JSON-serializes values on set and deserializes them on get, matching RuntimeCache and making behavior consistent when switching cache implementations. (3.4.1) — [release notes](https://github.com/vercel/vercel/releases/tag/%40vercel/functions%403.4.1)

### New APIs and options

- Adds a maxPayload option, defaulting to 256 KiB, to configure the maximum WebSocket payload. (3.7.2) — [release notes](https://github.com/vercel/vercel/releases/tag/%40vercel/functions%403.7.2)
- Adds the experimental_upgradeWebSocket() API. (3.7.0) — [release notes](https://github.com/vercel/vercel/releases/tag/%40vercel/functions%403.7.0)
- Introduces the Vercel AddCacheTag API, addCacheTag. (3.3.0) — [release notes](https://github.com/vercel/vercel/releases/tag/%40vercel/functions%403.3.0)
- Adds an API to dangerously delete by source image. (3.2.0) — [release notes](https://github.com/vercel/vercel/releases/tag/%40vercel/functions%403.2.0)
- Adds an API to invalidate by source image. (3.2.0) — [release notes](https://github.com/vercel/vercel/releases/tag/%40vercel/functions%403.2.0)

### Behavior and default changes

- ws is now an optional peer dependency. (3.7.1) — [release notes](https://github.com/vercel/vercel/releases/tag/%40vercel/functions%403.7.1)
- getCache().set() defaults options.name to the provided key when omitted, giving cache entries a human-readable label in o11y; pass name: '' to suppress this and use the hashed key. (3.6.0) — [release notes](https://github.com/vercel/vercel/releases/tag/%40vercel/functions%403.6.0)

### Fixes and other changes

- URL encoding of cache tags is reverted, restoring the previous behavior. (3.4.3) — [release notes](https://github.com/vercel/vercel/releases/tag/%40vercel/functions%403.4.3)
- Cache tags are URL encoded before being sent to the cache API, so tags containing special characters are handled correctly when setting cache entries or expiring tags. (3.4.0) — [release notes](https://github.com/vercel/vercel/releases/tag/%40vercel/functions%403.4.0)
- Fixes TimeoutNegativeWarning in Node.js v24 when a process runs longer than 15 minutes by ensuring a minimum wait time of 100ms. (3.3.6) — [release notes](https://github.com/vercel/vercel/releases/tag/%40vercel/functions%403.3.6)
- Fixes addCacheTag(), which was previously a no-op. (3.3.2) — [release notes](https://github.com/vercel/vercel/releases/tag/%40vercel/functions%403.3.2)
