PDF.js v1.7.225 Release Notes

Release Date: 2017-01-26 // about 3 years ago
  • πŸ”„ Changes:

    πŸš€ #7692 Release of 1.6.210
    πŸ“œ #7670 Only skip parsing a stream in Parser_makeFilter when we know for sure that it is empty (PR 6372 follow-up)
    #7671 Interactive forms: render choice widget annotations
    πŸ–¨ #7677 Bug 1302069 - Printing canvases at PDF document size.
    #7694 Disables Font Loading API for Firefox.
    ♻️ #7697 Refactoring of printing code and mozPrintCallback polyfill
    #7514 Ensure that we cancel any pending rendering operations when the viewer is closed (issue 7274)
    #7714 Fix getTextContent evaluation to only apply TJ horizontal offsets using numeric items/args
    ⚑️ #7722 Update to latest grab-to-pan version
    πŸ’… #7726 Remove a remaining old-style preprocessor from src/core/fonts.js (PR 7322 follow-up)
    #7668 Prevent an infinite loop in XRef_fetchUncompressed for encrypted PDF files with indirect objects in the /Encrypt dictionary (issue 7665)
    πŸ“œ #7727 Let Parser_makeFilter pass in the DecodeParms data to various image Streams, instead of re-fetching it in various [...]Stream.prototype.ensureBuffer methods
    #7728 Gulp: port the all, extension and jsdoc targets
    πŸ“š #7730 Fix a couple of JSDoc @typedefs to use @property (instead of @param) to fix some missing documentation when running gulp jsdoc
    ♻️ #7715 SVG: optimize and refactor group creation code
    🚚 #7732 Removes SVG this.cgrp usages.
    #7717 Explain double-click behaviour on tool tip
    πŸ‘ #7689 [api-minor] Add support for relative URLs, in both annotations and the outline, by adding a docBaseUrl parameter to PDFJS.getDocument (bug 766086)
    #7749 Avoid accidentally rejecting a named destination that looks like a decimal number or a boolean (PR 7341 follow-up)
    #7756 Travis CI: use most recent version of NPM
    #7750 Add more validation to PDFLinkService_navigateTo
    🚚 #7757 Remove/deprecate specifying a pageNumber directly after the hash symbol (#), to improve compatibility since other PDF viewers don't support this form (issue 7746)
    ♻️ #7766 Printing refactor split from 7721
    ⚑️ #7771 Localization updates
    🌐 #7773 [l10n] Add Swedish translations for a couple of new/changed localization IDs
    πŸ’… #7774 Improve lint coverage and correct code style violations
    πŸ‘ #7745 [api-minor] Add basic support for Launch actions (issue 1778, issue 3897, issue 6616)
    #7775 Widget annotation: implement field name according to the specification
    #7778 Additional check to ensure pdfViewer object is defined before handleMouseWheel event accesses its property isInPresentationMode
    #7782 Use stringToPDFString to sanitizing bad "Prefix" entries in Page Label dictionaries, and add more validation
    πŸ“œ #7698 Ignore reserved commands when parsing operands in CFFParser_parseDict, instead of just rejecting the entire font (bug 1308536)
    πŸ‘ #7786 Add HTTPS support for Demo
    πŸ“± #7781 Viewer: improve responsiveness and clean up CSS
    #7792 Make the customScaleOption disabled to prevent it being keyboard accessible (bug 1315608)
    πŸ‘ #7794 [api-minor] Add support for a couple of white-listed JavaScript actions that contains valid URLs (issue 3897, bug 843699)
    #7800 Replace the Safari detection in checkRangeRequests in compatibility.js with a regular expression
    #7801 Enable removing of all comments (except for Copyright notices) when preprocessing code, and reduce the indentation level
    #7803 Fix #7701: additional check for http/https protocols to fix unsafe he…
    #7819 For commands with with too few arguments, clear out args if it's an Array instead of replacing it with null in EvaluatorPreprocessor_read (issue 7804)
    ♻️ #7789 Refactor toolbar.
    #7738 Adds SVG rendering capabilities to the main viewer.
    ⚠ #7826 Prevent "unreachable code after return statement" warnings from PDFPageView_paintOnSvg in the addons
    🀑 #7830 Return a mock object in paintOnSvg when SVG rendering is not supported, to prevent TypeErrors in the addons
    #7793 Rename the ViewHistory localStorage (and sessionStorage) key from database to pdfjs.history, and migrate existing data on read (issue 7760)
    #7839 Correctly detect more cases of non-embedded Arial Black fonts (issue 7835)
    #7832 Expose the optional UserUnit entry as a page property
    ♻️ #7841 Compatibility: disable range requests for iOS and refactor user agent detection
    #7845 Make: include minified library files for the distribution target
    #7846 Bidi: import Unicode types from the specification
    🚚 #7849 Viewer: remove unused CSS rule
    πŸ“œ #7853 Fix the JSDoc comment for Catalog.parseDestDictionary
    #7700 Improve rendering of non-embedded NuptialScript font
    #7628 Fallback to the StandardEncoding for Nonsymbolic fonts without /Encoding entry (issue 7580)
    #7858 Make the keyboard shortcuts Ctrl + Up/Down behave as Home/End (issue 7852)
    #7856 Ensure that PartialEvaluator_extractWidths is able to handle indirect objects in all kinds of "width" data (issue 7855)
    #7862 Don't fail if mozL10n is not present.
    βœ… #7857 add basic unit-tests for murmurhash3.js
    βœ… #7868 Adjust one of the Page Label unit-tests to use a PDF file where the "St" entry is both present and non-default (i.e. greater than one)
    ♻️ #7863 Colorspace: refactoring to prevent unnecessary creation of intermediate arrays
    πŸ“‡ #7881 Remove a misplaced false from a condition in fixMetadata, in metadata.js, since it currently short circuits the entire condition
    πŸ“œ #7884 Ensure that we resolve indirect objects in Filter and DecodeParms arrays in parser.js
    #7873 Document: handle indirect objects in MediaBox and CropBox entries
    🚚 #7705 Move symbolic font glyphs to private use area if they don't have unicode mappings (issue 2594, bug 789074, bug 865644)
    πŸ’… #7890 Fix a number of code style issues found by various ESLint rules, to make it easier to switch from JSHint to ESLint
    🚚 #7886 Move the Preferences initialization/fetching code to the top of PDFViewerApplication.initialize, to enable using them when initializing e.g. the viewer components
    πŸ‘• #7897 Switch to using ESLint, instead of JSHint, for linting
    #7900 Ensure that we handle indirect objects in all types of Opt entries in ChoiceWidget annotation dictionaries
    #7898 Interactive forms: render button widget annotations (checkboxes and radio buttons)
    #7879 Make use of textAdvanceScale consistent during combineTextItems. Fix for #7878.
    #7829 Let finishPaintTask in pdf_page_view.js return a promise instead, to avoid having to throw in the paintTask.promise rejection handler, and don't reject the PDFPageView_draw promise when rendering is cancelled
    #7920 Improve the handling of Encoding dictionary, with Differences array, in PartialEvaluator_preEvaluateFont
    #7926 [api-minor] Ensure that the getDocument Promise is rejected if the loadingTask is destroyed, or an Error is thrown, inside of the onPassword callback (issue 7806)
    βœ… #7934 Unit test files as modules
    πŸ‘• #7935 Enable the no-else-return ESLint rule
    βœ… #7939 Enables some unit tests on travis.
    #7941 Replace direct lookup of uniquePrefix/idCounters, in Page instances, with an idFactory containing an createObjId method instead
    βœ… #7942 Fixes preprocessor testing and adds deadcode removal.
    πŸ— #7943 Various fixes for the external/builder/test*.js files
    🚚 #7944 Removes Promise usage from preferences.js
    πŸ›  #7869 Fixes issue #6071 - TIFF with 1 bit-depth
    🚚 #7945 Moves locale and cmaps tasks to gulpfile.
    #7948 Fix inverted calculation of RTL text percentage in bidi
    #7951 Rename annotation_layer_spec.js to annotation_spec.js to better describe what is actually tested, and simplify the FileAttachmentAnnotation unit-test to avoid having to use the entire API in the test
    #7904 Further adjust the heuristics used to detect OpenType font files with CFF data, to ensure that all Type0 fonts are handled the same way regardless of font Subtype (issue 7901)
    🚚 #7913 [Firefox addon] Change the minimum supported version to Firefox 45, i.e. the current ESR version, and remove no longer necessary fallback code
    🚚 #7954 [Bug 1329182] remove trailing newURI null parameters
    🚚 #7956 [Bug 1330147] removeObserver calls should not supply a third parameter
    πŸ‘• #7960 Adjust the space-unary-ops ESLint rule to comply with mozilla-central lint rules
    🚚 #7965 [Bug 1331081] omit addEventListener/removeEventListener's third parameter when it's false
    πŸ‘• #7974 Enable the no-lone-blocks ESLint rule
    πŸ‘• #7980 Fix #7978: Fixes ESLint yoda rule for the URL polyfill.
    πŸ‘• #7979 Enable the no-unsafe-finally/no-octal/no-useless-call ESLint rules
    πŸ‘• #7973 Enable the spaced-comment ESLint rule
    πŸ›  #7985 Fixes IE9 document.readyState and input.type=number issues.
    #7977 Ensure that we use the correct paintedViewport in PDFPageView.cssTransform, to avoid visual glitches on quick rotations (PR 7738 follow-up)
    πŸ‘ #7982 [Firefox addon] Convert the code to be ES6 friendly, in order to better agree with mozilla-central coding conventions (issue 7957)
    πŸ‘• #7988 Enable the no-empty-pattern/no-floating-decimal/no-self-compare/no-delete-var/no-new-object ESLint rules
    🚚 #7971 remove viewer page div id
    πŸ— #7990 [Firefox addon] Stop bundling src/core/network.js into the FIREFOX/MOZCENTRAL builds (PR 7322 follow-up)
    #7987 [api-minor] Adds noopener and nofollow to rel attribute of hyperlinks.
    #8000 Version 1.7