Skip to content

0.11.0

Choose a tag to compare

@github-actions github-actions released this 24 May 13:54
· 504 commits to main since this release

Mostly a Linux release: the GTK frontend now builds and runs on
Ubuntu 24.04 (libadwaita 1.5 / GTK 4.14), CI ships a 24.04 .deb
alongside the 26.04 one, and the MCP surface gets a unified
instrument registry with real compile/attach status.

GTK / Linux portability

  • Adw < 1.6 spinner fallback. AdwSpinner only landed in
    libadwaita 1.6; a pkg-config-derived HAS_ADW_SPINNER gate
    picks GtkSpinner otherwise so the build works on Adw 1.5.
    All 17 spinner sites go through a Spinner typealias plus
    makeSpinner() factory so the branch stays out of callers.
  • Gtk < 4.16 texture fallback. Gdk.MemoryTextureBuilder
    is gated on HAS_GDK_MEMORY_TEXTURE_BUILDER (Gtk ≥ 4.16)
    with a gdk_memory_texture_new fallback for Gtk 4.14.
  • Shortcuts dialog on Adw < 1.8. AdwShortcutsDialog
    arrived in 1.8; the fallback path puts up a plain
    Adw.Dialog listing the same actions with human-readable
    accels formatted via Gtk.acceleratorParse / getLabel. The
    shortcut table itself is consolidated so accel registration
    and the dialog share one source of truth.

CI / packaging

  • .deb built on Ubuntu 24.04 as well. The Ubuntu job is now
    a matrix over 24.04 and 26.04. The 24.04 artifact (glibc
    2.39) covers Nix, Debian stable, and other distros older than
    26.04's 2.43. The Nix flake is pinned to the 24.04 .deb on
    release.
  • Distro libxml2 on 24.04. Our Swift toolchain is the
    upstream Ubuntu 24.04 build, so the 24.04 .deb declares
    libxml2 as a runtime dependency and uses the system
    libxml2.so.2. 26.04 bundles its own copy because the
    distro package only ships .so.16.
  • SwiftAdw bumped to pick up the Adw-1.sed entry that
    rewrites ExpanderRow's mistyped subtitle-lines /
    title-lines getters in the libadwaita 1.5 GIR shipped by
    Ubuntu 24.04, so the bindings compile.

MCP

  • Unified instrument registry.
    list_custom_instruments + attach_custom_instrument are
    replaced by list_instruments + attach_instrument over the
    InstrumentDescriptor registry. Hook packs and the tracer
    are now discoverable and attachable through the same path.
    Re-attaching an instrument already on the session returns the
    existing instance.
  • Compile / attach status surfaced. Edit tools (tracer hook
    • custom instrument) await recompile and report per-session
      apply outcome. Query tools (list_session_instruments,
      list_tracer_hooks, read_tracer_hook) expose attachment,
      status, and per-hook compile errors. submit_console_input
      and invoke_widget_action refuse to dispatch when the
      session is detached or the instrument is in error.
  • Authoring guide surfaced via MCP instructions so LLM
    clients see the custom-instrument primer at connect time.

UI / UX

  • Console widget breathing room. Tighter rows had it
    feeling cramped; spacing now matches the surrounding
    surfaces.
  • Spawn target picker tightened. Moves the app filter
    alongside the Application/Program toggle, collapses launch
    options behind a single Options disclosure, and bumps the
    min height so the picker fits its content without the bottom
    form eating slack.

Internal

  • Package.swift reordered into newspaper order — helpers
    below let package, callers before callees, and
    compileWindowsExecutableIcon next to its sole call site.
  • Clearer doc comments on read*String(size) semantics and on
    the .js suffix for multi-file custom-instrument imports.

Dependencies

  • frida-core snapshot past 17.9.11 to pick up the asset
    layout fix that lets the .deb's frida-1.0/<arch>/ directory
    actually resolve — without it frida-agent.so loading falls
    through to the flat path next to libfrida-core and fails.