Skip to content
- Improve on zoom in and out for a smoother experience on desktop and mobile devices
- Add support for wrapped scrolling
- Explore on the annotation plugin development
- ⚡ Enhancements:
- Improved accessibility on
- Autocomplete attribute such as the password input field
- Support adjustable text spacing via CSS
- Lang attributes to support screen readers
- 🐛 Bug Fixes:
- Fixed the page number input not handling correctly for when entering a
0
- Fixed the incorrect page navigation when selecting from the Thumbnail panel under the Dual Page with cover mode
- ✨ What’s New:
- Added pollyfills to fill in gaps of certain functions to render React PDF Kit in older browsers. Additionally, you can pair the polyfills with the legacy PDF.js worker for wider support. Here is the Override the PDF.js Worker guide.
- ✨ What’s New:
- Added support for exporting all icons in the React PDF Viewer component
- ⚡ Enhancements:
- Improved accessibility on
- Input labels
- Keyword navigation sequence
- ✨ What’s New:
- Added
withCredentials and httpHeaders prop in RPProvider to provide standard authentication protocol for PDF files
- Added additional CSS styling support for overriding spaces between pages
- ⚡ Enhancements:
- Improved accessibility on
- Semantic landmarks such as header, main and nav
- Error state with
aria-invalid and error descriptions
- Animation controls
- ✨ What’s New:
- Added
useElementThumbnailContext to support inserting of elements such as checkbox or a shape on a specific page in the thumbnail
- Added
scrollBehavior prop in RPProvider to disable smooth scrolling globally
- 🐛 Bug Fixes:
- Fixed the
goToPage function of usePaginationContext not always navigating to the target page correctly
- ✨ What’s New:
- Added
useScrollModeContext to support selection of scroll modes (i.e. page scrolling, vertical scrolling and horziontal scrolling)
- Added supporting function to disable smooth scrolling when using
goToPage
- ⚡ Enhancements:
- Improved on handling of
onLoadError for invalid PDF files or when a browser is not supported
- ✨ What’s New:
- Added
useSelectionModeContext to support switching of text selection tool mode or hand tool mode
- Added support for license validation of
http connection
- ⚡ Enhancements:
- Improved on the scaling of white-space within the thumbnail panel for mobile responsive
- Improved on the title’s white-space of the Document properties modal for compactness
- 🐛 Bug Fixes:
- Fixed the
initialPage prop flashing the first page before showing the targeted page
- ✨ What’s New:
- Added support for Custom License which can validate all domains with a single license key
- Added support for
wasmUrl props to open JPEG 2000 files
- Added support for enabling or disabling of the drag and drop file zone via the
dropFileZone prop in RPLayout
- ✨ What’s New:
- Added support for the icon customization of fields inside the individual tools via the
icons prop of RPHorizontalBar and RPVerticalBar components
- ⚡ Enhancements:
- Improved on the accessible navigation of the search popover
- 🐛 Bug Fixes:
- Fixed console error when the Document Properties modal is displayed
- 🐛 Bug Fixes:
- Fixed the
highlightMatches function of useHighlightContext returning more rects than it should
- Fixed the print preview function not working correctly on Firefox
- ✨ What’s New:
- Release the React PDF Kit (previously React PDF) library in a new NPM, @react-pdf-kit/viewer
- Changed the default version of pdfjs-dist (peer dependency) from
4.10.38 to 5.4.530
- ⚡ Enhancements:
- Improved on functions of
useHighlightContext, useFullScreenContext, useLocalizationContext, usePrintContext and useZoomContext into memoized functions (if not already) to support callback
- ✨ What’s New:
- Added
RPButton and RPTooltip components for toolbar styling flexibility
- Added German localization to the React PDF Viewer component
- 🐛 Bug Fixes:
- Fixed the
ThumbnailTool not working correctly when moved to the top bar
- ✨ What’s New:
- Added
onTextSelect prop in the RPProvider component to support text selection callback
- Added
FirstPageTool andLastPageTool as individual tools within the RPLayout component for customization flexibility
- ⚡ Enhancements:
- Improved on multi-line highlights rendering support for the
highlightMatches function of useHighlightContext
- ✨ What’s New:
- Added Dual page with cover feature as one of the page viewing options
- Added
PageScrollingTool, VerticalScrollingTool and HorizontalScrollingTool as individual tools within the RPLayout component for customization flexibility
- ⚡ Enhancements:
- Improved on accessibility by adding skip navigation, main landmark and aria-labels, roles, values to all controls
- 🐛 Bug Fixes:
- Fixed the page layout shift when toggling the thumbnail bar
- 🐛 Bug Fixes:
- Fixed the sticky note of an annotation element not showing datetime
- Fixed the styling of
hiddenCanvasElement does not work as expected
- ✨ What’s New:
- Added
SinglePageTool and DualPageTool as individual tools within the RPLayout component for customization flexibility
- ⚡ Enhancements:
- Improved internal link selection when zooming in or out
- Improved code readability with refactoring
- ✨ What’s New:
- Added an
interactiveForm prop to allow read-only mode for PDF forms
- Added support for linearized PDF files
- Added automatic cancellation for loading of the current PDF file when switched to view a new PDF file
- ⚡ Enhancements:
- Improved copying of text across two lines in the React PDF Viewer component so that words are not stuck together
- ✨ What’s New:
- Added
SelectionModeSwitcherTool as an individual tool within the RPLayout component
- Added a
PrintOptions interface for usePrintContext to show or hide the default progress modal of React PDF
- ⚡ Enhancements:
- Optimized the library size with the removal of an unused dependency (
@tanstack/react-query)
- Improved on usability of
useSearchContext by adding setCurrentMatchPosition and removing setCurrentMatchElement and currentMatchElement functions
- 🐛 Bug Fixes:
- Fixed the
updateElement function of useElementPageContext not working correctly on the last page
- 🐛 Bug Fixes:
- Fixed the print function showing empty pages on even number pages
- 🐛 Bug Fixes:
- Fixed
RectPosition interface which is used in useHighlightContext and useSearchContext hooks not working correctly
- ✨ What’s New:
- Added
initialSelectionMode prop to allow setting of hand tool as the default selection mode
- 🐛 Bug Fixes:
- Fixed
ZoomOutTool not working correctly in React PDF
- ✨ What’s New:
- Added Pages Router support for Next.js
- Added
onLoadProgress, onPageChange, onRotate and onScroll props in the RPProvider component
- Added
scrollToElement function in useElementPageContext
- ✨ What’s New:
- Removed embdded
Inter font from the library so that the font displayed is based on the parent application
- ⚡ Enhancements:
- Improved on Interface support by exposing
TextHighlight, MatchHighlight, ThemeSwitcherIcons, ThemeSwitcherToolProps, ToolProps, ToolbarSection and ToolbarProps
- Improved on text highlight with keywords
- 🐛 Bug Fixes:
- Fixed page jump not working correctly when the Viewer’s zoome level is set to
Page Width
- Fixed search highlight not working correctly with page jump
- Fixed
clear function of useHighlightContext not working correctly
- ✨ What’s New:
- Added more individual tools of
DocumentPropertiesTool, RotateClockwiseTool and RotateCounterclockwiseTool to the RPLayout component
- ⚡ Enhancements:
- Improved on overriding the loader icon for the loading of both PDF file and its pages
- Improved on text selection when trying to select to the end of a paragraph
- 🐛 Bug Fixes:
- Fixed page number not counting correctly for a PDF file with mixture of portrait and landscape pages
- Fixed
focusedPage not working correctly for ZoomLevel.PAGE_WIDTH mode
- ⚡ Enhancements:
- Improved on text selection highlight when moving between the text lines
- Improved on the thumbnail navigation to allow sidebar expansion with dragging
- Improved on error handling of unsupported browser versions
- 🐛 Bug Fixes:
- Fixed
useFullScreenContext not working correctly when used under RPProvider directly
- Fixed on the last page function not working incorrectly
- Fixed
setZoomLevel of useZoomContext not working correctly
- ⚡ Enhancements:
- Improved on
setZoomLevel for useZoomContext to accept both number and enum
- Improved on the viewer responsive experience of PDF files for Actual Size, Page Fit and Page Width options
- 🐛 Bug Fixes:
- Fixed keywords not showing the search popover for
SetSearch of useSearchContext
- Fixed keywords not showing the search popover for
initialSearch
- ✨ What’s New:
- Added
RPLayout component to support default layout that is highly customizable with 13 built-in tools
- Added
RPHorizontalBar component as a separated built-in top bar
- Added
RPVerticalBar component as a separated built-in sidebar
- ⚡ Enhancements:
- Expand the page number input box to support 4 digits
- 🐛 Bug Fixes:
- Fixed the page number not changing when scrolling vertically or horizontally quickly
- ⚡ Enhancements:
- Improved on loading and rendering of PDF files, including page jumping
- 🐛 Bug Fixes:
- Fixed the dual page display issue when in page scrolling mode
- ⚡ Enhancements:
- Improved on license validation to allow the watermark version to access organization features
- 🐛 Bug Fixes:
- Fixed the function to hide the search menu
- ⚡ Enhancements:
- Improved on React version support for React 19
- ⚡ What’s New:
- Added
useElementPageContext to support inserting of elements such as a bounding box or a shape
- Added
usePageRotateContext to support a specific page rotation
- 🐛 Bug Fixes:
- Fixed incorrect Chinese localization tooltips for zoom in and zoom out
- ⚡ Enhancements:
- Improved on CSS styling of the tooltip modal radius by using that of the global radius variables
- Improved navigation experience of zoom level selection and menu under
More Options
- 🐛 Bug Fixes:
- Fixed the functions of
useSearchContext and useHighlightContext not working correctly when used together
- Fixed the functions of
useSearchContext not working without RPDefaultLayout
- ⚡ Enhancements:
- Improved mobile viewing experience for
More Options with ability to scroll
- 🐛 Bug Fixes:
- Fixed the incorrect page orientation of a PDF file
- Fixed the incorrect transformation of counterclockwise icon
- ⚡ Enhancements:
- Improved on tooltip support for Single page and Dual page
- Improved on localization support for password modal, Single Page and Dual Page
- ⚡ Enhancements:
- Improved on border radius control by separating customization of border radius for buttons from other UI elements
- Improved on tooltip style customization such as font size, padding and border radius
- Improved on CSS styling support for TypeScript projects by exporting
ThemeVariables Enum
- 🐛 Bug Fixes:
- Fixed PDF loading issue when a
Text Callout annotation is clicked
- ✨ What’s New:
- Added support for Dual View
- ⚡ Enhancements:
- Improved on reloading of a password-protected PDF file when an incorrect password is submitted
- 🐛 Bug Fixes:
- Fixed the displaying of a PDF file with portrait and landscape pages
- 🐛 Bug Fixes:
- Fixed
ZoomLevel.PAGE_FIT and ZoomLevel.PAGE_WIDTH calculations for certain screen resolutions
- Fixed show/hide toolbar not working as expected
- ✨ What’s New:
- Added support for a password-protected PDF file to be opened in React PDF
- Added “Pinch-to-zoom” support for mobile view
- ⚡ Enhancements:
- Improved on highlighting of text selection with hyperlinks and for a paragraph
- Improved on mobile responsiveness of the search popover
- 🐛 Bug Fixes:
- Fixed the
Last Page function for the horizontal scrolling mode
- Fixed and prevented
TextHighlightLayer of useHiglightContext from rendering text inside the element
- 🐛 Bug Fixes:
- Fixed
sendWithPromise error when a PDF src is changed in a Next.js project
- Fixed URL of the Manage License page not showing in the console message
- ✨ What’s New:
- Added support to modify download filename
- Added
onLayoutWidthChange prop in RPDefaultLayout to detect for mobile layout change
- ⚡ Enhancements:
- Improved on page changing experience by adding a smooth transition
- Updated the default version of
pdfjs-dist (peer dependency) from 4.7.76 to 4.10.38
- Improved on the loading performance of opening or switching to a new PDF file
- 🐛 Bug Fixes:
- Fixed loading icon size in the search popover
- ⚡ Enhancements:
- Improved on the performance of reusable React PDF component
- 🐛 Bug Fixes:
- Fixed
pdfjs-dist version mismatch
- ⚡ Enhancements:
- Improved on customization of search popover with a CSS variable to control checkbox background
- 🐛 Bug Fixes:
- Fixed
-rp-primary-color and --rp-sidebar-width CSS variables so that they work as intended
- Fixed
customVariables not applying to dark mode when customDarkVariables is not set to those CSS variables
- Fixed overriding of CSS variables, namely
--rp-border-radius, --rp-checkbox-border-radius and --rp-checkbox-border-color
- ✨ What’s New:
- Added support of keyword highlights of different color programmatically
- Added a prop to hide the sidebar easily
- Added support to customize loader and loader progress, including style and image
- ⚡ Enhancements:
- Improved on page viewing experience when zooming in or out
- 🐛 Bug Fixes:
- Fixed incorrect URL of the Manage License page in the console message
- ✨ What’s New:
- Added support for XFA & AcroForm layers, allowing users to view and interact with PDF documents containing forms
- ⚡ Enhancements:
- Improved on the text selection accuracy in a PDF document
- 🐛 Bug Fixes:
- Fixed page layout and zoom scale not rendering correctly when changing a PDF document
- Fixed the translations for the thumbnail icon’s tooltip
- ✨ What’s New:
- Added 5 built-in translations to React PDF, including a function to add a custom language
- Added CSS styling supports for document loader, print progress loader and search popover
- ⚡ Enhancements:
- Improved on the accessibility of search popover, disabled buttons and input boxes
- 🐛 Bug Fixes:
- Fixed the download file function
- ⚡ Enhancements:
- Improved on setting the height of React PDF’s container in relative terms (e.g.
initial, 100%, inherit and auto)
- ✨ What’s New:
- Added a loader to the React PDF’s container
- ⚡ Enhancements:
- Improved on the PDF viewing experience when changing scrolling modes
- Improved on the mobile responsive layout
- 🐛 Bug Fixes:
- Fixed search match to display correctly
- Fixed the hand mode’s user experience when changing PDF files
- ⚡ Enhancements:
- Moved
mobileWidth prop to the RPDefaultLayout component
- 🐛 Bug Fixes:
- Fixed exporting of the library’s interfaces
- 🚀 Launched the first stable release of React PDF
- ⚡ Enhancements:
- Added data attributes to important elements for ease of UI customization
- 🐛 Bug Fixes:
- Fixed the initial zoom setting of the PDF document when the viewer is first loaded
- Fixed the toolbar not being mobile responsive
- ✨ What’s New:
- Added Hooks for relevant toolbar functions for ease of customization
- ⚡ Enhancements:
- Added
RPProvider component for readability and flexibility
- ✨ What’s New:
- Added page navigation to move back and forth across pages
- Added ‘pinch to zoom’ function on a PDF document in a desktop view
- ⚡ Enhancements:
- Added
RPProvider component for readability and flexibility
- ✨ What’s New:
- Added scrolling modes (page, vertical and horizontal)
- ⚡ Enhancements:
- Renamed
RPViewer component to RPPages component for better readability
- Renamed
RPLayout component to RPDefaultLayout component for better readability
- ✨ What’s New:
- Added print function to print the PDF document
- Added selection mode (text or hand)
- Added setting of initial PDF page displayed when the viewer is first loaded
- Added setting of initial rotation and zoom of the PDF document when the viewer is first loaded
- Added tooltips on each icon on the toolbar
- 🐛 Bug Fixes:
- Fixed clicking of a Table of Content links in a PDF document not working
- ✨ What’s New:
- Added page rotation to rotate page clockwise/anti-clockwise
- Added search function to search by keywords (default, match case or whole word) in a PDF document
- Added download function to download the PDF file
- Added page zoom function to zoom in/out
- Added page loader when a page in the PDF document is still loading
- Added mobile responsive layout and breakpoint
- Added ability to open a file from local device directly in PDF viewer
- Added theme function to switch between light and dark themes