Releases
v0.6.0
Compare
Sorry, something went wrong.
No results found
0.6.0 (2026-11-04)
⚠ BREAKING CHANGES
update-channel: DEPRECATED_UPDATE_CHANNELS and DeprecatedUpdateChannel are
removed. The legacy 'stable'->'current' and 'develop'->'next' alias
resolution no longer exists: a persisted or submitted 'stable' channel is
now rejected (previously silently resolved to 'current'), and a persisted
'develop' channel now resolves to the new real 'develop' channel instead of
'next'. Deprecation window elapsed at v0.5.3 per RC-era deprecation notice.
update-channel: DEPRECATED_UPDATE_CHANNELS and DeprecatedUpdateChannel are
removed. The legacy 'stable'→'current' and 'develop'→'next' alias
resolution no longer exists: a persisted or submitted 'stable' channel is
now rejected (previously silently resolved to 'current'), and a persisted
'develop' channel now resolves to the new real 'develop' channel instead of
'next'. Deprecation window elapsed at v0.5.3 per RC-era deprecation notice.
Features
cli: add --json to router list (ROUT-324) (87110bc )
dashboard: mount Router Test tab in router layout (ff61515 )
dashboard: resizable and collapsible Playground Debug panel (ROUT-438) (58bd286 )
dashboard: session, end-user and tag filters on Usage page, session/end-user/tags in record detail (ROUT-280) (b532f01 )
dashboard: show current version under sign-out in sidebar (5b3ec38 )
integrations: route coding-agents router with semantic-intent, performance, cheapest and context policies (ROUT-517) (5c6869b )
models: expose model timeout in API, CLI and dashboard (3bcf957 )
notifications: remove optional secrets of an existing channel (ROUT-398) (fa5c906 )
provider: honour connection endpoint on azure/bedrock/vertex and add official provider mocks (ROUT-401) (e9b6c25 )
service,cli,dashboard: configure per-router notification channel override (ROUT-335) (ee99458 )
uat: add checked-in uat-runner skill for real-environment UAT (76e3216 )
update-channel: add real develop channel, retire deprecated aliases (1f97ef5 )
update-channel: add real develop channel, retire deprecated aliases (9958735 )
update: make stable a permanent update channel with its own release pointer (ROUT-551) (8246ce9 )
Bug Fixes
api: PUT /api/settings keeps prometheusAuthToken when masked marker is echoed (ROUT-279) (d2405f9 )
api: warn on router models missing from the registry (ROUT-276) (50a54eb )
audit: honour audit list --limit and include whole day for date-only --to (8220816 )
build: resolve @routerly/* from the worktree's own packages (ab419dd )
build: run worktree module link before build and typecheck (ROUT-417) (2bee07a )
ci: add ESLint 9 flat config so npm run lint runs (41c8faa )
ci: deploy docs on develop pushes (next channel) (5ea5e59 )
cli: coding-agents setup script no longer aborts without DEEPSEEK_API_KEY (ROUT-524) (350734b )
cli: describe per-model prompt as routing guidance, not system prompt hint (d15475f )
cli: exempt 2fa/verify from permission pre-check so 2FA login works (ROUT-380) (801671b )
cli: keep savings report cache cost finite when model has no input price (ROUT-293) (5323141 )
cli: leave model prices unset when no price flag is given (ROUT-468) (68655b9 )
cli: model add --connection accepts label or id, explicit not-found error (ROUT-325) (4f3ca50 )
cli: model discover table no longer crashes on entries without modalities (ROUT-493) (086016a )
cli: notification channel edit applies --username and clears targets (ROUT-334) (9668711 )
cli: print ApiError messages from router subcommands (ROUT-407) (fa59a8e )
cli: print validation details in API errors (ROUT-373) (a97ba74 )
cli: proceed when the permission status check is forbidden (ROUT-345) (dc00807 )
cli: read sessions wrapper and firstSeen in report sessions (25e161c )
cli: read uptimeSeconds in service status (d0bebf0 )
cli: reject non-integer usage retention values in service configure (397726e )
cli: resolve report --router by name or ID and error on unknown router (ROUT-526) (9a6bae9 )
cli: reuse formatUptime in service status (2281898 )
cli: save rotated refresh token in auth refresh (a1359a3 )
cli: send flat prices and keep limits in model add/edit (3dc97e8 )
cli: show - instead of crashing/$undefined for missing costs (c327a1f )
cli: support webhook type in notification channel add (ROUT-333) (e941269 )
cli: use select prompt type instead of list for inquirer 13 (dba0ae6 )
dashboard,cli: say external channels without events are silent (ROUT-337) (f275379 )
dashboard,service,cli: security tab load failure, usage null totals, catalog repo scheme (ROUT-442) (b79fc79 )
dashboard: add errorsAndBlocked plural keys to all locales (ROUT-513) (8445e36 )
dashboard: allow round timeout values in model form (step=1) (0fe2c83 )
dashboard: announce permission fixes made outside the dashboard (ROUT-375) (fbd7c9e )
dashboard: apply instance default language after login and mirror sidebar in rtl (68c4903 )
dashboard: apply instance default language right after login (32d27bf )
dashboard: check session before protected layout fires API calls (ROUT-372) (41936a8 )
dashboard: clear stale permission error after Fix now (ROUT-375) (538cb17 )
dashboard: contain wide content inside the page body on phones (1921d8f )
dashboard: copy buttons work over plain HTTP via writeToClipboard (ROUT-272) (6e757f6 )
dashboard: correct claude.ai sessionKey instructions (Chrome/Firefox, sk-ant-sid prefix), all locales (ROUT-289) (6551f70 )
dashboard: define info and warning banner tokens for dark and light themes (ROUT-404) (9e2f4ce )
dashboard: disable Security and Provider Catalog writes without settings:write (ROUT-342) (a8119b0 )
dashboard: disable Settings General write controls without settings:write (ROUT-371) (040a66e )
dashboard: do not poll permission status without settings:read (ROUT-369) (3e918df )
dashboard: fall back when crypto.randomUUID is unavailable over plain HTTP (1ca4d30 )
dashboard: fit Models Health table in 1280px viewport (ROUT-464) (43547d4 )
dashboard: gate notification channel create page on notification:write (ROUT-396) (5e07623 )
dashboard: gate Roles, General Save and Overview models call on permissions (ROUT-349) (bbd203a )
dashboard: hide Fix now in permission modal without settings:write (ROUT-391) (22f7867 )
dashboard: hide integrations empty state on load error and Add button without settings:write (ROUT-330) (c07a9b6 )
dashboard: hide notification channel list for users without notification:write (ROUT-338) (7e9928a )
dashboard: hide router Users tab write controls without router:write (ROUT-377) (5a1960c )
dashboard: ignore expected mfa_required unhandled rejections (ROUT-460) (550891c )
dashboard: keep current provider in Edit model select (ROUT-469) (cbb00d6 )
dashboard: keep enabled flag of routing policies on save (572291e )
dashboard: keep per-model routing prompts when saving router General tab (ROUT-294) (223cad3 )
dashboard: keep router custom settings when choosing a profile (ROUT-441) (c4b2554 )
dashboard: let Provider Catalog table scroll horizontally on narrow screens (ROUT-343) (f9a578d )
dashboard: lift Add Member card above members card so the user select menu is not covered (ROUT-385) (f35e721 )
dashboard: make layout responsive at phone width (4f9be10 )
dashboard: make Playground temperature optional (2a6a9e1 )
dashboard: make router General tab read-only without router:write (ROUT-574) (5e6d809 )
dashboard: measure Debug panel limits on the content width (ROUT-438) (38119a6 )
dashboard: mirror sidebar and fix theme toggle and letter-spacing in RTL (47e1470 )
dashboard: Models filter and endpoint sort no longer crash on models without endpoint (ROUT-281) (bf64fac )
dashboard: notify operators of unsafe permissions instead of a dead Fix now (ROUT-391) (59572e7 )
dashboard: OpenAI web token validity is ~10 days, not 24h, in all locales (ROUT-289) (7c6d62d )
dashboard: optimizer preview follows the unsaved Profile/Custom draft (ROUT-440) (9b65922 )
dashboard: per-model Reset targets connection id (da57eef )
dashboard: poll permission status for the global warning banner too (ROUT-369) (9556f75 )
dashboard: poll permission status in Settings > Security so CLI fixes clear the banner (ROUT-369) (6e11a21 )
dashboard: prefill model name when Routerly ID lacks provider prefix (ROUT-376) (30a5678 )
dashboard: readable Usage/Call Detail for failed calls and policies (ROUT-509) (a4221d8 )
dashboard: refresh role and permissions from /api/me when a session is restored (ROUT-406) (08ecfa2 )
dashboard: render null costs as dash in router dashboard tab (ROUT-481) (e0ad3fe )
dashboard: require the token on web-session connections (ROUT-507) (eaf13f9 )
dashboard: Roles page honours role:write (ROUT-345) (209b09a )
dashboard: router dashboard tab negative savings, title style, error plural and nested API error message (ROUT-508) (a349d05 )
dashboard: router Routing/Optimizer/Security tabs read-only without router:write (ROUT-450) (47a1d27 )
dashboard: router Token tab honours token:write/router:write (ROUT-345) (3739d3e )
dashboard: save Vertex project ID as vertexProjectId (0dbb245 )
dashboard: scale stat card value to card width so it is never clipped (ROUT-389) (6b5f197 )
dashboard: scroll connection removal error into view (ROUT-494) (afcbd9a )
dashboard: send targets null when all channel recipients are cleared (ROUT-395) (28b6332 )
dashboard: share one /api/me request between auth and language restore (ROUT-406) (779482e )
dashboard: show dash for missing model price and context (bf30643 )
dashboard: show non-streaming JSON replies in the Playground (ROUT-435) (36df3ef )
dashboard: show permission message on Models page without model:read (ROUT-378) (dd79dd5 )
dashboard: skip /api/usage and /api/models calls on Overview and Usage without report:read/model:read (ROUT-384) (b846fad )
dashboard: skip /api/usage and /api/settings on router tabs without permission (ROUT-397) (0b45c81 )
dashboard: skip /api/users in router Users tab without user:read (ROUT-387) (3f8f3f9 )
dashboard: skip channel list fetch without notification:write on router General tab (ROUT-335) (98807c5 )
dashboard: skip connections and health fetches on Models page without model:read (ROUT-378) (ad2922f )
dashboard: skip permission-gated layout requests for roles without the permission (ROUT-381) (3f4c403 )
dashboard: skip Roles, Audit and Models requests the role cannot read (ROUT-409) (33e06cc )
dashboard: skip settings and integrations requests the role cannot read (ROUT-427) (006c07e )
dashboard: stack Overview cost and calls cards on phones (ROUT-403) (762f450 )
dashboard: stop mid-word breaks in the Debug panel at minimum width (ROUT-438) (4d6813b )
dashboard: wrap long error text in the Debug trace summary (ROUT-438) (6e3daef )
dashboard: wrap long unbroken error text in Playground banners (ROUT-462) (8d6d181 )
dashboard: wrap telemetry banner and fit rail logo on phones (ROUT-429) (b64af01 )
dashboard: wrap theme toggle labels without splitting words (584d5e5 )
experiments: name field path in 400, show variant share, document relative weights (f4f8e58 )
guardrails: detectInjection catches 'ignore all (the) previous instructions' (ROUT-278) (08c03f1 )
installer: check curl/wget/tar up front and fall back to wget for Node install (8ab5d93 )
installer: enable systemd linger for user-scope Linux installs (b85d83f )
installer: never delete files the installer did not install (ROUT-579) (9fa6834 )
installer: remove stale files from app dir on update (7cfaebc )
installer: resolve current/next/develop channels and install the stamped release asset (ROUT-382) (8e96236 )
installer: skip sudo when running as root (bd19d8f )
installer: treat --yes on an existing install as update and restart the service (d78dcaa )
installer: uninstall removes tsbuildinfo so a reinstall rebuilds shared (ROUT-579) (2429019 )
installer: write settings.json with mode 600 and keep requested channel (b1a0bc7 )
make every module always active and drop module gating (ROUT-436) (f0b0f1f )
mcp: serialize toggle_model and create_router_token under the config lock (ROUT-364) (c55c175 )
models: pin explicit prices as fieldOverrides so catalog refresh keeps them (ROUT-485) (e364fcc )
optimizers: count tool payloads in token estimates so headroom fires on the Anthropic lane (ROUT-291) (bfcb2b3 )
optimizers: headroom trims tool rounds of an over-long single agent turn (ROUT-291) (2709587 )
pii: scrub response PII on the Anthropic /v1/messages lane (5e8ca68 )
provider: anthropic stream chunks report provider-returned model (ROUT-479) (1d3d650 )
provider: anthropic-web fresh conversation per request, per-session org cache (ROUT-288) (95b2f59 )
provider: anthropic-web sends system text in the prompt instead of rejected system_prompt (ROUT-497) (87c23dd )
provider: default anthropic-web endpoint to claude.ai so /v1/messages never 500s Invalid URL (ROUT-302) (3def2c2 )
provider: default upstreamModelId without provider prefix and normalise stored full-id values (ROUT-283) (e7696fc )
provider: honour upstreamModelId in openai/anthropic/gemini/ollama/bedrock (ROUT-275) (a4c7da8 )
provider: send developer role as system to custom OpenAI-compatible providers (ROUT-523) (5b47410 )
provider: setup-token OAuth connections usable; model Test never hangs (ROUT-273) (8ad0f71 )
proxy: close truncated upstream stream abnormally instead of clean [DONE] (ROUT-474) (a3c0de2 )
proxy: do not inject stream_options.include_usage on the OpenAI lane (1c1a10b )
proxy: fall back and record errorMessage when a verbatim Anthropic candidate fails (ROUT-525) (6e74e81 )
proxy: route anthropic-web /v1/messages through the adapter instead of claude.ai pass-through (ROUT-478) (e1c0660 )
proxy: router without models answers a provider-shaped 503 instead of a 500 (ROUT-502) (de0579f )
release-ci: make root vitest suite pass on dev-box (ROUT-443) (84eee54 )
release: manual-trigger-only release workflow with develop/next/current channel tiers (20e2ffe )
release: rename rolling pointer tags to avoid branch-name collision (1e5697a )
routing: llm policy honours router-level fallbackRoutingModelIds (ROUT-388) (d0af40c )
routing: price semantic-intent embedding with the registered model cost (78bbe18 )
routing: semantic-intent sends upstream embedding model name, not registry id (ROUT-277) (3b03463 )
service,dashboard: probe /embeddings on model Test for embedding models, drop dead Caching toggle (ROUT-295) (c4900e0 )
service,dashboard: settings minor fixes (ROUT-459) (02d6ad9 )
service: accept optimizer threshold down to the catalog minimum (ROUT-373) (a06804e )
service: apply channel router scope to events carrying routerId only in details (ROUT-335) (eb72443 )
service: apply live log level to console trace lines (ROUT-390) (5bbd419 )
service: apply logLevel to the running logger on PUT /api/settings (ROUT-356) (dcc669e )
service: apply model timeout to fetch-based custom and bedrock adapters (61a9ddf )
service: apply output PII scrub to Anthropic-native pass-through (ROUT-445) (ac44efc )
service: apply SSRF guard to Teams and Discord webhook URLs (ROUT-336) (173ae08 )
service: audit MCP write tool calls (success and forbidden) (ROUT-327) (315d77c )
service: block user:write privilege escalation (ROUT-348) (5bb631d )
service: build notification test payload timestamp on every send (ROUT-332) (07e037f )
service: classify custom provider upstream errors by status and headers (ab0f0cb )
service: create usage.ndjson with mode 600 (419e019 )
service: default anthropic endpoint for connections created without one (ROUT-284) (b70c87d )
service: deliver per-router override for events carrying routerId only in details (ROUT-335) (1d714ab )
service: dispatch real notification events to slack, teams, pagerduty, discord channels (ROUT-331) (2a19815 )
service: do not listen or log to stdout in MCP stdio mode (9ea7c9c )
service: drop Vary: Origin on passthrough responses without Origin (ROUT-297) (4e82a30 )
service: emit debug log line for the selected candidate (ROUT-432) (e163eae )
service: emit trace entries for openai-oauth models (ROUT-379) (8cee3f3 )
service: enforce requireMfa on management API (ROUT-341) (34e6c16 )
service: enforce role:write, token:write and token:read on management routes (ROUT-345) (c4eb98b )
service: first Provider Catalog repo wins on merge conflict (ROUT-340) (dfaefa6 )
service: fix typecheck of escalation tests (ROUT-348) (6b30c50 )
service: forward parallel_tool_calls on Responses API only when tools are present (88c99cf )
service: forward parallel_tool_calls on Responses only with tools (b4fc89c )
service: forward provider headers verbatim on the /v1/messages lane (ROUT-362) (af825e2 )
service: forward provider headers verbatim on the /v1/responses lane (ROUT-362) (dceb20e )
service: forward provider headers verbatim on the OpenAI lane (ROUT-361) (03fe08d )
service: forward Responses additional_tools and custom tools (ROUT-350) (eef8c66 )
service: headroom context-window cache warmed at boot and refreshed on model writes (ROUT-456) (ac74d50 )
service: honour model timeout without SDK retries; 503 for exhausted stream candidates (7230715 )
service: honour ROUTERLY_PORT over settings.json port (ROUT-323) (e7c8700 )
service: install passthroughHandler as the not-found handler (ROUT-360) (d625efe )
service: keep connection provider on partial PUT /api/models/:id (3c411a6 )
service: keep OpenAI lane wire-transparent for body and headers (2cc6b84 )
service: keep PII stream tail before finish chunk; SSE block for /v1/messages stream (436b704 )
service: keep provider content-type verbatim on non-stream OpenAI lane (ROUT-361) (3b9f744 )
service: keep the provider text of {detail} upstream error bodies (ROUT-307) (4174b93 )
service: log level fatal silences successful trace console lines (ROUT-394) (3b2da4f )
service: log module re-enable line via process.stdout.write (ROUT-436) (cb5bdf0 )
service: make openai-web work against current chatgpt.com (ROUT-305) (b4ff1c9 )
service: make ROUT-348 test helper compile under exactOptionalPropertyTypes (ROUT-358) (91fdee7 )
service: mask integration secrets in GET /api/settings and header values (6e61a0b )
service: mask notification channel secrets in /api/settings (585a969 )
service: merge partial body on PUT /api/models and /api/routers (c9e7c90 )
service: migration tolerates connections without providerId (ROUT-386) (86bd988 )
service: openai-oauth stream failing before first chunk returns router error, not empty 200 (ROUT-286) (21a248a )
service: openai-oauth Test and chat lane share one credential source (ROUT-285) (0b02dae )
service: optimizer preview runs the assigned profile, not the custom steps (ROUT-440) (95f923a )
service: PATCH notification channel with null clears the field (ROUT-392) (d1cfe95 )
service: persist port, host, metrics settings and let service metrics use a token (24d3a62 )
service: print chmod recovery command when startup refused on unsafe permissions (ROUT-370) (91cb28a )
service: propagate model timeout from instance to effective model (a80102d )
service: provider-shaped error bodies on /v1 and pass-through of provider 4xx on OpenAI lane (c1612a5 )
service: PUT /api/settings returns listeningAddresses and localAddresses like GET (ROUT-393) (b0671ef )
service: rate custom moderation instructions as a policy violation (ROUT-435) (31015d1 )
service: read developer role as system in Anthropic and Bedrock providers (ROUT-350) (b74f8aa )
service: record optimizerStats on streamed usage records (ROUT-303) (da84020 )
service: record outcome timeout for SDK request timeouts (53b77bc )
service: record real token usage on verbatim /v1/messages forwards (c481e92 )
service: recover HTTP status from Bedrock and Vertex adapter errors (ROUT-287) (032ebb5 )
service: recover HTTP status from web adapter errors for provider-shaped rejection (ROUT-287) (f382cb7 )
service: refuse deleting a connection used by a model (2044216 )
service: refuse deleting a role assigned to users (a65b30b )
service: refuse deleting connections/models that are in use (d8248c1 )
service: register OpenAI-compatible adapter and default endpoints for native deepseek/groq/together/perplexity/xai/mistral/cohere (ROUT-367) (e317bce )
service: register OpenAI-compatible adapter for catalog providers fireworks and cerebras (ROUT-367) (6636c14 )
service: reject deleting a model referenced by a router (409) (7105af3 )
service: reject empty anthropic-oauth token on connection create; model Test sends upstream model id (ROUT-282) (8691e49 )
service: reject invalid logLevel in PUT /api/settings and service configure (ROUT-354) (a57fa83 )
service: reject non-boolean requireMfa/dashboardEnabled in PUT /api/settings and CLI (ROUT-339) (f3d5dfe )
service: reject unknown routing models and make failed routing visible (ROUT-434) (810e04a )
service: replace orphaned conn-for connection when re-adding a model (ROUT-504) (81e4a83 )
service: report input_tokens in message_delta for OpenAI-backed Messages streams (ROUT-352) (a6c8e6b )
service: report update check status and always show the installed version (ROUT-308) (cb437b3 )
service: request stream usage for Responses streams (ROUT-351) (40d1fc5 )
service: resolve update-checker channels through pre-releases and legacy pointers (ROUT-382) (b9f51b4 )
service: retrieve models with unencoded slash and OpenAI-shaped 404 (cfeac6c )
service: return 400 for POST /api/models with missing id/provider (ROUT-346) (4b693a7 )
service: return 429 when all router models hit their limits (f145816 )
service: return 503 instead of an empty 200 when orchestrator stream candidates are exhausted (286f4d9 )
service: return provider 401 for rejected openai-oauth token on both lanes (ROUT-307) (048bc8c )
service: return reply from passthrough route so upstream body is sent (91ea298 )
service: return reply from proxy lane routes so raw-forward body is sent (abed518 )
service: return usedBy on model delete 409; document 409 on delete (3c723ba )
service: sanitize anthropic-web upstream errors and headers (ROUT-473) (152f815 )
service: satisfy exactOptionalPropertyTypes for resolved endpoint (a948203 )
service: satisfy noUncheckedIndexedAccess in notification test (ROUT-332) (e224378 )
service: satisfy noUncheckedIndexedAccess in sender.test.ts (ROUT-366) (2959baf )
service: send Grafana push as Prometheus remote_write (protobuf+snappy) and make the test a real write (ROUT-326) (bd3d9d2 )
service: streaming PII scrub holds back trailing digit tokens of spaced entities (ROUT-452) (8f14a76 )
service: strip /v1 from Ollama embedding endpoint (ROUT-416) (5e8fd87 )
service: strip credential-derived fields from GET /api/users (e1d6f70 )
service: tolerate connections without label in startup migration (ROUT-357) (e326170 )
service: TTFT floor of 30s for web providers (ROUT-466) (ddd94a0 )
service: type payload in experiments test so tsc build passes (948076b )
service: upstream 4xx rejection reaches the client provider-shaped instead of a generic 503/500 (ROUT-287) (a7b42fe )
service: validate integration url/endpoint as http(s) URL on create and update (ROUT-328) (ef1533a )
service: validate publicUrl and require integer usageRetention in PUT /api/settings (ROUT-355) (88b1baf )
service: verify InfluxDB token/org/bucket in integration test with authenticated write (ROUT-329) (d8932fa )
service: warn once and document cache-read fallback when cachePerMillion is absent (ROUT-293) (fa0f7d1 )
shared: add model name to the OpenClaw config snippet (ROUT-353) (8afec3e )
shared: ignore connections without label when checking label duplicates (ROUT-359) (2f9d5b2 )
shared: keep RoutingPolicy.config as any to unbreak the build (8e800cf )
shared: pass OpenClaw MCP header in KEY=VALUE form (ROUT-353) (825cb81 )
stamp product version 0.5.4 in package manifests (433628a )
test: resolve @routerly/shared from source in service and cli vitest (ROUT-410) (b381530 )
usage: stop pruning orphan usage records at startup (ROUT-552) (ee5932a )
Documentation
add demo instance preparation guide (ROUT-271) (a24bcbe )
add full-feature coverage section to demo guide (ROUT-271) (fc68b87 )
changelog entry for auth refresh fix (cc1a552 )
changelog spacing (cbc1f47 )
changelog spacing (4501dd1 )
changelog spacing (ROUT-369) (0091d64 )
changelog: add 0.6.0 version and docs build entries (e6b2a16 )
changelog: add ROUT-524 entry for coding-agents setup fix (c97bd78 )
changelog: add ROUT-534 entry for semantic-intent embedding cost fix (3bc004f )
changelog: dedupe ROUT-375 entry (0dd88dd )
changelog: drop duplicate Models page entry (841a52e )
changelog: drop duplicate ROUT-291 line (9c5b9ad )
changelog: fix unreleased layout (ROUT-359) (cdcf4ca )
changelog: note Models page placeholder fix (255bef2 )
changelog: note plain-HTTP dashboard fix (01fc464 )
changelog: OpenClaw MCP header form (ROUT-353) (93dd640 )
changelog: release addChannel latest only on main (ROUT-576) (6dbc885 )
changelog: ROUT-365 (5de0659 )
changelog: ROUT-449 flaky audit test (3ff6e28 )
changelog: ROUT-561 test flake fix (57d842a )
changelog: tidy lint entry (a814ad7 )
changelog: tidy merge (d0f134e )
changelog: tidy ROUT-214 entry (b303ada )
changelog: tidy spacing (d2d4ca1 )
cli: escape pipe in --candidate-limit table cell (dc198c9 )
cli: escape pipe in --metric table cell (f8f1eee )
cli: escape pipe in --router <name|id> table cells (f46f606 )
cli: model add --connection accepts id or label (ROUT-325) (1078f6e )
dedupe changelog entry (ROUT-287) (1f8816b )
dedupe ROUT-335 changelog entry (cd479d5 )
document manual release trigger and three-tier update channels (81451eb )
document router model warnings (ROUT-276) (a6f64e7 )
fix changelog entry for auth refresh (2a7b4ed )
installer: mention tsbuildinfo on uninstall (ROUT-579) (c49bc1a )
integrations: add coding-agents router setup for Codex and OpenCode (ROUT-517) (4504808 )
opencode: document model selection with -m routerly/routerly/ada (ROUT-528) (69c3151 )
pin Docker image tag to v0.5.3 (latest still points at 0.2.0) (ROUT-368) (35ffcb8 )
readme: list Fireworks and Cerebras, align model add --help with registered providers (ROUT-368) (c5da64e )
readme: pin installer to v0.5.3 until the default channel resolves to 0.5.x (ROUT-368) (44d5e2c )
readme: refresh README and docs intro for 0.5.x positioning and comparison (ROUT-368) (1d26d6e )
service: document router ignoring body model, align UAT-08-15 (ROUT-363) (e1a7fde )
service: document router:read as global, pin GET /api/routers behavior (4972d98 )
shared: fix stale 'stable' example in updateinfo.channel tsdoc (240bb40 )
uat: add functionality catalog derived from release/0.5.4 (514971f )
uat: add UAT-11-05/06 for plain-HTTP playground and router Test tab (0b4d943 )
uat: record first full run against release/0.5.4 (1ce1d2a ) (5287949 )
uat: record Ollama pass against release/0.5.4 (1ce1d2a ) (9053565 )
uat: rerun fresh-install cases on clones of uat-clean (458e5db )
You can’t perform that action at this time.