blob: e165574098cedeb4c92262bb9f4c18f5a22940ef [file] [log] [blame] [view]
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