Download Latest Version 2.2.4 source code.zip (61.8 MB) Google Add to Preferred Sources
Home / 2.2.3
Name Modified Size InfoDownloads / Week
Parent folder
2.2.3 source code.tar.gz 2026-09-14 57.9 MB
2.2.3 source code.zip 2026-09-14 61.7 MB
README.md 2026-09-14 14.9 kB
Totals: 3 Items   119.6 MB 0

Changelog - kodustech/kodus-ai

2026-09-07 - 2026-09-14

✨ Features

  • #1892 feat: Kodus as a BYOK provider with prepaid credits (@malinosqui) ⏳ Not yet released ## Summary "Kodus as the provider": the org picks a model from a curated catalog and Kodus routes it over its own upstream accounts (Anthropic / OpenAI / Google), billing the org's **prepaid credi...
  • Closes #51: Adding gemini 05-06 as default provider in analyzeCodeAI for light an…
  • πŸ‘€ Reviewed by: @kody-ai[bot]
  • πŸ‘₯ Co-authored by: @Claude Fable 5.1, @Claude Opus 5 (1M context)

πŸ“¦ Other Changes

  • #1918 fix(code-review): downgrade suggestions with unusable improvedCode instead of dropping them (@Wellington01) ⏳ Not yet released ## Summary - The [#1833] publication gate (is-usable-fix.ts / agent-review.stage.ts) used to drop a suggestion entirely whenever its improvedCode was empty, identical to existingCode, or truncat...
  • Closes #1833: Suggestions published with empty, identical or truncated improvedCode (38% of thumbs-down)
  • πŸ‘€ Reviewed by: @kody-ai[bot]

  • #1913 fix(web): prefer API_URL for browser-facing API origin in getApiPublicUrl (#1903) (@andyst-dev) ⏳ Not yet released ## Summary Fixes [#1903] Self-hosted SAML sign-in was broken: getApiPublicUrl() in the web app used WEB_HOSTNAME_API β€” the in-cluster Service address for the web pod's server-side /api/proxy/api/*...

  • Closes #1903: Self-hosted SAML broken: web app uses in-cluster API hostname as public SSO URL
  • πŸ‘€ Reviewed by: @kody-ai[bot]

  • #1910 feat(preview): replace Railway+Vercel previews with one full-stack env per PR (@malinosqui) ⏳ Not yet released ## Why Two reasons, one urgent and one structural. The current preview is dead. Every run of Preview: Deploy has failed since Next 16.3 β€” the Vercel builder dies in output tracing (`ENOENT .next...

  • πŸ‘€ Reviewed by: @kody-ai[bot]
  • πŸ‘₯ Co-authored by: @Claude Opus 5 (1M context)

  • #1909 fix(credits): sign a DELETE body instead of zeroing it (@malinosqui) ⏳ Not yet released Follow-up to [#1892], which merged while this commit was still in flight. Billing used to drop the body when verifying a GET or DELETE on its /credits/* routes, so a DELETE payload sat outside...

  • Closes #1892: feat: Kodus as a BYOK provider with prepaid credits
  • Closes #51: Adding gemini 05-06 as default provider in analyzeCodeAI for light an…
  • πŸ‘€ Reviewed by: @kody-ai[bot]
  • πŸ‘₯ Co-authored by: @Claude Opus 5 (1M context)

  • #1905 fix(web): restore Kody Rules / Custom Prompts rich-text editing (@sartorijr92) ⏳ Not yet released ## Summary - Fixed the reported bug where the Kody Rules / Custom Prompts rich-text editor lost keystrokes ("cursor moves, backspace/typing do nothing"): two incompatible copies of prosemirror-model...

  • πŸ‘€ Reviewed by: @kody-ai[bot]
  • πŸ‘₯ Co-authored by: @Claude Sonnet 5

  • #1904 fix(byok): Bedrock connection test and model listing (@Wellington01) ⏳ Not yet released Closes [#1906] ## Summary - Fixes Connection failed - Invalid initialization vector when testing/saving an Amazon Bedrock BYOK model with a model selected. TestByokConnectionUseCase.slotFromInput() ...

  • Closes #1906: AWS Bedrock BYOK: "Invalid initialization vector" on Test & Save with a model selected
  • πŸ‘€ Reviewed by: @kody-ai[bot]
  • πŸ‘₯ Co-authored by: @Claude Sonnet 5

  • #1900 fix(llm): send x-opencode-session header for OpenCode Go BYOK reviews (@Wellington01) ⏳ Not yet released ## Summary - OpenCode Go (opencode.ai/zen/go) started enforcing the x-opencode-session header around 2026-09-06 β€” any request missing it now gets HTTP 400 (`"Request is missing x-opencode-session ...

  • Closes #1880: OpenCode Go BYOK reviews fail because x-opencode-session header is missing
  • πŸ‘€ Reviewed by: @kody-ai[bot], @github-advanced-security[bot]
  • πŸ‘₯ Co-authored by: @Claude Sonnet 5

  • #1896 fix(e2e): confirm route absence before tolerating a GET 404 in the RBAC release-gap guard (@Wellington01) ⏳ Not yet released ## Summary Follow-up to [#1820]. That PR added routeExists() (an invalid-bearer-token probe: 401 if the route exists, 404 if it doesn't) to the mutation deny-role loop, so a route that EXISTS but wron...

  • Closes #1820: fix(e2e): tolerate unreleased routes in the scheduled self-hosted RBAC matrix
  • πŸ‘€ Reviewed by: @kody-ai[bot]
  • πŸ‘₯ Co-authored by: @Claude Sonnet 5

  • #1820 fix(e2e): tolerate unreleased routes in the scheduled self-hosted RBAC matrix (@andyst-dev) ⏳ Not yet released Fixes [#1696] ## Problem The scheduled self-hosted matrix tests the newest published release image, with the harness checked out from main β€” deliberately, to answer "does what customers actually...

  • Closes #1696: Scheduled matrix goes red on unreleased routes: RBAC manifest is from main, image is from the last release
  • πŸ‘€ Reviewed by: @kody-ai[bot]

  • #1819 fix(code-review): searchDocs says backend unavailable instead of faking no docs (@andyst-dev) ⏳ Not yet released Fixes [#1762] ## Problem DocumentationSearchExaService returns {} when no API_EXA_KEY is configured (backend never built) and null per-query when an Exa call throws (backend broken). Either way ...

  • Closes #1762: searchDocs (Exa) tool is dead in production: returns "No documentation found" without ever calling Exa
  • πŸ‘€ Reviewed by: @kody-ai[bot]

  • #1818 fix(agents): force the agentic task-context fallback to use known issue numbers (@andyst-dev) ⏳ Not yet released Fixes [#1770] ## Problem The agentic fallback in task-context-read.ts listed KNOWN_ISSUE_NUMBERS but only asked the model to "Resolve task context using available MCP tools". When a task-management ...

  • Closes #1770: Business-logic validation fetches wrong GitHub issue via MCP (agentic fallback ignores KNOWN_ISSUE_NUMBERS)
  • Closes #214: Fix/context runtime
  • Closes #343: fixed method get commits for content file
  • Closes #1777: fix(task-context): never stuff issue keys into closed-enum params via anyOf/const
  • πŸ‘€ Reviewed by: @kody-ai[bot]

  • #1857 fix(kody-rules): soft-delete every rule matching a removed source path, not just the first (@27Bslash6) ⏳ Not yet released ## Summary KodyRulesSyncService.deleteRuleBySourcePath soft-deleted only the first rule whose (repositoryId, sourcePath) matched (Array.find). When a sourcePath carries more than one record ...

  • πŸ‘€ Reviewed by: @kody-ai[bot]

  • #1876 fix(code-review): pass review findings into the PR-summary prompt (@KminekMatej) ⏳ Not yet released Closes [#1877] ## Problem generateSummaryPR never receives the review's findings, so the summary model only ever sees the diff β€” even though UpdateCommentsAndGenerateSummaryStage runs after `aggrega...

  • Closes #1877: PR summary is generated without the review's findings
  • Closes #1816: fix(code-review): make PR-summary user prompt carry the request
  • πŸ‘€ Reviewed by: @kody-ai[bot]
  • πŸ‘₯ Co-authored by: @Claude Opus 5

  • #1894 fix(notifications): mark-as-read paths 500 on TypeORM nested update criteria (@andyst-dev) ⏳ Not yet released Fixes [#1885] ## Problem Marking a notification as read has 500'd on every user since 2.2.1 (PATCH /notifications/:id/read and POST /notifications/mark-all-read). Both repository methods passed a **...

  • Closes #1885: Notifications: mark-as-read and mark-all-read return 500 since 2.2.1 (TypeORM nested relation criteria in update())
  • Closes #1851: fix: twelve production defects found in two hours of logs
  • πŸ‘€ Reviewed by: @kody-ai[bot]

  • #1893 fix(code-review): drop suggestions with unusable improvedCode (@Wellington01) ⏳ Not yet released ## Summary - Adds a deterministic publication gate (is-usable-fix.ts) that runs after the content formatter and before Kody Rule link enrichment in agent-review.stage.ts: a suggestion whose `impro...

  • Closes #1833: Suggestions published with empty, identical or truncated improvedCode (38% of thumbs-down)
  • Closes #1: Fix error from migration code base to open source.
  • Closes #1831: Kody Rules T0 regex detectors publish findings without LLM confirmation or language scope (44.6% thumbs-down rate)
  • Closes #1822: Make review suggestions faster to understand and act on
  • πŸ‘€ Reviewed by: @kody-ai[bot]
  • πŸ‘₯ Co-authored by: @Claude Sonnet 5

  • #1887 feat(kody-rules): let a rule declare the context it needs beyond the diff (@Wellington01) ⏳ Not yet released Closes part of [#1826]. ## What this does A Kody Rule can now declare what it needs to see beyond the diff, and the

  • Closes #1826: Kody Rules: let a rule declare the context it needs beyond the diff
  • Closes #1449: kody-rules under-covers: it inherits the bug-finder's depth-first prompt (a breadth task on a depth brain)
  • πŸ‘€ Reviewed by: @kody-ai[bot]
  • πŸ‘₯ Co-authored by: @Claude Opus 5, @Claude Sonnet 5

  • #1888 fix(byok): route implementation-check and validation LLM calls through org BYOK (@Wellington01) ⏳ Not yet released ## Summary - suggestion.service.ts / suggestionLLMValidator.service.ts: validateImplementedSuggestions and the committable-suggestion validator hardcoded byokConfig, ignoring the org's BYOK co...

  • Closes #1826: Kody Rules: let a rule declare the context it needs beyond the diff
  • πŸ‘€ Reviewed by: @kody-ai[bot]
  • πŸ‘₯ Co-authored by: @Claude Opus 5

  • #1878 docs(changelog): add September 8, 2026 release notes (@edvaldofreitas) ⏳ Not yet released Adds the September 8, 2026 changelog

  • πŸ‘€ Reviewed by: @kody-ai[bot]

  • #1872 fix(code-review): report what the provider actually said when a review fails (@Wellington01) πŸ“¦ Released in 2.2.2 Closes part of [#1871]. ## What happens today A failed review posts this and nothing else:

  • Closes #1871: OpenRouter reviews fail after a successful connection test without actionable diagnostics
  • Closes #1861: fix(byok): make credential settings persist and 404s explain themselves
  • Closes #1868: BYOK: provider settings never persist on an existing credential, and a 404 is diagnosed with a guess
  • πŸ‘€ Reviewed by: @kody-ai[bot]
  • πŸ‘₯ Co-authored by: @Claude Opus 5

πŸ‘₯ Contributors

Source: README.md, updated 2026-09-14