Skip to content

Commit 7c77316

Browse files
committed
docs: add versioned changelog
1 parent f3f9afb commit 7c77316

2 files changed

Lines changed: 212 additions & 0 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
# Changelog
2+
3+
All notable changes to `bn` are documented in this file.
4+
5+
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6+
7+
## [Unreleased]
8+
9+
### Added
10+
11+
- Added GitHub Actions CI for Python 3.14 with locked dependency sync, the full test suite, and distribution builds.
12+
- Added a CI status badge to the README.
13+
14+
### Fixed
15+
16+
- Made the transient socket retry test portable across macOS and Linux errno values.
17+
18+
## [0.13.1] - 2026-07-14
19+
20+
### Removed
21+
22+
- Removed the unused `bn batch apply` CLI command, bridge operation, capability advertisement, tests, and documentation.
23+
24+
### Changed
25+
26+
- Kept atomic multi-operation rollback as an internal mutation primitive and added regression coverage for it.
27+
28+
## [0.13.0] - 2026-07-14
29+
30+
### Added
31+
32+
- Added global target selection through `--target` anywhere in a command and the `BN_TARGET` environment variable.
33+
- Added arbitrary-address inspection, typed data reads, outbound references, bounded searches, and unscoped callsite discovery.
34+
- Added machine-readable command schema, live capability discovery, structured bridge errors, and concise recovery suggestions.
35+
- Added `py exec` helpers for common Binary Ninja reads while retaining unrestricted `binaryninja` and `bv` access.
36+
- Added output filtering with `--match`, `--before`, and `--after`, plus `--no-spill` for complete stdout streaming.
37+
38+
### Changed
39+
40+
- Promoted `py exec` as a first-class analysis lane with preserved tracebacks and safe representation of non-JSON results.
41+
- Improved mutation verification, affected-function/type reporting, and no-op handling for declarations.
42+
43+
### Fixed
44+
45+
- Removed the default bridge request timeout and improved Codex sandbox socket-denial diagnostics.
46+
- Fixed bridge restart behavior and stale plugin reporting.
47+
48+
## [0.12.2] - 2026-03-14
49+
50+
### Fixed
51+
52+
- Included the open target list in ambiguous multi-target errors so callers can choose a valid selector directly.
53+
54+
## [0.12.1] - 2026-03-13
55+
56+
### Fixed
57+
58+
- Sent automatic spill metadata to stderr, keeping stdout clean for structured command consumers.
59+
60+
## [0.12.0] - 2026-03-12
61+
62+
### Changed
63+
64+
- Rejected implicit target selection when multiple Binary Ninja views are open instead of silently choosing the active tab.
65+
66+
## [0.11.0] - 2026-03-12
67+
68+
### Added
69+
70+
- Added direct callsite discovery with exact native call addresses and post-call `caller_static` return addresses.
71+
- Added scoped caller searches, nearby instruction context, local HLIL statements, and best-effort pre-branch conditions.
72+
73+
## [0.10.1] - 2026-03-10
74+
75+
### Fixed
76+
77+
- Hardened bridge mutation verification and failure reporting.
78+
79+
## [0.10.0] - 2026-03-10
80+
81+
### Added
82+
83+
- Added exact subcommand help and recursive `--help-full` output for machine and human discovery.
84+
85+
### Changed
86+
87+
- Lowered automatic output spilling to a 10,000-token threshold.
88+
- Tightened the bundled agent skill and protocol guidance, including safe heredoc usage.
89+
90+
## [0.9.0] - 2026-03-09
91+
92+
### Added
93+
94+
- Added explicit warnings when command output is automatically spilled to an artifact.
95+
96+
### Fixed
97+
98+
- Handled bridge client timeouts with clear errors.
99+
100+
## [0.8.0] - 2026-03-09
101+
102+
### Added
103+
104+
- Added token-budget-based spilling for large outputs.
105+
106+
### Changed
107+
108+
- Simplified function discovery output and rewrote the README around coding-agent workflows.
109+
110+
## [0.7.0] - 2026-03-09
111+
112+
### Added
113+
114+
- Added installation support for the bundled Codex `bn` skill.
115+
116+
### Changed
117+
118+
- Clarified `py exec` escaping, target selection, and target-implicit examples.
119+
120+
## [0.6.1] - 2026-03-09
121+
122+
### Fixed
123+
124+
- Corrected text status rendering in `bn doctor`.
125+
126+
## [0.6.0] - 2026-03-09
127+
128+
### Added
129+
130+
- Added exact token counts to spill metadata.
131+
132+
### Changed
133+
134+
- Made read commands default to text output and aligned the documentation with those defaults.
135+
- Removed the duplicate `stack_vars` alias from function information.
136+
137+
## [0.5.1] - 2026-03-09
138+
139+
### Fixed
140+
141+
- Detected stale plugin loads and deduplicated local variable aliases.
142+
143+
## [0.5.0] - 2026-03-09
144+
145+
### Changed
146+
147+
- Narrowed the CLI to a stable, agent-oriented command surface.
148+
149+
## [0.4.0] - 2026-03-09
150+
151+
### Changed
152+
153+
- Used Binary Ninja's source parser for type declarations.
154+
155+
### Fixed
156+
157+
- Enumerated targets from open Binary Ninja tabs.
158+
159+
## [0.3.0] - 2026-03-09
160+
161+
### Added
162+
163+
- Added live readback verification for Binary Ninja write operations.
164+
165+
### Fixed
166+
167+
- Marked rename previews as changed and removed vestigial bridge fallback paths.
168+
169+
## [0.2.0] - 2026-03-09
170+
171+
### Added
172+
173+
- Added improved inline Python execution and mutation preview output.
174+
- Added sole-target defaults, the initial Codex skill, type inspection and declaration import, field xrefs, and comment reads.
175+
176+
### Fixed
177+
178+
- Avoided analysis waits on the UI thread, completed text rendering paths, warned on truncated paged output, and hardened bridge transport and spill handling.
179+
180+
## [0.1.0] - 2026-03-09
181+
182+
### Added
183+
184+
- Added the initial agent-friendly Binary Ninja CLI and GUI companion bridge.
185+
- Added target discovery with preferred basename selectors and stale bridge-instance pruning.
186+
187+
### Fixed
188+
189+
- Simplified bridge discovery, trusted registered bridge sockets, resolved active targets consistently, and removed legacy debug paths.
190+
191+
[Unreleased]: https://github.com/banteg/bn/compare/v0.13.1...HEAD
192+
[0.13.1]: https://github.com/banteg/bn/compare/v0.13.0...v0.13.1
193+
[0.13.0]: https://github.com/banteg/bn/compare/v0.12.2...v0.13.0
194+
[0.12.2]: https://github.com/banteg/bn/compare/v0.12.1...v0.12.2
195+
[0.12.1]: https://github.com/banteg/bn/compare/v0.12.0...v0.12.1
196+
[0.12.0]: https://github.com/banteg/bn/compare/v0.11.0...v0.12.0
197+
[0.11.0]: https://github.com/banteg/bn/compare/v0.10.1...v0.11.0
198+
[0.10.1]: https://github.com/banteg/bn/compare/v0.10.0...v0.10.1
199+
[0.10.0]: https://github.com/banteg/bn/compare/5b11dcc...v0.10.0
200+
[0.9.0]: https://github.com/banteg/bn/compare/v0.8.0...5b11dcc
201+
[0.8.0]: https://github.com/banteg/bn/compare/v0.7.0...v0.8.0
202+
[0.7.0]: https://github.com/banteg/bn/compare/v0.6.1...v0.7.0
203+
[0.6.1]: https://github.com/banteg/bn/compare/v0.6.0...v0.6.1
204+
[0.6.0]: https://github.com/banteg/bn/compare/v0.5.1...v0.6.0
205+
[0.5.1]: https://github.com/banteg/bn/compare/v0.5.0...v0.5.1
206+
[0.5.0]: https://github.com/banteg/bn/compare/v0.4.0...v0.5.0
207+
[0.4.0]: https://github.com/banteg/bn/compare/v0.3.0...v0.4.0
208+
[0.3.0]: https://github.com/banteg/bn/compare/v0.2.0...v0.3.0
209+
[0.2.0]: https://github.com/banteg/bn/compare/v0.1.0...v0.2.0
210+
[0.1.0]: https://github.com/banteg/bn/tree/v0.1.0

‎README.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
`bn` is a coding agent-first CLI for Binary Ninja. It gives a shell session or tool-calling agent stable commands, structured output, and access to the same live Binary Ninja database you already have open in the GUI.
66

7+
See the [changelog](CHANGELOG.md) for release notes by version and date.
8+
79
## Headline Features
810

911
- Query live Binary Ninja state from the shell: targets, functions, callsites, decompile text, IL, disassembly, xrefs, types, strings, imports, and reusable bundles.

0 commit comments

Comments
 (0)