1.0.0
Address facts & gated actions (new)
Luma now resolves what an address is — executable, a function
start, data, or unmapped — from page protection and the
disassembler, cached per process identity. A single shared
value+menu component per frontend renders pointer values with a
context menu gated by those facts: Copy, Open Disassembly when
executable, Open Memory when mapped, then the hook actions. This
replaces the per-site menus, and extends to the CFG view, where
right-clicking an instruction offers the same gated actions.
- Resolution is skipped while detached and the cache is invalidated
when re-attaching to a different process. - Facts resolution is kept off the selection path (
@ObservationIgnored
caches), so resolving a value no longer rebuilds tables mid-click.
Thread register view
- Registers reflow into a multi-column grid in both frontends, with
selectable values and a narrower thread list to make room. - arm64 register order is canonicalized in the snapshot — GPRs, then
sp/pc/nzcv, then vectors — and shared with the CFG view via
CpuRegisterLayout. - Vector registers are hex-encoded (they're
ArrayBuffers, previously
rendered as[object ArrayBuffer]).
Disassembly & modules
- Page Up/Down, Home, End, and auto-select of the first instruction
in the address-insight disassembly, in both frontends. - Module pane fills with a centered detached/error message instead of
collapsing when symbols are unavailable; undefined symbols are
skipped since they only duplicate the imports list. - Hook and insight names derive from the resolved symbol rather than
module!symbol/module+offsetstrings, and navigating to a
function start reuses the existing named insight instead of minting
asub_<offset>duplicate.
Tracer & ITrace
- Tracer errors route to a per-hook
loadFailedstatus surfaced by
the sidebar indicator and suppressed from the raw event log;
cleared on the next config apply. - ITrace is capped by captures rather than invocations, so raising the
limit or re-arming resumes capture instead of staying stuck at the
old count. - Trace instructions carry their real address, so callers map lines
without assuming fixed-width instructions.
GTK frontend
- Fixed a CFG context-menu crash: the popover anchors to the captured
toplevel root so it survives the right-clicked widget being rebuilt,
and is built from a plain popover and box so it sizes to its
contents.
Build & dependencies
- Agent regenerates reliably on macOS's Make 3.81 (the grouped-target
&:syntax it predates ran the bundle recipe twice). - frida-swift / frida-core bumped; gir2swift and SwiftHarfBuzz bumped
for the GTK build.