Skip to content

Releases: JSv4/react-docxodus-viewer

v0.7.0

Choose a tag to compare

@JSv4 JSv4 released this 12 Jul 03:30
45f8442

What's changed

  • Bump docxodus 6.2.0 → 7.0.1 (peerDependencies>=7.0)
  • Refresh public/wasm to the .NET 10 / dotnet.boot.js boot layout used by Docxodus 7.x
  • Bump dev dependencies: eslint 10, vite 8, typescript 6, jsdom 29, and related tooling (#30)
  • Fix Toolbar/SettingsModal being recreated as new component types on every DocumentViewer render (lost focus/DOM state each render)
  • Fix a staleness bug in worker-init loading state when useWorker toggles off mid-flight
  • CI: fix the publish workflow's Node version so releases can actually run (#29)

This brings in the upstream fix for ConvertToHtml crashing with ArgumentNullException("part") on DOCX packages missing word/settings.xml (JSv4/Docxodus#264, reported via #27 — thanks @arthrod), plus a companion fix for missing StyleDefinitionsPart (JSv4/Docxodus#266).

See #28 and #30 for full change and verification details.

v0.6.0

Choose a tag to compare

@JSv4 JSv4 released this 29 May 00:47
bfb0648

What's new

  • warmup propDocumentViewer now accepts an optional warmup boolean. When true, the viewer eagerly calls the docxodus worker's new prepare() API on mount, pre-warming the .NET comparison assemblies so the first document comparison avoids the ~3s assembly-load latency. The call is idempotent and fire-and-forget; warmup failures never surface as viewer errors. Applies in worker mode only (no-op when useWorker={false}).
  • docxodus bumped to ^6.2.0 with refreshed bundled WASM files; peer dependency raised to docxodus >=6.2.

Full Changelog: v0.5.1...v0.6.0

v0.5.1

Choose a tag to compare

@JSv4 JSv4 released this 28 May 07:35

Highlights

  • Upgrade to docxodus 6.0.0. peerDependencies.docxodus is now >=6.0 (was >=4.0); consumers must upgrade alongside.
  • Bundled WASM assets refreshed from docxodus 6.0.0.

Since v0.4.1

  • Add toolbarActions API, icon-button open mode, defaultZoom, and tighter zoom controls
  • Tighten gap between zoom controls and custom toolbar actions
  • Fix narrow-viewport toolbar overflow; add fitMode and --page-gap CSS variable
  • Upgrade to docxodus 5.3.0 / 5.4.0 (intermediate); add unsupported-content placeholders, language override, and stable layout sizing
  • Make deleted/moved content non-selectable for cleaner copy/paste
  • Fix invisible text on Android Chrome
  • Dev-dependency and CI action updates

Upgrade notes

Consumers of react-docxodus-viewer must install docxodus@^6.0.0.

v0.2.1

Choose a tag to compare

@JSv4 JSv4 released this 01 Dec 08:18

What's New in v0.2.1

Dependency Updates

  • docxodus 4.0.3 - Fixes blocking issues in useConversion, useComparison, useAnnotations, and useDocumentStructure React hooks

What's New in v0.2.0

Performance Improvements

  • Web Worker enabled by default - DOCX conversion now runs in a background thread, keeping the UI responsive
  • Progressive loading placeholders - Shows page placeholders with estimated dimensions while documents convert using getDocumentMetadata()

RevisionPanel Enhancements

  • Fixed format change display - Filters out raw XML data and shows clean property changes (e.g., "Font Size: 12 → 14")
  • Move revision support - Properly displays moved content with group ID badges linking source/destination
  • Improved styling - Better layout for format changes with old/new value pairing

UI Improvements

  • Constrained viewport height - Viewer defaults to 80vh with internal scrolling
  • Customizable height - New CSS variables: --rdv-height, --rdv-max-height, --rdv-min-height
  • Smooth scrolling - Footnote/endnote clicks scroll smoothly within the component

Full Changelog

v0.1.1...v0.2.1

v0.1.1

Choose a tag to compare

@JSv4 JSv4 released this 01 Dec 06:26

What's New

docxodus v4.0 Support

  • Upgraded to docxodus v4.0 with new features

Web Worker Support

  • Added useWorker prop for non-blocking document conversion
  • Large documents no longer freeze the UI during conversion
  • Export isWorkerSupported() helper for feature detection

WASM Auto-Detection

  • wasmBasePath prop is now optional
  • WASM files are auto-detected from module location

RevisionViewer Integration

  • Integrated revision viewer as a tab within DocumentViewer
  • Auto-detects tracked changes in documents
  • Filter revisions by type

Usage

import { DocumentViewer } from 'react-docxodus-viewer';
import 'react-docxodus-viewer/styles.css';

// Basic usage (WASM auto-detected)
<DocumentViewer />

// With worker for large documents
<DocumentViewer useWorker />

Breaking Changes

  • Requires docxodus >= 4.0 as peer dependency