betterself icon indicating copy to clipboard operation
betterself copied to clipboard

Update pre-commit to 3.7.1

Open pyup-bot opened this issue 1 month ago • 0 comments

This PR updates pre-commit from 1.4.1 to 3.7.1.

Changelog

3.7.1

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

Fixes
- Fix `language: rust` default language version check when `rust-toolchain.toml`
is present.
 - issue by gaborbernat.
 - 3201 PR by asottile.

3.7.0

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

Features
- Use a tty for `docker` and `docker_image` hooks when `--color` is specified.
 - 3122 PR by glehmann.

Fixes
- Fix `fail_fast` for individual hooks stopping when previous hooks had failed.
 - 3167 issue by tp832944.
 - 3168 PR by asottile.

Updating
- The per-hook behaviour of `fail_fast` was fixed.  If you want the pre-3.7.0
behaviour, add `fail_fast: true` to all hooks before the last `fail_fast`
hook.

3.6.2

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

Fixes
- Fix building golang hooks during `git commit --all`.
 - 3130 PR by asottile.
 - 2722 issue by pestanko and matthewhughes934.

3.6.1

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

Fixes
- Remove `PYTHONEXECUTABLE` from environment when running.
 - 3110 PR by untitaker.
- Handle staged-files-only with only a crlf diff.
 - 3126 PR by asottile.
 - issue by tyyrok.

3.6.0

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

Features
- Check `minimum_pre_commit_version` first when parsing configs.
 - 3092 PR by asottile.

Fixes
- Fix deprecation warnings for `importlib.resources`.
 - 3043 PR by asottile.
- Fix deprecation warnings for rmtree.
 - 3079 PR by edgarrmondragon.

Updating
- Drop support for python<3.9.
 - 3042 PR by asottile.
 - 3093 PR by asottile.

3.5.0

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

Features
- Improve performance of `check-hooks-apply` and `check-useless-excludes`.
 - 2998 PR by mxr.
 - 2935 issue by mxr.

Fixes
- Use `time.monotonic()` for more accurate hook timing.
 - 3024 PR by adamchainz.

Migrating
- Require npm 6.x+ for `language: node` hooks.
 - 2996 PR by RoelAdriaans.
 - 1983 issue by henryiii.

3.4.0

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

Features
- Add `language: haskell`.
 - 2932 by alunduil.
- Improve cpu count detection when run under cgroups.
 - 2979 PR by jdb8.
 - 2978 issue by jdb8.

Fixes
- Handle negative exit codes from hooks receiving posix signals.
 - 2971 PR by chriskuehl.
 - 2970 issue by chriskuehl.

3.3.3

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

Fixes
- Work around OS packagers setting `--install-dir` / `--bin-dir` in gem settings.
 - 2905 PR by jaysoffian.
 - 2799 issue by lmilbaum.

3.3.2

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

Fixes
- Work around `r` on windows sometimes double-un-quoting arguments.
 - 2885 PR by lorenzwalthert.
 - 2870 issue by lorenzwalthert.

3.3.1

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

Fixes
- Work around `git` partial clone bug for `autoupdate` on windows.
 - 2866 PR by asottile.
 - 2865 issue by adehad.

3.3.0

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

Features
- Upgrade ruby-build.
 - 2846 PR by jalessio.
- Use blobless clone for faster autoupdate.
 - 2859 PR by asottile.
- Add `-j` / `--jobs` argument to `autoupdate` for parallel execution.
 - 2863 PR by asottile.
 - issue by gaborbernat.

3.2.2

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

Fixes
- Fix support for swift >= 5.8.
 - 2836 PR by edelabar.
 - 2835 issue by kgrobelny-intive.

3.2.1

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

Fixes
- Fix `language_version` for `language: rust` without global `rustup`.
 - 2823 issue by daschuer.
 - 2827 PR by asottile.

3.2.0

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

Features
- Allow `pre-commit`, `pre-push`, and `pre-merge-commit` as `stages`.
 - 2732 issue by asottile.
 - 2808 PR by asottile.
