prek version history
11 releases tracked, newest first.
v0.4.9
Jul 11, 2026- Changes repository identity schema, invalidating cached hook environments
- Preserves dependency order and removes parallel Ruby gem installation
- Fixes issues with workspace selectors and local path resolution
- Adds warnings for missing update repositories and improves XML validation
16 downloads
v0.4.8
Jul 4, 2026- Added default_env configuration
- Renamed `auto-update` to `update`
- Fixed progress collapse ordering
- Fixed progress insertion after collapsed rows
16 downloads
v0.4.6
Jul 1, 2026## Release Notes
Released on 2026-07-01.
### Enhancements
- Verify managed toolchain downloads before installation ([#2229](https://github.com/j178/prek/pull/2229))
- Add `PREK_DOCKER_NO_INIT` to opt-out Docker `--init` ([#2242](https://github.com/j178/prek/pull/2242))
- Improve subprocess error messages ([#2257](https://github.com/j178/prek/pull/2257))
- Split run concurrency knobs: `PREK_CONCURRENT_HOOKS` and `PREK_CONCURRENT_BATCHES` ([#2276](https://github.com/j178/prek/pull/2276))
### Performance
- Avoid allocating markdown extensions per file ([#2245](https://github.com/j178/prek/pull/2245))
- Avoid unchanged config tracking writes ([#2247](https://github.com/j178/prek/pull/2247))
- Delay trailing whitespace output buffer ([#2244](https://github.com/j178/prek/pull/2244))
- Prefilter VCS permalink lines ([#2253](https://github.com/j178/prek/pull/2253))
- Skip unnecessary submodule updates during hook repo clone ([#2255](https://github.com/j178/prek/pull/2255))
### Documentation
- Document `language_version` inferring for Python and Go ([#2241](https://github.com/j178/prek/pull/2241))
### Other changes
- Refactor env var handling ([#2277](https://github.com/j178/prek/p
16 downloads
v0.4.5
Jun 15, 2026## Release Notes
Released on 2026-06-15.
### ✨Highlights
0.4.5 completes `prek`'s pre-commit language coverage. With R, Conda, Perl,
and coursier now supported, `prek` supports every language available in
pre-commit, plus `prek`-only modern languages such as Bun and Deno.
This is full feature parity with pre-commit. The last major compatibility gap
is closed, and `prek` is now on the path to 1.0.
### 💚 Sponsorship
If `prek` saves time for you or your team, please consider sponsoring the
project on [GitHub Sponsors](https://github.com/sponsors/j178). It helps keep
new features, performance work, and maintenance moving.
### Enhancements
- Add `Perl` language support ([#2201](https://github.com/j178/prek/pull/2201))
- Add `R` language support ([#2206](https://github.com/j178/prek/pull/2206))
- Add `Conda` language support ([#2203](https://github.com/j178/prek/pull/2203))
- Add `coursier` language support ([#2194](https://github.com/j178/prek/pull/2194))
- Add group filters to list ([#2152](https://github.com/j178/prek/pull/2152))
- Remove legacy repo path support ([#2150](https://github.com/j178/prek/pull/2150))
- Skip cloning fully filtered remote repos ([#2151](https://gith
16 downloads
v0.4.4
Jun 4, 2026## Release Notes
Released on 2026-06-04.
### ✨ Highlights
0.4.4 makes `prek run` easier to watch and easier to slice.
Hook stream output now shows a small live preview under the running hook in the
progress UI. Long-running hooks no longer look stuck while they are producing
logs, and failed hooks are easier to diagnose because recent output is already
visible before the final result.
The new group selector lets a single config support different workflows. Tag
hooks with `groups`, then select or exclude those groups at run time:
```yaml
repos:
- repo: local
hooks:
- id: format
name: Format Python
language: system
entry: ruff format
groups: [format, ci]
- id: lint
name: Lint Python
language: system
entry: ruff check
groups: [lint, ci]
```
```bash
prek run --all-files --group ci
prek run --all-files --no-group format
```
This is useful when local development, CI, slow validation, or project-specific
checks need different hook sets without splitting the config.
### 💚 Sponsorship
If prek saves time for you or your team, please consider sponsoring the
16 downloads
v0.4.3
May 27, 2026## Release Notes
Released on 2026-05-27.
### Bug fixes
- Ignore stat-only hook rewrites ([#2131](https://github.com/j178/prek/pull/2131))
### Sponsorship
If `prek` saves time for you or your team, please consider sponsoring the
project on [GitHub Sponsors](https://github.com/sponsors/j178). It helps keep
new features, performance work, and maintenance moving.
### Contributors
- @stevbev
## Install prek 0.4.3
### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.sh | sh
```
### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.3/prek-installer.ps1 | iex"
```
### Install prebuilt binaries via Homebrew
```sh
brew install prek
```
## Download prek 0.4.3
| File | Platform | Checksum |
|--------|----------|----------|
| [prek-aarch64-apple-darwin.tar.gz](https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/j178/prek/releases/download/v0.4.3/prek-aarch64-apple-darwin.tar.gz.sha256)
16 downloads
v0.4.2
May 26, 2026## Release Notes
Released on 2026-05-26.
### Highlights
0.4.2 is mainly about making `prek run` faster in large repos.
`prek` now does less `git diff` work. After hooks run, `prek` uses diff checks
to detect files changed by hooks. If a hook modifies files, prek marks that hook
as failed. That is important, but full diff snapshots can be slow in big repos,
especially when they happen after every hook group.
We skip the expensive diff path in two common cases: built-in hooks that prek
knows are read-only, and clean worktrees where a cheap dirty check is enough
unless a hook actually changes files. In the right large-repo workload,
skipping that work can make runs up to 10x faster.
Workspace mode is faster too. Hooks have historically been too serial.
Priority-based concurrency helped, but it required users to choose good
`priority` values. Now sibling projects at the same workspace depth run in
parallel automatically. Their files do not overlap, so this is safe and needs
no extra config. For multi-project workspaces, this can dramatically reduce
total hook time.
### Sponsorship
If `prek` saves time for you or your team, please consider sponsoring the
project on [GitHub Spons
16 downloads
v0.4.1
May 20, 2026## Release Notes
Released on 2026-05-20.
### Enhancements
- Fix pre-push range after rebase ([#2089](https://github.com/j178/prek/pull/2089))
- Prefer extensions over loose filename tags ([#2092](https://github.com/j178/prek/pull/2092))
- Skip installs for hooks that will not run ([#2103](https://github.com/j178/prek/pull/2103))
### Performance
- Optimize meta hook file scans ([#2106](https://github.com/j178/prek/pull/2106))
- Reduce run filtering allocations ([#2090](https://github.com/j178/prek/pull/2090))
### Contributors
- @j178
## Install prek 0.4.1
### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.sh | sh
```
### Install prebuilt binaries via powershell script
```sh
powershell -ExecutionPolicy Bypass -c "irm https://github.com/j178/prek/releases/download/v0.4.1/prek-installer.ps1 | iex"
```
### Install prebuilt binaries via Homebrew
```sh
brew install prek
```
## Download prek 0.4.1
| File | Platform | Checksum |
|--------|----------|----------|
| [prek-aarch64-apple-darwin.tar.gz](https://github.com/j178/prek/releases/download/v0.4.1/prek-aarch64-ap
16 downloads
v0.4.0
May 14, 2026## Release Notes
Released on 2026-05-14.
### Breaking changes
These are narrow cleanup breaks in behavior that was either temporary or never worked correctly. Most users should not need to change anything.
- Generated hook scripts no longer preserve `-q`, `-v`, or `--no-progress` passed to `prek install`. This only affects users who expected those global flags to be baked into installed hooks. ([#1966](https://github.com/j178/prek/pull/1966))
- `language_version` no longer accepts direct executable paths. Use `language_version: system` for a system toolchain, or use a supported version request instead. This path form did not work reliably before, so existing working configs should be unaffected. ([#1831](https://github.com/j178/prek/pull/1831))
### Enhancements
- Expand tilde in `--config`, `--cd`, `--log-file` and `--git-dir` ([#2063](https://github.com/j178/prek/pull/2063))
- Prevent auto-update cooldown downgrades ([#2055](https://github.com/j178/prek/pull/2055))
- Use managed npm cache for node hooks ([#2075](https://github.com/j178/prek/pull/2075))
### Bug fixes
- Fix npm config env overrides for node hooks ([#2074](https://github.com/j178/prek/pull/2074))
### Documen
16 downloads
v0.3.13
May 5, 2026## Release Notes
Released on 2026-05-06.
### Bug fixes
- Respect hook filters for message files ([#2049](https://github.com/j178/prek/pull/2049))
### Documentation
- Add Godot Engine to users in README ([#2047](https://github.com/j178/prek/pull/2047))
### Contributors
- @j178
- @Calinou
## Install prek 0.3.13
### Install prebuilt binaries via shell script
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.13/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.13/prek-installer.ps1 | iex"
```
### Install prebuilt binaries via Homebrew
```sh
brew install prek
```
## Download prek 0.3.13
| File | Platform | Checksum |
|--------|----------|----------|
| [prek-aarch64-apple-darwin.tar.gz](https://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-apple-darwin.tar.gz) | Apple Silicon macOS | [checksum](https://github.com/j178/prek/releases/download/v0.3.13/prek-aarch64-apple-darwin.tar.gz.sha256) |
| [prek-x86_64-apple-darwin.tar.gz](https://github.com/j178/prek/releases/download/v0.3.13/pre
16 downloads
v0.3.12
May 5, 2026## Release Notes
Released on 2026-05-05.
### Highlights
`auto_update.cooldown_days` is now available in both the user-level global config (`~/.config/prek/prek.toml` on Linux and macOS, or `$XDG_CONFIG_HOME/prek/prek.toml` when set; `%APPDATA%\prek\prek.toml` on Windows) and project config.
Set a user default for `prek auto-update`, then override it per project when a repository needs a different update cadence.
```toml
[auto_update]
cooldown_days = 7
```
### Enhancements
- Add global auto-update cooldown config ([#2041](https://github.com/j178/prek/pull/2041))
- Add project auto-update cooldown config ([#2044](https://github.com/j178/prek/pull/2044))
- Support `language: dart` ([#1146](https://github.com/j178/prek/pull/1146))
### Bug fixes
- Pass commit message file to workspace hooks ([#2043](https://github.com/j178/prek/pull/2043))
- Preserve non-UTF8 filenames from git ([#2023](https://github.com/j178/prek/pull/2023))
- ruby: put resolved Ruby's bin dir on `$PATH` for `gem` invocations ([#2021](https://github.com/j178/prek/pull/2021))
### Documentation
- Update docs with the new logo and icon ([#2025](https://github.com/j178/prek/pull/2025
16 downloads