You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+34Lines changed: 34 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,40 @@ All notable changes to Mirage are documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [1.8.1] - 2026-06-20
9
+
10
+
### Added
11
+
12
+
-**`mirage paths --inter-procedural`** now enumerates cross-function paths from live Magellan call stitching:
13
+
- Reuses the shared path engine over a projected ICFG instead of falling back to function-local CFG-only traversal.
14
+
- Path output now carries per-block function provenance when traversing across caller, callee, and return-to-resume edges.
15
+
16
+
### Changed
17
+
18
+
-**ICFG stitching now consumes live Magellan callsite data** (`src/cfg/icfg.rs`, `src/cli/cmds/icfg.rs`, `Cargo.toml`):
19
+
-`mirage icfg` now builds against the local Magellan crate and uses `CodeGraph::direct_call_icfg_edges()` when stitching interprocedural edges.
20
+
- Call edges now connect the caller's real `CallSite` block to the callee's real function-entry sentinel instead of incorrectly jumping from the caller function entry.
21
+
- Return edges now connect callee `return` blocks back to the caller's real continuation block when available, with the older function-exit fallback retained only for cases where precise stitching data is unavailable.
22
+
- Added a regression test that indexes real Rust code through Magellan, opens the same database through Mirage, and asserts exact callsite/resume stitching.
23
+
24
+
- Mirage's SQLite reader now matches Magellan's current `cfg_blocks` schema:
25
+
-`cfg_blocks` reads no longer require persisted `coord_x`/`coord_y`/`coord_z` columns.
26
+
- Test fixtures and local schema helpers now model Magellan's current `cfg_hash` / `statements` / `cfg_condition` shape instead of the old coordinate-heavy variant.
27
+
- Coverage and backend parity tests now explicitly assert that `coord_*` columns are absent from the current schema contract.
28
+
- CFG/status compatibility cleanup:
29
+
-`DatabaseStatus.cfg_edges` remains a normal compatibility field for Magellan-backed status output instead of being marked deprecated while still in active use.
30
+
- Legacy in-memory `coord_*` fields are now documented as analysis-time values, not persisted database columns.
31
+
- Source hygiene cleanup:
32
+
- Removed a dead AST CFG builder field and cleaned up stale doctest placeholders that used `unimplemented!()`.
33
+
- Replaced stale wording that implied temporary or 4D-backed behavior where Mirage now only reads Magellan-managed CFG data.
34
+
- Refreshed doctest examples to the current `mirage::...` crate path and removed the last warning suppressions in `src`, so the current tree passes strict clippy without `#[allow(...)]` escape hatches.
35
+
36
+
### Removed
37
+
38
+
- Deprecated internal CFG-writing compatibility path (`store_cfg`) and its self-contained tests. Mirage now treats Magellan as the sole owner of persisted CFG blocks.
0 commit comments