Changelog
### 2.13.0
```
===================
Features
- Setting `SKIP=...` skips installation as well.
- 1875 PR by asottile.
- pre-commit-ci/issues53 issue by TylerYep.
- Attempt to mount from host with docker-in-docker.
- 1888 PR by okainov.
- 1387 issue by okainov.
- Enable `repo: local` for `r` hooks.
- 1878 PR by lorenzwalthert.
- Upgrade `ruby-build` and `rbenv`.
- 1913 PR by jalessio.
Fixes
- Better detect `r` packages.
- 1898 PR by lorenzwalthert.
- Avoid warnings with mismatched `renv` versions.
- 1841 PR by lorenzwalthert.
- Reproducibly produce ruby tar resources.
- 1915 PR by asottile.
```
### 2.12.1
```
===================
Fixes
- Fix race condition when stashing files in multiple parallel invocations
- 1881 PR by adamchainz.
- 1880 issue by adamchainz.
```
### 2.12.0
```
===================
Features
- Upgrade rbenv.
- 1854 PR by asottile.
- 1848 issue by sirosen.
Fixes
- Give command length a little more room when running batch files on windows
so underlying commands can expand further.
- 1864 PR by asottile.
- pre-commit/mirrors-prettier7 issue by DeltaXWizard.
- Fix permissions of root folder in ruby archives.
- 1868 PR by asottile.
```
### 2.11.1
```
===================
Fixes
- Fix r hooks when hook repo is a package
- 1831 PR by lorenzwalthert.
```
### 2.11.0
```
===================
Features
- Improve warning for mutable ref.
- 1809 PR by JamMarHer.
- Add support for `post-merge` hook.
- 1800 PR by psacawa.
- 1762 issue by psacawa.
- Add `r` as a supported hook language.
- 1799 PR by lorenzwalthert.
Fixes
- Fix `pre-commit install` on `subst` / network drives on windows.
- 1814 PR by asottile.
- 1802 issue by goroderickgo.
- Fix installation of `local` golang repositories for go 1.16.
- 1818 PR by rafikdraoui.
- 1815 issue by rafikdraoui.
```
### 2.10.1
```
===================
Fixes
- Fix `language: golang` repositories containing recursive submodules
- 1788 issue by gaurav517.
- 1789 PR by paulhfischer.
```
### 2.10.0
```
===================
Features
- Allow `ci` as a top-level map for configuration for https://pre-commit.ci
- 1735 PR by asottile.
- Add warning for mutable `rev` in configuration
- 1715 PR by paulhfischer.
- 974 issue by asottile.
- Add warning for `/*` in top-level `files` / `exclude` regexes
- 1750 PR by paulhfischer.
- 1702 issue by asottile.
- Expose `PRE_COMMIT_REMOTE_BRANCH` environment variable during `pre-push`
hooks
- 1770 PR by surafelabebe.
- Produce error message for `language` / `language_version` for non-installable
languages
- 1771 PR by asottile.
Fixes
- Fix execution in worktrees in subdirectories of bare repositories
- 1778 PR by asottile.
- 1777 issue by s0undt3ch.
```
### 2.9.3
```
==================
Fixes
- Fix crash on cygwin mismatch check outside of a git directory
- 1721 PR by asottile.
- 1720 issue by chronoB.
- Fix cleanup code on docker volumes for go
- 1725 PR by fsouza.
- Fix working directory detection on SUBST drives on windows
- 1727 PR by mrogaski.
- 1610 issue by jcameron73.
```
### 2.9.2
```
==================
Fixes
- Fix default value for `types_or` so `symlink` and `directory` can be matched
- 1716 PR by asottile.
- 1718 issue by CodeBleu.
```
### 2.9.1
```
==================
Fixes
- Improve error message for "hook goes missing"
- 1709 PR by paulhfischer.
- 1708 issue by theod07.
- Add warning for `/*` in `files` / `exclude` regexes
- 1707 PR by paulhfischer.
- 1702 issue by asottile.
- Fix `healthy()` check for `language: python` on windows when the base
executable has non-ascii characters.
- 1713 PR by asottile.
- 1711 issue by Najiva.
```
### 2.9.0
```
==================
Features
- Add `types_or` which allows matching multiple disparate `types` in a hook
- 1677 by MarcoGorelli.
- 607 by asottile.
- Add Github Sponsors / Open Collective links
- https://github.com/sponsors/asottile
- https://opencollective.com/pre-commit
Fixes
- Improve cleanup for `language: dotnet`
- 1678 by rkm.
- Fix "xargs" when running windows batch files
- 1686 PR by asottile.
- 1604 issue by apietrzak.
- 1604 issue by ufwtlsb.
- Fix conflict with external `rbenv` and `language_version: default`
- 1700 PR by asottile.
- 1699 issue by abuxton.
- Improve performance of `git status` / `git diff` commands by ignoring
submodules
- 1704 PR by Vynce.
- 1701 issue by Vynce.
```
### 2.8.2
```
==================
Fixes
- Fix installation of ruby hooks with `language_version: default`
- 1671 issue by aerickson.
- 1672 PR by asottile.
```
### 2.8.1
```
==================
Fixes
- Allow default `language_version` of `system` when the homedir is `/`
- 1669 PR by asottile.
```
### 2.8.0
```
==================
Features
- Update `rbenv` / `ruby-build`
- 1612 issue by tdeo.
- 1614 PR by asottile.
- Update `sample-config` versions
- 1611 PR by mcsitter.
- Add new language: `dotnet`
- 1598 by rkm.
- Add `--negate` option to `language: pygrep` hooks
- 1643 PR by MarcoGorelli.
- Add zipapp support
- 1616 PR by asottile.
- Run pre-commit through https://pre-commit.ci
- 1662 PR by asottile.
- Add new language: `coursier` (a jvm-based package manager)
- 1633 PR by JosephMoniz.
- Exit with distinct codes: 1 (user error), 3 (unexpected error), 130 (^C)
- 1601 PR by int3l.
Fixes
- Improve `healthy()` check for `language: node` + `language_version: system`
hooks when the system executable goes missing.
- pre-commit/action45 issue by KOliver94.
- 1589 issue by asottile.
- 1590 PR by asottile.
- Fix excess whitespace in error log traceback
- 1592 PR by asottile.
- Fix posixlike shebang invocations with shim executables of the git hook
script on windows.
- 1593 issue by Celeborn2BeAlive.
- 1595 PR by Celeborn2BeAlive.
- Remove hard-coded `C:\PythonXX\python.exe` path on windows as it caused
confusion (and `virtualenv` can sometimes do better)
- 1599 PR by asottile.
- Fix `language: ruby` hooks when `--format-executable` is present in a gemrc
- issue by `Rainbow Tux` (discord).
- 1603 PR by asottile.
- Move `cygwin` / `win32` mismatch error earlier to catch msys2 mismatches
- 1605 issue by danyeaw.
- 1606 PR by asottile.
- Remove `-p` workaround for old `virtualenv`
- 1617 PR by asottile.
- Fix `language: node` installations to not symlink outside of the environment
- pre-commit-ci/issues2 issue by DanielJSottile.
- 1667 PR by asottile.
- Don't identify shim executables as valid `system` for defaulting
`language_version` for `language: node` / `language: ruby`
- 1658 issue by adithyabsk.
- 1668 PR by asottile.
```
### 2.7.1
```
==================
Fixes
- Improve performance of docker hooks by removing slow `ps` call
- 1572 PR by rkm.
- 1569 issue by asottile.
- Fix un-`healthy()` invalidation followed by install being reported as
un-`healthy()`.
- 1576 PR by asottile.
- 1575 issue by jab.
- Fix rare file race condition on windows with `os.replace()`
- 1577 PR by asottile.
```
### 2.7.0
```
==================
Features
- Produce error message if an environment is immediately unhealthy
- 1535 PR by asottile.
- Add --no-allow-missing-config option to init-templatedir
- 1539 PR by singergr.
- Add warning for old list-style configuration
- 1544 PR by asottile.
- Allow pre-commit to succeed on a readonly store.
- 1570 PR by asottile.
- 1536 issue by asottile.
Fixes
- Fix error messaging when the store directory is readonly
- 1546 PR by asottile.
- 1536 issue by asottile.
- Improve `diff` performance with many hooks
- 1566 PR by jhenkens.
- 1564 issue by jhenkens.
```
### 2.6.0
```
==================
Fixes
- Fix node hooks when `NPM_CONFIG_USERCONFIG` is set
- 1521 PR by asottile.
- 1516 issue by rkm.
Features
- Skip `rbenv` / `ruby-download` if system ruby is available
- 1509 PR by asottile.
- Partial support for ruby on windows (if system ruby is installed)
- 1509 PR by asottile.
- 201 issue by asottile.
```
### 2.5.1
```
==================
Fixes
- Prevent infinite recursion of post-checkout on clone
- 1497 PR by asottile.
- 1496 issue by admorgan.
```
### 2.5.0
```
==================
Features
- Expose a `PRE_COMMIT=1` environment variable when running hooks
- 1467 PR by tech-chad.
- 1426 issue by lorenzwalthert.
Fixes
- Fix `UnicodeDecodeError` on windows when using the `py` launcher to detect
executables with non-ascii characters in the path
- 1474 PR by asottile.
- 1472 issue by DrFobos.
- Fix `DeprecationWarning` on python3.9 for `random.shuffle` method
- 1480 PR by asottile.
- 1479 issue by isidentical.
- Normalize slashes earlier such that global `files` / `exclude` use forward
slashes on windows as well.
- 1494 PR by asottile.
- 1476 issue by harrybiddle.
```
### 2.4.0
```
==================
Features
- Add support for `post-commit` hooks
- 1415 PR by ModischFabrications.
- 1411 issue by ModischFabrications.
- Silence pip version warning in python installation error
- 1412 PR by asottile.
- Improve python `healthy()` when upgrading operating systems.
- 1431 PR by asottile.
- 1427 issue by ahonnecke.
- `language: python_venv` is now an alias to `language: python` (and will be
removed in a future version).
- 1431 PR by asottile.
- Speed up python `healthy()` check.
- 1431 PR by asottile.
- `pre-commit autoupdate` now tries to maintain quoting style of `rev`.
- 1435 PR by marcjay.
- 1434 issue by marcjay.
Fixes
- Fix installation of go modules in `repo: local`.
- 1428 PR by scop.
- Fix committing with unstaged files and a failing `post-checkout` hook.
- 1422 PR by domodwyer.
- 1418 issue by domodwyer.
- Fix installation of node hooks with system node installed on freebsd.
- 1443 PR by asottile.
- 1440 issue by jockej.
- Fix ruby hooks when `GEM_PATH` is set globally.
- 1442 PR by tdeo.
- Improve error message when `pre-commit autoupdate` /
`pre-commit migrate-config` are run but the pre-commit configuration is not
valid yaml.
- 1448 PR by asottile.
- 1447 issue by rpdelaney.
```
### 2.3.0
```
==================
Features
- Calculate character width using `east_asian_width`
- 1378 PR by sophgn.
- Use `language_version: system` by default for `node` hooks if `node` / `npm`
are globally installed.
- 1388 PR by asottile.
Fixes
- No longer use a hard-coded user id for docker hooks on windows
- 1371 PR by killuazhu.
- Fix colors on windows during `git commit`
- 1381 issue by Cielquan.
- 1382 PR by asottile.
- Produce readable error message for incorrect argument count to `hook-impl`
- 1394 issue by pip9ball.
- 1395 PR by asottile.
- Fix installations which involve an upgrade of `pip` on windows
- 1398 issue by xiaohuazi123.
- 1399 PR by asottile.
- Preserve line endings in `pre-commit autoupdate`
- 1402 PR by utek.
```
### 2.2.0
```
==================
Features
- Add support for the `post-checkout` hook
- 1120 issue by domenkozar.
- 1339 PR by andrewhare.
- Add more readable `--from-ref` / `--to-ref` aliases for `--source` /
`--origin`
- 1343 PR by asottile.
Fixes
- Make sure that `--commit-msg-filename` is passed for `commit-msg` /
`prepare-commit-msg`.
- 1336 PR by particledecay.
- 1341 PR by particledecay.
- Fix crash when installation error is un-decodable bytes
- 1358 issue by Guts.
- 1359 PR by asottile.
- Fix python `healthy()` check when `python` executable goes missing.
- 1363 PR by asottile.
- Fix crash when script executables are missing shebangs.
- 1350 issue by chriselion.
- 1364 PR by asottile.
Misc.
- pre-commit now requires python>=3.6.1 (previously 3.6.0)
- 1346 PR by asottile.
```
Links
- PyPI: https://pypi.org/project/pre-commit
- Changelog: https://pyup.io/changelogs/pre-commit/
- Repo: https://github.com/pre-commit/pre-commit
This PR updates pre-commit from 2.1.1 to 2.13.0.
Changelog
### 2.13.0 ``` =================== Features - Setting `SKIP=...` skips installation as well. - 1875 PR by asottile. - pre-commit-ci/issues53 issue by TylerYep. - Attempt to mount from host with docker-in-docker. - 1888 PR by okainov. - 1387 issue by okainov. - Enable `repo: local` for `r` hooks. - 1878 PR by lorenzwalthert. - Upgrade `ruby-build` and `rbenv`. - 1913 PR by jalessio. Fixes - Better detect `r` packages. - 1898 PR by lorenzwalthert. - Avoid warnings with mismatched `renv` versions. - 1841 PR by lorenzwalthert. - Reproducibly produce ruby tar resources. - 1915 PR by asottile. ``` ### 2.12.1 ``` =================== Fixes - Fix race condition when stashing files in multiple parallel invocations - 1881 PR by adamchainz. - 1880 issue by adamchainz. ``` ### 2.12.0 ``` =================== Features - Upgrade rbenv. - 1854 PR by asottile. - 1848 issue by sirosen. Fixes - Give command length a little more room when running batch files on windows so underlying commands can expand further. - 1864 PR by asottile. - pre-commit/mirrors-prettier7 issue by DeltaXWizard. - Fix permissions of root folder in ruby archives. - 1868 PR by asottile. ``` ### 2.11.1 ``` =================== Fixes - Fix r hooks when hook repo is a package - 1831 PR by lorenzwalthert. ``` ### 2.11.0 ``` =================== Features - Improve warning for mutable ref. - 1809 PR by JamMarHer. - Add support for `post-merge` hook. - 1800 PR by psacawa. - 1762 issue by psacawa. - Add `r` as a supported hook language. - 1799 PR by lorenzwalthert. Fixes - Fix `pre-commit install` on `subst` / network drives on windows. - 1814 PR by asottile. - 1802 issue by goroderickgo. - Fix installation of `local` golang repositories for go 1.16. - 1818 PR by rafikdraoui. - 1815 issue by rafikdraoui. ``` ### 2.10.1 ``` =================== Fixes - Fix `language: golang` repositories containing recursive submodules - 1788 issue by gaurav517. - 1789 PR by paulhfischer. ``` ### 2.10.0 ``` =================== Features - Allow `ci` as a top-level map for configuration for https://pre-commit.ci - 1735 PR by asottile. - Add warning for mutable `rev` in configuration - 1715 PR by paulhfischer. - 974 issue by asottile. - Add warning for `/*` in top-level `files` / `exclude` regexes - 1750 PR by paulhfischer. - 1702 issue by asottile. - Expose `PRE_COMMIT_REMOTE_BRANCH` environment variable during `pre-push` hooks - 1770 PR by surafelabebe. - Produce error message for `language` / `language_version` for non-installable languages - 1771 PR by asottile. Fixes - Fix execution in worktrees in subdirectories of bare repositories - 1778 PR by asottile. - 1777 issue by s0undt3ch. ``` ### 2.9.3 ``` ================== Fixes - Fix crash on cygwin mismatch check outside of a git directory - 1721 PR by asottile. - 1720 issue by chronoB. - Fix cleanup code on docker volumes for go - 1725 PR by fsouza. - Fix working directory detection on SUBST drives on windows - 1727 PR by mrogaski. - 1610 issue by jcameron73. ``` ### 2.9.2 ``` ================== Fixes - Fix default value for `types_or` so `symlink` and `directory` can be matched - 1716 PR by asottile. - 1718 issue by CodeBleu. ``` ### 2.9.1 ``` ================== Fixes - Improve error message for "hook goes missing" - 1709 PR by paulhfischer. - 1708 issue by theod07. - Add warning for `/*` in `files` / `exclude` regexes - 1707 PR by paulhfischer. - 1702 issue by asottile. - Fix `healthy()` check for `language: python` on windows when the base executable has non-ascii characters. - 1713 PR by asottile. - 1711 issue by Najiva. ``` ### 2.9.0 ``` ================== Features - Add `types_or` which allows matching multiple disparate `types` in a hook - 1677 by MarcoGorelli. - 607 by asottile. - Add Github Sponsors / Open Collective links - https://github.com/sponsors/asottile - https://opencollective.com/pre-commit Fixes - Improve cleanup for `language: dotnet` - 1678 by rkm. - Fix "xargs" when running windows batch files - 1686 PR by asottile. - 1604 issue by apietrzak. - 1604 issue by ufwtlsb. - Fix conflict with external `rbenv` and `language_version: default` - 1700 PR by asottile. - 1699 issue by abuxton. - Improve performance of `git status` / `git diff` commands by ignoring submodules - 1704 PR by Vynce. - 1701 issue by Vynce. ``` ### 2.8.2 ``` ================== Fixes - Fix installation of ruby hooks with `language_version: default` - 1671 issue by aerickson. - 1672 PR by asottile. ``` ### 2.8.1 ``` ================== Fixes - Allow default `language_version` of `system` when the homedir is `/` - 1669 PR by asottile. ``` ### 2.8.0 ``` ================== Features - Update `rbenv` / `ruby-build` - 1612 issue by tdeo. - 1614 PR by asottile. - Update `sample-config` versions - 1611 PR by mcsitter. - Add new language: `dotnet` - 1598 by rkm. - Add `--negate` option to `language: pygrep` hooks - 1643 PR by MarcoGorelli. - Add zipapp support - 1616 PR by asottile. - Run pre-commit through https://pre-commit.ci - 1662 PR by asottile. - Add new language: `coursier` (a jvm-based package manager) - 1633 PR by JosephMoniz. - Exit with distinct codes: 1 (user error), 3 (unexpected error), 130 (^C) - 1601 PR by int3l. Fixes - Improve `healthy()` check for `language: node` + `language_version: system` hooks when the system executable goes missing. - pre-commit/action45 issue by KOliver94. - 1589 issue by asottile. - 1590 PR by asottile. - Fix excess whitespace in error log traceback - 1592 PR by asottile. - Fix posixlike shebang invocations with shim executables of the git hook script on windows. - 1593 issue by Celeborn2BeAlive. - 1595 PR by Celeborn2BeAlive. - Remove hard-coded `C:\PythonXX\python.exe` path on windows as it caused confusion (and `virtualenv` can sometimes do better) - 1599 PR by asottile. - Fix `language: ruby` hooks when `--format-executable` is present in a gemrc - issue by `Rainbow Tux` (discord). - 1603 PR by asottile. - Move `cygwin` / `win32` mismatch error earlier to catch msys2 mismatches - 1605 issue by danyeaw. - 1606 PR by asottile. - Remove `-p` workaround for old `virtualenv` - 1617 PR by asottile. - Fix `language: node` installations to not symlink outside of the environment - pre-commit-ci/issues2 issue by DanielJSottile. - 1667 PR by asottile. - Don't identify shim executables as valid `system` for defaulting `language_version` for `language: node` / `language: ruby` - 1658 issue by adithyabsk. - 1668 PR by asottile. ``` ### 2.7.1 ``` ================== Fixes - Improve performance of docker hooks by removing slow `ps` call - 1572 PR by rkm. - 1569 issue by asottile. - Fix un-`healthy()` invalidation followed by install being reported as un-`healthy()`. - 1576 PR by asottile. - 1575 issue by jab. - Fix rare file race condition on windows with `os.replace()` - 1577 PR by asottile. ``` ### 2.7.0 ``` ================== Features - Produce error message if an environment is immediately unhealthy - 1535 PR by asottile. - Add --no-allow-missing-config option to init-templatedir - 1539 PR by singergr. - Add warning for old list-style configuration - 1544 PR by asottile. - Allow pre-commit to succeed on a readonly store. - 1570 PR by asottile. - 1536 issue by asottile. Fixes - Fix error messaging when the store directory is readonly - 1546 PR by asottile. - 1536 issue by asottile. - Improve `diff` performance with many hooks - 1566 PR by jhenkens. - 1564 issue by jhenkens. ``` ### 2.6.0 ``` ================== Fixes - Fix node hooks when `NPM_CONFIG_USERCONFIG` is set - 1521 PR by asottile. - 1516 issue by rkm. Features - Skip `rbenv` / `ruby-download` if system ruby is available - 1509 PR by asottile. - Partial support for ruby on windows (if system ruby is installed) - 1509 PR by asottile. - 201 issue by asottile. ``` ### 2.5.1 ``` ================== Fixes - Prevent infinite recursion of post-checkout on clone - 1497 PR by asottile. - 1496 issue by admorgan. ``` ### 2.5.0 ``` ================== Features - Expose a `PRE_COMMIT=1` environment variable when running hooks - 1467 PR by tech-chad. - 1426 issue by lorenzwalthert. Fixes - Fix `UnicodeDecodeError` on windows when using the `py` launcher to detect executables with non-ascii characters in the path - 1474 PR by asottile. - 1472 issue by DrFobos. - Fix `DeprecationWarning` on python3.9 for `random.shuffle` method - 1480 PR by asottile. - 1479 issue by isidentical. - Normalize slashes earlier such that global `files` / `exclude` use forward slashes on windows as well. - 1494 PR by asottile. - 1476 issue by harrybiddle. ``` ### 2.4.0 ``` ================== Features - Add support for `post-commit` hooks - 1415 PR by ModischFabrications. - 1411 issue by ModischFabrications. - Silence pip version warning in python installation error - 1412 PR by asottile. - Improve python `healthy()` when upgrading operating systems. - 1431 PR by asottile. - 1427 issue by ahonnecke. - `language: python_venv` is now an alias to `language: python` (and will be removed in a future version). - 1431 PR by asottile. - Speed up python `healthy()` check. - 1431 PR by asottile. - `pre-commit autoupdate` now tries to maintain quoting style of `rev`. - 1435 PR by marcjay. - 1434 issue by marcjay. Fixes - Fix installation of go modules in `repo: local`. - 1428 PR by scop. - Fix committing with unstaged files and a failing `post-checkout` hook. - 1422 PR by domodwyer. - 1418 issue by domodwyer. - Fix installation of node hooks with system node installed on freebsd. - 1443 PR by asottile. - 1440 issue by jockej. - Fix ruby hooks when `GEM_PATH` is set globally. - 1442 PR by tdeo. - Improve error message when `pre-commit autoupdate` / `pre-commit migrate-config` are run but the pre-commit configuration is not valid yaml. - 1448 PR by asottile. - 1447 issue by rpdelaney. ``` ### 2.3.0 ``` ================== Features - Calculate character width using `east_asian_width` - 1378 PR by sophgn. - Use `language_version: system` by default for `node` hooks if `node` / `npm` are globally installed. - 1388 PR by asottile. Fixes - No longer use a hard-coded user id for docker hooks on windows - 1371 PR by killuazhu. - Fix colors on windows during `git commit` - 1381 issue by Cielquan. - 1382 PR by asottile. - Produce readable error message for incorrect argument count to `hook-impl` - 1394 issue by pip9ball. - 1395 PR by asottile. - Fix installations which involve an upgrade of `pip` on windows - 1398 issue by xiaohuazi123. - 1399 PR by asottile. - Preserve line endings in `pre-commit autoupdate` - 1402 PR by utek. ``` ### 2.2.0 ``` ================== Features - Add support for the `post-checkout` hook - 1120 issue by domenkozar. - 1339 PR by andrewhare. - Add more readable `--from-ref` / `--to-ref` aliases for `--source` / `--origin` - 1343 PR by asottile. Fixes - Make sure that `--commit-msg-filename` is passed for `commit-msg` / `prepare-commit-msg`. - 1336 PR by particledecay. - 1341 PR by particledecay. - Fix crash when installation error is un-decodable bytes - 1358 issue by Guts. - 1359 PR by asottile. - Fix python `healthy()` check when `python` executable goes missing. - 1363 PR by asottile. - Fix crash when script executables are missing shebangs. - 1350 issue by chriselion. - 1364 PR by asottile. Misc. - pre-commit now requires python>=3.6.1 (previously 3.6.0) - 1346 PR by asottile. ```Links
- PyPI: https://pypi.org/project/pre-commit - Changelog: https://pyup.io/changelogs/pre-commit/ - Repo: https://github.com/pre-commit/pre-commit