Releases: gaasedelen/lighthouse
Releases · gaasedelen/lighthouse
v0.9.3
Predominantly a servicing / compatibility release, long overdue.
Additional Downloads
CodeCoverage-v0.9.3-98830.zip
- Windows pintool binaries compiled for Pin 3.30 (Kit 98830)
v0.9.3 -- CHANGELOG
+ Changes
|- Formally adds full drcov v3 log support (finally)
|- Improves performance of coverage loading, which could be significant in some cases
|- Fixed countless Binary Ninja / PySide6 compatibility breakages from the past 3+ years
|- Allow for fuzzier name matching in the Frida tracer script's module whitelisting
|- Fixed a UI regression that could affect systems with odd DPI
|- Adds the "long night" Lighthouse theme by Layle / ioncodes
|- Updated Intel pin build scripts for newer versions of pin
v0.9.2
v0.9.2 -- CHANGELOG
+ Changes
|- Lighthouse can now be installed through the Binary Ninja plugin manager (2.4.2918 and newer)
|- Misc Qt/compatibility fixes for newer versions of Binary Ninja
|- Updated the drcov parser to support reading of newer (v5) drcov log files
|- Added basic support for loading 'coverage' from a Tenet-style trace
|- Loosened the 'instruction vs basic block' heuristic for determining trace format
|- Improved UI styling to better select 'Monospace' fonts cross platform (at least, macOS)
|- Improved disassembly color detection logic for newer version of IDA
|- Fixed an issue where Lighthouse would fail to load with multiple Qt packages present
|- Fixed a crash that could occur when loading coverage for an executable with a Unicode name
|- Intel pin tool code updated to compile on the latest versions of pin
v0.9.1
v0.9.1 -- CHANGELOG
+ Changes
|- Fixed a bug where Lighthouse could paint the wrong graph nodes in IDA when a node was shared
|- Added a checkbox to suppress the 'module selector' dialog when loading coverage files
|- Improved module matching for custom coverage readers by trimming module paths when possible
|- Vastly improved the performance of the coverage pin tool for longer/larger executions
|- Fixed a crash that would occur if the IDA installation does not have a decompiler present
|- Fixed an issue where edges were not saved after cyclomatic complexity was computed
|- Disabled logging by default, since v0.9 seemed relatively stable
v0.9.0
Release Notes: What's New in Lighthouse v0.9
Additional Downloads
CodeCoverage-v0.9-98189.zip
- Windows pintool binaries compiled for Pin 3.13 (Kit 98189)CodeCoverage-v0.9-97998.zip
- Windows pintool binaries compiled for Pin 3.11 (Kit 97998)CodeCoverage-v0.9-97971.zip
- Windows pintool binaries compiled for Pin 3.10 (Kit 97971)
v0.9 -- CHANGELOG
+ Features
|- Added support for 'module+offset' style coverage files / traces
|- Added a coverage cross-reference dialog, like git-blame for coverage hits
|- Theme subsystem for custom user defined Lighthouse themes and colors
|- Added a fallback 'Module Selector' dialog to pick which 'binary' to load coverage for
|- Complete refactor for native Binary Ninja 2.0 support, multiple databases
|- Updated to fully support IDA 7.0 -> 7.4
|- Python 2/3 compatible for all platforms & disassemblers
|- Faster, more accurate database painting subsystem
+ Minor Changes
|- Extensible coverage parser interface makes it easier to load custom coverage formats
|- Added support for absolute address (bb, or instr.) style coverage files / traces
|- Updated the drcov coverage parser to support newer revisions
|- Batch loading no longer loads all files into memory before aggregating data
|- Decompilation views in IDA will now refresh coverage paint automatically
|- Lighthouse is now 'accessible' through the disassembler console, with lighthouse.get_context(...)
|- Significantly improved the database painter performance and stability in IDA
|- Improved the performance for caching database metadata
|- Support 'interleaved' instruction coverage in capable disassemblers (Binary Ninja)
|- 'Forcefully' clearing database paint will now block with a waitbox while running
|- Double clicking a function in the coverage table will now jump to the 'first' block with coverage
|- Added a simple check against GitHub to notify when a new version of Lighthouse is available
|- Removed the 'range' syntax from the composition grammar -- nobody used it anyway
|- IDA should now close faster than it previously did after using Lighthouse
|- Deprecated support for IDA 6.8 -> 6.95
|- Tons of other minor improvements and code cleanup
+ UI
|- Lighthouse now ships with two default themes, one 'Light' and one 'Dark'
|- Unless the user specifies a theme preference, Lighthouse will pick which one it thinks is best
|- Reduced the font size of Lighthouse on macOS by 1pt, text should look a bit less comical
|- The coverage overview will more consistently snap to the right-side of the disassembler on open
|- Horizontal scrolling in the coverage table is now 'per-pixel' vs 'per-column' (less jumpy...)
|- Changed column sizing for the coverage table, 'Function Name' will also stretch by default now
|- Improved the coverage shell so that text selection (click+drag) actually works
|- Improved overall consistency with opening / closing the coverage combobox
|- Improved the combobox and coverage shell styling to look a bit sharper
|- Lighthouse error messages should be less likely to look bungled on other platforms
|- Continue to improve cross-platform & cross-disassembler UI consistency
|- Added tooltips to the coverage overview table header
+ Bugfixes
|- A partially executed basic block should no longer appear fully painted in graph views
|- Fixed a bug that could prompt the user 'several' times for a coverage name when saving a composition
|- Lighthouse will now attempt to rebase itself should the user 'rebase' their IDB (IDA only)
|- Fixed a bug where the Aggregate set symbol '*' was simply unusable in the coverage shell
|- The drcov parser could fail to extract module filenames when parsing a log collected on a different OS
|- Fixed some edge cases to improve the stability of metadata collection (caching)
|- Fixed a bug where deleted / undefined functions would persist in the coverage table after refresh
|- Using the shell to jump to sub_... function names did not work in Binary Ninja due to case sensitivity
|- Fixed bug that caused 'renamed' functions to lose their navigability (click to jump) in the table
+ BINJA KNOWN ISSUES
|- Highlighting the newly released Binary Ninja HLIL is not yet supported
|- Lighthouse will not properly spin down its threads and resources after closing a bndb / bv
|- Live rebasing of Lighthouse is *not* supported in Binja -- rebase first, and then open Lighthouse
v0.8.3
v0.8.3 -- CHANGELOG
+ Changes
|- IDA 7.2 compatibility
|- Updated Lighthouse to work on Binja dev (breaks stable...)
|- Fixes issues with parsing newer drcov logs
|- Updated Pintool makefile for newer versions of GCC
|- Updated documentation regarding pintool
|- Minor improvements to Frida coverage script
|- Fixed edge case where a division by zero could occur when computing coverage mapping
|- Fixed edge case where the painter thread could crash if user cursor was in an unexpected place
v0.8.2
Fixes small issue with Binary Ninja personal builds.
v0.8.1
Fixes minor regressions from v0.8 release.
v0.8.0
Release Notes: What's New in Lighthouse v0.8
Additional Downloads
CodeCoverage-v0.8-97619.zip
- Windows pintool binaries compiled for Pin 3.7 (Kit 97619)CodeCoverage-v0.8-97554.zip
- Windows pintool binaries compiled for Pin 3.6 (Kit 97544)
v0.8 -- CHANGELOG
+ Features
|- Experimental Binja support
|- Added quick-settings menu
|- Export basic HTML coverage report
|- Added the ability to clear paint, or disable it entirely
|- Warnings for coverage load failures are now more explicit
|- Added warnings for coverage that appears badly mapped or incorrect
|- ASCII drcov logs are now supported
+ UI
|- Tweaked table font & spacing
|- Cross-platform & cross-disassembler styles are now much more consistent
|- Lighthouse no longer looks like trash macOS
|- Arrow Keys & VIM bindings (h,j,k,l) can now be used to navigate the coverage table
|- Right-click copy operations now work on multiple table entries
|- Table column text alignment can be toggled by right-clicking the column headers
|- Made the composing shell hint less aggressive, as it could often get in the way
|- Tweaked style of shell hint popup
|- Tweaked spacing/style on Coverage Combobox
|- Added hover tooltip to Coverage Combobox that shows coverage filepath (if available)
+ Bugfixes
|- Improved cyclomatic complexity metrics (again)
|- Fixed an issue where Lighthouse would ignore some graph nodes
|- Painting should finally be 100% 'stable' on IDA 6.8 -> 7.0
|- Loading coverage files with the same name from different directories will no longer load over existing coverage
|- Fixed some metadata collection bugs
|- Shorthand symbol order will now reset if all loaded coverage is closed
+ BINJA KNOWN ISSUES
|- Binary Ninja sometimes deadlocks when loading coverage
|- Renaming a function to an existing symbol (name) does not reset the old function name
|- Rapidly switching between coverage can cause a hard crash of Binary Ninja (BN bug?)
|- Opening more than one Binary/BNDB at a time while using Lighthouse is not supported
v0.7.2
hotfix for new drcov log formats, closes #36
v0.7.0
Release Notes: What's New in Lighthouse v0.7
Additional Downloads
CodeCoverage-v0.7-97503.zip
- Windows pintool binaries compiled for Pin 3.5 (Kit 97503)CodeCoverage-v0.7-97438.zip
- Windows pintool binaries compiled for Pin 3.4 (Kit 97438)