# What changed in serve

> 8 changes in serve 12 to 14 from its official release notes, upgrade guides and advisories: 4 breaking, 1 security, 2 new APIs and options. Each one cited. Sources checked 2026-10-27. HTML: https://unstale.sh/npm/serve/

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

## serve 14

### Breaking changes

- The core library is now an ES Module, affecting how developers consume it. (14.0.0) — [release notes](https://github.com/vercel/serve/releases/tag/14.0.0)
- Support for Node.js 12 is dropped because it reached end of life. (14.0.0) — [release notes](https://github.com/vercel/serve/releases/tag/14.0.0)

### Security

- Updated serve-handler to fix ReDoS vulnerabilities. (14.2.6) — [release notes](https://github.com/vercel/serve/releases/tag/v14.2.6)

## serve 13

### Breaking changes

- The default port changes from 5000 to 3000. (13.0.0) — [release notes](https://github.com/vercel/serve/releases/tag/13.0.0)

## serve 12

### Breaking changes

- Updating clipboardy to v2.3.0 drops support for Node 8. (12.0.0) — [release notes](https://github.com/vercel/serve/releases/tag/12.0.0)

### New APIs and options

- Adds a flag for disabling port switching. (12.0.0) — [release notes](https://github.com/vercel/serve/releases/tag/12.0.0)
- The help command output now includes the `-p` port flag. (12.0.0) — [release notes](https://github.com/vercel/serve/releases/tag/12.0.0)

### Fixes and other changes

- Fixes an undefined local network address. (12.0.0) — [release notes](https://github.com/vercel/serve/releases/tag/12.0.0)
