Skip to content

v0.20.11

Choose a tag to compare

@github-actions github-actions released this 22 Sep 18:32
6d65ce0

Changed

  • Windows draws its own window. The system title bar is gone
    (decorations: false, in a tauri.windows.conf.json overlay so nothing else
    moves), the corners are rounded by CSS from the app's own radius, and the three
    window controls are the app's — which is not decoration: with no system chrome
    they are the only way to minimise, maximise or close. Every drag region
    reserves their width. The default menu bar Tauri draws in-window goes with it.
    This shipped as 0.20.10, whose release never published.

  • The agent's boot is cached, and a quarter to a half of it is gone.
    initialize was 1.6s cold and 2.0–2.6s on repeated children, all of it V8
    parsing the bundle. NODE_COMPILE_CACHE writes nothing for this tree; the API
    that works runs as a --import preload, and it is only written on a clean
    exit — which is why an earlier measurement of this found zero bytes. Measured
    through the launcher the bundle ships: 1.59s → 0.82s, and 1.34s → 0.96s on
    a repeat.

  • A quarter off per-turn work. One lock per session instead of one global map
    lock; each agent line parsed once, with usage updates held for the frame; the
    transcript loads its newest turns first and pages backwards; the sidebar, split
    view and panels are memoized against per-delta renders; dialogs, pages and pane
    bodies load as chunks (2,436 kB → 2,268 kB); the release profile gets thin LTO,
    one codegen unit and strip, with devtools dev-only.

Fixed

  • The macOS build links again, and the floor is honest. The app declared
    macOS 11 while the CEF build it ships is built for 12, so the linker asked for
    ___isPlatformVersionAtLeast and found nothing to provide it — three releases
    in a row failed on aarch64-apple-universal with Undefined symbols. The
    deployment target is now 12.0, which is what the browser has been requiring
    anyway: an app that cannot start on 11 should not say it can.

  • A model's window is the model's, not the gateway's guess. A reseller
    serving deepseek-v4.1-flash under a provider id of its own had no catalog
    entry, so a session compacted at 200k while the model runs at a million — and
    the settings row drew 200k default because the window is only ever stated on
    a usage update, which needs a session already running the model. The agent now
    states it on the model itself (ACP _meta), the app reads it onto Model, and
    a stated figure also overrides what the gateway claims when a model ref is
    stamped.

  • A model's name is decoded. A gateway that names its catalog
    publisher/model reaches the wire as deepseek%2Fdeepseek-v4.1, and the name
    drew with the escape in it — worse, the brand table then keyed off no vendor at
    all. The split still happens on the wire's own separator, which has its own
    test: decoding first would hand the model a name that is the provider's tail.

  • No more console windows flashing on Windows. A console program started by
    an app that has no console gets a new console allocated, and that console is a
    window for as long as the child runs — so git, gh and the agent each
    flashed one, and attaching a project was a screenful.

What's Changed

  • Stop the Windows gate from running for a React-only change by @Hamertingo in #15
  • Keep the console trait import inside the function that uses it by @Hamertingo in #16
  • Perfil de release com thin LTO + 1 codegen unit + strip, e devtools só by @Hamertingo in #9
  • Cada linha do agente parseada uma vez (o demux do prompt reusa o `Valu by @Hamertingo in #10
  • Decode the escapes a model's name arrives with by @Hamertingo in #17
  • Know the window of a gateway model the catalog has never heard of by @Hamertingo in #18
  • Apply a stated window where the provider's own would reach a ref by @Hamertingo in #19
  • Carry a model's window from the agent to the screen that draws it by @Hamertingo in #20
  • O lock do mapa guarda só o formato do mapa; cada sessão tem lock própr by @Hamertingo in #11
  • Seleção carrega as 400 turns mais novas e pagina para trás no scroll; by @Hamertingo in #12
  • Dialogs, páginas e painéis em chunks sob demanda. by @Hamertingo in #14
  • Cache the compile of the bundle the agent parses on every boot by @Hamertingo in #21
  • Release 0.20.11 by @Hamertingo in #22
  • Write down what one child serving many sessions would take by @Hamertingo in #23
  • Link for the macOS version the browser already requires by @Hamertingo in #24
  • Link clang's runtime, which the ggml objects ask for by @Hamertingo in #25

Full Changelog: v0.20.10...v0.20.11