Skip to content

Releases: j178/prek

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>

0.3.0

22 Jan 04:01
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Release Notes

Released on 2026-01-22.

Highlights

  • prek cache gc (also available via prek gc for pre-commit compatibility) is finally here! You can now run prek cache gc to clean up unused repos, hook envs and tool versions from prek cache.

  • language: bun is now supported, making it possible to write and run hooks with Bun.

Enhancements

  • Implement prek cache gc (#1410)

    • Bootstrap tracking configs from workspace cache (#1417)
    • Show total size prek cache gc removed (#1418)
    • Show accurate repo and hook details in prek cache gc -v (#1420)
    • prek cache gc remove specific unused tool versions (#1422)
    • Fix unused tool versions not removed in prek cache gc (#1436)
  • Add language: bun support (#1411)

    • Use git ls-remote --tags to list bun versions (#1439)
  • Accept --stage as an alias for --hook-stage in prek run (#1398)

  • Expand ~ tilde in PREK_HOME (#1431)

  • Support refs to trees (#1449)

Bug fixes

  • Avoid file lock warning for in-process contention (#1406)
  • Resolve relative repo paths from config file directory (#1443)
  • fix: use split() instead of resolve(None) for builtin hook argument parsing (#1415)

Documentation

  • Add simple-icons and ast-grep to the users of prek (#1403)
  • Improve JSON schema for repo field (#1432)
  • Improve JSON schema for builtin and meta hooks (#1427)
  • Add pronunciation entry to FAQ (#1442)
  • Add commitizen to the list of projects using prek (#1413)
  • Move docs to zensical (#1421)

Other Changes

  • Refactor config layout (#1407)

Contributors

Install prek 0.3.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.0/prek-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.0/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.0

Download prek 0.3.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

0.2.30

18 Jan 13:24
Immutable release. Only release title and notes can be modified.
6f53870

Choose a tag to compare

Release Notes

Released on 2026-01-18.

Enhancements

  • Build binaries using minimal-size profile (#1376)
  • Check for duplicate keys in check-json5 builtin hook (#1387)
  • Preserve quoting style in auto-update (#1379)
  • Show warning if file lock acquiring blocks for long time (#1353)
  • Singleflight Python health checks with cached interpreter info (#1381)

Bug fixes

  • Do not resolve entry for docker_image (#1386)
  • Fix command lookup on Windows (#1383)

Documentation

  • Document language support details (#1380)
  • Document that check-json5 now rejects duplicate keys (#1391)

Contributors

Install prek 0.2.30

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.30/prek-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.30/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.2.30

Download prek 0.2.30

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

0.2.29

16 Jan 11:41
Immutable release. Only release title and notes can be modified.
b7a7bec

Choose a tag to compare

Release Notes

Released on 2026-01-16.

Highlights

files / exclude now support globs (including glob lists), making config filters much easier to read and maintain than heavily-escaped regex.

Before (regex):

files: "^(src/.*\\.rs$|crates/[^/]+/src/.*\\.rs$)"

After (glob list):

files:
  glob:
    - src/**/*.rs
    - crates/**/src/**/*.rs

Enhancements

  • Add check-json5 as builtin hooks (#1367)
  • Add glob list support for file patterns (files and exclude) (#1197)

Bug fixes

  • Fix missing commit hash from version info (#1352)
  • Remove git env vars from uv pip install subprocess (#1355)
  • Set TERM=dumb under PTY to prevent capability-probe hangs (#1363)

Documentation

  • Add home-assistant/core to the users of prek (#1350)
  • Document builtin hooks (#1370)
  • Explain project configuration scope (#1373)

Contributors

Install prek 0.2.29

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.2.29/prek-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.29/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.2.29

Download prek 0.2.29

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