Skip to content

Latest commit

 

History

History
716 lines (588 loc) · 19.4 KB

CHANGELOG.md

File metadata and controls

716 lines (588 loc) · 19.4 KB

5.0.0 - 2024-10-05

Features

  • requirements-txt-fixer: also remove pkg_resources==....
    • #850 PR by @ericfrederich.
    • #1030 issue by @ericfrederich.
  • check-illegal-windows-names: new hook!
    • #1044 PR by @ericfrederich.
    • #589 issue by @ericfrederich.
    • #1049 PR by @Jeffrey-Lim.
  • pretty-format-json: continue processing even if a file has a json error.
    • #1039 PR by @amarvin.
    • #1038 issue by @amarvin.

Fixes

  • destroyed-symlinks: set stages to [pre-commit, pre-push, manual]
    • PR #1085 by @AdrianDC.

Migrating

  • pre-commit-hooks now requires pre-commit>=3.2.0.
  • use non-deprecated names for stages.
    • #1093 PR by @asottile.

4.6.0 - 2024-04-06

Features

  • requirements-txt-fixer: remove duplicate packages.
    • #1014 PR by @vhoulbreque-withings.
    • #960 issue @csibe17.

Migrating

  • fix-encoding-pragma: deprecated -- will be removed in 5.0.0. use pyupgrade or some other tool.
    • #1033 PR by @mxr.
    • #1032 issue by @mxr.

4.5.0 - 2023-10-07

Features

  • requirements-txt-fixer: also sort constraints.txt by default.
    • #857 PR by @lev-blit.
    • #830 issue by @PLPeeters.
  • debug-statements: add bpdb debugger.
    • #942 PR by @mwip.
    • #941 issue by @mwip.

Fixes

  • file-contents-sorter: fix sorting an empty file.
    • #944 PR by @RoelAdriaans.
    • #935 issue by @paduszyk.
  • double-quote-string-fixer: don't rewrite inside f-strings in 3.12+.
    • #973 PR by @asottile.
    • #971 issue by @XuehaiPan.

Migrating

  • now requires python >= 3.8.
    • #926 PR by @asottile.
    • #927 PR by @asottile.

4.4.0 - 2022-11-23

Features

  • forbid-submodules: new hook which outright bans submodules.
    • #815 PR by @asottile.
    • #707 issue by @ChiefGokhlayeh.

4.3.0 - 2022-06-07

Features

  • check-executables-have-shebangs: use git config core.fileMode to determine if it should query git.
    • #730 PR by @Kurt-von-Laven.
  • name-tests-test: add --pytest-test-first test convention.
    • #779 PR by @asottile.

Fixes

  • check-shebang-scripts-are-executable: update windows instructions.
    • #774 PR by @mdeweerd.
    • #770 issue by @mdeweerd.
  • check-toml: use stdlib tomllib when available.
    • #771 PR by @DanielNoord.
    • #755 issue by @sognetic.
  • check-added-large-files: don't run on non-file stages.
    • #778 PR by @asottile.
    • #777 issue by @skyj.

4.2.0 - 2022-04-06

Features

  • name-tests-test: updated display text.
    • #713 PR by @asottile.
  • check-docstring-first: make output more parsable.
    • #748 PR by @asottile.
  • check-merge-conflict: make output more parsable.
    • #748 PR by @asottile.
  • debug-statements: make output more parsable.
    • #748 PR by @asottile.

Fixes

  • check-merge-conflict: fix detection of ====== conflict marker on windows.
    • #748 PR by @asottile.

Updating

  • Drop python<3.7.
    • #719 PR by @asottile.
  • Changed default branch from master to main.
    • #744 PR by @asottile.

4.1.0 - 2021-12-22

Features

  • debug-statements: add pdbr debugger.
    • #614 PR by @cansarigol.
  • detect-private-key: add detection for additional key types.
    • #658 PR by @ljmf00.
  • check-executables-have-shebangs: improve messaging on windows.
    • #689 PR by @pujitm.
    • #686 issue by @jmerdich.
  • check-added-large-files: support --enforce-all with git-lfs.
    • #674 PR by @amartani.
    • #560 issue by @jeremy-coulon.

Fixes

  • check-case-conflict: improve performance.
    • #626 PR by @guykisel.
    • #625 issue by @guykisel.
  • forbid-new-submodules: fix false-negatives for pre-push.
    • #619 PR by @m-khvoinitsky.
    • #609 issue by @m-khvoinitsky.
  • check-merge-conflict: fix execution in git worktrees.
    • #662 PR by @errsyn.
    • #638 issue by @daschuer.

Misc.

  • Normalize case of hook names and descriptions.
    • #671 PR by @dennisroche.
    • #673 PR by @revolter.

4.0.1 - 2021-05-16

Fixes

  • check-shebang-scripts-are-executable fix entry point.
    • #602 issue by @Person-93.
    • #603 PR by @scop.

4.0.0 - 2021-05-14

Features

  • check-json: report duplicate keys.
    • #558 PR by @AdityaKhursale.
    • #554 issue by @adamchainz.
  • no-commit-to-branch: add main to default blocked branches.
    • #565 PR by @ndevenish.
  • check-case-conflict: check conflicts in directory names as well.
    • #575 PR by @slsyy.
    • #70 issue by @andyjack.
  • check-vcs-permalinks: forbid other branch names.
    • #582 PR by @jack1142.
    • #581 issue by @jack1142.
  • check-shebang-scripts-are-executable: new hook which ensures shebang'd scripts are executable.
    • #545 PR by @scop.

Fixes

  • check-executables-have-shebangs: Short circuit shebang lookup on windows.
    • #544 PR by @scop.
  • requirements-txt-fixer: Fix comments which have indentation
    • #549 PR by @greshilov.
    • #548 issue by @greshilov.
  • pretty-format-json: write to stdout using UTF-8 encoding.
    • #571 PR by @jack1142.
    • #570 issue by @jack1142.
  • Use more inclusive language.
    • #599 PR by @asottile.

Breaking changes

  • Remove deprecated hooks: flake8, pyflakes, autopep8-wrapper.
    • #597 PR by @asottile.

3.4.0 - 2020-12-15

Features

  • file-contents-sorter: Add --unique argument
    • #524 PR by @danielhoherd.
  • check-vcs-permalinks: Add --additional-github-domain option
    • #530 PR by @youngminz.
  • New hook: destroyed-symlinks to detect unintentional symlink-breakages on windows.
    • #511 PR by @m-khvoinitsky.

3.3.0 - 2020-10-20

Features

  • file-contents-sorter: add --ignore-case option for case-insensitive sorting
    • #514 PR by @Julian.
  • check-added-large-files: add --enforce-all option to check non-added files as well
    • #519 PR by @mshawcroft.
    • #518 issue by @mshawcroft.
  • fix-byte-order-marker: new hook which fixes UTF-8 byte-order marker.
    • #522 PR by @jgowdy.

Deprecations

  • check-byte-order-marker is now deprecated for fix-byte-order-marker

3.2.0 - 2020-07-30

Features

  • debug-statements: add support for pydevd_pycharm debugger
    • #502 PR by @jgeerds.

Fixes

  • check-executables-have-shebangs: fix git-quoted files on windows (spaces, non-ascii, etc.)
    • #509 PR by @pawamoy.
    • #508 issue by @pawamoy.

3.1.0 - 2020-05-20

Features

  • check-executables-have-shebangs: on windows, validate the mode bits using git
    • #480 PR by @mxr.
    • #435 issue by @dstandish.
  • requirements-txt-fixer: support more operators
    • #483 PR by @mxr.
    • #331 issue by @hackedd.

Fixes

  • pre-commit-hooks-removed: Fix when removed hooks used args
    • #487 PR by @pedrocalleja.
    • #485 issue by @pedrocalleja.

3.0.1 - 2020-05-16

Fixes

  • check-toml: use UTF-8 encoding to load toml files
    • #479 PR by @mxr.
    • #474 issue by @staticdev.

3.0.0 - 2020-05-14

Features

  • detect-aws-credentials: skip empty aws keys
    • #450 PR by @begoon.
    • #449 issue by @begoon.
  • debug-statements: add detection wdb debugger
    • #452 PR by @itsdkey.
    • #451 issue by @itsdkey.
  • requirements-txt-fixer: support line continuation for dependencies
    • #469 PR by @aniketbhatnagar.
    • #465 issue by @aniketbhatnagar.

