Skip to content

Releases: j178/prek

0.3.11

27 Apr 04:24
Immutable release. Only release title and notes can be modified.
8e731a9

Choose a tag to compare

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-code to exit with non-zero on updates (#2002)
  • Add auto-update --include-tag <pattern>/--exclude-tag <pattern> to filter tags (#1984)
  • Adds an explicit shell hook option for entries that should run as shell source (#2004)
  • Make --hook-dir optional for hook-impl (#1989)
  • Skip shim warning when --script-version is 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_filenames concurrency 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 | sh

Install 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 prek

Download 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/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.3.10

21 Apr 11:31
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

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/prek npm package (#1973)

Bug fixes

  • Prefer stable Rust toolchains (#1974)

Documentation

  • Add SKILL.md for prek (#1950)
  • Document gh skill install j178/prek prek to 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 | sh

Install 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 prek

Download 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/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.3.9

13 Apr 12:32
Immutable release. Only release title and notes can be modified.
3a9b9fe

Choose a tag to compare

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 refs

Enhancements

  • Check and sync frozen comments during auto-update (#1896)
  • Handle impostor commits in auto-update (#1919)
  • Add experimental language: dotnet support (#1871)
  • Honor repo and worktree core.hooksPath (#1892)
  • Add prek run --no-fail-fast to override config file (#1859)
  • Add forbid-new-submodules as 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 --freeze output (#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 | sh

Install 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 prek

Install prebuilt binaries into your npm project

npm install @j178/prek@0.3.9

Download 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/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.3.8

23 Mar 08:24
Immutable release. Only release title and notes can be modified.
bb412c0

Choose a tag to compare

Release Notes

Released on 2026-03-23.

Enhancements

  • Add experimental language: deno support (#1516)
  • Add pretty-format-json as builtin hook (#915)
  • Add check-vcs-permalinks as builtin hook (#1842)
  • Add check-illegal-windows-names as builtin hook (#1841)
  • Add check-shebang-scripts-are-executable builtin hook (#1847)
  • Add destroyed-symlinks builtin hook (#1851)
  • Add file-contents-sorter as builtin hook (#1846)
  • Add --all flag to prek uninstall (#1817)
  • Improve file pattern parse errors (#1829)
  • Validate uv binary 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 | sh

Install 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 prek

Install prebuilt binaries into your npm project

npm install @j178/prek@0.3.8

Download 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/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.3.6

16 Mar 08:33
Immutable release. Only release title and notes can be modified.
dd53c3d

Choose a tag to compare

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-hooks to prek prepare-hooks and prek install --install-hooks to prek install --prepare-hooks (#1766)
  • Retry auth-failed repo clones with terminal prompts enabled (#1761)

Performance

  • Optimize detect_private_key by chunked reading and using aho-corasick (#1791)
  • Optimize fix_byte_order_marker by 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=local when 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

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 | sh

Install 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/prek

Install prebuilt binaries into your npm project

npm install @j178/prek@0.3.6

Download 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/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.3.5

09 Mar 10:37
Immutable release. Only release title and notes can be modified.
46cb7ba

Choose a tag to compare

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-dir to force hook installation target (#1723)
  • Pass --quiet, --verbose, and --no-progress through prek install into generated hook scripts (#1753)
  • Respect core.sharedRepository for hook permissions (#1755)
  • Support legacy mode hook script (#1706)
  • rust: support cli: git dependency 4th segment package disambiguation (#1747)

Bug fixes

  • Fix Python __main__.py entry (#1741)
  • python: strip UV_SYSTEM_PYTHON from uv venv and pip install commands (#1756)

Other changes

  • Sync latest identify tags (#1733)

Contributors

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 | sh

Install 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/prek

Install prebuilt binaries into your npm project

npm install @j178/prek@0.3.5

Download 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/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.3.4

28 Feb 03:48
Immutable release. Only release title and notes can be modified.
04b1308

Choose a tag to compare

Release Notes

Released on 2026-02-28.

Enhancements

  • Allow pass_filenames to accept a positive integer (#1698)
  • Install and compile gems in parallel (#1674)
  • Sync identify file-type mappings with pre-commit identify (#1660)
  • Use --locked for Rust cargo install commands (#1661)
  • Add PREK_MAX_CONCURRENCY environment variable for configuring maximum concurrency (#1697)
  • Add PREK_LOG_TRUNCATE_LIMIT environment 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 | sh

Install 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/prek

Install prebuilt binaries into your npm project

npm install @j178/prek@0.3.4

Download 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/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.3.3

15 Feb 13:35
Immutable release. Only release title and notes can be modified.
c741c8c

Choose a tag to compare

Release Notes

Released on 2026-02-15.

Enhancements

  • Read Python version specifier from hook repo pyproject.toml (#1596)
  • Add #:schema directives to generated prek.toml (#1597)
  • Add prek util list-builtins command (#1600)
  • Expand install source detection to mise, uv tool, pipx, and asdf (#1605, #1607)
  • Add progress bar to cache clean and show removal summary (#1616)
  • Make yaml-to-toml CONFIG argument optional (#1593)
  • prek uninstall removes legacy scripts too (#1622)

Bug fixes

  • Fix underflow when formatting summary output (#1626)
  • Match files/exclude filter against relative path of nested project (#1624)
  • Select musllinux wheel tag for uv on musl-based distros (#1628)

Documentation

  • Clarify prek list description (#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 | sh

Install 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/prek

Install prebuilt binaries into your npm project

npm install @j178/prek@0.3.3

Download 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/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.3.2

06 Feb 13:51
Immutable release. Only release title and notes can be modified.
71790f3

Choose a tag to compare

Release Notes

Released on 2026-02-06.

Highlights

  • 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.

Enhancements

  • Add prek util identify subcommand (#1554)
  • Add prek util yaml-to-toml to convert .pre-commit-config.yaml to prek.toml (#1584)
  • Detect install source for actionable upgrade hints (#1540)
  • Detect prek installed by the standalone installer (#1545)
  • Implement serialize_yaml_scalar using serde-saphyr (#1534)
  • Improve max cli arguments length calculation (#1518)
  • Move identify and init-template-dir under the prek util top-level command (#1574)
  • Replace serde-yaml with serde-saphyr (again) (#1520)
  • Show precise location for config parsing error (#1530)
  • Support Julia language (#1519)
  • Support prek.toml (#1271)
  • Added PREK_QUIET environment 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 OpenClaw to the list of users (#1517)
  • Add cachix/devenv, apache/lucene, copper-project/copper-rs as projects using prek (#1531, #1514, #1569)
  • Add document about authoring remote hooks (#1571)
  • Add llms.txt generation for LLM-friendly documentation (#1553)
  • Document using --refresh to pick up .prekignore changes (#1575)
  • Fix PowerShell completion instruction syntax (#1568)
  • Update quick start to use prek.toml (#1576)

Other changes

  • Include prek.toml in 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 | sh

Install 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/prek

Install prebuilt binaries into your npm project

npm install @j178/prek@0.3.2

Download 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...
Read more

0.3.1

31 Jan 13:27
Immutable release. Only release title and notes can be modified.
bc142a2

Choose a tag to compare

Release Notes

Released on 2026-01-31.

Enhancements

  • Add language: swift support (#1463)
  • Add language: haskell support (#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_PARAMETERS for private repository authentication (#1472)
  • Show progress bar when running builtin hooks (#1504)

Bug fixes

  • Cap ARG_MAX at 1<<19 for safety (#1506)
  • Don't check Python executable path in health check (#1496)

Documentation

  • Include CocoIndex as 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 | sh

Install 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/prek

Install prebuilt binaries into your npm project

npm install @j178/prek@0.3.1

Download 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/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>