Skip to content

Releases: mozilla/pdf.js

v5.4.296

05 Oct 17:01
f56dc86
Compare
Choose a tag to compare

This release contains improvements for annotations, the annotation editor, font conversion, text selection and the viewer.

Changes since v5.4.149

  • Bump the stable version in pdfjs.config by @timvandermeij in #20215
  • Update dependencies and translations to the most recent versions by @timvandermeij in #20216
  • Add a function changeLightness in order to change the lightness of a RGB color by @calixteman in #20204
  • [Editor] Hide the comment sidebar on document change by @timvandermeij in #20220
  • [Editor] Add editors with a comment in the sidebar by @calixteman in #20217
  • [Editor] Make scrollable the area containing the comments in the sidebar by @calixteman in #20222
  • [Editor] Use the color of the annotation for the background of the comment button by @calixteman in #20221
  • [Editor] Don't save the image when updating a stamp annotation by @calixteman in #20233
  • Add a new function renderRichText to be used in the annotation layer by @calixteman in #20231
  • Fix the rendering of XFA rich text in popup annotations by @timvandermeij in #20238
  • Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #20242
  • Bump actions/setup-node from 4 to 5 by @dependabot[bot] in #20243
  • Improve the integration test code by @timvandermeij in #20172
  • [Editor] Fix saving a deleted popup by @calixteman in #20244
  • [Editor] Add the dates and rich text if any to the editors in order to use them when displaying the popup by @calixteman in #20245
  • Unskip the must check that date entered by the user is consistent scripting integration test for Firefox by @timvandermeij in #20239
  • [Editor] Make sure the comment button is at the right place when adding it in the toolbar by @calixteman in #20248
  • [Editor] When clicking on a comment in the sidebar, wait for the annotation editor layer to be rendered by @calixteman in #20247
  • Reduce background canvas resolution by @nicolo-ribaudo in #20255
  • Add an option in scrollIntoView and goToXY in order to be able to center vertically or horizontally the point XY in the viewer container by @calixteman in #20253
  • [Editor] Don't throw when switching to editing mode before an annotation editor layer is rendered by @calixteman in #20259
  • [Editor] Cleanup the pages not being fully rendered before switching to editing mode by @calixteman in #20258
  • Make sure that a good constrast ratio is respected when darkening/lightening a color by @calixteman in #20240
  • Store ops bboxes in a linear Uint8Array by @nicolo-ribaudo in #20208
  • Fix JSDoc description in src/display/api.js by @nicolo-ribaudo in #20267
  • Only record bboxes when needed by @nicolo-ribaudo in #20256
  • Use a dichotomy to find a color with a good contrast ratio by @calixteman in #20269
  • Replace manual returns with pending in the integration tests by @timvandermeij in #20271
  • Consider a ttf font with both Symbolic and Nonsymbolic flags set with a Differences array in the encoding dict as non-symbolic by @calixteman in #20270
  • Update dependencies and translations to the most recent versions by @timvandermeij in #20272
  • [Editor] Add a new popup for comments (bug 1987425) by @calixteman in #20249
  • [Annotation] Use the new popup in reading mode (bug 1987426) by @calixteman in #20250
  • [Editor] Fix the position of the comment popup and its dialog by @calixteman in #20278
  • [Annotation] Save the comment changes made in reading mode (bug 1987427) by @calixteman in #20274
  • Avoid unused css variables by @calixteman in #20279
  • Use console.warn/console.info where appropriate by @sigmaSd in #20252
  • [Editor] Fix the focus outline for the comment dialog buttons by @calixteman in #20281
  • [Editor] Make sure to not add extra editors when showing again a destroyed page by @calixteman in #20282
  • Update OpenJPEG to 2.5.4 by @calixteman in #20286
  • Serialize font data into an ArrayBuffer by @ryzokuken in #20197
  • [Editor] Make sure the comment dialog is visible on the screen (bug 1989304) by @calixteman in #20283
  • [Editor] Remove useless computations when setting the dimensions of an editor by @calixteman in #20285
  • [Editor] When in HCM, don't apply light/dark color in the comment buttons (bug 1977269) by @calixteman in #20291
  • [Editor] Update the color and the position of the comment button in reading mode they've been modified by @calixteman in #20295
  • [Editor] Don't add scrollbars when it's useless in the comment sidebar (bug 1990099) by @calixteman in #20297
  • [Editor] Avoid to use similar colors for background and foreground colors in HCM (bug 1990082) by @calixteman in #20298
  • [Editor] Use some percent coordinates for the comment dialog (bug 1990104) by @calixteman in #20299
  • [Editor] Fix the button labels in the comment dialog (bug 1990499) by @calixteman in #20300
  • [Editor] Make the comment sidebar resizable (bug 1990544) by @calixteman in #20303
  • [Editor] Add a title to the comment buttons (bug 1990813) by @calixteman in #20305
  • [Editor] Move the focus to the comment button once editing is done (bug 1990820) by @calixteman in #20304
  • [Editor] Make sure the selected editor is correctly focused after switching editing mode (bug 1990872) by @calixteman in #20307
  • [Editor] Fix the URL for the 'Learn more' link in the comment sidebar (bug 1990454) by @calixteman in #20308
  • [Editor] Show the comments in the sidebar in the chronological order,newest to oldest (bug 1990762) by @calixteman in #20310
  • Update dependencies by @calixteman in #20309
  • [Editor] Give the focus to the comment button after editing in reading mode by @calixteman in #20311
  • [Annotation] In reading mode with new commment stuff enabled, use the comment popup for annotations without a popup but with some contents (bug 1991029) by @calixteman in #20312
  • [Editor] Add some telemetry for the commenting feature (bug 1991172) by @calixteman in #20313
  • [Editor] Remove useless sidebar css by @calixteman in #20314
  • [Editor] Add a fake annotation (in the annotation layer) associated with an editor in order to be able to show the comment button (bug 1989420) by @calixteman in #20321
  • [Editor] Avoid an error when getting the editors telemetry data by @calixteman in #20318
  • [Annotation] Fix some timezone issues when getting a date from the date picker (bug 1991584) by @calixteman in #20320
  • [Editor] Add the possibility to unselect a comment from the sidebar by @calixteman in #20322
  • Increase the rendering quality of the detail view (bug 1991482) by @calixteman in #20323
  • Improve serif fallback font name matching by @james-atticus in #20224
  • Fix the creation of the annotation layer in the ref tests by @calixteman in #20329
  • [Editor] Make sure the comment dialog always have relative coordinates between 0% and 100% by @calixteman in #20328
  • [Editor] Slightly move the resizer in the sidebar comment in order to make it easier to use (bug 1992385) by @calixteman in #20332
  • Only apply word spacing when there is a 0x20 in the text chunk by @calixteman in #20334
  • Bump tar-fs from 3.1.0 to 3.1.1 by @dependabot[bot] in #20301
  • Fix incremental saving with hybrid references by @calixteman in #20333

