/* Route-Critical (index, V6 §3.6.3 — erzeugt von tools/generate_critical_css.mjs) */ .collapse:not(.show){display:none}.navbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar>.container-fluid{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.mydraft-svg-icon{display:inline-block;vertical-align:middle;color:currentcolor;flex-shrink:0;transition:color var(--duration-fast, 150ms) ease,stroke var(--duration-fast, 150ms) ease,fill var(--duration-fast, 150ms) ease}.mydraft-svg-icon circle,.mydraft-svg-icon line,.mydraft-svg-icon path,.mydraft-svg-icon polygon,.mydraft-svg-icon polyline,.mydraft-svg-icon rect{transition:stroke var(--duration-fast, 150ms) ease,fill var(--duration-fast, 150ms) ease}@layer components{.live-pulse-dot{width:8px;height:8px}}.min-w-0{min-width:0}@layer overrides{.live-radar-header-badge{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fca5a5;font-size:.75rem;font-weight:700;transition:.25s;cursor:pointer}}@layer overrides{.live-pulse-dot{width:8px;height:8px;background-color:var(--threat-critical,#ef4444);border-radius:50%;display:inline-block;box-shadow:rgba(239,68,68,.7) 0 0 0 0}}@layer overrides{body.light .live-radar-header-badge,html[data-bs-theme=light] .live-radar-header-badge{background:#fbd9dd;border-color:#eeb2b8;color:#8a1723!important}}.isharestuff-live-ticker{color:var(--color-text-body,#f8fafc);backdrop-filter:none;flex-wrap:wrap;row-gap:.3rem;background:var(--color-surface,rgba(15,23,42,.85))!important;border:1px solid var(--color-border,rgba(255,255,255,.12))!important;padding:.45rem .5rem!important;margin-bottom:.75rem!important}.ticker-content{mask-image:linear-gradient(to right,transparent 0px,rgb(0,0,0) 14px,rgb(0,0,0) calc(100% - 14px),transparent 100%);touch-action:pan-y;cursor:grab;user-select:none;-webkit-tap-highlight-color:transparent;order:1;width:100%;max-width:100%;flex:0 0 100%!important}.isharestuff-live-ticker .ticker-lead-group{order:2;width:100%;justify-content:space-between;margin-right:0!important}.ticker-track{display:flex;align-items:center;white-space:nowrap;will-change:transform;transform:translate3d(0,0,0);--ticker-speed:1;animation-name:isharestuffTicker;animation-timing-function:linear;animation-iteration-count:infinite;animation-duration:calc(26s / var(--ticker-speed, 1))}.ticker-link{max-width:min(78vw,340px);font-size:.82rem;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:baseline;transition:color .2s;color:var(--color-text-heading,#f8fafc)!important}.isharestuff-live-ticker .ticker-ctrl-btn{min-width:44px;height:44px;font-size:.78rem;-webkit-tap-highlight-color:transparent}.ticker-controls-bar{gap:.4rem}.ticker-counter{font-family:var(--bs-font-monospace, ui-monospace, monospace);font-size:.72rem;line-height:1;color:var(--color-text-secondary,#94a3b8);min-width:3.4em;text-align:center;user-select:none;white-space:nowrap;margin-left:auto}.ticker-item{font-size:.82rem}.ticker-item .ticker-date{font-size:.72rem;vertical-align:baseline}.ticker-text-group{display:inline-flex;align-items:baseline}.ticker-badge-live-btn{border:0;cursor:pointer;text-decoration:none!important}.ticker-badge{font-size:.78rem!important;min-height:44px!important;min-width:44px!important;padding:6px 12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.signal-live-strip{display:flex;align-items:center;gap:.625rem;min-height:44px;margin-bottom:1rem;padding:.4rem .875rem;border-radius:9999px;border:1px solid rgba(var(--color-border-rgb,148,163,184),.35);background:rgba(var(--color-surface-rgb,15,23,42),.6);backdrop-filter:blur(12px) saturate(140%);overflow:hidden}.signal-live-badge{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fda4af}[data-bs-theme=light] .signal-live-badge,body.light .signal-live-badge{color:#be123c}.signal-live-dot{width:8px;height:8px;border-radius:50%;background:#f43f5e;animation:1.6s ease-in-out 0s infinite normal none running signalLivePulse}.signal-live-strip.is-online .signal-live-dot{background:#22c55e;animation:auto ease 0s 1 normal none running none}.signal-live-item{font-size:.82rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.menue-widget .nav-tree-link{min-width:44px;display:flex;align-items:center;word-break:break-word;overflow-wrap:anywhere;max-width:100%;min-height:44px!important}.menue-widget .nav-title-text{overflow-wrap:anywhere;word-break:break-word}.menue-widget .menue-widget-btn{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-toggler{display:none}}@media (prefers-reduced-motion:reduce){@layer overrides{#news-popup,#news-toast-banner,.animate-pulse,.live-pulse-dot,.live-pulsing-dot,.news-item-card{animation:auto ease 0s 1 normal none running none;transition:none}}.ticker-track{animation:auto ease 0s 1 normal none running none!important}.ticker-content{cursor:default}.signal-live-dot{animation:auto ease 0s 1 normal none running none}}@media (min-width:768px){.isharestuff-live-ticker{flex-wrap:nowrap;row-gap:0;backdrop-filter:blur(12px);padding:.5rem!important;margin-bottom:1rem!important}.isharestuff-live-ticker .ticker-content{order:0;width:auto;max-width:none;flex:1 1 auto!important}.isharestuff-live-ticker .ticker-lead-group{order:0;width:auto;justify-content:flex-start;margin-right:1rem!important}.ticker-controls-bar{gap:.3rem}.isharestuff-live-ticker .ticker-ctrl-btn{min-width:30px;height:auto;font-size:inherit}.ticker-counter{font-size:.66rem;margin-left:0}.ticker-track{animation-duration:calc(40s / var(--ticker-speed, 1))}.ticker-link{max-width:340px;font-size:.85rem}.ticker-item{font-size:.85rem}.ticker-badge{font-size:inherit!important;min-height:0!important;min-width:0!important;padding:.5rem 1rem!important}}@media (max-width:359.98px){.ticker-counter{display:none}.ticker-controls-bar{gap:.3rem}.ticker-badge{padding:6px 9px!important}}@media (max-width:767.98px){.signal-live-strip{flex-wrap:wrap;align-items:flex-start;border-radius:1rem;padding:.5rem .75rem;row-gap:.25rem}.signal-live-badge{margin-top:.1rem}.signal-live-item{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:clip;overflow-wrap:anywhere;line-height:1.3}} 🔒 GitHub Release: codewhale-hq/Codewhale v0.9.8 (20.08.2026) | AI & KI Nachrichten – TSECURITY.DE Zum Hauptinhalt springen
Server SecurityHoch hinaus(17.10.2026 um 08:00 Uhr)
•
Malware / Trojaner / Viren14.00 kernel bug hunt help!(16.10.2026 um 11:40 Uhr)
•
Malware / Trojaner / Virenpwn.college(16.10.2026 um 14:48 Uhr)
•
Malware / Trojaner / VirenGigabyte kernel driver LPE(16.10.2026 um 19:32 Uhr)
••
Sichere ProgrammierungVigilOSS - Harness to help hunt for bugs in a structured smart way(16.10.2026 um 23:00 Uhr)
•••
IT Security ToolsGitHub Release: rapid7/metasploit-framework v6.5.7 (16.10.2026)(16.10.2026 um 15:35 Uhr)
•
IT Security NachrichtenQuantum eMotion Aktie: Übernahmevereinbarung mit Plurilock eingereicht(17.10.2026 um 09:41 Uhr)
•
Server SecurityHoch hinaus(17.10.2026 um 08:00 Uhr)
•
Malware / Trojaner / Viren14.00 kernel bug hunt help!(16.10.2026 um 11:40 Uhr)
•
Malware / Trojaner / Virenpwn.college(16.10.2026 um 14:48 Uhr)
•
Malware / Trojaner / VirenGigabyte kernel driver LPE(16.10.2026 um 19:32 Uhr)
••
Sichere ProgrammierungVigilOSS - Harness to help hunt for bugs in a structured smart way(16.10.2026 um 23:00 Uhr)
•••
IT Security ToolsGitHub Release: rapid7/metasploit-framework v6.5.7 (16.10.2026)(16.10.2026 um 15:35 Uhr)
•
IT Security NachrichtenQuantum eMotion Aktie: Übernahmevereinbarung mit Plurilock eingereicht(17.10.2026 um 09:41 Uhr)
•
Intelligence View
⚡ tsecurity.de Intelligence

GitHub Release: codewhale-hq/Codewhale v0.9.8 (20.08.2026)

Release v0.9.8 von codewhale-hq/Codewhale auf GitHub: Codewhale is the public product from Shannon Labs. The codewhale command, npm package, and release-asset…

Beitrag
0
Seite
0
↗ Quelle (GitHub · codewhale-hq/Codewhale)
Social ReaktionenReagiere als Erste:r — dein Feedback zählt!
codewhale-hq/Codewhalev0.9.820.08.2026@github-actions[bot]

Codewhale is the public product from Shannon Labs. The codewhale

command, npm package, and release-asset names remain lowercase technical

identifiers. The legacy npm package deepseek-tui is deprecated and

receives no further releases. Users coming from v0.8.x legacy deepseek /

deepseek-tui names should migrate with docs/REBRAND.md.



Install



npm install -g codewhale

The wrapper downloads the matched codewhale and codew command assets

from this Release. Both contain the same compiled runtime.


Docker / GHCR


docker run --rm -it \
-e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
-v codewhale-home:/home/codewhale/.codewhale \
ghcr.io/hmbown/codewhale:v0.9.8

The image exposes the same runtime as both codewhale and codew. The

latest tag is also updated on release.


Cargo (Linux / macOS)


cargo install codewhale-cli --locked

The Cargo package installs codewhale. Cargo cannot create a second command

alias from one binary target; users who want the shorter spelling can add a

codew symlink to that installed executable. The npm, Homebrew, archive,

shell-installer, and container channels install both command names directly.



Each archive below contains the same runtime under the codewhale and

codew command names, plus an install script:






























































Platform Archive Install script
Linux x64 codewhale-linux-x64.tar.gz install.sh
Linux ARM64 codewhale-linux-arm64.tar.gz install.sh
Android ARM64 (Termux) codewhale-android-arm64.tar.gz install.sh
macOS x64 codewhale-macos-x64.tar.gz install.sh
macOS ARM codewhale-macos-arm64.tar.gz install.sh
Windows x64 (installer) CodeWhaleSetup.exe NSIS setup
Windows x64 codewhale-windows-x64.zip install.bat
Windows x64 (portable) codewhale-windows-x64-portable.zip —
Windows ARM64 codewhale-windows-arm64.zip install.bat
Windows ARM64 (portable) codewhale-windows-arm64-portable.zip —

Unix (Linux / macOS):


tar xzf codewhale-<platform>.tar.gz
cd codewhale-<platform>
./install.sh

Windows:



  • For the installer path, run CodeWhaleSetup.exe; it installs

    codewhale.exe and codew.exe under

    %LOCALAPPDATA%\Programs\CodeWhale\bin and adds that directory to the

    current-user PATH.

  • Extract the archive for your machine: codewhale-windows-x64.zip or

    codewhale-windows-arm64.zip

  • Run install.bat (copies to %USERPROFILE%\bin)

  • Add %USERPROFILE%\bin to your PATH


The portable Windows archive skips the install script — extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline.


Each platform also has bare, unarchived codewhale-<platform> and

codew-<platform> assets. The seven codewhale-tui-<platform> filenames

attached to v0.9.5 are byte-identical compatibility copies used only to let

already-installed v0.9.4 clients discover and cross this single-binary

transition; current installers do not expose a third runtime. The legacy npm

package deepseek-tui is deprecated and is not republished. For migration

from v0.8.x legacy binary names, see docs/REBRAND.md.



Download the checksum manifests from this Release and verify:


# Linux — archive bundles
sha256sum -c codewhale-bundles-sha256.txt --ignore-missing

# Linux — individual binaries
sha256sum -c codewhale-artifacts-sha256.txt --ignore-missing

# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt --ignore-missing
shasum -a 256 -c codewhale-artifacts-sha256.txt --ignore-missing

What's in v0.9.8


Codewhale v0.9.8 ships the remaining assigned finish. Remaining web

settings polish moves to v0.9.9. Prefab third-party templates that have

a published OpenAI-compatible host ship here (#5350).


Fixed




  • sudo (and su/setuid helpers) work again for wheel-group administrators

    who want Codewhale to be able to escalate: the Linux startup hardening's

    irreversible PR_SET_NO_NEW_PRIVS flag — inherited by every child process —

    is now skippable with CODEWHALE_NO_NEW_PRIVS=0 (#5413). The flag stays on

    by default; the no-ptrace and no-core-dump measures are never skipped.




  • Abort-class process deaths no longer poison the terminal (#5424). A

    stack overflow, allocation failure, or double panic skips the panic hook

    and every cleanup guard, which is how a v0.9.7 user's mid-turn exit left

    mouse capture leaking SGR sequences into their shell. An

    async-signal-safe handler now restores the terminal modes and appends a

    one-line cause marker to ~/.codewhale/crashes/last-fatal-signal.log

    before re-raising, keeping the honest 128+signal wait status. A SIGKILL

    (OOM killer) remains uninterceptable by design.




Changed




  • Prompt-cache prefix is pinned for the session. The tool loop no longer

    recomposes the system prompt from disk on every model step, so an agent

    writing a file no longer busts the provider KV prefix cache mid-turn. The

    system prompt and tool catalog are re-composed only on a declared header

    change (/model, mode, goal, session resume), which re-pins under a logged

    reason; an undeclared change is reported as drift and the original pin is

    kept instead of silently becoming the new baseline. Workspace, AGENTS.md,

    skills, memory, and goal drift now reaches the model as one bounded

    <context_update> user message at the next user turn — a history append,

    not a header rewrite. /cache stats shows the pin reason, the last-miss

    reason, the undeclared-drift count, and the context-update count. See

    docs/CACHE.md.




  • Plugin compatibility is now per-component. A reviewed, trusted, enabled

    bundle that mixes Skills or MCP with unsupported commands, agents, hooks,

    LSP, native, filesystem-roots, or lifecycle-mutation declarations keeps the

    supported adapters active and reports the rest as inactive (full /

    partial / unsupported). All-unsupported bundles still cannot be enabled.

    The capability hash is now v2 and binds this build's activation policy, so

    older v1 receipts and any later adapter-enablement change fail closed as

    needs-review. Skills and each MCP transport re-request their own capability

    at the consumption boundary.




Added




  • Composer multiline mode is available in /settings. When enabled, Enter inserts a new line and Shift+Enter sends the message (#5345, reported and tracked by @AiurArtanis).




  • /plugin marketplace add|list|show|remove|install completes the

    federated marketplace journey (#5311). add reads one LOCAL catalog

    document in the real published schemas (Kimi, Claude, Codex, or

    Codewhale native) — no network, regular files only — and persists it

    beside the plugin state with the same hardened, fail-closed store.

    list/show render every candidate with per-entry diagnostics,

    display-only tiers, and honest install plans that say when Codewhale

    cannot fetch a source; install routes through the existing reviewed

    installer, so installed bundles still enter disabled and untrusted.

    Foreign auto-install policy (Codex INSTALLED_BY_DEFAULT) is visibly

    ignored; nothing is auto-installed, auto-trusted, or granted vendor

    trust.




  • /rc attach now includes an observed owner/name git remote when the

    folder has a GitHub, CNB, or Gitee origin, so CWC can label the paired

    session. Paths stay off the wire. Reconnect after both this client and

    CWC #202 land to backfill existing empty rows.




  • The local Runtime web client keeps the thread rail clipped so New

    thread
    cannot paint over the session fact chips. Chips wrap instead

    of sliding under the rail.




  • Z.ai GLM-5.3 is live on the Coding Plan and is now the default direct

    Z.ai model: DEFAULT_ZAI_MODEL resolves to GLM-5.3 in both

    codewhale-tui and codewhale-config, and it is the first /model row

    after /provider zai. Explicit GLM-5.2 selections (model = "GLM-5.2"

    and its glm-5.2 aliases) keep their own id — only the default moved.

    Limits and reasoning options still inherit from GLM-5.2 until Z.ai

    publishes distinct 5.3 numbers. No USD price is claimed. A live call

    can still 429 with entitlement code 1311 on accounts that are not

    provisioned for 5.3.




  • The TUI transcript renders Markdown blockquotes (> lines) with a quote

    rail — nested quotes, inline bold/code/links, wrapped continuation rows, and

    selection copy that keeps the quote text and skips the rail chrome.




  • Sub-agent details show the resolved model, fleet role, and type. Labels

    use the session/role name instead of a generic Agent N (#5371, #5287).




  • Documented catalogue output ceilings (DeepSeek V4 384K) are honored on

    the request. A clean output-limit stop continues the turn instead of

    killing it (#5373).




  • Ollama Cloud is a first-class hosted provider (/provider ollama-cloud)

    on the official OpenAI-compatible https://ollama.com/v1 route. Local

    Ollama stays keyless. The exact released ollama + Cloud URL tuple keeps

    a bounded compatibility path across saved sessions, Fleet, and nested

    subagents; neighboring remotes stay custom and fail closed against

    inherited official credentials.




  • Homebrew ships a codewhale formula. brew tap Hmbown/deepseek-tui && brew install codewhale is the install path; brew upgrade codewhale

    updates it. The legacy deepseek-tui formula remains a deprecated alias

    for one overlap release.




  • Terminal tab/window titles now carry the existing saved session name before

    the live state (Codewhale, reasoning…, using tool…, done), so parallel

    sessions are identifiable at a glance without a second title setting.

    /title <name> is a discoverable alias for /rename; both update the one

    session name shown in the picker, composer, and terminal tab. Control,

    bidi, and zero-width format characters are stripped from the saved name

    itself, so /title, /rename, the picker, the Runtime API,

    codewhale sessions, and the OSC 0 tab title all carry the same

    escape-free text (#5419, Sh1Zuku).




  • Eden AI is a named OpenAI-compatible Chat Completions provider (edenai,

    aliases eden-ai / eden_ai) with EDENAI_API_KEY, global and EU base-URL

    overrides, a live provider-scoped model catalog, and

    deepseek/deepseek-v4-pro as the verified default. Generic reasoning fields

    stay omitted because Eden AI routes multiple upstream model families

    (#5422, Kai Nacke).




  • Children (sub-agents and Fleet workers) inherit the session's permission

    posture faithfully: Auto-Review's deterministic floor and model guardian

    decide a worker's held calls (fail closed when unavailable, never a

    prompt); under Ask a held call is raised in the parent's approval UI and

    the worker waits visibly; Full Access still fails closed on the safety

    floor. Each prompt-less decision is a one-line note in that worker's

    transcript (focus mode) and an audit-log record.




  • Worker role defaults keep what the role does not intend to withhold:

    every built-in role keeps network reads; planner may run read-only

    shell probes; custom inherits the parent's write/network/shell posture

    and is narrowed only by its explicit tool list or the spawning call.

    Read-only roles (scout, reviewer, planner, verifier,

    consultant) still never write the workspace. The focused worker's

    header states its effective posture from the runtime snapshot.




  • /workflow status, /workflow cancel [run_id], /workflow settings, and

    /workflow help are answered by Codewhale itself from the run journal and

    live run state — no model turn — and /workflow run <path> launches a

    checked-in workflow as-is. /config workflow and /config goal explain

    the effective tables. The workflow tool now honors the session [workflow]

    table (automatic, auto_start_read_only, require_approval_for_writes,

    limits) instead of product defaults.




  • Goal mode enters as readily as DeepSeek Harness: the agent may create the

    session goal when a direct request describes a verifiable multi-turn end

    state, and Codewhale shows a one-line Goal set receipt with how to pause

    or clear it. Bare /goal shows plain progress (and how to continue when no

    turn is running), prints usage on an empty session instead of asking the

    model, and /goal help|status are reserved words.




  • Whale Teams in the terminal: the six Signal Cut whale identities (Scout,

    Patch, Harbor, Echo, Keel, Lantern) appear as species badges on /fleet

    roster rows and worker rows, with an identity portrait in the roster detail

    pane and a six-state word (Resting, Thinking, Working, Waiting for you,

    Blocked, Offline) derived only from the child's real runtime status. Colors

    come from the theme tokens, every glyph has an ASCII fallback, and the

    working wake animates only under full motion. See

    docs/design/WHALE_TEAMS_TUI.md.




  • A session metrics strip on the phase row (4 turns · 108 steps │ LLM 11m46s · Tool call 1m52s │ TTFT avg 1.5s · 120 tok/s │ Cache hit 99% │ Input 9.3M), on by default as the session_metrics footer item

    (/statusline, [tui].status_items). Every value comes from engine

    receipts — turn starts, per-model-call usage with stream time,

    time-to-first-token and whole-call time, tool start/complete edges, and

    provider-reported cache and input tokens. Cells without evidence are

    omitted, never estimated. /status prints the untrimmed line; the phase

    row sheds its lowest-value groups to fit the columns it actually has.




  • Auto-Review decisions nobody was prompted for are now visible in the

    transcript as one-line notes: model-guardian allow/deny verdicts with

    their risk tier and stated reason, guardian failures (denied, fail

    closed), deterministic policy blocks, and holds Auto-Review denied

    without pausing. The audit log keeps the full record. /permissions

    ends with the active posture, what it decides on its own versus never,

    and the audit-log path. The footer's Esc to interrupt hint is

    localized. See docs/design/AUTO_MODE_PARITY.md for the Claude Code /

    Kimi Code parity ledger and follow-ups.




  • codewhale integrations dsh status|plan|connect|update|launch|disable|enable|remove

    connects an existing official DeepSeek Harness (dsh 0.1.0-rc.6, verified)

    through Codewhale using only its documented seams: a --patch overlay that

    pins the exact Codewhale provider/model/endpoint identity (native

    deepseek-official route, or a hand-declared openai-completions route

    named codewhale-<provider> for OpenAI-compatible providers), the

    Codewhale permission posture exported as DSH_PERMISSION_MODE, and an

    append-only receipt. Codewhale writes only under

    $CODEWHALE_HOME/integrations/dsh/, never copies API keys or edits DSH

    files, never broadens permissions (--allow-full-access only mirrors an

    existing Codewhale full-access posture), and reports not-installed /

    offline / incompatible / detected / connected / stale-config /

    stale-version / disabled honestly. Anthropic Messages and OpenAI Responses

    routes are refused as not carriable. The documented DSH plugin path is an

    explicit opt-in: install-bundle materializes a Codewhale bundle package

    (codewhale-dsh-bundle, MIT notice retained) and installs it with

    dsh plugin --profile codewhale add <path> into a dedicated codewhale

    profile (pnpm required, reported truthfully when missing; web/headless

    untouched), so dsh --profile codewhale alone carries the identity;

    update regenerates the bundle patch and remove-bundle reverses it,

    leaving the DSH-owned profile directory in place. /setup tools and codewhale doctor

    show the read-only detection state; doctor also lists the DSH read-only

    credential consent alongside Codex and Grok. The optional --skin export

    writes a Codewhale token stylesheet generated from the TUI palette

    (Blue Stage dark/light, ombre water column, mode/permission/state colors,

    reduced-motion fallbacks); DSH exposes no custom-theme API, so the sheet is

    labeled an unsupported overlay and is never injected. See

    docs/INTEGRATIONS_DSH.md.




Fixed




  • Selecting the google provider kind resolved to the antigravity

    TUI identity (and vice versa): the agy provider entry was inserted at

    different positions in the config-level enum and the TUI's

    discriminant-indexed lookup table. The table now matches the enum, so

    provider pickers, sorted display, and kind round-trips are correct.




  • The provider picker's key-entry stage accepted typed input and pastes

    for OAuth-only providers after antigravity declared OAuth

    acquisition; those gates now key off the OAuth acquisition class

    instead of a hard-coded provider identity.




  • The webhook hook sink no longer panics when its HTTP client fails to

    build; it falls back to a default client (#5381, EvanProgramming).




  • Session-index JSONL writes are serialized behind a process-wide mutex

    so concurrent state stores cannot drop an append during compaction

    (#5382, EvanProgramming; complements the cross-process file lock).




  • A billed max_tokens stop followed by a transport error fails the turn

    instead of continuing into a second request. A clean output-limit stop

    still continues. Mid-size context windows keep the ordinary 65K internal

    reservation so compaction does not collapse to the 1K headroom floor

    when the catalogue documents a matching output ceiling.




  • Thinking cycle, /effort, and Settings now walk each model's real ladder

    instead of the DeepSeek off/high/max shortcut. Grok 4.6 is

    auto/low/medium/high/xhigh (cannot disable); Grok 4.5 is

    auto/low/medium/high; first-party DeepSeek keeps a documented low tier.

    /effort persists and receipts through the same path as Ctrl+T.




  • Google Gemini is its own backend (/provider google) on the official

    OpenAI-compatible route with thought-signature capture/replay and

    fail-closed replay for thinking models. Antigravity (agy 1.1.13) is

    a separate provider: consent-gated read-only import of the official

    CLI's login, then a text-only cloud-code stream

    (/v1internal:streamGenerateContent). Tools, images, and unknown SSE

    shapes fail closed. Gemini 3.7 Flash is not advertised until a live

    turn succeeds on this wire. The website 44-count still excludes

    Antigravity.




  • DeepSeek Flash SSE on macOS no longer turns mid-character HTTP/2

    flushes into U+FFFD replacement characters (#5374). Invalid UTF-8

    fails the line instead of using lossy decode.




  • [workshop] read_result_max_bytes and tool_result_max_bytes raise

    the model-visible read/tool-result floor; they never lower the

    compile-time defaults and cap at 2MiB (#5367).




  • Fireworks and OpenCode Zen DeepSeek V4 Flash/Pro keep a bundled

    family rate when the live control plane is down, so session cost is

    not stuck on unverified_live_pricing (#5241). kimi-k3 stays

    unpriced until a published rate exists.




  • Provider setup ships a SenseNova OpenAI-compatible preset (S) on

    the published https://token.sensenova.cn/v1 host (#5350). OpenCode

    Zen/Go stay first-class rows. Agnes has no published URL, so it has

    no preset.




  • Privileged release workflows no longer restore rust-cache, sccache,

    or npm caches after checking out a caller-supplied SHA (CodeQL

    cache-poisoning #88–#106). Catalog drift no longer prints raw

    bundled/upstream blobs (#107).




  • Cancelling a turn now cancels its foreground child agents with it.




  • Empty compaction no longer wipes conversation history.




  • Wide terminals and tmux panes fill the full available width again for the

    transcript and composer (#5322). The brief v0.9 session-shell side gutter

    is gone so expanding a pane rematerializes layout the same way shrinking

    does.




  • The agent tool schema rejects empty calls.




  • The local web client keeps recovered stream gaps closed, user questions

    answerable, manual bootstrap access intact, and streamed prose quiet for

    assistive tech.




  • Website zh-Hans copy now says 宪章, matching the TUI pack (#5397,

    Lstarsky0).




  • Public website provider facts include Google Gemini and Ollama Cloud

    (44 runnable routes). Antigravity stays credential-plane-only.

    Harvested from #5398 (Lstarsky0) with that correction.




  • The website models page carries a truthful read-only settings preview

    built from repository facts; it never implies the site can change local

    configuration (#5370, #5411, mvanhorn).




  • The canonical ultra reasoning effort now maps to each provider's

    maximum tier alongside the legacy ultracode alias, instead of being

    silently dropped (#5303, #5409, buiducnhat).




  • Session titles truncate by character count, not byte offset, so

    multi-byte titles (CJK, emoji) cut at the intended width and word

    boundary instead of past the limit (#5415).




  • Wide terminals and tmux panes fill the full available width again for the

    transcript and composer (#5322). The brief v0.9 session-shell side gutter is

    gone so expanding a pane rematerializes layout the same way shrinking does.




  • The background verifier test drives the current libtest executable

    instead of the rustup rustc shim, so the TUI suite no longer depends

    on $HOME or holds the process-wide test environment lock across an

    async wait (#5056, #5423, Isabel Wu).




Removed



  • The source-structure budget ratchet (CI step, checker, baseline JSON).

    It measured line counts, not quality: every legitimate feature required

    a hand-edited ceiling and the accompanying "review" was self-review, so

    it bought ceremony, not protection. Behavior-measuring gates (dead-code,

    runtime-contract, persistence-backlog) stay enforced.

  • DeepSeek can reuse a key already stored by official DeepSeek Harness

    (dsh) after

    codewhale auth external-consent --provider deepseek --mode read-only.

    Codewhale reads only DEEPSEEK_API_KEY from the exact granted

    $DSH_HOME/.credentials.yaml and never writes or refreshes that file.

  • The TUI markdown parser now honors CommonMark fence-length rules: a ````

    opener is not closed by a shorter ``` line, so > content inside a longer

    fence stays literal code instead of escaping into a quote.

  • Sub-agents finalize when the parent session id changes, so a closed

    session cannot block new children as a live owner (#5372).

  • Child spawn-route receipts stay live and usage is deduped by response

    (#5366).

  • Doctor keeps persisted setup readiness across first-run / update

    checkpoints (#5340).

  • Approval default selection is applied and explained; agents are told

    when approvals are disabled (#5293).

  • A /models 2xx probe is a connection check, not model readiness.

  • Site layout uses one container, the ticker no longer implies false

    provider readiness, and install links stay in the active locale.


Contributors



  • EvanProgramming (@EvanProgramming) — webhook client panic fallback

    (#5381); session-index JSONL mutex (#5382).

  • Lstarsky0 (@Lstarsky0) — session peek hides internal runtime events

    (#5376); thinking-ladder test re-pin (#5378); provider-count follow-ups

    (#5383/#5384); macOS agy fixture canonicalization (#5392); zh-Hans 宪章

    terminology (#5397); regenerated website facts harvested and corrected

    from #5398.

  • Matt Van Horn (@mvanhorn) — read-only models settings preview on the

    website (#5411, fixes #5370).

  • Nhat Bui (@buiducnhat) — canonical ultra reasoning effort mapped across

    provider effort tables (#5409); session titles truncated by character

    count, not byte offset (#5415).

  • Sh1Zuku (@SparkofSpike) — /title and the session name in the terminal

    tab/window title, plus the mid-turn title deadlock fix (#5419).

  • Kai Nacke (@redstar) — Eden AI provider registration, aliases,

    EDENAI_API_KEY, and the global/EU endpoints (#5422).

  • Isabel Wu (@wuisabel-gif) — background verifier test isolated from

    rustup and $HOME (#5423, slice of #5056).


See CHANGELOG.md for full notes and docs/CHANGELOG_ARCHIVE.md for older releases.

Intelligence Digest — kostenlos Täglich die wichtigsten Security-News · jederzeit abbestellbar
Community Rating & Social Proof
⭐ Leser-Wertung
–
Ø / 5.0
Noch keine Leser-Bewertungen
War diese Seite hilfreich?
0
Jetzt Bewertung abgeben
🟢 Niedrig (1-3.9) 🟡 Mittel (4.0-6.9) 🔴 Hoch (7.0-8.9) Kritisch (9.0-10.0)
Zum Aktualisieren ziehen
Nächster Beitrag