Skip to content

Releases: chrisatom1998/document-graph-explorer

v1.1.14

Choose a tag to compare

@cursor cursor released this 29 Jul 01:07

What's changed

OpenRouter/Ollama provider selection (replacing Gemini), independent chat vs enrichment models, inter-cluster bridge filaments, PDF demo corpus (100 docs), and a collapsed side-panel connections list.

See CHANGELOG.md for the full [1.1.14] notes.

Assets

  • dist.zip / dist-airgap.zip — web builds
  • Document.Graph.Explorer-1.1.14.exe — Electron Windows portable
  • Document-Graph-Explorer-v1.1.14-windows-x64-portable.zip — zip of the portable exe
  • Document-Graph-Explorer-1.1.14-win-pkg.zip — pkg run.exe + dist/

v1.1.13

Choose a tag to compare

@cursor cursor released this 27 Jul 07:07

What's new

  • Welcome screen constellation replaced with a 3D hero miniature of the real graph scene (instanced cores/halos, fat-line filaments, edge-pulse packets; cool-band cluster hues; reduced-motion and WebGL fallbacks).

See CHANGELOG.md for details.

v1.1.12

Choose a tag to compare

@cursor cursor released this 26 Jul 20:05

What's Changed

Fixed

  • Corpus switcher on the welcome screen: the empty-state dropdown now renders through a document-level portal sized against the trigger, so the welcome card's rounded clipping can no longer crop the menu (viewport-aware flip above/below; follows resize/scroll).
  • Welcome constellation styles restored after an orphaned HeroOrbitalPreview scaffold renamed .empty-state__constellation away from the class EmptyState still uses — the SVG had lost its width cap and overflow: visible (needed for node drop-shadows), and the mobile 180px override no longer applied.

Removed

  • Unused HeroOrbitalPreview component and its visual-stage CSS (HeroUI Pro-dependent scaffold that EmptyState never adopted after the Pro dependency was dropped).

Tests

  • Added hostile-input coverage for HtmlPreview and the graph-import sanitizer (prompt-injection / DoS-bound payloads), aligned with sanitizeGraphExport's real throw-on-unusable-file contract.

v1.1.11

Choose a tag to compare

@cursor cursor released this 26 Jul 18:07

What's Changed

Changed

  • Scene render pipeline: drop preserveDrawingBuffer (Export PNG now captures one on-demand frame via a sceneCapture bridge), turn off unused canvas MSAA in favor of explicit composer multisampling, and add render resolution (dpr) to the AutoQuality ladder so bloom-heavy scenes can shed fill-rate under load.
  • Graph edges in 3D use fat-line ribbons (LineSegments2) at top quality tiers instead of 1-device-px GL_LINES hairlines; hairlines remain at degraded tiers and in the 2D star chart.

Full Changelog: https://github.com/chrisatom1998/document-graph-explorer/blob/main/CHANGELOG.md

v1.1.10

Choose a tag to compare

@cursor cursor released this 26 Jul 14:06

Added

  • Document annotations: every document's side panel now has a Notes & Tags section — a free-text note, removable tag chips with corpus-wide one-click suggestions, and a pin. Annotations persist per corpus in IndexedDB, keyed by the document's stable path so an edited file keeps its notes, and survive document removal. Pinned documents surface as a jump list in Corpus insights. Saves are debounced, per-key (a second tab's annotations can't be clobbered), flushed on tab close/app hide, and retried with a warning toast on failure.
  • The first-run tour now covers the full feature set in 7 steps: saved views, folder sync, snapshot compare, chat providers, and annotations. It reappears once for users who dismissed the older 4-step tour, can be dismissed with Escape, and drops cloud-provider mentions in airgap/offline mode.

Changed

  • Welcome/empty state, progress strip, and first-run chrome restyled with HeroUI (open-source components; no Pro license required for builds); nebula canvas and global styles refreshed to match.

Security

  • Upgraded Electron from 32.3.3 (EOL, Chromium 128, 17 known advisories) to 43.x, and hardened the packaged app's Electron fuses: RunAsNode, --inspect CLI arguments, and NODE_OPTIONS are disabled, while asar integrity validation, OnlyLoadAppFromAsar, and cookie encryption are enabled. At their defaults a signed Electron binary doubles as a general-purpose Node interpreter that inherits the app's signature and granted permissions.
  • Updated fast-xml-parser (Office-document parsing) past an entity-expansion DoS, and cleared the critical node-tar chain in the build tooling. npm audit: 40 → 26 issues, 0 critical.
  • Chat prompts now fence retrieved passages with a per-request random nonce, so a document containing the literal context delimiter can no longer close the context block and have the rest of its text read as instructions.
  • Chat renders model-authored external links as inert text showing the full URL instead of one-click anchors, closing a prompt-injection exfiltration path that bypassed the CSP by leaving the app entirely.
  • Bounded model-authored enrichment output (summary length, topic label length) so an injected instruction in one document cannot propagate oversized content into topic canonicalization, cluster names, and exports.
  • Bounded the CSV preview by column count (a one-line all-commas file mounted one DOM cell per field and wedged the renderer), the document-viewer URL linkifier's regex quantifiers (quadratic backtracking hung the main thread on a long line), and the import validator's cluster-name/embedding scans (invalid entries advanced no counter, defeating the caps).

