ajoberstar/reckon (org.ajoberstar.reckon.settings)
### [`v0.19.1`](https://redirect.github.com/ajoberstar/reckon/releases/tag/0.19.1)
[Compare Source](https://redirect.github.com/ajoberstar/reckon/compare/0.18.3...0.19.1)
*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](https://redirect.github.com/ajoberstar/reckon/issues/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 |
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
0.18.3
->0.19.1
Release Notes
ajoberstar/reckon (org.ajoberstar.reckon.settings)
### [`v0.19.1`](https://redirect.github.com/ajoberstar/reckon/releases/tag/0.19.1) [Compare Source](https://redirect.github.com/ajoberstar/reckon/compare/0.18.3...0.19.1) *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](https://redirect.github.com/ajoberstar/reckon/issues/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 |Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.