You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Changed links to point to the main branch instead of master where required
- Various minor doc tweaks
- Updated CHANGELOG for upcoming 0.14.0 release
Copy file name to clipboardexpand all lines: CHANGELOG.md
+29-16
Original file line number
Diff line number
Diff line change
@@ -1,23 +1,36 @@
1
1
# Changelog #
2
2
3
-
## v0.14.0 (TBD) ##
4
-
-**IMPORTANT:** Gitlint 0.14.x will be the last gitlint release to support Python 2.7 and Python 3.5, as [both are EOL](https://endoflife.date/python) which makes them hard to keep supporting.
5
-
-[Named Rules](TODO) allow users to have multiple instances of the same rule active at the same time. This is useful when you want to enforce the same rule multiple times but with different options.
6
-
-[User-defined Configuration Rules](TODO) allow users to dynamically change gitlint's configuration and/or the commit *before* any other rules are applied.
3
+
## v0.14.0 (2020-10-24) ##
4
+
5
+
Contributors:
6
+
Special thanks to all contributors for this release, in particular [@mrshu](https://github.com/mrshu), [@glasserc](https://github.com/glasserc), [@strk](https://github.com/strk), [@chgl](https://github.com/chgl), [@melg8](https://github.com/melg8) and [@sigmavirus24](https://github.com/sigmavirus24).
7
+
8
+
9
+
-**IMPORTANT: Gitlint 0.14.x will be the last gitlint release to support Python 2.7 and Python 3.5, as [both are EOL](https://endoflife.date/python) which makes it difficult to keep supporting them.**
7
10
- Python 3.9 support
8
-
- Most general options can now be set through environment variables (e.g. set the `general.ignore` option via `GITLINT_IGNORE=T1,T2`). The list of available environment variables can be found in the [configuration documentation](TODO).
9
-
- Users can now use `self.log.debug("my message")` for debugging purposes in their user-defined rules
10
-
- Breaking: User-defined rule id's can no longer start with 'I', as those are reserved for built-in gitlint ignore rules.
11
-
-**New Rule**: [title-min-length](TODO) enforces a minimum length on titles (default: 5 chars) ([#130](https://github.com/jorisroovers/gitlint/issues/138))
12
-
-**New Rule**: [ignore-body-lines](TODO) allows users to
13
-
[ignore parts of a commit](http://jorisroovers.github.io/gitlint/#ignoring-commits) by matching a regex against
14
-
the lines in a commit message body. ([#126](https://github.com/jorisroovers/gitlint/issues/126)).
15
-
-**New Rule**: [body-match-regex](TODO) allows users to enforce that the commit-msg body matches a given regex ([#130](https://github.com/jorisroovers/gitlint/issues/126))
11
+
-**New Rule**: [title-min-length](http://jorisroovers.github.io/gitlint/rules/#t8-title-min-length) enforces a minimum length on titles (default: 5 chars) ([#138](https://github.com/jorisroovers/gitlint/issues/138))
12
+
-**New Rule**: [body-match-regex](http://jorisroovers.github.io/gitlint/rules/#b8-body-match-regex) allows users to enforce that the commit-msg body matches a given regex ([#130](https://github.com/jorisroovers/gitlint/issues/130))
13
+
-**New Rule**: [ignore-body-lines](http://jorisroovers.github.io/gitlint/rules/#i3-ignore-body-lines) allows users to
14
+
[ignore parts of a commit](http://jorisroovers.github.io/gitlint/gitlint/#ignoring-commits) by matching a regex against
15
+
the lines in a commit message body ([#126](https://github.com/jorisroovers/gitlint/issues/126))
16
+
-[Named Rules](http://jorisroovers.github.io/gitlint/#named-rules) allow users to have multiple instances of the same rule active at the same time. This is useful when you want to enforce the same rule multiple times but with different options ([#113](https://github.com/jorisroovers/gitlint/issues/130), [#66](https://github.com/jorisroovers/gitlint/issues/130))
17
+
-[User-defined Configuration Rules](http://jorisroovers.github.io/gitlint/user_defined_rules/#configuration-rules) allow users to dynamically change gitlint's configuration and/or the commit *before* any other rules are applied.
18
+
- The `commit-msg` hook has been re-written in Python (it contained a lot of Bash before), fixing a number of platform specific issues. Existing users will need to reinstall their hooks (`gitlint uninstall-hook; gitlint install-hook`) to make use of this.
19
+
- Most general options can now be set through environment variables (e.g. set the `general.ignore` option via `GITLINT_IGNORE=T1,T2`). The list of available environment variables can be found in the [configuration documentation](http://jorisroovers.github.io/gitlint/configuration).
20
+
- Users can now use `self.log.debug("my message")` for debugging purposes in their user-defined rules. Debug messages will show up when running `gitlint --debug`.
21
+
-**Breaking**: User-defined rule id's can no longer start with 'I', as those are reserved for [built-in gitlint ignore rules](http://jorisroovers.github.io/gitlint/rules/#i1-ignore-by-title).
22
+
- New `RegexOption` rule [option type for use in user-defined rules](http://jorisroovers.github.io/gitlint/user_defined_rules/#options). By using the `RegexOption`, regular expressions are pre-validated at gitlint startup and compiled only once which is much more efficient when linting multiple commits.
16
23
- Bugfixes:
17
-
- Options can now actually be set to `None` (from code) to make them optional.
18
-
- Ignore rules no longer have "None" as default regex, but an empty regex - effectively disabling them by default (as intended).
19
-
- New `RegexOption` rule option type for use in user-defined rules. By using the `RegexOption`, regular expressions are pre-validated at gitlint startup and compiled only once which is much more efficient compared when linting multiple commits.
20
-
- Minor performance improvement: Removed some unneccessary regex matching
24
+
- Improved UTF-8 fallback on Windows (ongoing - [#96](https://github.com/jorisroovers/gitlint/issues/96))
25
+
- Windows users can now use the 'edit' function of the `commit-msg` hook ([#94](https://github.com/jorisroovers/gitlint/issues/94))
26
+
- Doc update: Users should use `--ulimit nofile=1024` when invoking gitlint using Docker ([#129](https://github.com/jorisroovers/gitlint/issues/129))
27
+
- The `commit-msg` hook was broken in Ubuntu's gitlint package due to a python/python3 mismatch ([#127](https://github.com/jorisroovers/gitlint/issues/127))
28
+
- Better error message when no git username is set ([#149](https://github.com/jorisroovers/gitlint/issues/149))
29
+
- Options can now actually be set to `None` (from code) to make them optional.
30
+
- Ignore rules no longer have `"None"` as default regex, but an empty regex - effectively disabling them by default (as intended).
31
+
- Contrib Rules:
32
+
- Added 'ci' and 'build' to conventional commit types ([#135](https://github.com/jorisroovers/gitlint/issues/135))
33
+
- Under-the-hood: minor performance improvements (removed some unnecessary regex matching), test improvements, improved debug logging, CI runs on pull requests, PR request template.
Copy file name to clipboardexpand all lines: README.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ Git commit message linter written in python (for Linux and Mac, experimental on
13
13
## Contributing ##
14
14
All contributions are welcome and very much appreciated!
15
15
16
-
**I'm looking for contributors that are interested in taking a more active co-maintainer role as it's becoming increasingly difficult for me to find time to maintain gitlint. Please open a PR if you're interested - Thanks!**
16
+
**I'm [looking for contributors](https://github.com/jorisroovers/gitlint/issues/134) that are interested in taking a more active co-maintainer role as it's becoming increasingly difficult for me to find time to maintain gitlint. Please open a PR if you're interested - Thanks!**
17
17
18
18
See [jorisroovers.github.io/gitlint/contributing](http://jorisroovers.github.io/gitlint/contributing) for details on
Since we want to maintain a high standard of quality, all of these things will have to be done regardless before code
25
25
can make it as part of a release. If you can already include them as part of your PR, it's a huge timesaver for us
@@ -63,12 +63,12 @@ To run tests:
63
63
./run_tests.sh --all # Run unit, integration, pep8 and gitlint checks
64
64
```
65
65
66
-
The `Vagrantfile` comes with `virtualenv`s for python 2.7, 3.5, 3.6, 3.7 and pypy2.
66
+
The `Vagrantfile` comes with `virtualenv`s for python 2.7, 3.5, 3.6, 3.7, 3.8, 3.9 and pypy2.
67
67
You can easily run tests against specific python environments by using the following commands *inside* of the Vagrant VM:
68
68
```sh
69
69
./run_tests.sh --envs 27 # Run the unit tests against Python 2.7
70
-
./run_tests.sh --envs 27,35,pypy2 # Run the unit tests against Python 2.7, Python 3.5 and Pypy2
71
-
./run_tests.sh --envs 27,35 --pep8 # Run pep8 checks against Python 2.7 and Python 3.5 (also works for --git, --integration, --pep8, --stats and --lint.
70
+
./run_tests.sh --envs 27,37,pypy2 # Run the unit tests against Python 2.7, Python 3.7 and Pypy2
71
+
./run_tests.sh --envs 27,37 --pep8 # Run pep8 checks against Python 2.7 and Python 3.7 (also works for --git, --integration, --pep8, --stats and --lint.
72
72
./run_tests.sh --envs all --all # Run all tests against all environments
73
73
./run_tests.sh --all-env --all # Idem: Run all tests against all environments
74
74
```
@@ -115,9 +115,9 @@ Then, we suggest taking the following approach to add a Contrib rule:
115
115
116
116
1.**Write your rule as a [user-defined rule](../user_defined_rules)**. In terms of code, Contrib rules are identical to
117
117
user-defined rules, they just happen to have their code sit within the gitlint codebase itself.
118
-
2.**Add your user-defined rule to gitlint**. You should put your file(s) in the [gitlint/contrib/rules](https://github.com/jorisroovers/gitlint/tree/master/gitlint/contrib/rules) directory.
119
-
3.**Write unit tests**. The gitlint codebase contains [Contrib rule test files you can copy and modify](https://github.com/jorisroovers/gitlint/tree/master/gitlint/tests/contrib/rules).
120
-
4.**Write documentation**. In particular, you should update the [gitlint/docs/contrib_rules.md](https://github.com/jorisroovers/gitlint/blob/master/docs/contrib_rules.md) file with details on your Contrib rule.
118
+
2.**Add your user-defined rule to gitlint**. You should put your file(s) in the [gitlint/contrib/rules](https://github.com/jorisroovers/gitlint/tree/main/gitlint/contrib/rules) directory.
119
+
3.**Write unit tests**. The gitlint codebase contains [Contrib rule test files you can copy and modify](https://github.com/jorisroovers/gitlint/tree/main/gitlint/tests/contrib/rules).
120
+
4.**Write documentation**. In particular, you should update the [gitlint/docs/contrib_rules.md](https://github.com/jorisroovers/gitlint/blob/main/docs/contrib_rules.md) file with details on your Contrib rule.
121
121
5.**Create a Pull Request**: code review typically requires a bit of back and forth. Thanks for your contribution!
0 commit comments