v0.6.0
Release v0.6.0
Date: 2026-08-04
Summary
- Fix score-explanation popovers getting clipped inside the diff table (now
position:fixed, viewport-clamped, self-correcting after real content renders). - Make the Blast Radius / Review Priority breakdown mathematically explicit: raw, max-in-diff, and normalized values are now traceable end to end, shown in per-dimension cards instead of one flat, unattributed signal list, with "checked, found nothing" signals visible behind a toggle instead of silently omitted.
- Add a Math Mode toggle that shows the full worked derivation of a hunk's score — every symbol's signals summed, dimension totals, normalization against the highest-scoring hunk in the diff (cited by file/hunk), the weighted blend, and the hygiene multiplier — as numbered, labeled steps.
- Detect symbol renames within a hunk and score blast radius against both the old (still-referenced, about to break) and new (migrated) name, instead of only the post-rename name.
- Fix a stale call-graph tooltip bug where hovering one symbol's sunburst/flamegraph could leave garbled leftover text behind after switching to a different symbol.
- Group repeated same-named signals (e.g. several "Caller reach" rows on a multi-symbol hunk) into per-symbol sections instead of an ambiguous flat list.
Install and Update
New install:
# Linux/macOS
curl -L https://hexmos.com/ipm-install | bash && ipm i HexmosTech/git-lrc
# Windows
iwr https://hexmos.com/ipm-install-ps | iex; ipm i HexmosTech/git-lrc
Update:
lrc self-update
Changes
- Score-help popovers (
ScoreChipWithHelp/MethodologyButton) useposition:fixedwith viewport-clamped placement, corrected after actual render rather than a static height estimate. HunkReportnow exposesMaxBlastRadiusRaw/MaxReviewPriorityRaw(plus which hunk set them) and the actual blendWeightsused, so the UI never assumes defaults.- New Blast Radius / Review Priority dimension cards replace the old flat signal list; signals are grouped per-symbol whenever a hunk touches more than one.
- New Math Mode: a numbered, labeled, step-by-step derivation from raw signals to the final Combined score, toggleable alongside the summary view.
- New
blastradius/rename.go: detects single-identifier declaration renames within a hunk and adds a weighted "callers of old name (about to break)" signal on both the calls and text-reference scoring paths. - Sunburst/flamegraph tooltips are now driven by Preact state instead of imperative DOM mutation, and clear on symbol change.
- Signal list rows use stable keys (symbol + signal name) instead of list index; a rename lookup failure is now distinguished from a genuine zero-reference result.
Breaking Changes
- None.
Verification
- lrc --version
- lrc --help
Known Issues
- None.