kettle-changelog 1.0.7 → 1.0.9

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: 2ecd249c6b061cc317b81a854a766b92f0f8563ec986d46ba301c91aa0e03be9
4
- data.tar.gz: 5aa44defac27dbce2d14a0b52f24647a700f9910980ab5dea0ed194586c2bb26
3
+ metadata.gz: 8a256a56bf5f4ac6880b6f58afa62ddb214d34b9b3b6aa2a87fdd01c4a6a4b19
4
+ data.tar.gz: f9fa4e2f31cc74bc7b11c613ed17ca60d0776a2ea47f66d3619a9f744b760ccc
5
5
  SHA512:
6
- metadata.gz: 4f2695df4b42baf349133ce330e7e35ea80ec0060a7d50e6373249717cd171fdbbc50898f89dfdbfc2e5fab4d698bcc60b30512f170d0bccbd9bf33a5cd3c7d9
7
- data.tar.gz: 85cc9764d62f271e046efec6730b491c0a124d78a52dea7732f4fd31f94ebb4bd2e2b8d994147d51b1fe92ccfdd20d3289cad70681ca1883a65d2a11ba3154c5
6
+ metadata.gz: 7f4d67bd8ce4b4c9b0db783928cfbb8039bae82180baaae22a16434b99749ab0ed0fa1189f20a92c3bf846e70b4db9964db30241d9e00d9ef7ebe11b349aa746
7
+ data.tar.gz: 8908cc25431735377fb4b1b87c7d0375e1cc08b820007d6f6ccb8b098bc7c48c20018cb637a71edb51f5623184af4e2c132ceafb10f3a20d2c982ea9f185203b
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,60 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [1.0.9] - 2026-10-10
34
+
35
+ - TAG: [v1.0.9][1.0.9t]
36
+ - COVERAGE: 94.26% -- 1149/1219 lines in 6 files
37
+ - BRANCH COVERAGE: 77.78% -- 406/522 branches in 6 files
38
+ - 38.89% documented
39
+
40
+ ### Changed
41
+
42
+ - [kc] kettle-jem/prepare: updated 10 project files:
43
+ - dependencies (10)
44
+
45
+ - [kc] kettle-jem/template: updated 4 project files:
46
+ - dependencies (1)
47
+ - documentation (1)
48
+ - other (1)
49
+ - workflows (1)
50
+
51
+ ### Fixed
52
+
53
+ - prepare-release (strict coverage): delete the stale Appraisal-generated coverage lockfile (gemfiles/coverage.gemfile.lock) before running the coverage child. That lockfile is a gitignored local artifact that drifts after dependency bumps; a stale pin killed the coverage bundle with an opaque Bundler::GemNotFound (observed: kettle-rb 0.1.16 pinned while 0.1.17 was the only installed/source version). Deleting it mirrors rake appraisal:reset for exactly this lockfile, so the coverage bundle re-resolves fresh from the gemfile.
54
+
55
+ ## [1.0.8] - 2026-09-27
56
+
57
+ - TAG: [v1.0.8][1.0.8t]
58
+ - COVERAGE: 94.37% -- 1139/1207 lines in 6 files
59
+ - BRANCH COVERAGE: 77.52% -- 400/516 branches in 6 files
60
+ - 38.89% documented
61
+
62
+ ### Added
63
+
64
+ - kettle-jem-template-20260913-001 - Templating now also surfaces a review
65
+ entry in `dependency_conflicts.resolve` when a direct development
66
+ dependency doesn't support one or more of this project's declared
67
+ `engines:` and has no template-managed modular home (e.g. `sqlite3` on
68
+ `jruby`). Review each entry and pick a resolution per the project's own
69
+ engine support needs.
70
+
71
+ ### Changed
72
+
73
+ - [kc] kettle-jem/prepare: updated 15 project files:
74
+ - configuration (1)
75
+ - dependencies (14)
76
+
77
+ - [kc] kettle-jem/template: updated 15 project files:
78
+ - code and tests (1)
79
+ - dependencies (2)
80
+ - other (3)
81
+ - workflows (9)
82
+
83
+ ### Fixed
84
+
85
+ - Run YARD binstubs through Ruby so release metadata checks work on Windows without Unix executable bits.
86
+
33
87
  ## [1.0.7] - 2026-08-30
