# Changelog

Every release of React PDF Viewer, newest first, with new features, fixes and breaking changes.

Releases follow the [versioning policy](https://react-pdf-viewer-chi.vercel.app/react-pdf-viewer/getting-started/versions/#versioning-policy) and are generated from changesets. Subscribe to the [RSS feed](https://react-pdf-viewer-chi.vercel.app/react-pdf-viewer/discover-more/changelog/rss.xml) 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, `URL` objects, `ArrayBuffer`, `Uint8Array`, `Blob` and `File` sources, with custom `fetch` options, a replaceable fetcher, HTTP error hooks and typed `PdfViewerError`s with retry. See [Document sources](https://react-pdf-viewer-chi.vercel.app/react-pdf-viewer/document-sources/).
- Controlled or uncontrolled page, scale, rotation and fullscreen (`x` / `defaultX` / `onXChange`), plus an imperative `PdfViewerApi` through `ref`. See [Controlled state](https://react-pdf-viewer-chi.vercel.app/react-pdf-viewer/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](https://react-pdf-viewer-chi.vercel.app/react-pdf-viewer/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](https://react-pdf-viewer-chi.vercel.app/react-pdf-viewer/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](https://react-pdf-viewer-chi.vercel.app/react-pdf-viewer/all-features/).
- Label overrides with locale-aware number formatting, 50+ CSS variables and dark / auto presets. See [Customization](https://react-pdf-viewer-chi.vercel.app/react-pdf-viewer/customization/).
- Headless building blocks: `usePdfDocument`, `PdfPageCanvas`, `PdfToolbar` and `useControllableState`. See [Headless](https://react-pdf-viewer-chi.vercel.app/react-pdf-viewer/headless/).
- Secure by default: `isEvalSupported: false`, a `pdfjs-dist` peer range that excludes CVE-2024-4367, external links opened with `rel="noopener noreferrer"`, no script injection, and SSR-safe rendering. See [Security](https://react-pdf-viewer-chi.vercel.app/react-pdf-viewer/guides/security/).

## Related

- [Versions](https://react-pdf-viewer-chi.vercel.app/react-pdf-viewer/getting-started/versions/)
- [Migration](https://react-pdf-viewer-chi.vercel.app/react-pdf-viewer/migration/)
- [Roadmap](https://react-pdf-viewer-chi.vercel.app/react-pdf-viewer/discover-more/roadmap/)
