Skip to content

Commit 5ef3774

Browse files
Release packages (#1170)
> [!IMPORTANT] > Merging this pull request will create these releases # versioning 0.3.0 (2024-08-18) ## Breaking Changes ### Support for dependencies within `Cargo.toml` Dependencies within a `Cargo.toml` file [can now be updated](https://knope.tech/reference/config-file/packages/) as part of `versioned_files`. ## Features ### Support for `Cargo.lock` in `versioned_files` Dependencies within a `Cargo.lock` [can now be updated](https://knope.tech/reference/config-file/packages#cargolock). # config 0.1.0 (2024-08-18) ## Breaking Changes ### Support for dependencies within `Cargo.toml` Dependencies within a `Cargo.toml` file [can now be updated](https://knope.tech/reference/config-file/packages/) as part of `versioned_files`. # knope 0.18.0 (2024-08-18) ## Breaking Changes ### Auto-update Cargo workspace dependencies when using default config If using the Cargo workspace [default configuration](https://knope.tech/reference/default-config/#cargo-workspaces), Knope will now attempt to automatically update the version of workspace members in dependencies _and_ the workspace `Cargo.lock`. To avoid this, use `knope --generate` to create a manual config file and customize the behavior. ### Don't create _any_ go module tags that match package names Knope already avoided creating duplicate tags for Go modules which match tags that would be created by the `Release` step for the package. Now, Knope won't create a Go module tag if it matches a release tag for _any_ configured package, to avoid potential conflicts. ## Features ### Support for `Cargo.lock` in `versioned_files` Dependencies within a `Cargo.lock` [can now be updated](https://knope.tech/reference/config-file/packages#cargolock). ### Support for dependencies within `Cargo.toml` Dependencies within a `Cargo.toml` file [can now be updated](https://knope.tech/reference/config-file/packages/) as part of `versioned_files`. ## Fixes ### Deduplicate release actions Knope now collects all actions to be performed across all packages and runs them at once with deduplication. This means that if multiple packages write to the same `versioned_file`, for example, the file will only be written a single time. Changesets will also only be deleted once, files will be staged to Git only once, etc. This mostly only impacts the output during `--dry-run` or `--verbose`, but is especially important for the new dependency updating and lockfile support. Co-authored-by: knope-bot-test[bot] <150975753+knope-bot-test[bot]@users.noreply.github.com>
1 parent 0410541 commit 5ef3774

13 files changed

+72
-58
lines changed

.changeset/auto_update_workspace_dependencies.md

-10
This file was deleted.

.changeset/deduplicate_release_actions.md

-14
This file was deleted.

.changeset/dont_create_any_go_module_tags_that_match_package_names.md

-8
This file was deleted.

.changeset/support_for_cargolock_in_versioned_files.md

-8
This file was deleted.

.changeset/support_for_dependencies_within_cargotoml.md

-10
This file was deleted.

CHANGELOG.md

+40
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,46 @@ The results are changes to the current directory, calls to external commands, an
1010
Notably, anything written to standard output or standard error
1111
(what you see in the terminal) is _not_ considered part of the public API and may change between any versions.
1212

13+
## 0.18.0 (2024-08-18)
14+
15+
### Breaking Changes
16+
17+
#### Auto-update Cargo workspace dependencies when using default config
18+
19+
If using the Cargo workspace [default configuration](https://knope.tech/reference/default-config/#cargo-workspaces),
20+
Knope will now attempt to automatically update the version of workspace members in dependencies _and_ the workspace `Cargo.lock`.
21+
22+
To avoid this, use `knope --generate` to create a manual config file and customize the behavior.
23+
24+
#### Don't create _any_ go module tags that match package names
25+
26+
Knope already avoided creating duplicate tags for Go modules which match tags that would be created by the `Release` step for the package.
27+
Now, Knope won't create a Go module tag if it matches a release tag for _any_ configured package, to avoid potential conflicts.
28+
29+
### Features
30+
31+
#### Support for `Cargo.lock` in `versioned_files`
32+
33+
Dependencies within a `Cargo.lock` [can now be updated](https://knope.tech/reference/config-file/packages#cargolock).
34+
35+
#### Support for dependencies within `Cargo.toml`
36+
37+
Dependencies within a `Cargo.toml` file [can now be updated](https://knope.tech/reference/config-file/packages/)
38+
as part of `versioned_files`.
39+
40+
### Fixes
41+
42+
#### Deduplicate release actions
43+
44+
Knope now collects all actions to be performed across all packages and runs them at once with deduplication.
45+
46+
This means that if multiple packages write to the same `versioned_file`, for example, the file will only be written
47+
a single time.
48+
Changesets will also only be deleted once, files will be staged to Git only once, etc.
49+
50+
This mostly only impacts the output during `--dry-run` or `--verbose`, but is especially important for the new
51+
dependency updating and lockfile support.
52+
1353
## 0.17.0 (2024-08-04)
1454

1555
### Breaking Changes

Cargo.lock

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ strip = true
99
[workspace.dependencies]
1010
changesets = { version = "0.3.0" }
1111
itertools = "0.13.0"
12-
knope-versioning = { path = "crates/knope-versioning", version = "0.2.0" }
12+
knope-versioning = { path = "crates/knope-versioning", version = "0.3.0" }
1313
miette = "7.2.0"
1414
relative-path = { version = "1.9.3", features = ["serde"] }
1515
serde = { version = "1.0.200", features = ["derive"] }

crates/knope-config/CHANGELOG.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
## 0.1.0 (2024-08-18)
2+
3+
### Breaking Changes
4+
5+
#### Support for dependencies within `Cargo.toml`
6+
7+
Dependencies within a `Cargo.toml` file [can now be updated](https://knope.tech/reference/config-file/packages/)
8+
as part of `versioned_files`.
9+
110
## 0.0.1 (2024-08-04)
211

312
### Features

crates/knope-config/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "knope-config"
33
description = "A library for handling common configuration of Knope"
4-
version = "0.0.1"
4+
version = "0.1.0"
55
authors = ["Dylan Anthony <[email protected]>"]
66
edition = "2021"
77
license = "MIT"

crates/knope-versioning/CHANGELOG.md

+15
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
## 0.3.0 (2024-08-18)
2+
3+
### Breaking Changes
4+
5+
#### Support for dependencies within `Cargo.toml`
6+
7+
Dependencies within a `Cargo.toml` file [can now be updated](https://knope.tech/reference/config-file/packages/)
8+
as part of `versioned_files`.
9+
10+
### Features
11+
12+
#### Support for `Cargo.lock` in `versioned_files`
13+
14+
Dependencies within a `Cargo.lock` [can now be updated](https://knope.tech/reference/config-file/packages#cargolock).
15+
116
## 0.2.0 (2024-08-10)
217

318
### Breaking Changes

crates/knope-versioning/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "knope-versioning"
33
description = "A library for handling all the versioned files supported by Knope"
4-
version = "0.2.0"
4+
version = "0.3.0"
55
authors = ["Dylan Anthony <[email protected]>"]
66
edition = "2021"
77
license = "MIT"

crates/knope/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "knope"
33
description = "A command line tool for automating common development tasks"
4-
version = "0.17.0"
4+
version = "0.18.0"
55
authors = ["Dylan Anthony <[email protected]>"]
66
edition = "2021"
77
license = "MIT"
@@ -30,7 +30,7 @@ inquire = { version = "0.7.5", default-features = false, features = [
3030
"crossterm",
3131
] }
3232
itertools = { workspace = true }
33-
knope-config = { path = "../knope-config", version = "0.0.1" }
33+
knope-config = { path = "../knope-config", version = "0.1.0" }
3434
knope-versioning = { workspace = true, features = ["miette"] }
3535
miette = { workspace = true, features = ["fancy"] }
3636
platform-dirs = "0.3.0"

0 commit comments

Comments
 (0)