0.11.0
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.AdwSpinneronly landed in
libadwaita 1.6; a pkg-config-derivedHAS_ADW_SPINNERgate
picksGtkSpinnerotherwise so the build works on Adw 1.5.
All 17 spinner sites go through aSpinnertypealias plus
makeSpinner()factory so the branch stays out of callers. - Gtk
<4.16 texture fallback.Gdk.MemoryTextureBuilder
is gated onHAS_GDK_MEMORY_TEXTURE_BUILDER(Gtk ≥ 4.16)
with agdk_memory_texture_newfallback for Gtk 4.14. - Shortcuts dialog on Adw
<1.8.AdwShortcutsDialog
arrived in 1.8; the fallback path puts up a plain
Adw.Dialoglisting the same actions with human-readable
accels formatted viaGtk.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
libxml2as 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
rewritesExpanderRow's mistypedsubtitle-lines/
title-linesgetters in the libadwaita 1.5 GIR shipped by
Ubuntu 24.04, so the bindings compile.
MCP
- Unified instrument registry.
list_custom_instruments+attach_custom_instrumentare
replaced bylist_instruments+attach_instrumentover the
InstrumentDescriptorregistry. 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
andinvoke_widget_actionrefuse to dispatch when the
session is detached or the instrument is in error.
- custom instrument) await recompile and report per-session
- 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.swiftreordered into newspaper order — helpers
belowlet package, callers before callees, and
compileWindowsExecutableIconnext to its sole call site.- Clearer doc comments on
read*String(size)semantics and on
the.jssuffix 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'sfrida-1.0/<arch>/directory
actually resolve — without itfrida-agent.soloading falls
through to the flat path next tolibfrida-coreand fails.