kettle-dev 1.1.18 โ†’ 1.1.19

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c48a2809e582b5f6d73b3c531e4a8336d5fec8a261003d469c0762c6b0280cfd
4
- data.tar.gz: aca0074c5d5839eb5d275d82bc82f2c47bcee8db8828d3ad1d5d5fac69878147
3
+ metadata.gz: f7d3c953377dfc1858b5a8469bf30105b01ef83dc7eadabf909dfa0d64160b04
4
+ data.tar.gz: a2fe2a9480a1f6a8b8ee80228c4d37dd9f3eae46d7a925c8ecc3af6e5b569587
5
5
  SHA512:
6
- metadata.gz: 495fb6a4ffe94e37b112735319371ea3122bddbbef3b06d681595b5a3769463b33008052c164af688221a4205e859b38b76076289ea71e7ecca519b6a930c012
7
- data.tar.gz: 88db9bbbd711aeb193b1c233da17630de0e6aeb70c35a68fe06f875c628bef5892640177dea71befa8528e9ed29de987b0f52201e20721aaef8016b5f6824422
6
+ metadata.gz: 414144368ee1dfb6afc667d6c52b87093211647e136ac2f1e3bbe621980d278b987275d8ffa8885531400935a715c7b6eed4ea6eb4a4aaea9890f9c8d1d49b4b
7
+ data.tar.gz: '049b44a4e3d2add7cac3b44ad29ddfc268ed3b1a7ec2c3e423bb5ea3c06088b74a175805cbe473702cb5c7d94905b233854462f8de2e4936c19c6e5ac8d8501e'
checksums.yaml.gz.sig CHANGED
Binary file
@@ -0,0 +1,40 @@
1
+ name: Apache SkyWalking Eyes
2
+
3
+ permissions:
4
+ contents: read
5
+
6
+ on:
7
+ push:
8
+ branches:
9
+ - 'main'
10
+ - '*-stable'
11
+ tags:
12
+ - '!*' # Do not execute on tags
13
+ pull_request:
14
+ branches:
15
+ - '*'
16
+ # Allow manually triggering the workflow.
17
+ workflow_dispatch:
18
+
19
+ # Cancels all previous workflow runs for the same branch that have not yet completed.
20
+ concurrency:
21
+ # The concurrency group contains the workflow name and the branch name.
22
+ group: "${{ github.workflow }}-${{ github.ref }}"
23
+ cancel-in-progress: true
24
+
25
+ jobs:
26
+ license-check:
27
+ if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
28
+ runs-on: ubuntu-latest
29
+ steps:
30
+ - name: Checkout
31
+ uses: actions/checkout@v5
32
+
33
+ - name: Check Dependencies' License
34
+ uses: apache/skywalking-eyes/dependency@main
35
+ with:
36
+ config: .licenserc.yaml
37
+ # Ruby packages declared as dependencies in gemspecs or Gemfiles are
38
+ # typically consumed as binaries; enable weak-compatibility
39
+ # so permissive and weak-copyleft combinations are treated as compatible.
40
+ flags: --weak-compatible
data/Appraisals.example CHANGED
@@ -30,6 +30,8 @@ end
30
30
  # Used for head (nightly) releases of ruby, truffleruby, and jruby.
31
31
  # Split into discrete appraisals if one of them needs a dependency locked discretely.
32
32
  appraise "head" do
33
+ # Why is gem "cgi" here? See: https://github.com/vcr/vcr/issues/1057
34
+ # gem "cgi", ">= 0.5"
33
35
  gem "benchmark", "~> 0.4", ">= 0.4.1"
34
36
  eval_gemfile "modular/x_std_libs.gemfile"
35
37
  end
data/CHANGELOG.md CHANGED
@@ -24,6 +24,18 @@ Please file a bug if you notice a violation of semantic versioning.
24
24
  ### Fixed
25
25
  ### Security
26
26
 
27
+ ## [1.1.19] - 2025-09-14
28
+ - TAG: [v1.1.19][1.1.19t]
29
+ - COVERAGE: 96.58% -- 3531/3656 lines in 25 files
30
+ - BRANCH COVERAGE: 81.11% -- 1443/1779 branches in 25 files
31
+ - 76.88% documented
32
+ ### Added
33
+ - documentation of vcr on Ruby 2.4
34
+ - Apache SkyWalking Eyes dependency license check
35
+ - Added to template
36
+ ### Fixed
37
+ - fix duplicate headings in CHANGELOG.md Unreleased section
38
+
27
39
  ## [1.1.18] - 2025-09-12
