NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2102 most downloaded on npm
Generic build of Mozilla's PDF.js library.
Last release 2 days ago
03 Oct 2026
Ships on a steady schedule
a new release about every 4 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
1566 releases · first in 2014
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Changes: #6753 Wraps worker script if its cross-origin location is detected. #6915 Refactor lookup hash tables/objects #6934 Adjust a comment discussi
Changes:
#6753 Wraps worker script if its cross-origin location is detected.
#6915 Refactor lookup hash tables/objects
#6934 Adjust a comment discussing transferred ArrayBuffers, to refer to those buffers being detached, not neutered (consistent with bug 1079844)
#6921 Always display deprecated messages, regardless of the verbosity setting
#6940 Ensure that we don't modify the Dict data when the Differences array of a font contains indirect objects
#6953 Correct the upper bound used when building the transferMap for SMasks (PR 6723 followup)
#6904 Destroy workers when they are no longer needed in the unit tests
#6913 Improve work-around for importScripts bug.
#6938 Fix 'Ready' message sequence for Firefox ext disabled worker.
#6933 Make type 1 font program decryption faster.
#6954 Various setGState improvements
#6971 Replace getAll with getKeys in PartialEvaluator_hasBlendModes to speed up loading of badly generated PDF files (issue 6961)
#6941 Allow local PDF files to be viewed in local frames
#6973 Fix a typo in api.js
#6972 Replace getAll with getKeys in loadType3Data
#6975 Get rid of getAll usage in colorspace.js
#6939 Use UglifyJS to minify files in minified target
#6856 move hasHtml to AnnotationElement
#6982 Remove the only remaining Dict_getAll usage (in evaluator.js) and the method itself
#6987 Remove Opera from the README file as they removed the extension
#6985 Remove XHTML leftovers from the viewer HTML files
#6998 [api-minor] Change getOutline to actually return the RGB color of outline items
#6984 Update JpegImage.getData to support forceRGBoutput for images with numComponents === 1 (issue 6066)
#7007 [Addon] Catch errors in getFindBar (in PdfStreamConverter.jsm) to fix loading of PDF files in the bookmark sidebar (bug 1248959)
#7012 [api-minor] Don't render highlight/underline/squiggly/strikeout annotations that doesn't have popup
#7009 [api-minor] Always expose data.title and data.contents for TextAnnotation
#6988 Implement support for FileAttachment annotations
#7016 Group popup creation code and apply it to more annotation types
#7030 Remove the hasImage property from PDFThumbnailView
#7031 Add a default title for outline items, to prevent display issues if the title is missing
#7036 [SVG] Specify the PDFJS.cMapUrl/PDFJS.cMapPacked parameters in the svgviewer example
#7035 Ensure that PDFFindController_reset actually resets all state (issue 7034)
#7038 Move the sidebar related code from viewer.js into PDFSidebar
#7040 Remove PDFThumbnailViewer_ensureThumbnailVisible
#6879 Makes PDF data reading Streams API friendly.
#7049 Avoid accidentally getting the entire font file in readNameTable (issue 7020)
#7023 Only draw glyphs on canvas if they are in the font or the font file is missing.
#7050 For CIDFontType2 use CID as glyph ID when missing CID to GID map.
#7052 Reverts back un-need change made at #6879.
#6943 Add support for bold/italic styled outline items in the viewer
#7054 Correct a minor name issue in the outline viewer code
#7061 Introducing gulp
#7063 Migrate clean and importl10n target to gulp
#7029 [PDFThumbnailView] Re-factor the canvas to image conversion such that we always render to a canvas, and then replace it with an image once rendering is done
#7046 fonts.js: bad metric overrides when values are zero
#7069 Convert uniXXXX glyph names to proper ones when building the charCodeToGlyphId map for TrueType fonts (bug 1132849, issue 6893, issue 6894)
#6906 avoid apply transform twice for composite context
#7084 Revert renaming node make to gulp for mozcentral
#7088 Pass the PDFJS.postMessageTransfer parameter to the worker, so that the MessageHandler can be setup correctly in createDocumentHandler (issue 6957)
#7093 Use the correct path when checking if a /l10n directory exists, to avoid errors during gulp importl10n (PR 7063 followup)
#7039 Refactors CMapFactory.create to make it async
#7098 Ensure that TrueType font tables have uint32 checksums
#7100 Removes core/stream circular dependency on core/parser.
#7105 Add an ISSUE_TEMPLATE
#7005 Fixes insertion of blank pages during print if page sizes differ
#7108 Removes frontWindow usage from the stream converter.
#7113 Disables issue6961 test.
#7053 Removes global PDFJS usage from the src/core/.
#7122 Allow unit-tests to use linked PDF files, by having the unittest command download unavailable ones (issue 7117)
#7118 Prevent failures in the Annotation code if the Rect array contains indirect objects (issue 7115)
#7129 Updates Jasmine version.
#7128 Add unit-tests for destionations in /Names (NameTree) dictionaries where all entries are indirect objects
#7102 Log uncaught global errors.
#7133 Faster unit-tests by using beforeAll/afterAll in api_spec.js
#7066 Parse Type1 font files to determine the various Length{n} properties, instead of trusting the PDF file (issue 5686, issue 3928)
#7078 Refactor the building of toFontChar for non-embedded fonts
#7106 Keep track of the character to glyph mapping in font_renderer.js, to prevent errors when different characters point to the same glyph (issue 7101)
#7134 Refactors to remove stream.js dependency on colorspace.js
#7107 Detect premature worker load error
#7146 Extract CFFParser and Type1Parser from fonts.js
#7148 Forces UMD header to have relative path and extension for CommonJS.
#7114 [Bug 1237908] Make pdf.js use the correct principal origin attributes when loading …
#7144 Prepare viewer.js for async loading and module separation.
#7150 Initial browserify example.
#7158 Update Webpack and Browserify example README files
#7169 Specifies package format for jspm.
#7164 Use beforeAll/afterAll in isExternalLinkTargetSet in dom_utils_spec.js (issue 6905)
#7126 Move all PDFJS display/ usages into global.js file.
#7097 Prevents document zooming if still scrolling and meta keys pressed (Issue #7022)
#7170 Prevent the entire viewer from zooming, when quickly switching from scrolling to zooming using the mousewheel (PR 7097 followup)
#7174 Use beforeAll/afterAll in CipherTransformFactory in crypto_spec.js (issue 6905)
#7171 Remove the remaining usages of new {Name,Cmd} in favor of {Name,Cmd}.get
#7175 Use beforeAll/afterAll in font_spec.js (issue 6905)
#7178 Removes hijack describe() hack from unit tests.
#7176 Allow SMask be resumed after restore() and better transform after SMask
#7184 [Bug 1260585] Stops bleeding of pattern edges for mesh.
#7185 Support almond.js #7177
#7189 Removing "entry-loader" dependency from webpack.
#7172 Introduces UMD headers to the web/ folder.
#7191 Export the DefaultAnnotationLayerFactory to prevent the viewer components from breaking (PR 7172 followup)
#7201 Ensure that the params parameter of the PredictorStream is a dictionary (issue 7200)
#7197 Remove combineUrl and replace it with new URL. Issue #7183, for reference.
#7190 Dispatch a sidebarviewchanged event in PDFSidebar when the view changes
#7116 Refactor LinkAnnotation slightly, improve handling of the GoToR action, and add unit-tests
#7206 Expose a few non-classes on PDFViewerApplication
#7207 Convert the hand tool to a class
#7211 Add a couple of CipherTransformFactory unit-tests for blank passwords, and move the isDict unit-tests to the correct file
#7210 Split the two paths in PDFImage.resize into separate helper functions, placed in colorspace.js and image.js
#7219 Convert the password prompt to a class
#7233 Adjust incorrect first obj number of "free" xref entry in XRef_readXRefTable (issue 7229)
#7209 Moves all document.getElementById lookups into viewer.js
#7235 Version 1.5
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →