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.
    • #414 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:

  • check-yaml gains a --allow-multiple-documents (-m) argument to allow linting of files using the multi document syntax
    • pre-commit/pre-commit#635 issue by @geekobi.
    • #244 PR by @asottile.

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