Skip to content

Releases: knope-dev/knope

versioning 0.5.2 (2025-08-16)

16 Aug 01:56
76dec81
Compare
Choose a tag to compare

Fixes

Fix pre-release versioning when there are no previous stable versions

Previously, if there was not a Git tag containing a previous stable version, Knope would default to "0.0.0".
Because of the special 1.0.0 rules, this also meant there was no way to start a project at a pre-release of 1.0.0
with no prior releases.

Now, if there are no previous stable releases, Knope will use the version in your files instead of calculating a version
based on "0.0.0".

Fixes #1515, thanks for the report @hazre!

knope 0.21.3 (2025-08-16)

16 Aug 02:00
76dec81
Compare
Choose a tag to compare

Fixes

Fix pre-release versioning when there are no previous stable versions

Previously, if there was not a Git tag containing a previous stable version, Knope would default to "0.0.0".
Because of the special 1.0.0 rules, this also meant there was no way to start a project at a pre-release of 1.0.0
with no prior releases.

Now, if there are no previous stable releases, Knope will use the version in your files instead of calculating a version
based on "0.0.0".

Fixes #1515, thanks for the report @hazre!

versioning 0.5.1 (2025-08-10)

10 Aug 19:05
58d0c98
Compare
Choose a tag to compare

Features

  • Support workspace.package.version in Cargo.toml

versioning 0.5.0 (2025-08-10)

10 Aug 02:39
6cf16d9
Compare
Choose a tag to compare

Breaking Changes

  • Change now has summary and details instead of description
  • Change no longer impls From<changesets::PackageChange>
  • ChangeSource variants are now a struct style instead of tuple style
  • Package::get_changes has a completely different signature, to support providing commit info for each change
  • ReleaseNotes has new, required change_templates field
  • Swapped From<ChangeType> to From<&ChangeType> for changesets::ChangeType

ReleaseNotes::create_release is no longer pub

This wasn't being used by Knope or Knope Bot directly, and non-pub functions give better lints.
If anyone is using this crate and needed that function, let me know!

Features

  • impl Default for ReleaseNotes

knope 0.21.2 (2025-08-10)

10 Aug 19:09
58d0c98
Compare
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
Compare
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
Compare
Choose a tag to compare

Features

  • New Config and ReleaseNotes structs

versioning 0.4.2 (2025-06-23)

23 Jun 02:29
83a9948
Compare
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
Compare
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
Compare
Choose a tag to compare

Fixes

  • Update relative-path dependency