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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +59 -1
- data/README.md +1 -1
- data/lib/kettle/changelog/cli.rb +39 -5
- data/lib/kettle/changelog/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +23 -23
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8a256a56bf5f4ac6880b6f58afa62ddb214d34b9b3b6aa2a87fdd01c4a6a4b19
|
|
4
|
+
data.tar.gz: f9fa4e2f31cc74bc7b11c613ed17ca60d0776a2ea47f66d3619a9f744b760ccc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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.
|
|
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
|
data/lib/kettle/changelog/cli.rb
CHANGED
|
@@ -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
|
-
|
|
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 #{
|
|
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.
|
|
1129
|
+
commands << [RbConfig.ruby, rake, "yard"] if File.file?(rake)
|
|
1096
1130
|
yard = File.join(@root, "bin", "yard")
|
|
1097
|
-
commands << [yard] if File.
|
|
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.
|
|
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.
|
|
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.
|
|
67
|
-
- - "
|
|
66
|
+
version: '3.1'
|
|
67
|
+
- - ">="
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
|
-
version:
|
|
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.
|
|
77
|
-
- - "
|
|
76
|
+
version: '3.1'
|
|
77
|
+
- - ">="
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
|
-
version:
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
308
|
-
changelog_uri: https://github.com/kettle-dev/kettle-changelog/blob/v1.0.
|
|
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.
|
|
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.
|
|
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
|