v5.4.149

30 Aug 15:44
9e2e9e2
Compare
Choose a tag to compare

This release contains improvements for the annotation editor, performance, printing and the viewer.

Changes since v5.4.54

  • Bump the stable version in pdfjs.config by @timvandermeij in #20124
  • Update dependencies and translations to the most recent versions by @timvandermeij in #20125
  • [Editor] Add a floating button in order to highlight the text selection and add a comment (bug 1979381) by @calixteman in #20119
  • Add regression test for PR 19639 by @maettuu in #20109
  • Add comment-* images when building components by @calixteman in #20128
  • [Editor] Remove useless css and use a defined but unused property by @calixteman in #20131
  • [Editor] Remove unused property by @calixteman in #20132
  • Fix intermittent failure in the "must check that the computed value is correct" scripting integration test by @timvandermeij in #20134
  • Disable printing when enablePermission is true and the pdf isn't allowed to be printed (bug 1978985) by @calixteman in #20129
  • [Editor] Highlight text on a selectionchange event which hasn't been triggered by the pointer or the keyboard (bug 1976597) by @calixteman in #20138
  • Trigger a fake scrollend event in case it hasn't been triggered by the browser (bug 1957680) by @calixteman in #20142
  • Lazy initialize FinalizationRegistry used by IccColorSpace.#finalizer by @fnlctrl in #20148
  • Make horizontal padding relative to device width by @Aditi-1400 in #20093
  • Mark canvasContext as optional by @k-nut in #20149
  • Update l10n files by @calixteman in #20159
  • Bump actions/checkout from 4 to 5 by @dependabot[bot] in #20161
  • Check the setDash arguments by @calixteman in #20160
  • [Editor] Avoid to use a null signal when setting listeners in the editor toolbar by @calixteman in #20166
  • [Editor] Correctly hide deleted annotations by @calixteman in #20164
  • Implement a delay for Chrome protocol calls in the integration tests, and skip the "must check that an existing highlight is ignored on hovering" integration test on Windows by @timvandermeij in #20126
  • Update Firefox preferences for testing by @timvandermeij in #20171
  • [Editor] Add the ability to get all the editable annotations in a pdf document by @calixteman in #20167
  • Update dependencies and translations to the most recent versions by @timvandermeij in #20169
  • Use Firefox stable for the tests because bug 1983414 by @calixteman in #20178
  • Add logic to track rendering area of various PDF ops by @nicolo-ribaudo in #19043
  • Use Firefox nightly with puppeteer by @calixteman in #20186
  • [Editor] Make sure the resizers are on top of the editor content by @calixteman in #20183
  • Use the cached annotations when collecting them by types by @calixteman in #20184
  • [Editor] Move the comment button just before the delete one by @calixteman in #20180
  • [Editor] Add a Rect entry to a saved popup in order to avoid to have an invalid pdf by @calixteman in #20179
  • Use WebDriver BiDi for Chrome by @timvandermeij in #20188
  • [Editor] Don't use a null signal for the comment button by @timvandermeij in #20189
  • Update puppeteer to 24.17.0 by @calixteman in #20187
  • [Editor] Add a button to the annotation having a popup in order to edit it by @calixteman in #20182
  • Don't iterate over all empty slots in the xref entries (bug 1980958) by @calixteman in #20170
  • Improve the selection check in the "doesn't jump when moving selection" integration test by @timvandermeij in #20190
  • [Editor] Change the icon for inline comments by @calixteman in #20194
  • Add a method goToXY in PDFLinkService in order to scroll the document at a given location by @calixteman in #20191
  • Skip the curvature ink editor integration test for Chrome on Windows by @timvandermeij in #20195
  • [Editor] Add a method to get an editor rect in the pdf page coordinates by @calixteman in #20196
  • [Editor] Remove useless CSS and fix styling for the comment button by @calixteman in #20200
  • [Editor] Fix the dimensions of the comment icon by @calixteman in #20209
  • [Editor] Fix unit (for consistency) and remove few useless px by @calixteman in #20211
  • Reset editing mode when changing the pdf document by @calixteman in #20212
  • [Editor] Add a sidebar allowing the user to navigate between the comments in a pdf (bug 1985567) by @calixteman in #20210

