PDF.js v2.2.228 Release Notes

Release Date: 2019-07-10 // 9 months ago
  • #10557 Bump versions in pdfjs.config
    📇 #10556 [api-minor] Expose the existence of a Collection dictionary via the getMetadata API method (issue 10555)
    ⚡️ #10554 Simplify the updatetextlayermatches event handling in TextLayerBuilder
    0️⃣ #10548 Generate the default_preferences.json file from AppOptions
    #10558 Re-factor the PDFDataRangeTransport unit-tests and enable them in Node.js/Travis
    ⚡️ #10560 Update translations and packages
    #10579 Re-factor the PDFSidebar constructor to simplify its call-site (PR 10123 follow-up)
    #10578 Try to temporarily hack around the __non_webpack_require__ bug, and update Webpack to the latest stable version (issue 10177)
    🚚 #10577 Move worker-thread only functions from src/shared/util.js and into a new src/core/core_utils.js file
    #10582 Use Promise.prototype.finally in the PDFRenderingQueue.renderView method
    #10589 Run the custom_spec unit-tests in Node.js/Travis (PR 10537 follow-up)
    #10585 Load built-in CMap files using the Fetch API when possible
    #10573 Avoid truncating/breaking some Type3 glyphs in compileType3Glyph (bug 1245391, issue 10568)
    ⚡️ #10599 Update Webpack to the latest stable version (4.29.6)
    #10597 Ensure that the temporary canvas created in CanvasGraphics.isFontSubpixelAAEnabled will be cleared
    #10595 Zero the width/height of the temporary canvas used during JpegDecode (issue 10594)
    #10591 Add unique glyph names for CFF fonts.
    #10601 Zero the width/height of the temporary canvas used during TextLayer rendering
    #10604 Put the string name of the glyph in the charset array.
    ⚡️ #10606 Update translations and packages
    🚚 #10590 Fix missing moveTos in SVG paths
    👷 #10608 Reduce usage of Date.now() in src/core/worker.js
    0️⃣ #10610 Add type validation to the default_preferences generation (PR 10548 follow-up)
    #10605 Convert let to const if possible in, and improve unit test coverage for, src/display/display_utils.js
    #10615 Handle corrupt ASCII85Decode inline images with whitespace "inside" of the EOD marker (issue 10614)
    #10621 Don't scale SVG stroke width by text matrix
    🚚 #10634 Move NativeImageDecoder into a separate file, and convert it to a class
    #10633 Convert MurmurHash3_64 to an ES6 class
    0️⃣ #10628 Try to improve text-selection for Type3 fonts that utilize a non-default /FontMatrix (bug 1513120)
    #10636 Small clean-up of the PDFDocumentProxy.destroy method and related code
    #10647 Actually transfer eligible ImageMask data, rather than always copying it
    #10644 Ensure that blob: URLs will be revoked when pages are cleaned-up/destroyed (JPEG memory usage)
    #10646 Implement linear-gradient, radial-gradient and dummy-pattern in SVGGraphics.
    #10635 Convert src/core/parser.js to ES6 syntax and write more unit tests for the lexer and the parser
    ⚡️ #10657 Update test case description
    💻 #10652 Prepare the MOZCENTRAL viewer for receiving zoom events from the browser UI (bug 786674, bug 1177385)
    🚚 #10668 Remove the Firefox-specific 'read with streaming' unit-test
    #10681 fix: electron enviroment detection
    #10685 Take the FirstChar/LastChar properties into account when computing the hash in PartialEvaluator.preEvaluateFont (issue 10665)
    #10683 Use CMap in Type0 fonts when CFF is not a CID font
    #10692 Add Mozilla Code of Conduct
    ⚡️ #10698 Update translations/packages and include the code of conduct for pdfjs-dist too
    #10706 Add missing hasChildNodes polyfill to domstubs.js (PR 10022 follow-up)
    #10675 [Firefox regression] Fix disableRange=true bug in PDFDataTransportStream
    🏗 #10713 Remove src/core/annotation.js from the gulp jsdoc build target
    🚚 #10678 Remove moz-chunked-arraybuffer support, and related code, from src/display/network.js
    👍 #10709 [api-minor] Add basic support for PageLayout in the API and the viewer
    ⚡️ #10714 [Firefox] Ensure that loading progress is reported, and the loadingBar updated, when disableRange=true is set
    #10674 Convert src/display/svg.js to ES6 syntax and implement setRenderingIntent and setFlatness for the SVG backend
    #10715 Add test for fetch_stream
    #10725 Attempt to clarify the l10n section of CONTRIBUTING.md
    #10723 [api-minor] Implement caret annotations
    #10728 Annotations - _preparePopup method replaced with MarkupAnnotation
    ⚡️ #10696 Update ChunkedStream.makeSubStream to actually check if (some) data exists when the length parameter is undefined
    #10694 Avoid dispatching range requests to fetch PDF data that's already loaded with streaming (PR 10675 follow-up)
    ⚡️ #10733 Update translations and packages
    🆓 #10735 [api-minor] Implement free text annotations
    #10742 [Firefox] Avoid displaying the indeterminate loadingBar when disableStream=true is set (PR 10714 follow-up)
    #10746 Add links to PDF.js homepage and API reference in README.md
    👍 #10727 Support (rare) Type3 fonts which contains image resources (issue 10717)
    #10754 Add a getDocId method to the idFactory, in Page instances, to avoid passing around PDFManager instances unnecessarily (PR 7941 follow-up)
    👍 #10738 [api-minor] Add support for ViewerPreferences in the API (issue 10736)
    0️⃣ #10765 Add passive: false to the wheel event listener, to work-around broken default behaviour in Chrome 73 and above (issue 10761)
    ⚡️ #10784 Ensure that the OperatorList constructor actually initializes a NullOptimizer when intended (PR 9089 follow-up)
    #10756 Attempt to handle corrupt PDF documents that contains path operators inside of text object (issue 10542)
    #10789 Change PartialEvaluator.handleColorN to throw when no valid pattern is found
    #10771 [api-minor] Implement creation/modification date for annotations
    ⚡️ #10795 Update the canvas npm package to fix Travis CI builds (issue 10790)
    👕 #10805 Enable the consistent-return ESLint rule
    #10794 Fix glyph at index zero in CIDFontType2 that has a CIDToGIDMap stream
    🚚 #10826 Remove unused ref property from the parameters object used when creating annotations in AnnotationFactory._create
    #10827 Convert the (remaining) network streams to ES6 classes
    🔧 #10854 make print resolution configurable via AppOptions
    #10833 [api-minor] Implement contents and creation date for the correct annotation types
    ⚡️ #10859 Update translations and packages
    #10862 Add caching to reduce the number of Ref objects
    #10863 Ensure that the Cmd/Name/Ref caches are cleared when running other cleanup code
    #10869 Restore referrer preserving functionality in Chrome 72+
    #10867 Don't clip if path is undefined in SVG back-end
    #10872 Re-use, rather than re-creating, some Arrays when resetting them in src/display/api.js
    👷 #10873 Ensure that the Cmd/Name/Ref caches are cleared when terminating the worker (PR 10863 follow-up)
    #10877 Ignore Annotations with too large border widths, to prevent the annotationLayer from rendering it over the surrounding document (bug 1552113)
    🖨 #10879 [api-minor] Attempt to reduce memory usage during printing, by always running cleanup once rendering has finished
    0️⃣ #10890 Add support for outline items, in the default viewer, which default to collapsed when the outline is built
    🚚 #10897 Remove a superfluous linkService.isPageVisible check from PDFFindController (PR 10217 follow-up)
    🖨 #10898 Allow experimenting with the printResolution AppOption when printing with the built-in Firefox version
    👕 #10905 Pin the version of eslint-plugin-mozilla to prevent failures on Travis (issue 10901)
    🚚 #10903 Move PDFWorkerStream and related code to its own file
    📜 #10926 Change the signature of the Parser constructor to take a parameter object
    👕 #10925 Enable the eslint-plugin-no-unsanitized ESLint plugin to disallow unsafe usage of e.g. innerHTML
    #10902 Implement tiling patterns for the SVG back-end
    ⚡️ #10936 Update translations and packages
    #10938 Reduce the number of isCmd calls slightly in the XRef class
    #10937 Restore the header size limit of 80 KB
    #10947 Make the find helper function, in src/core/document.js, more efficient by using peekBytes rather reading the stream one byte at a time
    #10949 Delay initialization of searching, in the viewer, until the first page has rendered