Skip to content
This repository has been archived by the owner on Jan 5, 2021. It is now read-only.

Update pre-commit to 2.9.3 #536

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Contributor

@pyup-bot pyup-bot commented Dec 7, 2020

This PR updates pre-commit from 0.17.0 to 2.9.3.

Changelog

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.

2.1.1

==================

Fixes
- Temporarily restore python 3.6.0 support (broken in 2.0.0)
 - reported by obestwalter.
 - 081f3028 by asottile.

2.1.0

==================

Features
- Replace `aspy.yaml` with `sort_keys=False`.
 - 1306 PR by asottile.
- Add support for `perl`.
 - 1303 PR by scop.

Fixes
- Improve `.git/hooks/*` shebang creation when pythons are in `/usr/local/bin`.
 - 1312 issue by kbsezginel.
 - 1319 PR by asottile.

Misc.
- Add repository badge for pre-commit.
 - [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
 - 1334 PR by ddelange.

2.0.1

==================

Fixes
- Fix `ImportError` in python 3.6.0 / 3.6.1 for `typing.NoReturn`.
 - 1302 PR by asottile.

2.0.0

==================

Features
- Expose `PRE_COMMIT_REMOTE_NAME` and `PRE_COMMIT_REMOTE_URL` as environment
variables during `pre-push` hooks.
 - 1274 issue by dmbarreiro.
 - 1288 PR by dmbarreiro.

Fixes
- Fix `python -m pre_commit --version` to mention `pre-commit` instead of
`__main__.py`.
 - 1273 issue by ssbarnea.
 - 1276 PR by orcutt989.
- Don't filter `GIT_SSL_NO_VERIFY` from environment when cloning.
 - 1293 PR by schiermike.
- Allow `pre-commit init-templatedir` to succeed even if `core.hooksPath` is
set.
 - 1298 issue by damienrj.
 - 1299 PR by asottile.

Misc
- Fix changelog date for 1.21.0.
 - 1275 PR by flaudisio.

Updating
- Removed `pcre` language, use `pygrep` instead.
 - 1268 PR by asottile.
- Removed `--tags-only` argument to `pre-commit autoupdate` (it has done
nothing since 0.14.0).
 - 1269 by asottile.
- Remove python2 / python3.5 support.  Note that pre-commit still supports
running hooks written in python2, but pre-commit itself requires python 3.6+.
 - 1260 issue by asottile.
 - 1277 PR by asottile.
 - 1281 PR by asottile.
 - 1282 PR by asottile.
 - 1287 PR by asottile.
 - 1289 PR by asottile.
 - 1292 PR by asottile.

1.21.0

===================

Features
- Add `conda` as a new `language`.
 - 1204 issue by xhochy.
 - 1232 PR by xhochy.
- Add top-level configuration `files` for file selection.
 - 1220 issue by TheButlah.
 - 1248 PR by asottile.
- Rework `--verbose` / `verbose` to be more consistent with normal runs.
 - 1249 PR by asottile.
- Add support for the `pre-merge-commit` git hook.
 - 1210 PR by asottile.
 - this requires git 2.24+.
- Add `pre-commit autoupdate --freeze` which produces "frozen" revisions.
 - 1068 issue by SkypLabs.
 - 1256 PR by asottile.
- Display hook runtime duration when run with `--verbose`.
 - 1144 issue by potiuk.
 - 1257 PR by asottile.

Fixes
- Produce better error message when erroneously running inside of `.git`.
 - 1219 issue by Nusserdt.
 - 1224 PR by asottile.
 - Note: `git` has since fixed this bug: git/git36fd304d
- Produce better error message when hook installation fails.
 - 1250 issue by asottile.
 - 1251 PR by asottile.
- Fix cloning when `GIT_SSL_CAINFO` is necessary.
 - 1253 issue by igankevich.
 - 1254 PR by igankevich.
- Fix `pre-commit try-repo` for bare, on-disk repositories.
 - 1258 issue by webknjaz.
 - 1259 PR by asottile.
- Add some whitespace to `pre-commit autoupdate` to improve terminal autolink.
 - 1261 issue by yhoiseth.
 - 1262 PR by yhoiseth.

Misc.
- Minor code documentation updates.
 - 1200 PR by ryanrhee.
 - 1201 PR by ryanrhee.

1.20.0

===================

Features
- Allow building newer versions of `ruby`.
 - 1193 issue by choffee.
 - 1195 PR by choffee.
- Bump versions reported in `pre-commit sample-config`.
 - 1197 PR by asottile.

Fixes
- Fix rare race condition with multiple concurrent first-time runs.
 - 1192 issue by raholler.
 - 1196 PR by asottile.

1.19.0

===================

Features
- Allow `--hook-type` to be specified multiple times.
 - example: `pre-commit install --hook-type pre-commit --hook-type pre-push`
 - 1139 issue by MaxymVlasov.
 - 1145 PR by asottile.
- Include more version information in crash logs.
 - 1142 by marqueewinq.
- Hook colors are now passed through on platforms which support `pty`.
 - 1169 by asottile.
- pre-commit now  uses `importlib.metadata` directly when running in python 3.8
 - 1176 by asottile.
- Normalize paths to forward slash separators on windows.
 - makes it easier to match paths with `files:` regex
 - avoids some quoting bugs in shell-based hooks
 - 1173 issue by steigenTI.
 - 1179 PR by asottile.

Fixes
- Remove some extra newlines from error messages.
 - 1148 by asottile.
- When a hook is not executable it now reports `not executable` instead of
`not found`.
 - 1159 issue by nixjdm.
 - 1161 PR by WillKoehrsen.
- Fix interleaving of stdout / stderr in hooks.
 - 1168 by asottile.
- Fix python environment `healthy()` check when current working directory
contains modules which shadow standard library names.
 - issue by vwhsu92.
 - 1185 PR by asottile.

Updating
- Regexes handling both backslashes and forward slashes for directory
separators now only need to handle forward slashes.

1.18.3

===================

Fixes
- Fix `node_modules` plugin installation on windows
 - 1123 issue by henryykt.
 - 1122 PR by henryykt.

1.18.2

===================

Fixes
- Make default python lookup more deterministic to avoid redundant installs
 - 1117 PR by scop.

1.18.1

===================

Fixes
- Fix installation of `rust` hooks with new `cargo`
 - 1112 issue by zimbatm.
 - 1113 PR by zimbatm.

1.18.0

===================

Features
- Use the current running executable if it matches the requested
`language_version`
 - 1062 PR by asottile.
- Print the stage when a hook is not found
 - 1078 issue by madkinsz.
 - 1079 PR by madkinsz.
- `pre-commit autoupdate` now supports non-`master` default branches
 - 1089 PR by asottile.
- Add `pre-commit init-templatedir` which makes it easier to automatically
enable `pre-commit` in cloned repositories.
 - 1084 issue by ssbarnea.
 - 1090 PR by asottile.
 - 1107 PR by asottile.
- pre-commit's color can be controlled using
`PRE_COMMIT_COLOR={auto,always,never}`
 - 1073 issue by saper.
 - 1092 PR by geieredgar.
 - 1098 PR by geieredgar.
- pre-commit's color can now be disabled using `TERM=dumb`
 - 1073 issue by saper.
 - 1103 PR by asottile.
- pre-commit now supports `docker` based hooks on windows
 - 1072 by cz-fish.
 - 1093 PR by geieredgar.

Fixes
- Fix shallow clone
 - 1077 PR by asottile.
- Fix autoupdate version flip flop when using shallow cloning
 - 1076 issue by mxr.
 - 1088 PR by asottile.
- Fix autoupdate when the current revision is invalid
 - 1088 PR by asottile.

Misc.
- Replace development instructions with `tox --devenv ...`
 - 1032 issue by yoavcaspi.
 - 1067 PR by asottile.

1.17.0

===================

Features
- Produce better output on `^C`
 - 1030 PR by asottile.
- Warn on unknown keys at the top level and repo level
 - 1028 PR by yoavcaspi.
 - 1048 PR by asottile.

Fixes
- Fix handling of `^C` in wrapper script in python 3.x
 - 1027 PR by asottile.
- Fix `rmtree` for non-writable directories
 - 1042 issue by detailyang.
 - 1043 PR by asottile.
- Pass `--color` option to `git diff` in `--show-diff-on-failure`
 - 1007 issue by chadrik.
 - 1051 PR by mandarvaze.

Misc.
- Fix test when `pre-commit` is installed globally
 - 1032 issue by yoavcaspi.
 - 1045 PR by asottile.

1.16.1

===================

Fixes
- Don't `UnicodeDecodeError` on unexpected non-UTF8 output in python health
check on windows.
 - 1021 issue by nicoddemus.
 - 1022 PR by asottile.

1.16.0

===================

Features
- Add support for `prepare-commit-msg` hook
 - 1004 PR by marcjay.

Fixes
- Fix repeated legacy `pre-commit install` on windows
 - 1010 issue by AbhimanyuHK.
 - 1011 PR by asottile.
- Whitespace fixup
 - 1014 PR by mxr.
- Fix CI check for working pcre support
 - 1015 PR by Myrheimb.

Misc.
- Switch CI from travis / appveyor to azure pipelines
 - 1012 PR by asottile.

1.15.2

===================

Fixes
- Fix cloning non-branch tag while in the fallback slow-clone strategy.
 - 997 issue by jpinner.
 - 998 PR by asottile.

1.15.1

===================

Fixes
- Fix command length calculation on posix when `SC_ARG_MAX` is not defined.
 - 691 issue by ushuz.
 - 987 PR by asottile.

1.15.0

===================

Features
- No longer require being in a `git` repo to run `pre-commit` `clean` / `gc` /
`sample-config`.
 - 959 PR by asottile.
- Improve command line length limit detection.
 - 691 issue by antonbabenko.
 - 966 PR by asottile.
- Use shallow cloning when possible.
 - 958 PR by DanielChabrowski.
- Add `minimum_pre_commit_version` top level key to require a new-enough
version of `pre-commit`.
 - 977 PR by asottile.
- Add helpful CI-friendly message when running
`pre-commit run --all-files --show-diff-on-failure`.
- 982 PR by bnorquist.

Fixes
- Fix `try-repo` for staged untracked changes.
 - 973 PR by DanielChabrowski.
- Fix rpm build by explicitly using `!/usr/bin/env python3` in hook template.
 - 985 issue by tim77.
 - 986 PR by tim77.
- Guard against infinite recursion when executing legacy hook script.
 - 981 PR by tristan0x.

Misc
- Add test for `git.no_git_env()`
 - 972 PR by javabrett.

1.14.4

===================

Fixes
- Don't filter `GIT_SSH_COMMAND` env variable from `git` commands
 - 947 issue by firba1.
 - 948 PR by firba1.
- Install npm packages as if they were installed from `git`
 - 943 issue by ssbarnea.
 - 949 PR by asottile.
- Don't filter `GIT_EXEC_PREFIX` env variable from `git` commands
 - 664 issue by revolter.
 - 944 PR by minrk.

1.14.3

===================

Fixes
- Improve performance of filename classification by 45% - 55%.
 - 921 PR by asottile.
- Fix installing `go` hooks while `GOBIN` environment variable is set.
 - 924 PR by ashanbrown.
- Fix crash while running `pre-commit migrate-config` / `pre-commit autoupdate`
with an empty configuration file.
 - 929 issue by ardakuyumcu.
 - 933 PR by jessebona.
- Require a newer virtualenv to fix metadata-based setup.cfg installs.
 - 936 PR by asottile.

1.14.2

===================

Fixes
- Make the hook shebang detection more timid (1.14.0 regression)
 - Homebrew/homebrew-core35825.
 - 915 PR by asottile.

1.14.1

===================

Fixes
- Fix python executable lookup on windows when using conda
 - 913 issue by dawelter2.
 - 914 PR by asottile.

1.14.0

===================

Features
- Add an `alias` configuration value to allow repeated hooks to be
differentiated
 - 882 issue by s0undt3ch.
 - 886 PR by s0undt3ch.
- Add `identity` meta hook which just prints filenames
 - 865 issue by asottile.
 - 898 PR by asottile.
- Factor out `cached-property` and improve startup performance by ~10%
 - 899 PR by asottile.
- Add a warning on unexpected keys in configuration
 - 899 PR by asottile.
- Teach `pre-commit try-repo` to clone uncommitted changes on disk.
 - 589 issue by sverhagen.
 - 703 issue by asottile.
 - 904 PR by asottile.
- Implement `pre-commit gc` which will clean up no-longer-referenced cache
repos.
 - 283 issue by jtwang.
 - 906 PR by asottile.
- Add top level config `default_language_version` to streamline overriding the
`language_version` configuration in many places
 - 647 issue by asottile.
 - 908 PR by asottile.
- Add top level config `default_stages` to streamline overriding the `stages`
configuration in many places
 - 768 issue by mattlqx.
 - 909 PR by asottile.

Fixes
- More intelligently pick hook shebang (`!/usr/bin/env python3`)
 - 878 issue by fristedt.
 - 893 PR by asottile.
- Several fixes related to `--files` / `--config`:
 - `pre-commit run --files x` outside of a git dir no longer stacktraces
 - `pre-commit run --config ./relative` while in a sub directory of the git
   repo is now able to find the configuration
 - `pre-commit run --files ...` no longer runs a subprocess per file
   (performance)
 - 895 PR by asottile.
- `pre-commit try-repo ./relative` while in a sub directory of the git repo is
now able to clone properly
 - 903 PR by asottile.
- Ensure `meta` repos cannot have a language other than `system`
 - 905 issue by asottile.
 - 907 PR by asottile.
- Fix committing with unstaged files that were `git add --intent-to-add` added
 - 881 issue by henniss.
 - 912 PR by asottile.

Misc.
- Use `--no-gpg-sign` when running tests
 - 894 PR by s0undt3ch.

1.13.0

===================

Features
- Run hooks in parallel
 - individual hooks may opt out of parallel execution with `require_serial: true`
 - 510 issue by chriskuehl.
 - 851 PR by chriskuehl.

Fixes
- Improve platform-specific `xargs` command length detection
 - 691 issue by antonbabenko.
 - 839 PR by georgeyk.
- Fix `pre-commit autoupdate` when updating to a latest tag missing a
`.pre-commit-hooks.yaml`
 - 856 issue by asottile.
 - 857 PR by runz0rd.
- Upgrade the `pre-commit-hooks` version in `pre-commit sample-config`
 - 870 by asottile.
- Improve balancing of multiprocessing by deterministic shuffling of args
 - 861 issue by Dunedan.
 - 874 PR by chriskuehl.
- `ruby` hooks work with latest `gem` by removing `--no-ri` / `--no-rdoc` and
instead using `--no-document`.
 - 889 PR by asottile.

Misc.
- Use `--no-gpg-sign` when running tests
 - 885 PR by s0undt3ch.

Updating
- If a hook requires serial execution, set `require_serial: true` to avoid the new
parallel execution.
- `ruby` hooks now require `gem>=2.0.0`.  If your platform doesn't support this
by default, select a newer version using
[`language_version`](https://pre-commit.com/overriding-language-version).

1.12.0

===================

Fixes
- Install multi-hook repositories only once (performance)
 - issue by chriskuehl.
 - 852 PR by asottile.
- Improve performance by factoring out pkg_resources (performance)
 - 840 issue by RonnyPfannschmidt.
 - 846 PR by asottile.

1.11.2

===================

Fixes
- `check-useless-exclude` now considers `types`
 - 704 issue by asottile.
 - 837 PR by georgeyk.
- `pre-push` hook was not identifying all commits on push to new branch
 - 843 issue by prem-nuro.
 - 844 PR by asottile.

1.11.1

===================

Fixes
- Fix `.git` dir detection in `git<2.5` (regression introduced in
[1.10.5](1105))
 - 831 issue by mmacpherson.
 - 832 PR by asottile.

1.11.0

===================

Features
- Add new `fail` language which always fails
 - light-weight way to forbid files by name.
 - 812 821 PRs by asottile.

Fixes
- Fix `ResourceWarning`s for unclosed files
 - 811 PR by BoboTiG.
- Don't write ANSI colors on windows when color enabling fails
 - 819 PR by jeffreyrack.

1.10.5

===================

Fixes
- Work around `PATH` issue with `brew` `python` on `macos`
 - Homebrew/homebrew-core30445 issue by asottile.
 - 805 PR by asottile.
- Support `pre-commit install` inside a worktree
 - 808 issue by s0undt3ch.
 - 809 PR by asottile.

1.10.4

===================

Fixes
- Replace `yaml.load` with safe alternative
 - `yaml.load` can lead to arbitrary code execution, though not where it
   was used
 - issue by tonybaloney.
 - 779 PR by asottile.
- Improve not found error with script paths (`./exe`)
 - 782 issue by ssbarnea.
 - 785 PR by asottile.
- Fix minor buffering issue during `--show-diff-on-failure`
 - 796 PR by asottile.
- Default `language_version: python3` for `python_venv` when running in python2
 - 794 issue by ssbarnea.
 - 797 PR by asottile.
- `pre-commit run X` only run `X` and not hooks with `stages: [...]`
 - 772 issue by asottile.
 - 803 PR by mblayman.

Misc.
- Improve travis-ci build times by caching rust / swift artifacts
 - 781 PR by expobrain.
- Test against python3.7
 - 789 PR by expobrain.

1.10.3

===================

Fixes
- Fix `pre-push` during a force push without a fetch
 - 777 issue by domenkozar.
 - 778 PR by asottile.

1.10.2

===================

Fixes
- pre-commit now invokes hooks with a consistent ordering of filenames
 - issue by mxr.
 - 767 PR by asottile.

1.10.1

===================

Fixes
- `python_venv` language would leak dependencies when pre-commit was installed
in a `-mvirtualenv` virtualenv
 - 755 756 issue and PR by asottile.

1.10.0

===================

Features
- Add support for hooks written in `rust`
 - 751 PR by chriskuehl.

1.9.0

==================

Features
- Add new `python_venv` language which uses the `venv` module instead of
`virtualenv`
 - 631 issue by dongyuzheng.
 - 739 PR by ojii.
- Include `LICENSE` in distribution
 - 745 issue by nicoddemus.
 - 746 PR by nicoddemus.

Fixes
- Normalize relative paths for `pre-commit try-repo`
 - 750 PR by asottile.

1.8.2

==================

Fixes
- Fix cloning relative paths (regression in 1.7.0)
 - 728 issue by jdswensen.
 - 729 PR by asottile.

1.8.1

==================

Fixes
- Fix integration with go 1.10 and `pkg` directory
 - 725 PR by asottile
- Restore support for `git<1.8.5` (inadvertently removed in 1.7.0)
 - 723 issue by JohnLyman.
 - 724 PR by asottile.

1.8.0

==================

Features
- Add a `manual` stage for cli-only interaction
 - 719 issue by hectorv.
 - 720 PR by asottile.
- Add a `--multiline` option to `pygrep` hooks
 - 716 PR by tdeo.

1.7.0

==================

Features
- pre-commit config validation was split to a separate `cfgv` library
 - 700 PR by asottile.
- Allow `--repo` to be specified multiple times to autoupdate
 - 658 issue by KevinHock.
 - 713 PR by asottile.
- Enable `rev` as a preferred alternative to `sha` in `.pre-commit-config.yaml`
 - 106 issue by asottile.
 - 715 PR by asottile.
- Use `--clean-src` option when invoking `nodeenv` to save ~70MB per node env
 - 717 PR by asottile.
- Refuse to install with `core.hooksPath` set
 - pre-commit/pre-commit-hooks250 issue by revolter.
 - 663 issue by asottile.
 - 718 PR by asottile.

Fixes
- hooks with `additional_dependencies` now get isolated environments
 - 590 issue by coldnight.
 - 711 PR by asottile.

Misc.
- test against swift 4.x
 - 709 by theresama.

Updating

- Run `pre-commit migrate-config` to convert `sha` to `rev` in the
`.pre-commit-config.yaml` file.

1.6.0

==================

Features
- Hooks now may have a `verbose` option to produce output even without failure
 - 689 issue by bagerard.
 - 695 PR by bagerard.
- Installed hook no longer requires `bash`
 - 699 PR by asottile.

Fixes
- legacy pre-push / commit-msg hooks are now invoked as if `git` called them
 - 693 issue by samskiter.
 - 694 PR by asottile.
 - 699 PR by asottile.

1.5.1

==================

Fixes
- proper detection for root commit during pre-push
 - 503 PR by philipgian.
 - 692 PR by samskiter.

1.5.0

==================

Features
- pre-commit now supports node hooks on windows.
 - for now, requires python3 due to https://bugs.python.org/issue32539
 - huge thanks to wenzowski for the tip!
 - 200 issue by asottile.
 - 685 PR by asottile.

Misc.
- internal reorganization of `PrefixedCommandRunner` -> `Prefix`
 - 684 PR by asottile.
- https-ify links.
 - pre-commit.com is now served over https.
 - 688 PR by asottile.

1.4.5

==================

Fixes
- Fix `local` golang repositories with `additional_dependencies`.
 - 679 680 issue and PR by asottile.

Misc.
- Replace some string literals with constants
 - 678 PR by revolter.

1.4.4

==================

Fixes
- Invoke `git diff` without a pager during `--show-diff-on-failure`.
 - 676 PR by asottile.

1.4.3

==================

Fixes
- `pre-commit` on windows can find pythons at non-hardcoded paths.
 - 674 PR by asottile.

1.4.2

==================

Fixes
- `pre-commit` no longer clears `GIT_SSH` environment variable when cloning.
 - 671 PR by rp-tanium.

1.4.1

==================

Fixes
- `pre-commit autoupdate --repo ...` no longer deletes other repos.
 - 660 issue by KevinHock.
 - 661 PR by KevinHock.

1.4.0

==================

Features
- Lazily install repositories.
 - When running `pre-commit run <hookid>`, pre-commit will only install
   the necessary repositories.
 - 637 issue by webknjaz.
 - 639 PR by asottile.
- Version defaulting now applies to local hooks as well.
 - This extends 556 to apply to local hooks.
 - 646 PR by asottile.
- Add new `repo: meta` hooks.
 - `meta` hooks expose some linters of the pre-commit configuration itself.
 - `id: check-useless-excludes`: ensures that `exclude` directives actually
   apply to *any* file in the repository.
 - `id: check-hooks-apply`: ensures that the configured hooks apply to
   at least one file in the repository.
 - pre-commit/pre-commit-hooks63 issue by asottile.
 - 405 issue by asottile.
 - 643 PR by hackedd.
 - 653 PR by asottile.
 - 654 PR by asottile.
- Allow a specific repository to be autoupdated instead of all repositories.
 - `pre-commit autoupdate --repo ...`
 - 656 issue by KevinHock.
 - 657 PR by KevinHock.

Fixes
- Apply selinux labelling option to docker volumes
 - 642 PR by jimmidyson.

1.3.0

==================

Features
- Add `pre-commit try-repo` commands
 - The new `try-repo` takes a repo and will run the hooks configured in
   that hook repository.
 - An example invocation:
   `pre-commit try-repo https://github.com/pre-commit/pre-commit-hooks`
 - `pre-commit try-repo` can also take all the same arguments as
   `pre-commit run`.
 - It can be used to try out a repository without needing to configure it.
 - It can also be used to test a hook repository while developing it.
 - 589 issue by sverhagen.
 - 633 PR by asottile.

1.2.0

==================

Features
- Add `pygrep` language
 - `pygrep` aims to be a more cross-platform alternative to `pcre` hooks.
 - 630 PR by asottile.

Fixes
- Use `pipes.quote` for executable path in hook template
 - Fixes bash syntax error when git dir contains spaces
 - 626 PR by asottile.
- Clean up hook template
 - Simplify code
 - Fix `--config` not being respected in some situations
 - 627 PR by asottile.
- Use `file://` protocol for cloning under test
 - Fix `file://` clone paths being treated as urls for golang
 - 629 PR by asottile.
- Add `ctypes` as an import for virtualenv healthchecks
 - Fixes python3.6.2 <=> python3.6.3 virtualenv invalidation
 - e70825ab by asottile.

1.1.2

==================

Fixes
- pre-commit can successfully install commit-msg hooks
 - Due to an oversight, the commit-msg-tmpl was missing from the packaging
 - 623 issue by sobolevn.
 - 624 PR by asottile.

1.1.1

==================

Features
- pre-commit also checks the `ssl` module for virtualenv health
 - Suggestion by merwok.
 - 619 PR by asottile.
Fixes
- pre-commit no longer crashes with unstaged files when run for the first time
 - 620 621 issue by Lucas-C.
 - 622 PR by asottile.

1.1.0

==================

Features
- pre-commit configuration gains a `fail_fast` option.
 - You must be using the v2 configuration format introduced in 1.0.0.
 - `fail_fast` defaults to `false`.
 - 240 issue by Lucas-C.
 - 616 PR by asottile.
- pre-commit configuration gains a global `exclude` option.
 - This option takes a python regular expression and can be used to exclude
   files from _all_ hooks.
 - You must be using the v2 configuration format introduced in 1.0.0.
 - 281 issue by asieira.
 - 617 PR by asottile.

1.0.1

==================

Fixes
- Fix a regression in the return code of `pre-commit autoupdate`
 - `pre-commit migrate-config` and `pre-commit autoupdate` return 0 when
   successful.
 - 614 PR by asottile.

1.0.0

==================
pre-commit will now be following [semver](https://semver.org/).  Thanks to all
of the [contributors](https://github.com/pre-commit/pre-commit/graphs/contributors)
that have helped us get this far!

Features

- pre-commit's cache directory has moved from `~/.pre-commit` to
`$XDG_CACHE_HOME/pre-commit` (usually `~/.cache/pre-commit`).
 - `pre-commit clean` now cleans up both the old and new directory.
 - If you were caching this directory in CI, you'll want to adjust the
   location.
 - 562 issue by nagromc.
 - 602 PR by asottile.
- A new configuration format for `.pre-commit-config.yaml` is introduced which
will enable future development.
 - The new format has a top-level map instead of a top-level list.  The
   new format puts the hook repositories in a `repos` key.
 - Old list-based configurations will continue to be supported.
 - A command `pre-commit migrate-config` has been introduced to "upgrade"
   the configuration format to the new map-based configuration.
 - `pre-commit autoupdate` now automatically calls `migrate-config`.
 - In a later release, list-based configurations will issue a deprecation
   warning.
 - An example diff for upgrading a configuration:

 diff
 +repos:
  -   repo: https://github.com/pre-commit/pre-commit-hooks
      sha: v0.9.2
      hooks:
 
 - 414 issue by asottile.
 - 610 PR by asottile.

Updating

- Run `pre-commit migrate-config` to convert `.pre-commit-config.yaml` to the
new map format.
- Update any references from `~/.pre-commit` to `~/.cache/pre-commit`.

0.18.3

===================
- Allow --config to affect `pre-commit install`
- Tweak not found error message during `pre-push` / `commit-msg`
- Improve node support when running under cygwin.

0.18.2

===================
- Fix `--all-files`, detection of staged files, detection of manually edited
files during merge conflict, and detection of files to push for non-ascii
filenames.

0.18.1

===================
- Only mention locking when waiting for a lock.
- Fix `IOError` during locking in timeout situation on windows under python 2.

0.18.0

===================
- Add a new `docker_image` language type.  `docker_image` is intended to be a
lightweight hook type similar to `system` / `script` which allows one to use
an existing docker image that provides a hook.  `docker_image` hooks can
also be used as repository `local` hooks.
Links

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant