v0.4.12
Mail-0/Zerov0.4.12Aug 3, 2026by github-actions[bot]
AI Summary
This release focuses on performance optimizations, including parallel file tagging and smart diff skipping, alongside enhancements to the dependency management process using `uv`. It also introduces new command-line options and improves documentation.
Key Highlights
- Added `--require-group` flag to support hook group intersections.
- Improved performance by precomputing file tags in parallel and skipping unnecessary diffs.
- Switched to installing `uv` from Astral CDN and improved checksum verification.
- Enhanced verbose output to display builtin hook flags.
New Features
- Support for `--require-group` in hook configurations.
- Verbose list output now includes builtin hook flags.
- `--force` flag now bypasses external hooks paths.
- Full object IDs are now used in diff snapshots.
Full Release Notes
## Release Notes Released on 2026-08-03. ### Enhancements - Add `--require-group` for hook group intersections ([#2472](https://github.com/j178/prek/pull/2472)) - Align fast-path and builtin pre-commit hooks ([#2433](https://github.com/j178/prek/pull/2433)) - Do not shuffle file list for verbose output ([#2431](https://github.com/j178/prek/pull/2431)) - Improve top-level command descriptions ([#2429](https://github.com/j178/prek/pull/2429)) - Install `uv` from Astral CDN and drop source racing ([#2455](https://github.com/j178/prek/pull/2455)) - Make `prek install --force` bypass external hooks paths ([#2437](https://github.com/j178/prek/pull/2437)) - Show builtin hook flags in verbose list output ([#2427](https://github.com/j178/prek/pull/2427)) - Verify uv release archive checksums ([#2456](https://github.com/j178/prek/pull/2456)) ### Performance - Precompute file tags in parallel ([#2440](https://github.com/j178/prek/pull/2440)) - Skip diffs after known hook modifications ([#2447](https://github.com/j178/prek/pull/2447)) - Skip worktree diffs for read-only languages ([#2432](https://github.com/j178/prek/pull/2432)) - Track builtin hook file changes directly ([#2404](https://github.com/j178/prek/pull/2404)) ### Bug fixes - Use full object IDs in diff snapshots ([#2448](https://github.com/j178/prek/pull/2448)) ### Documentation - Add a multi-repository configuration example ([#2434](https://github.com/j178/prek/pull/2434)) - Rewrite benchmark documentation ([#2469](https://github.com/j178/prek/pull/2469)) ### Contributors - @j178 - @BitWeaverDev - @allanlewis ## Install prek 0.4.12 ### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.12/prek-installer.sh | sh ``` ### Install prebuilt binaries via powershell script ```sh powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.12/prek-installer.ps1 | iex" ``` ### Install prebuilt binaries via Homebrew ```sh brew install prek ``` ## Download prek 0.4.12 | File | Platform | Checksum | |--------|----------|----------| | [prek-aarch64-apple-darwin.tar.gz](https://github.com/j178/prek/releases/download/v0.4.12/prek-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-aarch64-apple-darwin.tar.gz.sha256) | | [prek-x86_64-apple-darwin.tar.gz](https://github.com/j178/prek/releases/download/v0.4.12/prek-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-x86_64-apple-darwin.tar.gz.sha256) | | [prek-aarch64-pc-windows-msvc.zip](https://github.com/j178/prek/releases/download/v0.4.12/prek-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-aarch64-pc-windows-msvc.zip.sha256) | | [prek-i686-pc-windows-msvc.zip](https://github.com/j178/prek/releases/download/v0.4.12/prek-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-i686-pc-windows-msvc.zip.sha256) | | [prek-x86_64-pc-windows-msvc.zip](https://github.com/j178/prek/releases/download/v0.4.12/prek-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-x86_64-pc-windows-msvc.zip.sha256) | | [prek-aarch64-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.4.12/prek-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-aarch64-unknown-linux-gnu.tar.gz.sha256) | | [prek-i686-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.4.12/prek-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-i686-unknown-linux-gnu.tar.gz.sha256) | | [prek-riscv64gc-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.4.12/prek-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-riscv64gc-unknown-linux-gnu.tar.gz.sha256) | | [prek-s390x-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.4.12/prek-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-s390x-unknown-linux-gnu.tar.gz.sha256) | | [prek-x86_64-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.4.12/prek-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-x86_64-unknown-linux-gnu.tar.gz.sha256) | | [prek-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/j178/prek/releases/download/v0.4.12/prek-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-armv7-unknown-linux-gnueabihf.tar.gz.sha256) | | [prek-aarch64-unknown-linux-musl.tar.gz](https://github.com/j178/prek/releases/download/v0.4.12/prek-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-aarch64-unknown-linux-musl.tar.gz.sha256) | | [prek-i686-unknown-linux-musl.tar.gz](https://github.com/j178/prek/releases/download/v0.4.12/prek-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-i686-unknown-linux-musl.tar.gz.sha256) | | [prek-x86_64-unknown-linux-musl.tar.gz](https://github.com/j178/prek/releases/download/v0.4.12/prek-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-x86_64-unknown-linux-musl.tar.gz.sha256) | | [prek-arm-unknown-linux-musleabihf.tar.gz](https://github.com/j178/prek/releases/download/v0.4.12/prek-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-arm-unknown-linux-musleabihf.tar.gz.sha256) | | [prek-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/j178/prek/releases/download/v0.4.12/prek-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.4.12/prek-armv7-unknown-linux-musleabihf.tar.gz.sha256) | ## 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](https://cli.github.com/manual/gh_attestation_verify): ```sh gh attestation verify <file-path of downloaded artifact> --repo j178/prek ``` You can also download the attestation from [GitHub](https://github.com/j178/prek/attestations) and verify against that directly: ```sh gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation> ```