v4.8.0 - Reasoning Controls, Context Safety & Native OpenCode Discovery #345
siddsachar
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
v4.8.0 - Reasoning Controls, Context Safety & Native OpenCode Discovery
This release builds on v4.7.1 with provider-aware reasoning controls, safer
context-capacity handling, more resilient rolling compaction, native OpenCode
gateway discovery, and a responsive desktop composer. It lets each chat keep
an exact model-specific reasoning choice, prevents custom endpoints from
silently inheriting an invented context window, recovers more long
conversations without a compaction failure loop, discovers newly listed
OpenCode models with their real transport metadata, and strengthens Google,
Anthropic-routed, mobile, and streaming compatibility without weakening
local-first, approval, credential, or transcript boundaries.
Provider-Aware Reasoning Controls
thinking On or Off, and bounded token-budget choices only when the active
provider-qualified model exposes an actionable capability.
one thread and one canonical model reference, restores a valid selection
when that model is revisited, and does not leak it into another chat or an
incompatible model.
model control, exposes the same choices inside mobile Chat controls, and
shares the behavior with normal Chat, Designer Studio, and Developer Studio.
/reasoningto Chat and Telegram,Discord, Slack, WhatsApp, and SMS conversations; the bare desktop or mobile
command opens the visible control while explicit effort, toggle, budget, and
default arguments are validated against the active model.
Anthropic and Claude Subscription, Google, xAI, Ollama and Ollama Cloud,
OpenRouter, OpenCode, and compatible-endpoint request formats without
applying a provider-wide guess to an unknown model.
with reasoning Auto, On, or Off behavior, optional thinking budgets,
returned-reasoning preservation, explicit replay capability, and advanced
request JSON for endpoints that require compatibility tuning.
from the final answer and retains it as a collapsed Thinking section when
the provider returns replayable content.
explicit reasoning option before producing output, retries once with
Provider default, clears only that rejected model selection, and shows a
local notice; authentication, rate-limit, timeout, cancellation, server, and
mid-stream failures are not silently replayed.
fallback wrapper so normal and fallback streaming cannot duplicate visible
tokens, tool events, or completion callbacks.
Context Capacity And Compaction Recovery
endpoint as server-managed even when it runs locally, uses only detected or
manually declared model capacity in Auto, and no longer presents the generic
remote 128K application fallback as evidence about a custom server.
when Row-Bot cannot determine its context window and no cap is set, with
guidance to refresh or probe the endpoint, declare its native limit, choose
a verified Custom cap, or select another model.
from 16,384 through 4,194,304 tokens for local and provider models while
retaining the common 16K through 1M presets and preserving exact saved
values across the context-policy v3 migration.
32K to 65,536 tokens, still capped by known native metadata or the observed
loaded allocation; a fixed 32K choice remains available for smaller-memory
or reduced-tool configurations.
not permission to reconfigure the server, and stops sending the undocumented
n_ctxchat-completions field to llama.cpp; server context remains a startupsetting such as
--ctx-size.probe tested and applies chat, tool-round-trip, streaming, and context
evidence only to that model, preventing a successful sibling model from
promoting or changing transport behavior for an untested one.
mode only after a successful tool round trip, keeps verified chat-only models
in Chat Only, blocks failed chat probes, and preserves the minimum context
floor even after a successful tool probe.
bound tool schemas before attempting rolling compaction and produces an exact
estimated-versus-usable token error when the selected context cannot fit
them.
enough slack, safely ages one more complete atomic group while keeping the
newest group intact, including tool-call and tool-result pairs.
makes one additional bounded summary pass when necessary, and saves only the
final successful summary state so an oversized intermediate result cannot
trap the unchanged conversation in a repeated failure loop.
reducing unexpected exceptions to their class name, keeping transcript and
provider text out of warning logs.
Native OpenCode Gateway Discovery
/modelscatalogs and intersects each gateway's actual availability withthe public native routing metadata used by OpenCode.
Anthropic Messages, or Google GenAI transport from explicit model or provider
SDK metadata instead of relying only on a maintained model-name classifier.
context windows, input and output modalities, tool calling, streaming, and
reasoning capability so newly listed supported models can flow through the
catalog, readiness checks, context policy, and runtime after refresh.
GenAI with the gateway's v1 endpoint and provider-native reasoning request
mapping.
restart, retains the legacy static classifier for older cache rows, and fails
closed with a sanitized diagnostic when a cached or newly advertised native
protocol is unsupported.
across a full provider refresh, preserves the last known good gateway rows on
network or registry failure, uses the static catalog only for a cold failed
refresh, clears stale rows after a valid empty gateway response, and keeps
Zen and Go caches isolated.
Composer And Provider Compatibility
Model, Thinking, and Approval labels progressively while keeping each icon,
picker, tooltip, keyboard target, and accessible state available.
Skills button, shortens the context meter without losing its threshold or
tooltip, moves transient voice status above the toolbar, and gives Send and
Stop one stable action slot so controls do not wrap or jump.
composer copy to “Do anything…” while retaining the compact mobile wording.
langchain-google-genai4.x adapter andlangchain-core1.6 line, removesthe retired
google-ai-generativelanguageruntime dependency, and updateseffective tool-schema inspection for the new SDK declarations.
streaming, multimodal input, thought-signature replay, reasoning defaults,
and asynchronous cancellation through the consolidated adapter.
and Requesty, consolidates late system messages for Anthropic Messages, keeps
tool-call/result groups valid, and leaves the durable checkpoint transcript
unchanged.
blocks and drops private incompatible blocks only in the provider-facing copy
so switching from another transport cannot fail before the Google request.
callback lifecycle instead of spawning an untracked task, improving error
propagation and deterministic command behavior.
Documentation, Dependencies And Release Validation
navigation, provider/settings links,
/reasoningexamples, persistence andfallback behavior, privacy guidance, and troubleshooting, then regenerates
the searchable documentation artifacts.
published pages for the 64K local Auto target, exact custom values, custom
server capacity semantics, and model-scoped endpoint evidence.
downloads and contracts with v4.7.1 before the v4.8 documentation work.
capability resolution, persistence, commands, transport payloads, fallback
classification, duplicate callback prevention, custom endpoint context and
probe isolation, fixed-envelope failures, compaction fallback, and dynamic
OpenCode refresh-to-runtime behavior.
accessible compact-control, context-meter, mobile reasoning, Google adapter,
routed-Claude normalization, tool-schema, Gmail, Goal, Requesty, and
cancellation contracts, and updates source-to-test ownership for the new
provider modules.
Breaking Changes And Caveats
model and thread settings migrate in place.
therefore use more Ollama memory. Select a fixed 32K context if the larger
allocation is unsuitable for the machine or model.
generic fallback. Refresh or probe it, declare the server's native limit, or
set a verified Custom cap before use.
not change the server's loaded allocation. Configure llama.cpp, vLLM,
SGLang, LM Studio, or another server independently.
provider-specific. Provider default remains the compatibility choice, and
reasoning replay for a custom endpoint should be enabled only when that
endpoint's format and trust boundary are understood.
public native routing registry. A failed refresh preserves the last known
good rows or uses the bundled static fallback on a cold cache.
This discussion was created from the release v4.8.0 - Reasoning Controls, Context Safety & Native OpenCode Discovery.
All reactions