summaryrefslogtreecommitdiff
path: root/rust
AgeCommit message (Collapse)Author
2026-02-23[Rust] Misc documentation and cleanupMason Reed
2026-02-23[Rust] Ensure proper lifetime management of `WebsocketClientCallback` objectsMason Reed
2026-02-23[Rust] Fix `OwnedBackgroundTaskGuard` requiring mutable selfMason Reed
2026-02-23[Rust] Misc type library doc improvementsMason Reed
2026-02-23[Rust] Misc documentation cleanupMason Reed
2026-02-23[BNTL] Allow decompressing standalone TypeLibrary objectsMason Reed
Previously you must have written the type library to disk
2026-02-23[Rust] Add `TypeLibrary::remove_named_object` and ↵Mason Reed
`TypeLibrary::remove_named_type`
2026-02-23[Rust] Misc TypeLibrary API improvementsMason Reed
2026-02-23[Rust] Add `load_project_file` and `load_project_file_with_progress`Mason Reed
Use these when you intend to query through the `FileMetadata::project_file`, if you do not use these then you will be in a detached binary view from the originating project
2026-02-23[Rust] Add `OwnedBackgroundTaskGuard` for finishing background task ↵Mason Reed
automatically
2026-02-23[Rust] Add a precondition check to make sure metadata has been pulled before ↵Mason Reed
pulling remote projects
2026-02-23[Rust] Impl `Send` and `Sync` for `RemoteProject`Mason Reed
2026-02-23[Rust] Impl `Send` and `Sync` for `RemoteFolder`Mason Reed
2026-02-23[Rust] Impl `Send` and `Sync` for `RemoteFile`Mason Reed
2026-02-23[Rust] Refactor `FileMetadata` file informationMason Reed
- Rename and retype `FileMetadata::filename` and make the assignment required to happen at time of construction. - Add `FileMetadata::display_name` which is only to be used for presentation purposes. - Add `FileMetadata::virtual_path` for containers. - Rename `FileMetadata::modified` to `FileMetadata::is_modified` to be more consistent across codebase. - Add some missing documentation. - Add `BinaryView::from_metadata` with accompanying documentation.
2026-02-23[Rust] Impl `Debug` for `RemoteFolder`Mason Reed
2026-02-23[Rust] Impl `Debug` for `RemoteProject`Mason Reed
2026-02-23[Rust] Fix clippy lintsMason Reed
2026-02-23[Rust] Use `PathBuf` instead of `String` for include directories param in ↵Mason Reed
`TypeParser`
2026-02-23[Rust] Impl `From<BnString>` for `QualifiedName`Mason Reed
2026-02-23[Rust] Fix unbalanced ref returned in `RemoteFile::core_file`Mason Reed
2026-02-23[Rust] Misc documentation improvementsMason Reed
2026-02-23[Rust] Fix rust version in `binaryninja` crate being outdatedMason Reed
Does not really effect anything but just saw it was still referencing old version.
2026-02-23[Rust] Fix plugins being referenced in `cargo about` outputMason Reed
2026-02-23[Rust] Impl `Send` and `Sync` for `TypeLibrary`Mason Reed
2026-02-23[Rust] Fix UB when passing include directories to `CoreTypeParser`Mason Reed
2026-02-23[Rust] Add `Symbol::ordinal`Mason Reed
2026-02-23[Rust] Impl `Debug` for `BinaryViewType`Mason Reed
2026-02-23[Rust] Add `BinaryViewExt::type_libraries`Mason Reed
2026-02-23[Rust] Pass `type_reference` by ref to `TypeBuilder::named_type`Mason Reed
2026-02-23[Rust] Improve API surrounding binary view type librariesMason Reed
2026-02-23[Rust] Provide setters useful for creating NTR referencesMason Reed
Need to expose these setters, even if there usage is limited when dealing with NTR reference, something in the core might be unconditionally retrieving the width or alignment of the type without trying to resolve NTR.
2026-02-20Allow calling conventions to specify a list of registers that are required ↵Rusty Wagner
to be considered for heuristic calling convention detection
2026-02-16Share context between BB recovery, lifing, and disassemblyBrandon Miller
Adds a GetInstructionTextWithContext callback to the architecture class that can be used to pass data from AnalyzeBasicBlocks. This same context is also supplied to LiftFunction and allows for supplying shared function and/or binary view level information across basic block analysis, function lifting, and disassembly text rendering
2026-01-29[Rust] Make TagReference optionally take architecture and function (#7899)Rubens Brandão
2026-01-29[Rust API] Fix load_view_with_progress when options is NoneJosh Ferrell
2026-01-27Perform function lifting and inlining in arch pluginsBrandon Miller
This change allows architecture plugins to override the LiftFunction callback to iterate a function's basic block list and lift entire functions at once. This is required for architectures such as TMS320 C6x, which have non-traditional "delay slots" in that branches, loads, and other instructions take multiple cycles to complete, and branch instructions can reside within the delay slots of other branches.
2026-01-20[Rust] Fix UB for basic block analysis context out params (#7908)Mason Reed
2026-01-14Allow 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-13[Rust] Fix misc doc comments missingMason Reed
2026-01-13[Rust API] Add BinaryViewExt::{tags_all_scopes, tag_types, tags_by_type}Josh Ferrell
2026-01-11[Rust] More session scoped logsMason Reed
Assign the `session_id` span field before calling into the relocation handler so logs get scoped to the specific view.
2026-01-11[Rust] Add top level documentation to `tracing` and `logger`Mason Reed
2026-01-11[Rust] Fix old rust toolchain version being used when checking Rust APIMason Reed
Would be really nice if we consolidated this somewhere so this does not keep happening
2026-01-11[Rust] Update examples to use tracingMason Reed
2026-01-11[Rust] Enter more session scoped tracing spans for debug info and binary ↵Mason Reed
view callbacks
2026-01-11[Rust] Replace `log` with `tracing`Mason Reed
- Added more documentation - Replaced global named logger for plugins, fixing the issue when the CU has multiple (e.g. statically linked demo) - Simplified some misc code This is a breaking change, but I believe there is no better time to make it, we cannot continue to use the `log` crate, it is too limited for our needs.
2026-01-01update copyrights for 2026Jordan Wiens
2025-12-29Fix QualifiedName::default() incorrectly creating QualifiedName with empty ↵Truman Kilen
separator
2025-12-25[Rust API] Add TypeBuilder::set_signedJosh Ferrell