34
88
 
35
89
  - TAG: [v1.0.7][1.0.7t]
@@ -205,7 +259,11 @@ Please file a bug if you notice a violation of semantic versioning.
205
259
 
206
260
  - Initial release
207
261
 
208
- [Unreleased]: https://github.com/kettle-dev/kettle-changelog/compare/v1.0.7...HEAD
262
+ [Unreleased]: https://github.com/kettle-dev/kettle-changelog/compare/v1.0.9...HEAD
263
+ [1.0.9]: https://github.com/kettle-dev/kettle-changelog/compare/v1.0.8...v1.0.9
264
+ [1.0.9t]: https://github.com/kettle-dev/kettle-changelog/releases/tag/v1.0.9
265
+ [1.0.8]: https://github.com/kettle-dev/kettle-changelog/compare/v1.0.7...v1.0.8
266
+ [1.0.8t]: https://github.com/kettle-dev/kettle-changelog/releases/tag/v1.0.8
209
267
  [1.0.7]: https://github.com/kettle-dev/kettle-changelog/compare/v1.0.6...v1.0.7
210
268
  [1.0.7t]: https://github.com/kettle-dev/kettle-changelog/releases/tag/v1.0.7
211
269
  [1.0.6]: https://github.com/kettle-dev/kettle-changelog/compare/v1.0.5...v1.0.6
data/README.md CHANGED
@@ -402,7 +402,7 @@ Thanks for RTFM. ☺️
402
402
  [📌gitmoji]: https://gitmoji.dev
403
403
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
404
404
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
405
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-1.204-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
405
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-1.219-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
406
406
  [🔐security]: https://github.com/kettle-dev/kettle-changelog/blob/main/SECURITY.md
407
407
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
408
408
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -6,6 +6,7 @@ require "net/http"
6
6
  require "uri"
7
7
  require "fileutils"
8
8
  require "yaml"
9
+ require "rbconfig"
9
10
  require "kettle/ndjson"
10
11
 
11
12
  module Kettle
@@ -826,6 +827,8 @@ module Kettle
826
827
  emit_changelog_event(action: "coverage_clean", status: "ok", path: Kettle::Dev.display_path(coverage_dir))
827
828
  end
828
829
 
830
+ reset_stale_appraisal_lockfile!
831
+
829
832
  puts "Generating fresh coverage data by running: bundle exec kettle-test"
830
833
  emit_changelog_event(action: "coverage", status: "started", command: "bundle exec kettle-test", root: Kettle::Dev.display_path(@coverage_root))
831
834
 
@@ -921,6 +924,35 @@ module Kettle
921
924
  )
922
925
  end
923
926
 
927
+ # The coverage child runs against the Appraisal-generated coverage
928
+ # gemfile (gemfiles/coverage.gemfile) when present, and Bundler uses the
929
+ # lockfile sitting next to it. That lockfile is a local build artifact
930
+ # (gitignored, regenerated by appraisal workflows) and drifts silently:
931
+ # after a dependency bump it can pin a version that no longer exists
932
+ # anywhere, and the coverage child dies with an opaque
933
+ # Bundler::GemNotFound pointing at the pinned version. Deleting it here
934
+ # mirrors rake appraisal:reset for exactly one lockfile: Bundler then
935
+ # resolves fresh from the gemfile, which is the same contract every
936
+ # other consumer of this gemfile has.
937
+ def reset_stale_appraisal_lockfile!
938
+ return unless @coverage_gemfile
939
+
940
+ coverage_dir = File.dirname(@coverage_gemfile)
941
+ return unless File.basename(coverage_dir) == "gemfiles"
942
+
943
+ lockfile = "#{@coverage_gemfile}.lock"
944
+ return unless File.file?(lockfile)
945
+
946
+ File.delete(lockfile)
947
+ puts "Deleted stale appraisal lockfile #{Kettle::Dev.display_path(lockfile)}; the coverage bundle will re-resolve."
948
+ emit_changelog_event(action: "coverage_lockfile_reset", status: "ok", path: Kettle::Dev.display_path(lockfile))
949
+ rescue => e
950
+ # Best effort: a lockfile we cannot delete is not fatal — resolution
951
+ # may still succeed if the lock happens to be current.
952
+ warn("Could not delete stale appraisal lockfile #{lockfile}: #{e.class}: #{e.message}")
953
+ emit_changelog_event(action: "coverage_lockfile_reset", status: "failed", path: Kettle::Dev.display_path(lockfile), reason: e.message)
954
+ end
955
+
924
956
  def changelog_coverage_env
925
957
  env = Kettle::Dev::BundlerEnvGuard.unbundled_env.merge(
926
958
  "PATH" => ENV.fetch("PATH", ""),
@@ -1022,7 +1054,7 @@ module Kettle
1022
1054
 
1023
1055
  # Run the canonical docs task to get the documentation percentage.
1024
1056
  commands.each do |command|
1025
- prepare_yard_fence_tmp_files if command == [File.join(@root, "bin", "yard")]
1057
+ prepare_yard_fence_tmp_files if command == [RbConfig.ruby, File.join(@root, "bin", "yard")]
1026
1058
  output, status = capture_yard_command(command)
1027
1059
  unless command_successful?(status)
1028
1060
  return handle_yard_documentation_failure(yard_command_failure_message(command, output, status))
@@ -1079,9 +1111,11 @@ module Kettle
1079
1111
 
1080
1112
  def yard_command_label(command)
1081
1113
  command = Array(command)
1082
- bin = command.first.to_s
1114
+ ruby_script = command.first == RbConfig.ruby
1115
+ bin = ruby_script ? command[1].to_s : command.first.to_s
1116
+ arguments = ruby_script ? command.drop(2) : command.drop(1)
1083
1117
  if bin == File.join(@root, "bin", "rake")
1084
- "bin/rake #{command.drop(1).join(" ")}".strip
1118
+ "bin/rake #{arguments.join(" ")}".strip
1085
1119
  elsif bin == File.join(@root, "bin", "yard")
1086
1120
  "bin/yard"
1087
1121
  else
@@ -1092,9 +1126,9 @@ module Kettle
1092
1126
  def yard_documentation_commands
1093
1127
  commands = []
1094
1128
  rake = File.join(@root, "bin", "rake")
1095
- commands << [rake, "yard"] if File.executable?(rake)
1129
+ commands << [RbConfig.ruby, rake, "yard"] if File.file?(rake)
1096
1130
  yard = File.join(@root, "bin", "yard")
1097
- commands << [yard] if File.executable?(yard)
1131
+ commands << [RbConfig.ruby, yard] if File.file?(yard)
1098
1132
  commands
1099
1133
  end
1100
1134
 
@@ -5,7 +5,7 @@ module Kettle
5
5
  # Version namespace for this gem.
6
6
  module Version
7
7
  # Current gem version.
8
- VERSION = "1.0.7"
8
+ VERSION = "1.0.9"
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-changelog
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -61,22 +61,22 @@ dependencies:
61
61
  name: kettle-dev
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - ">="
64
+ - - "~>"
65
65
  - !ruby/object:Gem::Version
66
- version: 3.0.19
67
- - - "<"
66
+ version: '3.1'
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 4.0.0
69
+ version: 3.1.9
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ">="
74
+ - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: 3.0.19
77
- - - "<"
76
+ version: '3.1'
77
+ - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: 4.0.0
79
+ version: 3.1.9
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: version_gem
82
82
  requirement: !ruby/object:Gem::Requirement
@@ -174,7 +174,7 @@ dependencies:
174
174
  version: '3.2'
175
175
  - - ">="
176
176
  - !ruby/object:Gem::Version
177
- version: 3.2.2
177
+ version: 3.2.5
178
178
  type: :development
179
179
  prerelease: false
180
180
  version_requirements: !ruby/object:Gem::Requirement
@@ -184,7 +184,7 @@ dependencies:
184
184
  version: '3.2'
185
185
  - - ">="
186
186
  - !ruby/object:Gem::Version
187
- version: 3.2.2
187
+ version: 3.2.5
188
188
  - !ruby/object:Gem::Dependency
189
189
  name: kettle-test
190
190
  requirement: !ruby/object:Gem::Requirement
@@ -194,7 +194,7 @@ dependencies:
194
194
  version: '2.0'
195
195
  - - ">="
196
196
  - !ruby/object:Gem::Version
197
- version: 2.0.21
197
+ version: 2.0.24
198
198
  type: :development
199
199
  prerelease: false
200
200
  version_requirements: !ruby/object:Gem::Requirement
@@ -204,7 +204,7 @@ dependencies:
204
204
  version: '2.0'
205
205
  - - ">="
206
206
  - !ruby/object:Gem::Version
207
- version: 2.0.21
207
+ version: 2.0.24
208
208
  - !ruby/object:Gem::Dependency
209
209
  name: turbo_tests2
210
210
  requirement: !ruby/object:Gem::Requirement
@@ -214,7 +214,7 @@ dependencies:
214
214
  version: '3.2'
215
215
  - - ">="
216
216
  - !ruby/object:Gem::Version
217
- version: 3.2.6
217
+ version: 3.2.14
218
218
  type: :development
219
219
  prerelease: false
220
220
  version_requirements: !ruby/object:Gem::Requirement
@@ -224,7 +224,7 @@ dependencies:
224
224
  version: '3.2'
225
225
  - - ">="
226
226
  - !ruby/object:Gem::Version
227
- version: 3.2.6
227
+ version: 3.2.14
228
228
  - !ruby/object:Gem::Dependency
229
229
  name: ruby-progressbar
230
230
  requirement: !ruby/object:Gem::Requirement
@@ -248,7 +248,7 @@ dependencies:
248
248
  version: '1.0'
249
249
  - - ">="
250
250
  - !ruby/object:Gem::Version
251
- version: 1.0.8
251
+ version: 1.0.9
252
252
  type: :development
253
253
  prerelease: false
254
254
  version_requirements: !ruby/object:Gem::Requirement
@@ -258,7 +258,7 @@ dependencies:
258
258
  version: '1.0'
259
259
  - - ">="
260
260
  - !ruby/object:Gem::Version
261
- version: 1.0.8
261
+ version: 1.0.9
262
262
  - !ruby/object:Gem::Dependency
263
263
  name: gitmoji-regex
264
264
  requirement: !ruby/object:Gem::Requirement
@@ -268,7 +268,7 @@ dependencies:
268
268
  version: '2.0'
269
269
  - - ">="
270
270
  - !ruby/object:Gem::Version
271
- version: 2.0.12
271
+ version: 2.0.15
272
272
  type: :development
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
@@ -278,7 +278,7 @@ dependencies:
278
278
  version: '2.0'
279
279
  - - ">="
280
280
  - !ruby/object:Gem::Version
281
- version: 2.0.12
281
+ version: 2.0.15
282
282
  description: "\U0001F4DD kettle-changelog formats release sections, manages Unreleased
283
283
  entries, and emits machine-readable release events for Ruby gems."
284
284
  email:
@@ -304,10 +304,10 @@ licenses:
304
304
  - AGPL-3.0-only
305
305
  metadata:
306
306
  homepage_uri: https://kettle-changelog.galtzo.com
307
- source_code_uri: https://github.com/kettle-dev/kettle-changelog/tree/v1.0.7
308
- changelog_uri: https://github.com/kettle-dev/kettle-changelog/blob/v1.0.7/CHANGELOG.md
307
+ source_code_uri: https://github.com/kettle-dev/kettle-changelog/tree/v1.0.9
308
+ changelog_uri: https://github.com/kettle-dev/kettle-changelog/blob/v1.0.9/CHANGELOG.md
309
309
  bug_tracker_uri: https://github.com/kettle-dev/kettle-changelog/issues
310
- documentation_uri: https://www.rubydoc.info/gems/kettle-changelog/1.0.7
310
+ documentation_uri: https://www.rubydoc.info/gems/kettle-changelog/1.0.9
311
311
  funding_uri: https://github.com/sponsors/pboling
312
312
  wiki_uri: https://github.com/kettle-dev/kettle-changelog/wiki
313
313
  news_uri: https://www.railsbling.com/tags/kettle-changelog
@@ -337,7 +337,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
337
337
  - !ruby/object:Gem::Version
338
338
  version: '0'
339
339
  requirements: []
340
- rubygems_version: 4.0.17
340
+ rubygems_version: 4.0.20
341
341
  specification_version: 4
342
342
  summary: "\U0001F4DD Release and maintain structured CHANGELOG.md files."
343
343
  test_files: []
metadata.gz.sig CHANGED
Binary file