kettle-changelog 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +119 -0
- data/LICENSE.md +12 -0
- data/README.md +429 -0
- data/exe/kettle-changelog +244 -0
- data/lib/kettle/changelog/cli.rb +1384 -0
- data/lib/kettle/changelog/entry_adder.rb +115 -0
- data/lib/kettle/changelog/version.rb +13 -0
- data/lib/kettle/changelog.rb +18 -0
- data/sig/kettle/changelog.rbs +9 -0
- data.tar.gz.sig +0 -0
- metadata +341 -0
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 470b4a1221d494c5197d12fa669c5c2b554cbc71a66c2bc15d4d46a1ccaaef8a
|
|
4
|
+
data.tar.gz: 59f8f87524474affe14bb3c4a4907268af1ce1205a79679e521bd5e6a225b624
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: ea215da6524469a17c0ead84eb652377de8ecd31eac9382b4c8012381d60a62b254b34719a03c02d96eedb6184785c1510d5a246cc3fe3b44b4439edba396cbf
|
|
7
|
+
data.tar.gz: 17ba27fb850c28d715b553740636a3f6a4db3ea7fd5a0bfa225867d7336c5f26342b8a486f6ff23f857f6da46616f8e8f751b8d29d49d6edf54bbac0e1c78351
|
checksums.yaml.gz.sig
ADDED
|
Binary file
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
[![SemVer 2.0.0][📌semver-img]][📌semver] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog]
|
|
4
|
+
|
|
5
|
+
All notable changes to this project will be documented in this file.
|
|
6
|
+
|
|
7
|
+
The format is based on [Keep a Changelog][📗keep-changelog],
|
|
8
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
|
|
9
|
+
and [yes][📌major-versions-not-sacred], platform and engine support are part of the [public API][📌semver-breaking].
|
|
10
|
+
Please file a bug if you notice a violation of semantic versioning.
|
|
11
|
+
|
|
12
|
+
[📌semver]: https://semver.org/spec/v2.0.0.html
|
|
13
|
+
[📌semver-img]: https://img.shields.io/badge/semver-2.0.0-FFDD67.svg?style=flat
|
|
14
|
+
[📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
|
|
15
|
+
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
|
16
|
+
[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
|
|
17
|
+
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
|
|
18
|
+
|
|
19
|
+
## [Unreleased]
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
### Deprecated
|
|
26
|
+
|
|
27
|
+
### Removed
|
|
28
|
+
|
|
29
|
+
### Fixed
|
|
30
|
+
|
|
31
|
+
- Preserve family-local dependency wiring during aggregate coverage runs.
|
|
32
|
+
|
|
33
|
+
### Security
|
|
34
|
+
|
|
35
|
+
## [1.0.0] - 2026-08-10
|
|
36
|
+
|
|
37
|
+
- TAG: [v1.0.0][1.0.0t]
|
|
38
|
+
- COVERAGE: 93.19% -- 807/866 lines in 4 files
|
|
39
|
+
- BRANCH COVERAGE: 78.31% -- 296/378 branches in 4 files
|
|
40
|
+
- 47.62% documented
|
|
41
|
+
|
|
42
|
+
### Added
|
|
43
|
+
|
|
44
|
+
- kettle-jem-template-20260720-005 - README Support & Community links now
|
|
45
|
+
include RubyForum.
|
|
46
|
+
- kettle-jem-template-20260726-001 - Projects now include YARD lint
|
|
47
|
+
configuration and documentation dependencies so documentation issues fail
|
|
48
|
+
before generated docs are refreshed.
|
|
49
|
+
- kettle-jem-template-20260727-001 - Spec harness documentation now lists the
|
|
50
|
+
RSpec helpers provided by `kettle-test`.
|
|
51
|
+
|
|
52
|
+
- Provide a standalone CLI for formatting releases and maintaining CHANGELOG.md files.
|
|
53
|
+
|
|
54
|
+
- Provide a minimal release bundle for standalone kettle-changelog bootstrapping.
|
|
55
|
+
|
|
56
|
+
### Changed
|
|
57
|
+
|
|
58
|
+
- kettle-jem-template-20260716-002 - Gemspecs now ship fewer repository-only
|
|
59
|
+
files, reducing package noise for downstream packagers.
|
|
60
|
+
- kettle-jem-template-20260720-002 - Development Gemfiles now use the released
|
|
61
|
+
`tree_sitter_language_pack` gem 1.13.3 or newer by default.
|
|
62
|
+
- kettle-jem-template-20260725-002 - Version specs now use `anonymous_loader` to
|
|
63
|
+
cover `version.rb` without redefining constants, or are removed when version
|
|
64
|
+
specs are not managed for the project.
|
|
65
|
+
- kettle-jem-template-20260728-001 - Generated Ruby workflows now use clearer
|
|
66
|
+
setup-ruby-flash planning and can prepare appraisal-only jobs without
|
|
67
|
+
installing the main Gemfile bundle.
|
|
68
|
+
- kettle-jem-template-20260801-001 - Generated README gem dashboard links now
|
|
69
|
+
use ClickGems instead of BestGems.
|
|
70
|
+
|
|
71
|
+
### Fixed
|
|
72
|
+
|
|
73
|
+
- kettle-jem-template-20260720-003 - StructuredMerge Git diff driver config now
|
|
74
|
+
uses the installed `smorg-rb` driver command.
|
|
75
|
+
- kettle-jem-template-20260726-002 - Generated version files now document their
|
|
76
|
+
version namespace and constants, reducing warning-only YARD lint output.
|
|
77
|
+
- kettle-jem-template-20260726-003 - Coverage upload steps now treat Coveralls,
|
|
78
|
+
QLTY, and Codecov as optional, so provider outages do not fail CI when local
|
|
79
|
+
coverage thresholds still pass.
|
|
80
|
+
- kettle-jem-template-20260728-002 - Generated RuboCop configs now ignore the
|
|
81
|
+
same `gemfiles/vendor/bundle` tree as `.gitignore`, so vendored dependency
|
|
82
|
+
installs are not reported as project lint debt.
|
|
83
|
+
- kettle-jem-template-20260728-004 - Generated dep-heads workflows now use the
|
|
84
|
+
setup-ruby Bundler install path for direct appraisal Gemfiles, avoiding rv
|
|
85
|
+
lockfile parser failures on Git and path dependencies.
|
|
86
|
+
- kettle-jem-template-20260728-005 - VersionGem bootstrap now creates the
|
|
87
|
+
missing canonical version spec when a project only has shim namespace version
|
|
88
|
+
specs.
|
|
89
|
+
- kettle-jem-template-20260730-001 - Gemspec package file enumeration now runs
|
|
90
|
+
relative to the gemspec directory, so release package contents stay correct
|
|
91
|
+
even when the gemspec is loaded from another working directory.
|
|
92
|
+
- kettle-jem-template-20260801-002 - Generated RSpec helpers now normalize
|
|
93
|
+
managed configuration block bindings structurally, preventing mixed block
|
|
94
|
+
parameter names from producing invalid configuration after a merge.
|
|
95
|
+
- kettle-jem-template-20260801-003 - Generated project metadata and
|
|
96
|
+
documentation now normalize configured underscore hostnames to valid
|
|
97
|
+
hyphenated hostnames.
|
|
98
|
+
- kettle-jem-template-20260801-004 - Generated organization README logos now
|
|
99
|
+
use GitHub's stable organization avatar endpoint instead of assuming a
|
|
100
|
+
matching Galtzo-hosted asset exists.
|
|
101
|
+
- kettle-jem-template-20260802-001 - Devcontainer JSON files now merge as JSONC,
|
|
102
|
+
preserving comments and trailing commas during template updates.
|
|
103
|
+
|
|
104
|
+
- Run target coverage and documentation commands with the target project bundle.
|
|
105
|
+
|
|
106
|
+
- Prevent release workflow and GitHub release settings from contaminating target project tests.
|
|
107
|
+
|
|
108
|
+
- Require kettle-dev 3.0.0 or newer so the standalone executable does not conflict with the legacy kettle-dev changelog executable.
|
|
109
|
+
|
|
110
|
+
- kettle-jem-template-20260720-004 - MRI-only projects now omit JRuby and
|
|
111
|
+
TruffleRuby workflow jobs.
|
|
112
|
+
|
|
113
|
+
## [0.1.0] - 2026-08-09
|
|
114
|
+
|
|
115
|
+
- Initial release
|
|
116
|
+
|
|
117
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-changelog/compare/v1.0.0...HEAD
|
|
118
|
+
[1.0.0]: https://github.com/kettle-dev/kettle-changelog/compare/v0.1.0...v1.0.0
|
|
119
|
+
[1.0.0t]: https://github.com/kettle-dev/kettle-changelog/releases/tag/v1.0.0
|
data/LICENSE.md
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# License
|
|
2
|
+
|
|
3
|
+
This project is made available under the following license.
|
|
4
|
+
Choose the option that best fits your use case:
|
|
5
|
+
|
|
6
|
+
- [AGPL-3.0-only](https://github.com/kettle-dev/kettle-changelog/blob/main/AGPL-3.0-only.md)
|
|
7
|
+
|
|
8
|
+
If none of the above licenses fit your use case, please [contact us](mailto:floss@galtzo.com) to discuss a custom commercial license.
|
|
9
|
+
|
|
10
|
+
## Copyright Notice
|
|
11
|
+
|
|
12
|
+
- Copyright (c) 2026 Peter H. Boling
|
data/README.md
ADDED
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
<a href="https://github.com/kettle-dev"><img alt="kettle-dev Logo by GitHub" src="https://github.com/kettle-dev.png?size=192" width="14%" align="right"/></a>
|
|
2
|
+
|
|
3
|
+
# 📝 Kettle::Changelog
|
|
4
|
+
|
|
5
|
+
[![Version][👽versioni]][👽version] [![Ruby Users Forum][✉️ruby-forum-top-img]][✉️ruby-forum] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: AGPL-3.0-only][📄license-img]][📄license] [![Total downloads][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf]
|
|
6
|
+
|
|
7
|
+
`if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know on Discord][✉️discord-invite] or [RubyForum][✉️ruby-forum], as I may have missed the notification.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
`if ci_badges.map(&:color).all? { it == "green"}` 👇️ send money so I can do more of this. FLOSS maintenance is now my full-time job.
|
|
12
|
+
|
|
13
|
+
[![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
|
|
14
|
+
|
|
15
|
+
<details markdown="1">
|
|
16
|
+
<summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
|
|
17
|
+
|
|
18
|
+
I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-takeover-of-rubygems-my-thoughts-5hlo).
|
|
19
|
+
|
|
20
|
+
</details>
|
|
21
|
+
|
|
22
|
+
## 🌻 Synopsis <a href="https://discord.gg/3qme4XHNKN"><img alt="Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg" width="8%" align="right"/></a> <a href="https://ruby-toolbox.com"><img alt="ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5" src="https://logos.galtzo.com/assets/images/ruby-lang/avatar-128px.svg" width="8%" align="right"/></a>
|
|
23
|
+
|
|
24
|
+
`kettle-changelog` prepares and maintains `CHANGELOG.md` files for Ruby gems. It moves entries from `Unreleased` into a versioned release section, adds coverage and documentation statistics, updates comparison links, and can emit structured release events for orchestration tools.
|
|
25
|
+
|
|
26
|
+
## 💡 Info you can shake a stick at
|
|
27
|
+
|
|
28
|
+
| Tokens to Remember | [![Gem name][⛳️name-img]][⛳️gem-name] [![Gem namespace][⛳️namespace-img]][⛳️gem-namespace] |
|
|
29
|
+
|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
30
|
+
| Works with MRI Ruby 4 | [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
|
|
31
|
+
| Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Get help from RubyForum][✉️ruby-forum-img]][✉️ruby-forum] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼🏫expsup-upwork-img]][👨🏼🏫expsup-upwork] [![Get help from me on Codementor][👨🏼🏫expsup-codementor-img]][👨🏼🏫expsup-codementor] |
|
|
32
|
+
| Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on GitHub.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
|
|
33
|
+
| Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
|
|
34
|
+
| Compliance | [![License: AGPL-3.0-only][📄license-img]][📄license] [![Apache license compatibility: Category X][📄license-compat-img]][📄license-compat] [![📄ilo-declaration-img]][📄ilo-declaration] [![Security Policy][🔐security-img]][🔐security] [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct] [![SemVer 2.0.0][📌semver-img]][📌semver] |
|
|
35
|
+
| Style | [![Enforced Code Style Linter][💎rlts-img]][💎rlts] [![Keep-A-Changelog 1.0.0][📗keep-changelog-img]][📗keep-changelog] [![Gitmoji Commits][📌gitmoji-img]][📌gitmoji] [![Compatibility appraised by: appraisal2][💎appraisal2-img]][💎appraisal2] |
|
|
36
|
+
| Maintainer 🎖️ | [![Follow Me on LinkedIn][💖🖇linkedin-img]][💖🖇linkedin] [![Follow Me on Ruby.Social][💖🐘ruby-mast-img]][💖🐘ruby-mast] [![Follow Me on Bluesky][💖🦋bluesky-img]][💖🦋bluesky] [![Contact Maintainer][🚂maint-contact-img]][🚂maint-contact] [![My technical writing][💖💁🏼♂️devto-img]][💖💁🏼♂️devto] |
|
|
37
|
+
| `...` 💖 | [![Find Me on WellFound:][💖✌️wellfound-img]][💖✌️wellfound] [![Find Me on CrunchBase][💖💲crunchbase-img]][💖💲crunchbase] [![My LinkTree][💖🌳linktree-img]][💖🌳linktree] [![More About Me][💖💁🏼♂️aboutme-img]][💖💁🏼♂️aboutme] [🧊][💖🧊berg] [🐙][💖🐙hub] [🛖][💖🛖hut] [🧪][💖🧪lab] |
|
|
38
|
+
|
|
39
|
+
### Compatibility
|
|
40
|
+
|
|
41
|
+
Compatible with MRI Ruby 4.0.0+.
|
|
42
|
+
CI workflows and Appraisals are generated for MRI Ruby 4.0.0+.
|
|
43
|
+
This test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml` and
|
|
44
|
+
may be higher than the gem's runtime compatibility floor when legacy Rubies are
|
|
45
|
+
not practical for the current toolchain.
|
|
46
|
+
|
|
47
|
+
<a href="https://github.com/kettle-dev"><img alt="kettle-dev Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-dev/avatar-128px.svg" width="14%" align="right"/></a>
|
|
48
|
+
|
|
49
|
+
The _amazing_ test matrix is powered by the kettle-dev stack.
|
|
50
|
+
|
|
51
|
+
<details markdown="1">
|
|
52
|
+
<summary>How kettle-dev manages complexity in tests</summary>
|
|
53
|
+
|
|
54
|
+
| Gem | Source | Role | Total downloads |
|
|
55
|
+
|-----|--------|------|---------------------|
|
|
56
|
+
| [appraisal2](https://clickgems.clickhouse.com/dashboard/appraisal2) | [GitHub](https://github.com/appraisal-rb/appraisal2) | multi-dependency Appraisal matrix generation | [](https://clickgems.clickhouse.com/dashboard/appraisal2) |
|
|
57
|
+
| [appraisal2-rubocop](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) | [GitHub](https://github.com/appraisal-rb/appraisal2-rubocop) | RuboCop Appraisal generator integration | [](https://clickgems.clickhouse.com/dashboard/appraisal2-rubocop) |
|
|
58
|
+
| [kettle-dev](https://clickgems.clickhouse.com/dashboard/kettle-dev) | [GitHub](https://github.com/kettle-dev/kettle-dev) | development, release, and CI workflow tooling | [](https://clickgems.clickhouse.com/dashboard/kettle-dev) |
|
|
59
|
+
| [kettle-jem](https://clickgems.clickhouse.com/dashboard/kettle-jem) | [GitHub](https://github.com/kettle-dev/kettle-jem) | Appraisals & CI workflow templates | [](https://clickgems.clickhouse.com/dashboard/kettle-jem) |
|
|
60
|
+
| [kettle-soup-cover](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) | [GitHub](https://github.com/kettle-dev/kettle-soup-cover) | SimpleCov coverage policy and reporting | [](https://clickgems.clickhouse.com/dashboard/kettle-soup-cover) |
|
|
61
|
+
| [kettle-test](https://clickgems.clickhouse.com/dashboard/kettle-test) | [GitHub](https://github.com/kettle-dev/kettle-test) | standard test runner and coverage harness | [](https://clickgems.clickhouse.com/dashboard/kettle-test) |
|
|
62
|
+
| [rubocop-lts](https://clickgems.clickhouse.com/dashboard/rubocop-lts) | [GitHub](https://github.com/rubocop-lts/rubocop-lts) | Ruby-version-aware linting | [](https://clickgems.clickhouse.com/dashboard/rubocop-lts) |
|
|
63
|
+
| [turbo_tests2](https://clickgems.clickhouse.com/dashboard/turbo_tests2) | [GitHub](https://github.com/galtzo-floss/turbo_tests2) | parallel test execution | [](https://clickgems.clickhouse.com/dashboard/turbo_tests2) |
|
|
64
|
+
|
|
65
|
+
</details>
|
|
66
|
+
|
|
67
|
+
### Federated DVCS
|
|
68
|
+
|
|
69
|
+
<details markdown="1">
|
|
70
|
+
<summary>Find this repo on federated forges (Coming soon!)</summary>
|
|
71
|
+
|
|
72
|
+
| Federated [DVCS][💎d-in-dvcs] Repository | Status | Issues | PRs | Wiki | CI |
|
|
73
|
+
|-------------------------------------------------|-------------------------------------------|-------------------|------------------|-----------------|----------------|
|
|
74
|
+
| 🧪 [kettle-dev/kettle-changelog on GitLab][📜src-gl] | The Truth | [💚][🤝gl-issues] | [💚][🤝gl-pulls] | [💚][📜gl-wiki] | 🐭 Tiny Matrix |
|
|
75
|
+
| 🧊 [kettle-dev/kettle-changelog on CodeBerg][📜src-cb] | An Ethical Mirror ([Donate][🤝cb-donate]) | [💚][🤝cb-issues] | [💚][🤝cb-pulls] | ➖ | ⭕️ No Matrix |
|
|
76
|
+
| 🐙 [kettle-dev/kettle-changelog on GitHub][📜src-gh] | Another Mirror | [💚][🤝gh-issues] | [💚][🤝gh-pulls] | [💚][📜gh-wiki] | 💯 Full Matrix |
|
|
77
|
+
|
|
78
|
+
</details>
|
|
79
|
+
|
|
80
|
+
### Enterprise Support [](https://tidelift.com/subscription/pkg/rubygems-kettle-changelog?utm_source=rubygems-kettle-changelog&utm_medium=referral&utm_campaign=readme)
|
|
81
|
+
|
|
82
|
+
Available as part of the Tidelift Subscription.
|
|
83
|
+
|
|
84
|
+
<details markdown="1">
|
|
85
|
+
<summary>Need enterprise-level guarantees?</summary>
|
|
86
|
+
|
|
87
|
+
The maintainers of this and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use.
|
|
88
|
+
|
|
89
|
+
[![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]
|
|
90
|
+
|
|
91
|
+
- 💡Subscribe for support guarantees covering _all_ your FLOSS dependencies
|
|
92
|
+
- 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
|
|
93
|
+
- 💡Tidelift pays maintainers to maintain the software you depend on!<br/>📊`@`Pointy Haired Boss: An [enterprise support][🏙️entsup-tidelift] subscription is "[never gonna let you down][🧮kloc]", and *supports* open source maintainers
|
|
94
|
+
|
|
95
|
+
Alternatively:
|
|
96
|
+
|
|
97
|
+
- [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
|
|
98
|
+
- [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
|
99
|
+
- [![Get help from me on Upwork][👨🏼🏫expsup-upwork-img]][👨🏼🏫expsup-upwork]
|
|
100
|
+
- [![Get help from me on Codementor][👨🏼🏫expsup-codementor-img]][👨🏼🏫expsup-codementor]
|
|
101
|
+
|
|
102
|
+
</details>
|
|
103
|
+
|
|
104
|
+
## ✨ Installation
|
|
105
|
+
|
|
106
|
+
Install the gem and add to the application's Gemfile by executing:
|
|
107
|
+
|
|
108
|
+
```console
|
|
109
|
+
bundle add kettle-changelog
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
If bundler is not being used to manage dependencies, install the gem by executing:
|
|
113
|
+
|
|
114
|
+
```console
|
|
115
|
+
gem install kettle-changelog
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## ⚙️ Configuration
|
|
119
|
+
|
|
120
|
+
`kettle-changelog` has no project configuration file. Configure project-specific paths and release behavior with environment variables:
|
|
121
|
+
|
|
122
|
+
- `K_CHANGELOG_PATH` selects a changelog outside the current project root.
|
|
123
|
+
- `K_CHANGELOG_COVERAGE_ROOT` selects the project root used for coverage generation.
|
|
124
|
+
- `K_CHANGELOG_VERSION_FILE` selects the version file when the project has more than one version tree.
|
|
125
|
+
- `K_CHANGELOG_GEM_NAME` overrides the gem name used for release lookups.
|
|
126
|
+
- `K_CHANGELOG_STRICT=false` allows missing coverage or YARD data.
|
|
127
|
+
- `K_CHANGELOG_COVERAGE_HARD=false` disables hard coverage-threshold failures.
|
|
128
|
+
- `KETTLE_GEM_COOP_REFRESH=true` refreshes cached gem metadata.
|
|
129
|
+
|
|
130
|
+
## 🔧 Basic Usage
|
|
131
|
+
|
|
132
|
+
Run the release preparation command from the gem root:
|
|
133
|
+
|
|
134
|
+
```console
|
|
135
|
+
bundle exec kettle-changelog
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Use `--yes` for non-interactive release automation. Add a note without preparing a release with:
|
|
139
|
+
|
|
140
|
+
```console
|
|
141
|
+
bundle exec kettle-changelog --add-unreleased-entry --section Fixed --entry "Describe the fix."
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Useful queries and maintenance commands include `--pending-release`, `--release-state`, `--reformat`, `--update-prep`, `--json`, and `--events=changelog`. Run `bundle exec kettle-changelog --help` for the complete option list.
|
|
145
|
+
|
|
146
|
+
## 🔐 Security
|
|
147
|
+
|
|
148
|
+
See [SECURITY.md][🔐security].
|
|
149
|
+
|
|
150
|
+
## 🤝 Contributing
|
|
151
|
+
|
|
152
|
+
If you need some ideas of where to help, you could work on adding more code coverage,
|
|
153
|
+
check [issues][🤝gh-issues] or [PRs][🤝gh-pulls], or use the gem and think about how it could be better.
|
|
154
|
+
|
|
155
|
+
We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
|
|
156
|
+
|
|
157
|
+
See [CONTRIBUTING.md][🤝contributing] for more detailed instructions.
|
|
158
|
+
|
|
159
|
+
### 🚀 Release Instructions
|
|
160
|
+
|
|
161
|
+
See [CONTRIBUTING.md][🤝contributing].
|
|
162
|
+
|
|
163
|
+
### Code Coverage
|
|
164
|
+
|
|
165
|
+
<details markdown="1">
|
|
166
|
+
<summary>Coverage service badges</summary>
|
|
167
|
+
|
|
168
|
+
[![Coverage Graph][🏀codecov-g]][🏀codecov]
|
|
169
|
+
|
|
170
|
+
[![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls]
|
|
171
|
+
|
|
172
|
+
[![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov]
|
|
173
|
+
|
|
174
|
+
</details>
|
|
175
|
+
|
|
176
|
+
### 🪇 Code of Conduct
|
|
177
|
+
|
|
178
|
+
Everyone interacting with this project's codebases, issue trackers,
|
|
179
|
+
chat rooms and mailing lists agrees to follow the [![Contributor Covenant 2.1][🪇conduct-img]][🪇conduct].
|
|
180
|
+
|
|
181
|
+
## 🌈 Contributors
|
|
182
|
+
|
|
183
|
+
[![Contributors][🖐contributors-img]][🖐contributors]
|
|
184
|
+
|
|
185
|
+
Made with [contributors-img][🖐contrib-rocks].
|
|
186
|
+
|
|
187
|
+
Also see GitLab Contributors: [https://gitlab.com/kettle-dev/kettle-changelog/-/graphs/main][🚎contributors-gl]
|
|
188
|
+
|
|
189
|
+
## 📌 Versioning
|
|
190
|
+
|
|
191
|
+
This library follows [![Semantic Versioning 2.0.0][📌semver-img]][📌semver] for its public API where practical.
|
|
192
|
+
For most applications, prefer the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
|
|
193
|
+
|
|
194
|
+
For example:
|
|
195
|
+
|
|
196
|
+
```ruby
|
|
197
|
+
spec.add_dependency("kettle-changelog", "~> 1.0")
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
<details markdown="1">
|
|
201
|
+
<summary>📌 Is "Platform Support" part of the public API? More details inside.</summary>
|
|
202
|
+
|
|
203
|
+
Dropping support for a platform can be a breaking change for affected users.
|
|
204
|
+
If a release changes supported platforms, it should be called out clearly in the changelog and versioned with that impact in mind.
|
|
205
|
+
|
|
206
|
+
To get a better understanding of how SemVer is intended to work over a project's lifetime,
|
|
207
|
+
read this article from the creator of SemVer:
|
|
208
|
+
|
|
209
|
+
- ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
|
|
210
|
+
|
|
211
|
+
</details>
|
|
212
|
+
|
|
213
|
+
See [CHANGELOG.md][📌changelog] for a list of releases.
|
|
214
|
+
|
|
215
|
+
## 📄 License
|
|
216
|
+
|
|
217
|
+
The gem is available under the following license: [AGPL-3.0-only](https://github.com/kettle-dev/kettle-changelog/blob/main/AGPL-3.0-only.md).
|
|
218
|
+
See [LICENSE.md][📄license] for details.
|
|
219
|
+
|
|
220
|
+
If none of the available licenses suit your use case, please [contact us](mailto:floss@galtzo.com) to discuss a custom commercial license.
|
|
221
|
+
|
|
222
|
+
### © Copyright
|
|
223
|
+
|
|
224
|
+
See [LICENSE.md][📄license] for the official copyright notice.
|
|
225
|
+
|
|
226
|
+
<details markdown="1">
|
|
227
|
+
<summary>Copyright holders</summary>
|
|
228
|
+
|
|
229
|
+
- Copyright (c) 2026 Peter H. Boling
|
|
230
|
+
|
|
231
|
+
</details>
|
|
232
|
+
|
|
233
|
+
## 🤑 A request for help
|
|
234
|
+
|
|
235
|
+
Maintainers have teeth and need to pay their dentists.
|
|
236
|
+
After getting laid off in an RIF in March, and encountering difficulty finding a new one,
|
|
237
|
+
I began spending most of my time building open source tools.
|
|
238
|
+
I'm hoping to be able to pay for my kids' health insurance this month,
|
|
239
|
+
so if you value the work I am doing, I need your support.
|
|
240
|
+
Please consider sponsoring me or the project.
|
|
241
|
+
|
|
242
|
+
To join the community or get help, use the RubyForum or Discord.
|
|
243
|
+
|
|
244
|
+
[![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
|
|
245
|
+
[![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
|
246
|
+
|
|
247
|
+
To say "thanks!" ☝️ Join the community or 👇️ send money.
|
|
248
|
+
|
|
249
|
+
[![Sponsor kettle-dev/kettle-changelog on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
|
|
250
|
+
|
|
251
|
+
### Please give the project a star ⭐ ♥.
|
|
252
|
+
|
|
253
|
+
Many parts of this project are actively managed by a [kettle-jem](https://github.com/structuredmerge/structuredmerge-ruby/tree/main/gems/kettle-jem) smart template utilizing [StructuredMerge.org](https://structuredmerge.org) merge contracts.
|
|
254
|
+
|
|
255
|
+
Thanks for RTFM. ☺️
|
|
256
|
+
|
|
257
|
+
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
|
|
258
|
+
[⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
|
|
259
|
+
[⛳liberapay]: https://liberapay.com/pboling/donate
|
|
260
|
+
[🖇osc-all-img]: https://img.shields.io/opencollective/all/kettle-dev
|
|
261
|
+
[🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/kettle-dev
|
|
262
|
+
[🖇osc-backers-img]: https://img.shields.io/opencollective/backers/kettle-dev
|
|
263
|
+
[🖇osc-backers]: https://opencollective.com/kettle-dev#backer
|
|
264
|
+
[🖇osc-backers-i]: https://opencollective.com/kettle-dev/backers/badge.svg?style=flat
|
|
265
|
+
[🖇osc-sponsors]: https://opencollective.com/kettle-dev#sponsor
|
|
266
|
+
[🖇osc-sponsors-i]: https://opencollective.com/kettle-dev/sponsors/badge.svg?style=flat
|
|
267
|
+
[🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/kettle-dev?style=for-the-badge
|
|
268
|
+
[🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/kettle-dev?style=for-the-badge
|
|
269
|
+
[🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/kettle-dev?style=for-the-badge
|
|
270
|
+
[🖇osc]: https://opencollective.com/kettle-dev
|
|
271
|
+
[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
|
|
272
|
+
[🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
|
|
273
|
+
[🖇sponsor]: https://github.com/sponsors/pboling
|
|
274
|
+
[🖇kofi-img]: https://img.shields.io/badge/ko--fi-%E2%9C%93-a51611.svg?style=flat
|
|
275
|
+
[🖇kofi]: https://ko-fi.com/pboling
|
|
276
|
+
[🖇buyme-small-img]: https://img.shields.io/badge/buy_me_a_coffee-%E2%9C%93-a51611.svg?style=flat
|
|
277
|
+
[🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
|
|
278
|
+
[🖇buyme]: https://www.buymeacoffee.com/pboling
|
|
279
|
+
[🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
|
|
280
|
+
[🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
|
|
281
|
+
[🖇paypal]: https://www.paypal.com/paypalme/peterboling
|
|
282
|
+
[🖇floss-funding.dev]: https://floss-funding.dev
|
|
283
|
+
[🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
|
|
284
|
+
[✉️discord-invite]: https://discord.gg/3qme4XHNKN
|
|
285
|
+
[✉️discord-invite-img-ftb]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge&logo=discord
|
|
286
|
+
[✉️ruby-friends-img]: https://img.shields.io/badge/daily.dev-%F0%9F%92%8E_Ruby_Friends-0A0A0A?style=for-the-badge&logo=dailydotdev&logoColor=white
|
|
287
|
+
[✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
|
|
288
|
+
[✉️ruby-forum-top-img]: https://img.shields.io/discourse/topics?server=https%3A%2F%2Fwww.rubyforum.org&style=flat&logo=discourse&label=Ruby%20Users%20Forum
|
|
289
|
+
[✉️ruby-forum-img]: https://img.shields.io/discourse/topics?server=https%3A%2F%2Fwww.rubyforum.org&style=for-the-badge&logo=discourse&label=Ruby%20Users%20Forum
|
|
290
|
+
[✉️ruby-forum]: https://www.rubyforum.org/tag/kettle-dev
|
|
291
|
+
|
|
292
|
+
[✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
|
|
293
|
+
[⛳️gem-namespace]: https://github.com/kettle-dev/kettle-changelog
|
|
294
|
+
[⛳️namespace-img]: https://img.shields.io/badge/namespace-Kettle::Changelog-3C2D2D.svg?style=square&logo=ruby&logoColor=white
|
|
295
|
+
[⛳️gem-name]: https://clickgems.clickhouse.com/dashboard/kettle-changelog
|
|
296
|
+
[⛳️name-img]: https://img.shields.io/badge/name-kettle--changelog-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
|
|
297
|
+
[⛳️tag-img]: https://img.shields.io/github/tag/kettle-dev/kettle-changelog.svg
|
|
298
|
+
[⛳️tag]: https://github.com/kettle-dev/kettle-changelog/releases
|
|
299
|
+
[🚂maint-blog]: http://www.railsbling.com/tags/kettle-changelog
|
|
300
|
+
[🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
|
|
301
|
+
[🚂maint-contact]: http://www.railsbling.com/contact
|
|
302
|
+
[🚂maint-contact-img]: https://img.shields.io/badge/Contact-Maintainer-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
|
|
303
|
+
[💖🖇linkedin]: http://www.linkedin.com/in/peterboling
|
|
304
|
+
[💖🖇linkedin-img]: https://img.shields.io/badge/LinkedIn-Profile-0B66C2?style=flat&logo=newjapanprowrestling
|
|
305
|
+
[💖✌️wellfound]: https://wellfound.com/u/peter-boling
|
|
306
|
+
[💖✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=flat&logo=wellfound
|
|
307
|
+
[💖💲crunchbase]: https://www.crunchbase.com/person/peter-boling
|
|
308
|
+
[💖💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=flat&logo=crunchbase
|
|
309
|
+
[💖🐘ruby-mast]: https://ruby.social/@galtzo
|
|
310
|
+
[💖🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https://ruby.social&style=flat&logo=mastodon&label=Ruby%20@galtzo
|
|
311
|
+
[💖🦋bluesky]: https://bsky.app/profile/galtzo.com
|
|
312
|
+
[💖🦋bluesky-img]: https://img.shields.io/badge/@galtzo.com-0285FF?style=flat&logo=bluesky&logoColor=white
|
|
313
|
+
[💖🌳linktree]: https://linktr.ee/galtzo
|
|
314
|
+
[💖🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=flat&logo=linktree
|
|
315
|
+
[💖💁🏼♂️devto]: https://dev.to/galtzo
|
|
316
|
+
[💖💁🏼♂️devto-img]: https://img.shields.io/badge/dev.to-0A0A0A?style=flat&logo=devdotto&logoColor=white
|
|
317
|
+
[💖💁🏼♂️aboutme]: https://about.me/peter.boling
|
|
318
|
+
[💖💁🏼♂️aboutme-img]: https://img.shields.io/badge/about.me-0A0A0A?style=flat&logo=aboutme&logoColor=white
|
|
319
|
+
[💖🧊berg]: https://codeberg.org/pboling
|
|
320
|
+
[💖🐙hub]: https://github.org/pboling
|
|
321
|
+
[💖🛖hut]: https://sr.ht/~galtzo/
|
|
322
|
+
[💖🧪lab]: https://gitlab.com/pboling
|
|
323
|
+
[👨🏼🏫expsup-upwork]: https://www.upwork.com/freelancers/~014942e9b056abdf86?mp_source=share
|
|
324
|
+
[👨🏼🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
|
|
325
|
+
[👨🏼🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
|
|
326
|
+
[👨🏼🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
|
|
327
|
+
[🏙️entsup-tidelift]: https://tidelift.com/subscription/pkg/rubygems-kettle-changelog?utm_source=rubygems-kettle-changelog&utm_medium=referral&utm_campaign=readme
|
|
328
|
+
[🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
|
|
329
|
+
[🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
|
|
330
|
+
[💁🏼♂️peterboling]: http://www.peterboling.com
|
|
331
|
+
[🚂railsbling]: http://www.railsbling.com
|
|
332
|
+
[📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
|
|
333
|
+
[📜src-gl]: https://gitlab.com/kettle-dev/kettle-changelog
|
|
334
|
+
[📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
|
|
335
|
+
[📜src-cb]: https://codeberg.org/kettle-dev/kettle-changelog
|
|
336
|
+
[📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=GitHub&logoColor=green
|
|
337
|
+
[📜src-gh]: https://github.com/kettle-dev/kettle-changelog
|
|
338
|
+
[📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
|
339
|
+
[📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
|
|
340
|
+
[📜gl-wiki]: https://gitlab.com/kettle-dev/kettle-changelog/-/wikis/home
|
|
341
|
+
[📜gh-wiki]: https://github.com/kettle-dev/kettle-changelog/wiki
|
|
342
|
+
[📜gl-wiki-img]: https://img.shields.io/badge/wiki-gitlab-943CD2.svg?style=for-the-badge&logo=gitlab&logoColor=white
|
|
343
|
+
[📜gh-wiki-img]: https://img.shields.io/badge/wiki-github-943CD2.svg?style=for-the-badge&logo=github&logoColor=white
|
|
344
|
+
[👽dl-rank]: https://clickgems.clickhouse.com/dashboard/kettle-changelog
|
|
345
|
+
[👽dl-ranki]: https://img.shields.io/gem/dt/kettle-changelog.svg
|
|
346
|
+
[👽version]: https://clickgems.clickhouse.com/dashboard/kettle-changelog
|
|
347
|
+
[👽versioni]: https://img.shields.io/gem/v/kettle-changelog.svg
|
|
348
|
+
[🏀qlty-mnt]: https://qlty.sh/gh/kettle-dev/projects/kettle-changelog
|
|
349
|
+
[🏀qlty-mnti]: https://qlty.sh/gh/kettle-dev/projects/kettle-changelog/maintainability.svg
|
|
350
|
+
[🏀qlty-cov]: https://qlty.sh/gh/kettle-dev/projects/kettle-changelog/metrics/code?sort=coverageRating
|
|
351
|
+
[🏀qlty-covi]: https://qlty.sh/gh/kettle-dev/projects/kettle-changelog/coverage.svg
|
|
352
|
+
[🏀codecov]: https://codecov.io/gh/kettle-dev/kettle-changelog
|
|
353
|
+
[🏀codecovi]: https://codecov.io/gh/kettle-dev/kettle-changelog/graph/badge.svg
|
|
354
|
+
[🏀coveralls]: https://coveralls.io/github/kettle-dev/kettle-changelog?branch=main
|
|
355
|
+
[🏀coveralls-img]: https://coveralls.io/repos/github/kettle-dev/kettle-changelog/badge.svg?branch=main
|
|
356
|
+
[🚎2-cov-wf]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/coverage.yml
|
|
357
|
+
[🚎2-cov-wfi]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/coverage.yml/badge.svg
|
|
358
|
+
[🚎3-hd-wf]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/heads.yml
|
|
359
|
+
[🚎3-hd-wfi]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/heads.yml/badge.svg
|
|
360
|
+
[🚎5-st-wf]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/style.yml
|
|
361
|
+
[🚎5-st-wfi]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/style.yml/badge.svg
|
|
362
|
+
[🚎11-c-wf]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/current.yml
|
|
363
|
+
[🚎11-c-wfi]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/current.yml/badge.svg
|
|
364
|
+
[🚎12-crh-wf]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/dep-heads.yml
|
|
365
|
+
[🚎12-crh-wfi]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/dep-heads.yml/badge.svg
|
|
366
|
+
[🚎13-🔒️-wf]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/locked_deps.yml
|
|
367
|
+
[🚎13-🔒️-wfi]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/locked_deps.yml/badge.svg
|
|
368
|
+
[🚎14-🔓️-wf]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/unlocked_deps.yml
|
|
369
|
+
[🚎14-🔓️-wfi]: https://github.com/kettle-dev/kettle-changelog/actions/workflows/unlocked_deps.yml/badge.svg
|
|
370
|
+
[💎ruby-c-i]: https://img.shields.io/badge/Ruby-current-CC342D?style=for-the-badge&logo=ruby&logoColor=green
|
|
371
|
+
[💎ruby-headi]: https://img.shields.io/badge/Ruby-HEAD-CC342D?style=for-the-badge&logo=ruby&logoColor=blue
|
|
372
|
+
[🤝gh-issues]: https://github.com/kettle-dev/kettle-changelog/issues
|
|
373
|
+
[🤝gh-pulls]: https://github.com/kettle-dev/kettle-changelog/pulls
|
|
374
|
+
[🤝gl-issues]: https://gitlab.com/kettle-dev/kettle-changelog/-/issues
|
|
375
|
+
[🤝gl-pulls]: https://gitlab.com/kettle-dev/kettle-changelog/-/merge_requests
|
|
376
|
+
[🤝cb-issues]: https://codeberg.org/kettle-dev/kettle-changelog/issues
|
|
377
|
+
[🤝cb-pulls]: https://codeberg.org/kettle-dev/kettle-changelog/pulls
|
|
378
|
+
[🤝cb-donate]: https://donate.codeberg.org/
|
|
379
|
+
[🤝contributing]: https://github.com/kettle-dev/kettle-changelog/blob/main/CONTRIBUTING.md
|
|
380
|
+
[🏀codecov-g]: https://codecov.io/gh/kettle-dev/kettle-changelog/graph/badge.svg
|
|
381
|
+
[🖐contrib-rocks]: https://contrib.rocks
|
|
382
|
+
[🖐contributors]: https://github.com/kettle-dev/kettle-changelog/graphs/contributors
|
|
383
|
+
[🖐contributors-img]: https://contrib.rocks/image?repo=kettle-dev/kettle-changelog
|
|
384
|
+
[🚎contributors-gl]: https://gitlab.com/kettle-dev/kettle-changelog/-/graphs/main
|
|
385
|
+
[🪇conduct]: https://github.com/kettle-dev/kettle-changelog/blob/main/CODE_OF_CONDUCT.md
|
|
386
|
+
[🪇conduct-img]: https://img.shields.io/badge/Contributor_Covenant-2.1-259D6C.svg
|
|
387
|
+
[📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
|
|
388
|
+
[📌semver]: https://semver.org/spec/v2.0.0.html
|
|
389
|
+
[📌semver-img]: https://img.shields.io/badge/semver-2.0.0-259D6C.svg?style=flat
|
|
390
|
+
[📌semver-breaking]: https://github.com/semver/semver/issues/716#issuecomment-869336139
|
|
391
|
+
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
|
392
|
+
[📌changelog]: https://github.com/kettle-dev/kettle-changelog/blob/main/CHANGELOG.md
|
|
393
|
+
[📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
|
|
394
|
+
[📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-34495e.svg?style=flat
|
|
395
|
+
[📌gitmoji]: https://gitmoji.dev
|
|
396
|
+
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
397
|
+
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
398
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-0.866-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
399
|
+
[🔐security]: https://github.com/kettle-dev/kettle-changelog/blob/main/SECURITY.md
|
|
400
|
+
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
401
|
+
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
402
|
+
[📄license]: LICENSE.md
|
|
403
|
+
[📄license-ref]: https://github.com/kettle-dev/kettle-changelog/blob/main/AGPL-3.0-only.md
|
|
404
|
+
[📄license-img]: https://img.shields.io/badge/License-AGPL--3.0--only-259D6C.svg
|
|
405
|
+
[📄license-compat]: https://www.apache.org/legal/resolved.html#category-x
|
|
406
|
+
[📄license-compat-img]: https://img.shields.io/badge/Apache_Incompatible:_Category_X-%E2%9C%97-C0392B.svg?style=flat&logo=Apache
|
|
407
|
+
|
|
408
|
+
[📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
|
|
409
|
+
[📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
|
|
410
|
+
[🚎yard-current]: http://rubydoc.info/gems/kettle-changelog
|
|
411
|
+
[🚎yard-head]: https://kettle-changelog.galtzo.com
|
|
412
|
+
[💎stone_checksums]: https://github.com/galtzo-floss/stone_checksums
|
|
413
|
+
[💎SHA_checksums]: https://gitlab.com/kettle-dev/kettle-changelog/-/tree/main/checksums
|
|
414
|
+
[💎rlts]: https://github.com/rubocop-lts/rubocop-lts
|
|
415
|
+
[💎rlts-img]: https://img.shields.io/badge/code_style_&_linting-rubocop--lts-34495e.svg?plastic&logo=ruby&logoColor=white
|
|
416
|
+
[💎appraisal2]: https://github.com/appraisal-rb/appraisal2
|
|
417
|
+
[💎appraisal2-img]: https://img.shields.io/badge/appraised_by-appraisal2-34495e.svg?plastic&logo=ruby&logoColor=white
|
|
418
|
+
[💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
|
|
419
|
+
|
|
420
|
+
<!-- kettle-jem:metadata:start -->
|
|
421
|
+
| Field | Value |
|
|
422
|
+
|---|---|
|
|
423
|
+
| Package | kettle-changelog |
|
|
424
|
+
| Description | 📝 kettle-changelog formats release sections, manages Unreleased entries, and emits machine-readable release events for Ruby gems. |
|
|
425
|
+
| Homepage | https://github.com/kettle-dev/kettle-changelog |
|
|
426
|
+
| Source | https://github.com/kettle-dev/kettle-changelog |
|
|
427
|
+
| License | `AGPL-3.0-only` |
|
|
428
|
+
| Funding | https://github.com/sponsors/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/kettle-dev, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/kettle-changelog, https://www.buymeacoffee.com/pboling |
|
|
429
|
+
<!-- kettle-jem:metadata:end -->
|