Skip to main content

0.13.3

Improvements

  • Added an interface to set the author of annotations on viewer load.
    • initMuPDFWebViewer(/* ... */, { author: '-' });

Bug Fixes

  • Fixed an issue where clicking a page could trigger the textSelectionChange event unexpectedly.
    • Now triggers only when an existing text selection is cleared by a click.
  • Fixed an issue where replies could not be added to already-saved annotations.
  • Fixed an issue where adding a text box without strokeWidth via the Frontend API caused text to overflow outside the border.

0.13.2

Bug Fixes

Fixed an issue where the text.locateSource() API did not work.

0.13.1

Do not use - please use version 0.13.2 or later.

Bug Fixes

  • Fixed an issue where the viewer failed to work due to missing library files.

0.13.0

Do not use - please use version 0.13.2 or later.

New Features

  • Added text.locateSource() API to locate the source of text cited by the LLM in a document.
  • Added title support for custom buttons created via the Frontend API.
    • viewer.addButton() - title

Improvements

  • Improved Frontend API unhighlight() to support the mode: 'all' option.
  • Improved highlight color visibility when selecting search results in the Redaction panel.
  • Improved the Frontend API to ensure calls made before a document is opened are still executed.

Bug Fixes

  • Fixed an issue where an incorrect error message was shown when an invalid rect value was passed via the Frontend API.
  • Fixed an issue where highlights were rendered in the wrong position when using the keywords property of viewer.highlight().
  • Fixed an issue where calling text.getSelected() after selecting text across multiple paragraphs caused an error.

ETC

  • Applied CSP (Content Security Policy) and removed internal inline scripts so deployments no longer need unsafe-inline in script-src.

0.12.1

Bug Fixes

  • Fixed an issue where the viewer failed to initialize when libraryPath was not specified.
    • Expected behavior: loads assets from the CDN

0.12.0

New Features

  • Added API support to hide the Redact button in the top toolbar.
    • viewer.setViewVisibility() - refs.TOOLBAR_REDACTION
  • Added API support to hide Sticky Note button in the top Annotate toolbar.
    • viewer.setViewVisibility() - refs.ANNOTATION_TEXT_POPUP

Improvements

  • Improved Thumbnails panel UI responsiveness based on panel size.
  • Clarified the loading state when no document is loaded, and added messages for timeouts and end-of-document to improve UX.

Bug Fixes

  • Fixed an issue where the selected redaction in the Redaction panel was deselected when creating a new redaction.

0.11.0

Improvements

  • Disabled license verification on localhost. (127.0.0.1, localhost, *.test)
    • Eliminates unnecessary network I/O during local development to reduce startup latency and improve developer experience.
  • Improved logging and error handling during viewer initialization.

0.10.0

Breaking Changes

  • Changed to load assets from the CDN server when calling initMuPDFWebViewer() without libraryPath.

New Features

  • Added an API to configure the text selection menu.
  • Implemented the ability to hide the Redaction panel’s Apply button via Frontend API.
    • viewer.setViewVisibility() - refs.SIDE_VIEW_REDACTION_APPLY
  • Added removeEventListener() to remove event listeners.

Improvements

  • Improved the document page outline with shadows.
  • Improved panel animation behavior in mobile responsive layouts.
    • Left panel slides from left to right.
    • Right panel slides from right to left.

Bug Fixes

  • Fixed an issue where specifying an unsaved annotation with Frontend API viewer.scrollTo() duplicating the annotation.
  • Fixed a memory issue causing document.export() to fail when exporting large documents.
  • Fixed an issue where replying to an annotation created a text annotation.
  • Fixed a calculation error that occurred when the page range and scroll range did not overlap.
  • Fixed issues where annotation opacity was applied twice.
    • Fixed an issue where opacity was applied twice to the AP (appearance) of text markup annotations.
    • Fixed an issue where opacity was applied twice when selecting an annotation.
    • Fixed an issue where editing a text markup annotation with opacity less than 1 applied opacity twice.

