NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #885 most downloaded on PyPI
A fast Git hook manager written in Rust, designed as a drop-in alternative to pre-commit, reimagined.
Last release 6 days ago
28 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 57 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
1 years old
85 releases · first in 2025
One column per month.
In our end-to-end benchmark, prek is about 38% faster than 0.5.3, with some builtin hooks up to 273% faster ( check-yaml : 273%, check-json : 80%, che
Released on 2026-09-28.
In our end-to-end benchmark, prek is about 38% faster than 0.5.3, with some builtin
hooks up to 273% faster (check-yaml: 273%, check-json: 80%,
check-merge-conflict: 71%).
include_deleted to allow hooks to include deleted files (#2733)--check and simplify end-of-file-fixer (#2764)--check to file-contents-sorter (#2765)--check to requirements-txt-fixer (#2766)--check to trailing-whitespace (#2763)prek util generate-shell-completion (#2727)hide_status in project and user configuration (#2760)mixed-line-ending and trailing-whitespace (#2769)check-merge-conflict files in fixed-size blocks (#2781)check-json, check-toml, and check-yaml (#2770)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.5.4/prek-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.5.4/prek-installer.ps1 | iex"brew install prek| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prekYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Add PEP 740 attestations for PyPI releases
Released on 2026-09-13.
check-jsonc builtin hook (#2682)granit-parser to fix YAML flow indentation (#2707)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.5.3/prek-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.5.3/prek-installer.ps1 | iex"brew install prek| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prekYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Allow unknown tags by default in check-yaml
Released on 2026-09-03.
check-yaml (#2678)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.5.2/prek-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.5.2/prek-installer.ps1 | iex"brew install prek| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prekYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Add --hide-status <passed|failed|skipped> for hook reports
Released on 2026-09-01.
--hide-status <passed|failed|skipped> for hook reports (#2644)prek init for repository setup (#2636)env during environment creation (#2650)check-yaml diagnostics (#2664)cargo-binstall for Rust CLI dependencies (#2658)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.5.1/prek-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.5.1/prek-installer.ps1 | iex"brew install prek| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prekYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>The breaking changes in this release are mostly small cleanups, and most users should not be affected.
Released on 2026-08-27.
language_version now accepts a source preference alongside the version
request, letting you control where prek looks for a compatible toolchain when
it creates a hook environment. Use managed (the default) or system to choose
which source prek tries first while still allowing fallback and downloads. Use
only-managed or only-system to require one source.
For example, this local Ruff hook requires a Python 3.12 toolchain managed by
prek:
repos:
- repo: local
hooks:
- id: ruff
name: ruff
language: python
entry: ruff check
additional_dependencies: [ruff]
language_version:
request: "3.12"
preference: only-managedWith only-managed, prek reuses a compatible toolchain from its managed store
or downloads one when needed. It never falls back to Python from PATH, an OS
package manager, or a version manager, so toolchain selection does not depend on
the developer or CI machine's external environment.
Existing scalar values such as language_version: "3.12" continue to work. See
toolchain management and language_version
for the full source-selection behavior. (#2613)
The breaking changes in this release are mostly small cleanups, and most users should not be affected.
@. This prefix is now reserved for special group selectors such as the new @ungrouped selector. (#2617)PREK_MAX_CONCURRENCY has been removed. Use PREK_CONCURRENT_HOOKS and PREK_CONCURRENT_BATCHES to control hook and per-hook batch concurrency separately. (#2620)prek init-template-dir command has been removed. Use prek util init-template-dir, or prek init-templatedir for drop-in compatibility with pre-commit. (#2623)prek auto-update has been removed. Use prek update, or prek autoupdate for drop-in compatibility with pre-commit. (#2619)language: python to opt out of fast-path hooks (#2608)run and update options in CLI help (#2629)@ungrouped group selector (#2617){hook_repo} placeholder in hook entry (#2602)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.5.0/prek-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.5.0/prek-installer.ps1 | iex"brew install prek| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prekYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Reuse allocations in common filters
Released on 2026-08-17.
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.14/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.14/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
The new language: mise support lets hooks install tools using `mise` in an isolated environment:
Released on 2026-08-10.
The new language: mise support lets hooks install tools using
mise in an isolated environment:
repos:
- repo: local
hooks:
- id: golangci-lint
name: golangci-lint
language: mise
additional_dependencies: ["aqua:golangci/golangci-lint@2"]
entry: golangci-lint run --fast-only ./...
pass_filenames: false
The new prek exec subcommand can run an explicit command in a configured
hook's prepared environment. For example, the hook above makes its managed
binary available to this command:
$ prek exec golangci-lint -- golangci-lint --version
mise language support (#2540)deny-filename-pattern and require-filename-pattern hooks (#2488)prek exec for running commands in a hook environment (#2478)yaml-language-server: comment to YAML sample config (#2486)prek cache size output terminal-aware (#2508)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.13/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.13/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Add --require-group for hook group intersections
Released on 2026-08-03.
--require-group for hook group intersections (#2472)uv from Astral CDN and drop source racing (#2455)prek install --force bypass external hooks paths (#2437)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.12/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.12/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
This release adds two new builtin hooks, deny-pattern and require-pattern, as native alternatives for pygrep use cases. deny-pattern fails when a conf
Released on 2026-07-25.
This release adds two new builtin hooks, deny-pattern and require-pattern,
as native alternatives for pygrep use cases. deny-pattern fails when a
configured pattern is found, while require-pattern ensures every selected
file contains a match. By matching natively without spawning a Python
subprocess, they run over 4x faster than pygrep in benchmarks. Note that
they use Rust regex syntax, which does
not support look-around features such as negative lookbehind.
prek run now supports --glob <PATTERN> to run hooks on tracked files
matching a glob. It can be repeated or combined with --files and
--directory.
Hook priorities now support reusable aliases:
[priorities]
checks = 10
[[repos]]
repo = "builtin"
hooks = [
{ id = "check-json", priority = "checks" },
{ id = "check-yaml", priority = "checks" },
]
This makes parallel scheduling easier to read and maintain.
deny-pattern and require-pattern builtin hooks (#2359)--glob patterns in prek run (#2381)requirements-txt-fixer as a builtin hook (#2390)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.11/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.11/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Add freeze option to update settings
Released on 2026-07-16.
GIT_WORK_TREE to git commands (#2356)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.10/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.10/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Note: This release changes the repository identity schema stored in cached hook environments. Existing hook environments will be invalidated, and prek
Released on 2026-07-11.
Note: This release changes the repository identity schema stored in cached hook environments. Existing hook environments will be invalidated, and prek will reinstall them automatically when needed.
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.9/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.9/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Fix progress insertion after collapsed rows
Released on 2026-07-04.
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.8/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.8/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Nothing published for this version
Verify managed toolchain downloads before installation
Released on 2026-07-01.
PREK_DOCKER_NO_INIT to opt-out Docker --init (#2242)PREK_CONCURRENT_HOOKS and PREK_CONCURRENT_BATCHES (#2276)language_version inferring for Python and Go (#2241)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.6/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.6/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
0.4.5 completes prek's pre-commit language coverage. With R, Conda, Perl, and coursier now supported, prek supports every language available in pre-co
Released on 2026-06-15.
0.4.5 completes prek's pre-commit language coverage. With R, Conda, Perl,
and coursier now supported, prek supports every language available in
pre-commit, plus prek-only modern languages such as Bun and Deno.
This is full feature parity with pre-commit. The last major compatibility gap
is closed, and prek is now on the path to 1.0.
If prek saves time for you or your team, please consider sponsoring the
project on GitHub Sponsors. It helps keep
new features, performance work, and maintenance moving.
Perl language support (#2201)R language support (#2206)Conda language support (#2203)coursier language support (#2194)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.5/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.5/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
0.4.4 makes prek run easier to watch and easier to slice.
Released on 2026-06-04.
0.4.4 makes prek run easier to watch and easier to slice.
Hook stream output now shows a small live preview under the running hook in the
progress UI. Long-running hooks no longer look stuck while they are producing
logs, and failed hooks are easier to diagnose because recent output is already
visible before the final result.
The new group selector lets a single config support different workflows. Tag
hooks with groups, then select or exclude those groups at run time:
repos:
- repo: local
hooks:
- id: format
name: Format Python
language: system
entry: ruff format
groups: [format, ci]
- id: lint
name: Lint Python
language: system
entry: ruff check
groups: [lint, ci]prek run --all-files --group ci
prek run --all-files --no-group formatThis is useful when local development, CI, slow validation, or project-specific
checks need different hook sets without splitting the config.
If prek saves time for you or your team, please consider sponsoring the
project on GitHub Sponsors. It helps keep
new features, performance work, and maintenance moving.
prek run (#2141)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.4/prek-installer.sh | shpowershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.4/prek-installer.ps1 | iex"brew install prek| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prekYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>If prek saves time for you or your team, please consider sponsoring the project on GitHub Sponsors. It helps keep new features, performance work, and
Released on 2026-05-27.
If prek saves time for you or your team, please consider sponsoring the
project on GitHub Sponsors. It helps keep
new features, performance work, and maintenance moving.
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
0.4.2 is mainly about making prek run faster in large repos.
Released on 2026-05-26.
0.4.2 is mainly about making prek run faster in large repos.
prek now does less git diff work. After hooks run, prek uses diff checks
to detect files changed by hooks. If a hook modifies files, prek marks that hook
as failed. That is important, but full diff snapshots can be slow in big repos,
especially when they happen after every hook group.
We skip the expensive diff path in two common cases: built-in hooks that prek knows are read-only, and clean worktrees where a cheap dirty check is enough unless a hook actually changes files. In the right large-repo workload, skipping that work can make runs up to 10x faster.
Workspace mode is faster too. Hooks have historically been too serial.
Priority-based concurrency helped, but it required users to choose good
priority values. Now sibling projects at the same workspace depth run in
parallel automatically. Their files do not overlap, so this is safe and needs
no extra config. For multi-project workspaces, this can dramatically reduce
total hook time.
If prek saves time for you or your team, please consider sponsoring the
project on GitHub Sponsors. It helps keep
new features, performance work, and maintenance moving.
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.2/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.2/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Fix pre-push range after rebase
Released on 2026-05-20.
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
These are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.
Released on 2026-05-14.
These are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.
-q, -v, or --no-progress passed to prek install. This only affects users who expected those global flags to be baked into installed hooks. (#1966)language_version no longer accepts direct executable paths. Use language_version: system for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. (#1831)--config, --cd, --log-file and --git-dir (#2063)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.0/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Respect hook filters for message files
Released on 2026-05-06.
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.13/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.13/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
auto_update.cooldown_days is now available in both the user-level global config (~/.config/prek/prek.toml on Linux and macOS, or $XDG_CONFIG_HOME/prek
Released on 2026-05-05.
auto_update.cooldown_days is now available in both the user-level global config (~/.config/prek/prek.toml on Linux and macOS, or $XDG_CONFIG_HOME/prek/prek.toml when set; %APPDATA%\prek\prek.toml on Windows) and project config.
Set a user default for prek auto-update, then override it per project when a repository needs a different update cadence.
[auto_update]
cooldown_days = 7
language: dart (#1146)$PATH for gem invocations (#2021)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.12/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.12/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Hook entries now have an explicit shell option for shell snippets. Set shell: sh, bash, pwsh, powershell, or cmd when an entry should be evaluated by
Released on 2026-04-27.
Hook entries now have an explicit shell option for shell snippets. Set
shell: sh, bash, pwsh, powershell, or cmd when an entry should be
evaluated by that shell; leaving it unset keeps prek's direct argv execution.
prek auto-update can now filter tag candidates before choosing an update.
Both options take glob patterns: use --include-tag to only consider matching
tag names, and --exclude-tag to skip matching tags such as moving tags or
prereleases.
auto-update --exclude-repo <repo> to skip repos (#1983)auto-update --exit-code to exit with non-zero on updates (#2002)auto-update --include-tag <pattern>/--exclude-tag <pattern> to filter tags (#1984)shell hook option for entries that should run as shell source (#2004)--hook-dir optional for hook-impl (#1989)--script-version is missing (#1990)pass_filenames concurrency docs (#1999)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.11/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.11/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Disallow rev for non-remote repos in schema
Released on 2026-04-21.
@j178/prek npm package (#1973)SKILL.md for prek (#1950)gh skill install j178/prek prek to install prek skill for agents (#1951)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.10/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.10/prek-installer.ps1 | iex"
brew install prek
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
prek auto-update is now stricter about pinned revisions and more useful in CI. It now keeps rev and # frozen: comments in sync, can detect impostor co
Released on 2026-04-13.
prek auto-update is now stricter about pinned revisions and more useful in CI.
It now keeps rev and # frozen: comments in sync, can detect
impostor commits when validating pinned SHAs,
and lets you use prek auto-update --check to fail on both available updates and frozen-ref
mismatches without rewriting the config.
Examples:
$ prek auto-update
# updates revs and repairs stale `# frozen:` comments
$ prek auto-update --freeze
# writes frozen SHAs with matching `# frozen: <tag>` comments
$ prek auto-update --check
# exits non-zero when updates are available, a `# frozen:` comment is stale,
# or a pinned SHA does not belong to the fetched upstream refs
language: dotnet support (#1871)core.hooksPath (#1892)prek run --no-fail-fast to override config file (#1859)forbid-new-submodules as builtin hook (#1853)cache gc (#1877)auto-update --freeze output (#1916)auto-update (#1936)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.9/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.9/prek-installer.ps1 | iex"
brew install prek
npm install @j178/prek@0.3.9
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Add experimental language: deno support
Released on 2026-03-23.
language: deno support (#1516)pretty-format-json as builtin hook (#915)check-vcs-permalinks as builtin hook (#1842)check-illegal-windows-names as builtin hook (#1841)check-shebang-scripts-are-executable builtin hook (#1847)destroyed-symlinks builtin hook (#1851)file-contents-sorter as builtin hook (#1846)--all flag to prek uninstall (#1817)uv binary after download (#1825)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.8/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.8/prek-installer.ps1 | iex"
brew install prek
npm install @j178/prek@0.3.8
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
If you run prek in GitHub CI, please try `j178/prek-action@v2.0.0-beta.4`. The 2.0 beta series rewrites the action in TypeScript, adds semver range su
Released on 2026-03-16.
If you run prek in GitHub CI, please try j178/prek-action@v2.0.0-beta.4. The 2.0 beta series rewrites the action in TypeScript, adds semver range support for prek-version, and verifies downloaded prek archives with published SHA-256 checksums. We'd appreciate any bug reports.
prek install-hooks to prek prepare-hooks and prek install --install-hooks to prek install --prepare-hooks (#1766)detect_private_key by chunked reading and using aho-corasick (#1791)fix_byte_order_marker by shifting file contents in place (#1790)GOTOOLCHAIN=local when probing system go (#1797)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.6/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.6/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.3.6
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Add automatic Ruby download support using rv binaries
Released on 2026-03-09.
--git-dir to force hook installation target (#1723)--quiet, --verbose, and --no-progress through prek install into generated hook scripts (#1753)core.sharedRepository for hook permissions (#1755)cli: git dependency 4th segment package disambiguation (#1747)__main__.py entry (#1741)UV_SYSTEM_PYTHON from uv venv and pip install commands (#1756)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.5/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.5/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.3.5
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Allow pass_filenames to accept a positive integer
Released on 2026-02-28.
pass_filenames to accept a positive integer (#1698)--locked for Rust cargo install commands (#1661)PREK_MAX_CONCURRENCY environment variable for configuring maximum concurrency (#1697)PREK_LOG_TRUNCATE_LIMIT environment variable for configuring log truncation (#1679)python -m prek (#1686)winget install j178.Prek (#1670)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.4/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.4/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.3.4
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Read Python version specifier from hook repo pyproject.toml
Released on 2026-02-15.
pyproject.toml (#1596)#:schema directives to generated prek.toml (#1597)prek util list-builtins command (#1600)mise, uv tool, pipx, and asdf (#1605, #1607)cache clean and show removal summary (#1616)yaml-to-toml CONFIG argument optional (#1593)prek uninstall removes legacy scripts too (#1622)files/exclude filter against relative path of nested project (#1624)musllinux wheel tag for uv on musl-based distros (#1628)prek list description (#1604)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.3/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.3/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.3.3
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
We replaced the long-deprecated serde-yaml crate with `serde-saphyr` for YAML parsing. It is written in safe Rust and has better error messages, perfo…
Released on 2026-02-06.
prek.toml is here!
You can now use prek.toml as an alternative to .pre-commit-config.yaml for configuring prek. prek.toml mirrors the structure of .pre-commit-config.yaml, but TOML is less error-prone. Your existing .pre-commit-config.yaml will continue to work, but for new users and new projects, prek.toml may make more sense. If you want to switch, run prek util yaml-to-toml to convert YAML configs to prek.toml. See configuration docs for details.
For example, this config:
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: check-yaml
Can be written as prek.toml like this:
[[repos]]
repo = "https://github.com/pre-commit/pre-commit-hooks"
rev = "v6.0.0"
hooks = [ { id = "check-yaml" } ]
serde-yaml has been replaced with serde-saphyr
We replaced the long-deprecated serde-yaml crate with serde-saphyr for YAML parsing. It is written in safe Rust and has better error messages, performance, and security. This lets us provide precise location information for configuration parsing errors, which should make it easier to fix config issues.
For example, this invalid config:
repos:
- repo: https://github.com/crate-ci/typos
hooks:
- id: typos
Before:
$ prek run
error: Failed to parse `.pre-commit-config.yaml`
caused by: Invalid remote repo: missing field `rev`
Now:
$ prek run
error: Failed to parse `.pre-commit-config.yaml`
caused by: error: line 2 column 5: missing field `rev` at line 2, column 5
--> <input>:2:5
|
1 | repos:
2 | - repo: https://github.com/crate-ci/typos
| ^ missing field `rev` at line 2, column 5
3 | hooks:
4 | - id: typos
|
prek util subcommands
We added a new prek util top-level command for miscellaneous utilities that don't fit into other categories. The first two utilities are:
prek util identify: shows the identification tags of files that prek uses for file filtering, which can be useful for debugging and writing types/types_or/exclude_types filters.prek util yaml-to-toml: converts .pre-commit-config.yaml to prek.toml.We also moved prek init-template-dir under prek util for better organization. The old prek init-template-dir command is still available (hidden) as an alias for backward compatibility.
prek util identify subcommand (#1554)prek util yaml-to-toml to convert .pre-commit-config.yaml to prek.toml (#1584)serialize_yaml_scalar using serde-saphyr (#1534)identify and init-template-dir under the prek util top-level command (#1574)Julia language (#1519)prek.toml (#1271)PREK_QUIET environment variable support (#1513)OpenClaw to the list of users (#1517)cachix/devenv, apache/lucene, copper-project/copper-rs as projects using prek (#1531, #1514, #1569)llms.txt generation for LLM-friendly documentation (#1553)--refresh to pick up .prekignore changes (#1575)prek.toml (#1576)prek.toml in run hint for config filename (#1578)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.2/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.2/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.3.2
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Extract go version constraint from go.mod
Released on 2026-01-31.
language: swift support (#1463)language: haskell support (#1484)go.mod (#1457)GIT_CONFIG_PARAMETERS for private repository authentication (#1472)CocoIndex as a project using prek (#1477)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.1/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.1/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.3.1
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
You can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Released on 2026-01-31.
language: swift support (#1463)language: haskell support (#1484)go.mod (#1457)GIT_CONFIG_PARAMETERS for private repository authentication (#1472)CocoIndex as a project using prek (#1477)prek cache gc (also available via prek gc for pre-commit compatibility) is finally here! You can now run prek cache gc to clean up unused repos, hook
Released on 2026-01-22.
prek cache gc (also available via prek gc for pre-commit compatibility) is finally here! You can now run prek cache gc to clean up unused repos, hook envs and tool versions from prek cache.
language: bun is now supported, making it possible to write and run hooks with Bun.
Implement prek cache gc (#1410)
Add language: bun support (#1411)
git ls-remote --tags to list bun versions (#1439)Accept --stage as an alias for --hook-stage in prek run (#1398)
Expand ~ tilde in PREK_HOME (#1431)
Support refs to trees (#1449)
split() instead of resolve(None) for builtin hook argument parsing (#1415)simple-icons and ast-grep to the users of prek (#1403)repo field (#1432)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.0/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.0/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.3.0
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
Build binaries using minimal-size profile
Released on 2026-01-18.
check-json5 builtin hook (#1387)auto-update (#1379)check-json5 now rejects duplicate keys (#1391)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.30/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.30/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.30
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
files / exclude now support globs (including glob lists), making config filters much easier to read and maintain than heavily-escaped regex.
Released on 2026-01-16.
files / exclude now support globs (including glob lists), making config filters much easier to read and maintain than heavily-escaped regex.
Before (regex):
files: "^(src/.*\\.rs$|crates/[^/]+/src/.*\\.rs$)"
After (glob list):
files:
glob:
- src/**/*.rs
- crates/**/src/**/*.rs
check-json5 as builtin hooks (#1367)files and exclude) (#1197)uv pip install subprocess (#1355)TERM=dumb under PTY to prevent capability-probe hangs (#1363)home-assistant/core to the users of prek (#1350)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.29/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.29/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.29
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
Avoid running git diff for skipped hooks
Released on 2026-01-13.
git diff for skipped hooks (#1335)/bin/sh in generated git hook scripts (#1333)ty to the users of prek (#1342)ruff to the users of prek (#1334)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.28/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.28/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.28
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
python/cpython is now using prek. That’s the highlight of this release!
Released on 2026-01-07.
python/cpython is now using prek. That’s the highlight of this release!
env option to set environment variables for hooks (#1279) (#1285)container for docker language (#1306){{cookiecutter.project_slug}} during project discovery (#1316)CONCURRENCY for repo clone (#1292)python/cpython to users (#1308)MoonshotAI/kimi-cli to users (#1286)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.27/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.27/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.27
| File | Platform | Checksum |
|---|---|---|
| prek-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| prek-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
| prek-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
| prek-i686-pc-windows-msvc.zip | x86 Windows | checksum |
| prek-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-i686-unknown-linux-gnu.tar.gz | x86 Linux | checksum |
| prek-riscv64gc-unknown-linux-gnu.tar.gz | RISCV Linux | checksum |
| prek-s390x-unknown-linux-gnu.tar.gz | S390x Linux | checksum |
| prek-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
| prek-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
| prek-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| prek-i686-unknown-linux-musl.tar.gz | x86 MUSL Linux | checksum |
| prek-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
| prek-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
| prek-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
Nothing published for this version
Use git cat-file -e in check if a rev exists
Released on 2025-12-27.
git cat-file -e in check if a rev exists (#1277)priority not applied for remote hooks (#1281)auto-update (#1274)GIT_DIR for auto-update (#1269)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.25/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.25/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.25
Build and publish docker image to ghcr.io/j178/prek
Released on 2025-12-23.
ghcr.io/j178/prek (#1253)uv pip install inside the remote repo path (#1262)check-added-large-files for traced files (#1260)GIT_DIR set by git (#1258)priority scope across repos (#1251)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.24/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.24/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.24
🚀 This release introduces priority-based parallel hook execution: prek can run multiple hooks in parallel when they share the same priority, which can
Released on 2025-12-20.
🚀 This release introduces priority-based parallel hook execution: prek can run multiple hooks in parallel when they share the same priority, which can be a huge speed-up for many configs. See configuration docs for priority.
check-case-conflict as builtin hook (#888)priority based parallel execution (#1232)check-executable-have-shebangs "command line too long" error on Windows (#1236)priority (#1245)taiki-e/install-action@prek (#1234)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.23/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.23/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.23
In this release, prek adds support for the --cooldown-days option in the prek auto-update command. This option allows users to skip releases that are
Released on 2025-12-13.
In this release, prek adds support for the --cooldown-days option in the prek auto-update command.
This option allows users to skip releases that are newer than a specified number of days.
It is useful to mitigate open source supply chain risks by avoiding very recent releases that may not have been widely adopted or vetted yet.
Big thanks to @lmmx for driving this feature!
--cooldown-days in prek auto-update (#1172)
--cooldown-days (#1221)cargo install for packages in workspace (#1207)CARGO_HOME for cargo metadata (#1209)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.22/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.22/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.22
Fallback to use remote repo package root instead of erroring
Released on 2025-12-09.
cargo from installed toolchain (#1202)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.21/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.21/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.21
Rust hooks are now fully supported with automatic toolchain management, including package discovery in virtual workspaces. Big thanks to @lmmx for dri
Released on 2025-12-08.
In this release:
prek cache size subcommand so you can quickly see how much cache space prek is using. Thanks @MatthewMckee4!orphan: true on a project to isolate it from parents so its files are processed only once.Want to show your project runs on prek? Add our README badge to your docs or repo homepage:
prek cache size command (#1183)manual stage for hooks specified directly in command line (#1185)post-checkout deadlock when cloning repos (#1192)prek install --install--hooks (#1162)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.20/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.20/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.20
Simplify fix_byte_order_marker hook
Released on 2025-11-26.
fix_byte_order_marker hook (#1136)trailing-whitespace hook to improve performance (#1135)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.19/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.19/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.19
In this release, prek adds a new special repo type repo: builtin that lets you use built‑in hooks. It basically gives you another way to use the exist
Released on 2025-11-21.
In this release, prek adds a new special repo type repo: builtin that lets you use built‑in hooks.
It basically gives you another way to use the existing built‑in fast path for pre‑commit‑hooks, but without needing to point to an external repo.
Since prek doesn’t have to clone anything or set up a virtual environment, repo: builtin hooks work even in air‑gapped environments.
For more details, see: https://prek.j178.dev/builtin/
minimum_prek_version (#1101)" (#1120)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.18/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.18/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.18
Revert back to use serde_yaml again
Released on 2025-11-18.
serde_yaml again (#1112)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.17/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.17/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.17
Disallow hook-level minimum_prek_version
Released on 2025-11-18.
minimum_prek_version (#1101)prek init-template-dir (#1109)uv pip install uses the Python from virtualenv (#1108)serde_yaml in check-yaml hook (#1106)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.16/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.16/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.16
prek is now available on crates.io! You can build prek from source via cargo install prek, for more details see Installation.
Released on 2025-11-17.
prek is now available on crates.io! You can build prek from source via cargo install prek, for more details see Installation.
serde-yaml with serde_saphyr (#1087)prek init-template-dir fails in non-git repo (#1093)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.15/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.15/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.15
Nothing published for this version
Nothing published for this version
Nothing published for this version
Support PREK_CONTAINER_RUNTIME=podman to override container runtime
Released on 2025-11-14.
PREK_CONTAINER_RUNTIME=podman to override container runtime (#1033)language: unsupported and language: unsupported_script introduced in pre-commit v4.4 (#1073)--files argument - files referencing other projects aren’t being filtered (#1064)objectFormat in git init (#1048)iceberg-python, msgspec and humanize to "who is using prek" (#1039, #1042, #1063)--refresh when no configuration found (#1046)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.14/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.14/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.14
Add Ruby support (no download support yet)
Released on 2025-11-04.
check-executables-have-shebangs as builtin-hook (#924)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.13/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.13/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.13
Add a warning for unimplemented hooks
Released on 2025-10-27.
PREK_NATIVE_TLS (#959)script subprocess status (#964)try-repo (#975)curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.12/prek-installer.sh | sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.12/prek-installer.ps1 | iex"
brew install j178/tap/prek
npm install @j178/prek@0.2.12
Your coding agent can read these notes before it upgrades. Set up the MCP server →