kettle-dev 1.1.33 → 1.1.34

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: 75a1e2bd3427f4cb693a7c57c69e733c6ac5e92df56aeba02ad85fcbb8eaf677
4
- data.tar.gz: 4fda8487beb40b94941c32a18066ffc3f995c2cef351e9b289f91d6098213253
3
+ metadata.gz: 7bed8f3120c4a6e802739f3a9ad89e6c287bf46daddaf60f76d590a19f181655
4
+ data.tar.gz: 7a27825799903260664be7e83b9de1bb4ec209c10fe0e485b78262f4acd051b2
5
5
  SHA512:
6
- metadata.gz: 3c80c576bbf97d1e25d21b8e4d28d3ef09dd3ca1e13912105e81d73c4682dedd83492df7eccbe10b730cc40b237f1e154709b4fe45de2450723aa129567d981c
7
- data.tar.gz: 272a2cce9ed40731e78eb0f09a600072c0430c088a836ec6d297e67b43f6b3cde09ad5ee1c9c603c75231320e764c87ecdc915da60fcb950d22f6c22590f7708
6
+ metadata.gz: 14da5405b5541fd3df74d20880853bb09d3a5d5c9186c212b6d40a02deb686ac6fb65294a0dd9bc5dec4a2e17678993951cbd22165ad6dd78c7ad6ef48aa6250
7
+ data.tar.gz: 951fceacca3fc66a3b607778bb630193ec3853c24d8f3f2d0cd7abdb1f68d6f483171b5b5fe2d0da1b2b8b7a54bdc88094cbb83c42254bf7e1d56609fbd24cc7
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,25 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [1.1.34] - 2025-10-20
34
+
35
+ - TAG: [v1.1.34][1.1.34t]
36
+ - COVERAGE: 96.10% -- 3938/4098 lines in 26 files
37
+ - BRANCH COVERAGE: 80.92% -- 1624/2007 branches in 26 files
38
+ - 79.68% documented
39
+
40
+ ### Changed
41
+
42
+ - kettle-release: Make step 17 only push the checksum commit; bin/gem_checksums creates the commit internally.
43
+ - kettle-release: Ensure a final push of tags occurs after checksums and optional GitHub release; supports an 'all' remote aggregator when configured.
44
+
45
+ ### Fixed
46
+
47
+ - fixed rake task compatibility with BUNDLE_PATH (i.e. vendored bundle)
48
+ - appraisal tasks
49
+ - bench tasks
50
+ - reek tasks
51
+
33
52
  ## [1.1.33] - 2025-10-13
34
53
 
35
54
  - TAG: [v1.1.33][1.1.33t]
@@ -1081,7 +1100,9 @@ Please file a bug if you notice a violation of semantic versioning.
1081
1100
  - Selecting will run the selected workflow via `act`
1082
1101
  - This may move to its own gem in the future.
1083
1102
 
