6.0.0 - 2025-08-09
==================

## Fixes
- `check-shebang-scripts-are-executable`: improve error message.
    - #1115 PR by @homebysix.

## Migrating
- now requires python >= 3.9.
    - #1098 PR by @asottile.
- `file-contents-sorter`: disallow `--unique` and `--ignore-case` at the same
  time.
    - #1095 PR by @nemacysts.
    - #794 issue by @teksturi.
- Removed `check-byte-order-marker` and `fix-encoding-pragma`.
    - `check-byte-order-marker`: migrate to `fix-byte-order-marker`.
    - `fix-encoding-pragma`: migrate to `pyupgrade`.
    - #1034 PR by @mxr.
    - #1032 issue by @mxr.
    - #522 PR by @jgowdy.

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](https://github.com/asottile/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:

  ```yaml
  -   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:

  ```yaml
  -   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][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][mirrors-autopep8]
- To keep mardown hard linebreaks, for `trailing-whitespace` use
  `args: [--markdown-linebreak-ext=md,markdown]` (the previous default value)

[mirrors-autopep8]: https://github.com/pre-commit/mirrors-autopep8

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 `ResourcesWarning`s
    - #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](http://www.yaml.org/spec/1.2/spec.html#YAML)
    - 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