v5.4.54

27 Jul 15:49
295fb3e
Compare
Choose a tag to compare

This release contains improvements for accessibility, annotations, the annotation editor, font conversion and the viewer.

Changes since v5.3.93

  • Bump the stable version in pdfjs.config by @timvandermeij in #20061
  • Use the creation date in the popup when there is no modification date by @calixteman in #20058
  • Fix typos across the codebase by @noritaka1166 in #20060
  • Fix the default appearance of a Polygon annotation when a fill color is provided by @calixteman in #20063
  • Add few methods to the Dict class in order to simplify the code when writing an annotation by @calixteman in #20064
  • [api-minor] Move getContext call to InternalRenderTask by @ryzokuken in #20016
  • Bump library version to 5.4 by @ryzokuken in #20071
  • Revert "Make horizontal padding relative to device width" by @calixteman in #20076
  • Use the canvas context from mozPrintCallback when printing a pdf from the Firefox viewer by @calixteman in #20082
  • In HCM, invert colors when hovering an annotation with a popup by @calixteman in #20084
  • Add the l10n parameter when pasting a Signature annotation by @calixteman in #20081
  • [Editor] Remove a popup from the DOM when it's deleted by @calixteman in #20077
  • [Editor] Add the possibility to add a popup to an annotation when saving by @calixteman in #19976
  • Fix the "must check that canvas perfectly fits the page whatever the zoom level" viewer integration test by @timvandermeij in #20087
  • Update dependencies and translations to the most recent versions by @timvandermeij in #20086
  • Handle the case where all the image data are in the alpha channel (bug 1975719) by @calixteman in #20085
  • [Editor] Add a color picker in the toolbar of Ink and Freetext annotations by @calixteman in #20070
  • Avoid Firefox test failure by @calixteman in #20092
  • [Editor] Use a round color swatch for the basic color picker by @calixteman in #20094
  • [Editor] Make sure that doorhangers are large enough to fit localized strings by @calixteman in #20095
  • Don't add an undefined id to the span for marked content by @calixteman in #20103
  • [Editor] Make possible to change the highlight color from the main panel by @calixteman in #20098
  • [Editor] Add the possibility to add Popup annotations (bug 1976724) by @calixteman in #20080
  • [Editor] Only add a popup to an existing annotation if it exits by @calixteman in #20104
  • Use canvas context text primitives when the font file is missing by @calixteman in #20101
  • Make the link annotations correctly announced by screen readers (bug 1708041) by @calixteman in #20096
  • Fix intermittent failure in the viewer alert tests by @timvandermeij in #20106
  • [Editor] Fix the highlighting colors in HCM (bug 1977259) by @calixteman in #20099
  • Update translations and dependencies to the most recent versions by @timvandermeij in #20107
  • Fix the xref table with the values we've at the beginning of a xref stream (bug 1978317) by @calixteman in #20113
  • Use a HTML date/time input when a field requires a date or a time. by @calixteman in #20116
  • [Editor] Don't show the actions button in the comment popup when it's useless by @calixteman in #20120

