Summary
Allow specifying multiple regular expressions for each bump level. The bump is triggered when any of the configured patterns matches a commit message (OR semantics).
Motivation
Different commit message styles coexist in many repositories — for example a project that mixes Conventional Commits with legacy [feature] tags. A single regex can model this, but complex alternations become hard to read and maintain.
Current behaviour
Each bump level accepts a single regex:
SEMREL_PLUGIN_MINOR_PATTERN=^feat(\(.+\))?:
SEMREL_PLUGIN_PATCH_PATTERN=^(fix|perf|refactor)(\(.+\))?:
Proposed behaviour
Comma-separated list of patterns (OR semantics):
SEMREL_PLUGIN_MINOR_PATTERNS=^feat(\(.+\))?:,^\[feature\]
SEMREL_PLUGIN_PATCH_PATTERNS=^(fix|perf)(\(.+\))?:,^\[bugfix\],^\[hotfix\]
SEMREL_PLUGIN_MAJOR_PATTERNS=BREAKING CHANGE,^\[breaking\]
Backward compatibility
- Existing single-pattern env vars (
SEMREL_PLUGIN_MINOR_PATTERN etc.) remain supported
- If both the singular and plural form are set, the plural form takes precedence
Acceptance criteria
Summary
Allow specifying multiple regular expressions for each bump level. The bump is triggered when any of the configured patterns matches a commit message (OR semantics).
Motivation
Different commit message styles coexist in many repositories — for example a project that mixes Conventional Commits with legacy
[feature]tags. A single regex can model this, but complex alternations become hard to read and maintain.Current behaviour
Each bump level accepts a single regex:
Proposed behaviour
Comma-separated list of patterns (OR semantics):
Backward compatibility
SEMREL_PLUGIN_MINOR_PATTERNetc.) remain supportedAcceptance criteria
*_PATTERNSenv vars accepted (comma-separated)*_PATTERNvars still work (backward-compatible)