Skip to content

feat(extensions): manifestVersion, the format version of manifest.json - #1629

Merged
ZhuchkaTriplesix merged 5 commits into
devfrom
issue/manifest-version
Oct 16, 2026
Merged

ZhuchkaTriplesix merged 5 commits into
devfrom
issue/manifest-version

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Asked for so the manifest format can change later without guessing from the host version.

Three versions meet in manifest.json: version (the extension), engines.querya_desktop (the hosts the author says it runs on) and now manifestVersion (the format of the file). It is a whole number, 1 when absent, so every existing manifest (the ClickHouse driver, the template) keeps working with no change.

  • ExtensionManifest.manifestVersion (+ currentManifestVersion = 1); toJson writes it only when it is not 1.
  • ExtensionProtocolProfile.manifestVersion: which host version first reads which format (_manifestFormats, only format 1 today). A release that adds a format raises both in one change.
  • querya-ext-tester (the manifest check): a value that is not a whole number >= 1, or a format newer than the emulated host reads, is an error with its path.
  • The app does not offer (StaticRegistryRepository), install (marketplace, local file) or load (LocalExtensionRegistry) an extension in a format newer than it reads, and says to update Querya Desktop.
  • Docs: a "what is checked against what" table in extension-registry.md; CHANGELOG. Tests for the model, the support check, the validator on several hosts, the local registry skip and the registry reader.

The registry (QueryaHub/extensions: refuses a format Querya does not define, copies it into the index entry) and the template (sets manifestVersion: 1) get matching commits in their repositories. Not run locally; CI decides.

Absent means format 1. The model reads it, the protocol profile says which host
version reads which format, the tester's manifest check rejects a format the
emulated host does not read, and the app does not list, install or load an
extension in a newer format.
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit b3ee59f into dev Oct 16, 2026
13 checks passed
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