v5.3.93

06 Jul 18:39
cbeef32
Compare
Choose a tag to compare

This release contains improvements for accessibility, annotations, the annotation editor, forms, printing and the viewer.

Changes since v5.3.31

  • Bump the stable version in pdfjs.config by @timvandermeij in #19981
  • Update Puppeteer to version 24.10.0 by @calixteman in #19985
  • Update dependencies and translations to the most recent versions by @timvandermeij in #19997
  • Fix intermittent failure in the find integration tests by @timvandermeij in #20000
  • Log test number and id in reftests by @nicolo-ribaudo in #20002
  • Move the popup annotation in the DOM just after the element triggering it by @calixteman in #20004
  • [Editor] Fix the text alignment in freetext annotations (bug 1971134) by @calixteman in #20011
  • Fix a printing issue on Mac (bug 1961423) by @calixteman in #19996
  • Remove the possibility to go to the next page in using the ENTER key (bug 1971299) by @calixteman in #20003
  • Make annotations focusable just after the text layer by @calixteman in #20013
  • [JS] Make the date parser less strict by @calixteman in #20021
  • Correctly handle files with a hash sign in their names (bug 1894166) by @calixteman in #19992
  • Only show popups when they've some contents to display by @calixteman in #19986
  • Slightly simplify the way to create the editor toolbar by @calixteman in #19993
  • Allow to have an URL as file parameter when loading the viewer by @calixteman in #20027
  • [Editor] When editing mode is disabled, allow to double click on a added annotation to edit it by @calixteman in #20023
  • [Editor] Fix the accessibility of the dropdown in the color picker by @calixteman in #20022
  • Update dependencies and translations to the most recent versions by @timvandermeij in #20028
  • Get the text under highlight/squiggly/underline/strikethrough annotations (bug 1885505) by @calixteman in #20019
  • Add some telemetry in order to know what are the certificates used in pdfs (bug 1973573) by @calixteman in #20031
  • Don't remove a dash at the end of a line when guessing urls (bug 1974112) by @calixteman in #20038
  • [Editor] In the signature modal, disable the save checkbox when the storage is full (bug 1974257) by @calixteman in #20039
  • Remove the shadow from the links (bug 1974436) by @calixteman in #20041
  • Make horizontal padding relative to device width by @Aditi-1400 in #20047
  • Don't focus the viewer at startup (bug 1974863) by @calixteman in #20054
  • [Editor] When an annotation is added, announce it if the user is using a screen reader (bug 1975264) by @calixteman in #20055
  • Make Popup annotations always have noRotate flag set as true by @yyliu12 in #20043
  • [Editor] Allow to change the editor mode when selecting the corresponding editor (bug 1975538) by @calixteman in #20056

