hk Release Notes

Last updated: Feb 10, 2026

  • Feb 9, 2026
    • Date parsed from source:
      Feb 9, 2026
    • First seen by Releasebot:
      Feb 10, 2026

    hk by jdx

    v1.36.0 - Nix and Format Friends

    HK expands its built‑in linter with Nix and infra tooling, adds a PR check mode, and a tmpdir option for clean runs. New builtins for cmake_format, deadnix, hclfmt, nil, nixf_diagnose plus ty support. Includes bug fixes, strict yamllint, and contributor shoutouts.

    Highlights

    • New --pr flag for checking PR-changed files — You can now run hk check --pr to automatically check only the files that have changed in your current pull request compared to the base branch. This makes it easy to run targeted checks during code review without processing your entire codebase. #660
    • New tmpdir step option — Steps can now specify tmpdir = true to run in an isolated temporary directory, useful for tools that need a clean working environment. Thanks @thejcannon! #663
    • ty builtin — Added support for ty, Astral's new Python type checker. Thanks @joonas! #566
    • New Built-in Linters
      • Thanks to @matdibu for contributing five new builtins:
      • cmake_format — Format CMake files #672
      • deadnix — Find unused code in Nix files #670
      • hclfmt — Format HCL/Terraform files #675
      • nil — Nix language server for diagnostics #669
      • nixf_diagnose — Additional Nix diagnostics #671
      • The ruff_format and tombi builtins now use --quiet mode for cleaner output. #667 #676

    Bug Fixes

    • typos now respects exclusions when using --force-exclude — Thanks @CallumKerson! #659
    • check-case-conflict no longer reports false positives from duplicate file entries — Thanks @safinn! #678
    • yamllint now runs in strict mode for more reliable error detection #673
    • Fixed ignore patterns not being respected when recursing into directories — Thanks @thejcannon! #661
    • Fixed Nix flake builds when git submodules are included — Thanks @jeffutter! #681
    • New Contributors
    • Welcome to our new contributors! 🎉
    • @jeffutter
    • @matdibu
    • @safinn
    • @CallumKerson

    Full documentation: https://hk.jdx.dev/ Changelog

    1.36.0 - 2026-02-09

    🚀 Features

    • (cmake_format) init by @matdibu in #672
    • (deadnix) init by @matdibu in #670
    • (hclfmt) init by @matdibu in #675
    • (nil) init by @matdibu in #669
    • (nixf_diagnose) init by @matdibu in #671
    • (ruff_format) use --quiet by @matdibu in #667
    • ( Tomb i ) use --quiet by @matdibu in #676
    • add ty builtin by @joonas in #566
    • add --pr shortcut flag for checking PR-changed files by @jdx in #660
    • add tmpdir step test option by @thejcannon in #663

    🐛 Bug Fixes

    • (bultins) respect typos exclusions with --force-exclude by @CallumKerson in #659
    • (docs) escape angle brackets in --pr flag description by @jdx in #666
    • (docs) use valid
      tags instead of
      in sea shanty by @jdx in 12e17f8
    • (go_fumpt) comment out broken check by @matdibu in #668
    • (yamllint) enable strict mode by @matdibu in #673
    • respect ignore when recursing by @thejcannon in #661
    • Deduplicate files in check-case-conflict to prevent false positives by @safinn in #678
    • Fix building of nix flake wiwth the inclusion of git subomdules by @jeffutter in #681

    🛡️ Security

    • add tone calibration to release notes prompt by @jdx in #679
    • add opengraph meta tags by @jdx in #685

    🔍 Other Changes

    • Use tmpdir for the tests by @thejcannon in #677

    📦️ Dependency Updates

    • lock file maintenance by @renovate[bot] in #658
    • update anthropics/claude-code-action digest to b113f49 by @renovate[bot] in #684
    • update actions/checkout digest to de0fac2 by @renovate[bot] in #683

    New Contributors

    • @jeffutter made their first contribution in #681
    • @matdibu made their first contribution in #673
    • @safinn made their first contribution in #678
    • @CallumKerson made their first contribution in #659
    Original source Report a problem
  • Feb 1, 2026
    • Date parsed from source:
      Feb 1, 2026
    • First seen by Releasebot:
      Feb 10, 2026

    hk by jdx

    v1.35.0 - Poetic Precision

    This release enhances the setup experience with auto-detection and an interactive mode, adds git worktree support, and introduces helpful typo suggestions plus haiku-named stash backups. Internal cleanup trims dependencies for a faster binary.

    This release brings a more intuitive setup experience and some delightful quality-of-life improvements. The hk init command now auto-detects your project's tools and offers an interactive mode, making it easier than ever to get started. We've also added git worktree support for developers working across multiple branches simultaneously.

    Highlights

    Smarter Initialization (#656)

    The hk init command has been significantly enhanced with auto-detection capabilities. It now scans your project to identify which linters and formatters you're using and can automatically configure them for you. An interactive mode lets you review and customize the detected configuration before committing to it.

    Git Worktree Support (#651)

    For developers who use git worktrees to work on multiple branches simultaneously, hk now properly supports this workflow. Hooks and configuration are correctly resolved regardless of which worktree you're working in.

    Helpful Typo Suggestions (#654)

    Made a typo in a command or step name? hk now offers "did you mean?" suggestions, helping you quickly recover from common mistakes without having to look up the correct spelling.

    Haiku-Named Stash Backups (#655)

    Stash patch backups now use memorable haiku-style names instead of cryptic identifiers. This makes it much easier to identify and manage your stashed changes when you need to recover them.

    Internal Improvements

    Migrated to xx utilities and removed unused dependencies, keeping the binary lean (#653)

    For full documentation, visit hk.jdx.dev.

    Changelog

    1.35.0 - 2026-02-01

    🚀 Features
    • (init) add auto-detection and interactive mode by @jdx in #656
    • (stash) use haiku names for stash patch backups by @jdx in #655
    • add git worktree support by @jdx in #651
    • add "did you mean?" suggestions for typos by @jdx in #654
    🚜 Refactor
    • use xx utilities and drop unused dependencies by @jdx in #653
    Original source Report a problem
  • All of your release notes in one feed

    Join Releasebot and get updates from jdx and hundreds of other software products.

  • Jan 27, 2026
    • Date parsed from source:
      Jan 27, 2026
    • First seen by Releasebot:
      Feb 10, 2026

    hk by jdx

    v1.34.0 - Windows of Opportunity

    hk adds official Windows support with Windows CI testing, expanding cross‑platform reliability for dev teams. HTTPS now uses system CA certificates, fixing corporate CA and proxy issues. Documentation clarifies CLI bug fix scope and where changes apply.

    This release brings official Windows support to hk, expanding the tool's reach to developers on all major platforms. Whether you're running Windows, macOS, or Linux, hk now has you covered with tested, reliable git hook management and project linting.
    We've also fixed an important networking issue that was affecting users in corporate environments with custom certificate authorities, ensuring HTTPS requests now properly use your system's trusted certificates.

    Highlights

    Windows Support (#648)

    hk now includes Windows in its CI testing matrix, bringing first-class support for Windows developers. This means you can confidently use hk across your entire team regardless of operating system, making it easier to enforce consistent code quality standards in mixed-platform environments.

    Bug Fixes

    System CA Certificates for HTTPS (#650)

    HTTPS requests now properly use your system's CA certificates instead of a bundled certificate store. This fix is particularly important for users behind corporate proxies or in environments with custom certificate authorities—hk will now respect your system's trusted certificates, eliminating connection failures when downloading tools or fetching remote configurations. Thanks to @lobaorn-bitso for this contribution!

    Documentation

    Clarified that the fix: commit type is specifically for CLI bug fixes, not for CI, docs, or infrastructure changes (#649)

    For full documentation, visit hk.jdx.dev.

    Changelog

    1.34.0 - 2026-01-27

    • 🚀 Features

      • add Windows CI testing and improve Windows support by @jdx in #648
    • 🐛 Bug Fixes

      • use system CA certificates for HTTPS requests by @lobaorn-bitso in #650
    • 📚 Documentation

      • clarify fix type is for CLI bugs only by @jdx in #649
    • New Contributors

      • @lobaorn-bitso made their first contribution in #650
    Original source Report a problem
  • Jan 26, 2026
    • Date parsed from source:
      Jan 26, 2026
    • First seen by Releasebot:
      Feb 10, 2026

    hk by jdx

    chore: release v1.33.0 (#619)

    New release adds LLM generated release titles and improved release notes, plus a string of bug fixes, refactors and dependency updates. Documentation tweaks and new contributors round out the upgrade, boosting stability and developer joy.

    🚀 Features

    • add LLM-generated creative release titles by
      @jdx in
      #624
    • add hook and step tera contexts by
      @thejcannon in
      #645

    🐛 Bug Fixes

    • strip LLM preamble from generated release notes by
      @jdx in
      #618
    • start the job progress hidden by
      @thejcannon in
      #631
    • default stage to for fix steps by
      @chadxz in
      #632
    • remove verbose output from taplo by
      @vmeurisse in
      #364
    • shfmt should use --apply-ignore by
      @thejcannon in
      #643
    • Tell biome not to error on unmatched files by
      @thejcannon in
      #641

    🚜 Refactor

    • Add before/after variables to ruff_format.pkl tests by
      @thejcannon in
      #623
    • test expectations into helpers by
      @thejcannon in
      #625
    • Remove dead code in markdownlint tests by
      @thejcannon in
      #642

    📚 Documentation

    • improve CLAUDE.md with workspace structure and testing info by
      @jdx in
      #621
    • Add linebreaks to shanty by
      @thejcannon in
      #626
    • Fix condition docstring to use exec by
      @thejcannon in
      #630
    • add conventional commit guidance to CLAUDE.md by
      @jdx in
      4d59edf

    🧪 Testing

    • markdownlint builtin by @thejcannon
      in #628
    • gofmt by @thejcannon in
      #603

    🔍 Other Changes

    • improve release title format for robustness by
      @jdx in
      #639

    📦️ Dependency Updates

    • update jdx/mise-action digest to 6d1e696 by
      @renovate[bot] in
      #634
    • update anthropics/claude-code-action digest to 8341a56 by
      @renovate[bot] in
      #633
    • update actions/checkout action to v6 by
      @renovate[bot] in
      #635

    New Contributors

    • @vmeurisse made their first contribution in
      #364
    • @chadxz made their first contribution in
      #632
    Original source Report a problem
  • Jan 19, 2026
    • Date parsed from source:
      Jan 19, 2026
    • First seen by Releasebot:
      Feb 10, 2026

    hk by jdx

    v1.32.0

    A fresh branding and docs refresh lands with a new logo, electric blue theme, and nautical touches across the site. It adds three new feature cards and fixes an issue where commands like hk completion could fail in directories with invalid config files.

    Highlights

    This release brings a refreshed look to the hk documentation site with a new fishing hook logo, electric blue color scheme, and nautical-themed feature descriptions. We've also fixed an issue that caused commands like hk completion bash to fail when run in directories with invalid configuration files.

    New branding and documentation refresh - The documentation site has been completely updated with a new fishing hook logo, electric blue color scheme, and improved homepage layout. The "Why Choose HK?" section now features nautical-themed descriptions that match the hook branding, with titles like "Shipshape," "Tackle Box," and "All Hands on Deck." Three new feature cards highlight Pkl Configuration, Mise Integration, and Parallel Execution. (#616, #617) by @jdx

    Bug Fixes

    Fixed completion and version commands in invalid config directories - Commands that don't need configuration (hk completion, hk usage, hk --version) now work even when run in a directory with an invalid hk.pkl file. This fixes Homebrew bottle test failures and improves the experience when setting up shell completions. (#615) by @jdx

    Original source Report a problem
  • Jan 19, 2026
    • Date parsed from source:
      Jan 19, 2026
    • First seen by Releasebot:
      Feb 10, 2026

    hk by jdx

    v1.31.0

    Release 1.31.0 adds asciidoctor config, fixes lint glob syntax and docs build issues, and refactors release steps. It includes CI workflow tweaks and a new contributor thanks note, signaling stable user facing updates and improvements.

    1.31.0 - 2026-01-19

    🚀 Features

    • (asciidoctor) add asciidoctor config to hk builtin config by @hituzi-no-sippo in #604

    🐛 Bug Fixes

    • glob syntax for linters in getting_started.md by @makp0 in #593
    • docs builtins generation by @makp0 in #606
    • make pkl:dist task executable by @joonas in #607
    • prevent docs build from silently failing when pkl:gen is skipped by @jdx in #609
    • add ci-nogit to final job dependencies by @jdx in #611

    🚜 Refactor

    • break up step.rs into modular components by @jdx in #610
    • move LLM release notes to GitHub release workflow by @jdx in #608

    New Contributors

    • @makp0 made their first contribution in #606
    Original source Report a problem
  • Jan 18, 2026
    • Date parsed from source:
      Jan 18, 2026
    • First seen by Releasebot:
      Feb 10, 2026

    hk by jdx

    v1.29.0

    Version 1.29.0 boosts hk’s linting with 10 new built-in linters across Lua YAML Protobuf and more, plus smarter fixes using git apply for reliable auto fixes. It spotlights community contributions led by @hituzi-no-sippo with Lua support, improved formatting, and several bug fixes.

    Release Summary

    Release Summary

    Version 1.29.0 brings significant improvements to hk's linting capabilities with 10 new built-in linters and enhanced support for Lua and Protocol Buffer development. The release also introduces smarter fix application using git apply for better handling of diff-based fixes, making the auto-fix workflow more reliable across different tools.

    This release showcases the power of community contributions, with most new features coming from external contributors, particularly @hituzi-no-sippo who added extensive linting support for various ecosystems.

    Highlights

    Expanded Linting Coverage

    We've added 10 new built-in linters to help you maintain code quality across more languages and tools:

    • GitHub Actions: ghalint for linting GitHub Actions workflows (#551) by @hituzi-no-sippo
    • GitHub Actions Security: zizmor for security scanning of GitHub Actions (#550) by @hituzi-no-sippo
    • GitHub Actions Optimization: pinact to pin GitHub Actions to specific commits (#552) by @hituzi-no-sippo
    • Documentation: vale for prose linting (#554) by @hituzi-no-sippo
    • YAML: rumdl and ryl for YAML validation (#541, #543) by @hituzi-no-sippo
    • Lua: selene for Lua code analysis (#544) by @hituzi-no-sippo
    • Protocol Buffers: buf_lint and buf_format for Protobuf files (#562, #565) by @joonas
    • EditorConfig: editorconfig-checker to enforce EditorConfig rules (#557) by @hituzi-no-sippo

    Better Language Support

    • Added Lua file type support, enabling all Lua-specific linters to work seamlessly (#558) by @hituzi-no-sippo
    • Added Pkl configuration language file type support (#571) by @hituzi-no-sippo

    Improved Fix Application

    The check_diff command output is now applied directly using git apply, providing more reliable fixes when tools output unified diffs. This particularly improves the experience with formatters like stylua (#561) by @jdx.

    Enhancements

    • Rust Development: Added cargo fix support to the cargo_check builtin, allowing automatic fixes for compiler warnings (#555) by @thejcannon
    • Lua Formatting: stylua now uses check_diff mode for better performance and reliability (#563) by @hituzi-no-sippo

    Bug Fixes

    • Fixed rubocop fix command to work correctly (#572) by @hituzi-no-sippo
    • Fixed jq builtin and removed its non-functional check command (#533, #549) by @thejcannon
    • Added missing check_list_files support to cargo_fmt builtin (#542) by @thejcannon
    • Resolved configuration key inconsistencies between settings.toml and Config.pkl (#539) by @thejcannon
    • Fixed task file regex commands (#534) by @thejcannon
    Original source Report a problem
  • Jan 18, 2026
    • Date parsed from source:
      Jan 18, 2026
    • First seen by Releasebot:
      Feb 10, 2026

    hk by jdx

    v1.28.0

    v1.28.0 boosts speed with smarter configuration caching and simplifies the Pkl config, removing deprecated files. It adds tougher YAML checks and fixes multi-workspace test reliability. Welcome to new contributor @muzimuzhi—the release shines with improvements and clearer setup.

    The v1.28.0 release brings performance improvements through smarter configuration caching and fixes several important bugs. Configuration handling has also been simplified to make hk easier to use and maintain.

    Highlights

    • Faster Performance with Config Caching - hk now caches configuration based on active imports (#531), significantly speeding up repeated runs. This is especially noticeable in larger projects with complex configurations. Thanks to @thejcannon for this optimization!
    • Simplified Configuration - The Pkl configuration system has been streamlined (#517), particularly around regex handling. The deprecated Types.pkl file can now be removed from your projects. This makes writing and maintaining hk configurations more straightforward. See the configuration docs for the updated approach.

    Bug Fixes

    • yq Format Checking - The yq builtin now properly validates YAML formatting by using diff comparisons (#507). Previously, format checks could miss certain style inconsistencies. Your YAML files will now be checked more thoroughly for proper formatting. Thanks @thejcannon!
    • Workspace Testing - Fixed an issue where hk test didn't work correctly with the workspace_indicator setting (#532). Multi-workspace projects can now run tests reliably. Credit to @thejcannon for the fix!

    New Contributors

    Welcome to @muzimuzhi who made their first contribution in #520!

    Original source Report a problem
  • Jan 18, 2026
    • Date parsed from source:
      Jan 18, 2026
    • First seen by Releasebot:
      Feb 10, 2026

    hk by jdx

    v1.27.0

    hk v1.27.0 unlocks local configuration overrides, new built-in linters, and Pkl mirroring for restricted networks. Local hk.local.pkl lets developers customize without touching shared settings, while three new linters boost code quality. Enterprise config improvements and better test file detection.

    hk v1.27.0 brings enhanced configuration flexibility and several new linting tools to streamline your development workflow. This release introduces support for local configuration overrides via hk.local.pkl, allowing teams to maintain personal preferences without modifying shared project settings. Additionally, new built-in linters expand hk's capabilities for maintaining code quality across different file types.
    The release also improves configuration management for enterprise environments with support for Pkl package mirroring through the new HK_PKL_HTTP_REWRITE environment variable, making it easier to work with hk in restricted network environments.

    Highlights

    • Local Configuration Support: You can now create an hk.local.pkl file alongside your project's hk.pkl for personal configuration overrides (#504). This file is automatically gitignored, allowing developers to customize their local setup without affecting the shared project configuration. Perfect for adding personal linters or adjusting settings for your development environment. Learn more about configuration

    • New Built-in Linters: Three new linters join hk's built-in collection:

      • lychee: A fast, async link checker for validating URLs in your documentation and code (#510) by @scop
      • tombi: A Cargo.toml formatter to keep your Rust project manifests tidy (#511) by @hituzi-no-sippo
      • yamlfmt: A YAML formatter for consistent formatting across all your YAML files (#505) by @hituzi-no-sippo
    • Pkl Package Mirroring: The new HK_PKL_HTTP_REWRITE environment variable enables Pkl package mirroring (#512) by @thejcannon. This is particularly useful in corporate environments where direct access to external resources may be restricted.

    Improvements

    • Better Test File Detection: Step globs now apply to test file fallback detection (#498) by @thejcannon, ensuring that your linters correctly identify and process test files based on your configured patterns.

    Bug Fixes

    • The mise built-in linter is now properly registered in the Builtins.pkl file (#492) by @hisaac
    • The fix-smart-quotes utility now preserves file permissions when processing files (#506) by @joonas
    • The fix_smart_quotes built-in now correctly uses stage = "" for better performance (#503) by @joonas

    New Contributors

    • @hituzi-no-sippo made their first contribution in #511
    Original source Report a problem
  • Jan 17, 2026
    • Date parsed from source:
      Jan 17, 2026
    • First seen by Releasebot:
      Feb 10, 2026

    hk by jdx

    chore: release v1.30.0 (#576)

    30.0 ships with new check_list_files capabilities and added diff tooling for BOM and fixes in tooling. Refactors, tests, and dependency updates streamline workflows and improve reliability.

    1.30.0 - 2026-01-17

    🚀 Features

    • Give fix-smart-quotes util check_list_files capabilities by @thejcannon in #584
    • Add check_diff to some hk utils by @thejcannon in #583
    • Add check_diff to fix-smart-quotes by @thejcannon in #585
    • Add diff capabilities to BOM util by @thejcannon in #600

    🐛 Bug Fixes

    • (rubocop) add --force-exclusion flag to respect RuboCop config excludes by @hituzi-no-sippo in #574
    • Unset HK_LIBGIT2 in nogit bats tests by @thejcannon in #589
    • test:bats arg handling by @thejcannon in #592
    • Format the generated pkl file by @thejcannon in #594
    • make hook exclude strip leading ./ by @thejcannon in #598

    🚜 Refactor

    • Move completely to mise-tasks tasks by @thejcannon in #588
    • Make pkl/ taskdir by @thejcannon in #590
    • Generate pkl/Builtins.pkl from the builtins by @thejcannon in #591
    • Change to a single byte_order_marker builtin by @thejcannon in #595
    • Combine both BOM rust files into one by @thejcannon in #596
    • Render test_runner file keys once by @thejcannon in #581

    🧪 Testing

    • Add support for tests in subdir of test/ by @thejcannon in #587
    • Add tests to biome builtin by @thejcannon in #599

    🔍 Other Changes

    • skip release-plz workflow on forks by @joonas in #575
    • (re)sort entries in Builtins.pkl by @muzimuzhi in #580

    📦️ Dependency Updates

    • update anthropics/claude-code-action digest to 1b8ee3b by @renovate[bot] in #578
    • lock file maintenance by @renovate[bot] in #586
    • update rust crate libc to v0.2.180 by @renovate[bot] in #579

    Co-authored-by: mise-en-dev [email protected]

    Original source Report a problem

Related products