NOTE: 0.19.1 is the same as 0.19.0. There was a publishing issue preventing 0.19.0 from getting out to Central.
This release makes commit message scope suppliers more flexible.
Use of scopeSupplier = calcScopeFromCommitMessages()
allowed specifying the scope with a commit message like major: My Message
or patch: My message
. However, there was a special case when the project hadn't reached 1.0.0 yet.
Before a project reaches 1.0.0, major:
prefixes were downgraded to minor
. The intent was to encourage breaking changes to still be committed as major:
for consistency, but respecting that reaching 1.0.0 is a more significant decision than just the first breaking change introduced into your code.
The downside was that the only alternative to get to 1.0.0 was to use -Preckon.scope=major
to supersede what the commit message supplier decided. This can be incompatible with many workflows that don't allow user interaction when reckon runs.
With this release:
scopeSupplier = calcScopeFromCommitMessages()
now additionally supports amajor!:
prefix which ignores whether the project is pre-1.0.0 and forces use of the major scope- Introduces
scopeSupplier = calcScopeFromCommitMessageParser(BiFunction)
which allows custom logic to consider both the commit message and whether the project is pre-1.0.0 when it makes it's scope decision scopeSupplier = calcScopeFromCommitMessages(Function)
continues to use the same pre-1.0.0 behavior when a major scope is returned for backwards compatibility
Breaking Changes
None
Enhancements
- #205 Allow commit message scope suppliers to bump version to v1.0.0
Fixes
- Dependency updates
Deprecations
None
Compatibility
Tested against the following versions.
Java Version | Gradle Versions |
---|---|
11 | 7.0.2, 7.6.4, 8.0.2, 8.11.1 |
17 | 7.3.3, 7.6.4, 8.0.2, 8.11.1 |
21 | 8.4, 8.11.1 |