Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

body-max-line-length should not report false positives for line starts with # #2964

Closed
4 tasks
xboy2012 opened this issue Jan 10, 2022 · 12 comments
Closed
4 tasks
Labels

Comments

@xboy2012
Copy link

Expected Behavior

body-max-line-length should not report false positives for line starts with #

Current Behavior

body-max-line-length report false positives for line starts with #

While debuging in the node_modules/@commitlint/rules/lib/body-max-line-length.js

I found parsed.body have the following value as follows:

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch chore/sync-remote-config2
# Your branch is up to date with 'origin/chore/sync-remote-config2'.
#
# Changes to be committed:
#       modified:   packages/code-standard-cli/package.json
#       new file:   packages/xxx/src/_private/yyyy/diffConfig.ts
#       renamed:   packages/xxx/src/_private/yyyy/foo/bar.ts ->  packages/xxx/src/_private/yyyy/foo/barabcdefg.ts
# 

Obviously, the lines come from the git commit command line, and should be ignored as they starts with #

Affected packages

  • cli
  • core
  • prompt
  • config-angular

Possible Solution

Steps to Reproduce (for bugs)

  1. First step
  2. Second step
commitlint.config.js ```js ```

Context

Your Environment

Executable Version
commitlint --version VERSION
git --version VERSION
node --version VERSION
@xboy2012
Copy link
Author

xboy2012 commented Jan 10, 2022

It might be related to

https://github.com/conventional-changelog/commitlint/blob/master/%40commitlint/cli/src/cli.ts#L227

As I'm not using @commitlint/cli but @commitlint/load, there's no way to config parserOpts.commentChar = '#' in an easy way, I've add the lines by myself in the code base

@escapedcat
Copy link
Member

Thanks for reporting. Are you interested in creating a PR for this?

@escapedcat escapedcat added the bug label Jan 11, 2022
@Zirak
Copy link
Contributor

Zirak commented Jan 13, 2022

When calling through @commitlint/load you can specify the parserOpts. For example:

const load = require('@commitlint/load').default
const lint = require('@commitlint/lint').default;

const config = {
    parserPreset: {
        parserOpts: {
            commentChar: '#', // <----
        },
    },
    rules: {
        'body-max-line-length': [2, 'always', 20]
    },
};

const opts = {
    parserOpts: config.parserPreset.parserOpts,
    plugins: {},
    ignores: [],
    defaultIgnores: true,
};

(async () => {
    const loaded = await load(config);
    
    const out = await lint(`feat: hello

# this is a very long line that exceeds the body-max-line-length rule, but has a comment character in the beginning so should be ignored
`, loaded.rules, opts);

    console.log(out.valid); // true
})();

Change the commentChar to something else to see it in effect.

Are you in a situation where that's difficult to pass in?

@escapedcat
Copy link
Member

Oh, thanks for you support here @Zirak !
Let me know if this is not a bug

@xboy2012
Copy link
Author

xboy2012 commented Jan 13, 2022

When calling through @commitlint/load you can specify the parserOpts. For example:

const load = require('@commitlint/load').default
const lint = require('@commitlint/lint').default;

const config = {
    parserPreset: {
        parserOpts: {
            commentChar: '#', // <----
        },
    },
    rules: {
        'body-max-line-length': [2, 'always', 20]
    },
};

const opts = {
    parserOpts: config.parserPreset.parserOpts,
    plugins: {},
    ignores: [],
    defaultIgnores: true,
};

(async () => {
    const loaded = await load(config);
    
    const out = await lint(`feat: hello

# this is a very long line that exceeds the body-max-line-length rule, but has a comment character in the beginning so should be ignored
`, loaded.rules, opts);

    console.log(out.valid); // true
})();

Change the commentChar to something else to see it in effect.

Are you in a situation where that's difficult to pass in?

Thanks for the description, I passed in commentChar: '#' in our team's private changelog-preset, eg: @xxx/conventional-changelog

Then in the .commitlintrc.js I wrote the following codes:

module.exports = {
    extends: ['@commitlint/config-conventional'],
    parserPreset: require.resolve('@xxx/conventional-changelog'),
  }

But @commitlint/load doesn't handle all edge cases of a third-party changelog-preset.

To be brief, several format of exports are valid:

  1. object
  2. Promise of an object
  3. function that return an object
  4. function that return a Promise of object.

Unfortunately, @commitlint/load just require('@xxx/conventional-changelog') which only match case 1

Then I have to manually handle 2-4 logic.

Would be appreciated if all edge case could be handled and the type should not be just unknown.

export interface ParserPreset {
    name?: string;
    path?: string;
    parserOpts?: unknown;
}

@Zirak
Copy link
Contributor

Zirak commented Jan 13, 2022

Ah I see, so it's a broken expectation between how a rule is resolved and how parserPreset is resolved.

It seems like load-parser-opts takes care of cases 1 and 2 that you mentioned, allowing you to export an object or a promise of an object.

Correct me if I'm wrong here @escapedcat (or someone else), it seems like this is a feature, and 3 and 4 could be supported by changing this condition:

