Repository navigation
Overview
This release expands Rust tracing, improves optimized DWARF handling, and adds
structured script output. It also fixes event delivery, shutdown, module refresh,
and TUI correctness issues accumulated since v0.1.6.
Highlights
- Rust value display: strings, slices, vectors, deques, hash and B-tree
collections, smart pointers, interior-mutability wrappers, enums, and nested
values. Supported layouts and capture limits are documented in the
scripting guide. - Versioned JSONL script output for consuming trace events in other tools, with a
checked-in v1 schema. - Value diagnostics explain unsupported layouts, unavailable values, and capture
limits. Runghostscope --value-diagnostics-helpfor details. - Improved DWARF indexing and caching, supplementary debug-object support,
byte-aligned piece reconstruction, and field access on split aggregates. - Aya 0.16 with feature-detected multi-uprobes and a legacy attachment fallback.
Sleepable uprobes remain opt-in.
Bug Fixes
- Preserve optimized function-entry probes, parameter spills, C++ inherited
member lookup, bitfield widths, and explicit main-module identity. - Improve backtrace symbolization during module refresh, Rust symbol handling,
ELF load-bias calculation, and handling of ambiguous module load instances. - Prevent event-reader starvation, stale event generations, and script shutdown
stalls when stdout or stderr is blocked. Report partial compilation failures. - Fix Unicode search/completion panics and reduce unnecessary TUI rendering.
- Install the config bundled with the release archive and clean up temporary
downloads correctly, including when using the standalone install script. - Update dependencies to address reported RustSec advisories.
Compatibility and installation
- Prebuilt binaries target Linux x86_64 and require glibc 2.31 or newer.
Other architectures and non-x86_64 target ELF files are rejected explicitly.
Runtime libraries include libstdc++, zlib, and zstd (libstdc++6 zlib1g libzstd1
on Debian/Ubuntu). - Source builds now use Rust 1.98.0 and LLVM 22. Prebuilt binaries do not require
users to install Rust or LLVM. - The project now offers GPL-3.0-only OR MIT licensing. Third-party components
retain their respective licenses; eBPF kernel license declarations are retained. - Existing user configuration is preserved by the installer. Consult the bundled
config.tomlfor new options; no automatic config migration is performed.
Download ghostscope-v0.1.7-x86_64-linux.tar.gz and its .sha256 file, then run:
sha256sum -c ghostscope-v0.1.7-x86_64-linux.tar.gz.sha256
tar -xzf ghostscope-v0.1.7-x86_64-linux.tar.gz
./ghostscope --versionWildcard function tracing and persistent on-disk DWARF analysis caching are not
included in this release.