Fixes

  • detect-aws-credentials: fix UnicodeDecodeError when running on non-UTF8 files.
    • #453 PR by @asottile.
    • #393 PR by @a7p
    • #346 issue by @rpdelaney.

Updating

  • pre-commit/pre-commit-hooks now requires python3.6.1+

    • #447 PR by @asottile.
    • #455 PR by @asottile.
  • flake8 / pyflakes have been removed, use flake8 from pycqa/flake8 instead:

    -   repo: https://gitlab.com/pycqa/flake8
        rev: 3.8.1
        hooks:
        -   id: flake8
    • #476 PR by @asottile.
    • #477 PR by @asottile.
    • #344 issue by @asottile.

2.5.0 - 2020-02-04

Fixes

  • Fix sorting of requirements which use egg=...
    • #425 PR by @vinayinvicible.
  • Fix over-eager regular expression for test filename matching
    • #429 PR by @rrauenza.

Updating

  • Use flake8 from pycqa/flake8 instead:

    -   repo: https://gitlab.com/pycqa/flake8
        rev: 3.7.9
        hooks:
        -   id: flake8

2.4.0 - 2019-10-28

Features

  • Add diff output to pretty-format-json when run without --autofix.
    • #408 PR by @joepin.
  • Add --chars option to trailing-whitespace fixer to control which characters are stripped instead of all whitespace.
    • #421 PR by @iconmaster5326.

Fixes

  • Fix requirements-txt-fixer when file does not end in a newline.
    • #414 issue by @barakreif.
    • #415 PR by @barakreif.
  • Fix double printing of filename in pretty-format-json.
    • #419 PR by @asottile.

2.3.0 - 2019-08-05

Features

  • Add rpdb to detected debuggers in debug-statements
    • #389 PR by @danlamanna.
  • Add check-toml hook
    • #400 PR by @MarSoft.
    • #400 PR by @ssbarnea.

Fixes

  • Add __main__ block to pre_commit.file_contents_sorter so it can be invoked using python -m
    • #405 PR by @squeaky-pl.

Misc.

  • Fix git-lfs tests in azure pipelines
    • #403 PR by @ssbarnea.

2.2.3 - 2019-05-16

Fixes

  • Handle CRLF line endings in double-quote-string-fixer
    • #385 issue by @Trim21.
    • #386 PR by @asottile.

2.2.2 - 2019-05-15

Fixes

  • Handle CRLF line endings in fix-encoding-pragma
    • #384 PR by @asottile.

2.2.1 - 2019-04-21

Fixes

  • Use UTF-8 to load yaml files
    • #377 issue by @roottool.
    • #378 PR by @roottool.

2.2.0 - 2019-04-20

Features

  • Switch from pyyaml to ruamel.yaml
    • This enforces (among other things) duplicate key checking in yaml.
    • #351 PR by @asottile.
  • Add a new --pattern option to no-commit-to-branch for regex matching branch names.
    • #375 issue by @marcjay.
    • #376 PR by @marcjay.

Fixes

  • Set require_serial: true for flake8
    • flake8 internally uses multiprocessing.
    • #358 PR by @asottile.
  • Don't run check-executables-have-shebangs / trailing-whitespace hooks during the commit-msg stage.
    • #361 issue by @revolter.
    • #362 PR by @revolter.
  • Run check-byte-order-marker against types: [text]
    • #371 PR by @tobywf.
    • #372 PR by @tobywf.
  • Do not require UTF-8-encoded files for check-docstring-first
    • #345 issue by @x007007007.
    • #374 PR by @asottile.

Misc.

  • pre-commit-hooks now is type checked with mypy.
    • #360 PR by @asottile.

2.1.0 - 2018-12-26

Features

  • Detect PGP/GPG private keys in detect-private-key
    • #329 PR by @rpdelaney.
  • Report filenames when fixing files in mixed-line-endings
    • #341 PR by @gimbo.
    • #340 issuey by @gimbo.

Fixes

  • Handle CRLF / CR line endings in end-of-file-fixer
    • #327 PR by @mtkennerly.

Docs

  • Clarify and document arguments for detect-aws-credentials
    • #333 PR by @rpdelaney.
  • Clarify autopep8-wrapper is deprecated in description
    • #343 PR by @TheKevJames.

