Skip to content

2.2.6

Choose a tag to compare

@Wellington01 Wellington01 released this 05 Oct 17:07
· 453 commits to main since this release
311a289

Changelog - kodustech/kodus-ai

2026-09-27 - 2026-10-04

πŸ› Bug Fixes

  • #2029 fix: LLM retry fallback, Kody Rules detection cost and BYOK listing (@Wellington01) ⏳ Not yet released
    Eval evidence (local runs, 2026-09-30): - contract-tests.yml: Not run. It is scheduled/dispatch-only, spends tokens on seven providers and alerts Discord on failure. Instead, live local calls (202...

πŸ“¦ Other Changes

  • #2071 feat(code-review): record on the run what a review gave up (#2066) (@malinosqui) ⏳ Not yet released
    Part 2 of #2066, the last one (parts 1 and 3 merged in #2067 and #2072; it needed #2069, now merged, for its pre-push run). As decided in the [design comment](https://github.com/kodustech/kodus-ai/iss...

    • Closes #2066: Self-hosted doctor says whether reviews ran in full, with no false ✘
    • Closes #2067: fix(doctor): stop false ✘ on installs whose reviews run (#2066)
    • Closes #2072: feat(doctor): say whether the reviews of the last 7 days ran in full (#2066)
    • Closes #2069: fix(sandbox): run git on the sandbox's own clone, never the caller's
    • πŸ‘€ Reviewed by: @kody-ai[bot], @Wellington01
    • πŸ‘₯ Co-authored by: [@claude Opus 5.5](https://github.com/Claude Opus 5.5)
  • #2057 fix(api): enforce organization isolation for resource access (@Wellington01) ⏳ Not yet released

    What changed - Member, permission, CLI key, issue, integration clone and Kody Rule routes resolve resources inside the caller's organization. - /mcp and /mcp/issues require a credential (`McpAu...

  • #2069 fix(sandbox): run git on the sandbox's own clone, never the caller's (@malinosqui) ⏳ Not yet released
    The local sandbox inherited GIT_DIR and the other repository variables, which outrank -C and cwd. Inside the pre-push hook, test/integration/sandbox/self-managed-clone.integration.spec.ts runs...

  • #2073 fix(web): guard category edits; no plan CTA for roles without billing (@malinosqui) ⏳ Not yet released
    Two UI bugs reported from QA. - Unsaved changes not guarded on "What to review" β€” editing a category's instructions showed "Unsaved changes", yet the sidebar navigated away and dropped the edit. T...

  • #2068 fix(web): self-hosted sweep β€” activity log 500, seats, unsaved changes (@malinosqui) ⏳ Not yet released
    Fixes from a UI sweep of the self-hosted shape (Community β†’ Enterprise license) on the #2062 preview. - Activity logs 500 β€” an org with no logs, or any filter matching none (user email, date range...

  • #2072 feat(doctor): say whether the reviews of the last 7 days ran in full (#2066) (@malinosqui) ⏳ Not yet released
    Part 3 of #2066 (part 1 merged in #2067), as decided in the design comment. The doctor checked the setup but could not say ...

    • Closes #2066: Self-hosted doctor says whether reviews ran in full, with no false ✘
    • Closes #2067: fix(doctor): stop false ✘ on installs whose reviews run (#2066)
    • Closes #2071: feat(code-review): record on the run what a review gave up (#2066)
    • πŸ‘€ Reviewed by: @kody-ai[bot]
    • πŸ‘₯ Co-authored by: [@claude Opus 5.5](https://github.com/Claude Opus 5.5)
  • #2062 fix(web): QA sweep bugs in PR detail, rule form, Cockpit and sidebar (@malinosqui) ⏳ Not yet released

    Summary UI bugs from a QA sweep of the redesigned web app, each reproduced on QA and verified here (one commit per fix; Kody's two findings fixed in 5728196): - PR detail said "Nothing to flag." ...

  • #2034 fix(e2e): send BYOK v2 config from the matrix runner (@malinosqui) ⏳ Not yet released

    What Update the cloud matrix runner to build and persist a BYOK v2 config instead of the legacy { main: ... } shape. ## Why

  • #2063 feat(web): peek the folded sidebar on hover (@malinosqui) ⏳ Not yet released

    Summary With the sidebar folded, hovering its expand control now shows the full sidebar over the page, without reflowing it, and folds it back when the pointer leaves. Clicking the control while pe...

  • #2067 fix(doctor): stop false ✘ on installs whose reviews run (#2066) (@malinosqui) ⏳ Not yet released
    Part 1 of #2066, as decided in the design comment. A customer's 2.2.4 install printed Reviews: NOT RUNNING while its revi...

  • #2056 fix(llm): run a retired Fireworks id saved in a direct BYOK slot as its replacement (@Wellington01) ⏳ Not yet released

    What buildModelFromSlot (libs/llm/byok-to-vercel.ts:101) now maps a BYOK slot's model through the retired-id table, in the upstream's own id form (canonicalUpstreamModelId, `libs/llm/provider...

  • #2048 fix(conversation): one answer per comment with duplicate webhooks (@Wellington01) ⏳ Not yet released

    Eval evidence - Platform e2e profile: Not run: no e2e profile covers webhook registration or duplicate deliveries. The conversation path was checked live on GitLab against a local stack (see Veri...

πŸ‘₯ Contributors