Skip to content

GhostScope v0.1.7

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Nov 06:04
· 6 commits to main since this release

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. Run ghostscope --value-diagnostics-help for 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.toml for 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 --version

Wildcard function tracing and persistent on-disk DWARF analysis caching are not
included in this release.