Changelog¶
0.2.25¶
Released on 2025-12-27.
Performance¶
- Use
git cat-file -ein check if a rev exists (#1277)
Bug fixes¶
- Fix
prioritynot applied for remote hooks (#1281) - Report config file parsing error in
auto-update(#1274) - Unset
GIT_DIRfor auto-update (#1269)
Contributors¶
- @j178
- @branchv
0.2.24¶
Released on 2025-12-23.
Enhancements¶
- Build and publish docker image to
ghcr.io/j178/prek(#1253) - Support git urls for rust dependencies (#1256)
Bug fixes¶
- Ensure running
uv pip installinside the remote repo path (#1262) - Fix
check-added-large-filesfor traced files (#1260) - Respect
GIT_DIRset by git (#1258)
Documentation¶
- Add docker integration docs (#1254)
- Clarify
priorityscope across repos (#1251) - Improve documentation for configurations (#1247)
- Render changelog in document site (#1248)
Contributors¶
- @j178
- @branchv
0.2.23¶
Released on 2025-12-20.
Highlights¶
🚀 This release introduces priority-based parallel hook execution: prek can run multiple hooks in parallel when they share the same priority, which can be a huge speed-up for many configs. See configuration docs for priority.
Enhancements¶
- Allow uv reading user-level or system-level configuration files (#1227)
- Implement
check-case-conflictas builtin hook (#888) - Implement
prioritybased parallel execution (#1232)
Bug fixes¶
- Fix
check-executable-have-shebangs"command line too long" error on Windows (#1236)
Documentation¶
- Add FastAPI to the list of projects using prek (#1241)
- Document hook_types flag and default_install_hook_types behavior (#1225)
- Improve documentation for
priority(#1245) - Mention prek can be installed via
taiki-e/install-action@prek(#1234)
Contributors¶
- @j178
- @copilot-swe-agent
- @lmmx
0.2.22¶
Released on 2025-12-13.
Highlights¶
In this release, prek adds support for the --cooldown-days option in the prek auto-update command. This option allows users to skip releases that are newer than a specified number of days. It is useful to mitigate open source supply chain risks by avoiding very recent releases that may not have been widely adopted or vetted yet. Big thanks to @lmmx for driving this feature!
Enhancements¶
- Support
--cooldown-daysinprek auto-update(#1172) - Prefer tag creation timestamp in
--cooldown-days(#1221) - Use
cargo installfor packages in workspace (#1207)
Bug fixes¶
- Set
CARGO_HOMEforcargo metadata(#1209)
Contributors¶
- @j178
- @lmmx
0.2.21¶
Released on 2025-12-09.
Bug fixes¶
- Fallback to use remote repo package root instead of erroring (#1203)
- Prepend toolchain bin directory to PATH when calling cargo (#1204)
- Use
cargofrom installed toolchain (#1202)
Contributors¶
- @j178
0.2.20¶
Released on 2025-12-08.
Highlights¶
In this release:
- Rust hooks are now fully supported with automatic toolchain management, including package discovery in virtual workspaces. Big thanks to @lmmx for driving this.
- Added a
prek cache sizesubcommand so you can quickly see how much cache space prek is using. Thanks @MatthewMckee4! - Nested workspaces are easier to reason about: set
orphan: trueon a project to isolate it from parents so its files are processed only once.
Want to show your project runs on prek? Add our README badge to your docs or repo homepage:
Enhancements¶
- Support Rust language (#989)
- Refactor Rust toolchain management (#1198)
- Add support for finding packages in virtual workspaces (#1180)
- Add
prek cache sizecommand (#1183) - Support orphan projects (#1129)
- Fallback to
manualstage for hooks specified directly in command line (#1185) - Make go module cache read-writeable (thus deletable) (#1164)
- Provide more information when validating configs and manifests (#1182)
- Improve error message for invalid number of arguments to hook-impl (#1196)
Bug fixes¶
- Disable git terminal prompts (#1193)
- Prevent
post-checkoutdeadlock when cloning repos (#1192) - Prevent color output when redirecting stdout to a file (#1159)
Documentation¶
- Add MacPorts to installation methods (#1157)
- Add a FAQ page explaining
prek install --install--hooks(#1162)
Other changes¶
Contributors¶
- @MatthewMckee4
- @lmmx
- @j178
- @joshmarkovic
- @frazar
- @jmelahman
- @drainpixie
0.2.19¶
Released on 2025-11-26.
Performance¶
- Simplify
fix_byte_order_markerhook (#1136) - Simplify
trailing-whitespacehook to improve performance (#1135)
Bug fixes¶
- Close stdin for hook subcommands (#1155)
- Fix parsing Python interpreter info containing non-UTF8 chars (#1141)
Contributors¶
- @chilin0525
- @nblock
- @j178
0.2.18¶
Released on 2025-11-21.
Highlights¶
In this release, prek adds a new special repo type repo: builtin that lets you use built‑in hooks. It basically gives you another way to use the existing built‑in fast path for pre‑commit‑hooks, but without needing to point to an external repo. Since prek doesn’t have to clone anything or set up a virtual environment, repo: builtin hooks work even in air‑gapped environments.
For more details, see: builtin.md
Enhancements¶
Bug fixes¶
- Do not recurse into submodules during workspace discovery (#1121)
- Do not dim the hook output (#1126)
- Further reduce max cli length for cmd.exe on Windows (#1131)
- Revert "Disallow hook-level
minimum_prek_version(#1101)" (#1120)
Other changes¶
- docs: refer airflow as Apache Airflow (#1116)
Contributors¶
- @j178
- @Lee-W
0.2.17¶
Released on 2025-11-18.
Bug fixes¶
- Revert back to use
serde_yamlagain (#1112)
Contributors¶
- @j178
0.2.16¶
Released on 2025-11-18.
Bug fixes¶
- Disallow hook-level
minimum_prek_version(#1101) - Do not require a project in
prek init-template-dir(#1109) - Make sure
uv pip installuses the Python from virtualenv (#1108) - Restore using
serde_yamlincheck-yamlhook (#1106)
Contributors¶
- @j178
0.2.15¶
Released on 2025-11-17.
Highlights¶
prek is now available on crates.io! You can build prek from source via cargo install prek or cargo binstall prek, for more details see Installation.
Enhancements¶
- Clean up hook environments when install fails (#1085)
- Prepare for publishing prek to crates.io (#1088)
- Replace
serde-yamlwithserde_saphyr(#1087) - Warn unexpected keys in repo and hook level (#1096)
Bug fixes¶
- Fix
prek init-template-dirfails in non-git repo (#1093)
Contributors¶
- @j178
0.2.14¶
Released on 2025-11-14.
Enhancements¶
- Support
PREK_CONTAINER_RUNTIME=podmanto override container runtime (#1033) - Support rootless container runtime (#1018)
- Support
language: unsupportedandlanguage: unsupported_scriptintroduced in pre-commit v4.4 (#1073) - Tweak to regex used for mountinfo (#1037)
Bug fixes¶
- Fix
--filesargument - files referencing other projects aren’t being filtered (#1064) - Unset
objectFormatingit init(#1048)
Documentation¶
- Add scoop to installation (#1067)
- Document workspace file visibility constraints (#1071)
- Add
iceberg-python,msgspecandhumanizeto "who is using prek" (#1039, #1042, #1063)
Other changes¶
- Add a hint to install when running inside a sub-project (#1045)
- Add a hint to use
--refreshwhen no configuration found (#1046) - Run uv pip install from the current directory (#1069)
Contributors¶
- @zzstoatzz
- @st1971
- @yihong0618
- @j178
- @copilot-swe-agent
- @idlsoft
0.2.13¶
Released on 2025-11-04.
Enhancements¶
- Add Ruby support (no download support yet) (#993)
- Implement
check-executables-have-shebangsas builtin-hook (#924) - Improve container id detection (#1031)
Performance¶
Bug fixes¶
- Fix YAML with nested merge keys (#1020)
- Treat every file as executable on Windows to keep compatibility with pre-commit (#980)
Documentation¶
- Document that .gitignore is respected by default during workspace discovery (#983)
- Update project stability status (#1005)
- Add FastMCP to "who is using prek" (#1034)
- Add attrs to "who is using prek" (#981)
Contributors¶
- @my1e5
- @j178
- @zzstoatzz
- @lmmx
- @feliblo
- @yihong0618
- @st1971
- @is-alnilam
0.2.12¶
Released on 2025-10-27.
Enhancements¶
- Add a warning for unimplemented hooks (#976)
- Allow using system trusted store by
PREK_NATIVE_TLS(#959)
Bug fixes¶
- Do not check for
scriptsubprocess status (#964) - Fix compatibility with older luarocks (#967)
- Fix local relative path in
try-repo(#975)
Documentation¶
- Update language support status (#970)
Contributors¶
- @yihong0618
- @st1971
- @j178
0.2.11¶
Released on 2025-10-24.
Enhancements¶
- Support
language: luahooks (#954) - Support
language_version: system(#949) - Implement
no-commit-to-branchas builtin hook (#930) - Improve styling for stashing error message (#953)
- Support nix-shell style shebang (#929)
Documentation¶
- Add a page about "Quick start" (#934)
- Add kreuzberg to "who is using prek" (#936)
- Clarify minimum mise version required to use
mise use prek(#931)
Contributors¶
- @fllesser
- @j178
0.2.10¶
Released on 2025-10-18.
Enhancements¶
- Add
--fail-fastCLI flag to stop after first hook failure (#908) - Add collision detection for hook env directories (#914)
- Error out if not projects found (#913)
- Implement
check-xmlas builtin hook (#894) - Implement
check-merge-conflictas builtin hook (#885) - Use line-by-line reading in
check-merge-conflict(#910)
Bug fixes¶
- Fix pygrep hook env health check (#921)
- Group
pygrepwithpythonwhen installing pygrep hooks (#920) - Ignore
.prefixed directory when searching managed Python for pygrep (#919)
Documentation¶
- Add contribution guide (#912)
Other changes¶
Contributors¶
- @AdityasWorks
- @j178
- @kenwoodjw
- @lmmx
0.2.9¶
Released on 2025-10-16.
Enhancements¶
- Lazily check hook env health (#897)
- Implement
check-symlinksas builtin hook (#895) - Implement
detect-private-keyas builtin hook (#893)
Bug fixes¶
- Download files to scratch directory to avoid cross-filesystem rename (#889)
- Fix golang hook install local dependencies (#902)
- Ignore the user-set
UV_MANAGED_PYTHON(#900)
Other changes¶
- Add package metadata for cargo-binstall (#882)
Contributors¶
- @j178
- @lmmx
0.2.8¶
Released on 2025-10-14.
This is a re-release of 0.2.6 that fixes an issue where publishing to npmjs.com failed.
Enhancements¶
Bug fixes¶
- Use relative path with
--cdin the generated hook script (#868) - Fix autoupdate
revrendering for "float-like" version numbers (#867)
Documentation¶
- Add Nix and Conda installation details (#874)
Contributors¶
- @mondeja
- @j178
- @bbannier
- @yihong0618
- @colindean
0.2.5¶
Released on 2025-10-10.
Enhancements¶
- Implement
prek try-repo(#797) - Add fallback mechanism for prek executable in git hooks (#850)
- Ignore config error if the directory is skipped (#860)
Bug fixes¶
- Fix panic when parse config failed (#859)
Other changes¶
- Add a Dockerfile (#852)
Contributors¶
- @j178
- @luizvbo
0.2.4¶
Released on 2025-10-07.
Enhancements¶
- Add support for
.prekignoreto ignore directories from project discovery (#826) - Make
prek auto-update --jobsdefault to 0 (which uses max available parallelism) (#833) - Improve install message when installing for a subproject (#847)
Bug fixes¶
- Convert extension to lowercase before checking file tags (#839)
- Support pass multiple files like
prek run --files a b c d(#828)
Documentation¶
- Add requests-cache to "Who is using prek" (#824)
Contributors¶
- @SigureMo
- @j178
0.2.3¶
Released on 2025-09-29.
Enhancements¶
- Add
--dry-runtoprek auto-update(#806) - Add a global
--log-fileflag to specify the log file path (#817) - Implement hook health check (#798)
- Show error message in quiet mode (#807)
Bug fixes¶
- Write
failentry into output directly (#811)
Documentation¶
- Update docs about uv in prek (#810)
Other changes¶
- Add a security policy for reporting vulnerabilities (#804)
Contributors¶
- @mondeja
- @j178
0.2.2¶
Released on 2025-09-26.
Enhancements¶
- Add
prek cache dir, moveprek gcandprek cleanunderprek cache(#795) - Add a hint when hooks failed in CI (#800)
- Add support for specifying
PREK_UV_SOURCE(#766) - Run docker container with
--init(#791) - Support
--allow-multiple-documentsforcheck-yaml(#790)
Bug fixes¶
- Fix interpreter identification (#801)
Documentation¶
- Add PaperQA2 to "Who is using prek" (#793)
- Clarify built-in hooks activation conditions and behavior (#781)
- Deduplicate docs between README and MkDocs site (#792)
- Mention
j178/prek-actionin docs (#753)
Other Changes¶
- Bump
pre-commit-hooksin sample-config to v6.0.0 (#761) - Improve arg parsing for builtin hooks (#789)
Contributors¶
- @mondeja
- @akx
- @bxb100
- @j178
- @onerandomusername
0.2.1¶
Enhancements¶
- auto-update: prefer tags that are most similar to the current version (#719)
Bug fixes¶
- Fix
git --no-pager diffcommand syntax upon failures (#746) - Clean working tree of current workspace only (#747)
- Use concurrent read and write in
git check-attr(#731)
Documentation¶
Contributors¶
- @j178
- @matthiask
- @AdrianDC
- @onerandomusername
0.2.0¶
This is a huge milestone release that introduces Workspace Mode — first‑class monorepo support.
prek now allows you to manage multiple projects with their own .pre-commit-config.yaml within a single repository. It auto‑discovers nested projects, runs hooks in project scope, and provides flexible selectors to target specific projects and hooks. This makes prek a powerful tool for managing pre-commit hooks in complex repository structures.
For more details, see Workspace Mode. If you encounter any issues, please report them at Issues.
Note: If you ran prek install in a repo before, you gonna need to run prek install again to replace the old git hook scripts for the workspace mode to work.
Special thanks to @potiuk for all the help and feedback in designing and testing this feature!
For detailed changes between 0.1.6 and 0.2.0, see 0.2.0-alpha.2, 0.2.0-alpha.3, 0.2.0-alpha.4, and 0.2.0-alpha.5.
Enhancements¶
Performance¶
Bug fixes¶
- Fix hook-impl don't run hooks when specified allow missing config (#716)
- fix: support py38 for pygrep (#723)
Other changes¶
- Fix installation on fish and with missing tags (#721)
Contributors¶
- @onerandomusername
- @kushudai
- @j178
0.2.0a5¶
Enhancements¶
Bug fixes¶
- Fix
trailing-whitespace&mixed-line-endingwrite file path (#708) - Fix file path handling for meta hooks in workspace mode (#699)
Documentation¶
Contributors¶
- @kushudai
- @j178
0.2.0a4¶
Enhancements¶
- Bring back
.pre-commit-config.ymlsupport (#676) - Ignore config file from hidden directory (#677)
- Support selectors in
prek install/install-hooks/hook-impl(#683)
Bug fixes¶
- Do not set GOROOT for system install Go when running go hooks (#694)
- Fix
check_tomlandcheck_yamlin workspace mode (#688)
Documentation¶
Other changes¶
- docs(manifest): Correctly specify metadata for all packages (#687)
- refactor(cli): Clean up usage of clap (#689)
Contributors¶
- @j178
- @epage
- @aravindan888
0.2.0a3¶
Enhancements¶
- Add a warning to
hook-implwhen the script needs reinstall (#647)
Documentation¶
- Add a notice to rerun
prek installwhen upgrading to 0.2.0 (#646)
Contributors¶
- @j178
0.2.0-alpha.2¶
This is a re-release of 0.2.0-alpha.1, fixed an issue that prereleases are not published to PyPI.
This is a huge milestone release that introduces Workspace Mode — first‑class monorepo support.
prek now allows you to manage multiple projects with their own .pre-commit-config.yaml within a single repository. It auto‑discovers nested projects, runs hooks in project scope, and provides flexible selectors to target specific projects and hooks. This makes prek a powerful tool for managing pre-commit hooks in complex repository structures.
Note: If you ran prek install in a repo before, you gonna need to run prek install again to replace the old git hook scripts for the workspace mode to work.
For more details, see Workspace Mode. If you encounter any issues, please report them at Issues.
Special thanks to @potiuk for all the help and feedback in designing and testing this feature!
Enhancements¶
- Support multiple
.pre-commit-config.yamlin a workspace (monorepo mode) (#583) - Implement project and hook selector (#623)
- Add
prek run --cd <dir>to change directory before running (#581) - Support
prek listin workspace mode (#586) - Support
prek install|install-hooks|hook-impl|init-template-dirin workspace mode (#595) - Implement
auto-updatein workspace mode (#605) - Implement selector completion in workspace mode (#639)
- Simplify
auto-updateimplementation (#608) - Add a
--dry-runflag toprek run(#622) - Cache workspace discovery result (#636)
- Fix local script hook entry path in workspace mode (#603)
- Fix
hook-implallow missing config (#600) - Fix docker mount in workspace mode (#638)
- Show project line when project is not root (#637)
Documentation¶
- Publish docs to
https://prek.j178.dev(#627) - Improve workspace docs about skips rule (#615)
- Add an full example and update docs (#582)
Other changes¶
Contributors¶
0.1.6¶
Enhancements¶
Bug fixes¶
- Reuse hook env only for exactly same dependencies (#609)
- Workaround checkout file failure on Windows (#616)
0.1.5¶
Enhancements¶
- Implement
pre-pushhook type (#598) - Implement
pre-commit-hooks:check_yamlas builtin hook (#557) - Implement
pre-commit-hooks:check-tomlas builtin hook (#564) - Add validation for file type tags (#565)
- Ignore NotFound error in extracting metadata log (#597)
Documentation¶
- Update project status (#578)
Other changes¶
0.1.4¶
Enhancements¶
- Improve docker image labels (#551)
Performance¶
Bug fixes¶
- Fix
trailing-whitespacecannot handle file contains invalid utf-8 data (#544) - Fix trailing-whitespace eol trimming (#546)
- Fix trailing-whitespace markdown eol trimming (#547)
Documentation¶
- Add authlib to
Who are using prek(#550)
0.1.3¶
Enhancements¶
- Support PEP 723 scripts for Python hooks (#529)
Bug fixes¶
- Fix Python hook stderr are not captured (#530)
Other changes¶
- Add an error context when reading manifest failed (#527)
- Add a renovate rule to bump bundled uv version (#528)
- Disable semantic commits for renovate PRs (#538)
0.1.2¶
Enhancements¶
- Add check for missing hooks in new revision (#521)
Bug fixes¶
- Fix
language: scriptentry join issue (#525)
Other changes¶
- Add OpenLineage to prek users (#523)
0.1.1¶
Breaking changes¶
- Drop support
.ymlconfig file (#493)
Enhancements¶
- Add moving rev warning (#488)
- Implement
prek auto-update(#511) - Support local path as a
repourl (#513)
Bug fixes¶
- Fix recursion limit when checking deeply nested json (#507)
- Fix rename tempfile across device (#508)
- Fix build on s390x (#518)
Other changes¶
- docs: install prek with mise (#510)
0.0.29¶
Enhancements¶
- Build wheels for more platforms (#489)
Bug fixes¶
- Fix
git commit -adoes not pick up staged files correctly (#487)
0.0.28¶
Bug fixes¶
- Fix
inde.lock file existserror when runninggit commit -porgit commit -a(#482) - Various fixes to
init-templdate-dirand directory related bug (#484)
0.0.27¶
Enhancements¶
- Clone repo temporarily into scratch directory (#478)
- Don’t show the progress bar if there’s no need for cloning or installing hooks (#477)
- Support
language_version: ltsfor node (#473)
Bug fixes¶
0.0.26¶
Enhancements¶
- Disable
prek self updatefor package managers (#468) - Download uv from github releases directly (#464)
- Find
uvalongside theprekbinary (#466) - Run hooks with pty if color enabled (#471)
- Warn unexpected keys in config (#463)
Bug fixes¶
- Canonicalize prek executable path (#467)
Documentation¶
- Add "Who are using prek" to README (#458)
0.0.25¶
Enhancements¶
- Add check for
minimum_prek_version(#437) - Make
--to-refdefault to HEAD if--from-refis specified (#426) - Support downloading uv from pypi and mirrors (#449)
- Write trace log to
$PREK_HOME/prek.log(#447) - Implement
mixed_line_endingas builtin hook (#444) - Support
--output-format=jsoninprek list(#446) - Add context message to install error (#455)
- Add warning for non-existent hook id (#450)
Performance¶
- Refactor
fix_trailing_whitespace(#411)
Bug fixes¶
- Calculate more accurate max cli length (#442)
- Fix uv install on Windows (#453)
- Static link
liblzma(#445)
0.0.24¶
Enhancements¶
- Add dynamic completion of hook ids (#380)
- Implement
prek listto list available hooks (#424) - Implement
pygreplanguage support (#383) - Support
prek runmultiple hooks (#423) - Implement
check_jsonas builtin hook (#416)
Performance¶
- Avoid reading whole file into memory in
fix_end_of_fileand make it consistent withpre-commit-hooks(#399)
Bug fixes¶
- Do not set
GOROOTandGOPATHfor system found go (#415)
Documentation¶
0.0.23¶
Breaking changes¶
In this release, we've renamed the project to prek from prefligit. It's shorter so easier to type, and it avoids typosquatting with preflight.
This means that the command-line name is now prek, and the PyPI package is now listed as prek. And the Homebrew will be updated to prek as well.
And previously, the cache directory was ~/.cache/prefligit, now it is ~/.cache/prek. You'd have to delete the old cache directory manually, or run prefligit clean to clean it up.
Then uninstall the old prefligit and install the new prek from scratch.
Enhancements¶
- Relax uv version check range (#396)
Bug fixes¶
Other changes¶
- Rename to
prekfromprefligit(#402)
0.0.22¶
Enhancements¶
- Add value hint to
prefligit runflags (#373) - Check minimum supported version for uv found from system (#352)
Bug fixes¶
- Fix
check_added_large_filesparameter name (#389) - Fix
npm installon Windows (#374) - Fix docker mount options (#377)
- Fix identify tags for
Pipfile.lock(#391) - Fix identifying symlinks (#378)
- Set
GOROOTwhen installing golang hook (#381)
Other changes¶
0.0.21¶
Enhancements¶
- Add
--directorytoprefligit run(#358) - Implement
tags_from_interpreter(#362) - Set GOBIN to
<hook-env>/bin, set GOPATH to$PREGLIGIT_HOME/cache/go(#369)
Performance¶
Bug fixes¶
- Add
nodeto PATH when runningnpm(#371) - Fix bug that default hook stage should be pre-commit (#367)
- Fix cache dir permission before clean (#368)
Other changes¶
- Move
Projectintoworkspacemodule (#364)
0.0.20¶
Enhancements¶
- Support golang hooks and golang toolchain management (#355)
- Add
--last-commitflag toprefligit run(#351)
Bug fixes¶
Documentation¶
- Add migration section to README (#354)
0.0.19¶
Enhancements¶
Bug fixes¶
- Add
--install-linkstonpm install(#347) - Fix large file check to use staged_get instead of intent_add (#332)
0.0.18¶
Enhancements¶
- Impl
FromStrfor language request (#338)
Performance¶
Bug fixes¶
- Fix node path match, add tests (#339)
- Skipped hook name should be taken into account for columns (#335)
Documentation¶
0.0.17¶
Enhancements¶
- Add
sample-config --fileto write sample config to file (#313) - Cache computed
dependencieson hook (#319) - Cache the found path to uv (#323)
- Improve
sample-configwriting file (#314) - Reimplement find matching env logic (#327)
Bug fixes¶
- Fix issue that
entryofpygrepis not shell commands (#316) - Support
python311as a valid language version (#321)
Other changes¶
0.0.16¶
Enhancements¶
- Improve error message for hook (#308)
- Improve error message for hook installation and run (#310)
- Improve hook invalid error message (#307)
- Parse
entrywhen constructing hook (#306) - Rename
autoupdatetoauto-update,init-templatedirtoinit-template-dir(#302)
Bug fixes¶
- Fix
end-of-file-fixerreplaces\r\nwith\n(#311)
0.0.15¶
In this release, language: node hooks are fully supported now (finally)!. Give it a try and let us know if you run into any issues!
Enhancements¶
- Support
nodejslanguage hook (#298) - Show unimplemented message earlier (#296)
- Simplify npm installing dependencies (#299)
Documentation¶
- Update readme (#300)
0.0.14¶
Enhancements¶
- Show unimplemented status instead of panic (#290)
- Try default uv managed python first, fallback to download (#291)
Other changes¶
- Update Rust crate fancy-regex to 0.16.0 (#286)
- Update Rust crate indicatif to 0.18.0 (#287)
- Update Rust crate pprof to 0.15.0 (#288)
- Update Rust crate serde_json to v1.0.142 (#285)
- Update astral-sh/setup-uv action to v6 (#289)
0.0.13¶
Enhancements¶
- Add
PREFLIGIT_NO_FAST_PATHto disable Rust fast path (#272) - Improve subprocess error message (#276)
- Remove
LanguagePreferenceand improve language check (#277) - Support downloading requested Python version automatically (#281)
- Implement language specific version parsing (#273)
Bug fixes¶
0.0.12¶
Bug fixes¶
- Ignore
config not stagederror for config outside the repo (#270)
Other changes¶
0.0.11¶
Enhancements¶
- Support reading
.pre-commit-config.ymlas well (#213) - Refactor language version resolution and hook install dir (#221)
- Implement
prefligit install-hookscommand (#258) - Implement
pre-commit-hooks:end-of-file-fixerhook (#255) - Implement
pre-commit-hooks:check_added_large_fileshook (#219) - Implement
scriptlanguage hooks (#252) - Implement node.js installer (#152)
- Use
-vto show only verbose message,-vvshow debug log,-vvvshow trace log (#211) - Write
.prefligit-repo.jsoninside cloned repo (#225) - Add language name to 'not yet implemented' messages (#251)
Bug fixes¶
- Do not install if no additional dependencies for local python hook (#195)
- Ensure flushing log file (#261)
- Fix zip deflate (#194)
Other changes¶
- Bump to Rust 1.88 and
cargo update(#254) - Upgrade to Rust 2024 edition (#196)
- Bump uv version (#260)
- Simplify archive extraction implementation (#193)
- Use
astral-sh/rs-async-zip(#259) - Use
ubuntu-latestfor release action (#216) - Use async closure (#200)
0.0.10¶
Breaking changes¶
Warning: This release changed the store layout, it's recommended to delete the old store and install from scratch.
To delete the old store, run:
Enhancements¶
- Restructure store folders layout (#181)
- Fallback some env vars to to pre-commit (#175)
- Save patches to
$PREFLIGIT_HOME/patches(#182)
Bug fixes¶
Other changes¶
- Do not publish to crates.io (#191)
- Bump cargo-dist to v0.28.0 (#170)
- Bump uv version to 0.6.0 (#184)
- Configure Renovate (#168)
- Format sample config output (#172)
- Make env vars a shareable crate (#171)
- Reduce String alloc (#166)
- Skip common git flags in command trace log (#162)
- Update Rust crate clap to v4.5.29 (#173)
- Update Rust crate which to v7.0.2 (#163)
- Update astral-sh/setup-uv action to v5 (#164)
- Upgrade Rust to 1.84 and upgrade dependencies (#161)
0.0.9¶
Due to a mistake in the release process, this release is skipped.
0.0.8¶
Enhancements¶
- Move home dir to
~/.cache/prefligit(#154) - Implement trailing-whitespace in Rust (#137)
- Limit hook install concurrency (#145)
- Simplify language default version implementation (#150)
- Support install uv from pypi (#149)
- Add executing command to error message (#141)
Bug fixes¶
- Use hook
argsin fast path (#139)
Other changes¶
- Remove hook install_key (#153)
- Remove pyvenv.cfg patch (#156)
- Try to use D drive on Windows CI (#157)
- Tweak trailing-whitespace-fixer (#140)
- Upgrade dist to v0.27.0 (#158)
- Uv install python into tools path (#151)
0.0.7¶
Enhancements¶
- Add progress bar for hook init and install (#122)
- Add color to command help (#131)
- Add commit info to version display (#130)
- Support meta hooks reading (#134)
- Implement meta hooks (#135)
Bug fixes¶
- Fix same repo clone multiple times (#125)
- Fix logging level after renaming (#119)
- Fix version tag distance (#132)
Other changes¶
- Disable uv cache on Windows (#127)
- Impl Eq and Hash for ConfigRemoteRepo (#126)
- Make
pass_env_varsruns on Windows (#133) - Run cargo update (#129)
- Update Readme (#128)
0.0.6¶
Breaking changes¶
In this release, we’ve renamed the project to prefligit (a deliberate misspelling of preflight) to prevent confusion with the existing pre-commit tool. For further information, refer to issue #73.
- The command-line name is now
prefligit. We suggest uninstalling any previous version ofpre-commit-rsand installingprefligitfrom scratch. - The PyPI package is now listed as
prefligit. - The Cargo package is also now
prefligit. - The Homebrew formula has been updated to
prefligit.
Enhancements¶
- Support
docker_imagelanguage (#113) - Support
init-templatedirsubcommand (#101) - Implement get filenames from merge conflicts (#103)
Bug fixes¶
- Fix
prefligit install --hook-typename (#102)
Other changes¶
- Apply color option to log (#100)
- Improve tests (#106)
- Remove intermedia Language enum (#107)
- Run
cargo clippyin the dev drive workspace (#115)
0.0.5¶
Enhancements¶
v0.0.4 release process was broken, so this release is a actually a re-release of v0.0.4.
- Improve subprocess trace and error output (#92)
- Stash working tree before running hooks (#96)
- Add color to command trace (#94)
- Improve hook output display (#79)
- Improve uv installation (#78)
- Support docker language (#67)
0.0.4¶
Enhancements¶
- Improve subprocess trace and error output (#92)
- Stash working tree before running hooks (#96)
- Add color to command trace (#94)
- Improve hook output display (#79)
- Improve uv installation (#78)
- Support docker language (#67)
0.0.3¶
Bug fixes¶
- Check uv installed after acquired lock (#72)
Other changes¶
- Add copyright of the original pre-commit to LICENSE (#74)
- Add profiler (#71)
- Publish to PyPI (#70)
- Publish to crates.io (#75)
- Rename pypi package to
pre-commit-rusty(#76)
0.0.2¶
Enhancements¶
- Add
pre-commit self update(#68) - Auto install uv (#66)
- Generate shell completion (#20)
- Implement
pre-commit clean(#24) - Implement
pre-commit install(#28) - Implement
pre-commit sample-config(#37) - Implement
pre-commit uninstall(#36) - Implement
pre-commit validate-config(#25) - Implement
pre-commit validate-manifest(#26) - Implement basic
pre-commit hook-impl(#63) - Partition filenames and delegate to multiple subprocesses (#7)
- Refactor xargs (#8)
- Skip empty config argument (#64)
- Use
fancy-regex(#62) - feat: add fail language support (#60)
Bug Fixes¶
- Fix stage operate_on_files (#65)