@williamthorsen/release-kit 18.1.1 โ†’ 18.3.0

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.
Files changed (95) hide show
  1. package/.meta/changelog.json +150 -0
  2. package/.readyup/kits/default.js +596 -32
  3. package/.readyup/kits/npm-auto-publish.js +1 -1
  4. package/.readyup/manifest.json +55 -33
  5. package/CHANGELOG.md +44 -0
  6. package/README.md +19 -2
  7. package/dist/esm/assertCleanWorkingTree.d.ts +2 -1
  8. package/dist/esm/assertCleanWorkingTree.js +4 -8
  9. package/dist/esm/assertReleasesOnNpm.js +2 -9
  10. package/dist/esm/assertTarballsComplete.js +2 -9
  11. package/dist/esm/buildChangelogEntries.d.ts +5 -3
  12. package/dist/esm/buildChangelogEntries.js +9 -4
  13. package/dist/esm/buildChangelogItem.d.ts +1 -1
  14. package/dist/esm/buildDependencyGraph.js +2 -16
  15. package/dist/esm/buildReleasedResult.d.ts +15 -3
  16. package/dist/esm/buildReleasedResult.js +23 -2
  17. package/dist/esm/changelogJsonFile.d.ts +3 -2
  18. package/dist/esm/changelogJsonFile.js +14 -17
  19. package/dist/esm/changelogJsonUtils.d.ts +22 -2
  20. package/dist/esm/changelogJsonUtils.js +19 -10
  21. package/dist/esm/cli/maintenanceCommands.js +1 -1
  22. package/dist/esm/commitCommand.d.ts +2 -1
  23. package/dist/esm/commitCommand.js +8 -11
  24. package/dist/esm/configSchema.d.ts +3 -1
  25. package/dist/esm/configSchema.js +1 -0
  26. package/dist/esm/createGithubRelease.d.ts +13 -10
  27. package/dist/esm/createGithubRelease.js +9 -13
  28. package/dist/esm/createGithubReleaseCommand.d.ts +1 -1
  29. package/dist/esm/createGithubReleaseCommand.js +25 -3
  30. package/dist/esm/createTags.d.ts +2 -1
  31. package/dist/esm/createTags.js +12 -12
  32. package/dist/esm/decideDirectReleases.d.ts +2 -1
  33. package/dist/esm/decideDirectReleases.js +5 -5
  34. package/dist/esm/decideRelease.d.ts +1 -1
  35. package/dist/esm/defaults.d.ts +4 -2
  36. package/dist/esm/defaults.js +1 -0
  37. package/dist/esm/deriveDirectoryConfig.js +5 -4
  38. package/dist/esm/deriveWorkspaceConfig.js +2 -9
  39. package/dist/esm/detectUndeclaredTagPrefixes.d.ts +2 -1
  40. package/dist/esm/detectUndeclaredTagPrefixes.js +4 -13
  41. package/dist/esm/determineBumpType.d.ts +2 -1
  42. package/dist/esm/determineBumpType.js +5 -0
  43. package/dist/esm/enumerateReleaseWindows.d.ts +3 -11
  44. package/dist/esm/enumerateReleaseWindows.js +17 -60
  45. package/dist/esm/findUnroutedEntryScopes.d.ts +1 -1
  46. package/dist/esm/git.d.ts +61 -0
  47. package/dist/esm/git.js +101 -0
  48. package/dist/esm/init/checks.d.ts +2 -1
  49. package/dist/esm/init/checks.js +5 -10
  50. package/dist/esm/init/eligibility.d.ts +12 -0
  51. package/dist/esm/init/eligibility.js +50 -0
  52. package/dist/esm/init/initCommand.d.ts +0 -2
  53. package/dist/esm/init/initCommand.js +4 -45
  54. package/dist/esm/init/managed-workflows.d.ts +10 -0
  55. package/dist/esm/init/managed-workflows.js +18 -0
  56. package/dist/esm/init/templates.js +2 -2
  57. package/dist/esm/init/updateTemplatesCommand.js +9 -42
  58. package/dist/esm/injectReleaseNotesIntoReadme.d.ts +29 -7
  59. package/dist/esm/injectReleaseNotesIntoReadme.js +13 -21
  60. package/dist/esm/loadConfig.js +3 -16
  61. package/dist/esm/mergeConfig.d.ts +2 -1
  62. package/dist/esm/packFromCleanCheckout.js +3 -9
  63. package/dist/esm/planVersionBump.js +2 -16
  64. package/dist/esm/prepareCommand.js +2 -1
  65. package/dist/esm/prepareComposite.js +1 -1
  66. package/dist/esm/prepareReleaseTargets.d.ts +2 -1
  67. package/dist/esm/prepareReleaseTargets.js +3 -2
  68. package/dist/esm/prepareRunContext.d.ts +2 -0
  69. package/dist/esm/prepareTarget.d.ts +6 -4
  70. package/dist/esm/prepareTarget.js +9 -3
  71. package/dist/esm/previewTagPrefixes.d.ts +9 -2
  72. package/dist/esm/previewTagPrefixes.js +22 -22
  73. package/dist/esm/publishCommand.d.ts +1 -1
  74. package/dist/esm/publishCommand.js +27 -2
  75. package/dist/esm/pushRelease.d.ts +2 -1
  76. package/dist/esm/pushRelease.js +11 -11
  77. package/dist/esm/readJsonFile.d.ts +2 -0
  78. package/dist/esm/readJsonFile.js +17 -0
  79. package/dist/esm/reportPrepare.js +68 -114
  80. package/dist/esm/resolveReleaseTags.d.ts +2 -1
  81. package/dist/esm/resolveReleaseTags.js +4 -12
  82. package/dist/esm/showTagPrefixesCommand.d.ts +6 -6
  83. package/dist/esm/showTagPrefixesCommand.js +94 -39
  84. package/dist/esm/sync-labels/generateCommand.js +0 -4
  85. package/dist/esm/sync-labels/initCommand.js +0 -4
  86. package/dist/esm/sync-labels/syncCommand.js +0 -4
  87. package/dist/esm/types.d.ts +8 -2
  88. package/docs/configuration.md +15 -6
  89. package/docs/labels.md +2 -2
  90. package/docs/releasing.md +3 -2
  91. package/docs/work-types.md +2 -0
  92. package/package.json +7 -7
  93. package/presets/labels/common.yaml +14 -0
  94. package/dist/esm/sync-labels/retiredConfig.d.ts +0 -11
  95. package/dist/esm/sync-labels/retiredConfig.js +0 -12
