Skip to content

Releases: mozilla/pdf.js

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

v4.9.124

01 Dec 18:59
867aaf0
Compare
Choose a tag to compare

This release contains improvements for the annotation editor, form rendering, image conversion, text selection and the viewer.

Changes since v4.8.69

v4.8.69

02 Nov 18:51
3634dab
Compare
Choose a tag to compare

This release contains improvements for the annotation editor, font conversion, form rendering, image conversion and the viewer.

Changes since v4.7.76

  • Bump the stable version in pdfjs.config by @timvandermeij in #18858
  • Fix typing logic in the scripting integration tests by @timvandermeij in #18862
  • Improve the promise-caching in the PDFDocument.fieldObjects getter by @Snuffleupagus in #18871
  • Remove the temporary "visibilitychange" listener, in PDFViewer, with AbortSignal.any() by @Snuffleupagus in #18873
  • Avoid exceptions in the console with ill-formed flate streams by @calixteman in #18878
  • Don't add the grey outline when hovering a selected highlight by @calixteman in #18879
  • [Editor] Remove ColorPicker event listeners with AbortSignal.any() (PR 18586 follow-up) by @Snuffleupagus in #18874
  • Fix failing integration test on Windows with Chrome by @calixteman in #18860
  • Add an option to gulp makeref/browsertest to only run tests with specific ids by @calixteman in #18833
  • Move the regular expression caching into the PDFDateString class by @Snuffleupagus in #18885
  • Remove event listeners with AbortSignal in the AltTextManager class by @Snuffleupagus in #18881
  • Don't add attribute 'aria-haspopup' when no popup is rendered for an annotation by @calixteman in #18889
  • Clamp the hival parameter of Indexed color space to the range [0; 255] by @calixteman in #18890
  • Fallback on gray colorspace when there are no colorspace and no name in the scn/SCN arguments by @calixteman in #18895
  • Some jpx images can have a mask by @calixteman in #18899
  • implementing optional content radiobutton groups by @agrahn in #18825
  • Remove unnecessary options from removeEventListener in the web/app.js file by @Snuffleupagus in #18893
  • Create fewer Objects in PDFViewerApplication.bindEvents by @Snuffleupagus in #18898
  • Reduce duplication when collecting optional content groups by @Snuffleupagus in #18905
  • Handle null parentElement for selection anchor by @hubgit in #18884
  • Add the pdkids PDF document to the repository by @Snuffleupagus in #18902
  • When changing a property on a radio button then change it for the siblings (bug 1922766) by @calixteman in #18916
  • Re-factor the MessageHandler-class event handler function by @Snuffleupagus in #18888
  • Remove event listeners with AbortSignal in the GrabToPan class by @Snuffleupagus in #18919
  • [api-minor] Update the canvas package to version 3 by @Snuffleupagus in #18922
  • Bump library version to 4.8 by @Snuffleupagus in #18924
  • Run CI tests in Node.js version 23 by @Snuffleupagus in #18925
  • Remove the eslint-plugin-{fetch-options,html} and eslint-config-prettier dependencies by @timvandermeij in #18927
  • Update dependencies and translations to the most recent versions by @timvandermeij in #18921
  • Simplify localization of the "default-content" in FreeText editors by @Snuffleupagus in #18920
  • Replace eslint-plugin-sort-exports by eslint-plugin-perfectionist by @timvandermeij in #18929
  • Fix the "Text selection using mouse doesn't jump when hovering on an empty area in a single page" integration test by @timvandermeij in #18923
  • Remove mask-image duplication for the print/download buttons by @Snuffleupagus in #18930
  • Fallback to a standard font if a font-file entry doesn't contain a Stream (issue 18941) by @Snuffleupagus in #18942
  • Try to discourage "unrelated" information under Attach (recommended) or Link to PDF file in the bug report template (PR 18535 follow-up) by @Snuffleupagus in #18940
  • Change the BaseCMapReaderFactory fetch-helper to return a Uint8Array by @Snuffleupagus in #18933
  • Use ImageDecoder in order to decode jpeg images (bug 1901223) by @calixteman in #18910
  • Add a comment in l10n file for the non-standard attribute default-content by @calixteman in #18947
  • Always fill the mask with the backdrop color by @calixteman in #18960
  • Re-factor the ImageResizer._goodSquareLength definition by @Snuffleupagus in #18965
  • [api-minor] Remove the CMapCompressionType enumeration by @Snuffleupagus in #18951
  • Make util.scand a bit more flexible with dates which don't match the given format (bug 1910431) by @calixteman in #18967
  • [Editor] Split the long words when showing the alt-text tooltip (bug 1903588) by @calixteman in #18968
  • Use a BMP decoder when resizing an image by @calixteman in #18918
  • [Editor] Utilize Fluent "better" when localizing the AltText by @Snuffleupagus in #18971
  • Allow StreamsSequenceStream to skip sub-streams that are not actual Streams (issue 18973) by @Snuffleupagus in #18974
  • Improve the implementation of the PDFDocument.fingerprints-getter by @Snuffleupagus in #17862
  • Simplify the "ReaderHeadersReady" message-handler in the API by @Snuffleupagus in #18977
  • [Editor] Refactor the free highlight stuff in order to be able to use the code for more general drawing by @calixteman in #18972
  • Re-factor the toHexUtil helper (PR 17862 follow-up) by @Snuffleupagus in #18978
  • Don't initialize L10n.#elements eagerly since it's unused in MOZCENTRAL builds by @Snuffleupagus in #18979
  • Change the "FetchBuiltInCMap"/"FetchStandardFontData" message-handlers to be asynchronous by @Snuffleupagus in #18983
  • Use the hexNumbers structure in the stringToUTF16HexString helper by @Snuffleupagus in #18993
  • Ensure that serializing of StructTree-data cannot fail during loading by @Snuffleupagus in #18990
  • Inline the flushChunks helper function, used in getPdfManager on the worker-thread by @Snuffleupagus in #18992
  • Move the various DOM-factories into their own files by @Snuffleupagus in #18988