Changelog
Every release of React PDF Viewer, newest first, with new features, fixes and breaking changes.
Releases follow the versioning policy and are generated from changesets. Subscribe to the RSS feed to hear about new releases.
1.0.1 (2026-10-19)
Patch Changes
- Publish from GitHub Actions with provenance. The library’s code and API are unchanged.
1.0.0 (2026-10-19)
First stable release of PdfViewer, an accessible, themeable React PDF viewer built on pdfjs-dist. From this release on, the public API (components, hooks, props, PdfViewerApi, labels, CSS classes and CSS variables) follows semantic versioning.
- Loads URLs,
URLobjects,ArrayBuffer,Uint8Array,BlobandFilesources, with customfetchoptions, a replaceable fetcher, HTTP error hooks and typedPdfViewerErrors with retry. See Document sources. - Controlled or uncontrolled page, scale, rotation and fullscreen (
x/defaultX/onXChange), plus an imperativePdfViewerApithroughref. See Controlled state. - Cancellable, HiDPI, pixel-capped rendering that respects each page’s intrinsic rotation. Memory stays flat in long documents: pages and thumbnails far from view release their canvases and cached page resources. See Rendering.
- A single-row responsive toolbar that collapses actions into a “More actions” menu, keyboard shortcuts, WAI-ARIA toolbar and menu semantics, and native, overlay or controlled fullscreen.
- Download, and printing through a hidden frame with every page on a sheet of its own size, or
printMode="open-url"to hand the document to the browser’s own viewer. See Print. - Opt-in features: continuous layout, thumbnails, text layer, links, search, page-number input, zoom presets and reset, fit modes, Ctrl/⌘ + wheel zoom and a password prompt. See Features.
- Label overrides with locale-aware number formatting, 50+ CSS variables and dark / auto presets. See Customization.
- Headless building blocks:
usePdfDocument,PdfPageCanvas,PdfToolbaranduseControllableState. See Headless. - Secure by default:
isEvalSupported: false, apdfjs-distpeer range that excludes CVE-2024-4367, external links opened withrel="noopener noreferrer", no script injection, and SSR-safe rendering. See Security.