kettle-dev 2.5.20 → 2.5.21

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: 7f642698f24dc241a8f3286ff20b151dcdb30333c436290681740ffe24fb6148
4
- data.tar.gz: 578361645c3b639cca69d6c120a7990b38afcbb55bc6c5c55df95e4ba998e292
3
+ metadata.gz: 75484cde250c1d87c9c5b85180972c7eb9596874b2d04ec1901d0bf9b60313cc
4
+ data.tar.gz: f71c7e5bfcf8411b2545d3a6d0875c323a8f90f6374d8a21a839ecafa6389b5b
5
5
  SHA512:
6
- metadata.gz: bfd379df162aa902b96ba7f5fefc28170aee8f1995230d24268baccd8603dfa4a596cf4f29acf2a0230c8d1e755ec8a91ddc193cd4139a18e9bfc69143bd59e7
7
- data.tar.gz: 62bd06604b31ea2d042e87ebb67ab9815d251c29e4606ea61cdcd5aad983868229e932dfad3bce5ea304e5a54523816723d1da3ce8a618f6e7eca88714f0aea0
6
+ metadata.gz: 7418829b37e194a8a248e9ea7a2a4e2e48040d55d0008b0e0f86e939815576b3c6715b364f4f2c686031c644c41a80306e24f46cbc9ced3771ab0de2e60e8f48
7
+ data.tar.gz: f6910b5d7315bd82a8cfea7cc07aa581b6cf654b994ad6463d07952bfec95cb427e2ba225fd3fce009ad6083ed7cc133c875c056a5872c15a4664ce0701a1b4e
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,19 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [2.5.21] - 2026-08-07
34
+
35
+ - TAG: [v2.5.21][2.5.21t]
36
+ - COVERAGE: 91.99% -- 5469/5945 lines in 47 files
37
+ - BRANCH COVERAGE: 76.14% -- 2058/2703 branches in 47 files
38
+ - 50.77% documented
39
+
40
+ ### Fixed
41
+
42
+ - Release coverage now honors a project that disables hard coverage thresholds.
43
+
44
+ - Release-state version lookups now refresh when the cached RubyGems data predates the requested version.
45
+
33
46
  ## [2.5.20] - 2026-08-07
34
47
 
35
48
  - TAG: [v2.5.20][2.5.20t]
@@ -3272,7 +3285,9 @@ Please file a bug if you notice a violation of semantic versioning.
3272
3285
  - Selecting will run the selected workflow via `act`
3273
3286
  - This may move to its own gem in the future.
3274
3287
 
