Skip to content

Releases: knope-dev/knope

knope 0.21.2 (2025-08-10)

10 Aug 19:09
58d0c98

Choose a tag to compare

Features

  • Support workspace.package.version in Cargo.toml

knope 0.21.1 (2025-08-10)

10 Aug 02:43
6cf16d9

Choose a tag to compare

Features

Add support for customizing release note entries

You can now customize individual entries in release notes to change the formatting or add authors/hashes to entries when available.

config 0.2.5 (2025-08-10)

10 Aug 02:39
6cf16d9

Choose a tag to compare

Features

  • New Config and ReleaseNotes structs

versioning 0.4.2 (2025-06-23)

23 Jun 02:29
83a9948

Choose a tag to compare

Features

Add support for dependencies in package.json files

You can now update the dependencies and devDependencies of a package.json like this:

[package]
versioned_files = [
  # Update @my/package-name in dependencies and devDependencies whenever this package version updates
  { path = "package.json", dependency = "@my/package-name" }
]

Support package-lock.json files

package-lock.json files are now supported
as versioned_files both for single packages and dependencies (in monorepos).

These files will be auto-detected and updated if using the default (no [package] or [packages]) config, so
this is a breaking change for those users.

Fixes

Fix multiple versioned files with same path

Previously, if you referenced the same file multiple times in versioned_files, only the first instance would apply.
Now, if you reference the same path multiple times, each instance will be processed sequentially.

Consider a mono-repo where every package should be versioned in lockstep:

[package]
versioned_files = [
  "package.json",
  { path = "package.json", dependency = "aDependency" },  # Before this fix, this was ignored
  "aDependency/package.json"
]

This use-case is now supported!

knope 0.21.0 (2025-06-23)

23 Jun 02:35
83a9948

Choose a tag to compare

Breaking Changes

Change to default handling of top-level package.json files

When using the default config (no [package] or [packages]), Knope will now treat a top-level package.json file
which contains a workspaces property as the entrypoint into a monorepo and not a single versioned_file package.

Support package-lock.json files

package-lock.json files are now supported
as versioned_files both for single packages and dependencies (in monorepos).

These files will be auto-detected and updated if using the default (no [package] or [packages]) config, so
this is a breaking change for those users.

Features

Add support for dependencies in package.json files

You can now update the dependencies and devDependencies of a package.json like this:

[package]
versioned_files = [
  # Update @my/package-name in dependencies and devDependencies whenever this package version updates
  { path = "package.json", dependency = "@my/package-name" }
]

Support for NPM workspaces

Knope now supports NPM-style workspaces when using the default config!

Fixes

Fix multiple versioned files with same path

Previously, if you referenced the same file multiple times in versioned_files, only the first instance would apply.
Now, if you reference the same path multiple times, each instance will be processed sequentially.

Consider a mono-repo where every package should be versioned in lockstep:

[package]
versioned_files = [
  "package.json",
  { path = "package.json", dependency = "aDependency" },  # Before this fix, this was ignored
  "aDependency/package.json"
]

This use-case is now supported!

config 0.2.4 (2025-06-23)

23 Jun 02:29
83a9948

Choose a tag to compare

Fixes

  • Update relative-path dependency

knope 0.20.0 (2025-05-03)

03 May 03:53
8fb366b

Choose a tag to compare

Breaking Changes

Add default variables

Default variables will now apply anywhere they can be
used—including the Command and CreatePullRequest steps.

If any of the defaults, like $version or $changelog, appear in a variable-supporting location
and you don't have explicit variables = set for that step, this is a breaking change.

Fixes

Fix detecting previous releases with no changelog

Previously, if you ran a PrepareRelease step with no changelog to modify in one workflow and then a Release step
in a separate workflow, Release would fail to create a Git tag.

Now, a release with "no notes" will properly be created if the last Git tag doesn't match the current version of
a file.
If a forge is configured, a release will be created on that forge without any notes,
and a title simply containing the version.

Fixes #1267

PrepareRelease will allow empty releases when using --override-version

Fixes #1423

config 0.2.3 (2025-05-03)

03 May 03:45
8fb366b

Choose a tag to compare

Features

  • Add Variable and Template structs (from CLI)

versioning 0.4.1 (2025-04-05)

06 Apr 16:12
819cc67

Choose a tag to compare

Features

  • Print each step before it runs when --verbose is set (#1399)

knope 0.19.2 (2025-04-05)

06 Apr 20:56
819cc67

Choose a tag to compare

Features

  • Print each step before it runs when --verbose is set (#1399)