Skip to content

chore(release): 6.1.0 - #72

Merged
kkdev92 merged 1 commit into
mainfrom
chore/release-6.1.0
Sep 16, 2026
Merged

kkdev92 merged 1 commit into
mainfrom
chore/release-6.1.0

Conversation

@kkdev92

@kkdev92 kkdev92 commented Sep 16, 2026

Copy link
Copy Markdown
Owner

A minor for one addition: DeclaredContributions.keybindings, which makes
assertManifestMatches check that every contributed keybinding binds a command the
extension declares. Omitting the field checks nothing, so nothing changes for an existing
caller.

Trialled before tagging

Packed to a tarball and installed into quick-utils as a file: dependency. The
extension's own hand-written version of this check — it asserted that menus and
keybindings reference only declared commands — was cut down to menus alone, with the
keybinding half handed to the option.

Then the replacement was broken on purpose, because a test that was not seen to fail has
not been seen to work:

Break Caught
typo in a bound command keybinding "quickUtils.transformX" is bound in contributes.keybindings but no contract declares it…
a rename left behind in the manifest keybinding "quickUtils.transformAgainRenamed" …
  • typecheck, lint, check:l10n clean
  • 236 unit and 35 integration tests green
  • vsce package produced a VSIX
  • Real Extension Host: 13 cases, exit 0
  • allow turned out not to be needed — every key quick-utils binds is its own command,
    which is the case the default is built for

Not changed as a result

The trial surfaced one gap and it is deliberately left open: contributes.menus entries
reference commands the same way and are still the consumer's to check. quick-utils keeps
that half. Widening the option to menus is easy later; narrowing it would not be.

🤖 Generated with Claude Code

A minor for one addition: `DeclaredContributions.keybindings`, which makes
`assertManifestMatches` check that every contributed keybinding binds a command
the extension declares. Omitting the field checks nothing, so nothing changes
for an existing caller.

Trialled in quick-utils before tagging, from a packed tarball: the extension's
own hand-written version of this check was removed in favour of the option, and
the replacement caught both ways that check exists to catch -- a typo in a bound
command and a rename left behind in the manifest. `vsce package` produced a VSIX
and the real Extension Host passed its 13 cases.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@kkdev92
kkdev92 merged commit 4a72afd into main Sep 16, 2026
10 checks passed
@kkdev92
kkdev92 deleted the chore/release-6.1.0 branch September 16, 2026 11:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant