All Versions
Latest Version
Avg Release Cycle
110 days
Latest Release
756 days ago

Changelog History
Page 2

  • v1.8.188 Changes

    April 13, 2017

    πŸ”„ Changes (from 1.8.170):

    πŸš€ #8249 Release 1.8.170
    βœ… #8244 Actually skip pages included in the skipPages array when running tests, rather than creating empty 1x1 canvases (issue 8241)
    πŸ‘• #8257 Enable the prefer-promise-reject-errors ESLint rule
    #8266 Normalize blend mode names.
    πŸ‘ #8273 Correctly detect if requestAnimationFrame is supported in compatibility.js (issue 8272)
    #8275 Rename PdfJsTelemetry-addon.jsm to PdfJsTelemetry-stub.jsm
    πŸ‘ #8228 Implement support for line annotations
    πŸ‘· #8262 Fix worker resolution on using minified version

  • v1.8.170 Changes

    April 06, 2017

    πŸ”„ Changes:

    πŸš€ #8001 Release of 1.7.225
    πŸ‘• #7991 [Firefox addon] Enforce double quotes, using ESLint, to avoid linting errors in mozilla-central (issue 7957)
    πŸ‘• #7995 [Firefox addon] Enable the consistent-return ESLint rule (issue 7957)
    🚚 #8003 Move EOF/isEOF from core/parser.js to core/primitives.js
    🚚 #8006 Remove usage of mozFillRule
    #7959 Display a notification on the sidebarToggle button for PDF documents with outline/attachments
    🚚 #8016 Remove the unused isStream property on various Streams
    πŸ‘• #7972 Enable the no-unused-vars ESLint rule
    🚚 #8023 Moves preprocessor stuff to the gulpfile.
    πŸ’… #8025 Adjust the brace-style ESLint rule to disallow single lines (and also enable no-iterator)
    🚚 #8027 [Firefox addon] Remove the unused MOZ_CENTRAL constant
    πŸ”¨ #8002 [api-minor] Fix #7798: Refactor scratch canvas usage.
    #8030 Interactive forms: rewrite AcroForms example
    βœ… #8028 Prevent browser console errors during testing
    #8035 [api-minor] Add a getDocument parameter that allows disabling of the NativeImageDecoder (e.g. for use with Node.js)
    πŸ›  #8036 [api-minor] Fixes behaviour of DOMCanvasFactory to return {canvas, context}.
    πŸ”€ #8038 Moves sed processing into the preprocessing tasks and merging tasks.
    #8039 Moving interactive examples to
    ⚑️ #8040 Update localization files
    #8041 Interactive forms: set the buttonValue for radio buttons that do not have a fieldValue
    πŸ–¨ #8043 Allow automatic print rotation via the enablePrintAutoRotate preference
    #8046 Replacing custom bundling with webpack 2
    πŸ”§ #8053 [Chromium addon] Prevent errors that break the addon, caused by the DEFAULT_URL constant being replaced by a defaultUrl viewer configuration parameter (PR 8046 follow-up)
    πŸ— #8054 Write the l10n files to the correct destination for gulp mozcentral builds (PR 8023 follow-up)
    πŸ›  #8058 Fixes pdf.combined.js for webpack
    🚚 #8056 Use ChildNode.remove instead of ChildNode.ParentNode.removeChild in a couple of places (bug 1334831, issue 8008)
    #8060 Font ascent descent calculation fix
    #8062 Improve the README by removing outdated information
    #8063 Consume the current character when encountering illegal characters in Lexer.getObject, in order to prevent infinite loops during reading of streams (issue 8061)
    πŸ— #8067 Include the pdfjschildbootstrap.js file in the output for gulp mozcentral builds (PR 8023 follow-up)
    #8070 New node.js check to protect from webpack.
    πŸ”¨ #8065 Annotations: refactor setting the normal appearance stream
    #8071 Always choose a (3, 1) cmap table for TrueType fonts that have an encoding specified, regardless of the Symbolic font flag (bug 1337429)
    πŸ”¨ #8064 [api-minor] Refactor fetching of built-in CMaps to utilize a factory on the display side instead, to allow users of the API to provide a custom CMap loading factory (e.g. for use with Node.js)
    βœ… #8080 Enable running the cmap unit-tests on Travis by utilizing a NodeCMapReaderFactory
    #8024 Open PDF attachments in the viewer instead of an unconditional download
    #8081 iOS Chrome: Fix broken download button
    #8091 Gulp: migrate baseline target from make.js
    #8105 Always check all Kids nodes, in Catalog.getPageDict, to avoid getting stuck in an empty node further down in the Pages tree (issue 8088)
    🚚 #8102 Move compatibility code to the shared/compatibility.js.
    πŸ‘· #8107 Init PDFWorker via MesssagePort.
    #8109 Add gulp task to generate refs.
    #8106 Ensure that Dicts found in Object Streams are assigned an objId in XRef.fetch
    #8110 Interactive forms: make choice widget options inheritable (issue 8094)
    🚚 #8072 Annotations: move operator list addition logic to src/core/document.js
    #8050 Replaces RequireJS to SystemJS.
    🚚 #8115 [] Remove any mention of the mailing list, and the weekly meetings
    πŸ‘• #8116 Get rid of a couple eslint-disable statements in web/download_manager.js by instead relying on the preprocessor dead-code removal added in PR 7942
    #8087 Allows to pull pdf.js from pdf_viewer using require().
    πŸ‘ #8112 Support the newWindow flag in white-listed app.launchURL JavaScript actions (PR 7794 follow-up)
    #8126 Ensure that we don't ignore 0 values in Page.getInheritedPageProp (issue 8125)
    #8128 Network: use the current location to prevent errors when using CSP headers
    #8120 Publishes processed sources into pdfjs-dist/lib
    #8129 Return undefined instead of Dict.empty from Page.getInheritedPageProp for non-existent properties to prevent possible future bugs
    🌐 #8130 Don't include web/compatibility.js in the output for gulp lib (PR 8120 follow-up)
    🚚 #8138 Get rid of element.removeChild(element.firstChild) usage (bug 1345253)
    #8132 Viewer: enable find functionality for small devices
    #8144 Widget annotations: do not crash if Parent is not a dictionary during field name construction (issue 8143)
    🚚 #8151 Remove unnecessary CSS class
    #8135 Handle cff fonts with erroneous stackSize (issue 8097)
    #8156 Add (and adjust) a couple of findbar title attributes, in viewer.html, that doesn't agree with the l10n/en-US/ file
    #8154 Change to conditions that pdfjsLib
    #8168 Normalize the BBox entry in Tiling Pattern dictionaries (issue 8117)
    πŸ‘• #8174 Adjust the yoda ESLint rule to apply to inequalities as well
    #8172 Upstream the changes from bug 1345294 - nsIPrefBranch should have methods to get/set unicode strings
    #8170 Try to recover when encountering JPEG markers with too short marker lengths (issue 8169)
    0️⃣ #8164 Don't read past the EOI marker for JPEG images with non-default restart interval (issue 7828)
    #8183 Ensure that PDFDocument.documentInfo doesn't fail during document load, when the entire XRef table hasn't been fetched yet (issue 8180)
    #8184 Rethrow MissingDataException when needed
    #8194 Use a proper MessageHandler for PartialEvaluator.getTextContent to avoid errors for fonts relying on built-in CMap files (PR 8064 follow-up)
    🚚 #8196 Remove unnecessary xref parameters from various method signatures in PartialEvaluator, since this.xref is already available in the relevant scope
    #8198 Example for converting PDF to PNG using the Node canvas library
    #8195 Enable babel on sources
    #8190 Try harder to find the next valid JPEG marker when decoding Scan data (issue 8182, issue 8189)
    πŸ‘• #8202 Add a couple of basic ES6 rules to the ESLint config
    🐎 #8207 Use a simple RefSetCache to significantly improve the performance of Catalog.getPageDict for certain long documents (PR 8105 follow-up)
    #8205 Improve the error handling when loading of built-in CMap files fail (PR 8064 follow-up)
    πŸ”¨ #8210 Refactor removing of the zoomLayer into a helper method, and use that in PDFPageView.reset to ensure that the entire zoomLayer is actually removed (issue 8209)
    #8232 Lazily load NetUtil.jsm in PdfStreamConverter.jsm.
    πŸ”€ #8218 Split pdfjschildbootstrap.js to avoid sync IPC
    #8157 [api-minor] Reject the RenderTask with an actual Error, instead of just a string, when rendering is cancelled
    #8222 ios: Patch cancelAnimationFrame whenever fakeRequestAnimationFrame is used
    #8235 Disable the NativeImageDecoder in the node/pdf2svg.js example (issue 7901)
    #8239 Stub out Firefox addon Telemetry wrapper
    #8243 Don’t skip glyph 0 in cmap.
    #8248 Version 1.8

  • v1.7.225 Changes

    January 26, 2017

    πŸ”„ 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