Back to home
// CHANGELOG

Shipped recently

Track updates and new features.

v1.4.0

React PDF Highlighter Plus v1.3.0

2026-07-04

Verso Design System

Every highlight type restyled on a shared token set

  • New light + dark color, radius, shadow, and typography tokens
  • Text, Area, Freetext, Image, Drawing, Shape, SignaturePad restyled
  • Color dropdowns, lucide icon set, rotate for image/drawing
PDF Export Overhaul

Exported PDFs now match what you see on screen

  • SVG image highlights are rasterized (previously silently dropped)
  • Rounded corners on Text/Area/Freetext/Image/Drawing exports
  • Per-type object-fit: images stretch to fill, drawings keep aspect
Transparent Signatures & Drawings

Ink-only rendering, matching shape highlights

  • No more white card behind a signature or freehand drawing
  • Signature/drawing now reads over the page like an arrow or box
Simpler Draw & Shape Tools

No more pre-draw configuration panel

  • Removed the color/width panel and on-canvas control bars
  • Draw or place a shape first, then adjust it from its own toolbar
  • Shapes commit on release; drawings commit when you finish; Escape cancels
Smoother Zoom

Fewer, coalesced re-rasters while wheel/pinch zooming

  • A notch train now commits once instead of on every notch
  • Eliminated a redundant second re-raster per zoom gesture
Highlight Duplication Fix

A same-page highlight no longer renders multiple times

  • Fixed a page-grouping bug that stacked overlapping copies
  • Previously made translucent highlights look solid/opaque
Technical Changes
  • Updated `react-pdf-highlighter-plus` from v1.2.0 to v1.3.0
  • Deduplicated page grouping in `group-highlights-by-page`
  • `exportPdf`: SVG rasterization, rounded-rect fills, per-type object-fit compositing
  • Removed `FloatingActions` pre-draw options panels and on-canvas Drawing/Shape control bars
  • Wheel-zoom: longer commit-coalescing delay, no-op guard, removed a redundant scale re-application
v1.3.0

React PDF Highlighter Plus v1.2.0

2026-06-29

Hue-Preserving Dark Mode

Pages recolor at render time (OKLab) instead of a CSS invert filter

  • Colors keep their hue; embedded photos keep their pixels
  • Configure via theme.darkModeColors { background, foreground }
  • Highlights stay readable; LeftPanel gains a mode prop
  • Scroll AND zoom preserved when toggling the theme
Citations

Turn any quote into a precise highlight with getTextPosition

  • Whitespace-insensitive matching with a fuzzy fallback
  • Paste an AI quote → jump + highlight the exact phrase
  • Citations panel with click-to-jump
Read Aloud (Text-to-Speech)

Speak the document and follow each sentence

  • Highlights + auto-scrolls to each sentence as it's read
  • Play / pause / seek / speed / voice transport
  • Pluggable TTS engine (browser voice now, cloud later)
Zoom, Smooth Scroll & Deep Linking

Pinch zoom, animated scroll, and ?page=N links

  • Pinch / ctrl(⌘)+wheel zoom, smooth via GPU transform
  • scrollToHighlight animates and respects reduced-motion
  • initialPage + onPageChange for deep links
Faster Loading & Stability

Progressive loading, caching, and render fixes

  • PdfLoader: range loading, auth headers, document cache
  • Fixed a React-root render warning + a memory leak
  • Less re-rendering while scrolling annotated documents
Technical Changes
  • Updated `react-pdf-highlighter-plus` from v1.1.4 to v1.2.0
  • Replaced `theme.darkModeInvertIntensity` with `theme.darkModeColors`
  • Added `getTextPosition`, `onZoomChange`, `initialPage`, `onPageChange`, `LeftPanel mode`
  • New demo: Citations panel + Read-aloud transport (built on `extractSentences` + `scrollToHighlight`)
v1.2.1

React PDF Highlighter Plus v1.1.4

2026-04-30

Package Update

Updated react-pdf-highlighter-plus to v1.1.4

  • Uses the package-provided PDF.js worker by default
  • Adopts the renamed dark mode intensity option
  • Passes copy text into text and area highlight toolbars
