Skip to content

0.19.1

Latest
Compare
Choose a tag to compare
@ajoberstar ajoberstar released this 24 Nov 03:51
0.19.1
8c53e37

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 a major!: 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