1084
- [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.33...HEAD
1103
+ [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.34...HEAD
1104
+ [1.1.34]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.33...v1.1.34
1105
+ [1.1.34t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.34
1085
1106
  [1.1.33]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.32...v1.1.33
1086
1107
  [1.1.33t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.33
1087
1108
  [1.1.32]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.31...v1.1.32
data/README.md CHANGED
@@ -1,9 +1,9 @@
1
- | 📍 NOTE |
2
- |-------------------------------------------------------------------------------------------------------------------------------------------------------------|
3
- | RubyGems.org was [recently compromised][draper-security] in a [hostile takeover][draper-takeover] about which [many lies][draper-lies] have been told. |
4
- | I'm in the process of adding warnings to some important gems because I [don't condone the theft][draper-theft] of the bundler and rubygems-update projects. |
5
- | Once publishing to [gem.coop][gem-coop] is available I will stop publishing to RubyGems.org. |
6
- | Please see [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
1
+ | 📍 NOTE |
2
+ |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
3
+ | RubyGems.org was [recently compromised][draper-security] in a [hostile takeover][draper-takeover] about which [many lies][draper-lies] have been told. |
4
+ | I'm in the process of adding warnings to some important gems because I [don't condone the theft][draper-theft] of the bundler and rubygems-update projects. |
5
+ | Once publishing to [gem.coop][gem-coop] is available I will stop publishing to RubyGems.org, unless they make amends. I am writing my a new federated gem-server. |
6
+ | Please see [here][gem-coop] and [here][martin-ann] for more info on what comes next. This ["Technology for Humans" podcast episode][reinteractive-podcast] is the best summary I'm aware of. |
7
7
 
8
8
  [draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
9
9
  [draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
@@ -11,6 +11,7 @@
11
11
  [draper-theft]: https://joel.drapper.me/p/ruby-central/
12
12
  [gem-coop]: https://gem.coop
13
13
  [martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
14
+ [reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
14
15
 
15
16
  [![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![kettle-dev Logo by Aboling0, CC BY-SA 4.0][🖼️kettle-dev-i]][🖼️kettle-dev]
16
17
 
@@ -939,7 +940,7 @@ Thanks for RTFM. ☺️
939
940
  [📌gitmoji]:https://gitmoji.dev
940
941
  [📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
941
942
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
942
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-1.176-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
943
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-4.098-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
943
944
  [🔐security]: SECURITY.md
944
945
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
945
946
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
data/README.md.example CHANGED
@@ -1,9 +1,9 @@
1
- | 📍 NOTE |
2
- |-------------------------------------------------------------------------------------------------------------------------------------------------------------|
3
- | RubyGems.org was [recently compromised][draper-security] in a [hostile takeover][draper-takeover] about which [many lies][draper-lies] have been told. |
4
- | I'm in the process of adding warnings to some important gems because I [don't condone the theft][draper-theft] of the bundler and rubygems-update projects. |
5
- | Once publishing to [gem.coop][gem-coop] is available I will stop publishing to RubyGems.org. |
6
- | Please see [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
1
+ | 📍 NOTE |
2
+ |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
3
+ | RubyGems.org was [recently compromised][draper-security] in a [hostile takeover][draper-takeover] about which [many lies][draper-lies] have been told. |
4
+ | I'm in the process of adding warnings to some important gems because I [don't condone the theft][draper-theft] of the bundler and rubygems-update projects. |
5
+ | Once publishing to [gem.coop][gem-coop] is available I will stop publishing to RubyGems.org, unless they make amends. I am writing my a new federated gem-server. |
6
+ | Please see [here][gem-coop] and [here][martin-ann] for more info on what comes next. This ["Technology for Humans" podcast episode][reinteractive-podcast] is the best summary I'm aware of. |
7
7
 
8
8
  [draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
9
9
  [draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
@@ -11,6 +11,7 @@
11
11
  [draper-theft]: https://joel.drapper.me/p/ruby-central/
12
12
  [gem-coop]: https://gem.coop
13
13
  [martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
14
+ [reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
14
15
 
15
16
  [![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![kettle-dev Logo by Aboling0, CC BY-SA 4.0][🖼️kettle-dev-i]][🖼️kettle-dev]
16
17
 
@@ -533,7 +534,7 @@ Thanks for RTFM. ☺️
533
534
  [📌gitmoji]:https://gitmoji.dev
534
535
  [📌gitmoji-img]:https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
535
536
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
536
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-1.176-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
537
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-4.098-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
537
538
  [🔐security]: SECURITY.md
538
539
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
539
540
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -1,9 +1,9 @@
1
- | 📍 NOTE |
2
- |-------------------------------------------------------------------------------------------------------------------------------------------------------------|
3
- | RubyGems.org was [recently compromised][draper-security] in a [hostile takeover][draper-takeover] about which [many lies][draper-lies] have been told. |
4
- | I'm in the process of adding warnings to some important gems because I [don't condone the theft][draper-theft] of the bundler and rubygems-update projects. |
5
- | Once publishing to [gem.coop][gem-coop] is available I will stop publishing to RubyGems.org. |
6
- | Please see [here][gem-coop] and [here][martin-ann] for more info on what comes next. |
1
+ | 📍 NOTE |
2
+ |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
3
+ | RubyGems.org was [recently compromised][draper-security] in a [hostile takeover][draper-takeover] about which [many lies][draper-lies] have been told. |
4
+ | I'm in the process of adding warnings to some important gems because I [don't condone the theft][draper-theft] of the bundler and rubygems-update projects. |
5
+ | Once publishing to [gem.coop][gem-coop] is available I will stop publishing to RubyGems.org, unless they make amends. I am writing my a new federated gem-server. |
6
+ | Please see [here][gem-coop] and [here][martin-ann] for more info on what comes next. This ["Technology for Humans" podcast episode][reinteractive-podcast] is the best summary I'm aware of. |
7
7
 
8
8
  [draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/
9
9
  [draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/
@@ -11,6 +11,7 @@
11
11
  [draper-theft]: https://joel.drapper.me/p/ruby-central/
12
12
  [gem-coop]: https://gem.coop
13
13
  [martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html
14
+ [reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6
14
15
 
15
16
  [![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] [![kettle-dev Logo by Aboling0, CC BY-SA 4.0][🖼️kettle-dev-i]][🖼️kettle-dev]
16
17
 
data/Rakefile.example CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # kettle-dev Rakefile v1.1.33 - 2025-10-13
3
+ # kettle-dev Rakefile v1.1.34 - 2025-10-20
4
4
  # Ruby 2.3 (Safe Navigation) or higher required
5
5
  #
6
6
  # MIT License (see License.txt)
data/exe/kettle-release CHANGED
@@ -11,8 +11,10 @@
11
11
  # - Builds and releases using Bundler/Rake (reproducible by default in Bundler 2.7+)
12
12
  # - Runs `bundle exec rake build` (expects PEM password unless SKIP_GEM_SIGNING)
13
13
  # - If signing not skipped and no public cert in certs/<user>.pem, aborts with guidance
14
- # - Runs bin/gem_checksums
15
14
  # - Runs `bundle exec rake release` (expects PEM password and RubyGems MFA OTP)
15
+ # - Runs bin/gem_checksums (which creates the checksum commit), then pushes it
16
+ # - Optionally creates a GitHub Release when GITHUB_TOKEN is present
17
+ # - Finally pushes tags to remotes (including an 'all' aggregator if configured)
16
18
 
17
19
  # Immediate, unbuffered output
18
20
  $stdout.sync = true
@@ -52,7 +54,10 @@ if ARGV.include?("-h") || ARGV.include?("--help")
52
54
  - Commits a release prep change
53
55
  - Ensures trunk is up-to-date, pushes branch, and monitors CI (GitHub/GitLab)
54
56
  - Merges feature into trunk upon CI success
55
- - Builds, records checksums, and releases (requires Bundler >= 2.7.0)
57
+ - Builds and releases the gem
58
+ - Generates checksums (via bin/gem_checksums), then pushes the checksum commit
59
+ - Optionally creates a GitHub Release
60
+ - Pushes tags to remotes at the end
56
61
 
57
62
  Environment:
58
63
  SKIP_GEM_SIGNING=true # skip gem signing during build/release
@@ -104,6 +104,36 @@ module Kettle
104
104
  end
105
105
  end
106
106
 
107
+ # Push all tags to a remote.
108
+ # Notes:
109
+ # - The ruby-git gem does not provide a stable API for pushing all tags across
110
+ # versions, so we intentionally shell out to `git push --tags` for both
111
+ # backends. Tests should stub this method in higher-level code to avoid
112
+ # mutating any repositories.
113
+ #
114
+ # @param remote [String, nil] The remote name. When nil or empty, uses the
115
+ # repository's default remote (same behavior as running `git push --tags`)
116
+ # which typically uses the current branch's upstream.
117
+ # @return [Boolean] true if the system call reports success; false on failure
118
+ def push_tags(remote)
119
+ if @backend == :gem
120
+ # The ruby-git gem does not expose a dedicated API for "--tags" consistently across versions.
121
+ # Use a shell fallback even when the gem backend is active. Tests should stub this method.
122
+ if remote && !remote.to_s.empty?
123
+ system("git", "push", remote.to_s, "--tags")
124
+ else
125
+ system("git", "push", "--tags")
126
+ end
127
+ elsif remote && !remote.to_s.empty?
128
+ system("git", "push", remote.to_s, "--tags")
129
+ else
130
+ system("git", "push", "--tags")
131
+ end
132
+ rescue StandardError => e
133
+ Kettle::Dev.debug_error(e, __method__)
134
+ false
135
+ end
136
+
107
137
  # @return [String, nil] current branch name, or nil on error
108
138
  def current_branch
109
139
  if @backend == :gem
@@ -6,14 +6,14 @@ begin
6
6
 
7
7
  desc("Install Appraisal gemfiles (initial setup for projects that didn't previously use Appraisal)")
8
8
  task("appraisal:install") do
9
- bundle = Gem.bindir ? File.join(Gem.bindir, "bundle") : "bundle"
9
+ bundle = "bundle"
10
10
 
11
11
  run_in_unbundled = proc do
12
12
  env = {"BUNDLE_GEMFILE" => "Appraisal.root.gemfile"}
13
13
 
14
- # 1) bundle install --gemfile Appraisal.root.gemfile
15
- ok = system(bundle, "install", "--gemfile", "Appraisal.root.gemfile")
16
- abort("appraisal:install failed: bundle install --gemfile Appraisal.root.gemfile") unless ok
14
+ # 1) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle install
15
+ ok = system(env, bundle, "install")
16
+ abort("appraisal:install failed: BUNDLE_GEMFILE=Appraisal.root.gemfile bundle install") unless ok
17
17
 
18
18
  # 2) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal install
19
19
  ok = system(env, bundle, "exec", "appraisal", "install")
@@ -33,22 +33,22 @@ begin
33
33
 
34
34
  desc("Update Appraisal gemfiles and run RuboCop Gradual autocorrect")
35
35
  task("appraisal:update") do
36
- bundle = Gem.bindir ? File.join(Gem.bindir, "bundle") : "bundle"
36
+ bundle = "bundle"
37
37
 
38
38
  run_in_unbundled = proc do
39
39
  env = {"BUNDLE_GEMFILE" => "Appraisal.root.gemfile"}
40
40
 
41
41
  # 1) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle update --bundler
42
42
  ok = system(env, bundle, "update", "--bundler")
43
- abort("appraisal:update failed: bundle update --bundler under Appraisal.root.gemfile") unless ok
43
+ abort("appraisal:update failed: BUNDLE_GEMFILE=Appraisal.root.gemfile bundle update --bundler") unless ok
44
44
 
45
- # 2) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle (install)
46
- ok = system(env, bundle)
47
- abort("appraisal:update failed: bundler install under Appraisal.root.gemfile") unless ok
45
+ # 2) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle install
46
+ ok = system(env, bundle, "install")
47
+ abort("appraisal:update failed: BUNDLE_GEMFILE=Appraisal.root.gemfile bundle install") unless ok
48
48
 
49
49
  # 3) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal update
50
50
  ok = system(env, bundle, "exec", "appraisal", "update")
51
- abort("appraisal:update failed: bundle exec appraisal update") unless ok
51
+ abort("appraisal:update failed: BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal update") unless ok
52
52
 
53
53
  # 4) bundle exec rake rubocop_gradual:autocorrect
54
54
  ok = system(bundle, "exec", "rake", "rubocop_gradual:autocorrect")
@@ -22,7 +22,7 @@ namespace :bench do
22
22
  end
23
23
 
24
24
  ruby = RbConfig.ruby
25
- bundle = Gem.bindir ? File.join(Gem.bindir, "bundle") : "bundle"
25
+ bundle = "bundle"
26
26
  bench_files = Dir[File.join(__dir__, "benchmarks", "*.rb")].sort
27
27
  if bench_files.empty?
28
28
  puts "No benchmark scripts found under benchmarks/."
@@ -15,7 +15,7 @@ begin
15
15
  desc("Run reek and store the output into the REEK file")
16
16
  task("reek:update") do
17
17
  # Run via Bundler if available to ensure the right gem version is used
18
- cmd = [Gem.bindir ? File.join(Gem.bindir, "bundle") : "bundle", "exec", "reek"]
18
+ cmd = %w[bundle exec reek]
19
19
 
20
20
  output, status = Open3.capture2e(*cmd)
21
21
 
@@ -269,22 +269,25 @@ module Kettle
269
269
  # 16. generate checksums
270
270
  # Checksums are generated after release to avoid including checksums/ in gem package
271
271
  # Rationale: Running gem_checksums before release may commit checksums/ and cause Bundler's
272
- # release build to include them in the gem, altering the artifact.
272
+ # release build to include them in the gem, thus altering the artifact, and invalidating the checksums.
273
273
  if @start_step <= 16
274
- # Generate checksums for the just-built artifact, then validate
274
+ # Generate checksums for the just-built artifact, commit them, then validate
275
275
  run_cmd!("bin/gem_checksums")
276
276
  version ||= detect_version
277
277
  validate_checksums!(version, stage: "after release")
278
278
  end
279
279
 
280
- # 17. create GitHub release (optional)
281
- if @start_step <= 17
280
+ # 17. push checksum commit (gem_checksums already commits)
281
+ push! if @start_step <= 17
282
+
283
+ # 18. create GitHub release (optional)
284
+ if @start_step <= 18
282
285
  version ||= detect_version
283
286
  maybe_create_github_release!(version)
284
287
  end
285
288
 
286
- # 18. push tags to remotes (new final step)
287
- push_tags! if @start_step <= 18
289
+ # 19. push tags to remotes (final step)
290
+ push_tags! if @start_step <= 19
288
291
 
289
292
  # Final success message
290
293
  begin
@@ -708,17 +711,20 @@ module Kettle
708
711
  # 2) Otherwise, if other remotes exist, push tags to each of them.
709
712
  # 3) If no remotes are configured, push tags using default remote.
710
713
  if has_remote?("all")
711
- run_cmd!("git push all --tags")
714
+ ok = @git.push_tags("all")
715
+ warn("Push tags to 'all' reported failure.") unless ok
712
716
  return
713
717
  end
714
718
 
715
719
  remotes = list_remotes
716
720
  remotes -= ["all"] if remotes
717
721
  if remotes.nil? || remotes.empty?
718
- run_cmd!("git push --tags")
722
+ ok = @git.push_tags(nil)
723
+ warn("Push tags (default remote) reported failure.") unless ok
719
724
  else
720
725
  remotes.each do |remote|
721
- run_cmd!("git push #{Shellwords.escape(remote)} --tags")
726
+ ok = @git.push_tags(remote)
727
+ warn("Push tags to #{remote} reported failure.") unless ok
722
728
  end
723
729
  end
724
730
  end
@@ -6,7 +6,7 @@ module Kettle
6
6
  module Version
7
7
  # The gem version.
8
8
  # @return [String]
9
- VERSION = "1.1.33"
9
+ VERSION = "1.1.34"
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.33
4
+ version: 1.1.34
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -409,10 +409,10 @@ licenses:
409
409
  - MIT
410
410
  metadata:
411
411
  homepage_uri: https://kettle-dev.galtzo.com/
412
- source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1.33
413
- changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.33/CHANGELOG.md
412
+ source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1.34
413
+ changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.34/CHANGELOG.md
414
414
  bug_tracker_uri: https://github.com/kettle-rb/kettle-dev/issues
415
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.33
415
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.34
416
416
  funding_uri: https://github.com/sponsors/pboling
417
417
  wiki_uri: https://github.com/kettle-rb/kettle-dev/wiki
418
418
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file