Skip to content

Releases: ashchur27/universal-diff-viewer

Universal Diff Viewer v1.0.0

Choose a tag to compare

@github-actions github-actions released this 09 Oct 18:50

First release of Universal Diff Viewer, a fork of ff_git_image extended beyond images.

More file types

  • Track text (.txt, .csv, .xml, .json) and document (.pdf, .xls, .xlsx) changes alongside images; stage, unstage, discard, and ignore them from the sidebar. .txt, .xml, and .json open in VS Code's native diff editor.
  • Cell-by-cell tabular diff for .xlsx and .csv with no runtime dependencies: highlights added, removed, and changed cells, shows XLSX formulas alongside cached values, links between worksheets, and detects comma/semicolon/tab delimiters and BOMs.
  • PDF text diff: extracts text through ToUnicode CMaps, Type0/Identity-H fonts, glyph widths, form XObjects, and object streams, lays it out into lines by position, and shows an aligned line-by-line table with word highlighting; unchanged pages are collapsed. Scanned or unsupported PDFs fall back to side-by-side.
  • Git versions of documents are read as raw blobs, so textconv filters (e.g. Git for Windows astextplain) do not break diffs. Reads time out after 30 s and report Git LFS pointers clearly.
  • File status badge (New file / Deleted file / Modified / Renamed / Conflict / Failure) in the image viewer and document previews; status in text diff titles. Added and deleted PDFs show a single column.

Fork-style sidebar

  • Unstaged and Staged panels with Stage All / Unstage All title buttons. Enter (or Ctrl+Alt+S / Ctrl+Alt+U) stages or unstages the selection; ↑/↓ move between files and open them. Discard is available only from the right-click menu.
  • High-contrast status colors for file names and icons (universalDiffViewer.addedForeground / deletedForeground / modifiedForeground), overridable in workbench.colorCustomizations.
  • Microsoft Office lock files (~$*.xlsx) are hidden.

Comparison tab

  • Actions moved to the sidebar: the tab keeps Previous / Next and Open file; Ctrl+Alt+S / Ctrl+Alt+U still stage or unstage the open image.
  • Adjustable Blink interval (100–2000 ms, default 650 ms), remembered with the other settings.
  • Refreshed Universal Diff Viewer branding, tooltips, and accessible labels; new extension icon and Activity Bar glyph.

Reliability and performance

  • Hardened PDF and XLSX parsing against decompression bombs, recursive form XObjects, malformed object tables, and oversized archives.
  • Diff tabs are per change, and slow document loads no longer steal focus after you move on.
  • Panels refresh correctly with multiple repositories; group rows show the repository name.
  • Faster tree building (~40% for 6,000 changes) and tabular cell diffs.

The entries below are from the upstream ff_git_image project.

Install

Download universal-diff-viewer-1.0.0.vsix from the assets below. In VS Code, use Extensions → … → Install from VSIX… and reload the window if prompted.

SHA256SUMS contains the package checksum.