Repository navigation
Changed
- JSON/NDJSON now stream complete results by default; use
--spillto explicitly request large-result artifacts. Text spills above 40,000 bytes with a short preview and a unique artifact path. - Removed the mandatory tokenizer dependency. The optional
tokensextra and--tokensenable artifact counts; unavailable counting no longer prevents output. - Function info defaults to a compact summary;
--localsexpands parameters and locals. Text local rows retain stable IDs without redundant metadata. - Function bundles default to decompile, disassembly, and outbound references.
--includeselects sections,allexports everything, and multiple identifiers return per-function results/errors without duplicated HLIL. - Shortened the README and agent skill; moved detailed callsite guidance into a focused reference.
- Bumped the bridge protocol to 2. Upgrade/reload the companion with the CLI; old loaded plugins reject the new protocol rather than ignoring new parameters.
Added
- Linear
disasm --countand exclusive--endranges, independent of function analysis, with explicit decode stopping metadata. - Explicit
--before-instructions/--after-instructionswindows. With--match,--before/--afterconsistently mean text context; legacy instruction aliases remain supported without--match. - Direct
bn pywith automatic piped input, local syntax validation, and the compatiblebn py execspelling. - Scoped schemas such as
bn schema disasm, shared argument definitions, and selected-command argument errors with recovery suggestions. IL also accepts--levelas an alias for--view.
Fixed
- Concurrent spills no longer overwrite one another.
- Unexpected exceptions during mutation application now roll back; invalid output options are rejected before writes.
- Typed Python reads respect Binary Ninja endianness enums.
Upgrade
uv tool upgrade bn-cli
bn plugin install --force
bn skill install --forceReload the Binary Ninja Python plugins or restart Binary Ninja after upgrading. Version 0.15.0 uses bridge protocol 2.