-
Notifications
You must be signed in to change notification settings - Fork 960
Description
Steps to Reproduce
1. Update commitlint packages from `20.3.1` to `20.4.0`:
- `@commitlint/cli`
- `@commitlint/config-conventional`
- `@commitlint/types`
2. Use the default `@commitlint/config-conventional` configuration.
3. Run a commit with a Cyrillic lowercase subject, for example:
git commit -m "chore(deps): обновлены все зависимости"
4. Observe that the commit is rejected with a `subject-case` error.
5. Add a single Latin lowercase character at the beginning of the subject:
git commit -m "chore(deps): t обновлены все зависимости"
6. Observe that the commit now passes successfully.Current Behavior
Commitlint rejects commit messages whose subject is written entirely in Cyrillic, even though it is fully lowercase:
✖ subject must not be sentence-case, start-case, pascal-case, upper-case [subject-case]
This happens despite the subject clearly being lowercase in the original language.
Expected Behavior
Commitlint should correctly detect lowercase subjects written in non-Latin scripts (e.g. Cyrillic) and accept them when they are not sentence-case, start-case, pascal-case, or upper-case.
At minimum, behavior should remain consistent with versions prior to 20.4.0, where the same commit message was accepted.
Affected packages
- cli
- core
- prompt
- config-angular
Possible Solution
No response
Context
This issue breaks existing workflows for teams writing commit messages in non-English languages.
After upgrading to 20.4.0, previously valid commit messages started failing commit hooks, forcing developers either to:
- Modify commit message content unnaturally (e.g. prefixing with Latin characters)
- Disable or override the
subject-caserule
commitlint --version
@commitlint/cli@20.4.0
git --version
v2.52.0
node --version
v22.22.0