ETC

  • Added a title attribute to the iframe wrapping the viewer to improve accessibility.
  • Removed a name attribute to the iframe wrapping the viewer.

0.9.1

ETC

  • Added a name attribute to the iframe wrapping the viewer to improve accessibility.

0.9.0

New Features

  • Added a capture.selectAndExport() API for region selection and export.

Bug Fixes

  • Fixed an issue where text.search() results > words > rects were returned using the previous coordinate system.

ETC

  • Removed duplicated, unnecessary font files from the library.

0.8.1

Improvements

  • Improved error messages when rect parameter is invalid during API usage.

Bug Fixes

  • Fixed issue where memo annotations could not be controlled through Frontend API.
  • Fixed issue where redaction did not work when drawing, saving, or applying (occurred since v0.8.0).
  • Fixed issue where annotation creation via API failed when rect was missing (rect is optional for highlight annotations, etc.).
  • Fixed issue where link annotations were not being extracted.

0.8.0

Breaking Changes

  • Coordinate system in API parameters and return values have been changed from user space to device space.
    • Origin coordinates have been moved from bottom-left to top-left.
    • Origin is now unaffected by rotation values.
    • Affected APIs and events:
      • viewer.scrollTo()
      • viewer.highlight()
      • text.search()
      • annotation.get()
      • annotation.add()
      • annotation.set()
      • redaction.get()
      • redaction.set()
      • redaction.add()
      • annotationCreate
      • annotationModify
      • annotationRemove
      • redactionCreate
      • redactionModify
      • redactionRemove
      • annotationSelectionChange
  • Removed the rect property from text.getSelected() API.
  • Removed customContextMenuExecute event type.

New Features

  • Added viewer.defineRightClickAction() API for defining a right-click action on the content area.
  • Added rects, pageIndex property to text.getSelected() API.
    • rects property returns an array of TRect that contains the selected text.
    • pageIndex property returns the page index of the selected text.

Improvements

  • Updated to MuPDF.js v1.26.5.

Bug Fixes

  • Fixed overlapping text issue when viewing documents containing CJK fonts.
  • Fixed an issue where the withoutLoader parameter was not applied when opening a document using document.open().
  • Fixed an issue where annotation.get() did not work when pageIndex was not specified.
  • Fixed an issue where two lines were extracted as one line.

0.7.2

Bug Fixes

  • Fixed pages wrapper removal from PageInfo interface.
  • Fixed issue with not being able to select text with height 0.

0.7.1

Bug Fixes

  • Fixed an issue where the viewer works in viewing-mode when the standalone parameter was set to true. (Issue introduced in v0.6.0)

0.7.0

New Features

  • Enhanced text.getSelected() API to include rect property in return value.
    • Now returns both selected text content and DOMRect positioning information.
  • Added viewer.openContextMenu() API for programmatically opening context menus.
  • Added TEXT_SELECTION_CHANGE event type to the event system.
    • Allows listening for text selection changes within the document viewer.

0.6.0

New Features

  • Added free license support for viewing-only functionality with feature restrictions.
    • Free licenses are available starting from v0.6.0 with limited features.
    • Free license keys are not compatible with versions below 0.6.0.
  • Added REDACTION and REDACTION_SEARCHING panel types to viewer.togglePanel() API.
  • Added comprehensive redaction CRUD API operations:
    • redaction.get() - Retrieve redactions.
    • redaction.add() - Add new redactions.
    • redaction.set() - Update existing redactions.
    • redaction.remove() - Remove redactions.
    • redaction.apply() - Apply redactions.
  • Added annotation.set() method for updating existing annotations.

0.5.0

