# pre-commit changelog > A framework for managing multi-language Git pre-commit hooks. - Vendor: pre-commit - Category: Developer Tools - Official site: https://pre-commit.com - Tracked by: What's New (https://whatsnew.fyi/product/pre-commit) - Harvested from: GitHub (pre-commit/pre-commit) - Entries below: 11 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### v4.6.2 — pre-commit v4.6.2 - Date: 2026-08-10 - Version: v4.6.2 - Original notes: https://github.com/pre-commit/pre-commit/releases/tag/v4.6.2 - Permalink: https://whatsnew.fyi/product/pre-commit/releases/v4.6.2 - **fixed** — Fix language: node hooks that contain "scripts": {"build": ...} with npm 11.x ###### Fixes - Fix `language: node` hooks that contain `"scripts": {"build": ...}` with npm 11.x. - Regressed in 4.6.1. - #3737 issue by @mheiges. - #3743 PR by @asottile. ### v4.6.1 — pre-commit v4.6.1 - Date: 2026-07-21 - Version: v4.6.1 - Original notes: https://github.com/pre-commit/pre-commit/releases/tag/v4.6.1 - Permalink: https://whatsnew.fyi/product/pre-commit/releases/v4.6.1 - **fixed** — Install language: node hooks via git to fix npm 12.x compatibility - **fixed** — Set JULIA_DEPOT_PATH for language: julia - **fixed** — Produce error on mistyped --repo for pre-commit autoupdate - **fixed** — Improve performance of commit existence check in pre-push - **fixed** — Avoid duplicating conflicted filenames during pre-commit run --all-files ###### Fixes - Install `language: node` hooks via `git`. - Fixes npm 12.x compatibility - #3719 PR by @asottile. - #3517 issue by @ojob. - Set `JULIA_DEPOT_PATH` for `language: julia`. - #3711 PR by @damonbayer. - pre-commit-ci/runner-image#335 issue by @damonbayer. - Produce error on mistyped `--repo` for `pre-commit autoupdate`. - #3701 PR by @mxr. - #3695 issue by @mxr. - Improve performance of commit existence check in `pre-push`. - #3726 PR by @asottile. - #3604 issue by @ptarjan. - Avoid duplicating conflicted filenames during `pre-commit run --all-files`. - #3727 PR by @asottile. - #3706 issue by @RomanValov. ### v4.6.0 — pre-commit v4.6.0 - Date: 2026-04-21 - Version: v4.6.0 - Original notes: https://github.com/pre-commit/pre-commit/releases/tag/v4.6.0 - Permalink: https://whatsnew.fyi/product/pre-commit/releases/v4.6.0 - **added** — Allow `--hook-dir` to be missing in `pre-commit hook-impl` to enable easier usage with git 2.54+ git hooks - **fixed** — Make `--hook-type` required in `pre-commit hook-impl` ###### Features - `pre-commit hook-impl`: allow `--hook-dir` to be missing to enable easier usage with `git` 2.54+ git hooks. - #3662 PR by @asottile. ###### Fixes - `pre-commit hook-impl`: `--hook-type` is required. - #3661 PR by @asottile. ### v4.5.1 — pre-commit v4.5.1 - Date: 2025-12-16 - Version: v4.5.1 - Original notes: https://github.com/pre-commit/pre-commit/releases/tag/v4.5.1 - Permalink: https://whatsnew.fyi/product/pre-commit/releases/v4.5.1 - **fixed** — Fix language: python with repo: local without additional_dependencies ###### Fixes - Fix `language: python` with `repo: local` without `additional_dependencies`. - #3597 PR by @asottile. ### v4.5.0 — pre-commit v4.5.0 - Date: 2025-11-22 - Version: v4.5.0 - Original notes: https://github.com/pre-commit/pre-commit/releases/tag/v4.5.0 - Permalink: https://whatsnew.fyi/product/pre-commit/releases/v4.5.0 ###### Features - Add `pre-commit hazmat`. - #3585 PR by @asottile. ### v4.4.0 — pre-commit v4.4.0 - Date: 2025-11-08 - Version: v4.4.0 - Original notes: https://github.com/pre-commit/pre-commit/releases/tag/v4.4.0 - Permalink: https://whatsnew.fyi/product/pre-commit/releases/v4.4.0 - **added** — Add --fail-fast option to pre-commit run - **changed** — Upgrade ruby-build / rbenv - **added** — Add language: unsupported / language: unsupported_script as aliases for language: system / language: script - **added** — Add support docker-in-docker detection for cgroups v2 - **fixed** — Handle when docker gives SecurityOptions: null - **fixed** — Fix error context for invalid stages in .pre-commit-config.yaml ###### Features - Add `--fail-fast` option to `pre-commit run`. - #3528 PR by @JulianMaurin. - Upgrade `ruby-build` / `rbenv`. - #3566 PR by @asottile. - #3565 issue by @MRigal. - Add `language: unsupported` / `language: unsupported_script` as aliases for `language: system` / `language: script` (which will eventually be deprecated). - #3577 PR by @asottile. - Add support docker-in-docker detection for cgroups v2. - #3535 PR by @br-rhrbacek. - #3360 issue by @JasonAlt. ###### Fixes - Handle when docker gives `SecurityOptions: null`. - #3537 PR by @asottile. - #3514 issue by @jenstroeger. - Fix error context for invalid `stages` in `.pre-commit-config.yaml`. - #3576 PR by @asottile. ### v4.3.0 — pre-commit v4.3.0 - Date: 2025-08-09 - Version: v4.3.0 - Original notes: https://github.com/pre-commit/pre-commit/releases/tag/v4.3.0 - Permalink: https://whatsnew.fyi/product/pre-commit/releases/v4.3.0 - **added** — detect rootless docker for language: docker and language: docker_image - **changed** — language: julia now avoids startup.jl when executing hooks - **changed** — language: dart now supports latest dart versions which require a higher sdk lower bound ###### Features - `language: docker` / `language: docker_image`: detect rootless docker. - #3446 PR by @matthewhughes934. - #1243 issue by @dkolepp. - `language: julia`: avoid `startup.jl` when executing hooks. - #3496 PR by @ericphanson. - `language: dart`: support latest dart versions which require a higher sdk lower bound. - #3507 PR by @bc-lee. ### v4.2.0 — pre-commit v4.2.0 - Date: 2025-03-18 - Version: v4.2.0 - Original notes: https://github.com/pre-commit/pre-commit/releases/tag/v4.2.0 - Permalink: https://whatsnew.fyi/product/pre-commit/releases/v4.2.0 - **added** — For language: python first attempt a versioned python executable for the default language version before consulting a potentially unversioned sys.executable - **fixed** — Handle error during conflict detection when a file is named HEAD ###### Features - For `language: python` first attempt a versioned python executable for the default language version before consulting a potentially unversioned `sys.executable`. - #3430 PR by @asottile. ###### Fixes - Handle error during conflict detection when a file is named "HEAD" - #3425 PR by @tusharsadhwani. ### v4.1.0 — pre-commit v4.1.0 - Date: 2025-01-20 - Version: v4.1.0 - Original notes: https://github.com/pre-commit/pre-commit/releases/tag/v4.1.0 - Permalink: https://whatsnew.fyi/product/pre-commit/releases/v4.1.0 - **added** — Add language: julia - **fixed** — Disable automatic toolchain switching for language: golang - **fixed** — Fix language: r installation when initiated by RStudio ###### Features - Add `language: julia`. - #3348 PR by @fredrikekre. - #2689 issue @jmuchovej. ###### Fixes - Disable automatic toolchain switching for `language: golang`. - #3304 PR by @AleksaC. - #3300 issue by @AleksaC. - #3149 issue by @nijel. - Fix `language: r` installation when initiated by RStudio. - #3389 PR by @lorenzwalthert. - #3385 issue by @lorenzwalthert. ### v4.0.1 — pre-commit v4.0.1 - Date: 2024-10-08 - Version: v4.0.1 - Original notes: https://github.com/pre-commit/pre-commit/releases/tag/v4.0.1 - Permalink: https://whatsnew.fyi/product/pre-commit/releases/v4.0.1 - **fixed** — Fix `pre-commit migrate-config` for unquoted deprecated stages names with purelib `pyyaml` ###### Fixes - Fix `pre-commit migrate-config` for unquoted deprecated stages names with purelib `pyyaml`. - #3324 PR by @asottile. - pre-commit-ci/issues#234 issue by @lorenzwalthert. ### v4.0.0 — pre-commit v4.0.0 - Date: 2024-10-05 - Version: v4.0.0 - Original notes: https://github.com/pre-commit/pre-commit/releases/tag/v4.0.0 - Permalink: https://whatsnew.fyi/product/pre-commit/releases/v4.0.0 - **changed** — Improve `pre-commit migrate-config` to handle more yaml formats - **changed** — Handle `stages` deprecation in `pre-commit migrate-config` - **changed** — Upgrade `ruby-build` - **added** — Add "sensible regex" warnings to `repo: meta` - **added** — Add warnings for deprecated `stages` (`commit` -> `pre-commit`, `push` -> `pre-push`, `merge-commit` -> `pre-merge-commit`) - **removed** — Remove `language: python_venv` -- use `language: python` instead ###### Features - Improve `pre-commit migrate-config` to handle more yaml formats. - #3301 PR by @asottile. - Handle `stages` deprecation in `pre-commit migrate-config`. - #3302 PR by @asottile. - #2732 issue by @asottile. - Upgrade `ruby-build`. - #3199 PR by @ThisGuyCodes. - Add "sensible regex" warnings to `repo: meta`. - #3311 PR by @asottile. - Add warnings for deprecated `stages` (`commit` -> `pre-commit`, `push` -> `pre-push`, `merge-commit` -> `pre-merge-commit`). - #3312 PR by @asottile. - #3313 PR by @asottile. - #3315 PR by @asottile. - #2732 issue by @asottile. ###### Migrating - `language: python_venv` has been removed -- use `language: python` instead. - #3320 PR by @asottile. - #2734 issue by @asottile.