kettle-dev 2.0.2 → 2.0.3

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: c3bad017c27149d9c7bf639bf70347f639d9301b3ce355c9a20eb7466f959df0
4
- data.tar.gz: 8c96fb38ea79b64d55d2813725120518e1e3bcf2dda8396c8b2da1e3aa699d23
3
+ metadata.gz: 79a49f87b3b9af1b0aa2cb1b9d8f3b026a923df0ab1164df416a5dc3af72dc42
4
+ data.tar.gz: b989207755b131704aec4e5a76e29c1a2e236efbe9fa7717939111d21c475a74
5
5
  SHA512:
6
- metadata.gz: 21ad36073bf15fd42f052958148f8129138e4ab79195d524457ba5c29e206fd261f283b9b6616e7a41cc46b6455c27e1d763167f8b8e75655acf2cdaa1a5c713
7
- data.tar.gz: fcef88758871ad5eb760e0671972c6ef389dd3d9037f5006ddd65d2d07c651c7778a86dd344e86815b37b0451833544ba10ef895db28c6fa5dd0221502013d95
6
+ metadata.gz: ffd633d7aab286c63bbdbb039621fd0512ce4d4d478b9af5bcb37b7c9202bbab8e7cf4ab41fecb5b6306da2ba2d42bf7f20770066131ac19344655ff3f9c7b58
7
+ data.tar.gz: ce2c0ed8704aa2aa0aaa248f0a2269a74ac2fe9e765117cb96e80004a98c20c7420ebddd876d887543895240732c5edf64ad2fc417efdf9cd19bc4ae6390791f
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -28,8 +28,32 @@ Please file a bug if you notice a violation of semantic versioning.
28
28
 
29
29
  ### Fixed
30
30
 
31
+ - The `yard` rake spec now reloads the task file directly and uses Ruby
32
+ 2.4-compatible cleanup syntax, fixing order-dependent CI failures across the
33
+ appraisal matrix.
34
+ - The `yard` rake fallback task now remains registered with kettle-dev defaults
35
+ when the optional `yard` gem is unavailable in an appraisal environment.
36
+ - The Rakefile now falls back to a stub `kettle:jem:selftest` task when the
37
+ installed `kettle-jem` package does not expose rake task installation.
38
+
31
39
  ### Security
32
40
 
41
+ ## [2.0.3] - 2026-05-27
42
+
43
+ - TAG: [v2.0.3][2.0.3t]
44
+ - COVERAGE: 94.62% -- 2956/3124 lines in 24 files
45
+ - BRANCH COVERAGE: 78.21% -- 1206/1542 branches in 24 files
46
+ - 76.40% documented
47
+
48
+ ### Fixed
49
+
50
+ - The default rake task now includes documentation generation via `yard`, so
51
+ documentation plugin post-processing runs during `bin/rake`.
52
+ - `kettle-changelog` now updates the current changelog release in place when
53
+ Unreleased has pending entries or the release section is missing generated
54
+ coverage/documentation metadata, even if the version is already the latest
55
+ known release.
56
+
33
57
  ## [2.0.2] - 2026-05-27
34
58
 
35
59
  - TAG: [v2.0.2][2.0.2t]
@@ -1763,7 +1787,9 @@ Please file a bug if you notice a violation of semantic versioning.
1763
1787
  - Selecting will run the selected workflow via `act`
1764
1788
  - This may move to its own gem in the future.
1765
1789
 
