# graphify v0.9.45 - Product: graphify (https://whatsnew.fyi/product/graphify) - Vendor: graphify - Date: 2026-08-16 - Version: v0.9.45 - Original notes: https://github.com/Graphify-Labs/graphify/releases/tag/v0.9.45 - Permalink: https://whatsnew.fyi/product/graphify/releases/v0.9.45 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — graphify install now advances the .graphify_version stamp only for the platform it actually (re)writes, instead of stamping every installed platform as current - **fixed** — an incremental rebuild no longer collapses the whole graph when the .graphify_root marker records a subfolder while stored source_file paths are relative to the repo root - **fixed** — a Go file that declares both an exported and an unexported symbol differing only by case no longer collapses them onto one node id and drops one - **fixed** — loading a graph.json that contains a hyperedge with no id field no longer crashes the incremental re-extract with KeyError: 'id' ##### 0.9.45 - Fix: `graphify install ` now advances the `.graphify_version` stamp only for the platform it actually (re)writes, instead of stamping every installed platform as current; a platform whose skill content was left untouched keeps its old stamp so its staleness warning stays truthful (#2694, thanks @ousamabenyounes). This completes #2694 (the CLAUDE_CONFIG_DIR half shipped in 0.9.44). - Fix: an incremental rebuild no longer collapses the whole graph when the `.graphify_root` marker records a subfolder while stored `source_file` paths are relative to the repo root; the marker is validated against the stored paths before it is trusted as their anchor, so a mismatched marker can't make every unchanged source look deleted (#2603, thanks @catpotd). A genuinely deleted source is still evicted, and incremental ids stay identical to a cold build. - Fix: a Go file that declares both an exported and an unexported symbol differing only by case (e.g. `Run` and `run`, which are distinct in Go's case-sensitive visibility rules) no longer collapses them onto one node id and drops one; the exported symbol keeps its stable id and the unexported one is disambiguated, so an intra-file call to the unexported symbol resolves locally instead of phantoming to another package (#2779, thanks @catpotd). Only the Go extractor's id assignment is affected; the shared id normalization is unchanged, so no other language's ids move. - Fix: loading a `graph.json` that contains a hyperedge with no `id` field (the semantic extractor emits them and they persist verbatim) no longer crashes the incremental re-extract with `KeyError: 'id'`; id-less hyperedges are tolerated and retained (#2775, thanks @ousamabenyounes).