// Create parser opts from factory
if (
isParserOptsFunction(parser) &&
typeof parser.name === 'string' &&
parser.name.startsWith('conventional-changelog-')
) {

...to not only check for functions whose name begins with conventional-changelog-. i.e. remove line 48. Thoughts?

@Zirak
Copy link
Contributor

Zirak commented Jan 13, 2022

Actually my bad, I read that piece of code completely wrong. We won't even reach that part because of an earlier check up in the function:

if (!pendingParser || typeof pendingParser !== 'object') {
return undefined;
}

So inside this block (or elsewhere if it fits the flow), something like the following:

if (typeof parser === 'function') {
  return loadParserOpts(parser());
}

@xboy2012
Copy link
Author

xboy2012 commented Jan 14, 2022

typeof parser.name === 'string' &&

I just wonder why these two lines exists?

    // Create parser opts from factory
    if (isParserOptsFunction(parser) &&
        typeof parser.name === 'string' &&    // why this line ? 
        parser.name.startsWith('conventional-changelog-')) { // why this line ? 

Why the following codes are not OK?

 // Create parser opts from factory
    if (isParserOptsFunction(parser)) {

@escapedcat
Copy link
Member

@armano2 you have an idea or input to this? Sorry for bothering!

@Zirak
Copy link
Contributor

Zirak commented Jan 15, 2022

Why the following codes are not OK?

// Create parser opts from factory
if (isParserOptsFunction(parser)) {

From my understanding @xboy2012, that logic isn't reached. Since earlier in the function there's a check which filters out all non-objects, no matter what function is passed in the result is undefined:

loadParserOpts(() => {}) // undefined

It applies to passing in an object with a parserOpts function and a certain name, like:

loadParserOpts({
  name: 'conventional-changelog-example',
  parserOpts: () => {}, // <-- this will be called
})

As I mentioned above, function support could be added by conditionally checking for passing in functions earlier in the code, and dealing with that there. If there's interest I can draw up a PR.

Zirak added a commit to Zirak/commitlint that referenced this issue Jan 19, 2022
Previously, `load` could accept `parserPresets` as both values and promises of
values. Per conventional-changelog#2964 however, there was expectations for it to also support
functions returning said values.

This commit enables to specify `parserPresets` in all the same ways as
rules. That is, both commitlint rules and `parserPresets` can be specified as:

- Plain values
- Promises
- Functions returning plain values
- Functions returning promises

Solves conventional-changelog#2964.
Zirak added a commit to Zirak/commitlint that referenced this issue Jan 19, 2022
Previously, `load` could accept `parserPresets` as both values and promises of
values. Per conventional-changelog#2964 however, there was expectations for it to also support
functions returning said values.

This commit enables to specify `parserPresets` in all the same ways as
rules. That is, both commitlint rules and `parserPresets` can be specified as:

- Plain values
- Promises
- Functions returning plain values
- Functions returning promises

Solves conventional-changelog#2964.
escapedcat pushed a commit that referenced this issue Jan 20, 2022
Previously, `load` could accept `parserPresets` as both values and promises of
values. Per #2964 however, there was expectations for it to also support
functions returning said values.

This commit enables to specify `parserPresets` in all the same ways as
rules. That is, both commitlint rules and `parserPresets` can be specified as:

- Plain values
- Promises
- Functions returning plain values
- Functions returning promises

Solves #2964.
@escapedcat
Copy link
Member

Should be fixed with 16.1.0.
@xboy2012 please give it a try and close this this issue if it works. Thanks.
@Zirak thanks for your PR!

@escapedcat
Copy link
Member

Closing this because of no negative feedback so far

Ishmaello added a commit to Ishmaello/commitlint that referenced this issue Jul 20, 2023
# Change Log

All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [17.6.7](https://github.com/conventional-Ishmaello-changelog/commitlint/compare/v17.6.6...v17.6.7) (2023-07-19)

**Note:** Version bump only for package @commitlint/root





## [17.6.6](https://github.com/conventional-changelog/commitlint/compare/v17.6.5...v17.6.6) (2023-06-24)

**Note:** Version bump only for package @commitlint/root





## [17.6.5](https://github.com/conventional-changelog/commitlint/compare/v17.6.4...v17.6.5) (2023-05-30)


### Bug Fixes

* add named export to @commitlint/parse ([#3614](https://github.com/conventional-changelog/commitlint/issues/3614)) ([2cd236b](https://github.com/conventional-changelog/commitlint/commit/2cd236b3065c69303c56833d120eb04c6fefc2c3))





## [17.6.4](https://github.com/conventional-changelog/commitlint/compare/v17.6.3...v17.6.4) (2023-05-07)

**Note:** Version bump only for package @commitlint/root





## [17.6.3](https://github.com/conventional-changelog/commitlint/compare/v17.6.2...v17.6.3) (2023-05-04)


### Bug Fixes

* **config-lerna-scopes:** add missing dependency ([#3607](https://github.com/conventional-changelog/commitlint/issues/3607)) ([2fff094](https://github.com/conventional-changelog/commitlint/commit/2fff0943899161b2159a4acddc9237c6ab60c7a5))
* update dependency semver to v7.5.0 ([#3604](https://github.com/conventional-changelog/commitlint/issues/3604)) ([01e35e0](https://github.com/conventional-changelog/commitlint/commit/01e35e06cf9123a0c367e0d0ac79988ec4334e6a))
* update dependency yargs to v17.7.2 ([#3602](https://github.com/conventional-changelog/commitlint/issues/3602)) ([c1c7338](https://github.com/conventional-changelog/commitlint/commit/c1c73380710908f6e095f045c78c50928d56acdd))





## [17.6.2](https://github.com/conventional-changelog/commitlint/compare/v17.6.1...v17.6.2) (2023-05-03)


### Bug Fixes

* lerna package.json resolution ([#3600](https://github.com/conventional-changelog/commitlint/issues/3600)) ([6c5cd53](https://github.com/conventional-changelog/commitlint/commit/6c5cd535679ac9448a127a57e309276e699cebb9))
* update dependency cosmiconfig to v8.1.3 ([#3591](https://github.com/conventional-changelog/commitlint/issues/3591)) ([44b57a5](https://github.com/conventional-changelog/commitlint/commit/44b57a5022ede545a4d27146fd1a41110767c963))
* update dependency fs-extra to v11.1.1 ([#3592](https://github.com/conventional-changelog/commitlint/issues/3592)) ([d6ec0d9](https://github.com/conventional-changelog/commitlint/commit/d6ec0d9295c66b51786e210e63dda2a5fa6b9d91))





## [17.6.1](https://github.com/conventional-changelog/commitlint/compare/v17.6.0...v17.6.1) (2023-04-14)


### Bug Fixes

* **rules:** avoid processing strings with case-less Letter category symbols in `subject-case` ([#3586](https://github.com/conventional-changelog/commitlint/issues/3586)) ([70a4450](https://github.com/conventional-changelog/commitlint/commit/70a44501ac8459f0c1d2b200608b024585964637)), closes [#3585](https://github.com/conventional-changelog/commitlint/issues/3585)





# [17.6.0](https://github.com/conventional-changelog/commitlint/compare/v17.5.1...v17.6.0) (2023-04-13)


### Features

* **rules:** expand Latin-only characters limitation for `subject-case` with Unicode support ([#3575](https://github.com/conventional-changelog/commitlint/issues/3575)) ([5f83423](https://github.com/conventional-changelog/commitlint/commit/5f8342355a856e5be7b8a7b851e1519d62678465))





## [17.5.1](https://github.com/conventional-changelog/commitlint/compare/v17.5.0...v17.5.1) (2023-03-28)

**Note:** Version bump only for package @commitlint/root





# [17.5.0](https://github.com/conventional-changelog/commitlint/compare/v17.4.4...v17.5.0) (2023-03-22)


### Bug Fixes

* **config-pnpm-scopes:** refactor to remove peer dependencies ([#3564](https://github.com/conventional-changelog/commitlint/issues/3564)) ([f1f3bd5](https://github.com/conventional-changelog/commitlint/commit/f1f3bd5b7f33f7198719ed4aead3417e894a10ec)), closes [#3556](https://github.com/conventional-changelog/commitlint/issues/3556)
* update dependency cosmiconfig to v8.1.0 ([#3548](https://github.com/conventional-changelog/commitlint/issues/3548)) ([7d01b2e](https://github.com/conventional-changelog/commitlint/commit/7d01b2e1801e1e409ce0c98c3388521804cc9b3d))
* update dependency yargs to v17.7.0 ([#3542](https://github.com/conventional-changelog/commitlint/issues/3542)) ([f14990f](https://github.com/conventional-changelog/commitlint/commit/f14990f626f5a2713ac4aa508133cf1072993449))
* update dependency yargs to v17.7.1 ([#3546](https://github.com/conventional-changelog/commitlint/issues/3546)) ([9f37c11](https://github.com/conventional-changelog/commitlint/commit/9f37c119ffb3d93d9cd3c473c4da8f23731be4d5))


### Features

* **GitHubCI:** add ([#3549](https://github.com/conventional-changelog/commitlint/issues/3549)) ([d973611](https://github.com/conventional-changelog/commitlint/commit/d9736110ac2558ca22719093cb0282899a2c1254))
* support typescript 5.0 ([#3566](https://github.com/conventional-changelog/commitlint/issues/3566)) ([c0a27ff](https://github.com/conventional-changelog/commitlint/commit/c0a27ffa3dcaef296ef58ce37bd8ca0a9d315d6e))





## [17.4.4](https://github.com/conventional-changelog/commitlint/compare/v17.4.3...v17.4.4) (2023-02-17)


### Bug Fixes

* **parse:** allow setting fieldPattern in parserOpts ([#3538](https://github.com/conventional-changelog/commitlint/issues/3538)) ([ea23c65](https://github.com/conventional-changelog/commitlint/commit/ea23c65702d619b92e338e9f589a147d62e48ffc))





## [17.4.3](https://github.com/conventional-changelog/commitlint/compare/v17.4.2...v17.4.3) (2023-02-13)


### Bug Fixes

* subject-full-stop rule bugfix ([#3531](https://github.com/conventional-changelog/commitlint/issues/3531)) ([5d3d529](https://github.com/conventional-changelog/commitlint/commit/5d3d529a6a57baee1bfdaaf3f0c503dee009e152))
* update dependency minimist to v1.2.8 ([#3532](https://github.com/conventional-changelog/commitlint/issues/3532)) ([1f57f98](https://github.com/conventional-changelog/commitlint/commit/1f57f98dfc5005c6e0f7c2bc3d44e387d26eba57))





## [17.4.2](https://github.com/conventional-changelog/commitlint/compare/v17.4.1...v17.4.2) (2023-01-12)


### Bug Fixes

* **load:** fixes a bug when a ts commitlint config is compiled twice ([#3499](https://github.com/conventional-changelog/commitlint/issues/3499)) ([dc2c899](https://github.com/conventional-changelog/commitlint/commit/dc2c899b5d7e4e7a7be79901b28e46da9f519211))
* update dependency @types/fs-extra to v11 ([#3494](https://github.com/conventional-changelog/commitlint/issues/3494)) ([8f553c7](https://github.com/conventional-changelog/commitlint/commit/8f553c7603e3ee0f435d878e396eec899a213de8))
* update dependency @types/fs-extra to v11.0.1 ([#3496](https://github.com/conventional-changelog/commitlint/issues/3496)) ([f9a013c](https://github.com/conventional-changelog/commitlint/commit/f9a013c89f5644d4917fb3ce94755a2600073ca4))





## [17.4.1](https://github.com/conventional-changelog/commitlint/compare/v17.4.0...v17.4.1) (2023-01-09)

**Note:** Version bump only for package @commitlint/root





# [17.4.0](https://github.com/conventional-changelog/commitlint/compare/v17.3.0...v17.4.0) (2023-01-04)

### Bug Fixes

- stop truncating the body in presence of dashes ([#3476](https://github.com/conventional-changelog/commitlint/issues/3476)) ([02a61be](https://github.com/conventional-changelog/commitlint/commit/02a61befad13a348866fce30b15caa67a8360d9c))
- update dependency ajv to v8.11.2 ([#3440](https://github.com/conventional-changelog/commitlint/issues/3440)) ([7829151](https://github.com/conventional-changelog/commitlint/commit/78291515d5083341946c600edfb9302f3409cdce))
- update dependency ajv to v8.12.0 ([#3482](https://github.com/conventional-changelog/commitlint/issues/3482)) ([0a53d97](https://github.com/conventional-changelog/commitlint/commit/0a53d97005c1a6d49e8b1dc0993633569bbd191c))
- update dependency cosmiconfig to v8 ([#3459](https://github.com/conventional-changelog/commitlint/issues/3459)) ([ee732fe](https://github.com/conventional-changelog/commitlint/commit/ee732fe0ef2057bdae93b7c368392934ac0de3af))
- update dependency cosmiconfig-typescript-loader to v4.3.0 ([#3448](https://github.com/conventional-changelog/commitlint/issues/3448)) ([86b632e](https://github.com/conventional-changelog/commitlint/commit/86b632e74ceffacc980737840ce75e0ccd308e2a))
- update dependency fs-extra to v11 ([#3460](https://github.com/conventional-changelog/commitlint/issues/3460)) ([a437923](https://github.com/conventional-changelog/commitlint/commit/a43792388e0d9707da770b26592c5e31553384a1))
- update dependency semver to v7.3.8 ([#3441](https://github.com/conventional-changelog/commitlint/issues/3441)) ([7599ad6](https://github.com/conventional-changelog/commitlint/commit/7599ad6ab622ecbb6efa9ddba7acc3bbf66db5b5))
- update dependency typescript to v4.9.4 ([#3449](https://github.com/conventional-changelog/commitlint/issues/3449)) ([bf86c7d](https://github.com/conventional-changelog/commitlint/commit/bf86c7dddc34c70d552decc040b30049a002d6a2))
- update dependency yargs to v17.6.2 ([#3450](https://github.com/conventional-changelog/commitlint/issues/3450)) ([8a43a05](https://github.com/conventional-changelog/commitlint/commit/8a43a05080340227cbaf85b00c8dbe64038d476b))

### Features

- support config .cts extension ([#3461](https://github.com/conventional-changelog/commitlint/issues/3461)) ([85ad18b](https://github.com/conventional-changelog/commitlint/commit/85ad18b8990567df516effcacbf04edbcbb6b6d7))

# [17.3.0](https://github.com/conventional-changelog/commitlint/compare/v17.2.1...v17.3.0) (2022-11-21)

### Features

- **config-pnpm-scopes:** implement config-pnpm-scopes ([#3427](https://github.com/conventional-changelog/commitlint/issues/3427)) ([ca3ae8b](https://github.com/conventional-changelog/commitlint/commit/ca3ae8b14271c62910d228a622bec20b1be8ed63))

## [17.2.1](https://github.com/conventional-changelog/commitlint/compare/v17.2.0...v17.2.1) (2022-11-01)

**Note:** Version bump only for package @commitlint/root

# [17.2.0](https://github.com/conventional-changelog/commitlint/compare/v17.1.2...v17.2.0) (2022-10-31)

### Bug Fixes

- update dependency cosmiconfig-typescript-loader to v4.1.0 ([#3386](https://github.com/conventional-changelog/commitlint/issues/3386)) ([9abd75f](https://github.com/conventional-changelog/commitlint/commit/9abd75f83df6e5187b75a63200c5b68100a1cd6e))

### Features

- **cli:** add strict mode ([#3384](https://github.com/conventional-changelog/commitlint/issues/3384)) ([#3385](https://github.com/conventional-changelog/commitlint/issues/3385)) ([fdff2be](https://github.com/conventional-changelog/commitlint/commit/fdff2bee2d688698555de1cab904d0f5038075b1))
- **config-nx-scopes:** add nx version ^15.0.0 as peerDependency ([#3416](https://github.com/conventional-changelog/commitlint/issues/3416)) ([f529a3f](https://github.com/conventional-changelog/commitlint/commit/f529a3f58e03d633bbd3949d397a38d9c993579b))

## [17.1.2](https://github.com/conventional-changelog/commitlint/compare/v17.1.1...v17.1.2) (2022-08-29)

### Bug Fixes

- **load:** add ts-node as direct dependency ([#3351](https://github.com/conventional-changelog/commitlint/issues/3351)) ([3b66891](https://github.com/conventional-changelog/commitlint/commit/3b668911d8f9fd93e0f613842d5c0b7c3f24360a))
- update dependency cosmiconfig-typescript-loader to v4 ([#3346](https://github.com/conventional-changelog/commitlint/issues/3346)) ([5a9d80f](https://github.com/conventional-changelog/commitlint/commit/5a9d80fba352deae1c2855792be4f8458a973431))

## [17.1.1](https://github.com/conventional-changelog/commitlint/compare/v17.1.0...v17.1.1) (2022-08-27)

### Bug Fixes

- **load:** peer-dep version [#3345](https://github.com/conventional-changelog/commitlint/issues/3345) ([2dd7b50](https://github.com/conventional-changelog/commitlint/commit/2dd7b50c983e2720ad25c368e5a0f13b80ab7927))

# [17.1.0](https://github.com/conventional-changelog/commitlint/compare/v17.0.3...v17.1.0) (2022-08-27)

### Bug Fixes

- update dependency cosmiconfig-typescript-loader to v3 ([#3253](https://github.com/conventional-changelog/commitlint/issues/3253)) ([4e87d14](https://github.com/conventional-changelog/commitlint/commit/4e87d1431df6d39990e5f56a579604b1b3268ce6))
- update dependency cosmiconfig-typescript-loader to v3.1.1 ([#3282](https://github.com/conventional-changelog/commitlint/issues/3282)) ([550ab3d](https://github.com/conventional-changelog/commitlint/commit/550ab3d9a311378c2d4860778e9ff5c6cf239cad))
- update dependency cosmiconfig-typescript-loader to v3.1.2 ([#3343](https://github.com/conventional-changelog/commitlint/issues/3343)) ([4213e9c](https://github.com/conventional-changelog/commitlint/commit/4213e9c4ed87dfb1997d03bbf22f4f2cd6fc4e2f))

### Features

- **commitlint:** add additional git log args ([#3334](https://github.com/conventional-changelog/commitlint/issues/3334)) ([229c65b](https://github.com/conventional-changelog/commitlint/commit/229c65b60f15c15da5f5b11deb555d1f557c673a))

## [17.0.3](https://github.com/conventional-changelog/commitlint/compare/v17.0.2...v17.0.3) (2022-06-25)

### Bug Fixes

- update dependency cosmiconfig-typescript-loader to v2.0.2 ([#3250](https://github.com/conventional-changelog/commitlint/issues/3250)) ([dfe69b0](https://github.com/conventional-changelog/commitlint/commit/dfe69b0bfa0da2c6201630f043b97983b0111d14))

## [17.0.2](https://github.com/conventional-changelog/commitlint/compare/v17.0.1...v17.0.2) (2022-06-01)

### Bug Fixes

- update dependency conventional-changelog-conventionalcommits to v5 ([#3201](https://github.com/conventional-changelog/commitlint/issues/3201)) ([c20fd19](https://github.com/conventional-changelog/commitlint/commit/c20fd1952ed02df987165d96e4cef650c7fbaa4b))
- update dependency cosmiconfig-typescript-loader to v2.0.1 ([#3202](https://github.com/conventional-changelog/commitlint/issues/3202)) ([9cf4b71](https://github.com/conventional-changelog/commitlint/commit/9cf4b71fc8785165c189de91d46eb5e2667bd1d4))

## [17.0.1](https://github.com/conventional-changelog/commitlint/compare/v17.0.0...v17.0.1) (2022-05-25)

### Bug Fixes

- **cli:** use `core.commentChar` from git config with `--edit` flag ([#3191](https://github.com/conventional-changelog/commitlint/issues/3191)) ([e5fee05](https://github.com/conventional-changelog/commitlint/commit/e5fee05301ab7441b6091e4ee6fc095d26bbd589)), closes [#3190](https://github.com/conventional-changelog/commitlint/issues/3190) [#3190](https://github.com/conventional-changelog/commitlint/issues/3190) [#3190](https://github.com/conventional-changelog/commitlint/issues/3190)

# [17.0.0](https://github.com/conventional-changelog/commitlint/compare/v16.3.0...v17.0.0) (2022-05-16)

### Bug Fixes

- update dependency yargs to v17.5.1 ([#3183](https://github.com/conventional-changelog/commitlint/issues/3183)) ([8db72f0](https://github.com/conventional-changelog/commitlint/commit/8db72f09e5e4e6a82e43246322cbd42d82d10bb6))

- chore!: minimum node version v14 (#3128) ([ac5f9b4](https://github.com/conventional-changelog/commitlint/commit/ac5f9b47a9e3cd5c9d58b14da0feb426f06b1ef9)), closes [#3128](https://github.com/conventional-changelog/commitlint/issues/3128)

### BREAKING CHANGES

- drop node v12 support

- chore: rename circleci windows job

node version is not defned by the name anyways (i think)

# [16.3.0](https://github.com/conventional-changelog/commitlint/compare/v16.2.4...v16.3.0) (2022-05-14)

### Bug Fixes

- update dependency cosmiconfig-typescript-loader to v2 ([#3154](https://github.com/conventional-changelog/commitlint/issues/3154)) ([20122e8](https://github.com/conventional-changelog/commitlint/commit/20122e8d6e999b74eab3bab08a6d52cda3f13e37))
- update dependency yargs to v17.5.0 ([#3171](https://github.com/conventional-changelog/commitlint/issues/3171)) ([0e6542b](https://github.com/conventional-changelog/commitlint/commit/0e6542bd0a0d193d0080809fc23031ad83b8e2d9))

### Features

- add ability to filter Nx projects in @commitlint/config-nx-scopes ([#3155](https://github.com/conventional-changelog/commitlint/issues/3155)) ([e595693](https://github.com/conventional-changelog/commitlint/commit/e595693eb9be51a874cff01580b883982083ba0e)), closes [#3152](https://github.com/conventional-changelog/commitlint/issues/3152)

## [16.2.4](https://github.com/conventional-changelog/commitlint/compare/v16.2.3...v16.2.4) (2022-04-28)

### Bug Fixes

- **rules:** footer-leading-blank should work with body comments ([#3139](https://github.com/conventional-changelog/commitlint/issues/3139)) ([7dd88c9](https://github.com/conventional-changelog/commitlint/commit/7dd88c913cba9f444acc587c77210cb718c928c9))
- update dependency cosmiconfig to v7.0.1 ([#3138](https://github.com/conventional-changelog/commitlint/issues/3138)) ([407837d](https://github.com/conventional-changelog/commitlint/commit/407837df9e5cfe3af06158a4684f95ff590000cb))
- update dependency cosmiconfig-typescript-loader to v1.0.7 ([#3102](https://github.com/conventional-changelog/commitlint/issues/3102)) ([d0f2b3f](https://github.com/conventional-changelog/commitlint/commit/d0f2b3fe0f4b3bd2658efdde6d728bdacbc79557))
- update dependency cosmiconfig-typescript-loader to v1.0.9 ([#3106](https://github.com/conventional-changelog/commitlint/issues/3106)) ([d91e70d](https://github.com/conventional-changelog/commitlint/commit/d91e70db61554e906851c66de1b4cb867eccb916))
- update dependency fs-extra to v10.1.0 ([#3124](https://github.com/conventional-changelog/commitlint/issues/3124)) ([482613f](https://github.com/conventional-changelog/commitlint/commit/482613f4bf0de1d81a5ecda4ea9965165cd78120))
- update dependency semver to v7.3.6 ([#3112](https://github.com/conventional-changelog/commitlint/issues/3112)) ([ad886fd](https://github.com/conventional-changelog/commitlint/commit/ad886fd7ea46bc2df346099f9d4f10defd51fe75))
- update dependency semver to v7.3.7 ([#3119](https://github.com/conventional-changelog/commitlint/issues/3119)) ([c9c49b2](https://github.com/conventional-changelog/commitlint/commit/c9c49b2de935528d84a817de750cd65b8f765c48))
- update dependency yargs to v17.4.0 ([#3080](https://github.com/conventional-changelog/commitlint/issues/3080)) ([1477d7c](https://github.com/conventional-changelog/commitlint/commit/1477d7c0de15000f0881329f177476082fee2067))
- update dependency yargs to v17.4.1 ([#3116](https://github.com/conventional-changelog/commitlint/issues/3116)) ([69bf135](https://github.com/conventional-changelog/commitlint/commit/69bf135d69abb0e871ae7d1b6c76a5f343899edc))

## [16.2.3](https://github.com/conventional-changelog/commitlint/compare/v16.2.2...v16.2.3) (2022-03-16)

### Bug Fixes

- update dependency @types/fs-extra to v9.0.13 ([#3054](https://github.com/conventional-changelog/commitlint/issues/3054)) ([4c7dd7c](https://github.com/conventional-changelog/commitlint/commit/4c7dd7c32f89f3187f9f655c8170d35b6be8f90a))
- update dependency cosmiconfig-typescript-loader to v1.0.6 ([#3059](https://github.com/conventional-changelog/commitlint/issues/3059)) ([256e194](https://github.com/conventional-changelog/commitlint/commit/256e194cbe8ed773ed9d966fa06f9531a6bc4d37))
- update dependency fs-extra to v10.0.1 ([#3041](https://github.com/conventional-changelog/commitlint/issues/3041)) ([1236c83](https://github.com/conventional-changelog/commitlint/commit/1236c8388bb9b684cdfe41577b90cc5eaa852a47))
- update dependency git-raw-commits to v2.0.11 ([#3055](https://github.com/conventional-changelog/commitlint/issues/3055)) ([d5089f1](https://github.com/conventional-changelog/commitlint/commit/d5089f1ce211592bc9315c03ad79183f142b7f1b))

## [16.2.2](https://github.com/conventional-changelog/commitlint/compare/v16.2.1...v16.2.2) (2022-02-14)

**Note:** Version bump only for package @commitlint/root

## [16.2.1](https://github.com/conventional-changelog/commitlint/compare/v16.2.0...v16.2.1) (2022-02-13)

### Bug Fixes

- update dependency cosmiconfig-typescript-loader to v1.0.5 ([#3020](https://github.com/conventional-changelog/commitlint/issues/3020)) ([2d431a6](https://github.com/conventional-changelog/commitlint/commit/2d431a60942fd615b4cce8f18a237c3fb6712223))
- update dependency jest-environment-node to v27.5.0 ([#3012](https://github.com/conventional-changelog/commitlint/issues/3012)) ([a546128](https://github.com/conventional-changelog/commitlint/commit/a5461289cff8a7927bab9153af681afa7a039977))
- update dependency jest-environment-node to v27.5.1 ([#3018](https://github.com/conventional-changelog/commitlint/issues/3018)) ([0cbf652](https://github.com/conventional-changelog/commitlint/commit/0cbf65269c1ca70b7a27c8bdee7e397ac6dba9b7))
- update dependency read-pkg to v7.1.0 ([#3015](https://github.com/conventional-changelog/commitlint/issues/3015)) ([3b7b680](https://github.com/conventional-changelog/commitlint/commit/3b7b680ce4f5341d8816f3db036170b0cb28d33f))
- **load:** satisfy @types/node peer dependency for cosmiconfig-loader-typescript ([#3008](https://github.com/conventional-changelog/commitlint/issues/3008)) ([338180c](https://github.com/conventional-changelog/commitlint/commit/338180c7174625cddd7a0ea2b9d2786fee375756)), closes [#3007](https://github.com/conventional-changelog/commitlint/issues/3007)

# [16.2.0](https://github.com/conventional-changelog/commitlint/compare/v16.1.0...v16.2.0) (2022-01-25)

### Bug Fixes

- update dependency cosmiconfig-typescript-loader to v1.0.4 ([#2991](https://github.com/conventional-changelog/commitlint/issues/2991)) ([043a059](https://github.com/conventional-changelog/commitlint/commit/043a05922fb8139b57c78eb5034b77823b2139ba))

### Features

- add support for Nx monorepos via @commitlint/config-nx-scopes ([#2995](https://github.com/conventional-changelog/commitlint/issues/2995)) ([11879ad](https://github.com/conventional-changelog/commitlint/commit/11879adacbef3c939311b1ff597a7b894fcca0dc))

# [16.1.0](https://github.com/conventional-changelog/commitlint/compare/v16.0.3...v16.1.0) (2022-01-20)

### Features

- **load:** accept functions as parser presets ([#2982](https://github.com/conventional-changelog/commitlint/issues/2982)) ([420e8d6](https://github.com/conventional-changelog/commitlint/commit/420e8d6a4d5663ade953272275a9e0fa7c5ddff0)), closes [#2964](https://github.com/conventional-changelog/commitlint/issues/2964) [#2964](https://github.com/conventional-changelog/commitlint/issues/2964)

## [16.0.3](https://github.com/conventional-changelog/commitlint/compare/v16.0.2...v16.0.3) (2022-01-19)

### Bug Fixes

- commit body should be empty by default ([#2980](https://github.com/conventional-changelog/commitlint/issues/2980)) ([e6582e0](https://github.com/conventional-changelog/commitlint/commit/e6582e03608621e46f617a097b4880750ae85021))

## [16.0.2](https://github.com/conventional-changelog/commitlint/compare/v16.0.1...v16.0.2) (2022-01-09)

### Bug Fixes

- update dependency conventional-changelog-conventionalcommits to v4.6.3 ([#2938](https://github.com/conventional-changelog/commitlint/issues/2938)) ([0231f4b](https://github.com/conventional-changelog/commitlint/commit/0231f4bd74d9c5a691ba3e25e92947127359528c))
- update dependency conventional-commits-parser to v3.2.4 ([#2939](https://github.com/conventional-changelog/commitlint/issues/2939)) ([a484a9a](https://github.com/conventional-changelog/commitlint/commit/a484a9a65259861114deb2b37ee0b30d0058be2a))
- update dependency cosmiconfig-typescript-loader to v1.0.3 ([#2956](https://github.com/conventional-changelog/commitlint/issues/2956)) ([cc6e6cd](https://github.com/conventional-changelog/commitlint/commit/cc6e6cdd53a4b609c8e0514a2035ce4f4a46a317))
- update dependency jest-environment-node to v27.4.6 ([#2957](https://github.com/conventional-changelog/commitlint/issues/2957)) ([62a0867](https://github.com/conventional-changelog/commitlint/commit/62a0867ddbc771bf92395ccfd0d1f75ff9ea24ec))

## [16.0.1](https://github.com/conventional-changelog/commitlint/compare/v16.0.0...v16.0.1) (2021-12-28)

### Bug Fixes

- update dependency @types/tmp to v0.2.3 ([#2928](https://github.com/conventional-changelog/commitlint/issues/2928)) ([8eeb1f4](https://github.com/conventional-changelog/commitlint/commit/8eeb1f436a91550295f5bc671e0d75fef7eedbd7))
- update dependency conventional-changelog-conventionalcommits to v4.6.2 ([#2934](https://github.com/conventional-changelog/commitlint/issues/2934)) ([a239b9e](https://github.com/conventional-changelog/commitlint/commit/a239b9e7c4078d335182c9568e348680ca5fc569))
- update dependency cosmiconfig-typescript-loader to v1.0.2 ([#2929](https://github.com/conventional-changelog/commitlint/issues/2929)) ([04cc88c](https://github.com/conventional-changelog/commitlint/commit/04cc88c0d985b5f03a2d1bdc7a1a94f4ef5c7019))
- update dependency yargs to v17.3.1 ([#2935](https://github.com/conventional-changelog/commitlint/issues/2935)) ([8e099af](https://github.com/conventional-changelog/commitlint/commit/8e099afd794c8fc44c64b4cb817f197d2e80b12e))

# [16.0.0](https://github.com/conventional-changelog/commitlint/compare/v15.0.0...v16.0.0) (2021-12-26)

### Bug Fixes

- **is-ignored:** ignore merge tag commit messages ([#2920](https://github.com/conventional-changelog/commitlint/issues/2920)) ([914782a](https://github.com/conventional-changelog/commitlint/commit/914782aad70d353baf4d9fbbf9824c0211241484))
- update dependency @types/tmp to v0.2.2 ([#2903](https://github.com/conventional-changelog/commitlint/issues/2903)) ([d2f146c](https://github.com/conventional-changelog/commitlint/commit/d2f146c6d8bcafa96d13341433aebaa2712a2feb))
- update dependency conventional-commits-parser to v3.2.3 ([#2904](https://github.com/conventional-changelog/commitlint/issues/2904)) ([3a98d3c](https://github.com/conventional-changelog/commitlint/commit/3a98d3c49eae1001ed25bcadaa209f8a4cb32e91))
- **cz-commitlint:** combine commit body with issuesBody/breakingBody when body has an empty string ([#2915](https://github.com/conventional-changelog/commitlint/issues/2915)) ([a038b41](https://github.com/conventional-changelog/commitlint/commit/a038b419f7f1d2073977ec1e6fe59ffcbba38931))
- **docs:** minor changes to guides ([#2913](https://github.com/conventional-changelog/commitlint/issues/2913)) ([499efd1](https://github.com/conventional-changelog/commitlint/commit/499efd17927ca26e9dcdae58e4cc0772b45bbea8))
- update dependency conventional-changelog-conventionalcommits to v4.6.1 ([#2906](https://github.com/conventional-changelog/commitlint/issues/2906)) ([1d1ccfa](https://github.com/conventional-changelog/commitlint/commit/1d1ccfab358b7dbd6448f8d74d0ae39eaddb3189))
- update dependency cosmiconfig to v7.0.1 ([#2905](https://github.com/conventional-changelog/commitlint/issues/2905)) ([2c33c98](https://github.com/conventional-changelog/commitlint/commit/2c33c98693627888f2246b34e00941417c6ef932))
- update dependency jest-environment-node to v27.4.2 ([#2907](https://github.com/conventional-changelog/commitlint/issues/2907)) ([c3b29ba](https://github.com/conventional-changelog/commitlint/commit/c3b29ba15a13fa3f2510a8bb153a1f90ee8ee583))
- update dependency yargs to v17.3.0 ([#2908](https://github.com/conventional-changelog/commitlint/issues/2908)) ([a387494](https://github.com/conventional-changelog/commitlint/commit/a38749443130400b9d289d3d50042271bff44a28))

### Features

- **config-rush-scopes:** add config for rush monorepo ([#2878](https://github.com/conventional-changelog/commitlint/issues/2878)) ([befa677](https://github.com/conventional-changelog/commitlint/commit/befa677c3c2bed38085a62da161366784d971906))
- **cz-commitlint:** support select scope with radio list by setting disableMultipleScopes ([#2911](https://github.com/conventional-changelog/commitlint/issues/2911)) ([9d8d73f](https://github.com/conventional-changelog/commitlint/commit/9d8d73f36e0c62c8cd9e3e913b66a5ca46ebf622)), closes [#2782](https://github.com/conventional-changelog/commitlint/issues/2782)
- config validation ([#2412](https://github.com/conventional-changelog/commitlint/issues/2412)) ([c717202](https://github.com/conventional-changelog/commitlint/commit/c7172022097b11f46b33617e4a94d751243c1049)), closes [#327](https://github.com/conventional-changelog/commitlint/issues/327)

### BREAKING CHANGES

- **cz-commitlint:** users who is using multiple scopes need to set enableMultipleScopes to true

# [15.0.0](https://github.com/conventional-changelog/commitlint/compare/v14.2.0...v15.0.0) (2021-11-17)

### Bug Fixes

- **prompt:** correct import kind in prompt package ([#2852](https://github.com/conventional-changelog/commitlint/issues/2852)) ([45bf394](https://github.com/conventional-changelog/commitlint/commit/45bf394b34cef78011c2e0a1a7d0cc0d2bab41ae))
- **prompt:** correct version of internal dependencies in prompt package [#2697](https://github.com/conventional-changelog/commitlint/issues/2697) ([#2851](https://github.com/conventional-changelog/commitlint/issues/2851)) ([b1155ca](https://github.com/conventional-changelog/commitlint/commit/b1155cae766aba7e93bc42c69c9ea7f47c1c16d4))
- **types:** fix signature of QualifiedRuleConfig for async configurations ([#2868](https://github.com/conventional-changelog/commitlint/issues/2868)) ([#2869](https://github.com/conventional-changelog/commitlint/issues/2869)) ([c7f355b](https://github.com/conventional-changelog/commitlint/commit/c7f355b25e5baddab0b9559892f5ce4112e4f93a))

### Features

- simplify config resolution ([#2398](https://github.com/conventional-changelog/commitlint/issues/2398)) ([8a8384f](https://github.com/conventional-changelog/commitlint/commit/8a8384f3c18954447cb633e76a573e1db71a1440)), closes [#327](https://github.com/conventional-changelog/commitlint/issues/327)

### Tests

- **config-lerna-scopes:** reuse npm bootstrap to simplify tests ([#2479](https://github.com/conventional-changelog/commitlint/issues/2479)) ([9a7a43a](https://github.com/conventional-changelog/commitlint/commit/9a7a43aa8a7eca18f2fe05c78d27dcb1a128930c)), closes [#2447](https://github.com/conventional-changelog/commitlint/issues/2447)

### BREAKING CHANGES

- **config-lerna-scopes:** upgrade to lerna v4

Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: escapedcat <[email protected]>

- test(config-lerna-scopes): reuse npm bootstrap to simplify tests

- test(config-lerna-scopes): reuse npm bootstrap to simplify tests

- test: fix issue after merge

- test: one more fix after merge

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: escapedcat <[email protected]>

## [8.3.6](https://github.com/conventional-changelog/commitlint/compare/v8.3.5...v8.3.6) (2021-11-17)

**Note:** Version bump only for package @commitlint/root

chore: update lodash to 4.17.21
SECURITY: CVE-2021-23337 in package lodash https://nvd.nist.gov/vuln/detail/CVE-2021-23337

# [14.2.0](https://github.com/conventional-changelog/commitlint/compare/v14.1.0...v14.2.0) (2021-11-06)

### Features

- **prompt:** rewrite codebase to use inquirer - UPDATED with current master ([#2697](https://github.com/conventional-changelog/commitlint/issues/2697)) ([5105f43](https://github.com/conventional-changelog/commitlint/commit/5105f43ea8093bce82fe4703c4c14a8210721924))

# [14.1.0](https://github.com/conventional-changelog/commitlint/compare/v14.0.0...v14.1.0) (2021-11-01)

### Features

- extend helpUrl from shareable config ([#2846](https://github.com/conventional-changelog/commitlint/issues/2846)) ([d7e2e2b](https://github.com/conventional-changelog/commitlint/commit/d7e2e2b943be383f99f4000b6b6bed0eab03bfcf))
- **load:** add support for `.commitlintrc.cjs` and `commitlint.config.cjs` files ([#2797](https://github.com/conventional-changelog/commitlint/issues/2797)) ([fabb495](https://github.com/conventional-changelog/commitlint/commit/fabb49509730609276ff9ef6357536c95a1f6bb1))

# [14.0.0](https://github.com/conventional-changelog/commitlint/compare/v13.2.1...v14.0.0) (2021-10-26)

- support multiple scopes and multiple cases & fix sentence-case is not consistent with commitlint/cli (#2806) ([2c71a7e](https://github.com/conventional-changelog/commitlint/commit/2c71a7e2965a2beff805982d37243b79a48c9360)), closes [#2806](https://github.com/conventional-changelog/commitlint/issues/2806) [#2782](https://github.com/conventional-changelog/commitlint/issues/2782)

### BREAKING CHANGES

- add prompt.settings configuration

## [13.2.1](https://github.com/conventional-changelog/commitlint/compare/v13.2.0...v13.2.1) (2021-10-09)

### Bug Fixes

- **load:** added a direct dependency on typescript ([#2785](https://github.com/conventional-changelog/commitlint/issues/2785)) ([9c17f8d](https://github.com/conventional-changelog/commitlint/commit/9c17f8d423404b484f72df41358a18bd90014ecd)), closes [EndemolShineGroup/cosmiconfig-typescript-loader#147](https://github.com/EndemolShineGroup/cosmiconfig-typescript-loader/issues/147) [#2779](https://github.com/conventional-changelog/commitlint/issues/2779)

# [13.2.0](https://github.com/conventional-changelog/commitlint/compare/v13.1.0...v13.2.0) (2021-09-28)

### Bug Fixes

- **parse:** enforce secure version of `conventional-commits-parser` ([#2776](https://github.com/conventional-changelog/commitlint/issues/2776)) ([a351801](https://github.com/conventional-changelog/commitlint/commit/a3518012ae11bc00a43a12b8ce935f3ffd2d04ef))
- update dependency read-pkg to v7 ([#2721](https://github.com/conventional-changelog/commitlint/issues/2721)) ([7d9a3b1](https://github.com/conventional-changelog/commitlint/commit/7d9a3b1f2ab41c598f4d23d96805f86a4d41ae09))
- **types:** prompt messages key ([4825a52](https://github.com/conventional-changelog/commitlint/commit/4825a521e2c74d63a11920b48094fddc79001b3c))
- **types:** prompt messages props optional ([0bd0592](https://github.com/conventional-changelog/commitlint/commit/0bd0592148ab4266fd76816b19d352e2cf947f8c))
- **types:** user config prompt ([6d7a1c4](https://github.com/conventional-changelog/commitlint/commit/6d7a1c40e2f8a8ff22595e0e17f71f3702b0699c))

### Features

- **load:** add cosmiconfig typescript loader ([b65aced](https://github.com/conventional-changelog/commitlint/commit/b65acedc3334a859811762539ec8716de3e73f85))

# [13.1.0](https://github.com/conventional-changelog/commitlint/compare/v13.0.0...v13.1.0) (2021-07-24)

### Bug Fixes

- **cz-commitlint:** fix minor formatting issues ([99d8881](https://github.com/conventional-changelog/commitlint/commit/99d8881d0d951deded6d9e31bbb279d04101549b))
- **types:** adds TargetCaseType[] for CaseRuleConfig ([c3bef38](https://github.com/conventional-changelog/commitlint/commit/c3bef384ff1a3ec428ba7c86bc778c50a9e6eead))
- update dependency import-from to v4 ([#2629](https://github.com/conventional-changelog/commitlint/issues/2629)) ([5bcb604](https://github.com/conventional-changelog/commitlint/commit/5bcb60456cd9d4c8f0f0bae21ca7c3d1c73943ca))
- **cli:** remove hard coded comment char with linting `COMMIT_EDIT_MSG` ([#2618](https://github.com/conventional-changelog/commitlint/issues/2618)) ([5badf6d](https://github.com/conventional-changelog/commitlint/commit/5badf6dc08116ed3557e6c780e55764b4f07ca67)), closes [#2351](https://github.com/conventional-changelog/commitlint/issues/2351)

### Features

- **rules:** allow body-case to accept an array of cases ([5383c9e](https://github.com/conventional-changelog/commitlint/commit/5383c9edcd9a351ea1c33ed49f47afed9b1cde6b)), closes [#2631](https://github.com/conventional-changelog/commitlint/issues/2631)

# [13.0.0](https://github.com/conventional-changelog/commitlint/compare/v12.1.4...v13.0.0) (2021-05-24)

### Bug Fixes

- update dependency chalk to v4.1.1 ([#2608](https://github.com/conventional-changelog/commitlint/issues/2608)) ([f41b123](https://github.com/conventional-changelog/commitlint/commit/f41b1237c7f7b2ff23b87643939569276d77b304))
- update dependency yargs to v17.0.1 ([#2609](https://github.com/conventional-changelog/commitlint/issues/2609)) ([afbfd10](https://github.com/conventional-changelog/commitlint/commit/afbfd10592579c544d8e2c313f2c2baef68990f8))

### Features

- add subject-exclamation-mark rule to improve error messages ([#2593](https://github.com/conventional-changelog/commitlint/issues/2593)) ([be701bd](https://github.com/conventional-changelog/commitlint/commit/be701bdb1de4e667b7a872767244285c4fa4fda4))
- **rules:** add `trailer-exists` rule ([#2578](https://github.com/conventional-changelog/commitlint/issues/2578)) ([cd3816d](https://github.com/conventional-changelog/commitlint/commit/cd3816d553762eae99e088689395c55afce0c6cc))

- chore!: remove node 10 support (#2596) ([4db4ba1](https://github.com/conventional-changelog/commitlint/commit/4db4ba1b0b312410a0f62100a93a80c246a6c410)), closes [#2596](https://github.com/conventional-changelog/commitlint/issues/2596)

### BREAKING CHANGES

- minimum node version is 12

## [12.1.3](https://github.com/conventional-changelog/commitlint/compare/v12.1.2...v12.1.3) (2021-05-12)

### Bug Fixes

- update dependency fs-extra to v10 ([#2575](https://github.com/conventional-changelog/commitlint/issues/2575)) ([d47d2b5](https://github.com/conventional-changelog/commitlint/commit/d47d2b595b980adadd4fb8ff198c1914caeff18f))
- update dependency yargs to v17 ([#2574](https://github.com/conventional-changelog/commitlint/issues/2574)) ([81c38dd](https://github.com/conventional-changelog/commitlint/commit/81c38ddf15f239b525f673b26b2ee6606f2ee8f6))

## [12.1.2](https://github.com/conventional-changelog/commitlint/compare/v12.1.1...v12.1.2) (2021-04-29)

### Bug Fixes

- **rules:** fix subject-full-stop rule config value type ([#2534](https://github.com/conventional-changelog/commitlint/issues/2534)) ([2ab3c57](https://github.com/conventional-changelog/commitlint/commit/2ab3c57b709ddad3fc98d768309ac4fdac8cb68a))
- **types:** update chalk import ([#2535](https://github.com/conventional-changelog/commitlint/issues/2535)) ([89f9a6d](https://github.com/conventional-changelog/commitlint/commit/89f9a6d759f7296438e184a93c1f766aba1443ca))

## [12.1.1](https://github.com/conventional-changelog/commitlint/compare/v12.1.0...v12.1.1) (2021-04-02)

### Bug Fixes

- update dependency read-pkg to v6 ([#2530](https://github.com/conventional-changelog/commitlint/issues/2530)) ([d38a2ad](https://github.com/conventional-changelog/commitlint/commit/d38a2adc07f4cd6dad48aadbb73f2f1d3740e689))
- **config-lerna-scopes:** ignore packages without names ([#2514](https://github.com/conventional-changelog/commitlint/issues/2514)) ([df3bf71](https://github.com/conventional-changelog/commitlint/commit/df3bf71ab36a085ef35a1491025c0d2e2b92ff77))
- update dependency semver to v7.3.5 ([#2519](https://github.com/conventional-changelog/commitlint/issues/2519)) ([5113f22](https://github.com/conventional-changelog/commitlint/commit/5113f22c620e7b187fd558e5befa541b448ea18b))
- **prompt:** modify the entry point to pass commitizen's function check ([#2501](https://github.com/conventional-changelog/commitlint/issues/2501)) ([0173fb7](https://github.com/conventional-changelog/commitlint/commit/0173fb7cc01dc8442ed88a0ab8feec20c955deee)), closes [/github.com/conventional-changelog/commitlint/issues/2486#issuecomment-791682272](https://github.com//github.com/conventional-changelog/commitlint/issues/2486/issues/issuecomment-791682272) [/github.com/conventional-changelog/commitlint/issues/2486#issuecomment-791682272](https://github.com//github.com/conventional-changelog/commitlint/issues/2486/issues/issuecomment-791682272)

# [12.1.0](https://github.com/conventional-changelog/commitlint/compare/v12.0.1...v12.1.0) (2021-03-06)

### Features

- **config-lerna-scopes:** keep supporting lerna v3 ([51b0f4a](https://github.com/conventional-changelog/commitlint/commit/51b0f4a56f111c61419247755b1404b4e20d3a09))

## [12.0.1](https://github.com/conventional-changelog/commitlint/compare/v12.0.0...v12.0.1) (2021-02-23)

### Bug Fixes

- update dependency conventional-commits-parser to v3.2.1 ([#2459](https://github.com/conventional-changelog/commitlint/issues/2459)) ([8bcc4f0](https://github.com/conventional-changelog/commitlint/commit/8bcc4f0b5ff8e0e2ae8ce960ccd1a4021c8e6cbb))
- **load:** use `Rule | AsyncRule | SyncRule` as rule value type in `Plugin` ([#2146](https://github.com/conventional-changelog/commitlint/issues/2146)) ([75b67b8](https://github.com/conventional-changelog/commitlint/commit/75b67b8fb7fc4df21267b98f0c9daeeb1130b824))
- **types:** correct chalkColor type ([#2420](https://github.com/conventional-changelog/commitlint/issues/2420)) ([ef8bdad](https://github.com/conventional-changelog/commitlint/commit/ef8bdad96c9ee7c3ad67f8280818c7f49c1df1fe))
- update dependency throat to v6 ([#2417](https://github.com/conventional-changelog/commitlint/issues/2417)) ([6f7db1b](https://github.com/conventional-changelog/commitlint/commit/6f7db1b39c48561b84a4fce9623fb045c5467fe8))

# [12.0.0](https://github.com/conventional-changelog/commitlint/compare/v11.0.0...v12.0.0) (2021-01-18)

### Bug Fixes

- remove unnecessary react babel transforms ([#2399](https://github.com/conventional-changelog/commitlint/issues/2399)) ([78f02fd](https://github.com/conventional-changelog/commitlint/commit/78f02fdb69c811b5ac38a7d018502aeeb785be04))
- **utils:** update code to allow it to be executed ([#982](https://github.com/conventional-changelog/commitlint/issues/982)) ([52696d0](https://github.com/conventional-changelog/commitlint/commit/52696d048317944aa0d638b8702df78f8756d44b))
- update dependency @types/fs-extra to v9.0.2 ([#2250](https://github.com/conventional-changelog/commitlint/issues/2250)) ([a10fa0b](https://github.com/conventional-changelog/commitlint/commit/a10fa0b580bdb09fd713beac78721cc5d579c67c))
- update dependency @types/fs-extra to v9.0.5 ([#2360](https://github.com/conventional-changelog/commitlint/issues/2360)) ([3266712](https://github.com/conventional-changelog/commitlint/commit/3266712039e7ad6a13ed2d3097c28902b73cb701))
- update dependency conventional-changelog-angular to v5.0.12 ([#2361](https://github.com/conventional-changelog/commitlint/issues/2361)) ([5766b39](https://github.com/conventional-changelog/commitlint/commit/5766b39b4ffb22452259827f131a2e7871637205))
- update dependency conventional-changelog-conventionalcommits to v4.4.0 ([#2115](https://github.com/conventional-changelog/commitlint/issues/2115)) ([bccc9f5](https://github.com/conventional-changelog/commitlint/commit/bccc9f53df26b98bf51e4183d54ca66c45a51857))
- update dependency conventional-changelog-conventionalcommits to v4.5.0 ([#2362](https://github.com/conventional-changelog/commitlint/issues/2362)) ([01c78bf](https://github.com/conventional-changelog/commitlint/commit/01c78bff6451befbc52294047c665326bc4eb9b9))
- update dependency execa to v4.1.0 ([#2251](https://github.com/conventional-changelog/commitlint/issues/2251)) ([b5743dd](https://github.com/conventional-changelog/commitlint/commit/b5743dd1e49bbe7eac03f34bc38c59df5fbaf2a0))
- update dependency execa to v5 ([#2341](https://github.com/conventional-changelog/commitlint/issues/2341)) ([f349df9](https://github.com/conventional-changelog/commitlint/commit/f349df90f08096a9bcad46b5e55b411aac327a24))
- update dependency git-raw-commits to v2.0.7 ([#2116](https://github.com/conventional-changelog/commitlint/issues/2116)) ([ef969f3](https://github.com/conventional-changelog/commitlint/commit/ef969f375df170d6bdaadad205333352e01bb24d))
- update dependency git-raw-commits to v2.0.8 ([#2364](https://github.com/conventional-changelog/commitlint/issues/2364)) ([3371715](https://github.com/conventional-changelog/commitlint/commit/3371715871d0381190635bd392780b16dd55e0c7))
- update dependency meow to v8 ([#2245](https://github.com/conventional-changelog/commitlint/issues/2245)) ([890961b](https://github.com/conventional-changelog/commitlint/commit/890961b52b1552c1bb2798db02915e28686983f0))
- update dependency meow to v8.1.0 ([#2380](https://github.com/conventional-changelog/commitlint/issues/2380)) ([0fbadcf](https://github.com/conventional-changelog/commitlint/commit/0fbadcf1d45c2e97f1da9938b3b80c0b45eba18c))
- update dependency pkg-dir to v5 ([#2168](https://github.com/conventional-changelog/commitlint/issues/2168)) ([b9d1c84](https://github.com/conventional-changelog/commitlint/commit/b9d1c8462950303a7695f248849dd9f6a58b5a9a))
- update dependency semver to v7.3.4 ([#2336](https://github.com/conventional-changelog/commitlint/issues/2336)) ([790b61a](https://github.com/conventional-changelog/commitlint/commit/790b61afa668d0eab80bbe49db58d3d5d29bb16e))
- update dependency tar-fs to v2.1.1 ([#2261](https://github.com/conventional-changelog/commitlint/issues/2261)) ([a04f24f](https://github.com/conventional-changelog/commitlint/commit/a04f24f00873209d6d96cd894450d17fdfe9ca58))
- **is-ignored:** ignore azure devops messages ([#2230](https://github.com/conventional-changelog/commitlint/issues/2230)) ([fe29ce7](https://github.com/conventional-changelog/commitlint/commit/fe29ce76bd87d5b42048228fbf0f47cc8d5411ec))
- update dependency yargs to v16 ([204f36d](https://github.com/conventional-changelog/commitlint/commit/204f36d0a522afaf3a88739b401aea15ffa0b891))
- update dependency yargs to v16.1.0 ([#2252](https://github.com/conventional-changelog/commitlint/issues/2252)) ([6478d07](https://github.com/conventional-changelog/commitlint/commit/6478d07afe0fe1736cf1aef1618c7d90d60d9117))
- **resolve-extends:** `extends` field should be resolved from left to right ([#2070](https://github.com/conventional-changelog/commitlint/issues/2070)) ([c0a86f5](https://github.com/conventional-changelog/commitlint/commit/c0a86f5b5ed6ef071acef4baf38e7fc549fbec37))

### Features

- **cli:** implement print-config cli flag ([#2391](https://github.com/conventional-changelog/commitlint/issues/2391)) ([8626883](https://github.com/conventional-changelog/commitlint/commit/86268833946dea9dcf1c15459456cd4427d17835))
- **config-lerna-scopes:** support yarn workspaces ([#2149](https://github.com/conventional-changelog/commitlint/issues/2149)) ([b244246](https://github.com/conventional-changelog/commitlint/commit/b2442469afe3b11c20b0101be7656ced43fab366))
- **load:** allow specifying helpUrl via config ([#2180](https://github.com/conventional-changelog/commitlint/issues/2180)) ([d6795a3](https://github.com/conventional-changelog/commitlint/commit/d6795a3c4633ba6efd7a0fcff48339dc291cd832))
- **rules:** add body-full-stop rule ([#2144](https://github.com/conventional-changelog/commitlint/issues/2144)) ([7767ca2](https://github.com/conventional-changelog/commitlint/commit/7767ca2591d10207c4abe7f3e5e6de503ac12a25))

### BREAKING CHANGES

- **resolve-extends:** The order of the `extends` resolution is changed from right-to-left to left-to-right

# [11.0.0](https://github.com/conventional-changelog/commitlint/compare/v10.0.0...v11.0.0) (2020-09-05)

### Bug Fixes

- **cli:** remove default value from edit option [#2065](https://github.com/conventional-changelog/commitlint/issues/2065) ([3d4116d](https://github.com/conventional-changelog/commitlint/commit/3d4116d044a2f5149a9c9c1d9fa35abf5e232479))
- **rules:** ignore comments in `signed-off-by` ([#2098](https://github.com/conventional-changelog/commitlint/issues/2098)) ([b610bcd](https://github.com/conventional-changelog/commitlint/commit/b610bcd15215cc5f14fb6de07914ed595cc3047b))
- update dependency @types/fs-extra to ^9.0.1 ([#2088](https://github.com/conventional-changelog/commitlint/issues/2088)) ([cb1028e](https://github.com/conventional-changelog/commitlint/commit/cb1028ef2700d86991c69a1e2ad391bc1bdc9d90))

- refactor!: drop support for lerna v2 ([59667b3](https://github.com/conventional-changelog/commitlint/commit/59667b376118323b1312d3d1084b9178918f3d23))

### BREAKING CHANGES

- remove lerna v2 support and tests

# [10.0.0](https://github.com/conventional-changelog/commitlint/compare/v9.1.2...v10.0.0) (2020-08-16)

### Bug Fixes

- update dependency ([#1993](https://github.com/conventional-changelog/commitlint/issues/1993)) ([32667e8](https://github.com/conventional-changelog/commitlint/commit/32667e8aa665cf94fe669ba048ad7abaf6abac6e))
- update dependency cosmiconfig to v7 ([#2044](https://github.com/conventional-changelog/commitlint/issues/2044)) ([f4db933](https://github.com/conventional-changelog/commitlint/commit/f4db93324698ea39528be0d2692151546c2b5517))
- update dependency execa to v4 ([#1936](https://github.com/conventional-changelog/commitlint/issues/1936)) ([8efb441](https://github.com/conventional-changelog/commitlint/commit/8efb44193058d286f7325327a6d33936b273ec91))
- update dependency find-up to v5 ([#2060](https://github.com/conventional-changelog/commitlint/issues/2060)) ([25d42f4](https://github.com/conventional-changelog/commitlint/commit/25d42f4179396bdfbfc622a401d8ca8877102286))
- update dependency fs-extra to v9 ([#1018](https://github.com/conventional-changelog/commitlint/issues/1018)) ([2df49fa](https://github.com/conventional-changelog/commitlint/commit/2df49fac907993ae78199a1012e918b0e2ff5621))
- update dependency get-stdin to v8 ([#1938](https://github.com/conventional-changelog/commitlint/issues/1938)) ([f94a5c8](https://github.com/conventional-changelog/commitlint/commit/f94a5c82861523aa1cf407ffe062f99ecbbfb4e4))

- refactor!: drop support for node 8 (#1999) ([751f39f](https://github.com/conventional-changelog/commitlint/commit/751f39f284ef232574a176c3c11b1982ee544166)), closes [#1999](https://github.com/conventional-changelog/commitlint/issues/1999)

### BREAKING CHANGES

- remove node 8 from circle-ci checks

also remove node 13 because we do not support experimental versions

- docs: update node v10 to latest LTS 10 version

Co-authored-by: Cedric van Putten <[email protected]>

Co-authored-by: Cedric van Putten <[email protected]>

## [9.1.2](https://github.com/conventional-changelog/commitlint/compare/v9.1.1...v9.1.2) (2020-07-13)

**Note:** Version bump only for package @commitlint/root

## [9.1.1](https://github.com/conventional-changelog/commitlint/compare/v9.1.0...v9.1.1) (2020-06-30)

### Bug Fixes

- **load:** resolve plugins from extended configs ([#1976](https://github.com/conventional-changelog/commitlint/issues/1976)) ([d0f0eb9](https://github.com/conventional-changelog/commitlint/commit/d0f0eb9fde7efc2dff7a3aad190ded14303d3079))
- mark internal packages as private [#972](https://github.com/conventional-changelog/commitlint/issues/972) ([#1970](https://github.com/conventional-changelog/commitlint/issues/1970)) ([2351124](https://github.com/conventional-changelog/commitlint/commit/23511248b2b4020ee87d04a838c7ce31e094c128))

# [9.1.0](https://github.com/conventional-changelog/commitlint/compare/v9.0.1...v9.1.0) (2020-06-21)

### Bug Fixes

- update dependency chalk to v4 ([#1275](https://github.com/conventional-changelog/commitlint/issues/1275)) ([a5d8fa1](https://github.com/conventional-changelog/commitlint/commit/a5d8fa118e8221361f14f5fd2b21d7aaad008a27))
- update dependency conventional-changelog-conventionalcommits to v4.3.0 ([#1816](https://github.com/conventional-changelog/commitlint/issues/1816)) ([f99aeda](https://github.com/conventional-changelog/commitlint/commit/f99aeda068aabdb250e2c9819da7229a695154b9))
- update dependency regenerator-runtime to v0.13.5 ([#1017](https://github.com/conventional-changelog/commitlint/issues/1017)) ([9c4fdf1](https://github.com/conventional-changelog/commitlint/commit/9c4fdf1b5f42677422532dad655af9aed9b43881))
- update dependency semver to v7.3.2 ([#1369](https://github.com/conventional-changelog/commitlint/issues/1369)) ([3c09722](https://github.com/conventional-changelog/commitlint/commit/3c09722d2db85a94cd1f4bf25c6b4251b2c41bbb))
- update dependency tar-fs to v2.1.0 ([#1103](https://github.com/conventional-changelog/commitlint/issues/1103)) ([7882036](https://github.com/conventional-changelog/commitlint/commit/788203689ebf51343ccf2e6eab530e19f4faf122))
- update dependency tmp to v0.2.1 ([#1817](https://github.com/conventional-changelog/commitlint/issues/1817)) ([0ff72f4](https://github.com/conventional-changelog/commitlint/commit/0ff72f41bd48b3dd37f881f6fb11477d8f643735))

### Features

- add local plugins support ([#1692](https://github.com/conventional-changelog/commitlint/issues/1692)) ([7b29c48](https://github.com/conventional-changelog/commitlint/commit/7b29c48321b513e091849fbb2cc2bf0e6ebb94a6))
- enable multiple scopes in scope-enum and scope-case rules ([#901](https://github.com/conventional-changelog/commitlint/issues/901)) ([73632ce](https://github.com/conventional-changelog/commitlint/commit/73632cec299d5c3a980d07037c08633c843a8555))

## [9.0.1](https://github.com/conventional-changelog/commitlint/compare/v9.0.0...v9.0.1) (2020-05-26)

### Bug Fixes

- add missing @babel/runtime dep [#1738](https://github.com/conventional-changelog/commitlint/issues/1738) ([#1754](https://github.com/conventional-changelog/commitlint/issues/1754)) ([09afcd6](https://github.com/conventional-changelog/commitlint/commit/09afcd647a2c1d00538cf1c970e3790d936111f8))

# [9.0.0](https://github.com/conventional-changelog/commitlint/compare/v8.3.5...v9.0.0) (2020-05-21)

### Bug Fixes

- **cli:** add missing regenerator-runtime to dependencies ([#919](https://github.com/conventional-changelog/commitlint/issues/919)) ([ee5eac9](https://github.com/conventional-changelog/commitlint/commit/ee5eac98fa97ba5ba17030c8d2705aee5c7f3a3a))
- [#840](https://github.com/conventional-changelog/commitlint/issues/840) add caret to lodash versions ([#843](https://github.com/conventional-changelog/commitlint/issues/843)) ([ffc0bac](https://github.com/conventional-changelog/commitlint/commit/ffc0bac26993acb2ab6a8fa51065f93c92b0d644))
- drop support for 'improvement' type ([#899](https://github.com/conventional-changelog/commitlint/issues/899)) ([b27ab08](https://github.com/conventional-changelog/commitlint/commit/b27ab08544373cfb72a4808756e2e8126ea96a97))
- **config-lerna-scopes:** correct lerna in peerDependencies ([#980](https://github.com/conventional-changelog/commitlint/issues/980)) ([f88f00d](https://github.com/conventional-changelog/commitlint/commit/f88f00d5d3d0a247b5635b50248bbb942b1ec962))
- ignore empty commit messages [#615](https://github.com/conventional-changelog/commitlint/issues/615) ([#676](https://github.com/conventional-changelog/commitlint/issues/676)) ([c3eb1a7](https://github.com/conventional-changelog/commitlint/commit/c3eb1a76e08213d7ce1f200e35f8d5d6de18982a))
- incorrect use of when in getForcedCaseFn ([#993](https://github.com/conventional-changelog/commitlint/issues/993)) ([34c11b8](https://github.com/conventional-changelog/commitlint/commit/34c11b8f3f233eca51866274a10d35231e8eb3d4))
- update dependency semver to v7.1.3 ([#995](https://github.com/conventional-changelog/commitlint/issues/995)) ([4ee307a](https://github.com/conventional-changelog/commitlint/commit/4ee307a1f8c861ae5d8a038560d166c5d00ea8ba))

### Features

- add async promise based rules methods into lint ([#976](https://github.com/conventional-changelog/commitlint/issues/976)) ([4443062](https://github.com/conventional-changelog/commitlint/commit/444306249b8a3d04524538f61edca8f6cc10d75f))
- add possibility to extend from string ([#865](https://github.com/conventional-changelog/commitlint/issues/865)) ([056c6fe](https://github.com/conventional-changelog/commitlint/commit/056c6fef346b4e84f8b1f93038a9461a7cbd9beb))
- passdown argv to lint command ([#891](https://github.com/conventional-changelog/commitlint/issues/891)) ([c49a57c](https://github.com/conventional-changelog/commitlint/commit/c49a57c77767b8213d565df3a8bbcd7369f36641))
- **config-conventional:** footer/body-max-line ([#436](https://github.com/conventional-changelog/commitlint/issues/436)) ([8b394c9](https://github.com/conventional-changelog/commitlint/commit/8b394c94ffe37322d734bd4944add4a6cb2a4689))
- **config-conventional:** increase header-max-length to 100 ([#860](https://github.com/conventional-changelog/commitlint/issues/860)) ([ff11998](https://github.com/conventional-changelog/commitlint/commit/ff11998e0cf6fcd4f03bc18ab27b1bdd6bf21906)), closes [#859](https://github.com/conventional-changelog/commitlint/issues/859)

### BREAKING CHANGES

- 'improvement' type will now be rejected by this config.

## [8.3.5](https://github.com/conventional-changelog/commitlint/compare/v8.3.4...v8.3.5) (2020-01-15)

### Bug Fixes

- **is-ignored:** move types to dev dependencies ([#897](https://github.com/conventional-changelog/commitlint/issues/897)) ([aabc549](https://github.com/conventional-changelog/commitlint/commit/aabc549))
- **resolve-extends:** move node types to dev dependencies ([#883](https://github.com/conventional-changelog/commitlint/issues/883)) ([b131a18](https://github.com/conventional-changelog/commitlint/commit/b131a18)), closes [#874](https://github.com/conventional-changelog/commitlint/issues/874)

## [8.3.4](https://github.com/conventional-changelog/commitlint/compare/v8.3.3...v8.3.4) (2020-01-03)

### Bug Fixes

- **commitlint:** use new read pkg syntax ([#888](https://github.com/conventional-changelog/commitlint/issues/888)) ([6b3b9a9](https://github.com/conventional-changelog/commitlint/commit/6b3b9a9))

## [8.3.1](https://github.com/conventional-changelog/commitlint/compare/v8.3.0...v8.3.1) (2019-10-16)

### Bug Fixes

- **load:** resolve nested parser preset factories ([#831](https://github.com/conventional-changelog/commitlint/issues/831)) ([73a7df7](https://github.com/conventional-changelog/commitlint/commit/73a7df7))

# [8.3.0](https://github.com/conventional-changelog/commitlint/compare/v8.2.0...v8.3.0) (2019-10-16)

### Features

- **cli:** add helpurl flag ([#789](https://github.com/conventional-changelog/commitlint/issues/789)) ([75cef4e](https://github.com/conventional-changelog/commitlint/commit/75cef4e))
- **config-conventional:** use parser with short breaking change support ([#821](https://github.com/conventional-changelog/commitlint/issues/821)) ([4b5300a](https://github.com/conventional-changelog/commitlint/commit/4b5300a))
- **resolve-extends:** accept absolute path in extends ([#825](https://github.com/conventional-changelog/commitlint/issues/825)) ([ecac29f](https://github.com/conventional-changelog/commitlint/commit/ecac29f))

# [8.2.0](https://github.com/conventional-changelog/commitlint/compare/v8.1.0...v8.2.0) (2019-09-16)

This release is versioned as minor change because some of the core components are rewritten to TypeScript. It's part of the full port to TypeScript, currently in progress at [#659](https://github.com/conventional-changelog/commitlint/issues/659).

### Bug Fixes

- pass defaultIgnores from configuration in @commitlint/cli ([#771](https://github.com/conventional-changelog/commitlint/issues/771)) ([a259014](https://github.com/conventional-changelog/commitlint/commit/a259014))

# [8.1.0](https://github.com/conventional-changelog/commitlint/compare/v8.0.0...v8.1.0) (2019-07-15)

This release is versioned as minor change because some of the core components are rewritten to TypeScript. It's part of the full port to TypeScript, currently in progress at [#659](https://github.com/conventional-changelog/commitlint/issues/659).

### Bug Fixes

- add explicit dependency on chalk ([#687](https://github.com/conventional-changelog/commitlint/issues/687)) ([9075844](https://github.com/conventional-changelog/commitlint/commit/9075844))
- pass ignores from configuration in @commitlint/cli ([#668](https://github.com/conventional-changelog/commitlint/issues/668)) ([da99aaa](https://github.com/conventional-changelog/commitlint/commit/da99aaa))

# [8.0.0](https://github.com/conventional-changelog/commitlint/compare/v7.6.2...v8.0.0)

### Breaking Changes

- fix: avoid excessive help text #606 (#637)
  The commitlint default formatter is now silent for reports without warnings or errors.
  Scripts relying on the success output of commitlint can restore the former output by specifying the --verbose flag.

## [7.6.2](https://github.com/conventional-changelog/commitlint/compare/v7.6.0...v7.6.2)

- Republish packages with out of sync artifacts

## [7.6.1](https://github.com/conventional-changelog/commitlint/compare/v7.6.0...v7.6.1) (2019-05-09)

### Bug Fixes

- ensure format() is available as commonjs default export [#645](https://github.com/conventional-changelog/commitlint/issues/645) ([ec3da92](https://github.com/conventional-changelog/commitlint/commit/ec3da92))
- handle absolute config paths correctly [#647](https://github.com/conventional-changelog/commitlint/issues/647) ([49b3a77](https://github.com/conventional-changelog/commitlint/commit/49b3a77))

# [7.6.0](https://github.com/conventional-changelog/commitlint/compare/v7.5.2...v7.6.0) (2019-05-06)

### Bug Fixes

- add @lerna/project to repository dependencies ([#598](https://github.com/conventional-changelog/commitlint/issues/598)) ([56f03ee](https://github.com/conventional-changelog/commitlint/commit/56f03ee))
- address security warnings for dev dependencies ([3e0d824](https://github.com/conventional-changelog/commitlint/commit/3e0d824))
- avoid excessive help text [#606](https://github.com/conventional-changelog/commitlint/issues/606) ([#637](https://github.com/conventional-changelog/commitlint/issues/637)) ([8f3c3b1](https://github.com/conventional-changelog/commitlint/commit/8f3c3b1))
- don't merge array properties with custom opts ([#616](https://github.com/conventional-changelog/commitlint/issues/616)) ([f321647](https://github.com/conventional-changelog/commitlint/commit/f321647)), closes [#594](https://github.com/conventional-changelog/commitlint/issues/594)
- remove unneeded dev dependency ([6ccaf79](https://github.com/conventional-changelog/commitlint/commit/6ccaf79))
- update cosmiconfig to safe >=5 [#599](https://github.com/conventional-changelog/commitlint/issues/599) ([f186fcb](https://github.com/conventional-changelog/commitlint/commit/f186fcb))
- use sander.readFile correctly ([#448](https://github.com/conventional-changelog/commitlint/issues/448)) ([#630](https://github.com/conventional-changelog/commitlint/issues/630)) ([8e47985](https://github.com/conventional-changelog/commitlint/commit/8e47985))

### Features

- **resolve-extends:** accept short scoped package names in extends ([#597](https://github.com/conventional-changelog/commitlint/issues/597)) ([ba90e8e](https://github.com/conventional-changelog/commitlint/commit/ba90e8e))
- adds support for plugins ([#228](https://github.com/conventional-changelog/commitlint/issues/228)) ([#588](https://github.com/conventional-changelog/commitlint/issues/588)) ([cea4564](https://github.com/conventional-changelog/commitlint/commit/cea4564))
- config based is-ignored overrides ([#595](https://github.com/conventional-changelog/commitlint/issues/595)) ([2434d71](https://github.com/conventional-changelog/commitlint/commit/2434d71))

## [7.5.2](https://github.com/conventional-changelog/commitlint/compare/v7.5.1...v7.5.2) (2019-02-11)

### Bug Fixes

- failing sentence-case for subjects with slashes ([#574](https://github.com/conventional-changelog/commitlint/issues/574)) ([48a8602](https://github.com/conventional-changelog/commitlint/commit/48a8602))
- **cli:** replace old links with new organisation links ([#578](https://github.com/conventional-changelog/commitlint/issues/578)) ([4075903](https://github.com/conventional-changelog/commitlint/commit/4075903))

## [7.5.1](https://github.com/conventional-changelog/commitlint/compare/v7.5.0...v7.5.1) (2019-02-09)

### Bug Fixes

- **is-ignored:** ignore bitbuckets automatic merge ([#573](https://github.com/conventional-changelog/commitlint/issues/573)) ([e5bdc5c](https://github.com/conventional-changelog/commitlint/commit/e5bdc5c))

<a name="7.5.0"></a>

# [7.5.0](https://github.com/conventional-changelog/commitlint/compare/v7.4.0...v7.5.0) (2019-01-31)

### Bug Fixes

- `sentence-case` allow upper-case characters in first word ([#531](https://github.com/conventional-changelog/commitlint/issues/531)) ([5a6a4a8](https://github.com/conventional-changelog/commitlint/commit/5a6a4a8)), closes [#211](https://github.com/conventional-changelog/commitlint/issues/211)
- **resolve-extends:** override array on extending rules ([#470](https://github.com/conventional-changelog/commitlint/issues/470)) ([#539](https://github.com/conventional-changelog/commitlint/issues/539)) ([b35000c](https://github.com/conventional-changelog/commitlint/commit/b35000c))
- all broken website references ([#564](https://github.com/conventional-cha…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants