# What changed in tsup

> 14 changes in tsup 7 to 9 from its official release notes, upgrade guides and advisories: 3 breaking, 1 new APIs and options. Each one cited. Sources checked 2026-10-27. HTML: https://unstale.sh/npm/tsup/

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

## tsup 9

### Breaking changes

- Removes baseUrl in tsconfig. (9.0.0) — [release notes](https://github.com/egoist/tsup/releases/tag/v9.0.0)

### New APIs and options

- The Plugin type is now exposed for use by developers. (9.0.0) — [release notes](https://github.com/egoist/tsup/releases/tag/v9.0.0)

## tsup 8

### Breaking changes

- Node versions below 18 are no longer supported. (8.0.0) — [release notes](https://github.com/egoist/tsup/releases/tag/v8.0.0)

### Tooling

- An experimental declaration-file rollup using @microsoft/api-extractor was added. (8.0.0) — [release notes](https://github.com/egoist/tsup/releases/tag/v8.0.0)

### Fixes and other changes

- Adds script tag validation. (8.5.1) — [release notes](https://github.com/egoist/tsup/releases/tag/v8.5.1)
- Updates esbuild to fix an issue with sourcemap sources. (8.5.1) — [release notes](https://github.com/egoist/tsup/releases/tag/v8.5.1)
- PostCSS is now awaited for async plugins, ensuring their processing completes. (8.0.0) — [release notes](https://github.com/egoist/tsup/releases/tag/v8.0.0)

## tsup 7

### Breaking changes

- tsup now requires Node.js 16 or above. (7.0.0) — [release notes](https://github.com/egoist/tsup/releases/tag/v7.0.0)

### Tooling

- tsup now supports svelte-preprocess. (7.0.0) — [release notes](https://github.com/egoist/tsup/releases/tag/v7.0.0)

### Fixes and other changes

- External matching now handles root paths on Unix-like systems and Windows. (7.0.0) — [release notes](https://github.com/egoist/tsup/releases/tag/v7.0.0)
- Running Terser for IIFE output now preserves top-level declarations. (7.0.0) — [release notes](https://github.com/egoist/tsup/releases/tag/v7.0.0)
- The clash between SWC and Terser minification has been removed. (7.0.0) — [release notes](https://github.com/egoist/tsup/releases/tag/v7.0.0)
- Terser log messages are now prefixed with its name. (7.0.0) — [release notes](https://github.com/egoist/tsup/releases/tag/v7.0.0)
- Updating esbuild preserves unknown directives during bundling. (7.0.0) — [release notes](https://github.com/egoist/tsup/releases/tag/v7.0.0)
