diff --git a/CHANGELOG.md b/CHANGELOG.md index 51318ab29..243cec42f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,40 @@ # Changelog +## [1.44.0](https://github.com/jdx/hk/compare/v1.43.0..v1.44.0) - 2026-04-23 + +### 🚀 Features + +- **(check)** implement --plan, --why, and --json by [@jdx](https://github.com/jdx) in [#848](https://github.com/jdx/hk/pull/848) +- **(cocogitto)** add cocogitto conventional commits config to hk builtin config by [@hituzi-no-sippo](https://github.com/hituzi-no-sippo) in [#838](https://github.com/jdx/hk/pull/838) +- **(git)** support GIT_DIR/GIT_WORK_TREE for bare-repo dotfile managers by [@jdx](https://github.com/jdx) in [#847](https://github.com/jdx/hk/pull/847) +- **(install)** use Git 2.54 config-based hooks with --global support by [@jdx](https://github.com/jdx) in [#853](https://github.com/jdx/hk/pull/853) + +### 🐛 Bug Fixes + +- use text progress in CI by [@jdx](https://github.com/jdx) in [#845](https://github.com/jdx/hk/pull/845) + +### 📚 Documentation + +- generalize agent guidelines by [@jdx](https://github.com/jdx) in [#846](https://github.com/jdx/hk/pull/846) +- add releases nav and aube lock by [@jdx](https://github.com/jdx) in [#849](https://github.com/jdx/hk/pull/849) + +### 🔍 Other Changes + +- **(release)** append en.dev sponsor blurb to release notes by [@jdx](https://github.com/jdx) in [#854](https://github.com/jdx/hk/pull/854) +- bump communique to 1.0.1 by [@jdx](https://github.com/jdx) in [#850](https://github.com/jdx/hk/pull/850) + +### 📦️ Dependency Updates + +- update actions-rust-lang/setup-rust-toolchain digest to 2b1f5e9 by [@renovate[bot]](https://github.com/renovate[bot]) in [#832](https://github.com/jdx/hk/pull/832) +- update anthropics/claude-code-action digest to c3d45e8 by [@renovate[bot]](https://github.com/renovate[bot]) in [#833](https://github.com/jdx/hk/pull/833) +- update rust crate tokio to v1.52.1 by [@renovate[bot]](https://github.com/renovate[bot]) in [#834](https://github.com/jdx/hk/pull/834) +- update actions/upload-pages-artifact action to v5 by [@renovate[bot]](https://github.com/renovate[bot]) in [#835](https://github.com/jdx/hk/pull/835) +- update taiki-e/upload-rust-binary-action digest to f0d45ae by [@renovate[bot]](https://github.com/renovate[bot]) in [#839](https://github.com/jdx/hk/pull/839) +- update rust crate clx to v2 by [@renovate[bot]](https://github.com/renovate[bot]) in [#836](https://github.com/jdx/hk/pull/836) +- update anthropics/claude-code-action digest to 0d2971c by [@renovate[bot]](https://github.com/renovate[bot]) in [#841](https://github.com/jdx/hk/pull/841) +- update anthropics/claude-code-action digest to 38ec876 by [@renovate[bot]](https://github.com/renovate[bot]) in [#842](https://github.com/jdx/hk/pull/842) +- lock file maintenance by [@renovate[bot]](https://github.com/renovate[bot]) in [#851](https://github.com/jdx/hk/pull/851) + ## [1.43.0](https://github.com/jdx/hk/compare/v1.42.0..v1.43.0) - 2026-04-16 ### 🚀 Features diff --git a/Cargo.lock b/Cargo.lock index 8bcdd075d..f32a18f68 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1071,7 +1071,7 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hk" -version = "1.43.0" +version = "1.44.0" dependencies = [ "arc-swap", "chrono", @@ -2488,9 +2488,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.38" +version = "0.23.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f9466fb2c14ea04357e91413efb882e2a6d4a406e625449bc0a5d360d53a21" +checksum = "7c2c118cb077cca2822033836dfb1b975355dfb784b5e8da48f7b6c5db74e60e" dependencies = [ "aws-lc-rs", "once_cell", @@ -2552,9 +2552,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.12" +version = "0.103.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8279bb85272c9f10811ae6a6c547ff594d6a7f3c6c6b02ee9726d1d0dcfcdd06" +checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" dependencies = [ "aws-lc-rs", "ring", @@ -3236,7 +3236,7 @@ dependencies = [ "toml_datetime", "toml_parser", "toml_writer", - "winnow 1.0.1", + "winnow 1.0.2", ] [[package]] @@ -3254,7 +3254,7 @@ version = "1.1.2+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526" dependencies = [ - "winnow 1.0.1", + "winnow 1.0.2", ] [[package]] @@ -4115,9 +4115,9 @@ dependencies = [ [[package]] name = "winnow" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09dac053f1cd375980747450bfc7250c264eaae0583872e845c0c7cd578872b5" +checksum = "2ee1708bef14716a11bae175f579062d4554d95be2c6829f518df847b7b3fdd0" [[package]] name = "wit-bindgen" diff --git a/Cargo.toml b/Cargo.toml index 8223372a6..60c3309fb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ license = "MIT" name = "hk" repository = "https://github.com/jdx/hk" rust-version = "1.88.0" -version = "1.43.0" +version = "1.44.0" [[bin]] name = "generate-docs" diff --git a/docs/builtins.md b/docs/builtins.md index 401457123..5b6086e5a 100644 --- a/docs/builtins.md +++ b/docs/builtins.md @@ -11,8 +11,8 @@ hk provides 90+ pre-configured linters and formatters through the `Builtins` mod Import and use builtins in your `hk.pkl`: ```pkl -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Builtins.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" +import "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Builtins.pkl" hooks { ["pre-commit"] { diff --git a/docs/cli/commands.json b/docs/cli/commands.json index b8eb4fc66..ef44c8592 100644 --- a/docs/cli/commands.json +++ b/docs/cli/commands.json @@ -4205,7 +4205,7 @@ "config": { "props": {} }, - "version": "1.43.0", + "version": "1.44.0", "usage": "Usage: hk [OPTIONS] ", "complete": {}, "about": "A tool for managing git hooks" diff --git a/docs/cli/index.md b/docs/cli/index.md index 573ed6c8a..7ba5140e8 100644 --- a/docs/cli/index.md +++ b/docs/cli/index.md @@ -4,7 +4,7 @@ **Usage**: `hk [FLAGS] ` -**Version**: 1.43.0 +**Version**: 1.44.0 - **Usage**: `hk [FLAGS] ` diff --git a/docs/configuration.md b/docs/configuration.md index c2db2e454..b659f2893 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -44,8 +44,8 @@ Set [`HK_FILE`](/environment_variables#hk-file) to override the search and use a Here's a basic `hk.pkl` file: ```pkl -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Builtins.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" +import "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Builtins.pkl" local linters = new Mapping { // linters can be manually defined @@ -208,8 +208,8 @@ The hkrc file follows the same format as `hk.pkl` and can be used to define glob Example hkrc file: ```pkl -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Builtins.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" +import "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Builtins.pkl" local linters { ["prettier"] = Builtins.prettier @@ -242,7 +242,7 @@ Add steps to your hkrc. hk merges them into every project's hooks — steps with ```pkl // ~/.config/hk/config.pkl -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" hooks { ["pre-commit"] { @@ -335,7 +335,7 @@ Git config supports both multivar entries (multiple values with the same key) an User-specific defaults can be set in `~/.config/hk/config.pkl`: ```pkl -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" jobs = 4 fail_fast = false diff --git a/docs/getting_started.md b/docs/getting_started.md index 0c3509410..42a4c4998 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -51,8 +51,8 @@ The global configuration file follows the same format as `hk.pkl` and can be use This will generate a `hk.pkl` file in the root of the repository, here's an example `hk.pkl` with eslint and prettier linters: ```pkl -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Builtins.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" +import "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Builtins.pkl" local linters = new Mapping { // linters can be manually defined diff --git a/docs/mise_integration.md b/docs/mise_integration.md index 12d4bfcba..9d05c4852 100644 --- a/docs/mise_integration.md +++ b/docs/mise_integration.md @@ -43,7 +43,7 @@ parsing, parallel execution, and more. Just run mise in `hk.pkl` like any other command: ```pkl -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" `pre-commit` { ["prelint"] { diff --git a/docs/pkl_introduction.md b/docs/pkl_introduction.md index c345e38ba..d01589afd 100644 --- a/docs/pkl_introduction.md +++ b/docs/pkl_introduction.md @@ -175,7 +175,7 @@ This is a multi-line comment Every `hk.pkl` should start with this line which essentially schema validates the config and provides base classes: ```pkl -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" ``` ### Imports diff --git a/docs/public/custom-linters.pkl b/docs/public/custom-linters.pkl index ccc8cae08..ff9f2f686 100644 --- a/docs/public/custom-linters.pkl +++ b/docs/public/custom-linters.pkl @@ -3,8 +3,8 @@ /// * Demonstrates platform-specific commands /// * Uses conditions and workspace indicators /// * Shows test configuration -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Builtins.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" +import "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Builtins.pkl" local custom_linters = new Mapping { // Custom SQL formatter diff --git a/docs/public/javascript-project.pkl b/docs/public/javascript-project.pkl index 3d27aba5d..68d73a2a3 100644 --- a/docs/public/javascript-project.pkl +++ b/docs/public/javascript-project.pkl @@ -3,8 +3,8 @@ /// * Uses eslint for linting /// * Runs type checking with tsc /// * Enables automatic fixes in pre-commit -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Builtins.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" +import "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Builtins.pkl" // Configure environment for all tools env { diff --git a/docs/public/monorepo.pkl b/docs/public/monorepo.pkl index 4f40c6359..0defde5e9 100644 --- a/docs/public/monorepo.pkl +++ b/docs/public/monorepo.pkl @@ -3,8 +3,8 @@ /// * Backend: Rust /// * Infrastructure: Terraform /// * Uses groups to organize steps by component -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Builtins.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" +import "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Builtins.pkl" // Frontend linters (JavaScript/TypeScript) local frontend = new Group { diff --git a/docs/public/python-project.pkl b/docs/public/python-project.pkl index bb9015f63..2cb763f2c 100644 --- a/docs/public/python-project.pkl +++ b/docs/public/python-project.pkl @@ -4,8 +4,8 @@ /// * Uses mypy for type checking /// * Sorts imports with isort /// * Validates with flake8 -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Builtins.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" +import "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Builtins.pkl" local python_linters = new Mapping { // Ruff is a fast Python linter diff --git a/docs/reference/examples/custom-linters.md b/docs/reference/examples/custom-linters.md index bbe60b1ed..bad9d90de 100644 --- a/docs/reference/examples/custom-linters.md +++ b/docs/reference/examples/custom-linters.md @@ -7,8 +7,8 @@ /// * Uses conditions and workspace indicators /// * Shows test configuration -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Builtins.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" +import "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Builtins.pkl" local custom_linters = new Mapping { // Custom SQL formatter diff --git a/docs/reference/examples/javascript-project.md b/docs/reference/examples/javascript-project.md index 98c09d3fa..5b78bc072 100644 --- a/docs/reference/examples/javascript-project.md +++ b/docs/reference/examples/javascript-project.md @@ -7,8 +7,8 @@ /// * Runs type checking with tsc /// * Enables automatic fixes in pre-commit -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Builtins.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" +import "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Builtins.pkl" // Configure environment for all tools env { diff --git a/docs/reference/examples/monorepo.md b/docs/reference/examples/monorepo.md index b8bdd3f92..5eca85507 100644 --- a/docs/reference/examples/monorepo.md +++ b/docs/reference/examples/monorepo.md @@ -7,8 +7,8 @@ /// * Infrastructure: Terraform /// * Uses groups to organize steps by component -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Builtins.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" +import "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Builtins.pkl" // Frontend linters (JavaScript/TypeScript) local frontend = new Group { diff --git a/docs/reference/examples/python-project.md b/docs/reference/examples/python-project.md index 5181cfb16..801c7049a 100644 --- a/docs/reference/examples/python-project.md +++ b/docs/reference/examples/python-project.md @@ -8,8 +8,8 @@ /// * Sorts imports with isort /// * Validates with flake8 -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Builtins.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" +import "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Builtins.pkl" local python_linters = new Mapping { // Ruff is a fast Python linter diff --git a/hk-example.pkl b/hk-example.pkl index 8ec707663..d9e850685 100644 --- a/hk-example.pkl +++ b/hk-example.pkl @@ -1,5 +1,5 @@ -amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" -import "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Builtins.pkl" +amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" +import "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Builtins.pkl" local linters = new Mapping { // some linters are built into hk diff --git a/hk.pkl b/hk.pkl index 256d59d00..676a3f366 100644 --- a/hk.pkl +++ b/hk.pkl @@ -1,4 +1,4 @@ -// amends "package://github.com/jdx/hk/releases/download/v1.43.0/hk@1.43.0#/Config.pkl" +// amends "package://github.com/jdx/hk/releases/download/v1.44.0/hk@1.44.0#/Config.pkl" amends "pkl/Config.pkl" import "pkl/Builtins.pkl" diff --git a/hk.usage.kdl b/hk.usage.kdl index 2d192ee40..7e9835d30 100644 --- a/hk.usage.kdl +++ b/hk.usage.kdl @@ -1,6 +1,6 @@ name hk bin hk -version "1.43.0" +version "1.44.0" about "A tool for managing git hooks" usage "Usage: hk [OPTIONS] " flag --hkrc help="Path to user configuration file (deprecated: use ~/.config/hk/config.pkl or hk.local.pkl)" hide=#true global=#true {