Skip to content

Releases: jorisroovers/gitlint

0.7.0

19 Apr 23:37
Compare
Choose a tag to compare

This release contains mostly bugfix and internal code improvements. Special thanks to William Turell and Joe Grund 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:
  • 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

0.6.1

22 Nov 15:14
Compare
Choose a tag to compare
  • Fix: install-hook and generate-config commands not working when gitlint is installed from pypi.

0.6.0

22 Nov 14:30
Compare
Choose a tag to compare
  • 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.
  • 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

0.5.0

22 Nov 14:31
Compare
Choose a tag to compare
  • New Rule: title-match-regex. Details can be found in the
    Rules section of the documentation.
  • 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).

0.4.1

22 Nov 14:38
Compare
Choose a tag to compare
  • Internal fix: added missing comma to setup.py which prevented pypi upload

0.4.0

22 Nov 14:31
Compare
Choose a tag to compare
  • 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.
  • 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 on pypi.
  • Internal: rule classes now have access to a gitcontext containing body the commit message and the files changed in the
    last commit.

0.3.0

22 Nov 14:37
Compare
Choose a tag to compare
  • 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 :-)

0.2.0

22 Nov 14:37
Compare
Choose a tag to compare
  • 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

0.1.1

22 Nov 14:37
Compare
Choose a tag to compare
  • Bugfix: added missing sh dependency

0.1.0

22 Nov 14:33
Compare
Choose a tag to compare
  • 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