v5.3.31

01 Jun 18:23
47ad820
Compare
Choose a tag to compare

This release contains improvements for annotations, the annotation editor, font conversion, image decoding, performance and the viewer.

Changes since v5.2.133

v5.2.133

27 Apr 12:46
4f77613
Compare
Choose a tag to compare

This release contains improvements for the annotation editor, font conversion, performance, text selection and the viewer.

Changes since v5.1.91

v5.1.91

30 Mar 13:26
45cbe8b
Compare
Choose a tag to compare

This release contains improvements for the annotation editor, font conversion, performance, SMask rendering and the viewer, as well as bugfixes and improvements after feedback on the initial PDF.js 5.0 release.

Changes since v5.0.375

  • Bump the stable version in pdfjs.config by @timvandermeij in #19663
  • Replace a few simple regular expressions in the XFA-code with string parsing by @Snuffleupagus in #19662
  • Update dependencies and translations to the most recent versions by @timvandermeij in #19665
  • [api-minor] Attempt to support fetching the raw data of the PDF document from the PDFDocumentLoadingTask-instance (issue 15085) by @Snuffleupagus in #19632
  • Bump library version to 5.1 by @Snuffleupagus in #19667
  • Don't get ICC color space files if required API options are missing by @timvandermeij in #19669
  • Fix the "Signature Editor Basic operations must check copy and paste" integration test by @timvandermeij in #19671
  • Remove documentation for unused l10n variable (PR 18492 follow-up) by @Snuffleupagus in #19673
  • For JPEG images with CMYK-data, ensure that the alpha-component is set correctly when WebAssembly is disabled (issue 19676) by @Snuffleupagus in #19677
  • Introduce a fetchSync helper function for the IccColorSpace classes by @Snuffleupagus in #19675
  • Introduce more async code in the src/core/document.js file by @Snuffleupagus in #19674
  • Improve addSignatureDescription/editSignatureDescription handling (issue 19683) by @Snuffleupagus in #19684
  • [Editor] Take into account the parent rotation when switch to edit mode (issue #19424) by @calixteman in #19685
  • Fix the MD5 computation in the src/core/writer.js file by @Snuffleupagus in #19693
  • Improve the implementation in src/core/writer.js a little bit by @Snuffleupagus in #19692
  • Replace the setValues function with Array.prototype.fill() in the src/core/bidi.js file by @Snuffleupagus in #19703
  • [api-minor] Add a basic AbortSignal.any polyfill in PDF.js legacy builds by @Snuffleupagus in #19681
  • Extend getSupplementalGlyphMapForCalibri with Pound-sign (issue 19695) by @Snuffleupagus in #19696
  • Isolate the scripting integration tests by @timvandermeij in #19705
  • [api-minor] Use a Path2D when doing a path operation in the canvas (bug 1946953) by @calixteman in #19689
  • Isolate the "move editor with arrows" freetext editor integration tests by @timvandermeij in #19706
  • Introduce Math.sumPrecise usage in the code-base by @Snuffleupagus in #19710
  • Update dependencies and translations to the most recent versions by @timvandermeij in #19704
  • Fix save/restore while in smask mode by @calixteman in #19708
  • Isolate the "create editor with keyboard" freetext editor integration tests by @timvandermeij in #19711
  • Take into account the path and the line width when consuming a stroked path by @calixteman in #19715
  • Use the MathClamp helper function even more (PR 19617 follow-up) by @Snuffleupagus in #19714
  • Add new bounding-box helpers in Util to reduce code duplication by @Snuffleupagus in #19713
  • Take into account the group bbox by @calixteman in #19716
  • Don't overwrite the global alpha when switching to smask mode (bug 1764587) by @calixteman in #19717
  • In the struct tree a kid can be a reference to an MCID entry (issue #19694) by @calixteman in #19702
  • Remove Array.prototype.reduce usage from the src/core/xfa/template.js file by @Snuffleupagus in #19691
  • [api-minor] Enable enableAutoLinking by default by @Snuffleupagus in #19701
  • Pass the XRef-instance explicitly to the StructTreeRoot class, and simplify the StructElementNode.prototype.role getter by @Snuffleupagus in #19719
  • [Editor] Fix the border color of a tab panel in HCM (bug 1956110) by @calixteman in #19722
  • [Editor] in the signature UI, disable the description input if there is no signature (bug 1956114) by @calixteman in #19725
  • Use Util.rectBoundingBox more in the annotation code (PR 19713 follow-up) by @Snuffleupagus in #19726
  • [Editor] Set an aria-description for an added signature (bug 1956513) by @calixteman in #19728
  • Update @fluent/dom to 0.10.1 by @calixteman in #19730
  • Pre-apply the transform when building the Path2D objects for Type3-fonts by @Snuffleupagus in #19731
  • [Editor] Add a border to the undo button in the snackbar in order to make a contrast (bug 1952563) by @calixteman in #19734
  • Spell "properly" in viewer integration-test names by @Snuffleupagus in #19740
  • Simplify handling of the color-parameter in TilingPattern (PR 4824 follow-up) by @Snuffleupagus in #19737
  • Shorten the PDFViewerApplication._initializeViewerComponents method by @Snuffleupagus in #19720
  • Reduce duplication when specifying the fn-operations in buildPaintImageXObject by @Snuffleupagus in #19739
  • [api-minor] Attempt to improve support for using the PDF.js builds with Vite by @Snuffleupagus in #19733
  • Apply char/word-spacing correctly for missing Type3-glyphs by @Snuffleupagus in #19735

v5.0.375

15 Mar 18:10
23972e1
Compare
Choose a tag to compare

PDF.js 5.0 is a major release that contains a number of API changes, features and bugfixes.

The following significant new features are highlighted:

  • Improved JPEG 2000 decoding support
    • The OpenJPEG decoder was moved into a separate .wasm file, which requires setting a new wasmUrl API option in order to use it; see PR #19329.
    • A (much slower) JavaScript OpenJPEG fallback decoder was added (also uses the wasmUrl API option) for environments without WebAssembly support; see PR #19525.
  • Support for ICC profiles
    • This requires WebAssembly support, and that the wasmUrl API option is set; see PR #19564.
    • Use an ICC profile to improve CMYK to RGB color conversion, which requires setting a new iccUrl API option in order to use it; see PR #19620.
    • Currently Lab profiles are not supported, which is tracked in bug 1717767.
  • Improved rendering of large pages in the viewer
    • Render the currently visible portion of pages at full resolution, once we've reached the size limits and are falling back to CSS-zooming; see PR #19128.
    • Limit the maximum canvas dimensions, to avoid rendering breaking and canvases being empty; see PR #19604.
  • Enable creation of hyperlinks, in the viewer, from text that look like URLs
    • This is disabled by default because of some remaining issues, but can be enabled in the viewer with the enableAutoLinking option/preference; see PR #19110.

The following significant changes are highlighted (which may require changes in third-party PDF.js implementations):

  • Addition of a couple of new CSS variables, that e.g. the text and annotation layers now depend upon; see PR #19469.
  • Removal of a couple of old exceptions; see PR #19264.

The complete list of changes in this release is shown below. If you're upgrading to PDF.js 5.0 we recommend checking the changes prefixed with [api-minor] and [api-major] since those might require updates to your code.

Changes since v4.10.38

Read more

v4.10.38

01 Jan 13:39
f9bea39
Compare
Choose a tag to compare

This release contains improvements for accessibility, the annotation editor, font conversion, performance, SMasks and the viewer.

Changes since v4.9.155

v4.9.155

05 Dec 21:21
a4eb840
Compare
Choose a tag to compare

This release primarily contains a bugfix for a Node.js-specific regression in the previous release; see #19145 and #19149 for context. Moreover, improvements for the annotation editor are included.

Changes since v4.9.124