# Changelog All notable changes to Chat Switchboard. ## [0.17.3] — 2026-02-28 ### Added - **Wikilink bi-directional linking.** Notes support `[[Title]]` and `[[Title|display text]]` syntax. Links are extracted on save via regex, resolved to target note IDs by case-insensitive title match, and stored in a `note_links` junction table. Dangling links (references to notes that don't exist yet) are preserved and automatically resolved when a matching note is created later. - **Transclusion embeds.** `![[Title]]` syntax renders embedded note content inline in read mode. Content is fetched asynchronously with a recursion guard (max depth 1 — nested transclusions render as plain text references). Transclusion links are visually distinct in both the editor (border-left, italic) and the graph (dashed edges). - **Backlinks panel.** Read mode shows a collapsible "Linked mentions" panel below the note content listing all notes that link to the current note. Each backlink is clickable to navigate directly. Count badge updates on every note open. - **Knowledge graph visualization.** Canvas-based force-directed graph with no external dependencies (~480 lines). Physics: O(n²) Coulomb repulsion, Hooke spring attraction on edges, center gravity. Interaction: pan, zoom (0.15–4.0x toward cursor), drag nodes, hover highlights node + neighbors. Click opens note editor. Nodes sized by √(link_count), colored by folder path (10-color palette). Ghost nodes for unresolved `[[links]]` with toggle button. Energy-based pause (stops rAF when total kinetic energy falls below threshold). ResizeObserver for responsive canvas sizing. - **CM6 note editor.** New `CM.noteEditor()` factory function with live markdown preview (heading sizes for h1–h3, blockquote styling, fenced code block decorations), `[[wikilink]]` autocomplete triggered by `[[` with async title search, and clickable wikilink chip rendering. Falls back to plain `