- Add `pre-rebase` hook support.
 - 2582 issue by BrutalSimplicity.
 - 2725 PR by mgaligniana.

Fixes
- Remove bulky cargo cache from `language: rust` installs.
 - 2820 PR by asottile.

3.1.1

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

Fixes
- Fix `rust` with `language_version` and a non-writable host `RUSTUP_HOME`.
 - pre-commit-ci/issues173 by Swiftb0y.
 - 2788 by asottile.

3.1.0

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

Fixes
- Fix `dotnet` for `.sln`-based hooks for dotnet>=7.0.200.
 - 2763 PR by m-rsha.
- Prevent stashing when `diff` fails to execute.
 - 2774 PR by asottile.
 - 2773 issue by strubbly.
- Dependencies are no longer sorted in repository key.
 - 2776 PR by asottile.

Updating
- Deprecate `language: python_venv`.  Use `language: python` instead.
 - 2746 PR by asottile.
 - 2734 issue by asottile.

3.0.4

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

Fixes
- Fix hook diff detection for files affected by `--textconv`.
 - 2743 PR by adamchainz.
 - 2743 issue by adamchainz.

3.0.3

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

Fixes
- Revert "Prevent local `Gemfile` from interfering with hook execution.".
 - 2739 issue by Roguelazer.
 - 2740 PR by asottile.

3.0.2

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

Fixes
- Prevent local `Gemfile` from interfering with hook execution.
 - 2727 PR by asottile.
- Fix `language: r`, `repo: local` hooks
 - pre-commit-ci/issues107 by lorenzwalthert.
 - 2728 PR by asottile.

3.0.1

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

Fixes
- Ensure coursier hooks are available offline after install.
 - 2723 PR by asottile.

3.0.0

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

Features
- Make `language: golang` bootstrap `go` if not present.
 - 2651 PR by taoufik07.
 - 2649 issue by taoufik07.
- `language: coursier` now supports `additional_dependencies` and `repo: local`
 - 2702 PR by asottile.
- Upgrade `ruby-build` to `20221225`.
 - 2718 PR by jalessio.

Fixes
- Improve error message for invalid yaml for `pre-commit autoupdate`.
 - 2686 PR by asottile.
 - 2685 issue by CarstenGrohmann.
- `repo: local` no longer provisions an empty `git` repo.
 - 2699 PR by asottile.

Updating
- Drop support for python<3.8
 - 2655 PR by asottile.
- Drop support for top-level list, use `pre-commit migrate-config` to update.
 - 2656 PR by asottile.
- Drop support for `sha` to specify revision, use `pre-commit migrate-config`
to update.
 - 2657 PR by asottile.
- Remove `pre-commit-validate-config` and `pre-commit-validate-manifest`, use
`pre-commit validate-config` and `pre-commit validate-manifest` instead.
 - 2658 PR by asottile.
- `language: golang` hooks must use `go.mod` to specify dependencies
 - 2672 PR by taoufik07.

2.21.0

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

Features
- Require new-enough virtualenv to prevent 3.10 breakage
 - 2467 PR by asottile.
- Respect aliases with `SKIP` for environment install.
 - 2480 PR by kmARC.
 - 2478 issue by kmARC.
- Allow `pre-commit run --files` against unmerged paths.
 - 2484 PR by asottile.
- Also apply regex warnings to `repo: local` hooks.
 - 2524 PR by chrisRedwine.
 - 2521 issue by asottile.
- `rust` is now a "first class" language -- supporting `language_version` and
installation when not present.
 - 2534 PR by Holzhaus.
- `r` now uses more-reliable binary installation.
 - 2460 PR by lorenzwalthert.
- `GIT_ALLOW_PROTOCOL` is now passed through for git operations.
 - 2555 PR by asottile.
- `GIT_ASKPASS` is now passed through for git operations.
 - 2564 PR by mattp-.
- Remove `toml` dependency by using `cargo add` directly.
 - 2568 PR by m-rsha.
- Support `dotnet` hooks which have dotted prefixes.
 - 2641 PR by rkm.
 - 2629 issue by rkm.