1766
- [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v2.0.2...HEAD
1790
+ [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v2.0.3...HEAD
1791
+ [2.0.3]: https://github.com/kettle-rb/kettle-dev/compare/v2.0.2...v2.0.3
1792
+ [2.0.3t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v2.0.3
1767
1793
  [2.0.2]: https://github.com/kettle-rb/kettle-dev/compare/v2.0.1...v2.0.2
1768
1794
  [2.0.2t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v2.0.2
1769
1795
  [2.0.1]: https://github.com/kettle-rb/kettle-dev/compare/v2.0.0...v2.0.1
data/README.md CHANGED
@@ -1010,7 +1010,7 @@ Thanks for RTFM. ☺️
1010
1010
  [📌gitmoji]: https://gitmoji.dev
1011
1011
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
1012
1012
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
1013
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-3.101-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1013
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-3.124-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1014
1014
  [🔐security]: https://github.com/kettle-rb/kettle-dev/blob/main/SECURITY.md
1015
1015
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
1016
1016
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -153,7 +153,7 @@ module Kettle
153
153
  warn("Proceeding without live release info.")
154
154
  end
155
155
 
156
- _unreleased_block, _before, after = extract_unreleased(changelog)
156
+ unreleased_block, _before, after = extract_unreleased(changelog)
157
157
  latest_changelog_version = detect_previous_version(after.to_s)
158
158
  section_exists = release_section_exists?(changelog, version)
159
159
  latest_target = latest_release_target(version, latest_overall, latest_for_series)
@@ -167,7 +167,7 @@ module Kettle
167
167
  end
168
168
 
169
169
  action = if section_exists && latest_target == version
170
- :reformat_only
170
+ current_release_needs_update?(changelog, version, unreleased_block) ? :update_prepared_release : :reformat_only
171
171
  elsif section_exists
172
172
  :update_prepared_release
173
173
  elsif latest_target == version
@@ -504,6 +504,28 @@ module Kettle
504
504
  out.join
505
505
  end
506
506
 
507
+ def current_release_needs_update?(changelog, version, unreleased_block)
508
+ return true if unreleased_block_has_entries?(unreleased_block)
509
+
510
+ !release_metadata_complete?(release_body_for(changelog, version))
511
+ end
512
+
513
+ def unreleased_block_has_entries?(unreleased_block)
514
+ !filter_unreleased_sections(unreleased_block.to_s).strip.empty?
515
+ end
516
+
517
+ def release_body_for(changelog, version)
518
+ pattern = /^## \[#{Regexp.escape(version)}\][^\n]*\n(?<body>.*?)(?=^## \[|\z)/m
519
+ changelog.match(pattern)&.[](:body).to_s
520
+ end
521
+
522
+ def release_metadata_complete?(release_body)
523
+ stripped_body = release_body.to_s
524
+ stripped_body.match?(/^- COVERAGE: /) &&
525
+ stripped_body.match?(/^- BRANCH COVERAGE: /) &&
526
+ stripped_body.match?(/^- \d+(?:\.\d+)?%\s+documented$/)
527
+ end
528
+
507
529
  def coverage_lines
508
530
  if @strict
509
531
  # Always generate fresh coverage data in strict mode
@@ -24,10 +24,13 @@ begin
24
24
  rescue LoadError
25
25
  # yard-timekeeper not available - that's fine
26
26
  end
27
+
28
+ Kettle::Dev.register_default("yard")
27
29
  rescue LoadError
28
30
  warn("[kettle-dev][yard.rake] failed to load yard") if Kettle::Dev::DEBUGGING
29
31
  desc("(stub) yard is unavailable")
30
32
  task(:yard) do
31
33
  warn("NOTE: yard isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
32
34
  end
35
+ Kettle::Dev.register_default("yard")
33
36
  end
@@ -3,7 +3,7 @@
3
3
  module Kettle
4
4
  module Dev
5
5
  module Version
6
- VERSION = "2.0.2"
6
+ VERSION = "2.0.3"
7
7
  end
8
8
  VERSION = Version::VERSION # Traditional Constant Location
9
9
  end
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.0.2
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -312,10 +312,10 @@ licenses:
312
312
  - AGPL-3.0-only
313
313
  metadata:
314
314
  homepage_uri: https://kettle-dev.galtzo.com
315
- source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v2.0.2
316
- changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v2.0.2/CHANGELOG.md
315
+ source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v2.0.3
316
+ changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v2.0.3/CHANGELOG.md
317
317
  bug_tracker_uri: https://github.com/kettle-rb/kettle-dev/issues
318
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.0.2
318
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.0.3
319
319
  funding_uri: https://github.com/sponsors/pboling
320
320
  wiki_uri: https://github.com/kettle-rb/kettle-dev/wiki
321
321
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file