kettle-dev 1.1.20 → 1.1.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.
data/CHANGELOG.md CHANGED
@@ -17,151 +17,231 @@ Please file a bug if you notice a violation of semantic versioning.
17
17
  [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
18
18
 
19
19
  ## [Unreleased]
20
+
20
21
  ### Added
22
+
21
23
  ### Changed
24
+
22
25
  ### Deprecated
26
+
23
27
  ### Removed
28
+
24
29
  ### Fixed
30
+
25
31
  ### Security
26
32
 
33
+ ## [1.1.21] - 2025-09-16
34
+
35
+ - TAG: [v1.1.21][1.1.21t]
36
+ - COVERAGE: 96.83% -- 3661/3781 lines in 25 files
37
+ - BRANCH COVERAGE: 81.65% -- 1504/1842 branches in 25 files
38
+ - 77.01% documented
39
+
40
+ ### Changed
41
+
42
+ - improved templating
43
+ - improved documentation
44
+
45
+ ### Fixed
46
+
47
+ - kettle-readme-backers: read correct config file
48
+ - .opencollective.yml in project root
49
+
27
50
  ## [1.1.20] - 2025-09-15
51
+
28
52
  - TAG: [v1.1.20][1.1.20t]
29
53
  - COVERAGE: 96.80% -- 3660/3781 lines in 25 files
30
54
  - BRANCH COVERAGE: 81.65% -- 1504/1842 branches in 25 files
31
55
  - 77.01% documented
56
+
32
57
  ### Added
58
+
33
59
  - Allow reformating of CHANGELOG.md without version bump
34
60
  - `--include=GLOB` includes files not otherwise included in default template
35
61
  - more test coverage
62
+
36
63
  ### Fixed
64
+
37
65
  - Add .licenserc.yaml to gem package
38
66
  - Handling of GFM fenced code blocks in CHANGELOG.md
39
67
  - Handling of nested list items in CHANGELOG.md
40
68
  - Handling of blank lines around all headings in CHANGELOG.md
41
69
 
42
70
  ## [1.1.19] - 2025-09-14
71
+
43
72
  - TAG: [v1.1.19][1.1.19t]
44
73
  - COVERAGE: 96.58% -- 3531/3656 lines in 25 files
45
74
  - BRANCH COVERAGE: 81.11% -- 1443/1779 branches in 25 files
46
75
  - 76.88% documented
76
+
47
77
  ### Added
78
+
48
79
  - documentation of vcr on Ruby 2.4
49
80
  - Apache SkyWalking Eyes dependency license check
50
81
  - Added to template
82
+
51
83
  ### Fixed
84
+
52
85
  - fix duplicate headings in CHANGELOG.md Unreleased section
53
86
 
54
87
  ## [1.1.18] - 2025-09-12
88
+
55
89
  - TAG: [v1.1.18][1.1.18t]
56
90
  - COVERAGE: 96.24% -- 3477/3613 lines in 25 files
57
91
  - BRANCH COVERAGE: 81.01% -- 1425/1759 branches in 25 files
58
92
  - 76.88% documented
93
+
59
94
  ### Removed
95
+
60
96
  - remove patreon link from README template
61
97
 
62
98
  ## [1.1.17] - 2025-09-11
99
+
63
100
  - TAG: [v1.1.17][1.1.17t]
64
101
  - COVERAGE: 96.29% -- 3479/3613 lines in 25 files
65
102
  - BRANCH COVERAGE: 81.01% -- 1425/1759 branches in 25 files
66
103
  - 76.88% documented
104
+
67
105
  ### Added
106
+
68
107
  - improved documentation
69
108
  - better organized readme
70
109
  - badges are more clear & new badge for Ruby Friends Squad on Daily.dev
71
110
  - https://app.daily.dev/squads/rubyfriends
111
+
72
112
  ### Changed
113
+
73
114
  - update template to version_gem v1.1.9
74
115
  - right-size funding commit message append width
116
+
75
117
  ### Removed
118
+
76
119
  - remove patreon link from README
77
120
 
78
121
  ## [1.1.16] - 2025-09-10
122
+
79
123
  - TAG: [v1.1.16][1.1.16t]
80
124
  - COVERAGE: 96.24% -- 3477/3613 lines in 25 files
81
125
  - BRANCH COVERAGE: 81.01% -- 1425/1759 branches in 25 files
82
126
  - 76.88% documented
127
+
83
128
  ### Fixed
129
+
84
130
  - handling of alternate format of Unreleased section in CHANGELOG.md
85
131
 
86
132
  ## [1.1.15] - 2025-09-10
133
+
87
134
  - TAG: [v1.1.15][1.1.15t]
88
135
  - COVERAGE: 96.29% -- 3479/3613 lines in 25 files
89
136
  - BRANCH COVERAGE: 80.96% -- 1424/1759 branches in 25 files
90
137
  - 76.88% documented
138
+
91
139
  ### Fixed
140
+
92
141
  - fix appraisals for Ruby v2.7 to use correct x_std_libs
93
142
 
94
143
  ## [1.1.14] - 2025-09-10
144
+
95
145
  - TAG: [v1.1.14][1.1.14t]
96
146
  - COVERAGE: 96.24% -- 3477/3613 lines in 25 files
97
147
  - BRANCH COVERAGE: 80.96% -- 1424/1759 branches in 25 files
98
148
  - 76.88% documented
149
+
99
150
  ### Changed
151
+
100
152
  - use current x_std_libs modular gemfile for all appraisals that are pinned to current ruby
101
153
  - fix appraisals for Ruby v2 to use correct version of erb
102
154
 
103
155
  ## [1.1.13] - 2025-09-09
156
+
104
157
  - TAG: [v1.1.13][1.1.13t]
105
158
  - COVERAGE: 96.29% -- 3479/3613 lines in 25 files
106
159
  - BRANCH COVERAGE: 80.96% -- 1424/1759 branches in 25 files
107
160
  - 76.88% documented
161
+
108
162
  ### Fixed
163
+
109
164
  - include .rubocop_rspec.yml during install / template task's file copy
110
165
  - kettle-dev-setup now honors `--force` option
111
166
 
112
167
  ## [1.1.12] - 2025-09-09
168
+
113
169
  - TAG: [v1.1.12][1.1.12t]
114
170
  - COVERAGE: 94.84% -- 3422/3608 lines in 25 files
115
171
  - BRANCH COVERAGE: 78.97% -- 1386/1755 branches in 25 files
116
172
  - 76.88% documented
173
+
117
174
  ### Changed
175
+
118
176
  - improve Gemfile updates during kettle-dev-setup
119
177
  - git origin-based funding_org derivation during setup
120
178
 
121
179
  ## [1.1.11] - 2025-09-08
180
+
122
181
  - TAG: [v1.1.11][1.1.11t]
123
182
  - COVERAGE: 96.56% -- 3396/3517 lines in 24 files
124
183
  - BRANCH COVERAGE: 81.33% -- 1385/1703 branches in 24 files
125
184
  - 77.06% documented
185
+
126
186
  ### Changed
187
+
127
188
  - move kettle-dev-setup logic into Kettle::Dev::SetupCLI
189
+
128
190
  ### Fixed
191
+
129
192
  - gem dependency detection in kettle-dev-setup to prevent duplication
130
193
 
131
194
  ## [1.1.10] - 2025-09-08
195
+
132
196
  - TAG: [v1.1.10][1.1.10t]
133
197
  - COVERAGE: 97.14% -- 3256/3352 lines in 23 files
134
198
  - BRANCH COVERAGE: 81.91% -- 1345/1642 branches in 23 files
135
199
  - 76.65% documented
200
+
136
201
  ### Added
202
+
137
203
  - Improve documentation
138
204
  - Fix an internal link in README.md
205
+
139
206
  ### Changed
207
+
140
208
  - template task no longer overwrites CHANGELOG.md completely
141
209
  - attempts to retain existing release notes content
210
+
142
211
  ### Fixed
212
+
143
213
  - Fix a typo in the README.md
214
+
144
215
  ### Fixed
216
+
145
217
  - fix typo in the path to x_std_libs.gemfile
146
218
 
147
219
  ## [1.1.9] - 2025-09-07
220
+
148
221
  - TAG: [v1.1.9][1.1.9t]
149
222
  - COVERAGE: 97.11% -- 3255/3352 lines in 23 files
150
223
  - BRANCH COVERAGE: 81.91% -- 1345/1642 branches in 23 files
151
224
  - 76.65% documented
225
+
152
226
  ### Added
227
+
153
228
  - badge for current runtime heads in example readme
229
+
154
230
  ### Fixed
231
+
155
232
  - Add gemfiles/modular/x_std_libs.gemfile & injected.gemfile to template
156
233
  - example version of gemfiles/modular/runtime_heads.gemfile
157
234
  - necessary to avoid deps on recording gems in the template
158
235
 
159
236
  ## [1.1.8] - 2025-09-07
237
+
160
238
  - TAG: [v1.1.8][1.1.8t]
161
239
  - COVERAGE: 97.16% -- 3246/3341 lines in 23 files
162
240
  - BRANCH COVERAGE: 81.95% -- 1344/1640 branches in 23 files
163
241
  - 76.97% documented
242
+
164
243
  ### Added
244
+
165
245
  - add .aiignore to the template
166
246
  - add .rubocop_rspec.yml to the template
167
247
  - gemfiles/modular/x_std_libs pattern to template, including:
@@ -174,41 +254,58 @@ Please file a bug if you notice a violation of semantic versioning.
174
254
  - (performance) filter and prioritize example files in the `.github` directory
175
255
  - added codecov config to the template
176
256
  - Kettle::Dev.default_registered?
257
+
177
258
  ### Fixed
259
+
178
260
  - run specs as part of the test task
179
261
 
180
262
  ## [1.1.7] - 2025-09-06
263
+
181
264
  - TAG: [v1.1.7][1.1.7t]
182
265
  - COVERAGE: 97.12% -- 3237/3333 lines in 23 files
183
266
  - BRANCH COVERAGE: 81.95% -- 1344/1640 branches in 23 files
184
267
  - 76.97% documented
268
+
185
269
  ### Added
270
+
186
271
  - rake task - `appraisal:install`
187
272
  - initial setup for projects that didn't previously use Appraisal
273
+
188
274
  ### Changed
275
+
189
276
  - .git-hooks/commit-msg allows commit if gitmoji-regex is unavailable
190
277
  - simplified `*Task` classes' `task_abort` methods to just raise Kettle::Dev::Error
191
278
  - Allows caller to decide how to handle.
279
+
192
280
  ### Removed
281
+
193
282
  - addressable, rake runtime dependencies
194
283
  - moved to optional, or development dependencies
284
+
195
285
  ### Fixed
286
+
196
287
  - Fix local CI via act for templated workflows (skip JRuby in nektos/act locally)
197
288
 
198
289
  ## [1.1.6] - 2025-09-05
290
+
199
291
  - TAG: [v1.1.6][1.1.6t]
200
292
  - COVERAGE: 97.06% -- 3241/3339 lines in 23 files
201
293
  - BRANCH COVERAGE: 81.83% -- 1347/1646 branches in 23 files
202
294
  - 76.97% documented
295
+
203
296
  ### Fixed
297
+
204
298
  - bin/rake test works for minitest
205
299
 
206
300
  ## [1.1.5] - 2025-09-04
301
+
207
302
  - TAG: [v1.1.5][1.1.5t]
208
303
  - COVERAGE: 33.87% -- 1125/3322 lines in 22 files
209
304
  - BRANCH COVERAGE: 22.04% -- 361/1638 branches in 22 files
210
305
  - 76.83% documented
306
+
211
307
  ### Added
308
+
212
309
  - kettle-pre-release: run re-release checks on a library
213
310
  - validate URLs of image assets in Markdown files
214
311
  - honor ENV["FUNDING_FORGE"] set to "false" as intentional disabling of funding-related logic.
@@ -217,13 +314,19 @@ Please file a bug if you notice a violation of semantic versioning.
217
314
  - add gitlab pipeline result to ci:act
218
315
  - highlight SHA discrepancies in ci:act task header info
219
316
  - how to set up forge tokens for ci:act, and other tools, instructions for README.md
317
+
220
318
  ### Changed
319
+
221
320
  - expanded use of adapter patterns (Exit, Git, and Input)
222
321
  - refactored and improved structure of code, more resilient
223
322
  - kettle-release: do not abort immediately on CI failure; continue checking all workflows, summarize results, and prompt to (c)ontinue or (q)uit (reuses ci:act-style summary)
323
+
224
324
  ### Removed
325
+
225
326
  - defensive NameError handling in ChangelogCLI.abort method
327
+
226
328
  ### Fixed
329
+
227
330
  - replace token `{OPENCOLLECTIVE|ORG_NAME}` with funding org name
228
331
  - prefer .example version of .git-hooks
229
332
  - kettle-commit-msg now runs via rubygems (not bundler) so it will work via a system gem
@@ -232,32 +335,43 @@ Please file a bug if you notice a violation of semantic versioning.
232
335
  - RBS types documentation for GemSpecReader
233
336
 
234
337
  ## [1.1.4] - 2025-09-02
338
+
235
339
  - TAG: [v1.1.4][1.1.4t]
236
340
  - COVERAGE: 67.64% -- 554/819 lines in 9 files
237
341
  - BRANCH COVERAGE: 53.25% -- 221/415 branches in 9 files
238
342
  - 76.22% documented
343
+
239
344
  ### Fixed
345
+
240
346
  - documentation of rake tasks from this gem no longer includes standard gem tasks
241
347
  - kettle-dev-setup: package bin/setup so setup can copy it
242
348
  - kettle_dev_install task: set executable flag for .git-hooks script when installing
243
349
 
244
350
  ## [1.1.3] - 2025-09-02
351
+
245
352
  - TAG: [v1.1.3][1.1.3t]
246
353
  - COVERAGE: 97.14% -- 2857/2941 lines in 22 files
247
354
  - BRANCH COVERAGE: 82.29% -- 1194/1451 branches in 22 files
248
355
  - 76.22% documented
356
+
249
357
  ### Changed
358
+
250
359
  - URL for migrating repo to CodeBerg:
251
360
  - https://codeberg.org/repo/migrate
361
+
252
362
  ### Fixed
363
+
253
364
  - Stop double defining DEBUGGING constant
254
365
 
255
366
  ## [1.1.2] - 2025-09-02
367
+
256
368
  - TAG: [v1.1.2][1.1.2t]
257
369
  - COVERAGE: 97.14% -- 2858/2942 lines in 22 files
258
370
  - BRANCH COVERAGE: 82.29% -- 1194/1451 branches in 22 files
259
371
  - 76.76% documented
372
+
260
373
  ### Added
374
+
261
375
  - .gitlab-ci.yml documentation (in example)
262
376
  - kettle-dvcs script for setting up DVCS, and checking status of remotes
263
377
  - https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
@@ -266,82 +380,116 @@ Please file a bug if you notice a violation of semantic versioning.
266
380
  - Document kettle-dvcs CLI in README (usage, options, examples)
267
381
  - RBS types for Kettle::Dev::DvcsCLI and inline YARD docs on CLI
268
382
  - Specs for DvcsCLI covering remote normalization, fetch outcomes, and README updates
383
+
269
384
  ### Changed
385
+
270
386
  - major spec refactoring
387
+
271
388
  ### Fixed
389
+
272
390
  - (linting) rspec-pending_for 0.0.17+ (example gemspec)
273
391
 
274
392
  ## [1.1.1] - 2025-09-02
393
+
275
394
  - TAG: [v1.1.1][1.1.1t]
276
395
  - COVERAGE: 97.04% -- 2655/2736 lines in 21 files
277
396
  - BRANCH COVERAGE: 82.21% -- 1109/1349 branches in 21 files
278
397
  - 76.81% documented
398
+
279
399
  ### Added
400
+
280
401
  - .simplecov.example - keeps it generic
281
402
  - improved documentation on automatic release script
282
403
  - .gitlab-ci.yml documentation
404
+
283
405
  ### Fixed
406
+
284
407
  - reduce extra leading whitespace in info table column 2
285
408
 
286
409
  ## [1.1.0] - 2025-09-02
410
+
287
411
  - TAG: [v1.1.0][1.1.0t]
288
412
  - COVERAGE: 97.03% -- 2649/2730 lines in 21 files
289
413
  - BRANCH COVERAGE: 82.16% -- 1105/1345 branches in 21 files
290
414
  - 76.81% documented
415
+
291
416
  ### Added
417
+
292
418
  - exe/kettle-dev-setup - bootstrap templating in any RubyGem
419
+
293
420
  ### Removed
421
+
294
422
  - all runtime deps
295
423
  - dependencies haven't really changed; will be injected into the gemspec of the including gem
296
424
  - **almost** a breaking change; but this gem re-templates other gems
297
425
  - so non-breaking via re-templating.
298
426
 
299
427
  ## [1.0.27] - 2025-09-01
428
+
300
429
  - TAG: [v1.0.27][1.0.27t]
301
430
  - COVERAGE: 97.77% -- 2629/2689 lines in 22 files
302
431
  - BRANCH COVERAGE: 82.40% -- 1100/1335 branches in 22 files
303
432
  - 76.47% documented
433
+
304
434
  ### Changed
435
+
305
436
  - Use semver version dependency (~> 1.0) on kettle-dev when templating
437
+
306
438
  ### Removed
439
+
307
440
  - dependency on version_gem (backwards compatible change)
308
441
 
309
442
  ## [1.0.26] - 2025-09-01
443
+
310
444
  - TAG: [v1.0.26][1.0.26t]
311
445
  - COVERAGE: 97.81% -- 2630/2689 lines in 22 files
312
446
  - BRANCH COVERAGE: 82.40% -- 1100/1335 branches in 22 files
313
447
  - 75.00% documented
448
+
314
449
  ### Fixed
450
+
315
451
  - .env.local.example is now included in the packaged gem
316
452
  - making the copy by install / template tasks possible
317
453
 
318
454
  ## [1.0.25] - 2025-08-31
455
+
319
456
  - TAG: [v1.0.25][1.0.25t]
320
457
  - COVERAGE: 97.81% -- 2630/2689 lines in 22 files
321
458
  - BRANCH COVERAGE: 82.40% -- 1100/1335 branches in 22 files
322
459
  - 75.00% documented
460
+
323
461
  ### Added
462
+
324
463
  - test that .env.local.example is copied by install / template tasks
464
+
325
465
  ### Changed
466
+
326
467
  - update Appraisals.example template's instructions for updating appraisals
327
468
 
328
469
  ## [1.0.24] - 2025-08-31
470
+
329
471
  - TAG: [v1.0.24][1.0.24t]
330
472
  - COVERAGE: 97.51% -- 2625/2692 lines in 22 files
331
473
  - BRANCH COVERAGE: 81.97% -- 1096/1337 branches in 22 files
332
474
  - 75.00% documented
475
+
333
476
  ### Added
477
+
334
478
  - improved documentation
335
479
  - more badges in README (gem & template)
336
480
  - integration test for kettle-changelog using CHANGELOG.md.
337
481
  - integration test for kettle-changelog using KEEP_A_CHANGELOG.md.
482
+
338
483
  ### Changed
484
+
339
485
  - add output to error handling related to release creation on GitHub
340
486
  - refactored Kettle::Dev::Tasks::CITask.abort => task_abort
341
487
  - Avoids method name clash with ExitAdapter
342
488
  - follows the pattern of other Kettle::Dev::Tasks modules
343
489
  - move --help handling for kettle-changelog to kettle-changelog itself
490
+
344
491
  ### Fixed
492
+
345
493
  - typos in README for gem & template
346
494
  - kettle-changelog: more robust in retention of version chunks, and markdown link refs, that are not relevant to the chunk being added
347
495
  - rearrange footer links in changelog by order, newest first, oldest last
@@ -349,34 +497,45 @@ Please file a bug if you notice a violation of semantic versioning.
349
497
  - replace Underscores with Dashes in Gem Names for [🚎yard-head] link
350
498
 
351
499
  ## [1.0.23] - 2025-08-30
500
+
352
501
  - TAG: [v1.0.23][1.0.23t]
353
502
  - COVERAGE: 97.75% -- 2428/2484 lines in 21 files
354
503
  - BRANCH COVERAGE: 81.76% -- 1013/1239 branches in 21 files
355
504
  - 76.00% documented
505
+
356
506
  ### Added
507
+
357
508
  - Carryover important fields from the original gemspec during templating
358
509
  - refactor gemspec parsing
359
510
  - normalize template gemspec data
511
+
360
512
  ### Fixed
513
+
361
514
  - include FUNDING.md in the released gem package
362
515
  - typo of required_ruby_version
363
516
 
364
517
  ## [1.0.22] - 2025-08-30
518
+
365
519
  - TAG: [v1.0.22][1.0.22t]
366
520
  - COVERAGE: 97.82% -- 2375/2428 lines in 20 files
367
521
  - BRANCH COVERAGE: 81.34% -- 972/1195 branches in 20 files
368
522
  - 76.23% documented
523
+
369
524
  ### Added
525
+
370
526
  - improved documentation
371
527
  - example version of heads workflow
372
528
  - give heads two attempts to succeed
373
529
 
374
530
  ## [1.0.21] - 2025-08-30
531
+
375
532
  - TAG: [v1.0.21][1.0.21t]
376
533
  - COVERAGE: 97.82% -- 2375/2428 lines in 20 files
377
534
  - BRANCH COVERAGE: 81.34% -- 972/1195 branches in 20 files
378
535
  - 76.23% documented
536
+
379
537
  ### Added
538
+
380
539
  - FUNDING.md in support of a funding footer on release notes
381
540
  - <!-- RELEASE-NOTES-FOOTER-START -->
382
541
  - <!-- RELEASE-NOTES-FOOTER-END -->
@@ -388,75 +547,99 @@ Please file a bug if you notice a violation of semantic versioning.
388
547
  - default to rubocop-ruby1_8 if no minimum ruby specified
389
548
  - template supports local development of RuboCop-LTS suite of gems
390
549
  - improved documentation
550
+
391
551
  ### Changed
552
+
392
553
  - dependabot: ignore rubocop-lts for updates
393
554
  - template configures RSpec to run tests in random order
394
555
 
395
556
  ## [1.0.20] - 2025-08-29
557
+
396
558
  - TAG: [v1.0.20][1.0.20t]
397
559
  - COVERAGE: 14.01% -- 96/685 lines in 8 files
398
560
  - BRANCH COVERAGE: 0.30% -- 1/338 branches in 8 files
399
561
  - 76.23% documented
562
+
400
563
  ### Changed
564
+
401
565
  - Use example version of ancient.yml workflow since local version has been customized
402
566
  - Use example version of jruby.yml workflow since local version has been customized
403
567
 
404
568
  ## [1.0.19] - 2025-08-29
569
+
405
570
  - TAG: [v1.0.19][1.0.19t]
406
571
  - COVERAGE: 97.84% -- 2350/2402 lines in 20 files
407
572
  - BRANCH COVERAGE: 81.46% -- 962/1181 branches in 20 files
408
573
  - 76.23% documented
574
+
409
575
  ### Fixed
410
- - replacement logic handles a dashed gem-name which maps onto a nested path structure
411
576
 
412
- ## [Unreleased]
413
- ### Added
414
- - kettle:dev:install and kettle:dev:template support `only=` option: comma-separated glob patterns matched against destination paths relative to project root; non-matching files are excluded from templating.
577
+ - replacement logic handles a dashed gem-name which maps onto a nested path structure
415
578
 
416
579
  ## [1.0.18] - 2025-08-29
580
+
417
581
  - TAG: [v1.0.18][1.0.18t]
418
582
  - COVERAGE: 71.70% -- 456/636 lines in 9 files
419
583
  - BRANCH COVERAGE: 51.17% -- 153/299 branches in 9 files
420
584
  - 76.23% documented
585
+
421
586
  ### Added
587
+
422
588
  - kettle:dev:install can overwrite gemspec with example gemspec
423
589
  - documentation for the start_step CLI option for kettle-release
424
- - kettle:dev:install add `only=` option for glob filtering.
590
+ - kettle:dev:install and kettle:dev:template support `only=` option with glob filtering:
591
+ - comma-separated glob patterns matched against destination paths relative to project root
592
+ - non-matching files are excluded from templating.
593
+
425
594
  ### Fixed
595
+
426
596
  - kettle:dev:install remove "Works with MRI Ruby*" lines with no badges left
427
597
  - kettle:dev:install prefix badge cell replacement with a single space
428
598
 
429
599
  ## [1.0.17] - 2025-08-29
600
+
430
601
  - TAG: [v1.0.17][1.0.17t]
431
602
  - COVERAGE: 98.14% -- 2271/2314 lines in 20 files
432
603
  - BRANCH COVERAGE: 81.42% -- 916/1125 branches in 20 files
433
604
  - 76.23% documented
605
+
434
606
  ### Fixed
607
+
435
608
  - kettle-changelog added to exe files so packaged with released gem
436
609
 
437
610
  ## [1.0.16] - 2025-08-29
611
+
438
612
  - TAG: [v1.0.16][1.0.16t]
439
613
  - COVERAGE: 98.14% -- 2271/2314 lines in 20 files
440
614
  - BRANCH COVERAGE: 81.42% -- 916/1125 branches in 20 files
441
615
  - 76.23% documented
616
+
442
617
  ### Fixed
618
+
443
619
  - default rake task must be defined before it can be enhanced
444
620
 
445
621
  ## [1.0.15] - 2025-08-29
622
+
446
623
  - TAG: [v1.0.15][1.0.15t]
447
624
  - COVERAGE: 98.17% -- 2259/2301 lines in 20 files
448
625
  - BRANCH COVERAGE: 81.00% -- 908/1121 branches in 20 files
449
626
  - 76.03% documented
627
+
450
628
  ### Added
629
+
451
630
  - kettle-release: early validation of identical set of copyright years in README.md and CHANGELOG.md, adds current year if missing, aborts on mismatch
452
631
  - kettle-release: update KLOC in README.md
453
632
  - kettle-release: update Rakefile.example with version and date
633
+
454
634
  ### Changed
635
+
455
636
  - kettle-release: print package name and version released as final line
456
637
  - use git adapter to wrap more git commands to make tests easier to build
457
638
  - stop testing Ruby 2.4 on CI due to a strange issue with VCR.
458
639
  - still testing Ruby 2.3
640
+
459
641
  ### Fixed
642
+
460
643
  - include gemfiles/modular/*gemfile.example with packaged gem
461
644
  - CI workflow result polling logic revised:
462
645
  - includes a delay
@@ -464,33 +647,46 @@ Please file a bug if you notice a violation of semantic versioning.
464
647
  - prevents false failures from previous runs
465
648
 
466
649
  ## [1.0.14] - 2025-08-28
650
+
467
651
  - TAG: [v1.0.14][1.0.14t]
468
652
  - COVERAGE: 97.70% -- 2125/2175 lines in 20 files
469
653
  - BRANCH COVERAGE: 78.77% -- 842/1069 branches in 20 files
470
654
  - 76.03% documented
655
+
471
656
  ### Added
657
+
472
658
  - kettle-release: Push tags to additional remotes after release
659
+
473
660
  ### Changed
661
+
474
662
  - Improve .gitlab-ci.yml pipeline
663
+
475
664
  ### Fixed
665
+
476
666
  - Removed README badges for unsupported old Ruby versions
477
667
  - Minor inconsistencies in template files
478
668
  - git added as a dependency to optional.gemfile instead of the example template
479
669
 
480
670
  ## [1.0.13] - 2025-08-28
671
+
481
672
  - TAG: [v1.0.13][1.0.13t]
482
673
  - COVERAGE: 41.94% -- 65/155 lines in 6 files
483
674
  - BRANCH COVERAGE: 1.92% -- 1/52 branches in 6 files
484
675
  - 76.03% documented
676
+
485
677
  ### Added
678
+
486
679
  - kettle-release: Create GitHub release from tag & changelog entry
487
680
 
488
681
  ## [1.0.12] - 2025-08-28
682
+
489
683
  - TAG: [v1.0.12][1.0.12t]
490
684
  - COVERAGE: 97.80% -- 1957/2001 lines in 19 files
491
685
  - BRANCH COVERAGE: 79.98% -- 763/954 branches in 19 files
492
686
  - 78.70% documented
687
+
493
688
  ### Added
689
+
494
690
  - CIMonitor to consolidate workflow / pipeline monitoring logic for GH/GL across kettle-release and rake tasks, with handling for:
495
691
  - minutes exhausted
496
692
  - blocked
@@ -502,7 +698,9 @@ Please file a bug if you notice a violation of semantic versioning.
502
698
  - success
503
699
  - Ability to restart kettle-release from any failed step, so manual fixed can be applied.
504
700
  - Example (after intermittent failure of CI): `bundle exec kettle-release start_step=10`
701
+
505
702
  ### Fixed
703
+
506
704
  - added optional.gemfile.example, and handling for it in templating
507
705
  - kettle-changelog: ensure a blank line at end of file
508
706
  - add sleep(0.2) to ci:act to prevent race condition with stdout flushing
@@ -510,11 +708,14 @@ Please file a bug if you notice a violation of semantic versioning.
510
708
  - ensure it doesn't abort the process in CI
511
709
 
512
710
  ## [1.0.11] - 2025-08-28
711
+
513
712
  - TAG: [v1.0.11][1.0.11t]
514
713
  - COVERAGE: 97.90% -- 1959/2001 lines in 19 files
515
714
  - BRANCH COVERAGE: 79.98% -- 763/954 branches in 19 files
516
715
  - 78.70% documented
716
+
517
717
  ### Added
718
+
518
719
  - Add more .example templates
519
720
  - .github/workflows/coverage.yml.example
520
721
  - .gitlab-ci.yml.example
@@ -524,15 +725,21 @@ Please file a bug if you notice a violation of semantic versioning.
524
725
  - extracts emoji grapheme from H1 to apply to gemspec's summary and description
525
726
  - removes badges for unsupported rubies, and major version MRI row if all badges removed
526
727
  - new exe script: kettle-changelog - transitions a changelog from unreleased to next release
728
+
527
729
  ### Changed
730
+
528
731
  - Make 'git' gem dependency optional; fall back to raw `git` commands when the gem is not present (rescues LoadError). See Kettle::Dev::GitAdapter.
529
732
  - upgraded to stone_checksums v1.0.2
530
733
  - exe scripts now print their name and version as they start up
734
+
531
735
  ### Removed
736
+
532
737
  - dependency on git gem
533
738
  - git gem is still supported if present and not bypassed by new ENV variable `KETTLE_DEV_DISABLE_GIT_GEM`
534
739
  - no longer a direct dependency
740
+
535
741
  ### Fixed
742
+
536
743
  - Upgrade stone_checksums for release compatibility with bundler v2.7+
537
744
  - Retains compatibility with older bundler < v2.7
538
745
  - Ship all example templates with gem
@@ -541,30 +748,42 @@ Please file a bug if you notice a violation of semantic versioning.
541
748
  - preserve table alignment
542
749
 
543
750
  ## [1.0.10] - 2025-08-24
751
+
544
752
  - TAG: [v1.0.10][1.0.10t]
545
753
  - COVERAGE: 97.68% -- 1685/1725 lines in 17 files
546
754
  - BRANCH COVERAGE: 77.54% -- 618/797 branches in 17 files- 95.35% documented
547
755
  - 77.00% documented
756
+
548
757
  ### Added
758
+
549
759
  - runs git add --all before git commit, to ensure all files are committed.
760
+
550
761
  ### Changed
762
+
551
763
  - This gem is now loaded via Ruby's standard `autoload` feature.
552
764
  - Bundler is always expected, and most things probably won't work without it.
553
765
  - exe/ scripts and rake tasks logic is all now moved into classes for testability, and is nearly fully covered by tests.
554
766
  - New Kettle::Dev::GitAdapter class is an adapter pattern wrapper for git commands
555
767
  - New Kettle::Dev::ExitAdapter class is an adapter pattern wrapper for Kernel.exit and Kernel.abort within this codebase.
768
+
556
769
  ### Removed
770
+
557
771
  - attempts to make exe/* scripts work without bundler. Bundler is required.
772
+
558
773
  ### Fixed
774
+
559
775
  - `Kettle::Dev::ReleaseCLI#detect_version` handles gems with multiple VERSION constants
560
776
  - `kettle:dev:template` task was fixed to copy `.example` files with the destination filename lacking the `.example` extension, except for `.env.local.example`
561
777
 
562
778
  ## [1.0.9] - 2025-08-24
779
+
563
780
  - TAG: [v1.0.9][1.0.9t]
564
781
  - COVERAGE: 100.00% -- 130/130 lines in 7 files
565
782
  - BRANCH COVERAGE: 96.00% -- 48/50 branches in 7 files
566
783
  - 95.35% documented
784
+
567
785
  ### Added
786
+
568
787
  - kettle-release: Add a sanity check for the latest released version of the gem being released, and display it during the confirmation with user that CHANGELOG.md and version.rb have been updated, so they can compare the value in version.rb with the value of the latest released version.
569
788
  - If the value in version.rb is less than the latest released version's major or minor, then check for the latest released version that matches the major + minor of what is in version.rb.
570
789
  - This way a stable branch intended to release patch updates to older versions is able to work use the script.
@@ -572,77 +791,105 @@ Please file a bug if you notice a violation of semantic versioning.
572
791
  - template task: now copies `certs/pboling.pem` into the host project when available.
573
792
 
574
793
  ## [1.0.8] - 2025-08-24
794
+
575
795
  - TAG: [v1.0.8][1.0.8t]
576
796
  - COVERAGE: 100.00% -- 130/130 lines in 7 files
577
797
  - BRANCH COVERAGE: 96.00% -- 48/50 branches in 7 files
578
798
  - 95.35% documented
799
+
579
800
  ### Fixed
801
+
580
802
  - Can't add checksums to the gem package, because it changes the checksum (duh!)
581
803
 
582
804
  ## [1.0.7] - 2025-08-24
805
+
583
806
  - TAG: [v1.0.7][1.0.7t]
584
807
  - COVERAGE: 100.00% -- 130/130 lines in 7 files
585
808
  - BRANCH COVERAGE: 96.00% -- 48/50 branches in 7 files
586
809
  - 95.35% documented
810
+
587
811
  ### Fixed
812
+
588
813
  - Reproducible builds, with consistent checksums, by *not* using SOURCE_DATE_EPOCH.
589
814
  - Since bundler v2.7.0 builds are reproducible by default.
590
815
 
591
816
  ## [1.0.6] - 2025-08-24
817
+
592
818
  - TAG: [v1.0.6][1.0.6t]
593
819
  - COVERAGE: 100.00% -- 130/130 lines in 7 files
594
820
  - BRANCH COVERAGE: 96.00% -- 48/50 branches in 7 files
595
821
  - 95.35% documented
822
+
596
823
  ### Fixed
824
+
597
825
  - kettle-release: ensure SOURCE_DATE_EPOCH is applied within the same shell for both build and release by prefixing the commands with the env var (e.g., `SOURCE_DATE_EPOCH=$epoch bundle exec rake build` and `... rake release`); prevents losing the variable across shell boundaries and improves reproducible checksums.
598
826
 
599
827
  ## [1.0.5] - 2025-08-24
828
+
600
829
  - TAG: [v1.0.5][1.0.5t]
601
830
  - COVERAGE: 100.00% -- 130/130 lines in 7 files
602
831
  - BRANCH COVERAGE: 96.00% -- 48/50 branches in 7 files
603
832
  - 95.35% documented
833
+
604
834
  ### Fixed
835
+
605
836
  - kettle-release: will run regardless of how it is invoked (i.e. works as binstub)
606
837
 
607
838
  ## [1.0.4] - 2025-08-24
839
+
608
840
  - TAG: [v1.0.4][1.0.4t]
609
841
  - COVERAGE: 100.00% -- 130/130 lines in 7 files
610
842
  - BRANCH COVERAGE: 96.00% -- 48/50 branches in 7 files
611
843
  - 95.35% documented
844
+
612
845
  ### Added
846
+
613
847
  - kettle-release: checks all remotes for a GitHub remote and syncs origin/trunk with it; prompts to rebase or --no-ff merge when histories diverge; pushes to both origin and the GitHub remote on merge; uses the GitHub remote for GitHub Actions CI checks, and also checks GitLab CI when a GitLab remote and .gitlab-ci.yml are present.
614
848
  - kettle-release: push logic improved — if a remote named `all` exists, push the current branch to it (assumed to cover multiple push URLs). Otherwise push the current branch to `origin` and to any GitHub, GitLab, and Codeberg remotes (whatever their names are).
849
+
615
850
  ### Fixed
851
+
616
852
  - kettle-release now validates SHA256 checksums of the built gem against the recorded checksums and aborts on mismatch; helps ensure reproducible artifacts (honoring SOURCE_DATE_EPOCH).
617
853
  - kettle-release now enforces CI checks and aborts if CI cannot be verified; supports GitHub Actions and GitLab pipelines, including releases from trunk/main.
618
854
  - kettle-release no longer requires bundler/setup, preventing silent exits when invoked from a dependent project; adds robust output flushing.
619
855
 
620
856
  ## [1.0.3] - 2025-08-24
857
+
621
858
  - TAG: [v1.0.3][1.0.3t]
622
859
  - COVERAGE: 100.00% -- 98/98 lines in 7 files
623
860
  - BRANCH COVERAGE: 100.00% -- 30/30 branches in 7 files
624
861
  - 94.59% documented
862
+
625
863
  ### Added
864
+
626
865
  - template task now copies .git-hooks files necessary for git hooks to work
866
+
627
867
  ### Fixed
868
+
628
869
  - kettle-release now uses the host project's root, instead of this gem's installed root.
629
870
  - Added .git-hooks files necessary for git hooks to work
630
871
 
631
872
  ## [1.0.2] - 2025-08-24
873
+
632
874
  - TAG: [v1.0.2][1.0.2t]
633
875
  - COVERAGE: 100.00% -- 98/98 lines in 7 files
634
876
  - BRANCH COVERAGE: 100.00% -- 30/30 branches in 7 files
635
877
  - 94.59% documented
878
+
636
879
  ### Fixed
880
+
637
881
  - Added files necessary for kettle:dev:template task to work
638
882
  - .github/workflows/opencollective.yml working!
639
883
 
640
884
  ## [1.0.1] - 2025-08-24
885
+
641
886
  - TAG: [v1.0.1][1.0.1t]
642
887
  - COVERAGE: 100.00% -- 98/98 lines in 7 files
643
888
  - BRANCH COVERAGE: 100.00% -- 30/30 branches in 7 files
644
889
  - 94.59% documented
890
+
645
891
  ### Added
892
+
646
893
  - These were documented but not yet released:
647
894
  - `kettle-release` ruby script for safely, securely, releasing a gem.
648
895
  - This may move to its own gem in the future.
@@ -650,11 +897,14 @@ Please file a bug if you notice a violation of semantic versioning.
650
897
  - This may move to its own gem in the future.
651
898
 
652
899
  ## [1.0.0] - 2025-08-24
900
+
653
901
  - TAG: [v1.0.0][1.0.0t]
654
902
  - COVERAGE: 100.00% -- 98/98 lines in 7 files
655
903
  - BRANCH COVERAGE: 100.00% -- 30/30 branches in 7 files
656
904
  - 94.59% documented
905
+
657
906
  ### Added
907
+
658
908
  - initial release, with auto-config support for:
659
909
  - bundler-audit
660
910
  - rake
@@ -675,7 +925,9 @@ Please file a bug if you notice a violation of semantic versioning.
675
925
  - Selecting will run the selected workflow via `act`
676
926
  - This may move to its own gem in the future.
677
927
 
678
- [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.20...HEAD
928
+ [Unreleased]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.21...HEAD
929
+ [1.1.21]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.20...v1.1.21
930
+ [1.1.21t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.21
679
931
  [1.1.20]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.19...v1.1.20
680
932
  [1.1.20t]: https://github.com/kettle-rb/kettle-dev/releases/tag/v1.1.20
681
933
  [1.1.19]: https://github.com/kettle-rb/kettle-dev/compare/v1.1.18...v1.1.19