v0.3.0
j178/prekv0.3.0Jan 22, 2026by github-actions[bot]
AI Summary
Feature release introducing cache garbage collection and Bun language support, enabling users to clean up unused repos and tool versions.
Key Highlights
- Implement prek cache gc for cache cleanup
- Add language: bun support
- Accept --stage as alias for --hook-stage
- Expand ~ tilde in PREK_HOME
- Support refs to trees
New Features
- prek cache gc command
- language: bun support
- --stage CLI alias
- PREK_HOME tilde expansion
- Tree reference support
Full Release Notes
## 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](https://bun.sh/).
### Enhancements
- Implement `prek cache gc` ([#1410](https://github.com/j178/prek/pull/1410))
- Bootstrap tracking configs from workspace cache ([#1417](https://github.com/j178/prek/pull/1417))
- Show total size `prek cache gc` removed ([#1418](https://github.com/j178/prek/pull/1418))
- Show accurate repo and hook details in `prek cache gc -v` ([#1420](https://github.com/j178/prek/pull/1420))
- `prek cache gc` remove specific unused tool versions ([#1422](https://github.com/j178/prek/pull/1422))
- Fix unused tool versions not removed in `prek cache gc` ([#1436](https://github.com/j178/prek/pull/1436))
- Add `language: bun` support ([#1411](https://github.com/j178/prek/pull/1411))
- Use `git ls-remote --tags` to list bun versions ([#1439](https://github.com/j178/prek/pull/1439))
- Accept `--stage` as an alias for `--hook-stage` in `prek run` ([#1398](https://github.com/j178/prek/pull/1398))
- Expand `~` tilde in `PREK_HOME` ([#1431](https://github.com/j178/prek/pull/1431))
- Support refs to trees ([#1449](https://github.com/j178/prek/pull/1449))
### Bug fixes
- Avoid file lock warning for in-process contention ([#1406](https://github.com/j178/prek/pull/1406))
- Resolve relative repo paths from config file directory ([#1443](https://github.com/j178/prek/pull/1443))
- fix: use `split()` instead of `resolve(None)` for builtin hook argument parsing ([#1415](https://github.com/j178/prek/pull/1415))
### Documentation
- Add `simple-icons` and `ast-grep` to the users of prek ([#1403](https://github.com/j178/prek/pull/1403))
- Improve JSON schema for `repo` field ([#1432](https://github.com/j178/prek/pull/1432))
- Improve JSON schema for builtin and meta hooks ([#1427](https://github.com/j178/prek/pull/1427))
- Add pronunciation entry to FAQ ([#1442](https://github.com/j178/prek/pull/1442))
- Add commitizen to the list of projects using prek ([#1413](https://github.com/j178/prek/pull/1413))
- Move docs to zensical ([#1421](https://github.com/j178/prek/pull/1421))
### Other Changes
- Refactor config layout ([#1407](https://github.com/j178/prek/pull/1407))
### Contributors
- @shaanmajid
- @KevinGimbel
- @jtamagnan
- @jmeickle-theaiinstitute
- @YazdanRa
- @j178
- @mschoettle
- @tisonkun
## Install prek 0.3.0
### Install prebuilt binaries via shell script
```sh
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
```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.3.0/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.3.0
```
## Download prek 0.3.0
| File | Platform | Checksum |
|--------|----------|----------|
| [prek-aarch64-apple-darwin.tar.gz](https://github.com/j178/prek/releases/download/v0.3.0/prek-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-aarch64-apple-darwin.tar.gz.sha256) |
| [prek-x86_64-apple-darwin.tar.gz](https://github.com/j178/prek/releases/download/v0.3.0/prek-x86_64-apple-darwin.tar.gz) | Intel macOS | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-x86_64-apple-darwin.tar.gz.sha256) |
| [prek-aarch64-pc-windows-msvc.zip](https://github.com/j178/prek/releases/download/v0.3.0/prek-aarch64-pc-windows-msvc.zip) | ARM64 Windows | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-aarch64-pc-windows-msvc.zip.sha256) |
| [prek-i686-pc-windows-msvc.zip](https://github.com/j178/prek/releases/download/v0.3.0/prek-i686-pc-windows-msvc.zip) | x86 Windows | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-i686-pc-windows-msvc.zip.sha256) |
| [prek-x86_64-pc-windows-msvc.zip](https://github.com/j178/prek/releases/download/v0.3.0/prek-x86_64-pc-windows-msvc.zip) | x64 Windows | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-x86_64-pc-windows-msvc.zip.sha256) |
| [prek-aarch64-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.3.0/prek-aarch64-unknown-linux-gnu.tar.gz) | ARM64 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-aarch64-unknown-linux-gnu.tar.gz.sha256) |
| [prek-i686-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.3.0/prek-i686-unknown-linux-gnu.tar.gz) | x86 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-i686-unknown-linux-gnu.tar.gz.sha256) |
| [prek-riscv64gc-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.3.0/prek-riscv64gc-unknown-linux-gnu.tar.gz) | RISCV Linux | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-riscv64gc-unknown-linux-gnu.tar.gz.sha256) |
| [prek-s390x-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.3.0/prek-s390x-unknown-linux-gnu.tar.gz) | S390x Linux | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-s390x-unknown-linux-gnu.tar.gz.sha256) |
| [prek-x86_64-unknown-linux-gnu.tar.gz](https://github.com/j178/prek/releases/download/v0.3.0/prek-x86_64-unknown-linux-gnu.tar.gz) | x64 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-x86_64-unknown-linux-gnu.tar.gz.sha256) |
| [prek-armv7-unknown-linux-gnueabihf.tar.gz](https://github.com/j178/prek/releases/download/v0.3.0/prek-armv7-unknown-linux-gnueabihf.tar.gz) | ARMv7 Linux | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-armv7-unknown-linux-gnueabihf.tar.gz.sha256) |
| [prek-aarch64-unknown-linux-musl.tar.gz](https://github.com/j178/prek/releases/download/v0.3.0/prek-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-aarch64-unknown-linux-musl.tar.gz.sha256) |
| [prek-i686-unknown-linux-musl.tar.gz](https://github.com/j178/prek/releases/download/v0.3.0/prek-i686-unknown-linux-musl.tar.gz) | x86 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-i686-unknown-linux-musl.tar.gz.sha256) |
| [prek-x86_64-unknown-linux-musl.tar.gz](https://github.com/j178/prek/releases/download/v0.3.0/prek-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-x86_64-unknown-linux-musl.tar.gz.sha256) |
| [prek-arm-unknown-linux-musleabihf.tar.gz](https://github.com/j178/prek/releases/download/v0.3.0/prek-arm-unknown-linux-musleabihf.tar.gz) | ARMv6 MUSL Linux (Hardfloat) | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-arm-unknown-linux-musleabihf.tar.gz.sha256) |
| [prek-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/j178/prek/releases/download/v0.3.0/prek-armv7-unknown-linux-musleabihf.tar.gz) | ARMv7 MUSL Linux | [checksum](https://github.com/j178/prek/releases/download/v0.3.0/prek-armv7-unknown-linux-musleabihf.tar.gz.sha256) |