Releases: knope-dev/knope
knope 0.16.2 (2024-04-14)
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!
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 forCreatePullRequest
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)
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)
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)
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.
0.14.1 (2024-02-23)
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)
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)
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.
0.13.3 (2023-12-17)
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)
0.13.1 (2023-11-05)
Documentation
There is a new docs website
Check out https://knope.tech/ to see the new docs, and please report any errors or gaps!
All error messages within Knope should be updated to point to the new docs.
If any are still pointed at GitHub pages (as of this version), that's a bug!
As part of this, you can also now install Knope through Chocolatey and Homebrew!