Skip to content

funcfinder v1.16.0 — Structural editing

Latest

Choose a tag to compare

@github-actions github-actions released this 22 Oct 18:12
· 6 commits to main since this release

From code navigation to structural editing

funcfinder 1.16.0 adds declaration-level CRUD alongside the five existing analysis tools.

  • Go and Rust JSON objects: read a function or type with --read-object, change its source, preview with --edit-object, then apply the same request with --apply.
  • Single-file transactions: combine replace, insert_after and remove operations in a funcfinder.edits/v1 batch. Revision, identity, overlap and final-declaration checks reject invalid transactions before writing.
  • Exact Go/Rust declaration spans: preserve adjacent code on shared lines; Go types include aliases, generics and grouped members.
  • Guarded legacy editing: function replacement, insertion and removal for all 15 configured languages, with documented span and validation limits.
  • Shared-line discovery and Go call graphs: neighboring declarations are recovered; shared-line Go declarations no longer create false calls or steal another function's genuine calls and recursion.
  • Portable agent skill: bundled navigation/editing instructions cover ambiguity, stale revisions and preview/apply workflows.

Validation and scope

Run the target project's compiler and tests after editing: syntax and declaration identity do not establish type compatibility or behavior. Rust validation is structural/token-based, without full grammar checking, macro expansion or type resolution. Legacy edits in other languages retain shared-line restrictions. Accuracy/performance measurements apply to their named benchmark profiles and revisions, not to every repository.

The release archives contain the five Go tools: funcfinder, funcstats, deps, complexity and callgraph. The D port remains experimental benchmark material and is not included in these archives.

Downloads

Linux and macOS: amd64/arm64 .tar.gz archives. Windows: amd64 .zip. Each archive contains all five tools. Verify downloaded archives against checksums.txt (SHA-256).

Editing guide · Complete changelog