Gitlint

Latest version: v0.19.1

Safety actively analyzes 613544 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

0.20.0

0.19.1

Development
- Fix issue that prevented homebrew packages from being built ([460](https://github.com/jorisroovers/gitlint/issues/460))
- Switch to using pypa/build in CI ([463](https://github.com/jorisroovers/gitlint/issues/463)) - thanks webknjaz

0.19.0

This release was primarily focussed on modernizing gitlint's build and test tooling (details: [378](https://github.com/jorisroovers/gitlint/issues/378)).

General
- Python 3.6 no longer supported ([EOL since 2021-12-23](https://endoflife.date/python)) ([#379](https://github.com/jorisroovers/gitlint/issues/379))
- This is the last release to support the [sh](https://amoffat.github.io/sh/) library (used under-the-hood to execute git commands) by setting `GITLINT_USE_SH_LIB=1`. This is already disabled by default since v0.18.0.

Features
- Allow for a single commit in the `--commits` cmd-line param ([412](https://github.com/jorisroovers/gitlint/issues/412)) - thanks [carlescufi](https://github.com/carlescufi)
- Gitlint now separates `FILE_ENCODING` (always UTF-8) from `TERMINAL_ENCODING` (terminal dependent), this should improve issues with unicode. Use `gitlint --debug` to inspect these values. ([424](https://github.com/jorisroovers/gitlint/issues/424))

Bugfixes
- `ignore-by-author-name` crashes without --staged ([445](https://github.com/jorisroovers/gitlint/issues/445))
- Various documentation fixes ([401](https://github.com/jorisroovers/gitlint/issues/401), [#433](https://github.com/jorisroovers/gitlint/issues/433)) - Thanks [scop](https://github.com/scop)

Development
- Adopted [hatch](https://hatch.pypa.io/latest/) for project management ([#384](https://github.com/jorisroovers/gitlint/issues/384)).
This significantly improves the developer workflow, please read the updated [CONTRIBUTING](https://jorisroovers.github.io/gitlint/contributing/) page.
- Adopted [ruff](https://github.com/charliermarsh/ruff) for linting, replacing pylint ([#404](https://github.com/jorisroovers/gitlint/issues/404))
- Gitlint now publishes [dev builds on every commit to main](https://jorisroovers.github.io/gitlint/contributing/releases/#dev-builds) ([429](https://github.com/jorisroovers/gitlint/issues/429))
- Gitlint now publishes a [`latest_dev` docker image](https://hub.docker.com/r/jorisroovers/gitlint/tags?name=latest_dev) on every commit to main ([#451](https://github.com/jorisroovers/gitlint/issues/452)) ([#452](https://github.com/jorisroovers/gitlint/issues/451))
- Dependencies updated
- Many improvements to the [CI/CD worfklows](https://github.com/jorisroovers/gitlint/tree/main/.github/workflows)
- Fixed coveralls integration: [coveralls.io/github/jorisroovers/gitlint](https://coveralls.io/github/jorisroovers/gitlint)
- Improve unit test coverage ([453](https://github.com/jorisroovers/gitlint/issues/453))
- Integration test fixes on windows ([392](https://github.com/jorisroovers/gitlint/issues/392), [#397](https://github.com/jorisroovers/gitlint/issues/397))
- Devcontainer improvements ([428](https://github.com/jorisroovers/gitlint/issues/428))
- Removal of Dockerfile.dev ([390](https://github.com/jorisroovers/gitlint/issues/390))
- Fix most integration tests on Windows
- Fix Windows unit tests ([383](https://github.com/jorisroovers/gitlint/issues/383))
- Introduce a gate/check GHA job ([375](https://github.com/jorisroovers/gitlint/issues/375)) - Thanks [webknjaz](https://github.com/webknjaz)
- Thanks to [sigmavirus24](https://github.com/sigmavirus24) for continued overall help and support

0.18.0

Contributors:
Special thanks to all contributors for this release - details inline!

General
- Python 3.11 support
- Last release to support Python 3.6 ([EOL since 2021-12-23](https://endoflife.date/python))
- **Behavior Change**: In a future release, gitlint will be switching to use `re.search` instead of `re.match` semantics for all rules. Your rule regexes might need updating as a result, gitlint will print a warning if so. [More details are in the docs](https://jorisroovers.github.io/gitlint/configuration/#regex-style-search). ([254](https://github.com/jorisroovers/gitlint/issues/254))
- gitlint no longer uses the [sh](https://amoffat.github.io/sh/) library by default in an attempt to reduce external dependencies. In case of issues, the use of `sh` can be re-enabled by setting the env var `GITLINT_USE_SH_LIB=1`. This fallback will be removed entirely in a future gitlint release. ([#351](https://github.com/jorisroovers/gitlint/issues/351))

Features
- `--commits` now also accepts a comma-separated list of commit hashes, making it possible to lint a list of non-contiguous commits without invoking gitlint multiple times ([283](https://github.com/jorisroovers/gitlint/issues/283))
- Improved handling of branches that have no commits ([188](https://github.com/jorisroovers/gitlint/issues/189)) - thanks [domsekotill](https://github.com/domsekotill)
- Support for `GITLINT_CONFIG` env variable ([189](https://github.com/jorisroovers/gitlint/issues/188)) - thanks [Notgnoshi](https://github.com/Notgnoshi)
- Added [a new `gitlint-ci` pre-commit hook](https://jorisroovers.github.io/gitlint/#gitlint-and-pre-commit-in-ci), making it easier to run gitlint through pre-commit in CI ([191](https://github.com/jorisroovers/gitlint/issues/191)) - thanks [guillaumelambert](https://github.com/guillaumelambert)

Contrib Rules
- New [contrib-disallow-cleanup-commits](https://jorisroovers.github.io/gitlint/contrib_rules/#cc2-contrib-disallow-cleanup-commits) rule ([312](https://github.com/jorisroovers/gitlint/issues/312)) - thanks [matthiasbeyer](https://github.com/matthiasbeyer)
- New [contrib-allowed-authors](https://jorisroovers.github.io/gitlint/contrib_rules/#cc3-contrib-allowed-authors) rule ([358](https://github.com/jorisroovers/gitlint/issues/358)) - thanks [stauchert](https://github.com/stauchert)

User Defined rules
- Gitlint now recognizes `fixup=amend` commits (see related [git documentation](https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---fixupamendrewordltcommitgt)), available as `commit.is_fixup_amend_commit=True`
- Gitlint now parses diff **stat** information, available in `commit.changed_files_stats` ([314](https://github.com/jorisroovers/gitlint/issues/314))

Bugfixes
- Use correct encoding when using `--msg-filename` parameter ([310](https://github.com/jorisroovers/gitlint/issues/310))
- Various documentation fixes ([244](https://github.com/jorisroovers/gitlint/issues/244)) ([#263](https://github.com/jorisroovers/gitlint/issues/263)) ([#266](https://github.com/jorisroovers/gitlint/issues/266)) ([#294](https://github.com/jorisroovers/gitlint/issues/294)) ([#295](https://github.com/jorisroovers/gitlint/issues/295)) ([#347](https://github.com/jorisroovers/gitlint/issues/347)) ([#364](https://github.com/jorisroovers/gitlint/issues/364)) - thanks [scop](https://github.com/scop), [OrBin](https://github.com/OrBin), [jtaylor100](https://github.com/jtaylor100), [stauchert](https://github.com/stauchert)

Development
- Dependencies updated
- Moved to [black](https://github.com/psf/black) for formatting
- Fixed nasty CI issue ([298](https://github.com/jorisroovers/gitlint/issues/298))
- Unit tests fix ([256](https://github.com/jorisroovers/gitlint/issues/256)) - thanks [carlsmedstad](https://github.com/carlsmedstad)
- Vagrant box removed in favor of github dev containers ([348](https://github.com/jorisroovers/gitlint/issues/348))
- Removed a few lingering references to the `master` branch in favor of `main`
- Moved [roadmap and project planning](https://github.com/users/jorisroovers/projects/1) to github projects
- Thanks to [sigmavirus24](https://github.com/sigmavirus24) for continued overall help and support

0.17.0

Contributors:
Special thanks to all contributors for this release, in particular [andersk](https://github.com/andersk) and [sigmavirus24](https://github.com/sigmavirus24).

General
- Gitlint is now split in 2 packages: `gitlint` and `gitlint-core`. This allows users to install gitlint without pinned dependencies (which is the default) ([162](https://github.com/jorisroovers/gitlint/issues/162))
- Under-the-hood: dependencies updated

0.16.0

Contributors:
Special thanks to all contributors for this release, in particular [sigmavirus24](https://github.com/sigmavirus24), [l0b0](https://github.com/l0b0) and [rafaelbubach](https://github.com/rafaelbubach).

General
- Python 3.10 support
- Heads-up: [Python 3.6 will become EOL at the end of 2021](https://endoflife.date/python). It's likely that future gitlint releases will stop supporting Python 3.6 as a result. We will continue to support Python 3.6 as long as it's easily doable, which in practice usually means as long as our dependencies support it.

Features
- `--commit <ref>` flag to more easily lint a single commit message ([141](https://github.com/jorisroovers/gitlint/issues/141))
- `--fail-without-commits` flag will force gitlint to fail ([exit code 253](https://jorisroovers.github.io/gitlint/#exit-codes)) when the target commit range is empty (typically when using `--commits`) ([193](https://github.com/jorisroovers/gitlint/issues/193))

Rules
- **New Rule**: [ignore-by-author-name](https://jorisroovers.github.io/gitlint/rules/builtin_rules/#i4-ignore-by-author-name) allows users to skip linting commit messages made by specific authors

Bugfixes
- [contrib-title-conventional-commits (CT1)](https://jorisroovers.github.io/gitlint/contrib_rules/#ct1-contrib-title-conventional-commits) now properly enforces the commit type ([185](https://github.com/jorisroovers/gitlint/issues/185))
- [contrib-title-conventional-commits (CT1)](https://jorisroovers.github.io/gitlint/contrib_rules/#ct1-contrib-title-conventional-commits) now supports the BREAKING CHANGE symbol "!" ([186](https://github.com/jorisroovers/gitlint/issues/186))

Development
- Dependencies updated
- Test and github action improvements

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.