Fixed

  • Background per-corpus writes (annotations, and by the same path watched-folder and saved-view updates) can no longer re-derive the active workspace while an imported or shared graph is open. Previously the publish fallback re-activated the last local corpus underneath the ephemeral view — flipping the mode back to "local", misdirecting later edits into a real corpus, and re-arming active-corpus mutations (such as marking the corpus empty on last-document removal) that ephemeral mode deliberately disarms.

v1.1.9

Choose a tag to compare

@github-actions github-actions released this 26 Jul 04:00

Full Changelog: v1.1.8...v1.1.9

v1.1.8

Choose a tag to compare

@cursor cursor released this 25 Jul 22:07

Added

  • Richer generated demo corpus content (theme systems, incidents, actions, risks, and artifacts) so Load demo corpus produces more distinctive, cross-linked documents.
  • Batched embedding worker requests that pack many short documents into shared model inference calls instead of one round trip per document.

Changed

  • Commit parsed ingest results in fixed-size store/layout batches so large drops update the graph in groups rather than once per file.
  • Scale the AI core with corpus size so the center orb stays readable against the expanded force-layout shell.
  • Skip IndexedDB original retention for reconstructable generated demo documents, avoiding thousands of redundant writes on demo load.
  • Serve and fetch the unversioned demo manifest with no-cache / no-store so desktop upgrades no longer keep a year-old cached corpus definition.

v1.1.7

Choose a tag to compare

@cursor cursor released this 20 Jul 18:05

Fixed

  • Rebase the chat message-id counter when a transcript is restored. The counter restarts at zero each page load, so the first new turn could reuse a restored message's id, producing duplicate React keys and causing a single update to patch two messages at once.
  • Apply the same transcript flush and switch guard to snapshot restore that normal corpus switches use, so restoring a snapshot owned by another workspace can no longer persist an empty transcript over that workspace's saved history.
  • Restore a saved transcript that arrived while an answer was still streaming, instead of discarding it permanently and letting the next save replace the stored history with only the new turn.
  • Stop retrying a document-AI request that was cancelled during a rate-limit backoff, which continued issuing billable requests after the user had moved to another document.
  • Mark an empty-bodied streaming failure as an error so it is excluded from the history sent to the model rather than replayed as a genuine prior answer.
  • Stop re-reporting watched-folder files that were merely deferred by the batch size cap; they are retried on the next scan, so each poll was adding another ignored-file entry and warning toast until the backlog drained.

v1.1.6

Choose a tag to compare

@cursor cursor released this 20 Jul 16:06

Fixed

  • Stop chat history from wiping the outgoing workspace or overwriting a live answer during corpus switches by syncing transcripts outside React effects.
  • Keep folder watching from deadlocking on corpus switch/restore, clobbering a newly chosen folder handle, or stranding files deferred by the batch size cap.
  • Unblock parse jobs while the pinned embedding worker is busy loading the model, and avoid lending that worker to general work in multi-worker pools.
  • Speed up title/filename mention linking with a single-pass anchor index and prefer titles over filenames when both match.
  • Align Content-Security-Policy and deployment header docs so OpenRouter is allowed in standard builds and blocked in air-gap builds.

Changed

  • Harden session save, worker pool dispatch, and graph/scene update paths covered by the critical bug-fix batch.

Web and Windows installers/archives exceed GitHub's 100MB blob limit, so they are attached as Release assets (not Git LFS).

v1.1.5

Choose a tag to compare

@cursor cursor released this 14 Jul 03:06

Document Graph Explorer v1.1.5

Added

  • Local English OCR fallback for scanned PDFs using bundled Tesseract.js assets
  • Browser folder watching with add/change/remove reconciliation
  • Backend-free shareable graph URLs
  • Named multi-corpus workspaces

Changed

  • Corpus and folder-management code kept outside eager app entry; bounded watched-folder metadata reads

Assets

  • Document.Graph.Explorer-1.1.5.exe — Electron portable Windows app
  • Document-Graph-Explorer-1.1.5-win-pkg.zip — pkg-based Windows zip (run.exe + dist/)
  • Document-Graph-Explorer-v1.1.5-windows-x64-portable.zip — CI-compatible portable zip of release/win
  • dist.zip / dist-airgap.zip — web builds