2026-05-31

sqry v17.0.1

This release closes out a long line of work that has accumulated since v13.0.3. The headline is the V12 graph schema and the query predicates it unlocks, but a lot has landed across languages, queries, and natural-language search. Here is the full picture.

Query the call graph by how calls were resolved

The V12 graph adds a resolved_via: query predicate. Every Calls edge records how it was resolved, and you can now filter on that directly:

# Only calls recovered through the binding plane (e.g. C function pointers)
sqry query "resolved_via:binding_plane"

# Combine with a relation predicate
sqry query "callers:my_read resolved_via:binding_plane lang:c"

Valid values are direct, type_match, and binding_plane. The latter two recover indirect / function-pointer calls that exact resolution alone would miss, so you can separate precise edges from heuristic ones.

A companion framework: predicate filters nodes by detected web framework. The predicate and its evaluation are wired through every surface; framework-route extraction is rolling out, so coverage grows as the route extractors land.

Both predicates work in the planner text grammar (sqry plan-query and the MCP sqry_query tool) and as framework / resolved_via filter parameters on the relation_query, direct_callers, direct_callees, and semantic_search MCP tools.

Return-type queries are edge-backed

returns:<Type> no longer matches signature text — it resolves against real TypeOf{Return} edges in the graph for Rust, Java, Python, TypeScript, and Go:

sqry query "kind:function returns:Result"

Richer Go and C/C++ analysis

Clearer errors and natural language

MCP and workspace refinements

Distribution

A Homebrew tap auto-publishes on every release, and Windows / macOS artifacts are validated on native-platform smoke gates before public promotion.

Upgrade notes

The C indirect-call and Go field-edge work changed in-format graph semantics. Existing snapshots keep loading, but the new edges, Property nodes, and resolved_via provenance only appear after a rebuild. Run sqry index --force once after upgrading to pick up the V12 graph shape.

← All releases