Skip to content

OpenCode v1.17.4 - #12204

Merged
johnnyeric merged 506 commits into
mainfrom
johnnyeric/kilo-opencode-v1.17.4
Jul 17, 2026
Merged

OpenCode v1.17.4#12204
johnnyeric merged 506 commits into
mainfrom
johnnyeric/kilo-opencode-v1.17.4

Conversation

@johnnyeric

@johnnyeric johnnyeric commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

OpenCode v1.17.4

Core

Improvements

  • Added cwd support for local MCP servers so they can start from a workspace-relative directory.
  • Added connector-based authentication flows and support for stored provider credentials.
  • Added v2 API endpoints to create and fetch sessions, list session questions, and resolve the active location.
  • File reads now return raw content with the correct content type for API and SDK clients.
  • MCP server log notifications are now surfaced in opencode logs.

Bugfixes

  • Fixed Gemini tool schemas that used multi-type fields so compatible tools keep working.
  • Content-filtered model responses now surface as visible errors instead of failing silently.
  • Fixed MCP auth and debug requests dropping configured headers.
  • Snapshot creation now reuses source Git objects to avoid long re-hashing delays on huge repos.
  • Fixed MCP catalog request timeouts not applying when listing prompts, resources, or tools.

OpenCode v1.17.3

No notable changes.

OpenCode v1.17.2

Core

Bugfixes

  • Recover from expired remote config auth by prompting you to log in again instead of failing to load config
  • Let subagents use their own configured permissions again

Desktop

Bugfixes

  • Restore Linux launcher and icon identity so pinned apps keep opening correctly
  • Restore the device attachment picker

OpenCode v1.17.1

Core

Improvements

  • References can include usage descriptions for agents, show up in the new docs, and be hidden from @ autocomplete when needed.

Bugfixes

  • Deprecated reference config entries continue to load under the newer references config key.
  • MCP prompt and resource requests now respect configured server timeouts.
  • Anthropic fallback responses are handled correctly again.
  • MCP servers that fail during client setup now fail cleanly instead of leaving a broken connection behind.

Desktop

Improvements

  • The new desktop session flow now has a dedicated /new-session route with draft tabs that keep your prompt and project selection together until you start the session.

Bugfixes

  • Restored macOS auto-updates.

OpenCode v1.17.0

Core

Improvements

  • Faster file search across large projects with the new fff-backed search tools.
  • Added X-Session-Id headers for proxy setups that need sticky routing.
  • Added Cohere North model support.
  • Added reasoning as an interleaved field option for vLLM providers.
  • mcp add now works in non-interactive flows.
  • auth logout now supports search when choosing an account.

Bugfixes

  • Improved MCP connection status messages so failures are easier to act on.
  • Added Claude Fable reasoning support.
  • MCP tool calls now receive abort signals, so cancellations stop more reliably.
  • MCP catalogs now paginate correctly instead of truncating larger lists.
  • OpenRouter reasoning variants now generate for all models.
  • Added MiniMax M3 thinking toggle support.
  • Java multi-module Maven workspaces now resolve JDTLS from the topmost pom.xml.
  • MCP servers now respect advertised capabilities.
  • Session lists now respect directory filters in workspace setups.
  • Sessions can recover once from provider context-overflow errors instead of failing immediately.
  • Bedrock Mantle config now honors configured API key and region settings.

TUI

Improvements

  • The session move flow now highlights project copies more clearly and keeps the current location selected.
  • Project copies can now be deleted directly from the move dialog.

Bugfixes

  • New project copies are now bootstrapped before the TUI switches into them.
  • Moving a session now injects a reminder about the new working directory.

Desktop

Improvements

  • Added a help button to the tabs bar.
  • Prompt drafts are preserved while you switch tabs.
  • File attachments now open in the active project.
  • App updates now stay responsive and persist across restarts.
  • Added WSL-backed Desktop support and WSL server management on Windows.
  • Improved the sessions list UI.
  • Improved the servers UI.

Bugfixes

  • Updated Electron and fixed related panel layout issues.
  • Fixed several WSL Desktop bugs.
  • Hidden agents no longer get cycled accidentally.
  • MCP status now refreshes when the active directory changes.
  • The Home screen now keeps a larger recent-session list with scrolling.

SDK

