Skip to content

Releases: knope-dev/knope

versioning 0.0.1 (2024-04-14)

14 Apr 19:23
51d78b3
Compare
Choose a tag to compare

Features

  • Initial release

knope 0.16.2 (2024-04-14)

14 Apr 19:23
51d78b3
Compare
Choose a tag to compare

Features

Add get-version default workflow

For single-package repositories with no custom workflows defined,
there is now a default workflow called get-version that
prints out the current package version.

If you want similar functionality for multi-package repositories, please add your ideas to issue #988.

Thanks to @BatmanAoD for the suggestion and @alex-way for the implementation!

PR #994 closed #885.

Add option to ignore conventional commits

You can now add ignore_conventional_commits = true to a PrepareRelease step
to ignore commit messages (and only consider changesets):

[[workflows.steps]]
type = "PrepareRelease"
ignore_conventional_commits = true

PR #1008 closes #924. Thanks for the suggestion @ematipico!

Fixes

  • Allow omitting the variables field for CreatePullRequest title and body

Documentation

Created a new recipe for converting a single-package repo into a monorepo

Knope itself is now a monorepo—the process of converting it was documented here.

0.16.1 (2024-03-24)

24 Mar 17:32
b263572
Compare
Choose a tag to compare

Features

Add help_text option to workflows

[[workflows]] can now have help_text:

Example:

[[workflows]]
name = "release"
help_text = "Prepare a release"

The message is displayed when running knope --help:

A command line tool for automating common development tasks

Usage: knope [OPTIONS] [COMMAND]

Commands:
release          Prepare a release
help             Print this message or the help of the given subcommand(s)

...

PR #960 closes issue #959. Thanks @alex-way!

Use bullets to describe simple changes

The previous changelog & forge release format used headers for the summary of all changes, these entries were hard
to follow for simple changes like this:

## Features

### A feature

### Another header with no content in between?

Now, simple changes are described with bullets at the top of the section. More complex changes will come after
any bullets, using the previous format:

## Features

- A simple feature
- Another simple feature

### A complex feature

Some details about that feature

Right now, a simple change is any change which comes from a conventional commit (whether from the commit summary or
from a footer) or a changeset with only a header in it. Here are three simple changes:

feat: A simple feature

Changelog-Note: A note entry
---
default: minor
---

# A simple feature with no description

A complex change is any changeset which has content (not just empty lines) below the header.

PR #969 implemented #930. Thanks for the suggestion @ematipico!

0.16.0 (2024-03-20)

21 Mar 00:19
87ab0fb
Compare
Choose a tag to compare

Breaking Changes

Don't delete changesets for prereleases

Previously, using PrepareRelease to create a prerelease (for example, with --prerelease-label) would delete all
changesets, just like a full release. This was a bug, but the fix is a breaking change if you were
relying on that behavior.

Features

Add a shell variable for Command steps

You can now add shell=true to a Command step to run the command in the current shell.
This lets you opt in to the pre-0.15.0 behavior.

[[workflows.steps]]
type = "Command"
command = "echo $AN_ENV_VAR"
shell = true

0.15.0 (2024-03-18)

18 Mar 02:28
13e64f8
Compare
Choose a tag to compare

Breaking Changes

Don't run Command steps in shell

The Command step no longer attempts to run the command in a default shell for the detected operating system.
This fixes a compatibility issue with Windows.

If this change doesn't work for your workflow, please open an issue describing your need so we can fix it.

Notably, using && in a command (as was the case for some default workflows) will no longer work. Instead, split this
into multiple Command steps.

PR #919 closes issue #918. Thanks for reporting @alex-way!

0.14.1 (2024-02-23)

23 Feb 03:43
650a18f
Compare
Choose a tag to compare

Features

Add ignore_go_major_versioning option

You can now set ignore_go_major_versioning = true for a package in
knope.toml to turn off the major version validation & updating in go.mod files.

More details in the new docs.

Closes #863, thanks for the suggestion @BatmanAoD!

0.14.0 (2024-02-04)

04 Feb 04:21
3672338
Compare
Choose a tag to compare

Breaking Changes

Cargo.toml files must now have a package.name property

This was already required by Cargo, but wasn't enforced by Knope until now. Before, a Cargo.toml file like

[package]
version = "0.1.0"

was acceptable, but now it must be

[package]
name = "my-package"
version = "0.1.0"

Features

Add basic Cargo workspace support

If you have a Cargo.toml file in the working directory which represents a Cargo workspace containing fixed members, like:

[workspace]
members = [
"my-package",
"my-other-package",
]

then Knope will now treat each member like a package.
There must be a Cargo.toml file in each member directory, or Knope will error.

This doesn't work with path globbing yet, only manual directory entries. See the new docs for more details.

Use default packages/workflows even when knope.toml exists

If you define a knope.toml file without any packages, Knope will assume the default packages (as if you had no knope.toml file at all).

Likewise, if you have no [[workflows]] in a knope.toml file, Knope will assume the default workflows.

Fixes

Homebrew tap now contains Apple Silicon binaries and auto-publishes new versions (#827)

0.13.4 (2024-01-13)

13 Jan 01:46
68361b6
Compare
Choose a tag to compare

Features

Gitea support

PR #759 closed issue #743. Thank you, @FallenValkyrie!

  • Added Support for Gitea in the CreatePullRequest step
  • Added Support for Gitea in the Release step
  • Added A new SelectGiteaIssue step
  • Add support to generate Gitea config from known public Gitea instances

To use these new steps, just add a new section to your configuration, like this:

[gitea]
repo = "knope"
owner = "knope-dev"
host = "https://codeberg.org"

You can now use the supported steps in the same way as their GitHub equivalents.

Tip

Knope can now generate a configuration for you, if your repository's remote is one of the known
public Gitea instances. Currently only Codeberg is supported,
but feel free to add more here.

0.13.3 (2023-12-17)

17 Dec 20:09
0755eee
Compare
Choose a tag to compare

Features

Support pubspec.yaml in versioned_files

Knope can now version Dart projects! You can now add a pubspec.yaml file to your package.versioned_files.

PR #732 closes #731. Thanks @FallenValkyrie!

0.13.2 (2023-11-11)

11 Nov 03:11
c2e035e
Compare
Choose a tag to compare

Fixes

Add [github] section with knope --generate (#666)

--dry-run will no longer report deleting the same changeset twice (#668)

CreateChangeFile (like knope document-change) now prints package names. (#669)