- Feature: five language extractors gained structural depth — OCaml classes now emit their methods (via the
methodrelation) and instance variables (#3838, thanks @rajatnagda45); Elixirdefprotocol/defimplare extracted as containers holding their functions, with a same-fileimplementslink (#3839, thanks @rajatnagda45); Fortran derived-typecontainsblocks link type-bound procedures to the type, resolving the=> impltarget (#3840, thanks @rajatnagda45); Julia macro definitions and@enumtypes are extracted, including valued (red = 1) and typed (Color::UInt8) enum forms, with members using thecase_ofrelation (#3841, thanks @rajatnagda45); Kotlin annotations (class/function/property, use-site targets) andval/varprimary-constructor properties now produce edges (#3848, #3842, thanks @nikhilsaxena04). - Fix: a TypeScript "solution"
tsconfig.jsonthat only carriesreferences(nopathsof its own) now resolves path aliases declared in the referenced project configs, so alias imports in atsc -blayout no longer dangle (#3753, #3745, thanks @abhay-codes07). - Fix: extraction now skips the process pool up front when the
spawnstart method can't re-import__main__(stdin,python -c, REPL, embedded callers), falling back to a correct sequential run instead of a wall ofBrokenProcessPooltracebacks (#3754, #3669, thanks @abhay-codes07). - Fix: entity deduplication preserves a genuine pre-existing self-loop (a recursive call, a self-referential FK) while still dropping a self-loop newly created by a merge (#3825, thanks @Abhirup0).
- Fix:
ingestclassifies a URL by its parsed host, not by text anywhere in the URL, soexample.com/article-about-youtubeis no longer mistaken for a YouTube link; subdomains andyoutu.bestill match, path-based extension detection is unchanged (#3831, thanks @L4XB). - Fix:
graphify updateon a destination outside the scan root no longer leaks a stat-index cache into the corpus — the incremental detection path now forwardscache_rootlike the fresh-scan path (#3850, #3847, thanks @ayushcodes10). - Fix: manifest duplicate-key collapse breaks ties by last-seen time instead of arbitrary iteration order, so a stale duplicate can no longer win and under-report changed files; also re-anchors foreign-platform absolute keys and normalizes
../.segments so more duplicates actually collapse (#3781, #1964, thanks @ayushcodes10). - Docs: a community-health and contributor-guide overhaul — new
CONTRIBUTING.md,CODE_OF_CONDUCT.md, andRELEASING.md, refreshed issue/PR templates, and corrected factual drift inSECURITY.md(supported version, network/XSS boundaries),ARCHITECTURE.md(shared-state), andAGENTS.md(scoped-query workflow) (#3845, thanks @nikhilsaxena04).