New Features

  • Added text.getSelected() to get selected text.
  • Added the ability to apply current properties as default in the annotation properties panel.
  • Enhanced addEventListener() functionality with comprehensive event system.
    • Added EventType enum with support for 25+ event types.
    • Added EventDataMap interface for type-safe event data handling.
    • Events now include scale changes, annotation operations, user interactions, and more.
  • Added the following redaction-related features:
    • Display borders for completed redaction areas.
    • Show overlay text.
    • Full redaction preview.

Improvements

  • Improved support for loading multiple viewer instances.
  • Optimized static image loading using NgOptimizedImage.
  • Standardized feature terminology to the official term “redaction”.
    • Changed “redacting” to “redaction” throughout the interface.

Bug Fixes

  • Fixed typos and removed unnecessary code throughout the project.

0.4.0

New Features

  • Added embedded key validation.
    • If standalone parameter is set to true, the viewer will validate the key on the client side.
  • Added viewer.defineAnnotSelectMenu() to customize annotation selection menus.
  • Added document.open() to open a document.
  • Added addEventListener() to listen for events.
  • Added keywords parameter to API viewer.highlight().
    • When search terms are passed to the keywords parameter, highlight effects are generated on the searched text.

Improvements

  • Improved UI/UX for Redact panel.
    • Restricted the ability to specify transparent color for redaction applied areas.
    • Improved so that the entire text search results are highlighted in the document.
    • Changed the existing pagination to navigation functionality so that text search results can be checked one by one.
    • Enhanced visibility of keywords within text search results.

0.3.0

Breaking Changes

  • UI
    • Moved the floating navigation menus from the bottom of the screen to the center of the toolbar.
    • Changed the design of the quick search modal.

Improvements

  • Changed the font to Inter.
  • Changed the assets to be loaded lazily.

Bug Fixes

  • Fixed an issue where the author of a note annotation was cut off when it was too long.
  • Fixed an issue where the document panel buttons did not work on mobile screens.

0.2.0

New Features

  • Added API viewer.defineDocumentPanel() to customize document panels.
  • Added document panel menus.
    • Bookmark panel.
    • Markups panel.
  • Added external variable refs for API calls.

Improvements

  • Improved to parse document name from uri parameter when opening a document without a name.

Bug Fixes

  • Fixed the following issues in viewer.setViewVisibility():
    • Issue where the left side of the toolbar could not be hidden.
    • Issue where the separator remained even when all file menus on the right side of the toolbar were hidden.

0.1.1

Breaking Changes

  • API
    • Removed viewer.toggleMenu

Improvements

  • API
    • Modified viewer.setLogo to maintain the aspect ratio of the added logo.
    • Added error message for key validation failure in localhost environment.
  • Reduced bundle size.

Bug Fixes

  • Fixed an issue where the default reading direction was incorrectly set from right to left in two-page view.
  • API
    • Fixed a bug that “view” parameter of viewer.setViewVisibility does not work.
    • Fixed an issue where some styles were not applied during loading due to missing viewer theme configuration logic.
    • Fixed the following issues that occurred when using annotation.add() and annotation.remove():
      • Fixed an issue where the API did not terminate when the annotations parameter was an empty array.
      • Fixed an issue where an error occurred when color values were entered in uppercase.

0.1.0

Improvements

  • Improve the handling of errors that occur when passing invalid parameters to initialize the viewer.
  • Editing the author of a note annotation is now triggered by a single click instead of a double click.

0.1.0-alpha.2

Breaking Changes

  • UI
    • Remove the “Bookmark” panel.
    • Remove the page indicator on bottom-left of the screen.
  • API
    • document.getBookmarks is removed.
    • document.setBookmarks is removed.
    • ‘BOOKMARK’ type in viewer.openSideView is removed.
    • ‘BOOKMARK’ type in viewer.togglePanel is removed.

New Features

  • Add the “Redact” tool.
  • Add the feature that allows you to select annotations by dragging.

Improvements

  • Change the threshold for the top toolbar’s right menu to be merged into the more menu from 575px to 767px.
  • Change that the top toolbar’s tool menu is merged into the more menu when the screen size is less than 767px.