v0.5.5

j178/prekv0.5.5Oct 5, 2026by github-actions[bot]

Upgrading?

AI Summary

This release focuses on significant performance improvements through concurrent Git queries, caching, and batch processing, alongside the addition of PPC64LE platform support and Nushell completion generation.

Key Highlights

  • Massive performance improvements via concurrent Git queries, caching, and batch file reads.
  • Added PPC64LE wheel and binary builds for PowerPC architecture support.
  • Added Nushell completion generation for improved shell integration.
  • Improved JSON validation by rejecting empty files and trailing data.
  • Redesigned project documentation and badges.

New Features

  • Nushell completion generation
  • PPC64LE wheel and binary builds

Full Release Notes

## Release Notes

Released on 2026-10-05.

### Enhancements

- Add Nushell completion generation ([#2785](https://github.com/j178/prek/pull/2785))
- Add `ppc64le` wheel and binary builds ([#2809](https://github.com/j178/prek/pull/2809))

### Performance

- Avoid JSON imports when querying Python interpreters ([#2790](https://github.com/j178/prek/pull/2790))
- Avoid duplicate diffs after hooks rewrite files ([#2815](https://github.com/j178/prek/pull/2815))
- Batch file reads in shebang checks ([#2793](https://github.com/j178/prek/pull/2793))
- Check cached hook environments concurrently ([#2797](https://github.com/j178/prek/pull/2797))
- Overlap Git discovery with worktree status checks ([#2821](https://github.com/j178/prek/pull/2821))
- Query staged additions only for case conflicts ([#2802](https://github.com/j178/prek/pull/2802))
- Reduce worker overhead in XML and pygrep checks ([#2789](https://github.com/j178/prek/pull/2789))
- Reuse Git worktree state during hook startup ([#2787](https://github.com/j178/prek/pull/2787))
- Reuse intent-to-add paths when saving unstaged changes ([#2788](https://github.com/j178/prek/pull/2788))
- Run Git queries concurrently for case-conflict checks ([#2792](https://github.com/j178/prek/pull/2792))
- Share Bun and Deno version queries across environments ([#2795](https://github.com/j178/prek/pull/2795))
- Share Lua runtime probes across hook environments ([#2796](https://github.com/j178/prek/pull/2796))
- Share Ruby version queries across hook environments ([#2794](https://github.com/j178/prek/pull/2794))
- Share mise version queries across hook environments ([#2798](https://github.com/j178/prek/pull/2798))
- Skip site initialization in Python interpreter probes ([#2822](https://github.com/j178/prek/pull/2822))
- Skip untracked files in destroyed symlink checks ([#2799](https://github.com/j178/prek/pull/2799))
- Skip unused file input for always-run hooks ([#2813](https://github.com/j178/prek/pull/2813))

### Bug fixes

- Preserve staged and unstaged changes on conflicted stash restore ([#2803](https://github.com/j178/prek/pull/2803))
- Default missing `core.fileMode` in shebang checks ([#2832](https://github.com/j178/prek/pull/2832))
- Match protected branch patterns from the start ([#2829](https://github.com/j178/prek/pull/2829))
- Normalize explicit paths in shebang index checks ([#2831](https://github.com/j178/prek/pull/2831))
- Preserve empty `trailing-whitespace` character sets ([#2830](https://github.com/j178/prek/pull/2830))
- Reject empty files in `check-json` ([#2826](https://github.com/j178/prek/pull/2826))
- Reject trailing data in `check-json` ([#2828](https://github.com/j178/prek/pull/2828))
- Round up file sizes in `check-added-large-files` ([#2827](https://github.com/j178/prek/pull/2827))

### Documentation

- Redesign the prek badge and refresh logo details ([#2818](https://github.com/j178/prek/pull/2818))

### Contributors

- @imphil
- @j178

## Install prek 0.5.5

### Install prebuilt binaries via shell script

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

### Install prebuilt binaries via powershell script

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

### Install prebuilt binaries via Homebrew

```sh
brew install prek
```

## Download prek 0.5.5

|  File  | Platform | Checksum |
|--------|----------|----------|
| [prek-aarch64-apple-darwin.tar.gz](https://github.com/j178/prek/releases/download/v0.5.5/prek-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/j178/prek/releases/download/v0.5.5/prek-aarch64-apple-darwin.tar.gz.sha256) |
| [prek-x86_64-apple-darwin.tar.gz](https://github.com/j178/prek/releases/download/v0.5.5/prek-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/j178/prek/releases/download/v0.5.5/prek-x86_64-apple-darwin.tar.gz.sha256) |
| [prek-aarch64-pc-windows-msvc.zip](https://github.com/j178/prek/releases/download/v0.5.5/prek-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/j178/prek/releases/download/v0.5.5/prek-aarch64-pc-windows-msvc.zip.sha256) |
| [prek-x86_64-pc-windows-msvc.zip](https://github.com/j178/prek/releases/download/v0.5.5/prek-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/j178/prek/releases/download/v0.5.5/prek-x86_64-pc-windows-msvc.zip.sha256) |
| [prek-aarch64-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.5.5/prek-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.5.5/prek-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [prek-powerpc64le-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.5.5/prek-powerpc64le-unknown-linux-gnu.tar.gz) | PPC64LE Linux | [checksum](https://github.com/j178/prek/releases/download/v0.5.5/prek-powerpc64le-unknown-linux-gnu.tar.gz.sha256) |
| [prek-x86_64-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.5.5/prek-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.5.5/prek-x86_64-unknown-linux-gnu.tar.gz.sha256) |
| [prek-aarch64-unknown-linux-musl.tar.gz](https://github.com/j178/prek/releases/download/v0.5.5/prek-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.5.5/prek-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [prek-x86_64-unknown-linux-musl.tar.gz](https://github.com/j178/prek/releases/download/v0.5.5/prek-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.5.5/prek-x86_64-unknown-linux-musl.tar.gz.sha256) |

## Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the [GitHub CLI](https://cli.github.com/manual/gh_attestation_verify):
```sh
gh attestation verify <file-path of downloaded artifact> --repo j178/prek
```

You can also download the attestation from [GitHub](https://github.com/j178/prek/attestations) and verify against that directly:
```sh
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
```


Related Repositories