2.0.0 - 2018-10-12

Breaking changes

  • autopep8-wrapper has been moved to pre-commit/mirrors-autopep8
    • #92 issue by @asottile.
    • #319 issue by @blaggacao.
    • #321 PR by @asottile.
  • trailing-whitespace defaults to --no-markdown-linebreak-ext
    • #310 issue by @asottile.
    • #324 PR by @asottile.
  • hooks.yaml (legacy pre-commit hook metadata) deleted
    • #323 PR by @asottile.
  • pre-types compatibility metadata removed
    • #323 PR @asottile.

Docs

  • Correct documentation for no-commit-to-branch
    • #318 PR by @milin.

Updating

  • Minimum supported version of pre-commit is now 0.15.0
  • Use autopep8 from pre-commit/mirrors-autopep8
  • To keep mardown hard linebreaks, for trailing-whitespace use args: [--markdown-linebreak-ext=md,markdown] (the previous default value)

1.4.0-1 - 2018-09-27

(Note: this is a tag-only release as no code changes occurred)

Fixes

  • Don't run end-of-file-fixer during commit-msg stage
    • #315 issue by @revolter.
    • #317 PR by @revolter.

1.4.0 - 2018-07-22

Features

  • no-commit-to-branch: allow --branch to be specified multiple times
    • #190 PR by @moas.
    • #294 PR by @asottile.
  • check-merge-conflict: add --assume-in-merge to force checks outside of a merge commit situation
    • #300 issue by @vinayinvicible.
    • #301 PR by @vinayinvicible.

Fixes

  • Don't match whitespace in VCS urls
    • #293 PR by @asottile.
  • Fix invalid escape sequences
    • #296 PR by @asottile.
  • Fix ResourcesWarnings
    • #297 PR by @asottile.

Misc

  • Test against python3.7
    • #304 PR by @expobrain.

1.3.0 - 2018-05-28

Features

  • Add an --unsafe argument to check-yaml to allow custom yaml tags
    • #273 issue by @blackillzone.
    • #274 PR by @asottile.
  • Automatically remove pkg-resources==0.0.0 in requirements-txt-fixer
    • #275 PR by @nvtkaszpir.
  • Detect breakpoint() (python3.7+) in debug-statements hook.
    • #283 PR by @asottile.
  • Detect sshcom and putty hooks in detect-private-key
    • #287 PR by @vin01.

Fixes

  • Open files as UTF-8 (autopep8-wrapper, check-docstring-first, double-quote-string-fixer)
    • #279 PR by @nvtkaszpir.
  • Fix AttributeError in check-builtin-literals for some functions
    • #285 issue by @EgoWumpus.
    • #286 PR by @asottile.

1.2.3 - 2018-02-28

Fixes

  • trailing-whitespace entrypoint was incorrect.
    • f6780b9 by @asottile.

1.2.2 - 2018-02-28

Fixes

  • trailing-whitespace no longer adds a missing newline at end-of-file
    • #270 issue by @fractos.
    • #271 PR by @asottile.

1.2.1-1 - 2018-02-24

(Note: this is a tag-only release as no code changes occurred)

Fixes:

  • Don't pass filenames for no-commit-to-branch
    • #268 issue by @dongyuzheng.
    • #269 PR by @asottile.

1.2.1 - 2018-02-19

Fixes:

  • detect-aws-credentials false positive when key was empty
    • #258 issue by @PVSec.
    • #260 PR by @PVSec.
  • no-commit-to-branch no longer crashes when not on a branch
    • #265 issue by @hectorv.
    • #266 PR by @asottile.

1.2.0 - 2018-01-13

Features:

  • Add new check-builtin-literals hook.
    • #249 #251 PR by @benwebber.
  • pretty-format-json no longer depends on simplejson.
    • #254 PR by @cas--.
  • detect-private-key now detects gcp keys.
    • #255 issue by @SaMnCo @nicain.
    • #256 PR by @nicain.

1.1.1 - 2017-10-19

Fixes:

  • Fix output interleaving in check-vcs-permalinks under python3.
    • #245 PR by @asottile.

1.1.0 - 2017-10-12

Features:

1.0.0 - 2017-10-09

