| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-01-16 | fix pydoc formatting for recent metadata API changes | Jordan Wiens | |
| 2026-01-16 | Add get_metadata() method and make query_metadata() raise KeyError consistently | Peter LaFosse | |
| Introduces a Pythonic get_metadata() method to BinaryView, Function, Project, TypeArchive, and TypeLibrary classes. This method behaves like dict.get(), returning a default value (None by default) when a key doesn't exist, instead of raising a KeyError. Additionally, updates query_metadata() in TypeArchive and TypeLibrary to raise KeyError when a key is not found, making them consistent with BinaryView, Function, and Project. Previously these two classes returned None on missing keys. This breaking change is documented in the method docstrings. This provides a more consistent and Pythonic API for querying metadata across all metadata-supporting classes. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> | |||
| 2026-01-14 | Allow controlling which address is used for instructions created when ↵ | Mark Rowe | |
| inlining during analysis Previously the address of the instruction in the function being inlined was used as the new instruction's address when copying it during inlining. Now there is an additional option: use the address of the call instruction that is being replaced as the new instruction's address. This new mode is useful when inlining thunks or stub functions, but care must be taken if using it beyond that. The benefit is that it ensures that when a function contains multiple calls to the same stub function, each inlined copy ends up with distinct addresses. This ensures that call type adjustments and other overrides that are stored on the function and keyed by address can be applied independently to each callsite that was inlined. The trade-off is that if the function being inlined contains non-trivial logic, all of the inlined instructions sharing an address will limit what type of adjustments can be applied to them. The Objective-C and shared cache workflows are updated to take advantage of this new mode when they enable inlining of stub functions. This will make it possible for multiple calls to the same runtime function within a single function to have separate call type adjustments applied in the future. | |||
| 2026-01-01 | update copyrights for 2026 | Jordan Wiens | |
| 2025-11-19 | Fix some python API error messages | Josh Ferrell | |
| 2025-11-19 | Fix DisassemblyTextLine repr | Josh Ferrell | |
| 2025-11-03 | Add helpers for whether a function is exported. | Alexander Taylor | |
| 2025-10-23 | Fix imported functions being ignored when building call sites, and fix ↵ | Mason Reed | |
| python callers listing referenced calls Fixes https://github.com/Vector35/binaryninja-api/issues/7308 | |||
| 2025-07-17 | Initial documentation for guided analysis feature. (skip-ci) | Brian Potchik | |
| 2025-07-15 | Finish guided analysis feature and add unit tests. | Brian Potchik | |
| 2025-07-15 | Move LLIL instruction retrieval into the LLIL function where it belongs | Mason Reed | |
| The python API was kept the same seeing as we are close to the release, will likely start deprecating some of those API's soon. | |||
| 2025-07-09 | reimplement llil validation for caller_sites and implement plural IL forms ↵ | Jordan Wiens | |
| on references | |||
| 2025-07-08 | Various improvements for guided disassembly mode. | Brian Potchik | |
| 2025-07-03 | api: indirect branch inlining support | Ryan Snyder | |
| 2025-07-01 | Python bindings for custom basic block analysis | Brandon Miller | |
| 2025-06-25 | Initial support for guided disassembly. | Brian Potchik | |
| 2025-06-23 | Perform BB analysis from Architecture C++ API | Brandon Miller | |
| This commit moves AnalyzeBasicBlocks from the binary ninja core to the API and allows architecture plugins to optionally override AnalyzeBasicBlocks for a custom implementation Supply ABB inputs in BNBasicBlockAnalysisContext Register default analyze basic blocks callback This allows the nanomips and rust core architecture plugins to work again while using the C++ API DefaultAnalyzeBasicBlocks Use default ABB from Python plugins Fix bug in API ArchAndAddr operator overload Python APIs for basic block analysis | |||
| 2025-06-16 | Don't yield None in BinaryView hlil|mlil_functions | Brandon Miller | |
| 2025-06-11 | API to create immediate function graphs | Glenn Smith | |
| 2025-06-11 | Expose Function::CheckForDebugReport | Glenn Smith | |
| 2025-06-10 | Add UI action and API to control switch recovery in HLIL | Rusty Wagner | |
| 2025-06-09 | More None checks when querying IL internal to API | Brandon Miller | |
| 2025-06-09 | Update type hints/docs for Python IL API changes | Brandon Miller | |
| 2025-06-03 | Add UI action and API to control early returns in HLIL | Rusty Wagner | |
| 2025-06-03 | Add UI action and API to flip conditions during HLIL restructuring | Rusty Wagner | |
| 2025-05-23 | Add UI action and API to control expression folding | Rusty Wagner | |
| 2025-05-20 | Fix the build. | Alexander Taylor | |
| Previous commit causes failures in API documentation generation. This builds and passes unit tests locally, hoping that will also be the case for CI. | |||
| 2025-05-20 | add missing import | Jordan Wiens | |
| 2025-05-20 | relax caller_sites filter | Jordan Wiens | |
| 2025-05-20 | add better verification for caller_sites to ensure calls, fixes #3722 | Jordan Wiens | |
| 2025-05-19 | Implement function level metadata | Brandon Miller | |
| 2025-05-16 | [Python] Support HLIL collapsing and update PseudoPython | Glenn Smith | |
| Fixes Vector35/binaryninja-api#6679 | |||
| 2025-05-07 | Correct typos in Function.add_tag docs. Fixes #6796 | Malware Utkonos | |
| 2025-04-23 | Add Function::Analyze API to perform on-demand function analysis. | Brian Potchik | |
| 2025-04-07 | Return None instead of raising in func IL getters | Brandon Miller | |
| Return None instead of raising an ILException in Python Function.llil, mlil, etc to allow these properties to play nice with map and filter | |||
| 2025-04-07 | fix broken link in get_llils_at docs | Jordan Wiens | |
| 2025-04-06 | fix get_llils?_at documentation | Jordan Wiens | |
| 2025-03-28 | missed the older dates! | Jordan Wiens | |
| 2025-03-14 | Return None on ILException in get_low_level_il_at | Brandon Miller | |
| 2025-02-14 | uidf refactor | Ryan Snyder | |
| 2025-02-06 | Add After variants for looking up variables at instructions | Glenn Smith | |
| Fixes #6397 | |||
| 2025-01-30 | Render Layers | Glenn Smith | |
| 2025-01-24 | Add line formatter API and a generic line formatter plugin | Rusty Wagner | |
| 2025-01-20 | Revert "Add line formatter API and a generic line formatter plugin" | Rusty Wagner | |
| This reverts commit 1699c71999d29d32aba5c9f8fea193a661a4b02b. | |||
| 2025-01-17 | Add line formatter API and a generic line formatter plugin | Rusty Wagner | |
| 2024-12-27 | Fix trying to construct a FunctionViewType from a FunctionViewType | Glenn Smith | |
| 2024-11-15 | Add warnings about silent failures in function APIs. | Alexander Taylor | |
| Attempts to partially address #6019. | |||
| 2024-10-25 | Fix not being able to set UIDF on function parameters | Glenn Smith | |
| Mirrors the UI code's method for handling this situation: if the variable's index field is 0, then it is a function parameter and it needs to have its value set at the function's entry point. | |||
| 2024-10-24 | Initial implementation of the module-level analysis workflow. | Brian Potchik | |
| 2024-10-24 | Add __hash__ method to FunctionViewType | Peter LaFosse | |
