Releases: Optimal2/OpenDocViewer
OpenDocViewer v1.8.0
OpenDocViewer v1.8.0 improves the print workflow introduced in v1.7.0 and adds a generated-PDF print backend for deployments where browser HTML print preview is slow or hard to follow for larger print jobs.
Highlights:
- Added PDF-based printing alongside the existing HTML/browser print path.
- Added optional PDF download directly from the print dialog when enabled by configuration.
- Added progress feedback while OpenDocViewer generates PDF output, so users can see how many pages have been processed before the browser print preview opens.
- Simplified the print dialog by replacing the print-mode dropdown/split-button experiment with explicit actions:
- Print via HTML
- Print via PDF
- Save PDF, when enabled
- Added a reusable StatusLed UI component and initial print-readiness integration.
- Improved visual alignment between HTML and PDF print output, including copy-marker handling in headers and watermark rendering.
- Expanded the bundled Swedish and English default manuals with fuller coverage of navigation, zoom, thumbnails, metadata, selection, comparison, printing, PDF output, copy watermark, headers/footers, performance, troubleshooting, and site-local manual overrides.
- Hardened generated-PDF fallback handling, sanitization, quality normalization, and resource cleanup.
- Updated SECURITY.md for the new supported release baseline.
Recommended upgrade:
v1.8.0 is the preferred production target going forward. v1.7.0 remains supported temporarily, but new deployments should use v1.8.0.
OpenDocViewer v1.7.0
OpenDocViewer v1.7.0 extends the v1.6.0 metadata-aware viewer baseline with a substantially richer and safer print customization model.
From a print-control perspective this release adds a configurable copy-marker workflow for physical print output. Deployments can expose a user-controlled copy watermark checkbox, default it on or off, hide it while forcing the configured marker, localize display labels separately from physical print output, and use printValue for clean print text while keeping longer UI instructions in the print dialog. Normal printing remains unmarked by default unless the deployment explicitly configures otherwise.
From a print-template perspective this release adds metadata-aware header and footer templates with {{...}} tokens, conditional blocks that suppress empty labels, page-specific document metadata, session-level tokens, structured reason/format selection tokens, metadata alias tokens, newline support, and a dedicated print footer. Token values are escaped before insertion while trusted administrator-authored template markup remains supported.
From a print-layout perspective the default header/footer model now reserves page space instead of drawing over the original page image. This avoids obscuring document content while still allowing explicit legacy overlay behavior through configuration. The copy watermark has also been adjusted to be larger, more transparent, and more visible across both light and dark source pages by combining low-opacity text with contrast stroke/glow styling.
From a maintainability and hardening perspective this release fixes JSDoc parser issues in the print modules, documents the print token and layout model, tightens i18n path/default handling, improves robustness around import.meta/window access, adds safer i18n path segment handling, updates print-related logging payloads, and refreshes selected dependencies including i18next-http-backend and postcss.
OpenDocViewer v1.7.0 is recommended going forward because it preserves the v1.6.0 document metadata functionality while improving print auditability, deployment-specific configurability, documentation clarity, and CI/documentation reliability.
OpenDocViewer v1.6.0
OpenDocViewer v1.6.0 builds on the document-aware baseline from v1.5.0 with richer metadata support, new operator-facing overlays, site-local HTML manual support, and broader UI/runtime refinement.
This release preserves full raw document metadata in the normalized integration model, adds optional semantic alias mapping for host metadata, and exposes document metadata through the viewer instead of keeping it buried inside the incoming payload. The result is a better foundation for metadata-aware UI, printing, support, and future integrations without hardcoding deployment-specific assumptions into the viewer core.
The release also introduces new metadata tools in the UI. Document metadata can now be opened from page and thumbnail context menus, and a metadata matrix view can present metadata for all documents in the current session in one table. These new overlays follow the existing dialog/overlay model, including consistent Escape-to-close behavior.
The toolbar/help area has also been expanded. The help entry point is now menu-based, with separate manual and about views. The application version is visible in the UI, and the manual can be provided as site-local HTML files that survive upgrades without requiring a rebuild of the application package.
v1.6.0 also reintroduces theme support in a more controlled form. The viewer now supports explicit Normal, Light, and Dark modes, persists an actively selected theme, and falls back to system/browser preference when no explicit choice has been made. Theme token coverage has also been broadened so dialogs and controls behave more consistently across themes.
In addition, this release includes several maintainability and usability refinements around metadata labeling/fallback behavior, viewer preferences, context-menu flows, and configuration/documentation alignment.
Recommended for all new deployments. v1.5.0 remains supported, but upgrading to v1.6.0 is recommended.
OpenDocViewer v1.5.0
OpenDocViewer v1.5.0 is the consolidated production baseline that combines the latest supported viewer workflow with the current security/dependency baseline.
From a security perspective this release is the first one in the current line that combines the recommended dependency set (axios 1.15.0 and the corresponding resolved follow-redirects / dompurify updates in the lockfile) with the current runtime hardening around gated diagnostics, safer context-menu behavior inside the viewer, and version-aware language-resource loading.
From a functional/support perspective it also introduces the document-aware viewer model now present on main: portable-document grouping, selection-aware filtering, compare-aware modifier targeting, unified print-dialog flow, configurable large-print preparation notices, persisted language preferences, and synchronized runtime/sample configuration coverage.
OpenDocViewer v1.4.1
OpenDocViewer v1.4.1 is a targeted patch release focused on maintenance and release hygiene.
This release updates the development/build toolchain to remediate current Vite security advisories, keeps the existing runtime behavior intact, improves release-script clarity around manual SECURITY.md updates and post-push verification, and adds small maintainability clarifications in worker-side rendering code where GitHub AI previously raised low-confidence suggestions.
OpenDocViewer v1.4.0
OpenDocViewer v1.4.0 improves hybrid document loading throughput, rendered-page reuse, viewer stability during held navigation, diagnostics behavior, and loading-time print behavior.
This release keeps the hybrid loader architecture but now reuses full rendered page assets for thumbnails by default while memory pressure allows it, increases the resident full-page cache target for performance-oriented runs, and speeds background warm-up by dispatching batches concurrently through the worker/main render schedulers instead of serializing every asset request. It also keeps performance-overlay counters updating after the initial load completes while still stopping the load-duration timer, disables overlay-specific polling entirely when the overlay is not enabled, simplifies the print dialog to an active-page-only mode while page discovery is still in progress so the UI no longer appears to reset itself mid-load, and hardens Page Up, Page Down, Arrow Up, and Arrow Down repeat navigation so long key-holds behave like the stable toolbar press-and-hold path.
OpenDocViewer v1.3.1
OpenDocViewer v1.3.1 hardens the viewer after v1.3.0 with a focus on rendered page asset reliability, safer cleanup behavior, and more predictable zoom handling.
This release fixes cases where stale object URLs could cause rendered page images to fail in longer mixed-document sessions, makes single-page raster cleanup more conservative so original data is only released after verified full-asset persistence, and stabilizes Fit to Screen, Fit to Width, and Actual Size against the exact pane viewport in Edge and Chrome.
OpenDocViewer v1.3.0
OpenDocViewer v1.3.0 improves overall stability in the document loading and rendering pipeline, with a strong focus on making the viewer behave more predictably across larger and more varied document sets.
This release consolidates the work done after v1.2.0 into a more stable baseline, especially around source loading, rendered page asset handling, thumbnail behavior, temporary storage, and memory-related defaults. The result is a viewer that is more reliable in practical use while still preserving the performance and memory improvements that were safe to keep.
The release also improves configuration clarity by expanding the site-level sample configuration, and updates documentation to better reflect the current runtime behavior and supported deployment model.
OpenDocViewer v1.2.0
OpenDocViewer v1.2.0 improves keyboard shortcut reliability and removes focus-dependent viewer command handling.
This release changes shortcut routing so viewer commands continue to work when focus is on toolbar buttons or other non-editable UI elements. Shortcuts are now suppressed only in interactive editing contexts such as text inputs, selects, contenteditable regions, and modal dialogs. It also removes the previous focus warning/button that was required to restore viewer keyboard control.
OpenDocViewer v1.1.0
OpenDocViewer v1.1.0 improves print integration, keyboard usability, and document loading feedback.
This release adds configurable handling for Ctrl/Cmd+P, introduces a dedicated print shortcut on 0, fixes an issue where shortcut 6 could override numeric input in toolbar fields, and makes ongoing page loading more visible in the navigation UI. It also updates SECURITY.md and refines runtime configuration examples to better reflect the current application behavior.