Skip to content

1.2.0

Choose a tag to compare

@github-actions github-actions released this 10 Jul 05:27
· 292 commits to main since this release

Windows GTK frontend

  • The Monaco editor renders on Windows via off-screen WebView2
    capture, fixing the "airspace" problem where its native child HWND
    painted over GTK dialogs and overlays. WebView2 composites into a
    DirectComposition visual on a hidden window, Windows.Graphics.Capture
    streams the pixels back as BGRA frames, and they draw as an ordinary
    GdkTexture — so the editor composes with popovers, dialogs, and
    overlays at any z-order. The WebView2 lifecycle and its capture run
    on a dedicated STA worker thread with its own message pump.
  • The editor reloads correctly after being reparented between panes,
    which destroys and recreates the underlying WebView2.
  • Windows build automation: MSI packager gains -StageOnly, run.ps1
    launches the built app and logs stderr, LumaGtk links in one pass,
    Adwaita icons stage for local runs, and CI builds LumaGtk via the
    Windows script.
  • Editor accelerators forward to GTK, and Alt+F4 closes the window
    from the editor.

Module symbols

  • Exports, imports, and symbols are sorted alphabetically.
  • Exports, imports, and symbols can be filtered in both frontends. Thanks to
    Jeroen Beckers (@TheDauntless).
  • GTK shows a context menu for unresolved imports, acting on the
    IAT/GOT slot as data when the target address is missing.

Missions

  • A second OpenAI-compatible provider: the local and URL providers
    fold into one configurable OpenAICompatibleProvider so a remote
    endpoint can sit alongside the local one, with optional API keys and
    duplicate /v1 segments collapsed. Streamed replies stay visible
    until the turn is persisted, so navigating away and back no longer
    drops the latest reply. Thanks to Sunwoo Moon (@eunhhu).

REPL & instruments

  • JavaScript scope persists across REPL evaluations: declarations run
    through indirect eval so they land on the global object, and a
    leading let/const is rewritten to var, matching the Node REPL.
  • Tracer hook globals are declared for type checking, so
    defineHandler ambients resolve without leaking into package and
    custom-instrument compiles.
  • Compiler diagnostics surface on failure instead of the opaque
    LumaCore.CompileFailure error 1.

Fixes & internals

  • Sessions appear already attaching instead of flashing the detached
    banner: construction, phase, and surfacing move into
    prepareSpawnSession / prepareAttachSession.
  • GTK frontend migrated to gir2swift's native enum wrapper types.
  • Generated files are written only when changed.

Packaging

  • CI updates the extracted package.nix rather than flake.nix.
    Thanks to @starkodder.