# What changed in prek

> 43 changes in prek 0.5 from its official release notes, upgrade guides and advisories: 2 breaking, 9 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/pypi/prek/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## prek 0.5

### Breaking changes

- The check now rejects empty files. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- The check now rejects trailing data. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)

### New APIs and options

- Adds the builtin hook check-commit-trailers for validating commit trailers. (0.5.6) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.6)
- Adds the builtin hook check-signed-commit for checking signed commits. (0.5.6) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.6)
- The hook adds a `--check` option. (0.5.4) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.4)
- The hook adds a `--check` option. (0.5.4) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.4)
- Project and user configuration can now use `hide_status`. (0.5.4) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.4)
- Hooks can be configured to include deleted files. (0.5.4) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.4)
- Shell completion generation is exposed for users. (0.5.4) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.4)
- The hook adds a `--check` option. (0.5.4) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.4)
- The hook adds a `--check` option. (0.5.4) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.4)

### Performance

- Reduces hook process launches by using balanced batches. (0.5.6) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.6)
- Unused file input is skipped for always-run hooks. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Bun and Deno version queries are shared across environments. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Cached hook environments are checked concurrently. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Only staged additions are queried for case-conflict checks. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Git queries run concurrently for case-conflict checks. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Untracked files are skipped in destroyed symlink checks. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Git discovery overlaps with worktree status checks. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Git worktree state is reused during hook startup. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Intent-to-add paths are reused when saving unstaged changes. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Lua runtime probes are shared across hook environments. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- mise version queries are shared across hook environments. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Site initialization is skipped in Python interpreter probes. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- JSON imports are avoided when querying Python interpreters. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Ruby version queries are shared across hook environments. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- File reads are batched during shebang checks. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Worker overhead is reduced in XML and pygrep checks. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Builtin hook execution is faster; the end-to-end benchmark reports about 38% improvement over 0.5.3, with some hooks up to 273% faster. (0.5.4) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.4)

### Behavior and default changes

- Shebang checks now default missing core.fileMode. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Builtin pattern hooks now support look-around regular expressions. (0.5.4) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.4)

### Tooling

- Completion generation now supports Nushell. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Wheel and binary builds are now available for ppc64le. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)

### Fixes and other changes

- Accepts a UTF-8 BOM in JSON checked by the builtin hook. (0.5.6) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.6)
- Preserves unquoted dotted revisions when updating. (0.5.6) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.6)
- File sizes are rounded up. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Staged and unstaged changes are preserved when stash restore encounters conflicts. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Duplicate diffs are avoided after hooks rewrite files. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Protected branch patterns are matched from the start. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Explicit paths are normalized in shebang index checks. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Empty character sets are preserved. (0.5.5) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.5)
- Completion scripts resolve prek using PATH. (0.5.4) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.4)
- Transient rename failures are retried on Windows. (0.5.4) — [release notes](https://github.com/j178/prek/releases/tag/v0.5.4)
