1.25.1 (2026-02-21)
Code Refactoring
- cleanup: drop pkg/stringutil (6b952ff)
- cleanup: remove dead code (0c58e95)
- file: extract ContentExtractor (b8acb2b)
- git: add defaultGitRunner helper (d0abceb)
- validator: move ruleAdapter to base (46cde6a)
1.25.0 (2026-02-21)
Features
- nix: use XDG paths in home-manager module (87df093)
Bug Fixes
- xdg: address QA findings in migration (0174226)
1.24.0 (2026-02-21)
Features
Bug Fixes
- commit: deduplicate list spacing detection (9f05bf5)
- xdg: isolate homeResolver from env vars (49a69d0)
Performance Improvements
- bench: add comprehensive benchmark suite (e9ddc2e)
- bench: add end-to-end binary benchmarks (67867f1)
1.23.2 (2026-02-21)
Bug Fixes
- output: show all codes in disable hint (58a2075)
Code Refactoring
- session: remove session poisoning (cffdaf1)
1.23.1 (2026-02-21)
Code Refactoring
- output: deduplicate error display format (9ebcf0f)
1.23.0 (2026-02-21)
Features
- cli: add install subcommand (f79890b)
- overrides: add persistent overrides (23ea06f)
- schema: add directive to generated configs (65a5628)
- schema: version config schema (78fdeab)
- update: homebrew detection + --all flag (40b183a)
Code Refactoring
1.22.1 (2026-02-21)
Bug Fixes
- schema: remove alloc size overflow risk (e7beff0)
1.22.0 (2026-02-20)
Features
- schema: add JSON Schema gen for config (fd6c485)
1.21.0 (2026-02-20)
Features
- patterns: add session cleanup and debug cmd (4fca7ce)
- patterns: expand and wire into doctor (5b8ef87)
1.20.2 (2026-02-20)
Bug Fixes
- exceptions: wire system, fix 11 bugs (73d5349)
- markdown: filter context-line false positives (426a0e3)
1.20.1 (2026-02-20)
Bug Fixes
- config: deep merge preserves defaults (2fdce20)
- config: env vars with underscored field names (d805f44)
- markdown: skip Claude Code internal files (8bc7faa)
- validators: specific error messages (6857b96)
Code Refactoring
- refs: move error URLs to /e/ path prefix (0a6577c)
1.20.0 (2026-02-20)
Features
- doctor: interactive output with table (#314) (e41d30c)
- patterns: add failure pattern tracking (#313) (4683568)
Bug Fixes
- doctor: improve skip UX and tool detection (34eabae)
- git: skip trailer lines in list detection (#311) (5beea9e)
- hookresponse: preserve empty lines in details (5102b42)
- markdown: warn for cosmetic table issues (#310) (aac6cd7)
- validators: improve error messages for agent (#312) (ecf8675)
1.19.1 (2026-02-20)
Bug Fixes
- git: skip remote check when added in chain (#306) (fe70cb0)
- hookresponse: deduplicate denial output (#308) (5e6e9ba)
1.19.0 (2026-02-20)
Features
1.18.0 (2026-02-19)
Features
Code Refactoring
- plugin: simplify to exec-only (e132e49)
1.17.1 (2026-02-19)
Bug Fixes
- deps: update go-github from v80/v82 to v83 (#297) (2f11c8a)
- deps: update module github.com/go-git/go-git/v6 to v6.0.0-20260217223433-8b943fe3eb84 (#288) (848f463)
- deps: update module github.com/mattn/go-runewidth to v0.0.20 (#293) (1d198ee)
- deps: update module google.golang.org/grpc to v1.79.1 (#284) (0e2aa63)
1.17.0 (2026-02-18)
Features
Bug Fixes
1.16.0 (2026-02-17)
Features
- validators: skip plan doc md validation (d5ed242)
1.15.0 (2026-02-17)
Features
- validators: add commit_style config option (99fa99d)
- validators: add title_style to PR validator (e7f173d)
Bug Fixes
- config: resolve project config from cd target (6190978)
- session: pin enumer output filename (d4f6e2d)
- validators: wire shellcheck severity config (7a321d0)
1.14.0 (2026-02-11)
Features
1.13.1 (2026-02-11)
Bug Fixes
- ci: grant smyklot bot access to homebrew-tap (515492e)
1.13.0 (2026-02-10)
Features
Bug Fixes
- install: fix checksum verification pattern (33b8015)
Code Refactoring
- lint: fix linter issues (e5c94ea)
1.12.12 (2026-02-09)
Bug Fixes
- deps: update ginkgo to v2.28.1 (#246) (499c810)
- deps: update module github.com/bmatcuk/doublestar/v4 to v4.10.0 (#250) (783456a)
- deps: update module github.com/dmarkham/enumer to v1.6.3 (#265) (8ca49e4)
- deps: update module github.com/go-git/go-git/v6 to v6.0.0-20260206150416-f623c7555599 (#238) (4a7ce69)
- deps: update module github.com/go-viper/mapstructure/v2 to v2.5.0 (#252) (0bc1d14)
- deps: update module github.com/google/go-github/v80 to v82 (#269) (cb7be52)
- deps: update module github.com/knadh/koanf/v2 to v2.3.2 (#266) (ac39d7d)
- deps: update module github.com/onsi/gomega to v1.39.1 (#247) (50418b1)
- deps: update module golang.org/x/term to v0.39.0 (#249) (8acaaec)
- deps: update module google.golang.org/grpc to v1.78.0 (#239) (58da712)
- proto: update module path after org rename (a7630b8)
1.12.11 (2026-02-08)
Bug Fixes
- deps: complete org rename in go.mod (bf49fb6)
1.12.7 (2025-12-12)
Bug Fixes
- nix: fix hash update script bugs (d961e09)
1.12.6 (2025-12-12)
Bug Fixes
1.12.5 (2025-12-11)
Bug Fixes
- deps: update module github.com/go-git/go-git/v6 to v6.0.0-20251210072406-9b5f6428e1da (#208) (738ebd8)
- deps: update module github.com/onsi/gomega to v1.38.3 (#205) (7d56e0c)
1.12.4 (2025-12-10)
Bug Fixes
- deps: update module github.com/onsi/ginkgo/v2 to v2.27.3 (#211) (ac4f121)
- deps: update module golang.org/x/term to v0.38.0 (#206) (a6c03ce)
1.12.3 (2025-12-09)
Bug Fixes
1.12.2 (2025-12-08)
Bug Fixes
- deps: update module github.com/go-git/go-git/v6 to v6.0.0-20251205125627-4aac0c537802 (#189) (d3b03c5)
- deps: update module github.com/go-git/go-git/v6 to v6.0.0-20251206100705-e633db5b9a34 (#191) (a830b86)
1.12.1 (2025-12-07)
Bug Fixes
- deps: update module github.com/go-git/go-git/v6 to v6.0.0-20251205085321-f9b6d05055e2 (#186) (f9cea90)
1.12.0 (2025-12-04)
Features
- crashdump: add panic diagnostic system (#178) (3ea76b5)
- debug: add config dump command (#172) (40ff254)
- session: prevent cascading failures (#175) (910dc41)
- shell: add comprehensive backtick validator (#167) (44f2a45)
Bug Fixes
- config: add koanf squash tag for embeds (#183) (6d981e1)
- deps: update module github.com/go-git/go-git/v6 to v6.0.0-20251204115828-b5fe4178875e (#176) (87680b2)
- deps: update module github.com/google/go-github/v79 to v80 (#181) (120b567)
- deps: update module github.com/google/go-github/v79 to v80 (#184) (5cead5c)
- deps: update module github.com/spf13/cobra to v1.10.2 (#162) (76cd860)
- parser: preserve first -m flag value (#159) (6789adb)
- parser: track directory context from cd (#174) (897686a)
- session: prevent unpoison deadlock (#182) (4f35dcd)
1.11.2 (2025-12-04)
Bug Fixes
1.11.1 (2025-12-03)
Bug Fixes
- deps: update module github.com/go-git/go-git/v6 to v6.0.0-20251202212438-5d40cdde8ca0 (#147) (cfedfa9)
1.11.0 (2025-12-02)
Features
1.10.0 (2025-12-02)
Features
1.9.0 (2025-12-02)
Features
- git: add blocked remotes configuration (#136) (dfb01ca)
- nix: add Nix flake and Home-Manager module (#140) (3fba39f)
- validators: accept branch version comments (#134) (c2ab7f5)
Bug Fixes
1.8.1 (2025-12-02)
Bug Fixes
- ci: pin ruff version to 0.14.7 (#131) (b9dad54), closes #21
- ci: pin ruff with SHA256 hashes (#132) (ae14064), closes #21
1.8.0 (2025-12-01)
Features
- validators: add oxlint JS/TS linter (#129) (cca158d)
- validators: add rustfmt Rust linter (#130) (408ebd5)
1.7.0 (2025-12-01)
Features
- validators: add gofumpt validator (#125) (adc9b2d)
- validators: add ruff Python linter support (#124) (58aade7)
1.6.0 (2025-11-30)
Features
Bug Fixes
- branch: skip validation for query ops (#106) (784ec78)
- git: clear GIT_INDEX_FILE for worktrees (#109) (d3e2a8d)
- markdown: fix MD047 false positive (#120) (3f77fa4)
1.5.0 (2025-11-29)
Features
Bug Fixes
- git: clear GIT_INDEX_FILE in test isolation (#90) (1bfa84d)
- git: isolate tests from parent worktree (#89) (5175c4c)
- git: support worktrees in DiscoverRepository (#83) (30e7db1)
- markdown: disable MD013 for .md/.mdx files (#81) (abd1139)
- shellscript: apply config exclude_rules (#87) (c14252c)
- shellscript: handle fragment edits correctly (#86) (f848ec2)
- shellscript: skip parse errors in fragments (#88) (9bcef49)
Code Refactoring
- commit: use custom conventional parser (#82) (b6c8bb0)
- deps: replace go-isatty with x/term (#85) (8ffd19b)
1.4.0 (2025-11-29)
Features
Bug Fixes
- git: support
-Cflag for git worktrees (#75) (711a25b) - linters: improve markdown fragment handling (#74) (56617b6)
1.3.0 (2025-11-28)
Features
- plugin: add security improvements (#72) (2a5aa8c)
- rules: add dynamic validation rules engine (#55) (541e573)
- validators: add GitHub issue validator (#57) (0bd2b65)
Bug Fixes
- linters: disable MD013 for markdown fragments (#59) (d78f978)
- linters: enhance markdown fragment errors (#54) (793980b)
- linters: handle MD047 for line-0 fragments (#58) (c402a1d)
- validators: align PR errors with policy (#56) (8ea3140)
1.2.0 (2025-11-28)
Features
- validator: add backtick escaping validation (#46) (f2e0968)
- validator: add error refs for validators (#50) (07c8aae)
- validator: validate PR merge commit messages (#41) (d1e0b71)
Bug Fixes
- linters: improve markdownlint-cli2 output (#51) (b201e6b)
- parser: fix strict trailer validation errors (#47) (f19e0ec)
- validator: prevent markdown validator from treating # in code blocks as headers (#35) (68cb540)
- validator: trim HEREDOC trailing newlines (#38) (7e67def)
- validator: use rune count for commit titles (#45) (b9d7339)
Code Refactoring
- errors: migrate to cockroachdb/errors (#52) (ac30eaf)
- validator: unified error reference (#34) (e21a483)
1.1.1 (2025-11-27)
Bug Fixes
1.1.0 (2025-11-26)
Features
- dispatcher: add parallel validator execution (525a592)
- git: add request-scoped git caching (bdfa248)
- plugin: add extensible plugin system with Go/exec/gRPC loaders (#20) (2ed6811)
- validator: add enhanced error reporting (2d94303)
- validator: add secrets detection validator (7df5898)
Bug Fixes
- security: add regex anchors to prevent ReDoS (6a62e6d), closes #123
- validator: use appropriate error codes for commit validation (#29) (89a66e7), closes #23
1.0.2 (2025-11-25)
Bug Fixes
1.0.1 (2025-11-25)
Bug Fixes
1.0.0 (2025-11-25)
⚠ BREAKING CHANGES
- validators: - Markdown formatting violations now block writes (previously warnings only)
- Users must fix markdown errors before files can be written
Signed-off-by: Bart Smykla bartek@smykla.com
Features
- ci: add pre-commit hook for linting (58a652e)
- ci: add test hooks for commit and push (59d6f44)
- cli: add interactive init command (31f8284)
- cli: rename binary to chook, improve install (641c21d)
- commit: allow revert commits without type(scope) (44ad885)
- config: add configuration schema foundation (531e5ab)
- config: add loading and validation (7f7570e)
- config: add markdownlint rule configuration (737d3e3)
- config: add multi-source provider (72b6dc5)
- config: add validator factory system (b2f69e8)
- config: complete validator integration (086ac9a)
- config: integrate config into git validators (5e20797)
- config: integrate config system into main (70ff6c9)
- config: integrate validators with config (450bbd7)
- dev: add mise for tool version management (c30b883)
- doctor: add auto-fix system (2034ee0)
- doctor: add CLI command (276cb5f)
- doctor: add Phase 1 core infrastructure (247dede)
- doctor: add settings parser for phase 2 (7aaca82)
- doctor: implement core checkers (1938abd)
- enums: add enumer code generation for type-safe enums (296b1fb)
- git: add go-git v6 SDK foundation (65fbc9b)
- git: add SDK/CLI factory pattern (91cda94)
- git: block --no-verify flag in git commits (d60d4c2)
- github: add SDK client for GitHub API (e5dbd46)
- git: use SDK implementation by default (8a11e3a)
- golangci: enable additional linters and all gocritic checks (43598e2)
- golangci: enable modernize and err113 linters (5a7b6af)
- hooks: implement CommitValidator with dependency injection (6632a1f), closes #123
- hooks: implement GitPushValidator with remote validation (c88de94)
- hooks: initialize claude-hooks Go rewrite (deac74b)
- hooks: migrate from custom scripts to lefthook (eaa7c60)
- init: add charmbracelet/huh TUI (0cf9115)
- lint: add extensive linter configuration (d92238e)
- lint: enhance linter configuration for nil safety (0e38d82)
- linters: add ShellChecker tests and TfLinter (db684fb)
- linters: add tests and migrate validators (a56f178)
- linters: add typed linter abstractions (2ffe806)
- linters: implement output parsing (#1) (e031f11)
- markdown: add table formatting suggestions (b0f98a3)
- parser: add file write detection (52378d8)
- parser: add git command parsing (a7f3ae8)
- parser: add mvdan.cc/sh dependency (12af6c1)
- parser: implement Bash parser core (968d797)
- pr: improve supporting documentation validation (e9561bb)
- testing: add testscript integration tests (a663a7d)
- testing: add uber-go/mock for mocks (75dd9d9)
- validator: add file commit support (d96732b)
- validators: add branch name validator (13724d8)
- validators: add composable action support (44942b4)
- validators: add forbidden patterns config (2a70e03)
- validators: add GitHub workflow validator (f98de57)
- validators: add heading context preamble (68aa2e0)
- validators: add list context preamble (96acd5b)
- validators: add markdown format validator (7821f33)
- validators: add notification bell handler (3c17f4f)
- validators: add shellscript validator (2d04348)
- validators: add Terraform format validator (771fa3f)
- validators: configurable PR markdown rules (fda88d0)
- validators: enforce mandatory commit scopes (bec535b)
- validators: exempt revert titles from length (55000bd)
- validators: extend markdown validation (48a233a)
- validators: implement GitAddValidator (51dd1c5)
- validators: implement PRValidator (b94609d)
- validators: migrate to PreToolUse hooks (52245bf)
- validators: register MarkdownValidator (41d94e4)
- validators: register new validators (96e17bf)
- validators: use typed linter interfaces (4104c64)
- validators: validate only edit fragments (bc5bd9d)
- validator: validate bash heredoc file writes (209dd5f)
Bug Fixes
- commit: handle git -C option in validation (7245e2e)
- config: merge markdownlint rules properly (5c16210)
- hooks: correct lefthook configuration (e1852ae)
- lint: resolve all linting issues (cd38591)
- lint: resolve golangci-lint v2 issues (f9698c6)
- logger: use local timezone in log timestamps (10c59d3)
- logger: write logs to file only, not stderr (12d36d9)
- mdtable: prevent false positives in spacing detection (d9bae1f)
- notification: handle all notification events with bell (6795dba)
- parser: extract heredoc content from commit messages (23fd58d)
- predicates: handle command chains in git predicates (607e398)
- predicates: handle git global options in matching (ca725b9)
- task: preserve tmp/ directory in clean task (397f55a)
- validator: allow naked URLs in PR bodies (d39207d)
- validator: block attribution footers (1db6453)
- validator: relax markdownlint for PR bodies (e561424)
- validators: allow CLAUDE file references (aaa2580)
- validators: avoid markdown fragment warnings (2ac6853)
- validators: clean temp paths from errors (7295d92)
- validators: disable MD041 for fragments (0442534)
- validators: disable MD047 for mid-file edits (6751df6)
- validators: handle chained git add commands (b7a0f73)
- validators: improve Edit and AI validation (0dc6ea6)
Code Refactoring
- commit: adopt go-conventionalcommits (e1e4b25)
- config: migrate to koanf library (61a95dc)
- config: remove build-time signoff (f240b34)
- dispatcher: improve error formatting (569e854)
- exec: create command execution abstractions (a04c617)
- exec: eliminate nil safety warnings (70c668d)
- hooks: improve lefthook config with v2 features (06cea2d)
- logger: migrate to slog (d48987b)
- logging: improve log readability (8241fd8)
- parser: simplify flag parsing (28d7aae)
- project: rename to klaudiush (c626a16)
- validators: enhance branch validator (5cc88c3)
- validators: fix lint issues in validators (a4c05dd)
- validators: migrate terraform validator to exec pkg (d4f15cd)
- validators: migrate workflow validator to exec package (7b308c4)
- validators: reduce cognitive complexity (443115f)
- validators: replace string builders with templates (125499b)
- validators: thread context for timeouts (ccc8735)