Skip to content

chore(main): release 1.0.0 - #32

Open
viztor wants to merge 1 commit into
mainfrom
release-please--branches--main--components--dsh-opencode-patch
Open

viztor wants to merge 1 commit into
mainfrom
release-please--branches--main--components--dsh-opencode-patch

Conversation

@viztor

@viztor viztor commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

🤖 I have created a release beep boop

1.0.0 (2026-10-13)

Features

  • a rejected Go credential says so, instead of 'unavailable' (a76514d)
  • add manifest deprecation, redirect README, and runtime notice for legacy package (0135912)
  • auth: the Console device flows, as measured (abd4bff)
  • auto-enrich gateway /models responses with canonical 33-model catalog (d4ca931)
  • bridge: serve the Gemini models through the plugin's own adapter (cbf3641)
  • cover the Anthropic plane too, keyed off the vendor's SDK (876647f)
  • credentials: a login is enough - its token joins the resolution chain (4a20653)
  • credentials: read the active org with a stored account (43a6810)
  • credentials: read the installation's own store, opt-in (7969e09)
  • credentials: the login token falls back to the installation's account (cda58fe)
  • credentials: use the installation's own login, opt-in (98389a4)
  • credentials: wire the opt-in reader into the key-source order (6ca6f3f)
  • debug: monitor every request the interceptor touches (7903fcb)
  • debug: rewire the request monitor on the restored file (a5ac9c1)
  • diagnostics: say why a hand-named model cannot be served (6e842c9)
  • dual-catalog SWR updates (Go + Zen free models) and routed key resolution (dde9d6e)
  • dynamically attribute x-opencode-project to workspace directory (57a9b60)
  • expose usage monitor settings in Web UI and mount in composer dock (6d2dd34)
  • implement thin wrapper pattern for legacy @viztor/dsh-opencode package (7e87eb8)
  • inject x-session-affinity and x-parent-session-id for proxy and gateway compatibility (f59cad3)
  • link the console, and document why balance cannot be shown (92e990c)
  • login: a login in use — proactive refresh, one at a time (d41b023)
  • login: a stored login carries its owner, and the org rides the request (47d1778)
  • login: mount the login remote, which has no switch to be off (ed9067e)
  • login: one login credential reader, carrying the org with the token (213e48d)
  • login: the contract a settings surface calls, and the token it never sees (bd7ee71)
  • login: the host half of the flow, and the credential it keeps (77afbfb)
  • login: the settings card, and the last piece of the surface (678a8f7)
  • make gateway, origin, session, and quota-meter behavior configurable (1b25355)
  • make quota meter provider-based, remove UI debug fields, and enhance provider discovery (6c4a3e5)
  • mount the host's own llm-pi-ai below an isolated auth scope (988da40)
  • own the Responses route from the plugin, so the user changes nothing (6bdbcbb)
  • paths: resolve an OpenCode installation the way OpenCode does (b9de902)
  • pool: rotate on a refused credential, wherever it happened (2fc9285)
  • pool: several credentials, one active, opt-in by declaration (84cdfbc)
  • provider: build the gateway's providers from pi's protocols (7c531ff)
  • real-time Stale-While-Revalidate (SWR) model catalog updating with local shim (3c6ba24)
  • refine Go and Zen usage display and attach available Zen credit (954714c)
  • replace boolean text inputs with Switch toggles in settings card (f26767b)
  • replace originProject text override with natural language injectProject toggle (21b12a6)
  • route each OpenCode Zen model to the API its own SDK names (46e694b)
  • routing: route and mount per (plane, protocol), closing the Go gap (0c86082)
  • routing: route and mount per (plane, protocol), closing the Go gap (5982408)
  • routing: serve mistral-conversations, so mistral-large-4 is reachable (95184cf)
  • say when the Go plan is what ran out (a9a8067)
  • seat the meter beside the model selector (e7743ed)
  • serve OpenCode's Responses-only model by re-dispatching, not translating (18118f4)
  • session spend tracking, catalog/price toggles, and split test suite (8855c66)
  • session: the id carries the session's real createdAt (6885996)
  • show session spend in the Zen trigger instead of the title (f9f6b32)
  • support x-opencode-parent-session-id for DSH subagents and child sessions (3a7f110)
  • the free model's ring goes hollow, and the windows get their bars back (923ba4e)
  • the Go panel says what the percentage is a percentage OF (2fa05fb)
  • the meter shows the 5-HOUR window, and the hover lists all three (d80c680)
  • the meter's footer, and a rate that follows the picker (9c3a15b)
  • the overflow card carries a billing note, not estimates (73fa17c)
  • the plugin card shows Go usage and status, with what is left on the side (33eee2d)
  • the ring is a Go gauge, so Zen does not draw one (3cb5019)
  • the spend row always renders, the Zen hover carries the price, and the meter has a Chinese behaviour doc (7fc0c70)
  • the Zen tooltip answers "how much is left" (e967bd4)
  • tokens: store a login as a grant, atomically (4eb90b1)

