Repository navigation
Releases: j178/prek
Release list
0.5.5
Release Notes
Released on 2026-10-05.
Enhancements
Performance
- Avoid JSON imports when querying Python interpreters (#2790)
- Avoid duplicate diffs after hooks rewrite files (#2815)
- Batch file reads in shebang checks (#2793)
- Check cached hook environments concurrently (#2797)
- Overlap Git discovery with worktree status checks (#2821)
- Query staged additions only for case conflicts (#2802)
- Reduce worker overhead in XML and pygrep checks (#2789)
- Reuse Git worktree state during hook startup (#2787)
- Reuse intent-to-add paths when saving unstaged changes (#2788)
- Run Git queries concurrently for case-conflict checks (#2792)
- Share Bun and Deno version queries across environments (#2795)
- Share Lua runtime probes across hook environments (#2796)
- Share Ruby version queries across hook environments (#2794)
- Share mise version queries across hook environments (#2798)
- Skip site initialization in Python interpreter probes (#2822)
- Skip untracked files in destroyed symlink checks (#2799)
- Skip unused file input for always-run hooks (#2813)
Bug fixes
- Preserve staged and unstaged changes on conflicted stash restore (#2803)
- Default missing
core.fileModein shebang checks (#2832) - Match protected branch patterns from the start (#2829)
- Normalize explicit paths in shebang index checks (#2831)
- Preserve empty
trailing-whitespacecharacter sets (#2830) - Reject empty files in
check-json(#2826) - Reject trailing data in
check-json(#2828) - Round up file sizes in
check-added-large-files(#2827)
Documentation
- Redesign the prek badge and refresh logo details (#2818)
Contributors
Install prek 0.5.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.5.5/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.5.5/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekDownload prek 0.5.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-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| prek-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
| prek-powerpc64le-unknown-linux-gnu.tar.gz | PPC64LE 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 |
Verifying GitHub Artifact Attestations
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>0.5.4
Release Notes
Released on 2026-09-28.
Highlights
Faster builtin hooks
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%).
Enhancements
- Add
include_deletedto allow hooks to include deleted files (#2733) - Add
--checkand simplifyend-of-file-fixer(#2764) - Add
--checktofile-contents-sorter(#2765) - Add
--checktorequirements-txt-fixer(#2766) - Add
--checktotrailing-whitespace(#2763) - Expose and document
prek util generate-shell-completion(#2727) - Support
hide_statusin project and user configuration (#2760) - Support look-around regex in builtin pattern hooks (#2732)
Performance
- Cache the resolved Git executable on macOS (#2726)
- Combine and cache Git repository path queries (#2724)
- Optimize common builtin hook execution (#2768)
- Optimize scanning in
mixed-line-endingandtrailing-whitespace(#2769) - Scan
check-merge-conflictfiles in fixed-size blocks (#2781) - Use SIMD UTF-8 validation in
check-json,check-toml, andcheck-yaml(#2770)
Bug fixes
- Retry transient rename failures on Windows (#2756)
- Use PATH to resolve prek in completion scripts (#2719)
Documentation
- Clarify the flow and scope of usage guides (#2710)
- Reorganize usage guides and reference documentation (#2709)
Other changes
- Sync latest identify tags (#2762)
Contributors
- @github-actions
- @j178
Install prek 0.5.4
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.5.4/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.5.4/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekDownload prek 0.5.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-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 |
Verifying GitHub Artifact Attestations
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>0.5.3
Release Notes
Released on 2026-09-13.
Enhancements
- Add PEP 740 attestations for PyPI releases (#2705)
- Add a
check-jsoncbuiltin hook (#2682) - Allow disabling automatic uv installation (#2702)
Bug fixes
- Fix Julia additional dependency specifiers (#2703)
- Update
granit-parserto fix YAML flow indentation (#2707)
Contributors
Install prek 0.5.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.5.3/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.5.3/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekDownload prek 0.5.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-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 |
Verifying GitHub Artifact Attestations
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>0.5.2
Release Notes
Released on 2026-09-03.
Enhancements
- Allow unknown tags by default in
check-yaml(#2678)
Contributors
Install prek 0.5.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.5.2/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.5.2/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekDownload prek 0.5.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-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 |
Verifying GitHub Artifact Attestations
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>0.5.1
Release Notes
Released on 2026-09-01.
Enhancements
- Add
--hide-status <passed|failed|skipped>for hook reports (#2644) - Add
prek initfor repository setup (#2636) - Apply hook
envduring environment creation (#2650) - Disable error snippets in
check-yamldiagnostics (#2664) - Show hooks excluded by skip selectors (#2645)
- Support Pixi for Conda environments (#2667)
- Support
cargo-binstallfor Rust CLI dependencies (#2658) - Warn about unused keys in user settings (#2665)
Bug fixes
- Reject unsupported YAML tags in check-yaml (#2656)
Documentation
- Clarify local hook documentation (#2640)
- Clarify pre-commit command compatibility (#2635)
- Document automatic PR fixes with autofix.ci (#2643)
- Document check-yaml unsafe support (#2632)
- Improve setup and workflow documentation (#2637)
Other changes
Contributors
Install prek 0.5.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.5.1/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.5.1/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekDownload prek 0.5.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-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 |
Verifying GitHub Artifact Attestations
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>0.5.0
Release Notes
Released on 2026-08-27.
Highlights
Choose where hook toolchains come from
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)
Breaking changes
The breaking changes in this release are mostly small cleanups, and most users should not be affected.
- Group names can no longer start with
@. This prefix is now reserved for special group selectors such as the new@ungroupedselector. (#2617) PREK_MAX_CONCURRENCYhas been removed. UsePREK_CONCURRENT_HOOKSandPREK_CONCURRENT_BATCHESto control hook and per-hook batch concurrency separately. (#2620)- The top-level
prek init-template-dircommand has been removed. Useprek util init-template-dir, orprek init-templatedirfor drop-in compatibility withpre-commit. (#2623) prek auto-updatehas been removed. Useprek update, orprek autoupdatefor drop-in compatibility withpre-commit. (#2619)
Enhancements
- Add configurable toolchain source preferences (#2613)
- Allow explicit
language: pythonto opt out of fast-path hooks (#2608) - Group
runandupdateoptions in CLI help (#2629) - Preserve terminal theme contrast for status labels (#2592)
- Add
@ungroupedgroup selector (#2617) - Retry uv installation with static musl binary (#2600)
- Support
{hook_repo}placeholder in hookentry(#2602)
Bug fixes
- Expose the git work tree to hooks running outside the git root (#2579)
- Isolate local hook environment installation (#2615)
- Preserve hook config deserialization error locations (#2573)
- Resolve hook log files from their config directory (#2580)
- Track explicit config paths as absolute paths (#2574)
Documentation
Contributors
Install prek 0.5.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.5.0/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.5.0/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekDownload prek 0.5.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 |
Verifying GitHub Artifact Attestations
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>0.4.14
Release Notes
Released on 2026-08-17.
Enhancements
- Support check-yaml unsafe mode (#2546)
Performance
- Reuse allocations in common filters (#2548)
Bug fixes
- Accept non-finite floats in check-yaml (#2545)
- Allow comment-heavy YAML in check-yaml (#2554)
- Sanitize captured terminal output before replay (#2552)
Contributors
Install prek 0.4.14
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.14/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.14/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekDownload prek 0.4.14
| 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 |
Verifying GitHub Artifact Attestations
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>0.4.13
Release Notes
Released on 2026-08-10.
Highlights
Manage hook tools with mise
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: falseRun commands in hook environments
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 --versionEnhancements
- Add
miselanguage support (#2540) - Add
deny-filename-patternandrequire-filename-patternhooks (#2488) - Add
prek execfor running commands in a hook environment (#2478) - Add
yaml-language-server:comment to YAML sample config (#2486) - Make
prek cache sizeoutput terminal-aware (#2508) - Match file regexes against path bytes (#2541)
- Show hook aliases in run output (#2497)
- Show hook descriptions in run output (#2490)
Performance
Bug fixes
- Fix Node hook installation with npm 11 (#2487)
- Isolate dependency installs from inherited Git repository state (#2506)
Documentation
- Document combined group filtering (#2495)
- Explain what prek does in README (#2507)
- Refresh "Why prek" highlights (#2474)
Contributors
Install prek 0.4.13
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.13/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.13/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekDownload prek 0.4.13
| 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 |
Verifying GitHub Artifact Attestations
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>0.4.12
Release Notes
Released on 2026-08-03.
Enhancements
- Add
--require-groupfor hook group intersections (#2472) - Align fast-path and builtin pre-commit hooks (#2433)
- Do not shuffle file list for verbose output (#2431)
- Improve top-level command descriptions (#2429)
- Install
uvfrom Astral CDN and drop source racing (#2455) - Make
prek install --forcebypass external hooks paths (#2437) - Show builtin hook flags in verbose list output (#2427)
- Verify uv release archive checksums (#2456)
Performance
- Precompute file tags in parallel (#2440)
- Skip diffs after known hook modifications (#2447)
- Skip worktree diffs for read-only languages (#2432)
- Track builtin hook file changes directly (#2404)
Bug fixes
- Use full object IDs in diff snapshots (#2448)
Documentation
Contributors
Install prek 0.4.12
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.12/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.12/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekDownload prek 0.4.12
| 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 |
Verifying GitHub Artifact Attestations
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>0.4.11
Release Notes
Released on 2026-07-25.
Highlights
-
This release adds two new builtin hooks,
deny-patternandrequire-pattern,
as native alternatives forpygrepuse cases.deny-patternfails when a
configured pattern is found, whilerequire-patternensures every selected
file contains a match. By matching natively without spawning a Python
subprocess, they run over 4x faster thanpygrepin benchmarks. Note that
they use Rustregexsyntax, which does
not support look-around features such as negative lookbehind. -
prek runnow supports--glob <PATTERN>to run hooks on tracked files
matching a glob. It can be repeated or combined with--filesand
--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.
Enhancements
- Add
deny-patternandrequire-patternbuiltin hooks (#2359) - Support
--globpatterns inprek run(#2381) - Support reusable aliases for hook priorities (#2331)
- Implement
requirements-txt-fixeras a builtin hook (#2390) - Improve user-facing warnings and errors (#2380)
- Install Node hooks through git url (#2394)
Performance
- Reduce blocking-pool overhead in file hooks (#2384)
- Speed up mixed-line-ending scans with memchr2 (#2391)
Bug fixes
- Honor filenames in builtin hook entry and args (#2389)
- Match identify tags across filename parts (#2399)
- Preserve hook output order with a shared pipe (#2385)
- Preserve system download policy when applying metadata (#2395)
Contributors
Install prek 0.4.11
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.11/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.11/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekDownload prek 0.4.11
| 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 |
Verifying GitHub Artifact Attestations
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>