diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2020-03-19 14:00:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2020-03-19 14:00:14 +0000 |
commit | df9615bac55ac6f1c3f516b66279ac0007175030 (patch) | |
tree | 84dd81d1c97835271cea7fbdd67c074742365e07 /CHANGELOG.md | |
parent | Initial commit. (diff) | |
download | gitlint-df9615bac55ac6f1c3f516b66279ac0007175030.tar.xz gitlint-df9615bac55ac6f1c3f516b66279ac0007175030.zip |
Adding upstream version 0.13.1.upstream/0.13.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r-- | CHANGELOG.md | 271 |
1 files changed, 271 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..0a3991d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,271 @@ +# Changelog # + +## v0.13.1 (2020-02-26) + +- Patch to enable `--staged` flag for pre-commit. +- Minor doc updates ([#109](https://github.com/jorisroovers/gitlint/issues/109)) + +## v0.13.0 (2020-02-25) + +- **Behavior Change**: Revert Commits are now recognized and ignored by default ([#99](https://github.com/jorisroovers/gitlint/issues/99)) +- ```--staged``` flag: gitlint can now detect meta-data (such as author details, changed files, etc) of staged/pre-commits. Useful when you use [gitlint's commit-msg hook](https://jorisroovers.github.io/gitlint/#using-gitlint-as-a-commit-msg-hook) or [precommit](https://jorisroovers.github.io/gitlint/#using-gitlint-through-pre-commit) ([#105](https://github.com/jorisroovers/gitlint/issues/105)) +- New branch properties on ```GitCommit``` and ```GitContext```, useful when writing your own user-defined rules: ```commit.branches``` and ```commit.context.current_branch``` ([#108](https://github.com/jorisroovers/gitlint/issues/108)) +- Python 3.8 support +- Python 3.4 no longer supported. Python 3.4 has [reached EOL](https://www.python.org/dev/peps/pep-0429/#id4) and an increasing + of gitlint's dependencies have dropped support which makes it hard to maintain. +- Improved Windows support: better unicode handling. [Issues remain](https://github.com/jorisroovers/gitlint/issues?q=is%3Aissue+is%3Aopen+label%3Awindows) but the basic functionality works. +- Bugfixes: + - Gitlint no longer crashes when acting on empty repositories (this only occurred in specific circumstances). + - Changed files are now better detected in repos that only have a root commit +- Improved performance and memory (gitlint now caches git properties) +- Improved `--debug` output +- Improved documentation +- Under-the-hood: dependencies updated, unit and integration test improvements, migrated from TravisCI to Github Actions. + +## v0.12.0 (2019-07-15) ## + +Contributors: +Special thanks to all contributors for this release, in particular [@rogalksi](https://github.com/rogalski) and [@byrney](https://github.com/byrney). + +- [Contrib Rules](http://jorisroovers.github.io/gitlint/contrib_rules): community-contributed rules that are disabled + by default, but can be enabled through configuration. Contrib rules are meant to augment default gitlint behavior by + providing users with rules for common use-cases without forcing these rules on all gitlint users. + - **New Contrib Rule**: ```contrib-title-conventional-commits``` enforces the [Conventional Commits](https://www.conventionalcommits.org) spec. Details in our [documentation](http://jorisroovers.github.io/gitlint/contrib_rules/#ct1-contrib-title-conventional-commits). + - **New Contrib Rule**: ```cc1-contrib-requires-signed-off-by``` ensures that all commit messages contain a ```Sign-Off-By``` line. Details in our [documentation](http://jorisroovers.github.io/gitlint/contrib_rules/#cc1-contrib-requires-signed-off-by). + - If you're interested in adding new Contrib rules to gitlint, please start by reading the + [Contributing](http://jorisroovers.github.io/gitlint/contributing/) page. Thanks for considering! +- *Experimental (!)* Windows support: Basic functionality is working, but there are still caveats. For more details, please refer to [#20](https://github.com/jorisroovers/gitlint/issues/20) and the [open issues related to Windows](https://github.com/jorisroovers/gitlint/issues?q=is%3Aissue+is%3Aopen+label%3Awindows). +- Python 3.3 no longer supported. Python 3.4 is likely to follow in a future release as it has [reached EOL](https://www.python.org/dev/peps/pep-0429/#id4) as well. +- PyPy 3.5 support +- Support for ```--ignore-stdin``` command-line flag to ignore any text send via stdin. ([#56](https://github.com/jorisroovers/gitlint/issues/56), [#89](https://github.com/jorisroovers/gitlint/issues/89)) +- Bugfixes: + - [#68: Can't use install-hooks in with git worktree](https://github.com/jorisroovers/gitlint/issues/68) + - [#59: gitlint failed with configured commentchar](https://github.com/jorisroovers/gitlint/issues/59) +- Under-the-hood: dependencies updated, experimental Dockerfile, github issue template. + +## v0.11.0 (2019-03-13) ## + +- Python 3.7 support +- Python 2.6 no longer supported +- Various dependency updates and under the hood fixes (see [#76](https://github.com/jorisroovers/gitlint/pull/76) for details). + +Special thanks to @pbregener for his contributions related to python 3.7 support and test fixes. + +## v0.10.0 (2018-04-15) ## +The 0.10.0 release adds the ability to ignore commits based on their contents, +support for [pre-commit](https://pre-commit.com/), and important fix for running gitlint in CI environments +(such as Jenkins, Gitlab, etc). + +Special thanks to [asottile](https://github.com/asottile), [bdrung](https://github.com/bdrung), [pbregener](https://github.com/pbregener), [torwald-sergesson](https://github.com/torwald-sergesson), [RykHawthorn](https://github.com/RykHawthorn), [SteffenKockel](https://github.com/SteffenKockel) and [tommyip](https://github.com/tommyip) for their contributions. + +**Since it's becoming increasingly hard to support Python 2.6 and 3.3, we'd like to encourage our users to upgrade their +python version to 2.7 or 3.3+. Future versions of gitlint are likely to drop support for Python 2.6 and 3.3.** + +Full Changelog: + +- **New Rule**: ```ignore-by-title``` allows users to +[ignore certain commits](http://jorisroovers.github.io/gitlint/#ignoring-commits) by matching a regex against +a commit message title. ([#54](https://github.com/jorisroovers/gitlint/issues/54), [#57](https://github.com/jorisroovers/gitlint/issues/57)). +- **New Rule**: ```ignore-by-body``` allows users to +[ignore certain commits](http://jorisroovers.github.io/gitlint/#ignoring-commits) by matching a regex against +a line in a commit message body. +- Gitlint now supports [pre-commit.com](https://pre-commit.com). +[Details in our documentation](http://jorisroovers.github.io/gitlint/#using-gitlint-through-pre-commit) +([#62](https://github.com/jorisroovers/gitlint/issues/62)). +- Gitlint now has a ```--msg-filename``` commandline flag that allows you to specify the commit message to lint via + a file ([#39](https://github.com/jorisroovers/gitlint/issues/39)). +- Gitlint will now be silent by default when a specified commit range is empty ([#46](https://github.com/jorisroovers/gitlint/issues/46)). +- Gitlint can now be installed on MacOS by brew via the [homebrew-devops](https://github.com/rockyluke/homebrew-devops) tap. To get the latest version of gitlint, always use pip for installation. +- If all goes well, +[gitlint will also be available as a package in the Ubuntu 18.04 repositories](https://launchpad.net/ubuntu/+source/gitlint). +- Bugfixes: + - We fixed a nasty and recurring issue with running gitlint in CI. Hopefully that's the end of it :-) ([#40](https://github.com/jorisroovers/gitlint/issues/40)). + - Fix for custom git comment characters ([#48](https://github.com/jorisroovers/gitlint/issues/48)). + +## v0.9.0 (2017-12-03) ## +The 0.9.0 release adds a new default ```author-valid-email``` rule, important bugfixes and special case handling. +Special thanks to [joshholl](https://github.com/joshholl), [ron8mcr](https://github.com/ron8mcr), +[omarkohl](https://github.com/omarkohl), [domo141](https://github.com/domo141), [nud](https://github.com/nud) +and [AlexMooney](https://github.com/AlexMooney) for their contributions. + +- New Rule: ```author-valid-email``` enforces a valid author email address. Details can be found in the + [Rules section of the documentation](http://jorisroovers.github.io/gitlint/rules/#m1-author-valid-email). +- **Breaking change**: The ```--commits``` commandline flag now strictly follows the refspec format as interpreted + by the [```git rev-list <refspec>```](https://git-scm.com/docs/git-rev-list) command. This means + that linting a single commit using ```gitlint --commits <SHA>``` won't work anymore. Instead, for single commits, + users now need to specificy ```gitlint --commits <SHA>^...<SHA>```. On the upside, this change also means + that gitlint will now understand all refspec formatters, including ```gitlint --commits HEAD``` to lint all commits + in the repository. This fixes [#23](https://github.com/jorisroovers/gitlint/issues/23). +- **Breaking change**: Gitlint now always falls back on trying to read a git message from a local git repository, only + reading a commit message from STDIN if one is passed. Before, gitlint only read from the local git repository when + a TTY was present. This is likely the expected and desired behavior for anyone running gitlint in a CI environment. + This fixes [#40](https://github.com/jorisroovers/gitlint/issues/40) and + [#42](https://github.com/jorisroovers/gitlint/issues/42). +- **Behavior Change**: Gitlint will now by default + [ignore squash and fixup commits](http://jorisroovers.github.io/gitlint/#merge-fixup-and-squash-commits) + (fix for [#33: fixup messages should not trigger a gitlint violation](https://github.com/jorisroovers/gitlint/issues/33)) +- Support for custom comment characters ([#34](https://github.com/jorisroovers/gitlint/issues/34)) +- Support for [```git commit --cleanup=scissors```](https://git-scm.com/docs/git-commit#git-commit---cleanupltmodegt) + ([#34](https://github.com/jorisroovers/gitlint/issues/34)) +- Bugfix: [#37: Prevent Commas in text fields from breaking git log printing](https://github.com/jorisroovers/gitlint/issues/37) +- Debug output improvements + +## v0.8.2 (2017-04-25) ## + +The 0.8.2 release brings minor improvements, bugfixes and some under-the-hood changes. Special thanks to +[tommyip](https://github.com/tommyip) for his contributions. + +- ```--extra-path``` now also accepts a file path (in the past only directory paths where accepted). +Thanks to [tommyip](https://github.com/tommyip) for implementing this! +- gitlint will now show more information when using the ```--debug``` flag. This is initial work and will continue to +be improved upon in later releases. +- Bugfixes: + - [#24: --commits doesn't take commit specific config into account](https://github.com/jorisroovers/gitlint/issues/24) + - [#27: --commits returns the wrong exit code](https://github.com/jorisroovers/gitlint/issues/27) +- Development: better unit and integration test coverage for ```--commits``` + +## v0.8.1 (2017-03-16) ## + +The 0.8.1 release brings minor tweaks and some experimental features. Special thanks to +[tommyip](https://github.com/tommyip) for his contributions. + +- Experimental: Linting a range of commits. + [Documentation](http://jorisroovers.github.io/gitlint/#linting-a-range-of-commits). + Known Caveats: [#23](https://github.com/jorisroovers/gitlint/issues/23), + [#24](https://github.com/jorisroovers/gitlint/issues/24). + Closes [#14](https://github.com/jorisroovers/gitlint/issues/14). Thanks to [tommyip](https://github.com/tommyip) + for implementing this! +- Experimental: Python 3.6 support +- Improved Windows error messaging: gitlint will now show a more descriptive error message when ran on windows. + See [#20](https://github.com/jorisroovers/gitlint/issues/20) for details on the lack of Windows support. + +## v0.8.0 (2016-12-30) ## + +The 0.8.0 release is a significant release that has been in the works for a long time. Special thanks to +[Claymore](https://github.com/Claymore), [gernd](https://github.com/gernd) and +[ZhangYaxu](https://github.com/ZhangYaxu) for submitting bug reports and pull requests. + +- Full unicode support: you can now lint messages in any language! This fixes + [#16](https://github.com/jorisroovers/gitlint/issues/16) and [#18](https://github.com/jorisroovers/gitlint/pull/18). +- User-defined rules: you can now + [define your own custom rules](http://jorisroovers.github.io/gitlint/user_defined_rules/) + if you want to extend gitlint's functionality. +- Pypy2 support! +- Debug output improvements: Gitlint will now print your active configuration when using ```--debug``` +- The ```general.target``` option can now also be set via ```-c``` flags or a ```.gitlint``` file +- Bugfixes: + - Various important fixes related to configuration precedence + - [#17: Body MinLength is not working properly](https://github.com/jorisroovers/gitlint/issues/17). + **Behavior Change**: Gitlint now always applies this rule, even if the body has just a single line of content. + Also, gitlint now counts the body-length for the entire body, not just the length of the first line. +- Various documentation improvements +- Development: + - Pylint compliance for all supported python versions + - Updated dependencies to latest versions + - Various ```run_tests.sh``` improvements for developer convenience + +## v0.7.1 (2016-06-18) ## +Bugfixes: + +- **Behavior Change**: gitlint no longer prints the file path by default when using a ```.gitlint``` file. The path +will still be printed when using the new ```--debug``` flag. Special thanks to [Slipcon](https://github.com/slipcon) +for submitting this. +- Gitlint now prints a correct violation message for the ```title-match-regex``` rule. Special thanks to +[Slipcon](https://github.com/slipcon) for submitting this. +- Gitlint is now better at parsing commit messages cross-platform by taking platform specific line endings into account +- Minor documentation improvements + +## v0.7.0 (2016-04-20) ## +This release contains mostly bugfix and internal code improvements. Special thanks to +[William Turell](https://github.com/wturrell) and [Joe Grund](https://github.com/jgrund) for bug reports and pull +requests. + +- commit-msg hooks improvements: The new commit-msg hook now allows you to edit your message if it contains violations, + prints the commit message on aborting and is more compatible with GUI-based git clients such as SourceTree. + *You will need to uninstall and reinstall the commit-msg hook for these latest features*. +- Python 2.6 support +- **Behavior change**: merge commits are now ignored by default. The rationale is that the original commits + should already be linted and that many merge commits don't pass gitlint checks by default + (e.g. exceeding title length or empty body is very common). This behavior can be overwritten by setting the + general option ```ignore-merge-commit=false```. +- Bugfixes and enhancements: + - [#7: Hook compatibility with SourceTree](https://github.com/jorisroovers/gitlint/issues/7) + - [#8: Illegal option -e](https://github.com/jorisroovers/gitlint/issues/8) + - [#9: print full commit msg to stdout if aborted](https://github.com/jorisroovers/gitlint/issues/9) + - [#11 merge commit titles exceeding the max title length by default](https://github.com/jorisroovers/gitlint/issues/11) + - Better error handling of invalid general options +- Development: internal refactoring to extract more info from git. This will allow for more complex rules in the future. +- Development: initial set of integration tests. Test gitlint end-to-end after it is installed. +- Development: pylint compliance for python 2.7 + +## v0.6.1 (2015-11-22) ## + +- Fix: ```install-hook``` and ```generate-config``` commands not working when gitlint is installed from pypi. + +## v0.6.0 (2015-11-22) ## + +- Python 3 (3.3+) support! +- All documentation is now hosted on [http://jorisroovers.github.io/gitlint/]() +- New ```generate-config``` command generates a sample gitlint config file +- New ```--target``` flag allows users to lint different directories than the current working directory +- **Breaking change**: exit code behavior has changed. More details in the + [Exit codes section of the documentation](http://jorisroovers.github.io/gitlint/#exit-codes). +- **Breaking change**: ```--install-hook``` and ```--uninstall-hook``` have been renamed to ```install-hook``` and + ```uninstall-hook``` respectively to better express that they are commands instead of options. +- Better error handling when gitlint is executed in a directory that is not a git repository or + when git is not installed. +- The git commit message hook now uses pretty colored output +- Fix: ```--config``` option no longer accepts directories as value +- Development: unit tests are now ran using py.test + +## v0.5.0 (2015-10-04) ## + +- New Rule: ```title-match-regex```. Details can be found in the + [Rules section of the documentation](http://jorisroovers.github.io/gitlint/rules/). +- Uninstall previously installed gitlint git commit hooks using: ```gitlint --uninstall-hook``` +- Ignore rules on a per commit basis by adding e.g.: ```gitlint-ignore: T1, body-hard-tab``` to your git commit message. + Use ```gitlint-ignore: all``` to disable gitlint all together for a specific commit. +- ```body-is-missing``` will now automatically be disabled for merge commits (use the ```ignore-merge-commit: false``` + option to disable this behavior) +- Violations are now sorted by line number first and then by rule id (previously the order of violations on the + same line was arbitrary). + +## v0.4.1 (2015-09-19) ## + +- Internal fix: added missing comma to setup.py which prevented pypi upload + +## v0.4.0 (2015-09-19) ## + +- New rules: ```body-is-missing```, ```body-min-length```, ```title-leading-whitespace```, + ```body-changed-file-mention```. Details can be found in the + [Rules section of the documentation](http://jorisroovers.github.io/gitlint/rules/). +- The git ```commit-msg``` hook now allows you to keep or discard the commit when it fails gitlint validation +- gitlint is now also released as a [python wheel](http://pythonwheels.com/) on pypi. +- Internal: rule classes now have access to a gitcontext containing body the commit message and the files changed in the + last commit. + +## v0.3.0 (2015-09-11) ## +- ```title-must-not-contain-word``` now has a ```words``` option that can be used to specify which words should not + occur in the title +- gitlint violations are now printed to the stderr instead of stdout +- Various minor bugfixes +- gitlint now ignores commented out lines (i.e. starting with #) in your commit messages +- Experimental: git commit-msg hook support +- Under-the-hood: better test coverage :-) + +## v0.2.0 (2015-09-10) ## + - Rules can now have their behavior configured through options. + For example, the ```title-max-length``` rule now has a ```line-length``` option. + - Under-the-hood: The codebase now has a basic level of unit test coverage, increasing overall quality assurance + +## v0.1.1 (2015-09-08) ## +- Bugfix: added missing ```sh``` dependency + +## v0.1.0 (2015-09-08) ## +- Initial gitlint release +- Initial set of rules: title-max-length, title-trailing-whitespace, title-trailing-punctuation , title-hard-tab, + title-must-not-contain-word, body-max-line-length, body-trailing-whitespace, body-hard-tab +- General gitlint configuration through a ```gitlint``` file +- Silent and verbose mode +- Vagrantfile for easy development +- gitlint is available on [pypi](https://pypi.python.org/pypi/gitlint) |