Bug Fixes

  • a custom gateway gets catalog enrichment, not just headers (f47df8f)
  • a model or provider switch re-reads immediately, not on the next tick (be8d27e)
  • a refresh click completes a full spin, however fast the read is (2cdcc66)
  • apply request patch to auto-review calls and inject session-id headers (30d04ee)
  • bridge: give the provider the auth resolver pi actually calls (0245292)
  • bridge: inherit the installed catalog entry instead of enumerating fields (f4f649e)
  • call the Host's listing with its own service as the receiver (3099611)
  • card: give the three blocks above the form room to read as three (b3c1aaa)
  • ci: the build-script placeholders pnpm wrote into the workspace file (492e4d7)
  • credentials: a login refreshes the org the next request carries (045ca0d)
  • credentials: capture the optional service instead of reading it off the context (57fe770)
  • credentials: one sign-in serves both planes (4b06295)
  • credentials: read legacy credential rows, which is all a real install has (4a38ff3)
  • credentials: register the pool rotator through ctx.provide (ff8aa90)
  • credentials: the configured org wins over the login's (212189b)
  • credentials: the login's token is refreshed before it is handed out (e15de30)
  • declare remote.opencodeGoUsage now that the host registers it (89c265f)
  • declare remote.opencodeGoUsage, the meter's own remote (c217868)
  • declare remote.session, which is its own inject key (dbcc029)
  • declare the quota method as Remote instead of hand-rolling a contribution (c83d75b)
  • declare the remote service the model directory reaches through (1548e6a)
  • describe a live model neither the catalog nor the shim knows (17e35bc)
  • diagnostics: the meter's own report could throw before it printed (ae3a264)
  • discovery: a model that cannot work is not offered, for hand-listed ones too (e315f95)
  • discovery: do not offer a free-tier model, which cannot work from here (de6b85c)
  • discovery: free-tier models are not offered, measured with a valid key (0798bbd)
  • discovery: free-tier models are not offered, measured with a valid key (14a8423)
  • draw the quota meter once, and only when Go is configured (5a85814)
  • drop the pnpm allowBuilds placeholder an aborted install left behind (1ec2543)
  • e2e: the free-tier gate now fires on every endpoint (01d130c)
  • each panel answers for its OWN balance's spend (ef144e1)
  • fail the gate when lib/ is missing or older than src/ (3aa4bd7)
  • give the pill's fallback store a stable snapshot (1b5613e)
  • isolate Go usage queries to Go keys and ignore Zen keys for quota endpoint (a39bc6f)
  • keep deprecated models out of the refresh, and correct the README model lists (ce02f94)
  • let the effect own the mount's withdrawal, not the mount (762b069)
  • lifecycle: an installer that throws took the rest of apply down with it (1dca0e3)
  • lifecycle: publish both services through ctx.provide when ctx.plugin is absent (d04eb18)
  • limits: read the moved page instead of failing on it (0392872)
  • localise the reset countdown, which was hardcoded English (3ca7696)
  • login: the row renders, and the remote is resolved per call (d524b86)
  • login: the row's absence now says why, like the meter's (3d49c99)
  • login: the sign-in row never rendered because its remote was never mounted (f7421dd)
  • meter: the meter registered twice, and the second registration threw (04727fd)
  • meter: the read had three silent exits, and the meter cannot tell them apart (43a2e97)
  • meter: the two catches that made a silent meter unfixable (63f9fd4)
  • meter: two optional chains made a mount that never happened silent (aacd4e6)
  • mount the usage contribution from the client (2a11268)
  • never hand the Host a null inject face (0244c88)
  • never offer a model whose protocol has no route (3c9cb6f)
  • no loading state, no ellipsis — empty is stable (34fe9fa)
  • one weight for values, no second line under the Zen credit, one spelling of the model (6d0c344)
  • peer: the host range excluded the host line we build against (8862587)
  • pool: a refused key is marked failed, and the README documents rotation (029831b)
  • pool: rotation must publish, or only this plugin's routes see it (1ca906b)
  • project: split both separators, so a Windows cwd cannot leak a path (22e313e)
  • provider: mount each internal route on its protocol's base (2598c03)
  • publish safely, thin the wrapper's client half, and ship plugin metadata (3f8b50d)
  • read the Responses split from the vendor's SDK, not a model list (a4b54b3)
  • regenerate the catalog shim after models.dev moved, and re-pin the counts (55c7f27)
  • regenerate the go-limits shim after the vendor renamed an id (a0ebcb9)
  • remove default export so cordis unwrapExports exposes Config (ac6954c)
  • routes: a hand-listed model is routed by the family its id names (4bcf9bf)
  • routing: make the unserved SDKs a decision, not an omission (a014b91)
  • routing: mistral cannot be served, so it is no longer offered (ebf32f4)
  • scope the spend reading to the conversation and route that asked for it (6f8426e)
  • session spend always reads two decimals (bde266e)
  • session: a session id the gateway rejects is replaced, not sent (352f2a9)
  • session: derive a ULID-shaped session id, not base62 (535f7a0)
  • session: restore the vendor's id shape, with a real timestamp (e38ad11)
  • settings: export volatile Config schema and decouple bundle slot registration (7c2357e)
  • settings: the card reads until the remote answers, not once (b8adacc)
  • settings: the meter switch names what it controls (98d7077)
  • ship only active catalog models with rates, and cover the new surface (70400a0)
  • store: the credential value is JSON, so extract the token from it (a4d0daa)
  • take effect from the plugin context, not the injected scope (fe7f5ff)
  • take typert from the plugin context too (0b1e3de)
  • test: the lint error I committed and pushed in the previous commit (26f310a)
  • test: toSorted, so the lint gate passes (9679462)
  • the bundle ceiling is a tripwire, so stop trimming prose for it (114f9fc)
  • the constant my own control left behind (d13df2f)
  • the free-model row names the model, and stops repeating its own value (62dfc7e)
  • the Go meter threw away the one credential that worked (9682967)
  • the Go quota window no longer leaks into the Zen route (c03a8da)
  • the info tooltips portal out of their container, and the docs catch up (3e0beaa)
  • the meter showed no tooltip and ran its three actions together (d144eaa)
  • the meter's Intl locale was never wired, and the billing note moves into a tooltip (c58bb7a)
  • the meter's translator follows a live language switch (cc9158a)
  • the panel header names the account, not its state (607cfdc)
  • the panel is translucent again, and one name for the bundle (2b5dab2)
  • the panel names the model you picked, even with no price for it (cc067f8)
  • the panel no longer draws three invented 0% windows (95f208b)
  • the panel opts into the menu material instead of declaring its stroke (1d00292)
  • the panel's stroke is border-l2, and the elevation goes back (831e4bd)
  • the redundant guard that kept the coverage ratchet red (eb0a7f7)
  • the reset countdown floors, and composes with its own grammar (6b2cfa5)
  • the reset line is a sentence, so its word order is per-language (4182c55)
  • the trigger hugs its content, with a thinner edge (16261c0)
  • the trigger sits closer to the model selector (68b271d)
  • the trigger's radius steps one rung down, to the host's own ratio (40815bd)
  • the usage note hides behind a tooltip, not a paragraph (0aa9b1b)
  • the window bar spans its row, and the state dot sits with its label (17bdb74)
  • the Zen tooltip explains the spend instead of naming the account (569e9b0)
  • ua: the CLI version we claim, and a check that keeps it true (0efbb64)
  • wait for the usage namespace in the scoped inject, not the top-level one (3c5e4c4)

