PDF.js v2.0.943 Release Notes

Release Date: 2018-10-27 // over 5 years ago
  • ๐Ÿ”„ Changes since v1.10.100:

    ๐Ÿ“œ #9730 Ignore the rest of the image when encountering an EOI (End of Image) marker while parsing Scan data (issue 9679)
    #9740 Use Dict.getArray, instead of Dict.get, when getting the 'Size' in constructSampled in src/core/function.js
    ๐Ÿ— #9771 Remove the gulp extension build target
    #9773 Fix multibyte decoding in content_disposition.js
    โœ… #9769 Reduce the amount of errors logged, primarily in Node.js/Travis, when running the unit-tests
    ๐Ÿ”ฅ๏ธ #9774 Use fs.unlinkSync instead of fs.unlink when removing files in the font tests
    ๐Ÿ— #9741 Build improvements
    ๐Ÿšš #9779 Remove dead code in the gh-pages-prepare task in the Gulpfile
    #9777 Various PageViewport and MessageHandler cleanup
    #9781 Miscellaneous API clean-up
    ๐ŸŒ #9792 Import translations
    โœ… #9660 Support running the tests headlessly.
    ๐Ÿ‘ #9794 Implement drag-and-drop support in the viewer for local files
    ๐Ÿšš #9793 Remove Util.appendToArray and Util.prependToArray
    ๐Ÿš‘ #9689 Fixed critical unhandled promise that prevented error catching using API
    #9796 Disable (drag-and-drop) file opening if Presentation Mode is active (PR 9794 follow-up)
    ๐Ÿ—„ #9801 Replace deprecated new Buffer(string, 'base64') constructor with Buffer.from(string, 'base64')
    ๐Ÿšš #9815 Remove the disableFullscreen hack for embedded IE 11 (issue 9585)
    #9816 Fix regression causing the pages to be offset horizontally in Presentation Mode (PR 8993 follow-up)
    ๐Ÿ‘ #9595 Disable ftp support in Chrome 59+, add file chooser at file
    #9819 Fix regression affecting the horizontal viewerContainer offset for small window widths (PR 9816 follow-up)
    #9809 Allow FontFaceObject.getPathGenerator to ignore non-embedded fonts during rendering
    โšก๏ธ #9802 Update ColorSpace and PDFImage to use Uint8ClampedArrays and remove manual clamping/rounding
    0๏ธโƒฃ #9821 Set the correct document title when opening a new file in the GENERIC default viewer
    #9795 Replace Util.extendObj by Object.assign
    #9827 Fix various corrupt PDF files (issue 9252, issue 9418)
    ๐Ÿšš #9830 Removed safari compatibility check (issue #9824)
    #9835 Clean-up the PDFDocumentProxy.loadingParams method in the API, and the locale viewer option
    #9832 Fix a number of regressions/inefficiencies introduced by adding Scroll/Spread modes to the viewer (PR 9208 follow-up)
    โœ… #9839 Add unit-tests for PDFPageProxy.stats (PR 9245 follow-up)
    ๐Ÿ“ฆ #9729 Add a gulp image_decoders command to package the image decoders (i.e. jpg.js, jpx.js, jbig2.js) separately, and publish them in pdfjs-dist
    #9841 Various (small) cleanup related to setting the initial document position on load
    ๐Ÿ‘ฏ #9849 Replace the cloneObj helper function, in the viewer, with native Object.assign (PR 9795 follow-up)
    #9838 Error, rather than warn, once a number of invalid path operators are encountered in EvaluatorPreprocessor.read (bug 1443140)
    ๐Ÿ— #9852 Proper Error Handling for Build Numbers of Downloaded Sources (Non-Git repositories).
    #9853 Fix re-rendering, using the same canvas, when rendering was previously cancelled (PR 8519 follow-up)
    โšก๏ธ #9859 Update translations and packages
    โšก๏ธ #9860 Update the localization README to indicate that the translations are imported from the Nightly channel
    #9858 Additional Scroll/Spread mode clean-up (PR 9832 follow-up)
    ๐Ÿ”จ #9861 Refactor PDFFindController to use the 'pagesinit' event, dispatched on the eventBus, to resolve the _firstPagePromise
    #9866 Prevent the development viewer, started with gulp server, from breaking completely in Private Browsing mode
    #9879 Correct the instructions in the README file for examples/mobile-viewer
    ๐Ÿšš #9880 Remove the jp-JP-mac locale
    #9877 Hide the Scroll/Spread mode buttons if the viewer is a PDFSinglePageViewer instance (PR 9858 follow-up)
    #9868 Stop exposing the URL polyfill in the global scope
    #9837 Replace NotImplementedException with unreachable
    #9881 Replace the remaining occurences of instanceof Array with Array.isArray()
    ๐Ÿšš #9887 Convert more code in the /src folder to use ES6 classes, such that Util.inherit can be removed
    ๐Ÿ“œ #9886 Prevent errors in sanitizeTTProgram, during parsing of CALL functions, when encountering invalid functions stack deltas (bug 1473809)
    ๐Ÿšš #9898 Change waitOnEventOrTimeout, in web/ui_utils.js, to return a regular Promise and remove the createPromiseCapability import
    ๐Ÿ“‡ #9900 Prevent Metadata/XML parsing from breaking PDFDocumentProxy.getMetadata when no XML root document is found (issue 8884)
    #9904 Modified Examples to work without systemjs
    ๐Ÿ”จ #9913 Provide custom messages for the no-restricted-globals ESLint rule, and refactor the .eslintrc files (PR 9868 follow-up)
    #9917 Add a BasePreferences.getAll method and use it to fetch all Preferences at once in PDFViewerApplication._readPreferences; ensure that the externalLinkTarget option is correctly set when the viewer is embedded
    ๐Ÿ’ป #9924 fix(browser): zlib is not available in browser
    #9933 README.md: suggest usage of https instead of git protocol
    #9935 [Regression] Convert Catalog.builtInCMapCache into a Map, instead of an Object, to ensure that it's correctly reset (PR 8064 follow-up)
    #9936 Validate the Preferences when fetching them from storage
    #9925 Attempt to estimate the minimum required buffer length when initializing StreamsSequenceStream instances
    ๐Ÿ”จ #9931 Refactor getPage (in the worker), and attempt to use the Linearization dictionary to lookup the first Page
    ๐Ÿ“‡ #9920 [api-minor] Add an IsLinearized property to the PDFDocument.documentInfo getter, to allow accessing the linearization status through the API (via PDFDocumentProxy.getMetadata)
    #9897 Prefer the Width/Height of the image data, rather than the image dictionary, for JPEG 2000 images (issue 9650)
    #9938 Ensure that Type0, i.e. composite, OpenType fonts with CFF tables are not treated as CFF fonts if their glyph mapping is non-default (issue 9915)
    ๐Ÿšš #9946 Removed Extraneous Matrix Check in CalRGB Conversion
    โœ… #9948 Add (basic) unit-tests for the non-global URL constructor (PR 9868 follow-up)
    โš  #9954 Stop warning for non-Name /Filter entries in the PDFImage constructor (PR 9897 follow-up)
    #9874 [api-minor] Include export value for checkboxes
    โœ… #9956 Allow loaded progress of 0 in unit tests.
    โœ… #9960 Fail when MD5 of test files fails on bots.
    โœ… #9959 Utility script to add a reference test.
    ๐Ÿ“œ #9961 Parse the font file to determine the correct type/subtype, rather than relying on the (often incorrect) data in the font dictionary
    #9958 Always fallback to system font on font failure.
    โšก๏ธ #9965 Update translations and packages
    #9964 Attempt to throw MissingPDFException when applicable in node_stream.js (issue 9791)
    #9968 Tweak the MMType1 font detection in getFontFileType to improve font telemetry (PR 9961 follow-up)
    ๐Ÿ”จ #9822 [api-minor] Refactor the annotation code to be asynchronous
    #9975 Re-factor destinations/getDestination to reduce unnecessary duplication, and reject non-string inputs
    #9980 Ensure that Uint8ClampedArray is used for image data transfered by getTransfers (PR 9802 follow-up)
    ๐Ÿšš #9988 Remove the unused PDFDocument.mainXRefEntriesOffset method
    โšก๏ธ #9989 Update translations and packages
    ๐Ÿšš #9987 [api-minor] Remove the obsolete createBlob helper function
    ๐Ÿšš #9991 Remove the deprecated ways, in BaseViewer, of setting the Scroll/Spread modes (PR 9858 follow-up)
    ๐Ÿ‘ #9977 Add support for async/await using Babel
    ๐Ÿšš #10000 Remove the unused defaultColor property on ColorSpace instances
    โšก๏ธ #10008 Update translations/packages and fix duplicated function name in the Esprima fixtures
    #9990 Convert the Catalog class, in src/core/obj.js, to ES6 syntax
    #10007 Convert the code in src/core/colorspace.js to use ES6 classes
    #10015 Adding chunkname to async loaded code
    ๐Ÿ‘• #10020 Ensure that the built PdfJsDefaultPreferences.jsm file won't be affected/touched during tree-wide ESLint rule changes in mozilla-central (PR 9571 follow-up)
    #10022 Implement text rendering modes in SVG backend
    ๐Ÿ“œ #10010 Attempt to find truncated endstream commands, in the fallback code-path, in Parser.makeStream (issue 10004)
    ๐Ÿ‘ #10019 Add general support for re-dispatching events, on EventBus instances, to the DOM
    #9986 Attempt to combine separate beginText/endText sequences in getTextContent (issue 9984)
    #10032 Replace broken link for pr8808.pdf.link
    #10031 Add a new parameter to JpegImage.getData to indicate the source of the image data (issue 9513)
    #10033 [api-minor] Implement a permissions API
    โช #10041 Revert "Attempt to combine separate beginText/endText sequences in getTextContent (issue 9984)"
    #10049 Fix font-string variable name typo
    #9340 Map all glyphs to the private use area and duplicate the first glyph.
    ๐Ÿ”จ #9995 Refactor code in the web/ folder to use async/await
    ๐Ÿ‘• #10053 Simplify the "spaced-comment" ESLint rule
    ๐Ÿšš #10034 Remove getSinglePixelWidth workaround
    โšก๏ธ #10054 Update translations/packages and use HTTPS for links in README.md
    #10052 Display the index of the currently active search result in the matches counter of the findbar (issue 6993, bug 1062025)
    #10055 Translate the new find match count strings to Dutch
    ๐Ÿ‘ #10028 Add initial support for "Whole words" searching in the viewer
    โšก๏ธ #10056 [Regression] Ensure that PDFFindBar.updateResultsCount doesn't throw when the viewer is closed, by providing proper default values
    #10060 Ensure that PDFFindController._requestMatchesCount won't return broken data when searching starts (PR 10052 follow-up)
    โœ… #10061 Implement unit tests for the isSameOrigin and createValidAbsoluteUrl utility functions and use the const keyword for constants in src/shared/util.js
    #10063 Slightly improve the isSourcePDF parameter handling in JpegImage (PR 10031 follow-up)
    ๐Ÿ‘ #10070 Attempt to support plural forms in the matches counter of the findbar (issue 10067)
    ๐Ÿ”จ #10066 Refactor the find controller
    ๐Ÿ’ป #10071 Enable forwarding, in FirefoxCom, of the matchesCount to the browser findbar (bug 1062025)
    ๐Ÿ‘ #10078 Improve plural support for the matches counter
    #10090 Ensure that all event properties are included, even if no (internal) listeners are registered, when re-dispatching events to the DOM (PR 10019 follow-up)
    โšก๏ธ #10095 Update packages and translations
    #10111 Replace String.prototype.substr() occurrences with String.prototype.substring()
    โšก๏ธ #10114 Update {PDFLinkService, PDFDocumentProperties}.setDocument to make the "url" parameter optional
    #10100 Clear all find highlights when the findbar is closed (issue 7468)
    โšก๏ธ #10116 Update packages and translations
    โœ… #10099 [api-major] Rework the find controller for unit testing
    ๐Ÿ— #9982 Use the Font Loading API in MOZCENTRAL builds, and GENERIC builds for Firefox version 63 and above (issue 9945, bug 1088663)
    #10119 Attempt to simplify the fileattachmentannotation event dispatching
    #10123 Attempt to simplify the PDFFindBar and PDFSidebar constructors
    โช #10126 [Regression] Restore the ability to start searching before a document has loaded, and ignore searches for previously opened documents (PR 10099 follow-up)
    #10128 Make PDFFindController less confusing to use, by allowing searching to start when setDocument is called
    ๐Ÿ‘ #10117 Add support of Ink annotation
    ๐Ÿšš #10136 Remove the unused mainContainer parameter from the Toolbar constructor
    #10138 Ensure that Toolbar.setPageScale always sets the pageScaleValue property to a valid value
    ๐Ÿ‘ท #10139 Ensure that the PDFDocumentLoadingTask is rejected when "setting up fake worker" failed (issue 10135)
    #10133 Set returnValues.suggestedLength to Content-Length if integer
    ๐Ÿ‘ท #10140 Combine the pdfjsFilePath and fallback workerSrc handling in src/display/api.js
    ๐Ÿ‘ท #10143 Ensure that getMainThreadWorkerMessageHandler won't accidentally break getDocument (PR 10139 follow-up)
    #10150 Add missing pagesCount getter to IPDFLinkService and SimpleLinkService
    ๐Ÿ‘ #10152 Add support for classList.toggle with the, optional, "force" parameter
    ๐Ÿ— #10155 Add Build Status Button
    ๐Ÿš€ #10166 Bump version numbers for stable and beta releases
    #10167 Export CMapCompressionType and PermissionFlag on the pdfjsLib object (issue 10148, PR 10033 follow-up)
    #10161 Ensure that onProgress is always called when the entire PDF file has been loaded, regardless of how it was fetched (issue 10160)
    #10168 Convert PDFDataRangeTransport to an ES6 class
    โšก๏ธ #10176 Update translations and packages
    โœ… #10179 Change splice to pop in annotation tests