Skip to content

chore(main): release 0.16.0 - #28

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

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

Conversation

@viztor

@viztor viztor commented Oct 9, 2026

Copy link
Copy Markdown
Owner

🤖 I have created a release beep boop

0.16.0 (2026-10-09)

Features

  • a rejected Go credential says so, instead of 'unavailable' (a76514d)
  • add manifest deprecation, redirect README, and runtime notice for legacy package (0135912)
  • alias legacy dsh-opencode across loader, settings, and publishing (b76cb4d)
  • auto releases, GitHub Packages mirror, and verified-compat docs (43254a3)
  • auto-discover opencode-go apiKeyEnv, apiKey, and baseURL from user config (cf797c1)
  • auto-enrich gateway /models responses with canonical 33-model catalog (d4ca931)
  • bundle icon for plugin display surfaces (32cc765)
  • complete settings UI coverage and drop session cache table (31e6b0e)
  • cover the Anthropic plane too, keyed off the vendor's SDK (876647f)
  • 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)
  • 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)
  • 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)
  • rename to dsh-opencode-patch and add live OpenCode Go quota pill (5cf0f33)
  • render circular meter trigger and rich hover modal for quota breakdown (de59fd6)
  • replace boolean text inputs with Switch toggles in settings card (f26767b)
  • replace originProject text override with natural language injectProject toggle (21b12a6)
  • restyle the icon into the Harness icon family (921c0d4)
  • route each OpenCode Zen model to the API its own SDK names (46e694b)
  • 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)

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)
  • call the Host's listing with its own service as the receiver (3099611)
  • cordis row name must equal npm package name (f2474eb)
  • 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)
  • 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)
  • exempt bot-owned CHANGELOG from formatter, use PAT for release-please (faff146)
  • 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)
  • localise the reset countdown, which was hardcoded English (3ca7696)
  • map GITHUB_TOKEN to GitHub Packages registry and skip republished versions (8e5d18e)
  • 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)
  • pass GHP auth as inline npm config flag (31a5fd4)
  • project: split both separators, so a Windows cwd cannot leak a path (22e313e)
  • 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)
  • register client bundle under npm package name (52bb141)
  • register settings card on plugins.bundle.config keyed by package name (1ee65d4)
  • remove default export so cordis unwrapExports exposes Config (ac6954c)
  • remove session mode option, always derive gateway IDs (768563a)
  • scope the spend reading to the conversation and route that asked for it (6f8426e)
  • session spend always reads two decimals (bde266e)
  • 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 meter switch names what it controls (98d7077)
  • ship only active catalog models with rates, and cover the new surface (70400a0)
  • surface effective defaults in settings UI labels and hints (ce3959f)
  • take effect from the plugin context, not the injected scope (fe7f5ff)
  • take typert from the plugin context too (0b1e3de)
  • the bundle ceiling is a tripwire, so stop trimming prose for it (114f9fc)
  • 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 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)
  • wait for the usage namespace in the scoped inject, not the top-level one (3c5e4c4)
  • write GHP auth to setup-node temp npmrc, not home npmrc (9986789)

Reverts

  • do not declare remote.opencodeGoUsage (9d12b03)
  • never declare remote.opencodeGoUsage as an inject key (8bc1462)
  • radius and stroke back to the menu's own values (2e626e1)

This PR was generated with Release Please. See documentation.

@viztor

viztor commented Oct 9, 2026

Copy link
Copy Markdown
Owner Author

Stale: this was computed before the v0.15.1-v0.15.3 GitHub Releases existed, so release-please was anchored on v0.15.0 and proposed 0.16.0 with a stale changelog base. The anchor is now v0.15.3 and the commits since are docs/style only, so there is no release to make — release-please will open a fresh PR when there is.

@viztor viztor closed this Oct 9, 2026
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