Releases: j178/prek
0.3.11
Release Notes
Released on 2026-04-27.
Highlights
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.
Enhancements
- Add
auto-update --exclude-repo <repo>to skip repos (#1983) - Add
auto-update --exit-codeto exit with non-zero on updates (#2002) - Add
auto-update --include-tag <pattern>/--exclude-tag <pattern>to filter tags (#1984) - Adds an explicit
shellhook option for entries that should run as shell source (#2004) - Make
--hook-diroptional for hook-impl (#1989) - Skip shim warning when
--script-versionis missing (#1990)
Bug fixes
- Install Ruby executable in gem bin (#2017)
- Use dedicated Android npm package (#1982)
- Use stable repo keys without breaking cached clones (#1995)
Documentation
- Explain prek name (#1980)
- Clarify
pass_filenamesconcurrency docs (#1999) - Reorganize documentation references (#2005)
- Clarify hook author manifest env docs (#1991)
- docs: add Sentry to users list (#1981)
Contributors
Install prek 0.3.11
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.11/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.11/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekDownload prek 0.3.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>0.3.10
Release Notes
Released on 2026-04-21.
Enhancements
- Disallow rev for non-remote repos in schema (#1964)
- Hide up-to-date output in non-verbose mode (#1942)
- Improve merge conflict marker detection (#1937)
- Keep finished hooks visible (#1967)
- Preserve frozen comment spacing in auto-update (#1945)
- Reimplement
@j178/preknpm package (#1973)
Bug fixes
- Prefer stable Rust toolchains (#1974)
Documentation
- Add
SKILL.mdfor prek (#1950) - Document
gh skill install j178/prek prekto install prek skill for agents (#1951) - Improve compatibility and migration docs (#1940)
Other changes
- Sync latest identify tags (#1947)
Contributors
Install prek 0.3.10
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.10/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.10/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekDownload prek 0.3.10
| 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.3.9
Release Notes
Released on 2026-04-13.
Highlight
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 refsEnhancements
- Check and sync frozen comments during auto-update (#1896)
- Handle impostor commits in auto-update (#1919)
- Add experimental
language: dotnetsupport (#1871) - Honor repo and worktree
core.hooksPath(#1892) - Add
prek run --no-fail-fastto override config file (#1859) - Add
forbid-new-submodulesas builtin hook (#1853) - Clean stale patch files in
cache gc(#1877) - Display auto-update results by config entry (#1922)
- Restrict patch directory permissions (#1876)
- Show tag names in
auto-update --freezeoutput (#1916) - Use a bitset for hook stages (#1860)
Bug fixes
- Canonicalize CWD and GIT_ROOT paths (#1878)
- Ensure quotes are added for non-string revisions in
auto-update(#1936)
Documentation
- Update docs for case of hooks modifying files with a non-zero exit code (#1879)
Contributors
Install prek 0.3.9
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.9/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.9/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekInstall prebuilt binaries into your npm project
npm install @j178/prek@0.3.9Download 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 |
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.3.8
Release Notes
Released on 2026-03-23.
Enhancements
- Add experimental
language: denosupport (#1516) - Add
pretty-format-jsonas builtin hook (#915) - Add
check-vcs-permalinksas builtin hook (#1842) - Add
check-illegal-windows-namesas builtin hook (#1841) - Add
check-shebang-scripts-are-executablebuiltin hook (#1847) - Add
destroyed-symlinksbuiltin hook (#1851) - Add
file-contents-sorteras builtin hook (#1846) - Add
--allflag toprek uninstall(#1817) - Improve file pattern parse errors (#1829)
- Validate
uvbinary after download (#1825)
Bug fixes
- Fix workspace-relative added file paths (#1852)
- Relax alias-anchor ratio check for check-yaml (#1839)
Contributors
Install prek 0.3.8
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.8/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.8/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install prekInstall prebuilt binaries into your npm project
npm install @j178/prek@0.3.8Download 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 |
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.3.6
Release Notes
Released on 2026-03-16.
Call for testing
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.
Enhancements
- Allow selectors for hook ids containing colons (#1782)
- Rename
prek install-hookstoprek prepare-hooksandprek install --install-hookstoprek install --prepare-hooks(#1766) - Retry auth-failed repo clones with terminal prompts enabled (#1761)
Performance
- Optimize
detect_private_keyby chunked reading and using aho-corasick (#1791) - Optimize
fix_byte_order_markerby shifting file contents in place (#1790)
Bug fixes
- Align stage defaulting behavior with pre-commit (#1788)
- Make sure child output is drained in the PTY subprocess (#1768)
- fix(golang): use
GOTOOLCHAIN=localwhen probing system go (#1797)
Documentation
- Disambiguate “hook” terminology by renaming "Git hooks" to "Git shims" (#1776)
- Document compatibility with pre-commit (#1767)
- Update configuration.md with TOML 1.1 notes (#1764)
Other changes
- Sync latest identify tags (#1798)
Contributors
- @github-actions
- @j178
- @pcastellazzi
- @deadnews
- @copilot-swe-agent
Install prek 0.3.6
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.6/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.6/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install j178/tap/prekInstall prebuilt binaries into your npm project
npm install @j178/prek@0.3.6Download 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 |
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.3.5
Release Notes
Released on 2026-03-09.
Enhancements
- Add automatic Ruby download support using rv binaries (#1668)
- Adjust open file limit on process startup (#1705)
- Allow parallel gem retry (#1732)
- Enable system-proxy feature on reqwest (#1738)
- Expose
--git-dirto force hook installation target (#1723) - Pass
--quiet,--verbose, and--no-progressthroughprek installinto generated hook scripts (#1753) - Respect
core.sharedRepositoryfor hook permissions (#1755) - Support legacy mode hook script (#1706)
- rust: support
cli:git dependency 4th segment package disambiguation (#1747)
Bug fixes
- Fix Python
__main__.pyentry (#1741) - python: strip
UV_SYSTEM_PYTHONfromuv venvandpip installcommands (#1756)
Other changes
- Sync latest identify tags (#1733)
Contributors
- @Dev-iL
- @tennox
- @shaanmajid
- @is-alnilam
- @github-actions
- @j178
Install prek 0.3.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.5/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.5/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install j178/tap/prekInstall prebuilt binaries into your npm project
npm install @j178/prek@0.3.5Download 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 |
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.3.4
Release Notes
Released on 2026-02-28.
Enhancements
- Allow
pass_filenamesto accept a positive integer (#1698) - Install and compile gems in parallel (#1674)
- Sync identify file-type mappings with pre-commit identify (#1660)
- Use
--lockedfor Rustcargo installcommands (#1661) - Add
PREK_MAX_CONCURRENCYenvironment variable for configuring maximum concurrency (#1697) - Add
PREK_LOG_TRUNCATE_LIMITenvironment variable for configuring log truncation (#1679) - Add support for
python -m prek(#1686)
Bug fixes
- Skip invalid Rust toolchains instead of failing (#1699)
Performance
- Bitset-based TagSet refactor: precompute tag masks and speed up hook type filtering (#1665)
Documentation
- Document
winget install j178.Prek(#1670)
Contributors
Install prek 0.3.4
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.4/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.4/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install j178/tap/prekInstall prebuilt binaries into your npm project
npm install @j178/prek@0.3.4Download 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 |
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.3.3
Release Notes
Released on 2026-02-15.
Enhancements
- Read Python version specifier from hook repo
pyproject.toml(#1596) - Add
#:schemadirectives to generated prek.toml (#1597) - Add
prek util list-builtinscommand (#1600) - Expand install source detection to
mise,uv tool,pipx, andasdf(#1605, #1607) - Add progress bar to
cache cleanand show removal summary (#1616) - Make
yaml-to-tomlCONFIG argument optional (#1593) prek uninstallremoves legacy scripts too (#1622)
Bug fixes
- Fix underflow when formatting summary output (#1626)
- Match
files/excludefilter against relative path of nested project (#1624) - Select
musllinuxwheel tag for uv on musl-based distros (#1628)
Documentation
- Clarify
prek listdescription (#1604)
Contributors
Install prek 0.3.3
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.3/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.3/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install j178/tap/prekInstall prebuilt binaries into your npm project
npm install @j178/prek@0.3.3Download 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 |
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.3.2
Release Notes
Released on 2026-02-06.
Highlights
-
prek.tomlis here!You can now use
prek.tomlas an alternative to.pre-commit-config.yamlfor configuring prek.prek.tomlmirrors the structure of.pre-commit-config.yaml, but TOML is less error-prone. Your existing.pre-commit-config.yamlwill continue to work, but for new users and new projects,prek.tomlmay make more sense. If you want to switch, runprek util yaml-to-tomlto convert YAML configs toprek.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.tomllike this:[[repos]] repo = "https://github.com/pre-commit/pre-commit-hooks" rev = "v6.0.0" hooks = [ { id = "check-yaml" } ]
-
serde-yamlhas been replaced withserde-saphyrWe replaced the long-deprecated
serde-yamlcrate withserde-saphyrfor 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 utilsubcommandsWe added a new
prek utiltop-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 writingtypes/types_or/exclude_typesfilters.prek util yaml-to-toml: converts.pre-commit-config.yamltoprek.toml.
We also moved
prek init-template-dirunderprek utilfor better organization. The oldprek init-template-dircommand is still available (hidden) as an alias for backward compatibility.
Enhancements
- Add
prek util identifysubcommand (#1554) - Add
prek util yaml-to-tomlto convert.pre-commit-config.yamltoprek.toml(#1584) - Detect install source for actionable upgrade hints (#1540)
- Detect prek installed by the standalone installer (#1545)
- Implement
serialize_yaml_scalarusingserde-saphyr(#1534) - Improve max cli arguments length calculation (#1518)
- Move
identifyandinit-template-dirunder theprek utiltop-level command (#1574) - Replace serde-yaml with serde-saphyr (again) (#1520)
- Show precise location for config parsing error (#1530)
- Support
Julialanguage (#1519) - Support
prek.toml(#1271) - Added
PREK_QUIETenvironment variable support (#1513) - Remove upper bound constraint of uv version (#1588)
Bug fixes
- Do not make the child a session leader (#1586)
- Fix FilePattern schema to accept plain strings (#1564)
- Use semver fallback sort when tag timestamps are equal (#1579)
Documentation
- Add
OpenClawto the list of users (#1517) - Add
cachix/devenv,apache/lucene,copper-project/copper-rsas projects using prek (#1531, #1514, #1569) - Add document about authoring remote hooks (#1571)
- Add
llms.txtgeneration for LLM-friendly documentation (#1553) - Document using
--refreshto pick up.prekignorechanges (#1575) - Fix PowerShell completion instruction syntax (#1568)
- Update quick start to use
prek.toml(#1576)
Other changes
- Include
prek.tomlin run hint for config filename (#1578)
Contributors
Install prek 0.3.2
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.2/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.2/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install j178/tap/prekInstall prebuilt binaries into your npm project
npm install @j178/prek@0.3.2Download 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](https://github.com/j178/prek/re... |
0.3.1
Release Notes
Released on 2026-01-31.
Enhancements
- Add
language: swiftsupport (#1463) - Add
language: haskellsupport (#1484) - Extract go version constraint from
go.mod(#1457) - Warn when config file exists but fails to parse (#1487)
- Add GitHub artifact attestations to release and build-docker workflow (#1494, #1497)
- Allow
GIT_CONFIG_PARAMETERSfor private repository authentication (#1472) - Show progress bar when running builtin hooks (#1504)
Bug fixes
Documentation
- Include
CocoIndexas a project using prek (#1477) - Add commands for artifact verification using GitHub Attestations (#1500)
Contributors
Install prek 0.3.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.1/prek-installer.sh | shInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.1/prek-installer.ps1 | iex"Install prebuilt binaries via Homebrew
brew install j178/tap/prekInstall prebuilt binaries into your npm project
npm install @j178/prek@0.3.1Download 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 |
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>