unstale

pypi / pre-commit

pre-commit

What changed in pre-commit 4, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.

1 breaking3 new APIs and options1 performance1 behavior and defaults10 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.0 on npm

pre-commit 416 changes

Breaking changes 1

New APIs and options 3

  • Adds the pre-commit hazmat command.

    4.5.0release notes

  • Adds unsupported and unsupported_script as aliases for system and script; the existing values will eventually be deprecated.

    4.4.0release notes

  • Adds --fail-fast to stop running hooks after the first failure.

    4.4.0release notes

Performance 1

  • Improve the performance of the commit existence check in pre-push.

    4.6.1release notes

Behavior and default changes 1

  • Allows --hook-dir to be omitted for easier usage with git 2.54+ hooks.

    4.6.0release notes

Fixes and other changes 10

  • Fixes language: node hooks during commits with -a or inside a submodule.

    4.7.0release notes

  • Fixes node-language hooks containing a build script when used with npm 11.x.

    4.6.2release notes

  • Set JULIA_DEPOT_PATH for language: julia hooks.

    4.6.1release notes

  • Install hooks configured with language: node via git to fix npm 12.x compatibility.

    4.6.1release notes

  • Mistyped --repo values now produce an error when running pre-commit autoupdate.

    4.6.1release notes

  • Avoid duplicating conflicted filenames when running all files.

    4.6.1release notes

  • Fixes local hooks configured with language: python so they work without additional_dependencies.

    4.5.1release notes

  • Adds support for detecting docker-in-docker when using cgroups v2.

    4.4.0release notes

  • Handles Docker returning SecurityOptions: null.

    4.4.0release notes

  • Improves the error context reported for invalid stages.

    4.4.0release notes