PDF Search

Added document search powered by the highlighter utilities

  • Search all PDF text from the viewer header
  • Navigate next and previous matches
  • Clear active search highlights
Technical Changes
  • Updated `react-pdf-highlighter-plus` from v1.1.3 to v1.1.4
  • Removed manual `pdfjs.GlobalWorkerOptions.workerSrc` setup
  • Added `PdfHighlighterUtils.search`, `findNext`, `findPrevious`, and `clearSearch` integration
v1.2.0

Guided Tour & Improved Discoverability

2026-01-10

Interactive Guided Tour

New onboarding experience powered by Driver.js

  • 5-step tour covering all main features
  • Click 'Guide' button in header to start anytime
  • Tour progress indicator
  • Themed popover matching app design
Help Button

Prominent 'Guide' button in the header toolbar

  • Easy access to feature tour
  • Primary color styling for visibility
  • Tooltip with description
FAB Pulse Animation

Visual indicator for first-time users

  • Pulsing ring animation on floating action button
  • Stops after first interaction
  • Persisted state in localStorage
FAB Opens by Default

Tools menu expanded on first visit for better discoverability

  • First-time users see all tools immediately
  • State remembered for returning users
  • Reduces confusion about the + button purpose
Cursor/Select Tool

New tool to exit annotation modes and return to normal cursor

  • Click to exit any active annotation mode
  • Shows as 'active' when no mode is selected
  • Solves confusion between arrow tool and cursor
Technical Changes
  • Added `driver.js` library for guided tours
  • Created `useTour` hook in `/app/hooks/useTour.ts`
  • Added `data-tour` attributes to key UI elements
  • Added Driver.js theme overrides in app.css
  • Restored FAB pulse animation with `animate-pulse-ring` class
  • FAB `isOpen` state now initialized from localStorage for first-time detection
  • Added `MousePointer2` cursor tool with `onExitAllModes` handler
v1.1.1

Package Update & Bug Fix

2026-01-04

Package Update

Updated react-pdf-highlighter-plus to v1.1.3

  • Fixed CSS import path (now uses dist/esm/style/style.css)
  • Improved package structure
Technical Changes
  • Updated `react-pdf-highlighter-plus` from v1.1.2 to v1.1.3
  • Fixed CSS import in root.tsx to use new path
v1.1.0

Left Panel & Theme Integration

2026-01-02

Left Panel

Added collapsible document panel with navigation features

  • Document Outline tab (table of contents navigation)
  • Page Thumbnails tab (visual page navigation)
  • Click-to-navigate functionality
  • Toggle button in header
PDF Viewer Theme Integration

Connected app theme to PDF viewer for consistent styling

  • Dark mode with PDF page inversion (0.87 intensity)
  • Custom scrollbar colors matching app theme
  • Container background synced with theme
Dual Panel Layout

New layout structure with panels on both sides

  • Left Panel (Document Outline & Pages) - toggle with left button
  • Right Sidebar (Highlights) - toggle with right button
useEffectiveTheme Hook

New hook to resolve "system" theme to actual light/dark mode

Technical Changes
  • Added `LeftPanel` component from react-pdf-highlighter-plus
  • Added `PdfHighlighterTheme` for PDF viewer theming
  • Added `leftPanelTheme` configuration matching shadcn/ui colors
  • Restructured PdfViewer layout with CSS order for proper rendering
  • Added viewer/linkService/eventBus integration for outline navigation
  • Created `/app/hooks/useEffectiveTheme.ts`
v1.0.0

Initial Release

Initial Release

Core Features

Complete PDF annotation toolkit

  • Text highlighting with comments
  • Area selection (Alt + drag)
  • Freetext sticky notes
  • Image & signature embedding
  • Freehand drawing
  • Shape annotations (rectangle, circle, arrow)
  • PDF export with annotations
Theming

Comprehensive theme support

  • Dark/Light mode toggle
  • System theme detection
  • 6 color themes: Blue, Orange, Yellow, Green, Purple, Rose
Persistence

Data storage and management

  • LocalStorage persistence for annotations
  • Zustand state management