Features:

  • New hook: check-vcs-permalinks for ensuring permalinked github urls.
    • #241 PR by @asottile.

Fixes:

  • Fix trailing-whitespace for non-utf8 files on macos
    • #242 PR by @asottile.
  • Fix requirements-txt-fixer for files ending in comments
    • #243 PR by @asottile.

0.9.5 - 2017-09-27

  • Fix mixed-line-endings --fix=... when whole file is a different ending

0.9.4 - 2017-09-19

  • Fix entry point for mixed-line-ending

0.9.3 - 2017-09-07

  • New hook: mixed-line-ending

0.9.2 - 2017-08-21

  • Report full python version in check-ast.
  • Apply a more strict regular expression for name-tests-test
  • Upgrade binding for git-lfs for check-added-large-files. The oldest version that is supported is 2.2.1 (2.2.0 will incorrectly refer to all files as "lfs" (false negative) and earlier versions will crash.
  • debug-statements now works for non-utf-8 files.

0.9.1 - 2017-07-02

  • Add check-executables-have-shebangs hook.

0.9.0 - 2017-07-02

  • Add sort-simple-yaml hook
  • Fix requirements-txt-fixer for empty files
  • Add file-contents-sorter hook for sorting flat files
  • check-merge-conflict now recognizes rebase conflicts
  • Metadata now uses types (and therefore requires pre-commit 0.15.0). This allows the text processing hooks to match all text files (and to match files which would only be classifiable by their shebangs).

0.8.0 - 2017-06-06

  • Add flag allowing missing keys to detect-aws-credentials
  • Handle django default tests.py in name-tests-test
  • Add --no-ensure-ascii option to pretty-format-json
  • Add no-commit-to-branch hook

0.7.1 - 2017-02-07

  • Don't false positive on files where trailing whitespace isn't changed.

0.7.0 - 2017-01-21

  • Improve search for detecting aws keys
  • Add .pre-commit-hooks.yaml for forward compatibility

0.6.1 - 2016-11-30

  • trailing-whitespace-hook: restore original file on catastrophic failure
  • trailing-whitespace-hook: support crlf
  • check-yaml: Use safe_load
  • check-json: allow custom key sort
  • check-json: display filename for non-utf8 files
  • New hook: forbid-new-submodules

0.6.0 - 2016-08-12

  • Merge conflict detection no longer crashes on binary files
  • Indentation in json may be an arbitrary separator
  • Editable requirements are properly sorted
  • Encoding pragma fixer pragma is configurable

0.5.1 - 2016-05-16

  • Add a --no-sort-keys to json pretty formatter
  • Add a --remove to fix-encoding-pragma

0.5.0 - 2016-04-05

  • Add check-byte-order-marker
  • Add check-synlinks
  • check-large-files-added understands git-lfs
  • Support older git
  • Fix regex for --django in test name checker
  • Add fix-encoding-pragma hook
  • requirements-txt-fixer now sorts like latest pip
  • Add check-ast hook
  • Add detect-aws-credentials hook
  • Allow binary files to pass private key hook
  • Add pretty-format-json hook

0.4.2 - 2015-05-31

  • Add --django to test name checker
  • Add check-merge-conflict hook
  • Remove dependency on plumbum
  • Add q as a debug statement
  • Don't detect markup titles as conflicts
  • Teach trailing-whitespace about markdown
  • Quickfix for pyflakes - flake8 version conflict

0.4.1 - 2015-03-08

  • Respect configuration when running autopep8
  • Quickfix for pep8 version conflicts

0.4.0 - 2015-02-22

  • Fix trailing-whitespace on OS X
  • Add check-added-large-files hook
  • Add check-docstring-first hook
  • Add requirements-txt-fixer hook
  • Add check-case-conflict hook
  • Use yaml's CLoader when available in check-yaml for more speed
  • Add check-xml hook
  • Fix end-of-file-fixer for windows
  • Add double-quote-string-fixer hook

0.3.0 - 2014-08-22

  • Add autopep8-wrapper hook

0.2.0 - 2014-08-19

  • Add check-json hook

0.1.1 - 2014-06-19

  • Don't crash on non-parseable files for debug-statement-hook

0.1.0 - 2014-06-07

  • Initial Release