fix: `subject-case` rule rejects non-Latin (Cyrillic) lowercase subjects after update to v20.4.0
bug
### Steps to Reproduce
```bash
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-case` rule
### commitlint --version
@commitlint/cli@20.4.0
### git --version
v2.52.0
### node --version
v22.22.0
3 条评论