Skip to content

Releases: mozilla/pdf.js

v3.10.111

27 Aug 16:00
e142bae
Compare
Choose a tag to compare

This release primarily features improvements and bugfixes for the annotation editor.

Changes since v3.9.179

  • Bump versions in pdfjs.config by @timvandermeij in #16769
  • Add the color changes in the annotation storage by @calixteman in #16767
  • Fix typo in the baseVersion commit hash (PR 16769 follow-up) by @Snuffleupagus in #16770
  • Make sure WillPrint ran before starting printing by @calixteman in #16766
  • [GeckoView] Add missing CSS variables for the dialog functionality by @Snuffleupagus in #16771
  • [Editor] Limit image types to the ones supported by the browser (bug 1846230) by @calixteman in #16773
  • [api-minor] Don't print hidden annotations (bug 1815196) by @calixteman in #16029
  • [GeckoView] Allow to query pdf.js to know if we can avoid to print a pdf (bug 1846296) by @calixteman in #16776
  • [api-minor] Deprecate the PDFDocumentProxy.getJavaScript method by @Snuffleupagus in #16779
  • [Editor] Let SVG images be resized horizontally/vertically without keeping the aspect ratio (bug 1846727) by @calixteman in #16780
  • [Editor] Use a getter and not a function for the _checkIfSVGFitsInCanvas (bug 1846727) by @calixteman in #16784
  • [Editor] Stop the resize session when the window is blurred by @calixteman in #16786
  • [Editor] Refactor dragging and dropping an editor (bug 1802895, bug 1844618) by @calixteman in #16781
  • Update packages and translations by @Snuffleupagus in #16795
  • Attempt to expose e.g. pdfjsLib globally regardless of how the library is imported (issue 16778) by @Snuffleupagus in #16790
  • Use the round CSS function in the setLayerDimensions helper function by @Snuffleupagus in #16794
  • [Editor] Change the resize cursors to bidirectional variants by @Snuffleupagus in #16799
  • [Editor] Fix the dimensions of the annotation editor layer (follow-up of #16794) by @calixteman in #16798
  • [Annotation] Strip out the array index in the path only when the path is from a terminal node (bug 1847733) by @calixteman in #16807
  • Take fill-alpha into account with default icons for FileAttachment annotations (issue 16800) by @Snuffleupagus in #16804
  • [Editor] Move the stamp button on the right of the pen one (bug 1847707) by @calixteman in #16802
  • [Editor] Fix the resizing of an editor when it's rotated (bug 1847268) by @calixteman in #16793
  • [Editor] Avoid to add a new line when hitting enter with a selected freetext editor by @calixteman in #16808
  • [Editor] Move an the editor div in the DOM once a translation with the keyboard is done by @calixteman in #16809
  • [Editor] Avoid to unselect some editors when the main window is focused by @calixteman in #16812
  • [Editor] Move the parameter elements for FreeText and Ink annotations at the right place (follow-up of #16802) by @calixteman in #16813
  • [Editor] Avoid to add a cancelled added image in the undo/redo stack by @calixteman in #16818
  • Introduce even more optional chaining in the code-base by @Snuffleupagus in #16815
  • [Editor] Avoid to have slightly truncated images because of non-integer canvas dimensions by @calixteman in #16820
  • [Editor] Add the possibility to move all the selected editors with the mouse (bug 1847894) by @calixteman in #16811
  • [Editor] Don't forget to encrypt image streams (see issue #16821) by @calixteman in #16822
  • Fallback to check all pages when getting the pageIndex of FieldObjects by @Snuffleupagus in #16823
  • [Editor] Avoid to unselect when a new page is rendered by @calixteman in #16824
  • [Editor] Avoid showing the context menu or resizing when a resizer is right clicked by @calixteman in #16825
  • Re-factor PDFViewerApplication._initializeAutoPrint slightly (PR 16779 follow-up) by @Snuffleupagus in #16810
  • [Editor] Add a button to explicitly add an image (bug 1848108) by @calixteman in #16819
  • [Editor] Remove the stamp editor displayed when the image was loading (bug 1848313) by @calixteman in #16826
  • [Editor] Add the possibility to paste an image from the clipboard (bug 1848317) by @calixteman in #16828
  • Remove the src/core/ Babel excludes, since they no longer seem necessary by @Snuffleupagus in #16829
  • Remove the "no-babel-preset" comment used with the LIB build-target (PR 16829 follow-up) by @Snuffleupagus in #16831
  • Avoid using the global workerPort when destruction has started, but not yet finished (issue 16777) by @Snuffleupagus in #16830
  • Improve the "write a new annotation, save the pdf and check that the text content is correct" unit-test (PR 16559 follow-up) by @Snuffleupagus in #16835
  • Add a helper method to reduce duplication in StampEditor.#getBitmap by @Snuffleupagus in #16840
  • Update the StampEditor.isEmpty method to handle File (PR 16828 follow-up) by @Snuffleupagus in #16844
  • Update packages and translations by @Snuffleupagus in #16850
  • Add a unit-test for the "correct" way of using the global workerPort in parallel (PR 16830 follow-up) by @Snuffleupagus in #16834
  • Initialize the PDFWorker.#workerPorts WeakMap lazily by @Snuffleupagus in #16852
  • Add the .mjs file-extension to the EditorConfig by @Snuffleupagus in #16860
  • Add the "aria-controls" attribute to the StampEditor toolbar-button by @Snuffleupagus in #16858
  • Revert fix for bug 1838855 (bug 1849876) by @calixteman in #16862
  • Don't reset all fields when the resetForm argument is an array by @calixteman in #16864
  • Exclude lineEndings, in Annotation-data, in MOZCENTRAL builds (PR 14899 follow-up) by @Snuffleupagus in #16856
  • Introduce more optional chaining in the code-base by @Snuffleupagus in #16875

v3.9.179

30 Jul 11:02
1ef6fbc
Compare
Choose a tag to compare

This release features improvements in the areas of annotation editing (including a new stamp editor), accessibility, form rendering/saving, text selection/copying and other bugfixes.

Changes since v3.8.162

Read more

v3.8.162

02 Jul 13:14
2c74323
Compare
Choose a tag to compare

This release features improvements in the areas of annotation editing/saving/printing, font conversion, accessibility and performance.

Changes since v3.7.107

Read more

v3.7.107

29 May 12:07
036f855
Compare
Choose a tag to compare

This release features improvements in the areas of font conversion and substitution, annotation rendering and data compression, ink tool smoothing, text selection and extraction, image rendering and canvas rendering performance.

Changes since v3.6.172

v3.6.172

07 May 11:18
4d3dfe2
Compare
Choose a tag to compare

This release features improvements in the areas of performance, text selection/searching, image/pattern rendering, accessibility and documentation/types.

Changes since v3.5.141

Read more

v3.5.141

02 Apr 12:48
be0f6ee
Compare
Choose a tag to compare

This release features image rendering improvements that allow rendering big images even if they are larger than the canvas limits, which fixes quite a lot of issues about images that previously failed to render. Moreover, this release contains bugfixes and improvements for annotations, text selection and typing/documentation.

Changes since v3.4.120

v3.4.120

26 Feb 12:01
af64149
Compare
Choose a tag to compare

This release contains bugfixes and optimizations/cleanups, in particular in the areas of annotations/forms, text selection, font conversion, accessibility and performance (reduced browser reflows).

Changes since v3.3.122

v3.3.122

29 Jan 12:34
5620456
Compare
Choose a tag to compare

This release contains a new pinch to zoom feature for the viewer and other bugfixes and optimizations/cleanups, in particular some that reduce browser reflow and memory usage which improves performance.

Changes since v3.2.146

v3.2.146

01 Jan 13:28
3fd2a35
Compare
Choose a tag to compare

This release primarily contains bugfixes and optimizations/cleanups, in particular to avoid re-rendering content unnecessarily on e.g. zooming and rotation, which should improve overall viewer performance.

Changes since v3.1.81

  • Bump versions in pdfjs.config by @timvandermeij in #15749
  • Add default icons for FileAttachment annotations (bug 1230933) by @Snuffleupagus in #15747
  • Update packages and translations by @Snuffleupagus in #15750
  • Slightly modernize the FontLoader.isSyncFontLoadingSupported getter by @Snuffleupagus in #15751
  • [JS] Fix a rounding issue in printf (bug 1802888) by @calixteman in #15755
  • [JS] By default, a text field value must be treated as a number (bug 1802888) by @calixteman in #15757
  • [api-minor] Remove all the useless telemetry stuff in the viewer (bug 1802468) by @calixteman in #15758
  • Don't add an extra space after a Katakana or a Hiragana at the eol when searching by @calixteman in #15760
  • Ignore PDF documents opened from "data:"-URLs when handling internal links (bug 1803050) by @Snuffleupagus in #15762
  • [Editor] Change the text annotation cursor for the high dpi screens. by @calixteman in #15718
  • Stop duplicating the platform getter in multiple files by @Snuffleupagus in #15761
  • [Annotation] Send correctly the updated values to the JS sandbox by @calixteman in #15764
  • [api-minor] Remove the TextLayer timeout parameter (PR 15742 follow-up) by @Snuffleupagus in #15765
  • Prevent the debugger from breaking on unbalanced save/restore OPS (issue 15767) by @Snuffleupagus in #15768
  • [api-minor] Refactor the text layer code in order to avoid to recompute it on each draw by @calixteman in #15722
  • Bump decode-uri-component from 0.2.0 to 0.2.2 by @dependabot in #15771
  • Remove execution permission on cursor-editorFreeText.svg by @calixteman in #15772
  • Enable the no-typeof-undefined ESLint plugin rule by @Snuffleupagus in #15752
  • [api-minor] Normalize the view-getter on the worker-thread by @Snuffleupagus in #15773
  • [api-minor] Combine the textContent/textContentStream parameters by @Snuffleupagus in #15779
  • Don't re-create the structTreeLayer on zooming and rotation by @Snuffleupagus in #15778
  • [Editor] Add a very basic and incomplete workaround for issue #15780 by @calixteman in #15786
  • Tighten the vars-argument for the ESLint no-unused-vars rule by @Snuffleupagus in #15775
  • Remove the unused DefaultExternalServices.createDownloadManager options (PR 12191 follow-up) by @Snuffleupagus in #15776
  • [api-minor][Editor] Don't use the editor parent which can be null. by @calixteman in #15782
  • [Editor] Take all the viewBox into account when computing the coordinates of an annotation in the page (fixes #15789) by @calixteman in #15791
  • A few small viewer-related fixes by @Snuffleupagus in #15788
  • Fix page-switching for landscape documents with SpreadModes and PresentationMode (PR 14877 follow-up) by @Snuffleupagus in #15798
  • Ensure that the various layers always get the correct initial size (issue 15795) by @Snuffleupagus in #15796
  • [AnnotationEditorLayerBuilder] Inline the destroy code in the cancel method by @Snuffleupagus in #15800
  • Change the XfaLayerBuilder.render method to be asynchronous by @Snuffleupagus in #15805
  • Set the dimensions of the various layers at their creation by @calixteman in #15770
  • Don't attempt to re-create the annotationLayer, for pages without any annotations, on zooming and rotation by @Snuffleupagus in #15806
  • [api-minor] Add a new PageViewport-getter to access the original, un-scaled, viewport dimensions by @Snuffleupagus in #15797
  • The annotation layer dimensions must be set before adding some elements (follow-up of #15770) by @calixteman in #15820
  • [JS] Handle correctly choice widgets where the display and the export values are different (issue #15815) by @calixteman in #15819
  • [JS] Run the named actions before running the format when the file is open (issue #15818) by @calixteman in #15822
  • Initialize the TextHighlighter-instance lazily in PDFPageView by @Snuffleupagus in #15826
  • Handle possibly undefined parameters once per AnnotationLayer.render invocation by @Snuffleupagus in #15824
  • [api-minor] Allow specifying an extra-delay, in RenderTask.cancel, for worker-thread aborting of operatorList parsing by @Snuffleupagus in #15825
  • Don't remove the loading icon from the DOM when a page is resetted by @calixteman in #15829
  • [GV] Add a viewer for GeckoView by @calixteman in #15831
  • Always parse the entire startXRefQueue in XRef.readXRef (issue 15833) by @Snuffleupagus in #15834
  • Protect a few additional DOM element accesses in the viewer (PR 15831 follow-up) by @Snuffleupagus in #15835
  • Attempt to expose OnProgressParameters in the TypeScript definitions (issue 15828) by @Snuffleupagus in #15832
  • Strip out a reserved operator (9) from CFF char strings (fixes issue #15784) by @calixteman in #15841
  • [GeckoView] Ignore the pageLayout, from the PDF document, to prevent issues by @Snuffleupagus in #15842
  • [TextLayer] Hide the text layer when it's created in order to avoid reflows (fix #15844) by @calixteman in #15845
  • Display the text layer before running the a11y stuff (follow-up of #15845) by @calixteman in #15847
  • Avoid to compute the client rect of the viewer by @calixteman in #15830
  • [Editor] Avoid to scroll when an annotation is commited (fixes issue #15744) by @calixteman in #15849
  • [api-minor] Remove the default factories, used to initialize various layers, in the viewer by @Snuffleupagus in #15811
  • A couple of small viewer fixes (PR 15811 and 15831 follow-up) by @Snuffleupagus in #15852
  • Ensure that the loadingIconDiv is always visible (PR 15829 follow-up) by @Snuffleupagus in #15860
  • Re-factor searching for incomplete objects in XRef.indexObjects (issue 15803) by @Snuffleupagus in #15854
  • Update packages and translations by @Snuffleupagus in #15864
  • Only redraw after zooming is finished (bug 1661253) by @calixteman in #15812
  • Set a z-index for the different layers within a page (fixes #15861) by @calixteman in #15862
  • [Regression] Ensure that documents with varying page sizes are initialized correctly (PR 15812 follow-up) by @Snuffleupagus in #15872
  • Remove PDFPageProxy.getJSActions caching, since it's unused, in the API by @Snuffleupagus in #15870
  • Always abort a pending streamReader cancel timeout in PDFPageProxy._abortOperatorList (PR 15825 follow-up) by @Snuffleupagus in #15869
  • Only display the loadingIcons when rendering is currently running by @Snuffleupagus in #15867
  • Improve name consistency in the viewer (PR 15812 follow-up) by @Snuffleupagus in #15875
  • Decouple the loadingBar background-color from the rest of the viewer by @Snuffleupagus in #15874

v3.1.81

26 Nov 13:43
0766898
Compare
Choose a tag to compare

This release primarily contains bugfixes and optimizations/cleanups, in particular a follow-up on the previous release where a dependency we use could cause installation issues on certain platforms.

Changes since v3.0.279

  • Bump versions in pdfjs.config by @timvandermeij in #15643
  • Changed link for "Gulp's getting started guide" by @SpartanApple in #15649
  • [Form] Don't use field appearances when /NeedAppearances is set to true (bug 1796741) by @calixteman in #15615
  • Prevent interaction with form elements in PresentationMode (issue 12232) by @Snuffleupagus in #15648
  • Move canvas to optionalDependencies by @tamuratak in #15655
  • [api-minor] Let Catalog.getAllPageDicts return an empty dictionary when loading the first /Page fails (issue 15590) by @Snuffleupagus in #15613
  • Use private fields in a few more viewer classes by @Snuffleupagus in #15663
  • Cache the normalized unicode-value on the Glyph-instance by @Snuffleupagus in #15657
  • [api-minor] Initialize the unicode-category lazily on the Glyph-instance by @Snuffleupagus in #15665
  • [api-minor] Propagate the translated font name to TextContentItem for system fonts by @sxyuan in #15659
  • [Annotation] Fix printing/saving for annotations containing some non-ascii chars and with no fonts to handle them (bug 1666824) by @calixteman in #15587
  • Use the full inline image as the cacheKey in Parser.makeInlineImage (bug 1799927) by @Snuffleupagus in #15679
  • Some small AnnotationStorage and StatTimer clean-up by @Snuffleupagus in #15682
  • Change the assert in Parser.findDefaultInlineStreamEnd to a non-PRODUCTION one by @Snuffleupagus in #15686
  • Update packages and translations by @Snuffleupagus in #15689
  • Take the mask-offset into account when rendering repeated image masks (bug 1799927) by @Snuffleupagus in #15688
  • Stop Dependabot from creating its own, otherwise unused, labels by @Snuffleupagus in #15693
  • Bump minimatch from 3.0.4 to 3.1.2 by @dependabot in #15692
  • Normalize fullwidth, halfwidth and circled chars when searching by @calixteman in #15694
  • Initialize the find-related DIACRITICS_EXCEPTION_STR constant lazily by @Snuffleupagus in #15698
  • Move the _isOffscreenCanvasSupported property to the base Annotation class by @Snuffleupagus in #15699
  • Remove unnecessary function names in the src/core/worker.js file by @Snuffleupagus in #15706
  • Move some string helper functions to the worker-thread by @Snuffleupagus in #15701
  • Add localization support for the annotationLayer reference tests (issue 10791) by @Snuffleupagus in #15710
  • Reduce duplication when creating a fallback appearance for MarkupAnnotations by @Snuffleupagus in #15713
  • Remove the overflowing text special-case from scrollIntoView (issue 15714) by @Snuffleupagus in #15721
  • Unblock the load event when the pdf has a password (bug 1801341) by @calixteman in #15727
  • Support FileAttachments with hash-signs in the filename (issue 15729) by @Snuffleupagus in #15730
  • Add support for Optional Content in TilingPatterns (issue 15716) by @Snuffleupagus in #15731
  • Revert "Remove the overflowing text special-case from scrollIntoView (issue 15714)" by @Snuffleupagus in #15740
  • Add a fallback for non-embedded composite Tahoma fonts (issue 15719) by @Snuffleupagus in #15732
  • [api-minor] Deprecate the TextLayer timeout parameter by @Snuffleupagus in #15742
  • Re-factor and simplify the getQuadPoints helper function by @Snuffleupagus in #15715
  • Ensure that the initial document position is always correct with non-default Scroll/Spread modes (issue 15695) by @Snuffleupagus in #15720