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>