@@ -1,4 +1,154 @@
1
1
  [
2
+ {
3
+ "version": "18.3.0",
4
+ "date": "2026-11-14",
5
+ "sections": [
6
+ {
7
+ "title": "๐ŸŽ‰ Features",
8
+ "audience": "all",
9
+ "items": [
10
+ {
11
+ "description": "Adds the `versionPatterns.none` setting to `release-kit`, whose default list (`ai`, `ci`, `docs`, `tests`, `tooling`) names the types that do not bump a version unless an item is breaking, so that `prepare` skips a window containing only those items; `none: []` restores a patch bump for them. (#1340)",
12
+ "hash": "d060436067879c9934d3dccbbde10c0b34392989",
13
+ "entry": 1
14
+ },
15
+ {
16
+ "description": "Makes `release-kit` list a dependent's own unreleased items, such as `tests` or `ci` items, together with its dependencies in the changelog entry for a release triggered by propagation alone, rather than the dependencies only. (#1340)",
17
+ "hash": "d060436067879c9934d3dccbbde10c0b34392989",
18
+ "entry": 2
19
+ },
20
+ {
21
+ "description": "Changes `create-github-release` to print a stderr warning that names the tag and the file when a tag's `changelog.json` is missing or cannot be parsed, instead of listing that tag in its `Skipped N tag(s) without releasable content` summary. (#1343)",
22
+ "hash": "64a18b97c8100012dbde3284f4c0c65a2a8ebe4e",
23
+ "entry": 1
24
+ },
25
+ {
26
+ "description": "Adds the tag and its workspace to the warning that `publish` prints when it skips injecting release notes into a README, alongside the reason: a missing or unparseable `changelog.json`, a version without an entry, or an entry without user-facing release notes. (#1343)",
27
+ "hash": "64a18b97c8100012dbde3284f4c0c65a2a8ebe4e",
28
+ "entry": 2
29
+ },
30
+ {
31
+ "description": "Adds the labels `effort:1`, `effort:2`, `effort:3`, `effort:5`, `effort:8`, and `effort:13` to the `common` label preset, which state an item's size in points apart from its urgency and value. (#1355)",
32
+ "hash": "998ba6fbaa286eef4960adc5e25523f6b50338d5",
33
+ "entry": 1
34
+ }
35
+ ]
36
+ },
37
+ {
38
+ "title": "๐Ÿ› Bug fixes",
39
+ "audience": "all",
40
+ "items": [
41
+ {
42
+ "description": "Fixes the issue that `release-kit prepare` treated an unreadable, unparseable, or non-array `changelog.json` as empty and silently dropped elements that are not changelog entries, which overwrote the history in the file; `prepare` now stops with an error that names the file and tells the user to repair or delete it. (#1346)",
43
+ "hash": "4a0c6ee88949cd9a8ff0b91ec6a603caa5a6b692",
44
+ "entry": 1
45
+ },
46
+ {
47
+ "description": "Fixes the issue that `release-kit tag` reported a failed git command during its clean-tree check as a dirty working tree rather than as git's own error. (#1348)",
48
+ "hash": "17acd51ac7f25580a6277b88b1c01bc8fc76ee1d",
49
+ "entry": 1
50
+ },
51
+ {
52
+ "description": "Fixes the issue that `release-kit` reported a JSON file that it could not read as one that it could not parse, or the reverse, by giving each failure the message `Failed to read <path>` or `Failed to parse JSON in <path>`. (#1350)",
53
+ "hash": "bbe64c890eb8adff00e9f76aff25fab092fe638c",
54
+ "entry": 1
55
+ },
56
+ {
57
+ "description": "Fixes the issue that the `release-kit prepare` report printed a single-package release's and a project's warnings, bump override, and parsed count in a different order from a workspace's, and printed \"Parsed 0 typed commits\" for a single-package release or a count for one that skipped. (#1354)",
58
+ "hash": "a7548a236902ff6d2e7968271459e02114de640f",
59
+ "entry": 1
60
+ }
61
+ ]
62
+ },
63
+ {
64
+ "title": "โ™ป๏ธ Refactoring",
65
+ "audience": "dev",
66
+ "items": [
67
+ {
68
+ "description": "Routes release-kit's git calls, apart from those in `packFromCleanCheckout.ts`, through a `Git` adapter in `git.ts` that each module receives as a parameter, so that unit tests pass a fake git instead of mocking `node:child_process`. (#1348)",
69
+ "hash": "17acd51ac7f25580a6277b88b1c01bc8fc76ee1d",
70
+ "entry": 2
71
+ },
72
+ {
73
+ "description": "Moves the dry-run notice, eligibility checks, and repo-type detection that `release-kit`'s `init` and `update-templates` commands each repeated into `resolveEligibleRepoType` in `src/init/eligibility.ts`, so that `updateTemplatesCommand.ts` no longer imports from `initCommand.ts`. (#1353)",
74
+ "hash": "d663fdfe45d03fb9dcadef09f80a32191a531f10",
75
+ "entry": 1
76
+ }
77
+ ]
78
+ },
79
+ {
80
+ "title": "๐Ÿงช Tests",
81
+ "audience": "dev",
82
+ "items": [
83
+ {
84
+ "description": "Replaces the file-wide `silenceConsole` calls in the release-kit and v11y-check tests with a `using` silencer in each test that logs, restricted to the channels that the test fires, and reads asserted output through `listConsoleLines` rather than through the `console` mocks. (#1349)",
85
+ "hash": "38e028a3010ee083c1d48f0b22f72a45fc4852a3",
86
+ "entry": 3
87
+ }
88
+ ]
89
+ }
90
+ ]
91
+ },
92
+ {
93
+ "version": "18.2.0",
94
+ "date": "2026-11-13",
95
+ "sections": [
96
+ {
97
+ "title": "๐ŸŽ‰ Features",
98
+ "audience": "all",
99
+ "items": [
100
+ {
101
+ "description": "Changes `release-kit show-tag-prefixes` to print one block per target that lists the derived prefix and each declared legacy identity with their tag counts in aligned columns, and to print the \"Undeclared tag prefixes\" section on every run, showing `(none)` when the scan does not find any candidates. (#1332)",
102
+ "hash": "922840c35de35880bf94c1d80af695466bb3acdf",
103
+ "entry": 1
104
+ },
105
+ {
106
+ "description": "Adds a \"Retired packages\" section to `release-kit show-tag-prefixes`, which lists each entry declared in `retiredPackages` with its tag prefix, tag count, name, and successor. (#1332)",
107
+ "hash": "922840c35de35880bf94c1d80af695466bb3acdf",
108
+ "entry": 2
109
+ },
110
+ {
111
+ "description": "Adds a closing note to `release-kit show-tag-prefixes` when a derived prefix does not have any tags yet, which explains that `release-kit tag` creates the first tag from the tags file that `release-kit prepare` writes. (#1332)",
112
+ "hash": "922840c35de35880bf94c1d80af695466bb3acdf",
113
+ "entry": 3
114
+ },
115
+ {
116
+ "description": "Makes the template checks for `release.yaml`, `publish.yaml`, and `create-github-release.yaml` report the differing hunks, and distinguish a missing file from an unreadable one, rather than report only that a hash differs. (#1336)",
117
+ "hash": "3712b6bd3f448345ba13f72617477bd72d0590e7",
118
+ "entry": 2
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "title": "๐Ÿชฆ Removed",
124
+ "audience": "all",
125
+ "items": [
126
+ {
127
+ "description": "Removes the check for the retired `.config/sync-labels.config.ts`, which made `sync-labels init`, `generate`, and `sync` exit with an error and made the release-kit readyup kit fail while the file existed. (#1333)",
128
+ "migration": "Move any labels left in `.config/sync-labels.config.ts` into the `repoLabels` block of `.config/release-kit.config.ts` and delete the file before upgrading, because release-kit now ignores that file without reporting it.",
129
+ "hash": "d9837a02487d9dddfe84ba4463b6993a7ff8b3a3",
130
+ "entry": 1
131
+ }
132
+ ]
133
+ },
134
+ {
135
+ "title": "๐Ÿ› Bug fixes",
136
+ "audience": "all",
137
+ "items": [
138
+ {
139
+ "description": "Fixes the issue that `release-kit`'s ReadyUp kit reported the warning `releaseNotes.shouldInjectIntoReadme is true`, which the consumer could not clear, in a repo without any publishable package, by making the check skip with the reason `no publishable packages`. (#1334)",
140
+ "hash": "ddb5d2048b0598d776a54b8a85d167558d834d7c",
141
+ "entry": 1
142
+ },
143
+ {
144
+ "description": "Fixes the issue that the `publish.yaml matches template` check in `rdy run --from npm:@williamthorsen/release-kit` failed a `publish.yaml` that omits provenance, a setting that `release-kit update-templates` preserves. (#1336)",
145
+ "hash": "3712b6bd3f448345ba13f72617477bd72d0590e7",
146
+ "entry": 1
147
+ }
148
+ ]
149
+ }
150
+ ]
151
+ },
2
152
  {
3
153
  "version": "18.1.1",
4
154
  "date": "2026-11-12",