Period: 2026-01-23 to 2026-01-30 Generated: 2026-01-30 08:53
| Metric | Value |
|---|---|
| Total commits | 523 |
| Contributors | 62 |
| Lines added | +33131 |
| Lines removed | -15737 |
| Net change | +17394 |
| Files touched | 402 |
| Problematic commits (sampled) | 3 |
| Excellent commits (sampled) | 3 |
Note: 523 commits is too many to deep-review exhaustively in a single pass with truncated diffs. The items below focus on high-signal, representative commits from the captured output and common patterns (docs correctness, UI bug risk, lockfile hygiene).
- Many commits follow conventional format (
fix:,feat:) and include PR numbers (good). - Some messages are a bit terse and don’t explain why (common with high-volume weeks).
- From the sampled diffs shown, several changes are UI/docs and likely don’t require tests.
- For larger feature/dependency updates (e.g., SDK bumps), consider adding a small integration test or at least a note pointing reviewers to upstream changelogs.
- UI data source changes: variable renames can silently break runtime paths if not type-checked end-to-end.
- Docs/marketing tables: high likelihood of naming drift (“K2.5” vs “M2.5”).
- Large lockfile diffs: can obscure meaningful review unless accompanied by a short rationale.
Author: Frank [email protected] Date: 2026-01-29 Issues:
- ❌ Docs inconsistency/typo: bullet list says “Kimi M2.5 Free” while tables and other sections say “Kimi K2.5 Free”.
View diff (from gathered data)
diff --git a/packages/web/src/content/docs/zen.mdx b/packages/web/src/content/docs/zen.mdx
index ae7a98296..ddaabbef0 100644
--- a/packages/web/src/content/docs/zen.mdx
+++ b/packages/web/src/content/docs/zen.mdx
@@ -87,6 +87,7 @@ You can also access our models through the following API endpoints.
| GLM 4.7 Free | glm-4.7-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 4.6 | glm-4.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.5 Free | kimi-k2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -153,8 +155,9 @@ Credit card fees are passed along at cost (4.4% + $0.30 per transaction); we don
The free models:
-- GLM 4.7 is currently free on OpenCode for a limited time. The team is using this time to collect feedback and improve the model.
-- MiniMax M2.1 is currently free on OpenCode for a limited time. The team is using this time to collect feedback and improve the model.
+- GLM 4.7 Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model.
+- Kimi M2.5 Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model.
+- MiniMax M2.1 Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model.Suggested Fix:
--- a/packages/web/src/content/docs/zen.mdx
+++ b/packages/web/src/content/docs/zen.mdx
@@
-- Kimi M2.5 Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model.
+- Kimi K2.5 Free is available on OpenCode for a limited time. The team is using this time to collect feedback and improve the model.Author: Dax [email protected] Date: 2026-01-29 Issues:
⚠️ Potential runtime risk: changed variable usage fromrecentListtorecentsin a.some(...)check. Ifrecentscan be undefined or non-array in some states, this can throw.
View diff (from gathered data)
diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx
index bcbbe6928..4ad92eeb8 100644
--- a/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx
+++ b/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx
@@ -158,7 +158,7 @@ export function DialogModel(props: { providerID?: string }) {
)
if (inFavorites) return false
- const inRecents = recentList.some(
+ const inRecents = recents.some(
(item) => item.providerID === value.providerID && item.modelID === value.modelID,
)
if (inRecents) return falseSuggested Fix (make recents safe and consistently used):
--- a/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx
+++ b/packages/opencode/src/cli/cmd/tui/component/dialog-model.tsx
@@
-const recents = local.model.recent()
+const recents = connected() ? local.model.recent() : []
+const safeRecents = Array.isArray(recents) ? recents : []
@@
-const recentList = showSections ? recents.filter(...) : []
+const recentList = showSections ? safeRecents.filter(...) : []
@@
-const inRecents = recents.some(...)
+const inRecents = safeRecents.some(...)Author: Mert Can Demir [email protected] Date: 2026-01-29 Issues:
⚠️ Reviewability: largebun.lockdiff dominates the change (truncated in report). This often hides the real functional changes and makes it harder to reason about risk.⚠️ Dependency bump risk:@agentclientprotocol/sdkupdated to0.13.0—without a short note pointing reviewers/users to upstream changelog.
View diff (from gathered data; truncated)
# Note: Diff truncated (274559 chars exceeds 40000 limit)
@@
- "@agentclientprotocol/sdk": "0.12.0",
+ "@agentclientprotocol/sdk": "0.13.0",Suggested Fix (follow-up note to improve auditability):
--- a/README.md
+++ b/README.md
@@
+### Dependency notes
+
+- This repo uses Bun; large `bun.lock` diffs are expected when dependencies change.
+- Recent updates include `@agentclientprotocol/[email protected]`; please review upstream release notes for any breaking changes affecting ACP integrations.Author: Filip [email protected] Date: 2026-01-29 Why this is great:
- ✅ Small, focused UI fix with clear intent (wrapping / layout robustness).
- ✅ Uses CSS primitives (
minmax(0, 1fr),min-w-0) to avoid overflow bugs—these are the “right tools” for this class of issue.
View diff (from gathered data)
diff --git a/packages/app/src/components/titlebar.tsx b/packages/app/src/components/titlebar.tsx
index e3831c70f..001f7a567 100644
--- a/packages/app/src/components/titlebar.tsx
+++ b/packages/app/src/components/titlebar.tsx
@@
- <header class="h-10 shrink-0 bg-background-base flex items-center relative" data-tauri-drag-region>
+ <header
+ class="h-10 shrink-0 bg-background-base relative grid grid-cols-[auto_minmax(0,1fr)_auto] items-center"
+ data-tauri-drag-region
+ >Author: Dax [email protected] Date: 2026-01-29 Why this is great:
- ✅ Addresses a real UX footgun: empty state when no providers are connected.
- ✅ Single-line fix suggests there was a clear root cause.
(Flagged above only because it’s worth double-checking array safety / variable intent.)
Author: Frank [email protected] Date: 2026-01-29 Why this is great:
- ✅ Keeps product docs/pricing tables current—high leverage for support load and user trust.
- ✅ Updates multiple related sections (endpoints, pricing, privacy) rather than partially updating.
(Flagged above only for a minor naming consistency issue.)
- Add a “dependency bump” convention: when
bun.lockchanges substantially, include 2–4 bullet points in the PR description or a smallDependency notessection (or CHANGELOG) naming the important bumps and why. - Guard UI list sources: when switching list sources (
recentListvsrecents), ensure the value is always an array (or type-checked) to prevent runtime crashes in edge states. - Docs naming consistency pass: for model catalogs, add a quick grep-based checklist (e.g.,
Kimi K2.5occurrences) before merging to avoid mismatched names across tables/bullets.