Skip to content

Commit

Permalink
Release packages (#1170)
Browse files Browse the repository at this point in the history
> [!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>
  • Loading branch information
knope-bot-test[bot] authored Aug 18, 2024
1 parent 0410541 commit 5ef3774
Show file tree
Hide file tree
Showing 13 changed files with 72 additions and 58 deletions.
10 changes: 0 additions & 10 deletions .changeset/auto_update_workspace_dependencies.md

This file was deleted.

14 changes: 0 additions & 14 deletions .changeset/deduplicate_release_actions.md

This file was deleted.

This file was deleted.

8 changes: 0 additions & 8 deletions .changeset/support_for_cargolock_in_versioned_files.md

This file was deleted.

10 changes: 0 additions & 10 deletions .changeset/support_for_dependencies_within_cargotoml.md

This file was deleted.

40 changes: 40 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,46 @@ The results are changes to the current directory, calls to external commands, an
Notably, anything written to standard output or standard error
(what you see in the terminal) is _not_ considered part of the public API and may change between any versions.

## 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.

## 0.17.0 (2024-08-04)

### Breaking Changes
Expand Down
6 changes: 3 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ strip = true
[workspace.dependencies]
changesets = { version = "0.3.0" }
itertools = "0.13.0"
knope-versioning = { path = "crates/knope-versioning", version = "0.2.0" }
knope-versioning = { path = "crates/knope-versioning", version = "0.3.0" }
miette = "7.2.0"
relative-path = { version = "1.9.3", features = ["serde"] }
serde = { version = "1.0.200", features = ["derive"] }
Expand Down
9 changes: 9 additions & 0 deletions crates/knope-config/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
## 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`.

## 0.0.1 (2024-08-04)

### Features
Expand Down
2 changes: 1 addition & 1 deletion crates/knope-config/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "knope-config"
description = "A library for handling common configuration of Knope"
version = "0.0.1"
version = "0.1.0"
authors = ["Dylan Anthony <[email protected]>"]
edition = "2021"
license = "MIT"
Expand Down
15 changes: 15 additions & 0 deletions crates/knope-versioning/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
## 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).

## 0.2.0 (2024-08-10)

### Breaking Changes
Expand Down
2 changes: 1 addition & 1 deletion crates/knope-versioning/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "knope-versioning"
description = "A library for handling all the versioned files supported by Knope"
version = "0.2.0"
version = "0.3.0"
authors = ["Dylan Anthony <[email protected]>"]
edition = "2021"
license = "MIT"
Expand Down
4 changes: 2 additions & 2 deletions crates/knope/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "knope"
description = "A command line tool for automating common development tasks"
version = "0.17.0"
version = "0.18.0"
authors = ["Dylan Anthony <[email protected]>"]
edition = "2021"
license = "MIT"
Expand Down Expand Up @@ -30,7 +30,7 @@ inquire = { version = "0.7.5", default-features = false, features = [
"crossterm",
] }
itertools = { workspace = true }
knope-config = { path = "../knope-config", version = "0.0.1" }
knope-config = { path = "../knope-config", version = "0.1.0" }
knope-versioning = { workspace = true, features = ["miette"] }
miette = { workspace = true, features = ["fancy"] }
platform-dirs = "0.3.0"
Expand Down

0 comments on commit 5ef3774

Please sign in to comment.