Skip to content

v2026.08.29 (v1.18.25)

Choose a tag to compare

@okuyam2y okuyam2y released this 29 Aug 11:12
· 7 commits to main since this release

What's New

A fork-side fix this time, found by the multi-model review that runs over every
rebase integration.

  • A broken legacy compaction.tail_tokens value no longer takes the whole
    config file down.
    The fork carries a shim that maps that deprecated key onto
    preserve_recent_tokens, which upstream renamed it to. preserve_recent_tokens
    is validated as a non-negative integer, so the shim was promoting a key the
    schema ignores today into one it checks — and a config holding tail_tokens: -1
    (or 1.5, or "20000") was rejected outright. For the global config that meant
    falling back to defaults with one line in the log. Without the shim the same
    value is simply an unknown key and is ignored, so the migration was leaving
    legacy users worse off than not migrating at all. The value is now migrated only
    when it is a non-negative integer, and otherwise dropped with a warning naming
    the file and the value.

Fixes

  • Upstream rebase to v1.18.25 (18 commits on top of the 17 already carried
    since v1.18.23). What reaches the CLI:

    • v2-shaped config files load under v1. Upstream added a compatibility
      layer that projects supported v2 keys down to v1 and reports unsupported
      ones as diagnostics instead of failing. Config load and both global-update
      paths now run through one shared decode step.
    • Global config updates preserve the file's original shape. A settings
      write no longer rewrites a v2-shaped file into v1 form. A side effect worth
      knowing: a deprecated key stays on disk and is migrated again on every load
      rather than being rewritten once.
    • Azure CLI authentication is supported, and Azure auth no longer depends
      on Bun being present.
    • Bedrock reasoning that cannot be replayed is filtered before caching.

    The rest are console, stats and docs changes that do not affect the CLI.

  • All 172 local patches replayed. One conflict, in the config layer, where
    upstream's new decode step and the fork's legacy-key migration touched the same
    three call sites; upstream's structure was adopted and the fork's file-path
    argument threaded through it. The fork's diff against its base came out
    byte-identical before and after the rebase for 520 of the 523 files it touches,
    including the session and tool hot paths, so nothing was silently dropped.

  • The load-path migration and the deprecation warning's file path are now pinned
    by tests. That argument is the point this fork has to re-resolve on every
    upstream rebase, and a wrong resolution passed both the type check and the
    suite before.

Install

Try without installing:

npx opencode-ai-nofc

Install globally:

npm install -g opencode-ai-nofc
opencode

Or download binaries below.

Based on upstream opencode v1.18.25.