Improvements

  • Large v2 tool outputs are now bounded and expose retained output paths for follow-up inspection.

kitlangton and others added 30 commits June 5, 2026 16:28
…change shortcut; tab to cycle actions in dialog select (#30989)
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
@johnnyeric
johnnyeric force-pushed the johnnyeric/kilo-opencode-v1.17.4 branch from d7c6134 to 6d99713 Compare July 15, 2026 18:57
@johnnyeric
johnnyeric force-pushed the johnnyeric/kilo-opencode-v1.17.4 branch from 6d99713 to 790affb Compare July 15, 2026 19:15
Comment thread packages/opencode/src/project/bootstrap.ts Outdated
Comment thread packages/server/src/handlers/reference.ts Outdated
@johnnyeric
johnnyeric force-pushed the johnnyeric/kilo-opencode-v1.17.4 branch 2 times, most recently from b3830fb to d57b5fc Compare July 15, 2026 22:59
@johnnyeric
johnnyeric force-pushed the johnnyeric/kilo-opencode-v1.17.4 branch from d57b5fc to e6d0427 Compare July 16, 2026 10:44
…ode-v1.17.4

# Conflicts:
#	.github/workflows/test.yml
#	packages/opencode/src/session/processor.ts
#	packages/opencode/test/kilocode/session-prompt-permission-refresh.test.ts
…ode-v1.17.4

# Conflicts:
#	packages/opencode/src/cli/cmd/tui/plugin/internal.ts
#	packages/opencode/src/kilocode/cli/cmd/tui/component/dialog-memory.tsx
#	packages/opencode/src/kilocode/cli/cmd/tui/component/memory-sidebar.tsx
#	packages/opencode/src/kilocode/plugins/memory-status.tsx
…ode-v1.17.4

# Conflicts:
#	packages/opencode/src/cli/cmd/tui.ts
#	packages/opencode/src/cli/tui/worker.ts
#	packages/opencode/test/kilocode/cli/tui/thread.test.ts
…ode-v1.17.4

# Conflicts:
#	packages/opencode/test/session/compaction.test.ts
pandemicsyn added a commit to pandemicsyn/neondeck that referenced this pull request Jul 17, 2026
## Summary

- add a repeatable `npm run bench:pr-review` command for immutable
revisions in registered repositories
- measure backend cold/warm/local/fallback behavior and
production-browser tree, thread, and first-patch readiness
- reconcile the frontend audit and PR performance plan with phases 1–5
that already shipped
- retain the original findings and document candidate fixes without
changing production behavior

## Real target

Measured open `Kilo-Org/kilocode#12204` at a fixed head/base revision:

- 1,019 files, 45,053 additions, 23,744 deletions
- 47 review threads; two unresolved paths
- both target objects were absent before the first local request

## Results

- cold local metadata: 4,978 ms, 295 kB, zero truncated files; misses
the 3 second target
- warm backend: 311 ms file list and 643 ms sequential first patch
- production browser medians: 869 ms tree, 1,971 ms first patch, 2,183
ms threads
- production rendering remained healthy: 876 ms LCP, 0.0012 CLS, zero
long tasks
- every browser sample started two review-thread requests as optimistic
PR state settled to authoritative detail
- four concurrent local patches took 1,952 ms because each patch path
recomputes full 1,019-file metadata
- GitHub fallback: 3,894 ms cold / 24 ms cached, 765 kB metadata, one
truncated file

## Discussion gate

This PR intentionally does not implement the measured production fixes.
The plan now proposes, in order:

1. stabilize review-thread query identity while preserving explicit
invalidation
2. reuse or single-flight immutable local metadata across patch reads
3. remeasure before delaying neighbor/unresolved prefetch or changing
the cold-fetch target

## Verification

- `npm run bench:pr-review -- ... --samples 3`
- `npm run build:dashboard`
- `npm run check` (84 files, 524 tests)
- `npm run format:check`
- standalone Oxlint and syntax checks for the new benchmark
- direct Chrome DevTools production trace
- `git diff --check`
pandemicsyn added a commit to pandemicsyn/neondeck that referenced this pull request Jul 17, 2026
## What changed

- cache metadata-only local PR diffs in a bounded 10-minute,
eight-revision LRU keyed by repo path, merge-base, and head SHA
- single-flight concurrent metadata misses and reuse one registry/ref
resolution inside each per-file request
- key mutable review threads by repo and PR number, while preserving
mutation updates and authoritative activity invalidation
- keep the original performance finding in the HTML report, mark the two
approved fixes complete, and document the next active-patch-priority
discussion
- add a patch changeset

## Why

The real registered-PR trace showed that every patch request recomputed
metadata for all 1,019 files, while optimistic-to-authoritative PR
settlement started a second review-thread request and could
abandon/reissue unresolved-path patches.

## Measured impact

Same immutable `Kilo-Org/kilocode#12204` target, three
production-browser samples:

- warm metadata: 311 ms → 90 ms (71.2% faster)
- sequential patch: 643 ms → 303 ms (52.9% faster)
- four-path fanout: 1,952 ms → 1,055 ms (46.0% faster)
- browser first patch: 1,971 ms → 1,195 ms (39.4% faster)
- review-thread requests: 2 → 1 in every sample
- aborted patch reads: 2 in the reproduced complete trace → 0 in every
final sample
- duplicate-case API transfer: 1,122 kB → 743 kB (33.8% lower)

The first patch remains 195 ms over the browser target, so
neighbor/unresolved prefetch prioritization remains a discussion item
rather than being added to this PR.

## Validation

- `npm run verify`
- `npm run bench:pr-review -- --origin http://127.0.0.1:3417 --repo
Kilo-Org/kilocode --number 12204 --head
3e0d20c03d43124ac1bc7841ba4ba6aa503d96bd --base
a4aceaa2b9ebc72b3fda807ed34da72f5e300872 --base-ref main --title
"OpenCode v1.17.4" --samples 3`
- direct Chrome DevTools trace: 551 ms LCP, 0 CLS, 39 ms forced reflow
with no estimated savings
@johnnyeric
johnnyeric merged commit 2742b57 into main Jul 17, 2026
32 checks passed
@johnnyeric
johnnyeric deleted the johnnyeric/kilo-opencode-v1.17.4 branch July 17, 2026 15:47
pandemicsyn added a commit to pandemicsyn/neondeck that referenced this pull request Jul 18, 2026
## Summary

- make the real-PR benchmark reject accidental Vite development runs and
record aborted requests plus thread request/render timing
- use a lean review-surface GraphQL query while preserving the
full-fidelity Flue action
- add a conservative 15-second, 16-entry in-memory cache with
token-scoped keys, mutation invalidation, race protection, and caller
cancellation
- update the retained performance plan and HTML static-review report
without removing prior findings or measurements
- add a patch changeset

## Why

The production review surface spent only about 11 ms rendering threads
after the response, while the uncached GitHub GraphQL request took
roughly 0.9–1.1 seconds and transferred 381 KB. The remaining bottleneck
was the request path rather than React, TanStack Query, or Pierre.

## Measured result

Real registered target: `Kilo-Org/kilocode#12204`, 1,019 files and 47
review threads.

- warm thread visibility: **1,724 ms → 459 ms median**
- thread response: **381,244 B → 58,240 B** (84.7% smaller)
- total API transfer: **742,850 B → 400,821 B**
- warm backend thread read: **6.8 ms median**
- post-response React rendering: **6.5 ms median**
- final trace: **530 ms LCP, 0.00 CLS**, zero aborted/failed API
requests

The initial uncached GitHub read remains about 655 ms, the tree median
remains 642 ms, and both stay explicit follow-ups.

## Cache safety

The cache is process-local only, capped at 16 entries, expires after 15
seconds, and uses a token fingerprint in its key. Successful review
submissions, replies, and resolve/unresolve actions invalidate the
target. A mutation racing an in-flight read prevents the stale result
from being cached. In-flight calls are not shared, so one caller's
cancellation cannot cancel another caller's work.

## Validation

- `npm run verify` — lint, layers, database checks, types, 560 unit
tests, 33 git tests, 129 integration tests, dashboard/docs builds,
package validation, pack smoke, formatting
- final `npm run check` after cancellation-semantics hardening — 561
unit tests
- production `npm run bench:pr-review` against the immutable PR revision
- Chrome DevTools production trace and accessibility-tree smoke check
t7tran pushed a commit to t7tran/kilocode that referenced this pull request Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.