Skip to main content


🦕 Deno native way to manage versioning and changelogs.

deno run --unstable --allow-read --allow-write --allow-run --help

Getting started

Using deno_changesets comes with some opinions:

  • Versioning follows semver
  • Changelogs follow keep a changelog
  • Versions are stored in git tags
  • Enforces minor bumps when pre-1.0
  • If a /modules folder is found it’s assumed that all child folders are published subdirectories

See: Adding a module on Deno’s docs.

Creating a changeset

Creates a new changeset inside the .changeset folder.

➜  deno run --unstable --allow-read --allow-write --allow-run create
 ? Select a module (deno_changesets) › deno_changesets
 ? What type of change? › added
 ? Description › Prompts when creating a changeset now come with hints.
 ? Confirm (y/n) › Yes


Option Description
–commit -C Commits the changeset after creation.


Releasing collects all previously created changsets, translates them to a version bump (patch, minor, major) with the highest taking precedence, updates changelogs, and then pushes to remote.

➜  deno run --unstable --allow-read --allow-write --allow-run release
 ? Will publish from 0.1.0 to 0.2.0 (y/n) › Yes


Option Description
–prod-ready -P Releases a 1.0 version, will error if already 1.0 or above.