Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: conventional-changelog/commitlint
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v20.4.4
Choose a base ref
...
head repository: conventional-changelog/commitlint
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v20.5.0
Choose a head ref
  • 12 commits
  • 73 files changed
  • 5 contributors

Commits on Mar 12, 2026

  1. chore: update dependency vue to v3.5.30 (#4646)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 12, 2026
    Configuration menu
    Copy the full SHA
    a479482 View commit details
    Browse the repository at this point in the history
  2. chore: update dependency conventional-changelog-angular to v8.3.0 (#4648

    )
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 12, 2026
    Configuration menu
    Copy the full SHA
    fe2d9bc View commit details
    Browse the repository at this point in the history
  3. chore: update dependency conventional-changelog-atom to v5.1.0 (#4649)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 12, 2026
    Configuration menu
    Copy the full SHA
    92c3beb View commit details
    Browse the repository at this point in the history
  4. chore: update dependency conventional-changelog-conventionalcommits t…

    …o v9.3.0 (#4650)
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 12, 2026
    Configuration menu
    Copy the full SHA
    2b85fbd View commit details
    Browse the repository at this point in the history
  5. chore: update docker/build-push-action action to v6.19.2 (#4651)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 12, 2026
    Configuration menu
    Copy the full SHA
    2625df6 View commit details
    Browse the repository at this point in the history
  6. chore: update typescript-eslint monorepo to v8.57.0 (#4652)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 12, 2026
    Configuration menu
    Copy the full SHA
    baa307e View commit details
    Browse the repository at this point in the history
  7. chore: update docker/build-push-action action to v7 (#4653)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Mar 12, 2026
    Configuration menu
    Copy the full SHA
    6755e6f View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2026

  1. feat(cz-commitlint): add exclamation mark support for breaking changes (

    #4655)
    
    Opt-in via prompt.settings.useExclamationMark (default: false). This
    reserves one header character for '!' during subject length validation,
    regardless of the isBreaking answer.
    
    See: https://www.conventionalcommits.org/en/v1.0.0/#summary
    
    Co-authored-by: Martin T. <[email protected]>
    mrt181 and Martin T. authored Mar 13, 2026
    Configuration menu
    Copy the full SHA
    3b124a7 View commit details
    Browse the repository at this point in the history
  2. fix(resolve-extends): always resolve extended parser presets for prop…

    …er merging (#4647)
    
    * fix(resolve-extends): always resolve extended parser presets for proper merging
    
    When a user provides a partial parserPreset (e.g. only issuePrefixes),
    the extended config's string parser preset was skipped because
    loadExtends checked !context.parserPreset before resolving. This meant
    the extended preset's headerPattern was never loaded, so it got lost
    during the config merge.
    
    Two changes fix this:
    
    1. Remove the !context.parserPreset guard in loadExtends so string
       parser presets from extended configs are always resolved, making
       their parserOpts available for merging.
    
    2. Preserve user-provided properties during the nested parserOpts
       unwrapping in loadParserOpts. Previously the unwrap replaced the
       outer object entirely, dropping any user additions that were merged
       at that level during config resolution.
    
    Fixes #4640
    
    * fix: address review feedback from qodo and copilot
    
    - Shallow-copy the dynamicImport result to avoid mutating an immutable
      ESM namespace object when assigning the resolved parserPreset.
    - Add explicit type cast in load-parser-opts destructuring so inner
      is Record<string, unknown> instead of unknown.
    - Clarify unit test scope: it covers the merge path while the
      integration test covers string-to-object resolution.
    omar-y-abdi authored Mar 13, 2026
    Configuration menu
    Copy the full SHA
    e9ef76c View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2026

  1. fix(load): resolve async config exports in CJS projects (#4659)

    Config files that export a Promise or async/sync function are now
    resolved before validation. This enables CJS projects to use patterns
    like `module.exports = createPreset()` (returning a Promise) or
    `module.exports = async () => config`.
    
    Closes #4557
    omar-y-abdi authored Mar 15, 2026
    Configuration menu
    Copy the full SHA
    fce263f View commit details
    Browse the repository at this point in the history
  2. fix(cli): validate that --cwd directory exists before execution (#4658)

    * fix(cli): validate that --cwd directory exists before execution
    
    When a non-existent directory is passed via --cwd/-d, commitlint now
    prints a clear error message and exits with code 1 instead of silently
    returning exit code 0.
    
    Closes #4595
    
    * fix(cli): validate --cwd is a directory, not just that it exists
    
    Replaces existsSync with statSync + isDirectory to reject file paths
    that would cause uncontrolled errors downstream in git operations.
    
    * fix(cli): differentiate --cwd error messages by errno code
    
    The catch-all handler for statSync failures reported all errors
    (EACCES, EPERM, ENOTDIR) as "does not exist". Now checks
    error.code and only uses that message for ENOENT; other errors
    surface the actual errno code.
    omar-y-abdi authored Mar 15, 2026
    Configuration menu
    Copy the full SHA
    cf80f75 View commit details
    Browse the repository at this point in the history
  3. v20.5.0

    escapedcat committed Mar 15, 2026
    Configuration menu
    Copy the full SHA
    a7918e9 View commit details
    Browse the repository at this point in the history
Loading