Reverts

  • discovery: free-tier models are offered again (8473d1b)
  • do not declare remote.opencodeGoUsage (9d12b03)
  • drop the context wrapper that broke the host (5491878)
  • never declare remote.opencodeGoUsage as an inject key (8bc1462)
  • radius and stroke back to the menu's own values (2e626e1)

Miscellaneous Chores


This PR was generated with Release Please. See documentation.

@viztor
viztor force-pushed the release-please--branches--main--components--dsh-opencode-patch branch 3 times, most recently from dbf6976 to 9e676b8 Compare October 10, 2026 06:31
@viztor viztor changed the title chore(main): release 1.1.2 chore(main): release 1.2.0 Oct 10, 2026
@viztor
viztor force-pushed the release-please--branches--main--components--dsh-opencode-patch branch 25 times, most recently from 1c5c946 to e796d9f Compare October 12, 2026 11:43
@viztor
viztor force-pushed the release-please--branches--main--components--dsh-opencode-patch branch 23 times, most recently from 7539fb4 to c9121a8 Compare October 13, 2026 19:48
@viztor viztor changed the title chore(main): release 1.2.0 chore(main): release 1.0.0 Oct 13, 2026
@viztor
viztor force-pushed the release-please--branches--main--components--dsh-opencode-patch branch 4 times, most recently from 8435e0f to 464fb98 Compare October 13, 2026 20:29
@viztor
viztor force-pushed the release-please--branches--main--components--dsh-opencode-patch branch from 464fb98 to 17e3039 Compare October 13, 2026 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant