# @changesets/assemble-release-plan

> Reads changesets and adds information on dependents that need bumping

Latest version **7.0.0** (published 2026-08-11) · MIT license · 0 weekly downloads

## Install

```sh
npm install @changesets/assemble-release-plan
pnpm add @changesets/assemble-release-plan
yarn add @changesets/assemble-release-plan
bun add @changesets/assemble-release-plan
```

## Health

**Score 70/100 (B)** — status: active.

Positive: esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; popular repo.

Warnings: low downloads; no types.

## Facts

| | |
|---|---|
| Version | 7.0.0 |
| Published | 2026-08-11 |
| First published | 2019-09-10 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM |
| Node | ^22.11 \|\| ^24 \|\| >=26 |
| Dependencies | 5 |
| Unpacked size | 19 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 12388 |
| Maintainers | emmatown, andarist |

## Links

- npm: https://www.npmjs.com/package/@changesets/assemble-release-plan
- Repository: https://github.com/changesets/changesets
- npm.io page: https://npm.io/package/@changesets/assemble-release-plan

## Dependencies (5)

- [semver](https://npm.io/package/semver.md) ^7.8.1
- [@changesets/types](https://npm.io/package/@changesets/types.md) ^7.0.0
- [@changesets/errors](https://npm.io/package/@changesets/errors.md) ^1.0.0
- [@changesets/should-skip-package](https://npm.io/package/@changesets/should-skip-package.md) ^1.0.0
- [@changesets/get-dependents-graph](https://npm.io/package/@changesets/get-dependents-graph.md) ^3.0.0

## Recent versions

- 7.0.0 (latest) — 2026-08-11
- 7.0.0-next.11 (next) — 2026-08-10
- 5.1.1-temp.0 (temp) — 2022-02-19
- 7.0.0-next.10 — 2026-08-03
- 7.0.0-next.9 — 2026-07-25
- 7.0.0-next.8 — 2026-07-17
- 7.0.0-next.7 — 2026-07-01
- 7.0.0-next.6 — 2026-06-24
- 7.0.0-next.5 — 2026-05-28
- 7.0.0-next.4 — 2026-05-13
- 7.0.0-next.3 — 2026-05-07
- 7.0.0-next.2 — 2026-05-04
- 6.0.10 — 2026-04-17
- 7.0.0-next.1 — 2025-10-30
- 6.0.9 — 2025-06-20
- … 46 more at https://npm.io/package/@changesets/assemble-release-plan/versions

## README

# Assemble Release Plan

[![Open on npmx.dev](https://npmx.dev/api/registry/badge/version/@changesets/assemble-release-plan?name=true)](https://npmx.dev/package/@changesets/assemble-release-plan)
[![View changelog](https://npmx.dev/api/registry/badge/version/@changesets/cli?color=229fe4&value=View+changelog&label=+)](./CHANGELOG.md)

Assemble a release plan for changesets from data about a repository.

Usage

```ts
import assembleReleasePlan from "@changesets/assemble-release-plan";
import { readChangesets } from "@changesets/read";
import { readConfig } from "@changesets/config";
import { getPackages } from "@manypkg/get-packages";
import { readPreState } from "@changesets/pre";

const packages = await getPackages(cwd);
const preState = await readPreState(cwd);
const { config } = await readConfig(cwd, packages);
const changesets = await readChangesets(cwd, sinceRef);

const releasePlan = assembleReleasePlan(
  changesets,
  packages,
  config!,
  preState,
);
```

Signature

```ts
import type {
  NewChangeset,
  Config,
  Packages,
  ReleasePlan,
} from "@changesets/types";

assembleReleasePlan = (
  changesets: NewChangeset[],
  packages: Packages,
  config: Config,
) => ReleasePlan;
```

This package exists so assembling a release plan can be done without reading from disc.
This is useful primarily for testing within the changesets project, and when you cannot
run commands within the repository you want a release plan for (some CI cases).

For most cases, you should use `@changesets/get-release-plan` which will read local changeset
files, config, and workspaces, to assemble the release plan from.

---
_Source: https://npm.io/package/@changesets/assemble-release-plan · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
