kettle-dev 3.1.27 → 3.1.29

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: e391ff1f791933e2aaf7c311d4c82b24b20ff96593a5c61f0b3235fa07f45020
4
- data.tar.gz: fc411b2a642eee1caf27824ef848639935196208c2feb93d729f7f040332f4bc
3
+ metadata.gz: b5bbcae9e4ae2d02da16163b286f45912220cd5efba41059ece7180b8f8f87bf
4
+ data.tar.gz: ca49ffbec4f7e7ab8063fb8dc12751e097cedd7c5401aa7ea6a379331d3f0c48
5
5
  SHA512:
6
- metadata.gz: 334787f8c781d7b92c660690e8ca95e9e037ed094af6197187e9e2103e5947266fbe1b187a81f54493b55726bc98c5067a51439d1000261851adf12fcea225a7
7
- data.tar.gz: 203eccaf2cae1a925fb981b817f1dd4b93e5e7250ba8c3c4860c666dfa9add25b7c9f42a1d645c5e37de16b58ce8b5a860b137d4751e8975ea8e2775b074a7bc
6
+ metadata.gz: 5109ef39ece4dcd59b0277b25b28c29463c48f8f3bfecbc3508fe9742cd8860e734629c18b377b150ef81894cb78e4f5fbe2d515ffd20c1a591b7936f5d95cf9
7
+ data.tar.gz: bae2bd4613e1666fdd80c40a3ad24fc43d2950de94c6983bbf954ed8658ed09f89b4e121d7d70bbe987ba64dd89e04d787dd75156fa54ea7609c006ff43ed791
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,48 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [3.1.29] - 2026-11-15
34
+
35
+ - TAG: [v3.1.29][3.1.29t]
36
+ - COVERAGE: 91.95% -- 5856/6369 lines in 48 files
37
+ - BRANCH COVERAGE: 75.81% -- 2247/2964 branches in 48 files
38
+ - 53.68% documented
39
+
40
+ ### Changed
41
+
42
+ - [kc] kettle-jem/prepare: updated 14 project files:
43
+ - dependencies (14)
44
+
45
+ - [kc] kettle-jem/template: updated 17 project files:
46
+ - code and tests (2)
47
+ - dependencies (3)
48
+ - other (3)
49
+ - workflows (9)
50
+
51
+ ### Fixed
52
+
53
+ - `BundlerPinning.install_stable` no longer reinstalls an exact Bundler version
54
+ that is already installed, and serializes installs with a blocking `flock` in
55
+ the gem dir. Rewriting an installed Bundler in place made parallel family
56
+ members that were loading it fail with `LoadError` for files under
57
+ `bundler-X/lib/bundler`.
58
+
59
+ - `bundle:audit:update` is serialized across processes with a blocking `flock`
60
+ on a lock file next to the shared ruby-advisory-db, and a failed update is a
61
+ warning (audit uses the existing copy) when a local database exists. Fixes
62
+ `cannot lock ref 'refs/remotes/origin/master'` in parallel releases ([#57](https://github.com/kettle-dev/kettle-dev/issues/57)).
63
+
64
+ ## [3.1.28] - 2026-11-08
65
+
66
+ - TAG: [v3.1.28][3.1.28t]
67
+ - COVERAGE: 91.76% -- 5812/6334 lines in 48 files
68
+ - BRANCH COVERAGE: 75.58% -- 2231/2952 branches in 48 files
69
+ - 53.70% documented
70
+
71
+ ### Fixed
72
+
73
+ - kettle-release and readme-backers: use `type(scope): Gitmoji subject` messages for generated commits, compatible with Poly and Kettle Jem hooks.
74
+
33
75
  ## [3.1.27] - 2026-11-08
34
76
 
35
77
  - TAG: [v3.1.27][3.1.27t]
@@ -1890,6 +1932,10 @@ Please file a bug if you notice a violation of semantic versioning.
1890
1932
 
1891
1933
  ### Added
1892
1934
 
1935
+ - `KETTLE_DEV_SKIP_AUDIT_UPDATE=true` (also `1`/`yes`/`on`) skips only
1936
+ `bundle:audit:update` while `bundle:audit` still runs, so a coordinator such
1937
+ as kettle-family can update the shared advisory database once ([#57](https://github.com/kettle-dev/kettle-dev/issues/57)).
1938
+
1893
1939
  - `kettle-pre-release` now skips volatile star-history image URLs by default
1894
1940
  during Markdown image validation, and accepts additional
1895
1941
  `.kettle-family.yml` or `KETTLE_FAMILY_CONFIG` patterns under
@@ -4293,7 +4339,11 @@ Please file a bug if you notice a violation of semantic versioning.
4293
4339
  - Selecting will run the selected workflow via `act`
4294
4340
  - This may move to its own gem in the future.
4295
4341
 
4296
- [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.27...HEAD
4342
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.29...HEAD
4343
+ [3.1.29]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.28...v3.1.29
4344
+ [3.1.29t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.29
4345
+ [3.1.28]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.27...v3.1.28
4346
+ [3.1.28t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.28
4297
4347
  [3.1.27]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.26...v3.1.27
4298
4348
  [3.1.27t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.27
4299
4349
  [3.1.26]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.25...v3.1.26
data/README.md CHANGED
@@ -400,8 +400,8 @@ What it does:
400
400
  - Validates Markdown reference definitions and local heading anchors across releasable documentation before network checks.
401
401
  Markdown fixtures under `spec/` and `test/`, along with `tmp/`, are intentionally excluded.
402
402
  - Skips pre-release checks for any `start_step` greater than `0`, so resumptions begin directly at the requested numbered step.
403
- - Verifies Bundler >= 2.7, updates the primary and appraisal bundles with `bundle update --bundler`, and commits those lockfiles separately as `🔒️ Update bundle` before release preparation.
404
- - Runs sanity checks (`bin/setup`, `bin/rake`), confirms version/changelog, optionally updates Appraisals, regenerates docs via `bin/rake yard`, and commits “🔖 Prepare release vX.Y.Z”. Use `--skip-appraisals` only to omit appraisal generation while retaining documentation generation.
403
+ - Verifies Bundler >= 2.7, updates the primary and appraisal bundles with `bundle update --bundler`, and commits those lockfiles separately as `chore(deps): 🔒️ update Bundler lockfiles` before release preparation.
404
+ - Runs sanity checks (`bin/setup`, `bin/rake`), confirms version/changelog, optionally updates Appraisals, regenerates docs via `bin/rake yard`, and commits `chore(release): 🔖 prepare release vX.Y.Z`. Use `--skip-appraisals` only to omit appraisal generation while retaining documentation generation.
405
405
  - Optionally runs your CI locally with `act` before any push:
406
406
  - Enable with env: `K_RELEASE_LOCAL_CI="true"` (run automatically) or `K_RELEASE_LOCAL_CI="ask"` (prompt \[Y/n\]).
407
407
  - Select workflow with `K_RELEASE_LOCAL_CI_WORKFLOW` (with or without .yml/.yaml). Defaults to `locked_deps.yml` if present; otherwise the first workflow discovered.
@@ -476,7 +476,7 @@ What it does:
476
476
  - At release step 1, `kettle-release` runs the equivalent of
477
477
  `kettle-family bupb`: it updates the primary lockfile and, when present,
478
478
  `Appraisal.root.gemfile.lock`, resets appraisal locks, and commits only
479
- those lockfiles as `🔒️ Update bundle`. This keeps Bundler maintenance in
479
+ those lockfiles as `chore(deps): 🔒️ update Bundler lockfiles`. This keeps Bundler maintenance in
480
480
  its own atomic commit. `kettle-changelog` writes changelog content but
481
481
  does not own this commit; the release helper commits release metadata
482
482
  separately.
@@ -743,10 +743,10 @@ versions that are newer than the latest released version.
743
743
  - If neither the backers nor sponsors tags are present, prints a helpful warning and exits with status 2.
744
744
  - When there are no entries, inserts a friendly placeholder: "No backers yet. Be the first\!" or "No sponsors yet. Be the first\!".
745
745
  - When updates are written and the repository is a git work tree, the script stages README.md and commits with a message thanking new backers and subscribers, including mentions for any newly added backers and subscribers (GitHub @handles when their website/profile is a github.com URL; otherwise their name).
746
- - Customize the commit subject via env var: `KETTLE_README_BACKERS_COMMIT_SUBJECT="💸 Thanks 🙏 to our new backers 🎒 and subscribers 📜"`.
747
- - Or via .opencollective.yml: set `readme-backers-commit-subject: "💸 Thanks 🙏 to our new backers 🎒 and subscribers 📜"`.
746
+ - Customize the commit subject via env var: `KETTLE_README_BACKERS_COMMIT_SUBJECT="chore(readme): 💸 thank new backers and subscribers"`.
747
+ - Or via .opencollective.yml: set `readme-backers-commit-subject: "chore(readme): 💸 thank new backers and subscribers"`.
748
748
  - Precedence: ENV overrides .opencollective.yml; if neither is set, a sensible default is used.
749
- - Note: When used with the provided `.git-hooks`, the subject should start with a gitmoji character (see [gitmoji][📌gitmoji]).
749
+ - Use the format `type(scope): Gitmoji subject` (see [gitmoji][📌gitmoji]).
750
750
  - Tip:
751
751
  - Run this locally before committing to keep your README current, or schedule it in CI to refresh periodically.
752
752
  - It runs automatically on a once-a-week schedule by the .github/workflows/opencollective.yml workflow that is part of the kettle-jem template.
@@ -1048,7 +1048,7 @@ Thanks for RTFM. ☺️
1048
1048
  [📌gitmoji]: https://gitmoji.dev
1049
1049
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
1050
1050
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
1051
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.334-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1051
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.369-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1052
1052
  [🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
1053
1053
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
1054
1054
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
data/exe/kettle-release CHANGED
@@ -137,6 +137,8 @@ if ARGV.include?("-h") || ARGV.include?("--help")
137
137
  # Use slower appraisal:update instead of default appraisal:generate
138
138
  KETTLE_DEV_SKIP_BUNDLE_AUDIT=true
139
139
  # Skip bundle:audit/update during release rake checks
140
+ KETTLE_DEV_SKIP_AUDIT_UPDATE=true
141
+ # Skip only bundle:audit:update (advisory-db pull); bundle:audit still runs
140
142
  GITHUB_TOKEN / GH_TOKEN # Optional; enables GitHub release creation and API queries
141
143
  GITLAB_TOKEN / GL_TOKEN # Optional; enables GitLab API queries when applicable
142
144
  DEBUG=true # Print backtraces on errors
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "bundler"
4
+ require "fileutils"
4
5
  require "rubygems/dependency_installer"
5
6
 
6
7
  module Kettle
@@ -58,15 +59,49 @@ module Kettle
58
59
  # stable when nil. rubygems.org only, never prereleases, and a spec
59
60
  # reset so the just-installed version is visible to later gem lookups
60
61
  # in this process. Returns the installed specs.
62
+ #
63
+ # An exact version that is already installed is NOT reinstalled:
64
+ # RubyGems rewrites an installed gem's files in place, and parallel
65
+ # family members that are loading that Bundler at the time die with
66
+ # LoadError for random files under bundler-X/lib/bundler. Installs are
67
+ # also serialized across processes with a blocking flock in the gem dir,
68
+ # and the installed check is repeated once the lock is held, so only the
69
+ # first of several concurrent members actually installs.
61
70
  def install_stable(version = nil)
62
- original_sources = Gem.sources.to_a
63
- Gem.sources = [RUBYGEMS_SOURCE]
64
- requirements = version ? ["= #{version}"] : []
65
- specs = Gem::DependencyInstaller.new(domain: :remote, prerelease: false, document: []).install("bundler", *requirements)
66
- Gem::Specification.reset
67
- specs
68
- ensure
69
- Gem.sources = original_sources if original_sources
71
+ return [] if version && version_installed?(version)
72
+
73
+ with_install_lock do
74
+ next [] if version && version_installed?(version)
75
+
76
+ original_sources = Gem.sources.to_a
77
+ begin
78
+ Gem.sources = [RUBYGEMS_SOURCE]
79
+ requirements = version ? ["= #{version}"] : []
80
+ specs = Gem::DependencyInstaller.new(domain: :remote, prerelease: false, document: []).install("bundler", *requirements)
81
+ Gem::Specification.reset
82
+ specs
83
+ ensure
84
+ Gem.sources = original_sources if original_sources
85
+ end
86
+ end
87
+ end
88
+
89
+ # True when bundler-VERSION's gemspec is on disk in any Gem.path entry.
90
+ # Reads the specifications dir directly (see installed_stable) so a
91
+ # bundle-scoped spec index cannot hide an installed version.
92
+ def version_installed?(version)
93
+ Array(Gem.path).any? do |base|
94
+ File.file?(File.join(base, "specifications", "bundler-#{version}.gemspec"))
95
+ end
96
+ end
97
+
98
+ def with_install_lock(&block)
99
+ dir = Gem.dir
100
+ FileUtils.mkdir_p(dir)
101
+ File.open(File.join(dir, ".kettle-bundler-install.lock"), File::RDWR | File::CREAT, 0o644) do |lock|
102
+ lock.flock(File::LOCK_EX)
103
+ block.call
104
+ end
70
105
  end
71
106
 
72
107
  # The version a release should pin BUNDLED WITH to: the registry's
@@ -1,6 +1,43 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  skip_bundle_audit = %w[1 true yes on].include?(ENV.fetch("KETTLE_DEV_SKIP_BUNDLE_AUDIT", "").downcase)
4
+ # Skips only the advisory database update; bundle:audit itself still runs.
5
+ skip_audit_update = %w[1 true yes on].include?(ENV.fetch("KETTLE_DEV_SKIP_AUDIT_UPDATE", "").downcase)
6
+
7
+ # Replaces bundler-audit's `bundle:audit:update` body. The ruby-advisory-db
8
+ # lives in one directory shared by every process (e.g. parallel family
9
+ # releases), so the update is serialized with a blocking flock on a lock file
10
+ # next to the database, and a failed update is non-fatal when a usable local
11
+ # copy exists.
12
+ redefine_audit_update_task = lambda do
13
+ require "fileutils"
14
+ require "bundler/audit/database"
15
+ Rake::Task["bundle:audit:update"].clear
16
+ # rubocop:disable Rake/DuplicateTask
17
+ desc("Updates the bundler-audit vulnerability database (serialized; see KETTLE_DEV_SKIP_AUDIT_UPDATE)")
18
+ task("bundle:audit:update") do
19
+ if skip_audit_update
20
+ warn("NOTE: bundle:audit:update skipped because KETTLE_DEV_SKIP_AUDIT_UPDATE is enabled")
21
+ next
22
+ end
23
+ db_path = Bundler::Audit::Database.path
24
+ lock_path = "#{db_path.to_s.chomp("/")}.lock"
25
+ FileUtils.mkdir_p(File.dirname(lock_path))
26
+ ok = File.open(lock_path, File::RDWR | File::CREAT, 0o644) do |lock|
27
+ lock.flock(File::LOCK_EX) # blocks until other updaters finish
28
+ system("bundler-audit", "update")
29
+ end
30
+ unless ok
31
+ if Bundler::Audit::Database.exists?(db_path)
32
+ warn("WARNING: bundle:audit:update failed; auditing with the existing local database at #{db_path}")
33
+ else
34
+ warn("ERROR: bundle:audit:update failed and no local advisory database exists at #{db_path}")
35
+ exit($?&.exitstatus || 1)
36
+ end
37
+ end
38
+ end
39
+ # rubocop:enable Rake/DuplicateTask
40
+ end
4
41
 
5
42
  define_bundle_audit_stub_tasks = lambda do |description_prefix, warning|
6
43
  desc("#{description_prefix} bundle:audit")
@@ -8,7 +45,7 @@ define_bundle_audit_stub_tasks = lambda do |description_prefix, warning|
8
45
  warn(warning.call("bundle:audit"))
9
46
  end
10
47
  desc("#{description_prefix} bundle:audit:update")
11
- task("bundle:audit:update") do
48
+ task("bundle:audit:update") do # rubocop:disable Rake/DuplicateTask
12
49
  warn(warning.call("bundle:audit:update"))
13
50
  end
14
51
  end
@@ -24,6 +61,7 @@ else
24
61
  require "bundler/audit/task"
25
62
 
26
63
  Bundler::Audit::Task.new
64
+ redefine_audit_update_task.call
27
65
  Kettle::Dev.register_default("bundle:audit:update")
28
66
  Kettle::Dev.register_default("bundle:audit")
29
67
  rescue LoadError
@@ -20,7 +20,7 @@ module Kettle
20
20
  # Default README is the one in the current working directory of the host project
21
21
  README_PATH = File.expand_path("README.md", Dir.pwd)
22
22
  README_OSC_TAG_DEFAULT = "OPENCOLLECTIVE"
23
- COMMIT_SUBJECT_DEFAULT = "💸 Thanks 🙏 to our new backers 🎒 and subscribers 📜"
23
+ COMMIT_SUBJECT_DEFAULT = "chore(readme): 💸 thank new backers and subscribers"
24
24
  # Deprecated constant maintained for backwards compatibility in tests/specs.
25
25
  # Prefer OpenCollectiveConfig.yaml_path going forward, but resolve to the host project root.
26
26
  OC_YML_PATH = OpenCollectiveConfig.yaml_path(Dir.pwd)
@@ -2037,7 +2037,7 @@ module Kettle
2037
2037
 
2038
2038
  puts "Committing Bundler update in #{paths.length} lockfile(s)."
2039
2039
  abort("Failed to stage Bundler update lockfiles.") unless @git.add_repository_paths(paths)
2040
- abort("Failed to commit Bundler update lockfiles.") unless @git.commit_staged("🔒️ Update bundle", env: release_git_hook_environment)
2040
+ abort("Failed to commit Bundler update lockfiles.") unless @git.commit_staged("chore(deps): 🔒️ update Bundler lockfiles", env: release_git_hook_environment)
2041
2041
  reconcile_bundle_update_commit!
2042
2042
  true
2043
2043
  end
@@ -2492,7 +2492,7 @@ module Kettle
2492
2492
  end
2493
2493
 
2494
2494
  def commit_release_prep!(version)
2495
- msg = "🔖 Prepare release v#{version}#{release_prep_ci_marker}"
2495
+ msg = "chore(release): 🔖 prepare release v#{version}#{release_prep_ci_marker}"
2496
2496
  # Stage all changes (including new/untracked files) prior to committing
2497
2497
  abort("Failed to stage release prep changes.") unless @git.add_all
2498
2498
  out, _ = git_output(["status", "--porcelain"])
@@ -5,7 +5,7 @@ module Kettle
5
5
  # Version namespace for this gem.
6
6
  module Version
7
7
  # Current gem version.
8
- VERSION = "3.1.27"
8
+ VERSION = "3.1.29"
9
9
  end
10
10
  # Current gem version exposed at the traditional constant location.
11
11
  VERSION = Version::VERSION # Traditional Constant Location
data.tar.gz.sig CHANGED
@@ -1,3 +1,6 @@
1
- ?8��4w��/�y2�_R��UO[wY!����I
2
- ����Ы6>��:���Uzg9�q���T��5lQ�<���®��$�m�"���imI�:��Kk�t�yD�L�E-d.6pB�P| b{�f'�ܥ���:���3��>�~�7�/�͔mi���V��(H�����"�Kp�b�eC
3
- &U�I~�����&x�/?t'ޯ|=ϯxT��@�^[�ٙ�Ru�[,�aG���3a��W�T��3Z5N{��-�_ŲXF���h��OB�k�ރf=$N�t�E7�f�w^�a��_[-׺��1���4��2�&e�@@����p�Y�)~ �he'����Fk��p��-'�8��l�T����>d��*�2��и���٨�I����
1
+ Zpܪ7����:�}���c2:,:�.�[�0����ߑ!@�î�s��(��+�B����*��P�+��F��}T���>����m�Cvx��-� +5��x
2
+ ��WɶRh�T׮���- �N9��\�ut ��:��G��
3
+ fy&�V��x
4
+ f:|�l ^ �`��"^ɒ�>]�I('ڕ�k
5
+ ���
6
+ �K3��W��'�7��Ja��A݌���"���iF}O49���\��}�c R,\p��(�y/���@��@e�Y<p�O��"��i�:}�6�js���ƃ�RʏCO �T
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: 3.1.27
4
+ version: 3.1.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: '2.0'
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
- version: 2.0.29
123
+ version: 2.0.30
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
@@ -130,7 +130,7 @@ dependencies:
130
130
  version: '2.0'
131
131
  - - ">="
132
132
  - !ruby/object:Gem::Version
133
- version: 2.0.29
133
+ version: 2.0.30
134
134
  - !ruby/object:Gem::Dependency
135
135
  name: ruby-progressbar
136
136
  requirement: !ruby/object:Gem::Requirement
@@ -276,7 +276,7 @@ dependencies:
276
276
  version: '4.0'
277
277
  - - ">="
278
278
  - !ruby/object:Gem::Version
279
- version: 4.0.0
279
+ version: 4.0.2
280
280
  type: :development
281
281
  prerelease: false
282
282
  version_requirements: !ruby/object:Gem::Requirement
@@ -286,7 +286,7 @@ dependencies:
286
286
  version: '4.0'
287
287
  - - ">="
288
288
  - !ruby/object:Gem::Version
289
- version: 4.0.0
289
+ version: 4.0.2
290
290
  - !ruby/object:Gem::Dependency
291
291
  name: stone_checksums
292
292
  requirement: !ruby/object:Gem::Requirement
@@ -296,7 +296,7 @@ dependencies:
296
296
  version: '1.0'
297
297
  - - ">="
298
298
  - !ruby/object:Gem::Version
299
- version: 1.0.9
299
+ version: 1.0.10
300
300
  type: :development
301
301
  prerelease: false
302
302
  version_requirements: !ruby/object:Gem::Requirement
@@ -306,7 +306,7 @@ dependencies:
306
306
  version: '1.0'
307
307
  - - ">="
308
308
  - !ruby/object:Gem::Version
309
- version: 1.0.9
309
+ version: 1.0.10
310
310
  - !ruby/object:Gem::Dependency
311
311
  name: gitmoji-regex
312
312
  requirement: !ruby/object:Gem::Requirement
@@ -316,7 +316,7 @@ dependencies:
316
316
  version: '2.0'
317
317
  - - ">="
318
318
  - !ruby/object:Gem::Version
319
- version: 2.0.15
319
+ version: 2.0.16
320
320
  type: :development
321
321
  prerelease: false
322
322
  version_requirements: !ruby/object:Gem::Requirement
@@ -326,7 +326,7 @@ dependencies:
326
326
  version: '2.0'
327
327
  - - ">="
328
328
  - !ruby/object:Gem::Version
329
- version: 2.0.15
329
+ version: 2.0.16
330
330
  description: "\U0001F372 Kettle::Dev is a meta tool from kettle-dev to streamline
331
331
  development and testing. Acts as a shim dependency, pulling in many other dependencies,
332
332
  to give you OOTB productivity with a RubyGem, or Ruby app project. Configures a
@@ -423,10 +423,10 @@ licenses:
423
423
  - AGPL-3.0-only
424
424
  metadata:
425
425
  homepage_uri: https://kettle-dev.galtzo.com
426
- source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.1.27
427
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.1.27/CHANGELOG.md
426
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.1.29
427
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.1.29/CHANGELOG.md
428
428
  bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
429
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.1.27
429
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.1.29
430
430
  funding_uri: https://github.com/sponsors/pboling
431
431
  wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
432
432
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file