chore[notask]: release @qvac/cli 0.12.0 - #3990
Conversation
Version bump, dependency range alignment, and changelog for the @qvac/cli 0.12.0 release. - version 0.11.0 -> 0.12.0 - @qvac/sdk dependency ^0.17.0 -> ^0.18.0 - changelog/0.12.0/ (CHANGELOG.md, CHANGELOG_LLM.md, api.md) - aggregated CHANGELOG.md rebuilt
License compliance — cleanNo new dependency license findings in this PR. Warn-only (shadow) mode — this check does not block merges yet. Updated automatically by the canonical license compliance workflow. NOTICE presence (advisory)Missing NOTICE (advisory, does not block):
|
…gelog The generated api.md only carried the HTTP examples from #3906's API Changes section, so the release notes omitted the user-facing CLI surface that PR also added: four `qvac serve openai` flags and the `serve.load` config block. - api.md: add the flags and the equivalent config - CHANGELOG_LLM.md: new "New Flags" section, intro mentions tuning - aggregated CHANGELOG.md rebuilt
* feat[notask]: add deep SDK runtime checks to doctor * fix(cli): harden deep doctor probe cleanup * fix(cli): make doctor failure diagnostics explicit * test[notask]: deflake descendant reap coverage Signed-off-by: localhost41 <hi@localhost41.com> --------- Signed-off-by: localhost41 <hi@localhost41.com> Co-authored-by: Opanin Akuffo <46673050+opaninakuffo@users.noreply.github.com> (cherry picked from commit 3ba4d35)
…3953) - interactive wizard: add a model by capability or search all; search matches name/role/addon/quantization with id matches ranked first - schema-driven config params for llamacpp chat/embedding via @qvac/sdk/schemas: type hints + descriptions + per-field validation; bare/single/double-quoted values accepted interchangeably - Esc steps back one menu, Ctrl+C aborts without writing; rename alias; edit in $EDITOR with post-edit preview; wide-terminal previews the highlighted entry - non-interactive --yes / --modality; idempotent per model; --force overwrites the existing entry in place - writes/merges qvac.config.json atomically; refuses to shadow a non-JSON config - catalog not_configured hint + docs point at the shipped configure command (cherry picked from commit 42aeca4)
….12.0 Both landed on main after the release-cli-0.12.0 cut, so they are picked into the release PR (the release line is PR-only and cannot be fast-forwarded). - regenerated changelog/0.12.0 — now covers #3953 and #3492 - CHANGELOG_LLM.md: new "New Commands" section for `qvac configure`, `qvac doctor --deep` under New Flags, Requirements section - api.md: re-applied the serve load flags block - @qvac/sdk ^0.18.0 -> ^0.19.0: `qvac configure` imports @qvac/sdk/schemas, which 0.18.0 does not export - @inquirer/prompts 8.5.2 added by #3953
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
Review StatusCurrent Status: ❌ PENDING Pending reviews: Needs 1 Management or Team Lead, and 1 more from Management, Team Lead, or Member. |
The @qvac/sdk/schemas export that `qvac configure` imports ships in 0.18.1 (PR #4000, QVAC-23933), not in a 0.19.0. A ^0.19.0 range would have excluded the very release that provides it. - @qvac/sdk ^0.19.0 -> ^0.18.1 - CHANGELOG_LLM.md Requirements updated to match
🎯 What problem does this PR solve?
@qvac/cli0.12.0 release. Four unreleased user-facing changes have landed onmainsince 0.11.0:qvac configureinteractive config generator (QVAC-23391 feat: addqvac configureinteractive config generator #3953)preload: falselazy-load + reversible DELETE, and the flags/config that tune it (QVAC-23389 fix[api]: honor preload:false via lazy-load, keep DELETE reversible #3906)qvac doctor --deepSDK runtime checks (feat[notask]: add deep SDK runtime checks to qvac doctor #3492)@qvac/clistill declares@qvac/sdk^0.17.0, which predates the@qvac/sdk/schemassubpath thatqvac configureimports.cli→ai-sdk-provider→opencode-plugin/openclaw-plugin).📝 How does it solve it?
packages/cli/package.json— version0.11.0→0.12.0packages/cli/package.json—@qvac/sdk^0.17.0→^0.18.1packages/cli/changelog/0.12.0/—CHANGELOG.md,CHANGELOG_LLM.md,api.mdpackages/cli/CHANGELOG.md— aggregate rebuilt (13 versions)Minor bump per the 0.x policy: outstanding
featand[api]commits, no[bc]. Nobreaking.mdis generated for this release.Why #3953 and #3492 are in this PR
Both merged into
mainafterrelease-cli-0.12.0was cut. The release line is governed by apull_requestruleset, so it cannot be fast-forwarded to the newermaintip — the only way onto the release line is through this PR. They are picked with-x, and their content is byte-identical tomain.Release order — merge after
@qvac/sdk0.18.1qvac configureimports@qvac/sdk/schemas:That subpath is added by #3975 (QVAC-23933) and ships in
@qvac/sdk0.18.1 — see #4000. It is not in@qvac/sdk0.18.0; theexportsmap onrelease-sdk-0.18.0has no./schemasentry, whilerelease-sdk-0.18.1does.Hence the
^0.18.1floor rather than^0.18.0: a caret on0.18.0would happily resolve to0.18.0, which cannot satisfy the import.Order of operations:
@qvac/sdk@0.18.1onto npm.@qvac/cli0.12.0.Note
@qvac/sdk0.18.0's npm publish run (32474733436) is stillwaitingon environment approval, so nothing in the 0.18 line is on npm yet.NOTICE needs regenerating before merge
#3953 adds a genuine third-party dependency —
@inquirer/prompts, pinned exact8.5.2— and did not updatepackages/cli/NOTICE. Every other package in this cascade changed only internal@qvac/*ranges, so this is the one stale NOTICE. Regenerating needsGH_TOKEN/HF_TOKEN/NPM_TOKEN, which were not available in the environment that prepared this PR:source .env node .cursor/skills/qv-notice-generate/scripts/generate-notice.js cli🧪 How was it tested?
main(QVAC-23391 feat: addqvac configureinteractive config generator #3953: unit 497/497 + e2e 140/140; QVAC-23389 fix[api]: honor preload:false via lazy-load, keep DELETE reversible #3906: unit 472/472 + model-tier e2e 75/75; QVAC-23390 feat[api]: browse models by capability (serve catalog) #3932: catalog unit+e2e 12/12; feat[notask]: add deep SDK runtime checks to qvac doctor #3492: 441 unit + 22 CLI e2e).scripts/sdk/generate-changelog-sdk-pod.cjs --package=cli, based onmerge-base(release-cli-0.11.0, main)=c6777063c. Release tags live on release branches and are never ancestors ofmain, so the generator's tag-ancestor fail-stop needs an explicit base.[skiplog]0.11.0 release PR (QVAC-23222 chore[skiplog]: backmerge release-cli-0.11.0 — version bump, changelog, NOTICE #3834) was correctly excluded; infra[notask]: revert incident-era macOS runner switches — back to qvac-macos26-arm64-gpu #3859 is CI-only and is kept out ofCHANGELOG_LLM.mdas having no reader value.prettier --checkclean onchangelog/0.12.0/**/*.mdandCHANGELOG.md.packages/cli/package.json— the version/dep edit against QVAC-23391 feat: addqvac configureinteractive config generator #3953's new dependency. Resolved by hand to keep all three: version0.12.0,@qvac/sdk ^0.18.1,@inquirer/prompts 8.5.2.lint,build,test:unit,test:e2e,check-publish-ready.cjs— this worktree has nonode_modules. Worth a full run once@qvac/sdk@0.18.1is installable, since that is what would catch the@qvac/sdk/schemasimport failing against an older SDK.