Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update pre-commit to 4.0.0 #205

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

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Oct 5, 2024

This PR updates pre-commit from 1.15.2 to 4.0.0.

Changelog

4.0.0

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

Features
- Improve `pre-commit migrate-config` to handle more yaml formats.
 - 3301 PR by asottile.
- Handle `stages` deprecation in `pre-commit migrate-config`.
 - 3302 PR by asottile.
 - 2732 issue by asottile.
- Upgrade `ruby-build`.
 - 3199 PR by ThisGuyCodes.
- Add "sensible regex" warnings to `repo: meta`.
 - 3311 PR by asottile.
- Add warnings for deprecated `stages` (`commit` -> `pre-commit`, `push` ->
`pre-push`, `merge-commit` -> `pre-merge-commit`).
 - 3312 PR by asottile.
 - 3313 PR by asottile.
 - 3315 PR by asottile.
 - 2732 issue by asottile.

Migrating
- `language: python_venv` has been removed -- use `language: python` instead.
 - 3320 PR by asottile.
 - 2734 issue by asottile.

3.8.0

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

Features
- Implement health checks for `language: r` so environments are recreated if
the system version of R changes.
 - 3206 issue by lorenzwalthert.
 - 3265 PR by lorenzwalthert.

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.
Links

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

Successfully merging this pull request may close these issues.

1 participant