Skip to content

Releases: jorisroovers/gitlint

0.13.1

26 Feb 12:58
Compare
Choose a tag to compare
  • Patch to enable --staged flag for pre-commit.
  • Minor doc updates (#109)

0.13.0

25 Feb 15:58
Compare
Choose a tag to compare
  • Behavior Change: Revert Commits are now recognized and ignored by default (#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 or precommit (#105)
  • New branch properties on GitCommit and GitContext, useful when writing your own user-defined rules: commit.branches and commit.context.current_branch (#108)
  • Python 3.8 support
  • Python 3.4 no longer supported. Python 3.4 has reached EOL and an increasing
    of gitlint's dependencies have dropped support which makes it hard to maintain.
  • Improved Windows support: better unicode handling. Issues remain 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.

0.12.0

15 Jul 12:34
Compare
Choose a tag to compare

Contributors:
Special thanks to all contributors for this release, in particular @rogalksi and @byrney.

  • 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 spec. Details in our documentation.
    • New Contrib Rule: cc1-contrib-requires-signed-off-by ensures that all commit messages contain a Sign-Off-By line. Details in our documentation.
    • If you're interested in adding new Contrib rules to gitlint, please start by reading the
      Contributing page. Thanks for considering!
  • Experimental (!) Windows support: Basic functionality is working, but there are still caveats. For more details, please refer to #20 and the open issues related to Windows.
  • Python 3.3 no longer supported. Python 3.4 is likely to follow in a future release as it has reached EOL as well.
  • PyPy 3.5 supported
  • Support for --ignore-stdin command-line flag to ignore any text send via stdin. (#56, #89)
  • Bugfixes:
  • Under-the-hood: dependencies updated, experimental Dockerfile, github issue template.

0.11.0

13 Mar 13:34
Compare
Choose a tag to compare
  • Python 3.7 support
  • Python 2.6 no longer supported
  • Various dependency updates and under the hood fixes (see #76 for details)

Special thanks to @pbregener for his contributions related to python 3.7 support and test fixes.

0.10.0

15 Apr 12:38
Compare
Choose a tag to compare

The 0.10.0 release adds the ability to ignore commits based on their contents, support for pre-commit, and important fix for running gitlint in CI environments (such as Jenkins, Gitlab, etc).

Special thanks to @asottile, @bdrung, @pbregener, @torwald-sergesson, @RykHawthorn, @SteffenKockel and @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:

0.9.0

03 Dec 18:15
Compare
Choose a tag to compare

The 0.9.0 release adds a new default author-valid-email rule, important bugfixes and special case handling.
Special thanks to joshholl, ron8mcr, omarkohl, domo141, nud and 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.
  • Breaking change: The --commits commandline flag now strictly follows the refspec format as interpreted by the git rev-list <refspec> 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.
  • 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 and #42.
  • Behavior Change: Gitlint will now by default ignore squash and fixup commits (fix for #33: fixup messages should not trigger a gitlint violation)
  • Support for custom comment characters (#34)
  • Support for git commit --cleanup=scissors (#34)
  • Bugfix: #37: Prevent Commas in text fields from breaking git log printing
  • Debug output improvements

0.8.2

25 Apr 11:38
Compare
Choose a tag to compare

The 0.8.2 release brings minor improvements, bugfixes and some under-the-hood changes. Special thanks to tommyip for his contributions.

0.8.1

16 Mar 10:44
Compare
Choose a tag to compare

The 0.8.1 release brings minor tweaks and some experimental features. Special thanks to
tommyip for his contributions.

  • Experimental: Linting a range of commits. Documentation. Known Caveats: #23,#24. Closes #14. Thanks to 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 for details on the lack of Windows support.

0.8.0

30 Dec 19:23
Compare
Choose a tag to compare

The 0.8.0 release is a significant release that has been in the works for a long time. Special thanks to Claymore, gernd and ZhangYaxu for submitting bug reports and pull requests.

  • Full unicode support: you can now lint messages in any language! This fixes
    #16 and #18.
  • User-defined rules: you can now define your own custom 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.
      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

0.7.1

18 Jun 12:10
Compare
Choose a tag to compare

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 for submitting this.
  • Gitlint now prints a correct violation message for the title-match-regex rule. Special thanks to
    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