The extension has outgrown its version number. #589 (resolve the CLI from a workspace tool manifest), #590 (offer a managed download when none is installed) and #591 (workspace-local storage) closed the last construction sites, and none of that has reached anybody: the Marketplace still serves 0.1.2 from 2026-08-18, while main carries 0.2.0.
Cutting 1.0.0 is the honest description of that state — 0.2.0 would understate it, and shipping nothing understates it further.
Why 1.0 rather than another 0.x
1.0 is a promise about the surface, not about ambition. It says the settings keys and command ids stay put, and that a change to them is a major version. The extension is at the point where that promise is cheap to make and expensive to postpone: every additional 0.x release trains users to expect churn that is no longer happening.
Version numbering stays independent of Bowire's (#101). The extension drives an installed CLI rather than bundling one, and it hosts anything from its floor upwards — a shared number would assert a coupling that does not exist, and would force an extension release on every Bowire release.
Not blocking, after all
This section used to hold #613 and claim 1.0 could not ship without it. That was a sequencing opinion written as a constraint, and it does not survive contact with the facts: publishing works today through VSCE_PAT, and that path is good until 2026-12-01. While it works, a fix can be shipped the day it is needed — which is the only thing the "worst possible order" argument was actually protecting.
So the two are independent. #613 keeps its own deadline and must land well before December; 1.0 does not wait on it.
Before the cut
Acceptance
VSCE_PAT removal and the Entra publish path moved to #613, where the deadline lives. Tying them to this cut made 1.0 wait on an Azure-side action it never needed.
Explicitly not in scope
The extension has outgrown its version number.
#589(resolve the CLI from a workspace tool manifest),#590(offer a managed download when none is installed) and#591(workspace-local storage) closed the last construction sites, and none of that has reached anybody: the Marketplace still serves 0.1.2 from 2026-08-18, whilemaincarries 0.2.0.Cutting 1.0.0 is the honest description of that state — 0.2.0 would understate it, and shipping nothing understates it further.
Why 1.0 rather than another 0.x
1.0 is a promise about the surface, not about ambition. It says the settings keys and command ids stay put, and that a change to them is a major version. The extension is at the point where that promise is cheap to make and expensive to postpone: every additional 0.x release trains users to expect churn that is no longer happening.
Version numbering stays independent of Bowire's (#101). The extension drives an installed CLI rather than bundling one, and it hosts anything from its floor upwards — a shared number would assert a coupling that does not exist, and would force an extension release on every Bowire release.
Not blocking, after all
This section used to hold #613 and claim 1.0 could not ship without it. That was a sequencing opinion written as a constraint, and it does not survive contact with the facts: publishing works today through
VSCE_PAT, and that path is good until 2026-12-01. While it works, a fix can be shipped the day it is needed — which is the only thing the "worst possible order" argument was actually protecting.So the two are independent. #613 keeps its own deadline and must land well before December; 1.0 does not wait on it.
Before the cut
bowire.*settings keys and the command ids once and decide they are the names we keep. After 1.0 a rename is a breaking change; before it, it is a rename.2.0.0and hosts anything newer. Bowire is at 2.5.0 and has grown--no-browser, project storage and the plugin-directory resolution since. If the extension now relies on any of it, the floor is a lie and users meet a runtime failure where a clear "your CLI is too old" was supposed to be.Acceptance
kuestenlogik.bowire-vscode1.0.0 on the MarketplaceVSCE_PATremoval and the Entra publish path moved to #613, where the deadline lives. Tying them to this cut made 1.0 wait on an Azure-side action it never needed.Explicitly not in scope