Fixes
- Properly adjust `--commit-msg-filename` if run from a sub directory.
 - 2459 PR by asottile.
- Simplify `--intent-to-add` detection by using `git diff`.
 - 2580 PR by m-rsha.
- Fix `R.exe` selection on windows.
 - 2605 PR by lorenzwalthert.
 - 2599 issue by SInginc.
- Skip default `nuget` source when installing `dotnet` packages.
 - 2642 PR by rkm.

2.20.0

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

Features
- Expose `source` and `object-name` (positional args) of `prepare-commit-msg`
hook as `PRE_COMMIT_COMIT_MSG_SOURCE` and `PRE_COMMIT_COMMIT_OBJECT_NAME`.
 - 2407 PR by M-Whitaker.
 - 2406 issue by M-Whitaker.

Fixes
- Fix `language: ruby` installs when `--user-install` is set in gemrc.
 - 2394 PR by narpfel.
 - 2393 issue by narpfel.
- Adjust pty setup for solaris.
 - 2390 PR by gaige.
 - 2389 issue by gaige.
- Remove unused `--config` option from `gc`, `sample-config`,
`validate-config`, `validate-manifest` sub-commands.
 - 2429 PR by asottile.

2.19.0

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

Features
- Allow multiple outputs from `language: dotnet` hooks.
 - 2332 PR by WallucePinkham.
- Add more information to `healthy()` failure.
 - 2348 PR by asottile.
- Upgrade ruby-build.
 - 2342 PR by jalessio.
- Add `pre-commit validate-config` / `pre-commit validate-manifest` and
deprecate `pre-commit-validate-config` and `pre-commit-validate-manifest`.
 - 2362 PR by asottile.

Fixes
- Fix `pre-push` when pushed ref contains spaces.
 - 2345 PR by wwade.
 - 2344 issue by wwade.

Updating
- Change `pre-commit-validate-config` / `pre-commit-validate-manifest` to
`pre-commit validate-config` / `pre-commit validate-manifest`.
 - 2362 PR by asottile.

2.18.1

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

Fixes
- Fix regression for `repo: local` hooks running `python<3.7`
 - 2324 PR by asottile.

2.18.0

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

Features
- Keep `GIT_HTTP_PROXY_AUTHMETHOD` in git environ.
 - 2272 PR by VincentBerthier.
 - 2271 issue by VincentBerthier.
- Support both `cs` and `coursier` executables for coursier hooks.
 - 2293 PR by Holzhaus.
- Include more information in errors for `language_version` /
`additional_dependencies` for languages which do not support them.
 -  2315 PR by asottile.
- Have autoupdate preferentially pick tags which look like versions when
there are multiple equivalent tags.
 - 2312 PR by mblayman.
 - 2311 issue by mblayman.
- Upgrade `ruby-build`.
 - 2319 PR by jalessio.
- Add top level `default_install_hook_types` which will be installed when
`--hook-types` is not specified in `pre-commit install`.
 - 2322 PR by asottile.

Fixes
- Fix typo in help message for `--from-ref` and `--to-ref`.
 - 2266 PR by leetrout.
- Prioritize binary builds for R dependencies.
 - 2277 PR by lorenzwalthert.
- Fix handling of git worktrees.
 - 2252 PR by daschuer.
- Fix handling of `$R_HOME` for R hooks.
 - 2301 PR by jeff-m-sullivan.
 - 2300 issue by jeff-m-sullivan.
- Fix a rare race condition in change stashing.
 - 2323 PR by asottile.
 - 2287 issue by ian-h-chamberlain.

Updating
- Remove python3.6 support.  Note that pre-commit still supports running hooks
written in older versions, but pre-commit itself requires python 3.7+.
 - 2215 PR by asottile.
- pre-commit has migrated from the `master` branch to `main`.
 - 2302 PR by asottile.

2.17.0

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

Features
- add warnings for regexes containing `[\\/]`.
 - 2151 issue by sanjioh.
 - 2154 PR by kuviokelluja.
- upgrade supported ruby versions.
 - 2205 PR by jalessio.
- allow `language: conda` to use `mamba` or `micromamba` via
`PRE_COMMIT_USE_MAMBA=1` or `PRE_COMMIT_USE_MICROMAMBA=1` respectively.
 - 2204 issue by janjagusch.
 - 2207 PR by xhochy.
- display `git --version` in error report.
 - 2210 PR by asottile.
- add `language: lua` as a supported language.
 - 2158 PR by mblayman.

Fixes
- temporarily add `setuptools` to the zipapp.
 - 2122 issue by andreoliwa.
 - a737d5f commit by asottile.
- use `go install` instead of `go get` for go 1.18+ support.
 - 2161 PR by schmir.
- fix `language: r` with a local renv and `RENV_PROJECT` set.
 - 2170 PR by lorenzwalthert.
- forbid overriding `entry` in `language: meta` hooks which breaks them.
 - 2180 issue by DanKaplanSES.
 - 2181 PR by asottile.
- always use `!/bin/sh` on windows for hook script.
 - 2182 issue by hushigome-visco.
 - 2187 PR by asottile.

2.16.0

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

Features
- add warning for regexes containing `[\/]` or `[/\\]`.
 - 2053 PR by radek-sprta.
 - 2043 issue by asottile.
- move hook template back to `bash` resolving shebang-portability issues.
 - 2065 PR by asottile.
- add support for `fail_fast` at the individual hook level.
 - 2097 PR by colens3.
 - 1143 issue by potiuk.
- allow passthrough of `GIT_CONFIG_KEY_*`, `GIT_CONFIG_VALUE_*`, and
`GIT_CONFIG_COUNT`.
 - 2136 PR by emzeat.

Fixes
- fix pre-commit autoupdate for `core.useBuiltinFSMonitor=true` on windows.
 - 2047 PR by asottile.
 - 2046 issue by lcnittl.
- fix temporary file stashing with for `submodule.recurse=1`.
 - 2071 PR by asottile.
 - 2063 issue by a666.
- ban broken importlib-resources versions.
 - 2098 PR by asottile.
- replace `exit(...)` with `raise SystemExit(...)` for portability.
 - 2103 PR by asottile.
 - 2104 PR by asottile.

2.15.0

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

Features
- add support for hooks written in `dart`.
 - 2027 PR by asottile.
- add support for `post-rewrite` hooks.
 - 2036 PR by uSpike.
 - 2035 issue by uSpike.

Fixes
- fix `check-useless-excludes` with exclude matching broken symlink.
 - 2029 PR by asottile.
 - 2019 issue by pkoch.
- eliminate duplicate mutable sha warning messages for `pre-commit autoupdate`.
 - 2030 PR by asottile.
 - 2010 issue by graingert.

2.14.1

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

Fixes
- fix force-push of disparate histories using git>=2.28.
 - 2005 PR by asottile.
 - 2002 issue by bogusfocused.
- fix `check-useless-excludes` and `check-hooks-apply` matching non-root
`.pre-commit-config.yaml`.
 - 2026 PR by asottile.
 - pre-commit-ci/issues84 issue by billsioros.

2.14.0

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

Features
- During `pre-push` hooks, expose local branch as `PRE_COMMIT_LOCAL_BRANCH`.
 - 1947 PR by FlorentClarret.
 - 1410 issue by MaicoTimmerman.
- Improve container id detection for docker-beside-docker with custom hostname.
 - 1919 PR by adarnimrod.
 - 1918 issue by adarnimrod.

Fixes
- Read legacy hooks in an encoding-agnostic way.
 - 1943 PR by asottile.
 - 1942 issue by sbienkow-ninja.
- Fix execution of docker hooks for docker-in-docker.
 - 1997 PR by asottile.
 - 1978 issue by robin-moss.

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.

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.
Links
  • PyPI: https://pypi.org/project/pre-commit
  • Changelog: https://data.safetycli.com/changelogs/pre-commit/
  • Repo: https://github.com/pre-commit/pre-commit

pyup-bot avatar May 11 '24 02:05 pyup-bot