3275
- [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v2.5.20...HEAD
3288
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v2.5.21...HEAD
3289
+ [2.5.21]: https://github.com/kettle-dev/kettle-dev/compare/v2.5.20...v2.5.21
3290
+ [2.5.21t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.5.21
3276
3291
  [2.5.20]: https://github.com/kettle-dev/kettle-dev/compare/v2.5.19...v2.5.20
3277
3292
  [2.5.20t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.5.20
3278
3293
  [2.5.19]: https://github.com/kettle-dev/kettle-dev/compare/v2.5.18...v2.5.19
data/README.md CHANGED
@@ -1007,7 +1007,7 @@ Thanks for RTFM. ☺️
1007
1007
  [📌gitmoji]: https://gitmoji.dev
1008
1008
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
1009
1009
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
1010
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-5.929-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1010
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-5.945-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1011
1011
  [🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
1012
1012
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
1013
1013
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -794,10 +794,25 @@ module Kettle
794
794
  cmd = "#{cmd} --version #{Shellwords.escape(@version_override)}" if @version_override
795
795
  cmd = "#{cmd} --yes" if @yes
796
796
  cmd = "#{cmd} --events=changelog" if @event_stream
797
- run_cmd!(cmd)
797
+ with_project_changelog_coverage_policy { run_cmd!(cmd) }
798
798
  @changelog_generated_coverage = true
799
799
  end
800
800
 
801
+ # Monorepo subprojects commonly disable their local hard coverage gate
802
+ # because their narrow test suite cannot satisfy the aggregate root
803
+ # thresholds. Preserve an explicit changelog policy, otherwise derive
804
+ # the changelog coverage policy from the project's coverage setting.
805
+ def with_project_changelog_coverage_policy
806
+ original = ENV["K_CHANGELOG_COVERAGE_HARD"]
807
+ changed = original.nil? && ENV["K_SOUP_COV_MIN_HARD"].to_s.casecmp?("false")
808
+ return yield unless changed
809
+
810
+ ENV["K_CHANGELOG_COVERAGE_HARD"] = "false"
811
+ yield
812
+ ensure
813
+ ENV["K_CHANGELOG_COVERAGE_HARD"] = original if changed
814
+ end
815
+
801
816
  def release_default_task_command
802
817
  # `kettle-changelog` generates strict coverage by running `bundle exec kettle-test`.
803
818
  # When that happened during this same release invocation, the default task can skip
@@ -23,7 +23,7 @@ module Kettle
23
23
  def fetch(gem_name, version_hint: nil, refresh: false)
24
24
  name = gem_name.to_s
25
25
  cached = cached_versions(name)
26
- cache_bust = refresh || env_refresh? || fresh_release_marker?(name, version_hint)
26
+ cache_bust = refresh || env_refresh? || fresh_release_marker?(name, version_hint) || cached_behind_version?(cached, version_hint)
27
27
  return cached if cached && !cache_bust
28
28
 
29
29
  uri = versions_uri(gem_name, cache_bust: cache_bust)
@@ -104,6 +104,22 @@ module Kettle
104
104
  false
105
105
  end
106
106
 
107
+ def cached_behind_version?(cached, version_hint)
108
+ return false unless cached && version_hint
109
+
110
+ cached_versions = cached.each_with_object([]) do |entry, versions|
111
+ value = entry["number"] if entry.is_a?(Hash)
112
+ next if value.to_s.empty? || value.to_s =~ /[a-zA-Z]/
113
+
114
+ versions << Gem::Version.new(value)
115
+ end
116
+ return false if cached_versions.empty?
117
+
118
+ cached_versions.max < Gem::Version.new(version_hint)
119
+ rescue ArgumentError
120
+ false
121
+ end
122
+
107
123
  def read_marker(path)
108
124
  return {} unless File.file?(path)
109
125
 
@@ -5,7 +5,7 @@ module Kettle
5
5
  # Version namespace for this gem.
6
6
  module Version
7
7
  # Current gem version.
8
- VERSION = "2.5.20"
8
+ VERSION = "2.5.21"
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
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: 2.5.20
4
+ version: 2.5.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -402,10 +402,10 @@ licenses:
402
402
  - AGPL-3.0-only
403
403
  metadata:
404
404
  homepage_uri: https://kettle-dev.galtzo.com
405
- source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.5.20
406
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.5.20/CHANGELOG.md
405
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.5.21
406
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.5.21/CHANGELOG.md
407
407
  bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
408
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.5.20
408
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.5.21
409
409
  funding_uri: https://github.com/sponsors/pboling
410
410
  wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
411
411
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
@@ -1,2 +1,5 @@
1
- �~5
2
- ac��Nz�k�V��)���S����@���5��ȥ:���ZW�@��W���BnF�oc}�7"ẃ7RY��V�Qu:*T{\֎�κX��ܲ�wƺR�Yt�͜rr"�0�r����|��'��� �Q�{���u��-�
1
+ ���O)&�ϣKF����U�M+$Xd(E��5���$Zq���μ�d=�Xg4�s�H8�MOs*٘>E�*{h�}r)��
2
+ ����NW*j����
3
+ 9��0�-cOC��7�W��:Z��
4
+ *��N�5ʻ�ڠ���x��K|�=��y�Λ�S��{㇇�b����%ϔ�'�������
5
+ ����O��W!,�L��K�F~P�eƈfK%���Qn�z�������_� �Mt�û�I��/