Skip to content

v0.11.7

Choose a tag to compare

@github-actions github-actions released this 08 Nov 16:33
· 83 commits to main since this release
b8f531f

Rebuild note: the graph format changed, so the first start after the upgrade builds each tree once.

Calls are linked only where the build allows them

  • A Rust name reaches only its crate and the crates it depends on. A call matched by name alone linked to the one definition of that name anywhere in the tree, even in a crate the caller cannot reach. It now links only when that definition is in the caller's crate or a crate its Cargo.toml names by path (directly or through [workspace.dependencies]).
  • A standard method on a value of unknown type links nowhere. x.len(), x.is_empty(), x.iter() … no longer point at a tree method of that name; find_callers lists such calls from the definition's own crate under undecided_callers.
  • A call to a definition the file has just renamed or removed is no longer taken as a local call, so detect_changes lists the dangling callers in the same file too.
  • r#name is the name name.

Tools

  • find_unused lists the definitions of Rust files no mod declaration reaches under not_compiled, and overview names those files. Crate roots, #[path], inline modules and include! are followed.
  • overview lists the crates of a Rust workspace and names a subsystem crate/stem, so the lib.rs of two crates no longer read as one subsystem.
  • affected_tests pages its tests with limit (default 50) and offset, and for Rust names the cargo test runs that cover them.
  • change_history returns the first body_lines (default 6) of each commit body and says how many it left out.
  • query_graph ranks an implementation before the tests that repeat its words, unless the question asks about tests.
  • explain_node: structurally_similar lists only the nearest definitions by embedding; callers, callees and the file's other definitions follow under nearby.

Security

  • Access-token hashes (SHA-256) and the random bytes of new tokens come from ring, the library rustls already uses for TLS. Stored token hashes stay valid.
  • SECURITY.md states the versioning policy and that release notes name every vulnerability a release fixes.

Install

  • Homebrew: brew install attackwave/glasir/glasir
  • Scoop: add the bucket Attackwave/scoop-glasir, then run scoop install glasir