v0.2.29

j178/prekv0.2.29Jan 16, 2026by github-actions[bot]

AI Summary

This release of prek (a git hooks tool) introduces glob support for file patterns, making configuration filters much easier to read and maintain compared to regex. It also adds a new builtin hook for JSON5 validation and includes several bug fixes related to version info, subprocess environment, and PTY handling.

Key Highlights

  • Glob support for `files` and `exclude` patterns - replaces complex regex with simple glob lists like `src/**/*.rs`
  • New `check-json5` builtin hook for JSON5 validation
  • Fixed missing commit hash from version info
  • Fixed git env vars leaking into `uv pip install` subprocess
  • Fixed PTY capability-probe hangs by setting `TERM=dumb`

New Features

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

Full Release Notes

## 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):

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

After (glob list):

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

### Enhancements

- Add `check-json5` as builtin hooks ([#1367](https://github.com/j178/prek/pull/1367))
- Add glob list support for file patterns (`files` and `exclude`) ([#1197](https://github.com/j178/prek/pull/1197))

### Bug fixes

- Fix missing commit hash from version info ([#1352](https://github.com/j178/prek/pull/1352))
- Remove git env vars from `uv pip install` subprocess ([#1355](https://github.com/j178/prek/pull/1355))
- Set `TERM=dumb` under PTY to prevent capability-probe hangs ([#1363](https://github.com/j178/prek/pull/1363))

### Documentation

- Add `home-assistant/core` to the users of prek ([#1350](https://github.com/j178/prek/pull/1350))
- Document builtin hooks ([#1370](https://github.com/j178/prek/pull/1370))
- Explain project configuration scope ([#1373](https://github.com/j178/prek/pull/1373))

### Contributors

- @Goldziher
- @yihong0618
- @j178
- @shaanmajid
- @ulgens

## Install prek 0.2.29

### Install prebuilt binaries via shell script

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

```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.2.29/prek-installer.ps1 | iex"
```

### Install prebuilt binaries via Homebrew

```sh
brew install j178/tap/prek
```

### Install prebuilt binaries into your npm project

```sh
npm install @j178/prek@0.2.29
```

## Download prek 0.2.29

|  File  | Platform | Checksum |
|--------|----------|----------|
| [prek-aarch64-apple-darwin.tar.gz](https://github.com/j178/prek/releases/download/v0.2.29/prek-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-aarch64-apple-darwin.tar.gz.sha256) |
| [prek-x86_64-apple-darwin.tar.gz](https://github.com/j178/prek/releases/download/v0.2.29/prek-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-x86_64-apple-darwin.tar.gz.sha256) |
| [prek-aarch64-pc-windows-msvc.zip](https://github.com/j178/prek/releases/download/v0.2.29/prek-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-aarch64-pc-windows-msvc.zip.sha256) |
| [prek-i686-pc-windows-msvc.zip](https://github.com/j178/prek/releases/download/v0.2.29/prek-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-i686-pc-windows-msvc.zip.sha256) |
| [prek-x86_64-pc-windows-msvc.zip](https://github.com/j178/prek/releases/download/v0.2.29/prek-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-x86_64-pc-windows-msvc.zip.sha256) |
| [prek-aarch64-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.2.29/prek-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [prek-i686-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.2.29/prek-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-i686-unknown-linux-gnu.tar.gz.sha256) |
| [prek-riscv64gc-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.2.29/prek-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-riscv64gc-unknown-linux-gnu.tar.gz.sha256) |
| [prek-s390x-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.2.29/prek-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [prek-x86_64-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.2.29/prek-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-x86_64-unknown-linux-gnu.tar.gz.sha256) |
| [prek-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/j178/prek/releases/download/v0.2.29/prek-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [prek-aarch64-unknown-linux-musl.tar.gz](https://github.com/j178/prek/releases/download/v0.2.29/prek-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [prek-i686-unknown-linux-musl.tar.gz](https://github.com/j178/prek/releases/download/v0.2.29/prek-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-i686-unknown-linux-musl.tar.gz.sha256) |
| [prek-x86_64-unknown-linux-musl.tar.gz](https://github.com/j178/prek/releases/download/v0.2.29/prek-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-x86_64-unknown-linux-musl.tar.gz.sha256) |
| [prek-arm-unknown-linux-musleabihf.tar.gz](https://github.com/j178/prek/releases/download/v0.2.29/prek-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [prek-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/j178/prek/releases/download/v0.2.29/prek-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.2.29/prek-armv7-unknown-linux-musleabihf.tar.gz.sha256) |