Repository navigation
Releases
Releases · bloodf/durindoor
Nightly nightly-2026-11-07
Nightly nightly-2026-11-06
What's Changed
- fix(release): pack the cli package, not the repository root by @bloodf in #1620
- fix(sarvam): correct the free-credit notice and declare documented context sizes by @bloodf in #1624
- fix(protocol): finish #1089 Claude restore, unanswered calls and gateway fixtures by @bloodf in #1622
- fix(media): list only dispatchable media models under routable ids by @bloodf in #1621
- feat(monitoring): add authenticated aggregate metrics export by @bloodf in #1629
- fix(providers): distinguish catalog and inference evidence by @bloodf in #1632
- fix(image): reject known non-image models by @bloodf in #1633
- fix(admission): release slots after disconnect race by @bloodf in #1634
- fix(cli): filter non-chat models from combo creation by @bloodf in #1635
- fix(qa): include shared login mark in build context by @bloodf in #1638
- fix(ui): show synced image models in provider examples by @bloodf in #1637
- fix(a11y): enlarge login interactive targets by @bloodf in #1640
- fix(stt): avoid rebilling malformed Deepgram responses by @bloodf in #1643
- ci: prepare local-first validation with manual Actions fallbacks by @bloodf in #1650
- feat(monitoring): expose aggregate admission queue depth by @bloodf in #1645
Full Changelog: nightly-2026-11-04...nightly-2026-11-06
Nightly nightly-2026-11-05
What's Changed
- fix(release): pack the cli package, not the repository root by @bloodf in #1620
- fix(sarvam): correct the free-credit notice and declare documented context sizes by @bloodf in #1624
- fix(protocol): finish #1089 Claude restore, unanswered calls and gateway fixtures by @bloodf in #1622
- fix(media): list only dispatchable media models under routable ids by @bloodf in #1621
- feat(monitoring): add authenticated aggregate metrics export by @bloodf in #1629
- fix(providers): distinguish catalog and inference evidence by @bloodf in #1632
- fix(image): reject known non-image models by @bloodf in #1633
- fix(admission): release slots after disconnect race by @bloodf in #1634
- fix(cli): filter non-chat models from combo creation by @bloodf in #1635
- fix(qa): include shared login mark in build context by @bloodf in #1638
- fix(ui): show synced image models in provider examples by @bloodf in #1637
- fix(a11y): enlarge login interactive targets by @bloodf in #1640
- fix(stt): avoid rebilling malformed Deepgram responses by @bloodf in #1643
- ci: prepare local-first validation with manual Actions fallbacks by @bloodf in #1650
- feat(monitoring): expose aggregate admission queue depth by @bloodf in #1645
Full Changelog: nightly-2026-11-04...nightly-2026-11-05
Nightly nightly-2026-11-04
What's Changed
- test(protocol): complete cross-format conformance for Gemini clients by @bloodf in #1549
- fix(thinking): per-transport thinking format for OpenCode Go /responses by @bloodf in #1576
- fix(nous): add API-key attribution tags for the Nous host by @bloodf in #1577
- fix(sarvam): drop unserved sarvam-30b and unverified limits, fetch live catalog by @bloodf in #1578
- fix(usage): record accepted image jobs and keep chat rows with odd totals by @bloodf in #1573
- test(release): smoke packed npm tarball and standalone before publish by @bloodf in #1574
- port(omniroute): add pioneer provider on the Fastino host by @bloodf in #1580
- port(omniroute): add free-ai provider by @bloodf in #1583
- chore(docs): regenerate generated files after merge batch by @bloodf in #1590
- test(security): add route authorization matrix and require one native resource id by @bloodf in #1572
- feat(routing): include nested tool-output images in capability admission by @bloodf in #1588
- fix(antigravity): floor thinkingLevel minimal to low for Gemini 3.6-3.8 Flash tiers by @bloodf in #1575
- port(omniroute): add deepai image provider by @bloodf in #1584
- fix(security): scope media-provider voice reads and record voice clone ownership by @bloodf in #1581
- feat(stt): add Codex OAuth transcription via ffmpeg by @bloodf in #1595
- fix(kiro): stop sending deprecated agent fields and update the affinity contract by @bloodf in #1591
- fix(qoder): replay queued 10605 requests instead of blocking as billing by @bloodf in #1593
- docs(deployment): add Node, driver and platform compatibility matrix by @bloodf in #1598
- feat(codex): list gpt-6.1-terra by @bloodf in #1587
- chore(docs): regenerate generated files after merge batch by @bloodf in #1607
- port(omniroute): add MLX local runtime provider by @bloodf in #1604
- test(protocol): complete cross-format gateway fixtures and Claude matrix by @bloodf in #1600
- feat(guardrails): mask PII and credentials in provider responses, including streaming by @bloodf in #1605
- fix(claude): drop blank thinking blocks and pin haiku-5-5 routing to /messages by @bloodf in #1603
- port(omniroute): add codex-app-server provider (unverified) by @bloodf in #1606
- fix(usage): record async media jobs at creation and stop combos after accepted jobs by @bloodf in #1611
- feat(stt): add Deepgram diarization and verbose_json segments by @bloodf in #1615
- fix(usage): finish paid usage accounting with slow-job health and unknown-cost counts by @bloodf in #1616
- feat(catalog): Haiku 5.5 default effort and Anthropic lifecycle on /v1/models by @bloodf in #1612
Full Changelog: nightly-2026-11-03...nightly-2026-11-04
Nightly nightly-2026-11-03
What's Changed
- chore(runtime): upgrade Node to 26 LTS by @bloodf in #1487
- fix(auth): require operator principal for key and provider-node management by @bloodf in #1417
- port(upstream): 56dbf46 - preserve non-stream SSE error results by @bloodf in #1395
- port(upstream): 9500965 - convert Claude tool-result image parts by @bloodf in #1393
- fix(translator): clamp Responses→Chat tool names to 64 chars (#1345) by @bloodf in #1384
- port(upstream): 08ef047 - bump undici to >=7.30.1 by @bloodf in #1375
- feat(openai): add gpt-6.1-terra and flag deprecated audio models by @bloodf in #1414
- fix(build): never use the filesystem root as the Next tracing root by @bloodf in #1415
- test(e2e): point API key and timeline specs at current pages by @bloodf in #1416
- port(upstream): normalize NVIDIA assistant reasoning aliases by @bloodf in #1402
- feat(claude-code): upgrade client fingerprint to 2.1.312 by @bloodf in #1372
- chore(docs): regenerate generated files after merge batch by @bloodf in #1504
- test(protocol): add Claude Messages conformance matrix for #1089 by @bloodf in #1325
- fix(iflow): reuse connection rows for the same BXAuth session by @bloodf in #1309
- fix(translator): stop openai-to-gemini mutating caller tool schemas by @bloodf in #1409
- fix(fallback): match terminal billing text only in error.message on 400 by @bloodf in #1410
- fix(translator): close Responses to Gemini usage and tool-call parity gaps by @bloodf in #1411
- feat(minimax): add GA MiniMax-M3.1-Flash and flag retiring models by @bloodf in #1413
- port(upstream): 5bdcd5e - move OpenCode free tier to /inference/v1 with the v2 fingerprint by @bloodf in #1424
- port(upstream): 95c9d03e - fill missing tool-call ids on streamed passthrough fragments by @bloodf in #1429
- port(upstream): b833128+313559f - OpenCode free reasoning for MiMo and DeepSeek flash by @bloodf in #1426
- fix(translator): restore Chat tool-name aliases on the forced-SSE JSON path by @bloodf in #1430
- port(upstream): 792f4719 a440ef43 - headroom native CommandCode, Gemini, Responses outputs by @bloodf in #1423
- port(upstream): 8a842043 - add user-authored custom system prompt by @bloodf in #1432
- fix(translator): lower Chat custom tool declarations to the Responses shape by @bloodf in #1419
- fix(translator): keep custom tool call history on Responses to Chat by @bloodf in #1420
- fix(stream): end translated nested response.failed as an error terminal and redact [Error] text by @bloodf in #1421
- fix(translator): end Gemini promptFeedback errors as error terminals and redact persisted errors by @bloodf in #1422
- chore(docs): regenerate generated files after merge batch by @bloodf in #1506
- test(protocol): tighten Responses matrix assertions (Gemini, Chat chunks, Claude delta) by @bloodf in #1438
- port(upstream): f172c3c4 - Antigravity hub/2.24.0 client fingerprint by @bloodf in #1428
- fix(cli): guard os.networkInterfaces in getLanIp without hiding network-exposed warning by @bloodf in #1440
- fix(translator): validate tool schemas and reject non-object Claude schemas by @bloodf in #1435
- fix(db): harden requestDetailsRepo handoff and dispose edge cases by @bloodf in #1439
- port(upstream): a61fc6a0 - rewrite all Hermes identity variants for Antigravity by @bloodf in #1451
- port(upstream): 2924e055 - map deepseek-v4.1-flash to upstream deepseek-flash by @bloodf in #1458
- port(upstream): f5f88039 - advertise PDF input for current Claude models by @bloodf in #1459
- port(upstream): 3ce2b828 - normalize Anthropic ids onto Kiro aliases by @bloodf in #1461
- port(upstream): 51a1827e+dbdbb648 - Copilot embeddings endpoint and catalog refresh by @bloodf in #1462
- chore(docs): regenerate generated files after merge batch by @bloodf in #1509
- port(upstream): 3fd925ab+63de82b8 - CodeBuddy CN channel headers and catalog sync by @bloodf in #1463
- port(upstream): b1effa03+a3bdaf6d - Command Code CLI 1.88.0 headers, Kimi K3.1 Pro by @bloodf in #1464
- port(upstream): b2aaf83b - surface Qoder add-on quota and never-expires plans by @bloodf in #1465
- chore(docs): regenerate generated files after merge batch by @bloodf in #1511
- port(omniroute): add bounded Responses tool-output compression by @bloodf in #1449
- port(upstream): 161e3493 - Gemini image reference input and Antigravity image error status by @bloodf in #1448
- port(upstream): 783e271c+82aeb907 - Antigravity daily generation host and effort tiers by @bloodf in #1437
- port(upstream): 29fc880e+eb373017 - Antigravity Gemini 4 Argon, Claude 5.5 rows and Argon rules by @bloodf in #1442
- port(omniroute): add side-by-side playground comparisons by @bloodf in #1481
- port(upstream): b677bfce - store model IDs in TUI combos by @bloodf in #1447
- port(omniroute): add Electron Hub, EUrouter, FastRouter, FreeInference providers by @bloodf in #1456
- port(omniroute): add AnyAPI, Apmix, Auriko, BeatAPI providers by @bloodf in #1453
- port(omniroute): add ChatAnywhere, CloudCode.ONE, Dahl, DXNT providers by @bloodf in #1455
- port(omniroute): add FreeTheAi, GreenPT, HelixMind, LiteRouter providers by @bloodf in #1457
- port(omniroute): add LLM Kiwi, LLM Gateway, Logfare, Lyceum providers by @bloodf in #1460
- port(omniroute): add Agnes, Agnes CN, AINative, Aion providers by @bloodf in #1452
- fix(providers): send registry auth and pinned headers on modelsFetcher discovery by @bloodf in #1495
- port(omniroute): add Zylo API provider by @bloodf in #1494
- chore(docs): regenerate generated files after merge batch by @bloodf in #1521
- fix(translator): parse Claude SSE on forced-stream non-streaming requests by @bloodf in #1518
- port(omniroute): add MegaNova AI, Mixlayer, Naga.ac, NaraRouter providers by @bloodf in #1488
- port(omniroute): add Openference, OpenVecta, Opper, Poixe AI providers by @bloodf in #1490
- port(omniroute): add TokenReply, UC Direct, Unifically, UnoRouter providers by @bloodf in #1492
- port(omniroute): add Cheaper Inference provider by @bloodf in #1496
- port(omniroute): add 1min.ai provider by @bloodf in #1497
- port(omniroute): add Magnific Mystic image provider by @bloodf in #1499
- port(omniroute): add signed operator event webhooks by @bloodf in #1482
- chore(docs): regenerate generated files after merge batch by @bloodf in #1522
- port(omniroute): add single-instance Kubernetes manifests by @bloodf in #1485
- fix(translator): validate and coerce Responses tool declaration schemas by @bloodf in #1486
- port(upstream): 5cdcddf5 - advance combo past a request-scoped 4xx by @bloodf in #1431
- port(upstream): 7c42d8f - normalize OpenAI completion token caps by @bloodf in #1394
- port(upstream): ce060c79 - OpenCode free-tier TLS client via optional wreq-js by @bloodf in #1483
- test(protocol): assert #1330 non-stream error finish as shared 502 contract by @bloodf in #1373
- test(chat): cover account cooldown and fallback for SSE error envelopes in non-stream requests by @bloodf in #1445
- chore: update test package vitest and happy-dom to clear audit...
Nightly nightly-2026-11-02
What's Changed
- ci: report test progress and clean up timed-out worker fixtures by @bloodf in #1400
- fix(startup): tolerate unavailable network interface enumeration by @bloodf in #1397
Full Changelog: nightly-2026-10-31...nightly-2026-11-02
Nightly nightly-2026-11-01
Nightly nightly-2026-10-31
Nightly nightly-2026-10-30
What's Changed
- fix(translator): preserve all Gemini system messages by @bloodf in #1261
- ci(fleet): add scoped local gates with full checkpoints by @bloodf in #1279
- ci(fleet): scope upstream watch helper checks by @bloodf in #1282
- port(upstream): #4532 - prevent generated Gemini tool ID collisions by @bloodf in #1281
- fix(upstream): qualify ported ledger membership by source by @bloodf in #1278
- fix(executors): prevent unknown providers from falling through to OpenAI by @bloodf in #1283
- fix(mcp): integrate diagnostic privacy boundaries and regressions by @bloodf in #1284
- fix(provider): separate Ollama reachability from credential verification by @bloodf in #1285
- fix(cursor): reject unenforceable output caps by @bloodf in #1264
- ci: supervise full test inventory in sequential bounded batches by @bloodf in #1299
- fix(translator): reject unsupported audio blocks by @bloodf in #1259
- fix(translator): preserve client system authority by @bloodf in #1257
- fix(translator): preserve tool failure semantics by @bloodf in #1260
- fix(translator): protect opaque thinking continuity by @bloodf in #1258
- fix(crypto): publish first-start keys atomically by @bloodf in #1265
- fix(privacy): redact MiMo login diagnostics by @bloodf in #1267
- fix(audit): derive provider identities from exports by @bloodf in #1266
- fix(cursor): reject unsupported image input explicitly by @bloodf in #1262
- fix(kiro): reject unverified output-limit enforcement by @bloodf in #1263
- fix(kiro): reject unresolved remote image loss by @bloodf in #1255
- chore: configure Renovate with preserved onboarding history by @bloodf in #1301
- ci(nightly): install website dependencies before the Vitest gate by @bloodf in #1307
- fix(translator): integrate Responses media validation and tool-output compatibility by @bloodf in #1297
- fix(providers): integrate discovery and provider boundary regressions by @bloodf in #1298
- port(upstream): 625df74 - sanitize native Antigravity tool responses by @bloodf in #1280
- fix(security): enforce native resource ownership and encoded routing by @bloodf in #1271
- chore(deps): update dependency undici to v7.30.1 [security] by @renovate[bot] in #1316
- chore(deps): update dependency storybook to v10.6.2 [security] by @renovate[bot] in #1315
- fix(deps): update vulnerable root and website dependency closures by @bloodf in #1296
- fix(mcp): sanitize rendered retry and list diagnostics by @bloodf in #1270
- ci: confine local-CI child temporary files to a private root by @bloodf in #1306
- fix(auth): preserve reauth state during in-flight cooldown updates by @bloodf in #1308
- chore(security): fix #1271 follow-up nits in owner JSDoc and test helper by @bloodf in #1321
- fix(auth): keep reauth when the atomic fallback write throws by @bloodf in #1326
- fix(stream): redact translated upstream errors and preserve passthrough errors by @bloodf in #1276
- test(protocol): expand Chat Completions conformance matrix for #1089 by @bloodf in #1322
- fix(translator): map Chat tool_choice strings to Gemini functionCallingConfig modes by @bloodf in #1337
- test(protocol): finish Responses API conformance matrix for #1089 by @bloodf in #1323
- fix(chatCore): return 502 for SSE→JSON error finish like non-stream by @bloodf in #1348
- fix(protocol): normalize empty Claude tool input_schema to an object schema by @bloodf in #1351
- docs(upstream): record 9router review through 1fe586bb (v0.5.112) by @bloodf in #1370
- fix(translator): preserve Chat tool_choice when lowering to Responses by @bloodf in #1336
- fix(protocol): normalize Claude tool schemas on every Claude-bound path by @bloodf in #1379
- port(upstream): 8db1f4a - enforce Gemini protobuf type predicates on schemas by @bloodf in #1371
- fix(translator): end Responses streams with incomplete/failed for length/error finishes by @bloodf in #1347
- port(upstream): 5a4e812 - strip NUL bytes from bound DB strings by @bloodf in #1376
- feat(providers): add Kimi Platform K3.1 Pro, Highspeed, and K2 catalog models by @bloodf in #1377
- fix(translator): pair tool results by call id within the current assistant turn by @bloodf in #1380
- fix(translator): project non-stream Responses bodies to Gemini shape by @bloodf in #1385
- port(upstream): 4662724 - count Ollama prompt_eval_cached_count as cached tokens by @bloodf in #1386
- port(upstream): b82f5c4 - treat credit exhaustion as backoff so combos try next model by @bloodf in #1388
New Contributors
Full Changelog: v4.11.0...nightly-2026-10-30
v4.11.0
4.11.0
Features
- feat: integrate DurinDoor 4.11 improvements
- feat(website): expand the hero scene and publish the brand guide
- feat(gateway): add MCP presets and PostgreSQL-only operation (#1049)
- feat(web): rebuild DurinDoor identity, website, and documentation
Fixes
- fix(website): restore the dimensional gateway animation
Maintenance
- docs: separate user guides from comprehensive AI references (#1053)