28
40
  - TAG: [v1.1.18][1.1.18t]
29
41
  - COVERAGE: 96.24% -- 3477/3613 lines in 25 files
@@ -648,7 +660,9 @@ Please file a bug if you notice a violation of semantic versioning.
648
660
  - Selecting will run the selected workflow via `act`
649
661
  - This may move to its own gem in the future.
650
662
 
651
- [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.18...HEAD
663
+ [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.19...HEAD
664
+ [1.1.19]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.18...v1.1.19
665
+ [1.1.19t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.19
652
666
  [1.1.18]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.17...v1.1.18
653
667
  [1.1.18t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.18
654
668
  [1.1.17]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.16...v1.1.17
data/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  # ๐Ÿฒ Kettle::Dev
11
11
 
12
- [![Version][๐Ÿ‘ฝversioni]][๐Ÿ‘ฝversion] [![GitHub tag (latest SemVer)][โ›ณ๏ธtag-img]][โ›ณ๏ธtag] [![License: MIT][๐Ÿ“„license-img]][๐Ÿ“„license-ref] [![Downloads Rank][๐Ÿ‘ฝdl-ranki]][๐Ÿ‘ฝdl-rank] [![Open Source Helpers][๐Ÿ‘ฝoss-helpi]][๐Ÿ‘ฝoss-help] [![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] [![CI Truffle Ruby][๐ŸšŽ9-t-wfi]][๐ŸšŽ9-t-wf] [![CI JRuby][๐ŸšŽ10-j-wfi]][๐ŸšŽ10-j-wf] [![Deps Locked][๐ŸšŽ13-๐Ÿ”’๏ธ-wfi]][๐ŸšŽ13-๐Ÿ”’๏ธ-wf] [![Deps Unlocked][๐ŸšŽ14-๐Ÿ”“๏ธ-wfi]][๐ŸšŽ14-๐Ÿ”“๏ธ-wf] [![CI Supported][๐ŸšŽ6-s-wfi]][๐ŸšŽ6-s-wf] [![CI Legacy][๐ŸšŽ4-lg-wfi]][๐ŸšŽ4-lg-wf] [![CI Unsupported][๐ŸšŽ7-us-wfi]][๐ŸšŽ7-us-wf] [![CI Ancient][๐ŸšŽ1-an-wfi]][๐ŸšŽ1-an-wf] [![CI Test Coverage][๐ŸšŽ2-cov-wfi]][๐ŸšŽ2-cov-wf] [![CI Style][๐ŸšŽ5-st-wfi]][๐ŸšŽ5-st-wf] [![CodeQL][๐Ÿ–codeQL-img]][๐Ÿ–codeQL]
12
+ [![Version][๐Ÿ‘ฝversioni]][๐Ÿ‘ฝversion] [![GitHub tag (latest SemVer)][โ›ณ๏ธtag-img]][โ›ณ๏ธtag] [![License: MIT][๐Ÿ“„license-img]][๐Ÿ“„license-ref] [![Downloads Rank][๐Ÿ‘ฝdl-ranki]][๐Ÿ‘ฝdl-rank] [![Open Source Helpers][๐Ÿ‘ฝoss-helpi]][๐Ÿ‘ฝoss-help] [![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] [![CI Truffle Ruby][๐ŸšŽ9-t-wfi]][๐ŸšŽ9-t-wf] [![CI JRuby][๐ŸšŽ10-j-wfi]][๐ŸšŽ10-j-wf] [![Deps Locked][๐ŸšŽ13-๐Ÿ”’๏ธ-wfi]][๐ŸšŽ13-๐Ÿ”’๏ธ-wf] [![Deps Unlocked][๐ŸšŽ14-๐Ÿ”“๏ธ-wfi]][๐ŸšŽ14-๐Ÿ”“๏ธ-wf] [![CI Supported][๐ŸšŽ6-s-wfi]][๐ŸšŽ6-s-wf] [![CI Legacy][๐ŸšŽ4-lg-wfi]][๐ŸšŽ4-lg-wf] [![CI Unsupported][๐ŸšŽ7-us-wfi]][๐ŸšŽ7-us-wf] [![CI Ancient][๐ŸšŽ1-an-wfi]][๐ŸšŽ1-an-wf] [![CI Test Coverage][๐ŸšŽ2-cov-wfi]][๐ŸšŽ2-cov-wf] [![CI Style][๐ŸšŽ5-st-wfi]][๐ŸšŽ5-st-wf] [![CodeQL][๐Ÿ–codeQL-img]][๐Ÿ–codeQL] [![Apache SkyWalking Eyes License Compatibility Check][๐ŸšŽ15-๐Ÿชช-wfi]][๐ŸšŽ15-๐Ÿชช-wf]
13
13
 
14
14
  `if ci_badges.map(&:color).detect { it != "green"}` โ˜๏ธ [let me know][๐Ÿ–ผ๏ธgaltzo-discord], as I may have missed the [discord notification][๐Ÿ–ผ๏ธgaltzo-discord].
15
15
 
@@ -62,7 +62,7 @@ bin/kettle-release
62
62
  | Support & Community | [![Join Me on Daily.dev's RubyFriends][โœ‰๏ธruby-friends-img]][โœ‰๏ธruby-friends] [![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] |
63
63
  | 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] |
64
64
  | 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] [![Wiki][๐Ÿ“œwiki-img]][๐Ÿ“œwiki] |
65
- | Compliance | [![License: MIT][๐Ÿ“„license-img]][๐Ÿ“„license-ref] [![๐Ÿ“„ilo-declaration-img]][๐Ÿ“„ilo-declaration] [![Security Policy][๐Ÿ”security-img]][๐Ÿ”security] [![Contributor Covenant 2.1][๐Ÿช‡conduct-img]][๐Ÿช‡conduct] [![SemVer 2.0.0][๐Ÿ“Œsemver-img]][๐Ÿ“Œsemver] |
65
+ | Compliance | [![License: MIT][๐Ÿ“„license-img]][๐Ÿ“„license-ref] [![Compatible with Apache Software Projects: Verified by SkyWalking Eyes][๐Ÿ“„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] |
66
66
  | 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] |
67
67
  | 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] |
68
68
  | `...` ๐Ÿ’– | [![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] |
@@ -861,6 +861,8 @@ Thanks for RTFM. โ˜บ๏ธ
861
861
  [๐ŸšŽ13-๐Ÿ”’๏ธ-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/locked_deps.yml/badge.svg
862
862
  [๐ŸšŽ14-๐Ÿ”“๏ธ-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/unlocked_deps.yml
863
863
  [๐ŸšŽ14-๐Ÿ”“๏ธ-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/unlocked_deps.yml/badge.svg
864
+ [๐ŸšŽ15-๐Ÿชช-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/license-eye.yml
865
+ [๐ŸšŽ15-๐Ÿชช-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/license-eye.yml/badge.svg
864
866
  [๐Ÿ’Žruby-2.3i]: https://img.shields.io/badge/Ruby-2.3-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
865
867
  [๐Ÿ’Žruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
866
868
  [๐Ÿ’Žruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
@@ -909,13 +911,15 @@ Thanks for RTFM. โ˜บ๏ธ
909
911
  [๐Ÿ“Œgitmoji]:https://gitmoji.dev
910
912
  [๐Ÿ“Œgitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
911
913
  [๐Ÿงฎkloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
912
- [๐Ÿงฎkloc-img]: https://img.shields.io/badge/KLOC-3.613-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
914
+ [๐Ÿงฎkloc-img]: https://img.shields.io/badge/KLOC-3.656-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
913
915
  [๐Ÿ”security]: SECURITY.md
914
916
  [๐Ÿ”security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
915
917
  [๐Ÿ“„copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
916
918
  [๐Ÿ“„license]: LICENSE.txt
917
919
  [๐Ÿ“„license-ref]: https://opensource.org/licenses/MIT
918
920
  [๐Ÿ“„license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
921
+ [๐Ÿ“„license-compat]: https://dev.to/galtzo/how-to-check-license-compatibility-41h0
922
+ [๐Ÿ“„license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
919
923
  [๐Ÿ“„ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
920
924
  [๐Ÿ“„ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-โœ“-259D6C.svg?style=flat
921
925
  [๐ŸšŽyard-current]: http://rubydoc.info/gems/kettle-dev
data/README.md.example CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  # ๐Ÿฒ Kettle::Dev
11
11
 
12
- [![Version][๐Ÿ‘ฝversioni]][๐Ÿ‘ฝversion] [![GitHub tag (latest SemVer)][โ›ณ๏ธtag-img]][โ›ณ๏ธtag] [![License: MIT][๐Ÿ“„license-img]][๐Ÿ“„license-ref] [![Downloads Rank][๐Ÿ‘ฝdl-ranki]][๐Ÿ‘ฝdl-rank] [![Open Source Helpers][๐Ÿ‘ฝoss-helpi]][๐Ÿ‘ฝoss-help] [![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] [![CI Truffle Ruby][๐ŸšŽ9-t-wfi]][๐ŸšŽ9-t-wf] [![CI JRuby][๐ŸšŽ10-j-wfi]][๐ŸšŽ10-j-wf] [![Deps Locked][๐ŸšŽ13-๐Ÿ”’๏ธ-wfi]][๐ŸšŽ13-๐Ÿ”’๏ธ-wf] [![Deps Unlocked][๐ŸšŽ14-๐Ÿ”“๏ธ-wfi]][๐ŸšŽ14-๐Ÿ”“๏ธ-wf] [![CI Supported][๐ŸšŽ6-s-wfi]][๐ŸšŽ6-s-wf] [![CI Legacy][๐ŸšŽ4-lg-wfi]][๐ŸšŽ4-lg-wf] [![CI Unsupported][๐ŸšŽ7-us-wfi]][๐ŸšŽ7-us-wf] [![CI Ancient][๐ŸšŽ1-an-wfi]][๐ŸšŽ1-an-wf] [![CI Test Coverage][๐ŸšŽ2-cov-wfi]][๐ŸšŽ2-cov-wf] [![CI Style][๐ŸšŽ5-st-wfi]][๐ŸšŽ5-st-wf] [![CodeQL][๐Ÿ–codeQL-img]][๐Ÿ–codeQL]
12
+ [![Version][๐Ÿ‘ฝversioni]][๐Ÿ‘ฝversion] [![GitHub tag (latest SemVer)][โ›ณ๏ธtag-img]][โ›ณ๏ธtag] [![License: MIT][๐Ÿ“„license-img]][๐Ÿ“„license-ref] [![Downloads Rank][๐Ÿ‘ฝdl-ranki]][๐Ÿ‘ฝdl-rank] [![Open Source Helpers][๐Ÿ‘ฝoss-helpi]][๐Ÿ‘ฝoss-help] [![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] [![CI Truffle Ruby][๐ŸšŽ9-t-wfi]][๐ŸšŽ9-t-wf] [![CI JRuby][๐ŸšŽ10-j-wfi]][๐ŸšŽ10-j-wf] [![Deps Locked][๐ŸšŽ13-๐Ÿ”’๏ธ-wfi]][๐ŸšŽ13-๐Ÿ”’๏ธ-wf] [![Deps Unlocked][๐ŸšŽ14-๐Ÿ”“๏ธ-wfi]][๐ŸšŽ14-๐Ÿ”“๏ธ-wf] [![CI Supported][๐ŸšŽ6-s-wfi]][๐ŸšŽ6-s-wf] [![CI Legacy][๐ŸšŽ4-lg-wfi]][๐ŸšŽ4-lg-wf] [![CI Unsupported][๐ŸšŽ7-us-wfi]][๐ŸšŽ7-us-wf] [![CI Ancient][๐ŸšŽ1-an-wfi]][๐ŸšŽ1-an-wf] [![CI Test Coverage][๐ŸšŽ2-cov-wfi]][๐ŸšŽ2-cov-wf] [![CI Style][๐ŸšŽ5-st-wfi]][๐ŸšŽ5-st-wf] [![CodeQL][๐Ÿ–codeQL-img]][๐Ÿ–codeQL] [![Apache SkyWalking Eyes License Compatibility Check][๐ŸšŽ15-๐Ÿชช-wfi]][๐ŸšŽ15-๐Ÿชช-wf]
13
13
 
14
14
  `if ci_badges.map(&:color).detect { it != "green"}` โ˜๏ธ [let me know][๐Ÿ–ผ๏ธgaltzo-discord], as I may have missed the [discord notification][๐Ÿ–ผ๏ธgaltzo-discord].
15
15
 
@@ -31,10 +31,10 @@
31
31
  | Works with MRI Ruby 3 | [![Ruby 3.0 Compat][๐Ÿ’Žruby-3.0i]][๐ŸšŽ4-lg-wf] [![Ruby 3.1 Compat][๐Ÿ’Žruby-3.1i]][๐ŸšŽ6-s-wf] [![Ruby 3.2 Compat][๐Ÿ’Žruby-3.2i]][๐ŸšŽ6-s-wf] [![Ruby 3.3 Compat][๐Ÿ’Žruby-3.3i]][๐ŸšŽ6-s-wf] [![Ruby 3.4 Compat][๐Ÿ’Žruby-c-i]][๐ŸšŽ11-c-wf] [![Ruby HEAD Compat][๐Ÿ’Žruby-headi]][๐ŸšŽ3-hd-wf] |
32
32
  | Works with MRI Ruby 2 | ![Ruby 2.0 Compat][๐Ÿ’Žruby-2.0i] ![Ruby 2.1 Compat][๐Ÿ’Žruby-2.1i] ![Ruby 2.2 Compat][๐Ÿ’Žruby-2.2i] <br/> [![Ruby 2.3 Compat][๐Ÿ’Žruby-2.3i]][๐ŸšŽ1-an-wf] [![Ruby 2.4 Compat][๐Ÿ’Žruby-2.4i]][๐ŸšŽ1-an-wf] [![Ruby 2.5 Compat][๐Ÿ’Žruby-2.5i]][๐ŸšŽ1-an-wf] [![Ruby 2.6 Compat][๐Ÿ’Žruby-2.6i]][๐ŸšŽ7-us-wf] [![Ruby 2.7 Compat][๐Ÿ’Žruby-2.7i]][๐ŸšŽ7-us-wf] |
33
33
  | Works with MRI Ruby 1 | ![Ruby 1.8 Compat][๐Ÿ’Žruby-1.8i] ![Ruby 1.9 Compat][๐Ÿ’Žruby-1.9i] |
34
- | Support & Community | [![Join Me on Daily.dev's RubyFriends][โœ‰๏ธruby-friends-img]][โœ‰๏ธruby-friends] [![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] |
34
+ | Support & Community | [![Join Me on Daily.dev's RubyFriends][โœ‰๏ธruby-friends-img]][โœ‰๏ธruby-friends] [![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] |
35
35
  | 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] |
36
36
  | 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] [![Wiki][๐Ÿ“œwiki-img]][๐Ÿ“œwiki] |
37
- | Compliance | [![License: MIT][๐Ÿ“„license-img]][๐Ÿ“„license-ref] [![๐Ÿ“„ilo-declaration-img]][๐Ÿ“„ilo-declaration] [![Security Policy][๐Ÿ”security-img]][๐Ÿ”security] [![Contributor Covenant 2.1][๐Ÿช‡conduct-img]][๐Ÿช‡conduct] [![SemVer 2.0.0][๐Ÿ“Œsemver-img]][๐Ÿ“Œsemver] |
37
+ | Compliance | [![License: MIT][๐Ÿ“„license-img]][๐Ÿ“„license-ref] [![Compatible with Apache Software Projects: Verified by SkyWalking Eyes][๐Ÿ“„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] |
38
38
  | 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] |
39
39
  | 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] |
40
40
  | `...` ๐Ÿ’– | [![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] |
@@ -456,6 +456,8 @@ Thanks for RTFM. โ˜บ๏ธ
456
456
  [๐ŸšŽ13-๐Ÿ”’๏ธ-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/locked_deps.yml/badge.svg
457
457
  [๐ŸšŽ14-๐Ÿ”“๏ธ-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/unlocked_deps.yml
458
458
  [๐ŸšŽ14-๐Ÿ”“๏ธ-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/unlocked_deps.yml/badge.svg
459
+ [๐ŸšŽ15-๐Ÿชช-wf]: https://github.com/kettle-rb/kettle-dev/actions/workflows/license-eye.yml
460
+ [๐ŸšŽ15-๐Ÿชช-wfi]: https://github.com/kettle-rb/kettle-dev/actions/workflows/license-eye.yml/badge.svg
459
461
  [๐Ÿ’Žruby-1.8i]: https://img.shields.io/badge/Ruby-1.8_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
460
462
  [๐Ÿ’Žruby-1.9i]: https://img.shields.io/badge/Ruby-1.9_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
461
463
  [๐Ÿ’Žruby-2.0i]: https://img.shields.io/badge/Ruby-2.0_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
@@ -509,13 +511,15 @@ Thanks for RTFM. โ˜บ๏ธ
509
511
  [๐Ÿ“Œgitmoji]:https://gitmoji.dev
510
512
  [๐Ÿ“Œgitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
511
513
  [๐Ÿงฎkloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
512
- [๐Ÿงฎkloc-img]: https://img.shields.io/badge/KLOC-3.613-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
514
+ [๐Ÿงฎkloc-img]: https://img.shields.io/badge/KLOC-3.656-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
513
515
  [๐Ÿ”security]: SECURITY.md
514
516
  [๐Ÿ”security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
515
517
  [๐Ÿ“„copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
516
518
  [๐Ÿ“„license]: LICENSE.txt
517
519
  [๐Ÿ“„license-ref]: https://opensource.org/licenses/MIT
518
520
  [๐Ÿ“„license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
521
+ [๐Ÿ“„license-compat]: https://dev.to/galtzo/how-to-check-license-compatibility-41h0
522
+ [๐Ÿ“„license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
519
523
  [๐Ÿ“„ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
520
524
  [๐Ÿ“„ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-โœ“-259D6C.svg?style=flat
521
525
  [๐ŸšŽyard-current]: http://rubydoc.info/gems/kettle-dev
data/Rakefile.example CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # kettle-dev Rakefile v1.1.18 - 2025-09-12
3
+ # kettle-dev Rakefile v1.1.19 - 2025-09-14
4
4
  # Ruby 2.3 (Safe Navigation) or higher required
5
5
  #
6
6
  # MIT License (see License.txt)
@@ -149,9 +149,7 @@ Gem::Specification.new do |spec|
149
149
  spec.add_development_dependency("gitmoji-regex", "~> 1.0", ">= 1.0.3") # ruby >= 2.3.0
150
150
 
151
151
  # HTTP recording for deterministic specs
152
- # It seems that somehow just having a newer version of appraisal installed breaks
153
- # Ruby 2.3 and 2.4 even if their bundle specifies an older version,
154
- # and as a result it can only be a dependency in the appraisals.
152
+ # Ruby 2.3 / 2.4 can fail with:
155
153
  # | An error occurred while loading spec_helper.
156
154
  # | Failure/Error: require "vcr"
157
155
  # |
@@ -161,6 +159,11 @@ Gem::Specification.new do |spec|
161
159
  # | # ./spec/config/vcr.rb:3:in `<top (required)>'
162
160
  # | # ./spec/spec_helper.rb:8:in `require_relative'
163
161
  # | # ./spec/spec_helper.rb:8:in `<top (required)>'
164
- # spec.add_development_dependency("vcr", ">= 4") # 6.0 claims to support ruby >= 2.3, but fails on ruby 2.4
165
- # spec.add_development_dependency("webmock", ">= 3") # Last version to support ruby >= 2.3
162
+ # So that's why we need backports.
163
+ # spec.add_development_dependency("backports", "~> 3.25", ">= 3.25.1") # ruby >= 0
164
+ # In Ruby 3.5 (HEAD) the CGI library has been pared down, so we also need to depend on gem "cgi" for ruby@head
165
+ # This is done in the "head" appraisal.
166
+ # See: https://github.com/vcr/vcr/issues/1057
167
+ # spec.add_development_dependency("vcr", ">= 4") # 6.0 claims to support ruby >= 2.3, but fails on ruby 2.4
168
+ # spec.add_development_dependency("webmock", ">= 3") # Last version to support ruby >= 2.3
166
169
  end
@@ -160,6 +160,10 @@ module Kettle
160
160
  # Determine if chunk has any content (non-blank)
161
161
  content_present = chunk.any? { |l| l.strip != "" }
162
162
  if content_present
163
+ # Trim leading blank lines so there is no blank line after the header
164
+ while chunk.any? && chunk.first.strip == ""
165
+ chunk.shift
166
+ end
163
167
  # Trim trailing blank lines
164
168
  while chunk.any? && chunk.last.strip == ""
165
169
  chunk.pop
@@ -314,6 +314,7 @@ module Kettle
314
314
  .gitlab-ci.yml
315
315
  .junie/guidelines-rbs.md
316
316
  .junie/guidelines.md
317
+ .licenserc.yaml
317
318
  .opencollective.yml
318
319
  .rspec
319
320
  .rubocop.yml
@@ -548,31 +549,103 @@ module Kettle
548
549
  )
549
550
  if File.basename(rel) == "CHANGELOG.md"
550
551
  begin
551
- # Special handling: only template header through Unreleased section (inclusive), preserve the rest
552
+ # Special handling for CHANGELOG.md
553
+ # 1) Take template header through Unreleased section (inclusive)
552
554
  src_lines = c.split("\n", -1)
553
- # Find index of Unreleased heading (case-insensitive), typical format: ## [Unreleased]
554
- unreleased_idx = src_lines.index { |ln| ln =~ /^##\s*\[\s*Unreleased\s*\]/i }
555
- if unreleased_idx
556
- # Determine end of Unreleased section: next heading of same or higher level (## or #)
557
- stop_idx = src_lines.length - 1
558
- j = unreleased_idx + 1
555
+ tpl_unrel_idx = src_lines.index { |ln| ln =~ /^##\s*\[\s*Unreleased\s*\]/i }
556
+ if tpl_unrel_idx
557
+ # Find end of Unreleased in template (next ## or # heading)
558
+ tpl_end_idx = src_lines.length - 1
559
+ j = tpl_unrel_idx + 1
559
560
  while j < src_lines.length
560
561
  if src_lines[j] =~ /^##\s+\[/ || src_lines[j] =~ /^#\s+/ || src_lines[j] =~ /^##\s+[^\[]/
561
- stop_idx = j - 1
562
+ tpl_end_idx = j - 1
562
563
  break
563
564
  end
564
565
  j += 1
565
566
  end
566
- header_through_unreleased = src_lines[0..stop_idx]
567
- tail = File.file?(dest) ? File.read(dest).split("\n", -1)[(File.read(dest).split("\n", -1).index { |ln| ln =~ /^##\s*\[\s*Unreleased\s*\]/i } || -1) + 1..-1] : nil
568
- tail ||= []
569
- # Additionally, ensure we preserve existing markdown link refs typically at file bottom (e.g., [Unreleased]: ...)
570
- # Prefer tail from existing file entirely to avoid clobbering release notes and refs.
571
- merged = (header_through_unreleased + (tail || [])).join("\n")
572
- c = merged
573
- else
574
- # If Unreleased not found, fallback to original c (only collapse header spacing below)
567
+ tpl_header_pre = src_lines[0...tpl_unrel_idx] # lines before Unreleased heading
568
+ tpl_unrel_heading = src_lines[tpl_unrel_idx]
569
+ src_lines[(tpl_unrel_idx + 1)..tpl_end_idx] || []
570
+
571
+ # 2) Extract destination Unreleased content, preserving list items under any standard headings
572
+ dest_content = File.file?(dest) ? File.read(dest) : ""
573
+ dest_lines = dest_content.split("\n", -1)
574
+ dest_unrel_idx = dest_lines.index { |ln| ln =~ /^##\s*\[\s*Unreleased\s*\]/i }
575
+ dest_end_idx = if dest_unrel_idx
576
+ k = dest_unrel_idx + 1
577
+ e = dest_lines.length - 1
578
+ while k < dest_lines.length
579
+ if dest_lines[k] =~ /^##\s+\[/ || dest_lines[k] =~ /^#\s+/ || dest_lines[k] =~ /^##\s+[^\[]/
580
+ e = k - 1
581
+ break
582
+ end
583
+ k += 1
584
+ end
585
+ e
586
+ end
587
+ dest_unrel_body = dest_unrel_idx ? (dest_lines[(dest_unrel_idx + 1)..dest_end_idx] || []) : []
588
+
589
+ # Helper: parse body into map of heading=>items (only '- ' markdown items)
590
+ std_heads = [
591
+ "### Added",
592
+ "### Changed",
593
+ "### Deprecated",
594
+ "### Removed",
595
+ "### Fixed",
596
+ "### Security",
597
+ ]
598
+
599
+ parse_items = lambda do |body_lines|
600
+ result = {}
601
+ cur = nil
602
+ body_lines.each do |ln|
603
+ if ln.start_with?("### ")
604
+ cur = ln.strip
605
+ result[cur] ||= []
606
+ elsif ln.start_with?("- ")
607
+ result[cur] ||= []
608
+ result[cur] << ln.rstrip
609
+ end
610
+ end
611
+ result
612
+ end
613
+
614
+ dest_items = parse_items.call(dest_unrel_body)
615
+
616
+ # 3) Build a single canonical Unreleased section: heading + the six standard subheads in order
617
+ new_unrel_block = []
618
+ new_unrel_block << tpl_unrel_heading
619
+ std_heads.each do |h|
620
+ new_unrel_block << h
621
+ if dest_items[h] && !dest_items[h].empty?
622
+ new_unrel_block.concat(dest_items[h])
623
+ end
624
+ end
625
+
626
+ # 4) Compose final content: template preface + new unreleased + rest of destination (after its unreleased)
627
+ tail_after_unrel = []
628
+ if dest_unrel_idx
629
+ tail_after_unrel = dest_lines[(dest_end_idx + 1)..-1] || []
630
+ end
631
+
632
+ # Ensure exactly one blank line between the Unreleased chunk and the next version chunk
633
+ # - Strip trailing blanks from the newly built Unreleased block
634
+ while new_unrel_block.any? && new_unrel_block.last.to_s.strip == ""
635
+ new_unrel_block.pop
636
+ end
637
+ # - Strip leading blanks from the tail
638
+ while tail_after_unrel.any? && tail_after_unrel.first.to_s.strip == ""
639
+ tail_after_unrel.shift
640
+ end
641
+ merged_lines = tpl_header_pre + new_unrel_block
642
+ # Insert a single separator blank line if there is any tail content
643
+ merged_lines << "" if tail_after_unrel.any?
644
+ merged_lines.concat(tail_after_unrel)
645
+
646
+ c = merged_lines.join("\n")
575
647
  end
648
+
576
649
  # Collapse repeated whitespace in release headers only
577
650
  lines = c.split("\n", -1)
578
651
  lines.map! do |ln|
@@ -585,7 +658,7 @@ module Kettle
585
658
  c = lines.join("\n")
586
659
  rescue StandardError => e
587
660
  Kettle::Dev.debug_error(e, __method__)
588
- # On any error, keep previous behavior (collapse whitespace only)
661
+ # Fallback: whitespace normalization
589
662
  lines = c.split("\n", -1)
590
663
  lines.map! { |ln| (ln =~ /^##\s+\[.*\]/) ? ln.gsub(/[ \t]+/, " ") : ln }
591
664
  c = lines.join("\n")
@@ -6,7 +6,7 @@ module Kettle
6
6
  module Version
7
7
  # The gem version.
8
8
  # @return [String]
9
- VERSION = "1.1.18"
9
+ VERSION = "1.1.19"
10
10
 
11
11
  module_function
12
12
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kettle-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.18
4
+ version: 1.1.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -241,6 +241,7 @@ files:
241
241
  - ".github/workflows/jruby.yml"
242
242
  - ".github/workflows/jruby.yml.example"
243
243
  - ".github/workflows/legacy.yml"
244
+ - ".github/workflows/license-eye.yml"
244
245
  - ".github/workflows/locked_deps.yml"
245
246
  - ".github/workflows/opencollective.yml"
246
247
  - ".github/workflows/style.yml"
@@ -386,10 +387,10 @@ licenses:
386
387
  - MIT
387
388
  metadata:
388
389
  homepage_uri: https://kettle-dev.galtzo.com/
389
- source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1.18
390
- changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.18/CHANGELOG.md
390
+ source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1.19
391
+ changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.19/CHANGELOG.md
391
392
  bug_tracker_uri: https://github.com/kettle-rb/kettle-dev/issues
392
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.18
393
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.19
393
394
  funding_uri: https://github.com/sponsors/pboling
394
395
  wiki_uri: https://github.com/kettle-rb/kettle-dev/wiki
395
396
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file