v6.1.200
This release contains improvements for annotation rendering, annotation editing, font conversion, image conversion, merging files, SMask rendering and the viewer.
- Bump the stable version in
pdfjs.configby @timvandermeij in https://github.com/mozilla/pdf.js/pull/21360 - Disable WebGPU for Firefox tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21364
- Skip the format 4 cmap sub-table when it doesn't fit its 16-bits fields by @calixteman in https://github.com/mozilla/pdf.js/pull/21365
- Use the
MathClamphelper function in thesrc/display/canvas.jsfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21367 - Update the
StringStreamconstructor to accept an optional dictionary argument by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21366 - Mark a couple of viewer, and editor, EventBus listeners as "internal" by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21368
- Improve the
BaseStream.prototype.cloneimplementations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21371 - Add an integration-test for clicking on internal links in presentation mode by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21373
- Fix intermittent failure in the "must check that a freetext is still here after having updated it and scroll the doc" freetext editor integration test by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21361
- Restore editor layer state for unchanged pages after page mutations by @calixteman in https://github.com/mozilla/pdf.js/pull/21347
- Render gray transparency groups in grayscale by @calixteman in https://github.com/mozilla/pdf.js/pull/21372
- Fix broken
enableSelectionRendering: falseby @wooorm in https://github.com/mozilla/pdf.js/pull/21378 - Implement proper serialization of
OptionalContentConfigby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21349 - [api-minor] Add support for
/AuthEvent, on-demand decryption by @wooorm in https://github.com/mozilla/pdf.js/pull/21351 - Run browser tests to collect code coverage data by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21359
- Bump github/codeql-action from 4.35.5 to 4.36.0 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21382
- Remove the
#externalHidefield from theAnnotationLayerBuilderclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21380 - Extend the
AppOptionsunit-tests to also cover theEVENT_DISPATCHoption-kind by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21385 - Shorten the
getBytesmethod in theStream/ChunkedStreamclasses by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21384 - Add knockout_inner_backdrop ref test by @calixteman in https://github.com/mozilla/pdf.js/pull/21383
- Deduplicate shared font/image streams when merging PDFs by @calixteman in https://github.com/mozilla/pdf.js/pull/21379
- Bug 2035251 - Use toolkit's pdf icon as favicon by @sfoster in https://github.com/mozilla/pdf.js/pull/21358
- Match editor keyboard shortcuts by event.code as a fallback by @calixteman in https://github.com/mozilla/pdf.js/pull/21350
- Update the README in order to add some info about code coverage by @calixteman in https://github.com/mozilla/pdf.js/pull/21389
- fix typo in bit flag value for suppressCropClip by @KonstantinRight in https://github.com/mozilla/pdf.js/pull/21386
- Reject the stream-capability when aborting the
ChunkedStreamManagerby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21387 - Strip the JBIG2 file header from JBIG2Decode streams by @calixteman in https://github.com/mozilla/pdf.js/pull/21388
- Add one more unit-test case for invalid email domains in the
Autolinkerclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21392 - Add a unit-test for passing a filesystem URL-string (in Node.js) to
getDocumentby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21391 - Add a unit-test for passing a binary string to
getDocumentby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21390 - Add basic integration-tests for the
PDFCursorToolsfunctionality by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21393 - Shorten the
DrawLayerBuilder.prototype.cancelmethod a tiny bit by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21395 - Prevent intermittent issues when invoking the
PDFPageView.prototype.#injectLinkAnnotationsmethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21396 - Upgrade
codecov/codecov-actionto version 7.0.0 by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21398 - Run various test-suite when the
external/folder is modified by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21400 - Update dependencies to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21402
- Update quickjs to rev 3d5e064e9dd67c70f7962836505a7fa067bf0a4e by @calixteman in https://github.com/mozilla/pdf.js/pull/21399
- fixed typo in README.md by @matasaru in https://github.com/mozilla/pdf.js/pull/21404
- Fix transparent color of
::selectionin Firefox by @wooorm in https://github.com/mozilla/pdf.js/pull/21408 - Remove the
Map.prototype.getOrInsertComputedpolyfill from the scripting implementation (PR 21399 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21405 - Bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21420
- Bump github/codeql-action from 4.36.0 to 4.36.1 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21421
- Handle TR2 with /Default entry by @calixteman in https://github.com/mozilla/pdf.js/pull/21414
- [api-minor] Convert
getAttachmentsto return data in aMapby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21418 - Add a
PDFViewerhelper method for setting#printingAllowedand dispatching the event by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21409 - Fix form fields with their own canvas updated on non-rendered pages by @calixteman in https://github.com/mozilla/pdf.js/pull/21407
- [CRX] List all viewer-accessible schemes in the connect-src CSP by @calixteman in https://github.com/mozilla/pdf.js/pull/21419
- Improve rendering of comb text fields by @calixteman in https://github.com/mozilla/pdf.js/pull/21413
- Drop 'unsafe-inline' from the CSP style-src directives by @calixteman in https://github.com/mozilla/pdf.js/pull/21416
- Use the
convertBlackAndWhiteToRGBAhelper with grayscale images inputBinaryImageDataby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21427 - Fix the unit-tests for on-demand password handling of encrypted attachments (issue 21425) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21429
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in https://github.com/mozilla/pdf.js/pull/21433
- Handle corrupt PDFs that lack /Kids array and just inline the /Page dictionary (issue 21436) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21437
- Use the checkboxes and radio button appearances as defined in the pdf to render them in the annotation layer (bug 1802506) by @calixteman in https://github.com/mozilla/pdf.js/pull/18907
- [api-minor] Remove the unused
convertToViewportRectanglemethod in thePageViewportclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21426 - Use the
isDicthelper function in a few more places by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21431 - Use
Map.prototype.getOrInsertComputed()more in the code-base by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21439 - Re-factor the
isSourcePDFhandling in theJpegImageclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21441 - Reduce duplication when invoking
finishWorkerTaskby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21443 - Update dependencies to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21446
- Add an integration-test for merging a corrupt PDF by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21452
- Add an integration-test for merging a password-protected PDF by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21444
- Use the
convertRGBToRGBAhelper with RGB images inputBinaryImageDataby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21440 - Fix intermittent failure in the
must check that the comment sidebar is resizablecomment integration test by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21448 - Don't download Puppeteer browsers on
npm installby @timvandermeij in https://github.com/mozilla/pdf.js/pull/21453 - Upgrade
eslint-plugin-unicornto version 66.0.0 by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21454 - Resolve checkbox/radio export values from the 'Opt' entry by @calixteman in https://github.com/mozilla/pdf.js/pull/21428
- Remove the unused
HighlightOutline.prototype.classNamesForOutlininggetter by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21456 - Remove unneeded check in the "GetAnnotationsByType" worker-thread handler by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21457
- Draw non-isolated blend-mode groups against their backdrop (bug 1873345) by @calixteman in https://github.com/mozilla/pdf.js/pull/21455
- Bump github/codeql-action from 4.36.1 to 4.36.2 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21461
- Use ternary expressions to shorten code in
src/core/editor/pdf_editor.jsby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21459 - Bump markdown-it from 14.1.1 to 14.2.0 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21464
- Adjust the 'BaseException' unit-test for the 'Error.stack' changes in Firefox by @calixteman in https://github.com/mozilla/pdf.js/pull/21463
- Don't clamp BlueScale up when a font genuinely has small zones by @calixteman in https://github.com/mozilla/pdf.js/pull/21462
- Check every LinkAnnotation when testing if inferred links overlap (issue 21458) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21460
- Add a 'supportsDownloading' browser option to gate saving/downloading by @calixteman in https://github.com/mozilla/pdf.js/pull/21310
- Re-derive annotation attachment content from the xref after cleanup by @calixteman in https://github.com/mozilla/pdf.js/pull/21465
- Remove unused branches in the
src/display/canvas.jsfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21467 - Avoid too long BlueScale value when rewriting a CFF font by @calixteman in https://github.com/mozilla/pdf.js/pull/21469
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in https://github.com/mozilla/pdf.js/pull/21471
- Add a unit-test for relative URI actions specified as /Name instances by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21476
- Remove unnecessary explicit return statements in
CanvasGraphics.prototype.showTextby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21473 - Bump undici from 7.24.3 to 7.28.0 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21472
- Stop event propagation, for the
Enterkey, in the passwordPrompt input by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21482 - Remove the unused
AnnotationEditorUIManager.prototype.isSelectedmethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21470 - Use the
isDicthelper in theCatalog.prototype.metadatagetter by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21481 - Don't swallow
MissingDataExceptions in theAnnotation.prototype.#setOptionalContentmethod (PR 21313 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21479 - A couple of small tweaks of the
StructElementNode.prototype.mathMLgetter by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21480 - Vertically center the glyphs in comb text fields by @calixteman in https://github.com/mozilla/pdf.js/pull/21478
- Reset alpha before drawing a colored glyph in type 3 font by @calixteman in https://github.com/mozilla/pdf.js/pull/21483
- Use AES256 for V=5 documents with a mislabeled AESV2 crypt filter (bug 2046659) by @calixteman in https://github.com/mozilla/pdf.js/pull/21485
- Add support for RichMedia annotations by @calixteman in https://github.com/mozilla/pdf.js/pull/21474
- Remove the
AnnotationEditorUIManagerandIdManagertest-onlyresetmethods (PR 19809 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21489 - Sort the mappings last in the
readCmapTablefunction (PR 19321 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21491 - Improve the
sinkhandling ingetTextContentfor Highlight annotations (PR 20019 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21486 - Add support for Screen annotations playing embedded media by @calixteman in https://github.com/mozilla/pdf.js/pull/21490
- Update dependencies to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21492
- Include the
cataloginstance in theannotationGlobalsdata by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21488 - Bump library version to
6.1by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21499 - Tweak some
String.prototype.substring()usage by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21497 - Change
issue17906to test "forms" rendering by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21502 - Move SVG text selection styles to pdf_viewer.css (bug 2049302) by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/21504
- Render non-empty glyph 0 for char code 0 by @calixteman in https://github.com/mozilla/pdf.js/pull/21487
- Disable selection rendering when backdrop-filter is unsupported (bug 2050191) by @calixteman in https://github.com/mozilla/pdf.js/pull/21500
- Inline the
initmethod in theStructTreeRootconstructor by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21505 - Use more optional chaining in the
src/andweb/folders by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21508
v6.0.227
PDF.js 6.0 is a major release that contains a number of API changes, features and bugfixes.
The complete list of changes in this release is shown below. If you're upgrading to PDF.js 6.0 we recommend checking the changes prefixed with [api-minor] and [api-major] since those might require updates to your code.
- Bump the stable version in
pdfjs.configby @timvandermeij in https://github.com/mozilla/pdf.js/pull/21177 - Improve the performances of "gulp lint" by @calixteman in https://github.com/mozilla/pdf.js/pull/21169
- Convert
Catalog.prototype.getPageIndexto an asynchronous method by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21181 - Split integration tests into per-browser jobs by @calixteman in https://github.com/mozilla/pdf.js/pull/21179
- Bump actions/setup-node from 6.3.0 to 6.4.0 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21182
- Split the unit/font tests into per-browser jobs by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21183
- Send 'Terminate' to the worker when destroy races the load-time handshake (bug 1942304) by @calixteman in https://github.com/mozilla/pdf.js/pull/21175
- Collect worker-side coverage for browser unit tests by @calixteman in https://github.com/mozilla/pdf.js/pull/21178
- Fix HCM colors for the views-manager massive unselect button (bug 2035551) by @calixteman in https://github.com/mozilla/pdf.js/pull/21187
- Use Istanbul instrumentation for unittestcli code coverage by @calixteman in https://github.com/mozilla/pdf.js/pull/21189
- Add an abstract
readBlockmethod in theDecodeStreamclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21190 - Move
unittestclicoverage collection toci.ymlby @timvandermeij in https://github.com/mozilla/pdf.js/pull/21191 - Fix the intermittent test failure 'performs a search in a text containing some Hangul syllables' by @calixteman in https://github.com/mozilla/pdf.js/pull/21193
- Slighty improve codecov stuff in gh actions by @calixteman in https://github.com/mozilla/pdf.js/pull/21194
- Improve error handling in the
PDFFindController.prototype.#extractTextmethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21197 - Wait for the first page to be ready in the reorganize pages integration tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21186
- Simplify the
nextChunkhandling in theDecryptStreamclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21198 - Shorten how intersectors are added to the grid in the
Intersectorconstructor by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21200 - Optimize memory usage in the unit tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21195
- Remove obsolete
pdfBug: trueflag in the image caching unit test by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21203 - Add some colors in the logs in order to easily see failures and add a summary of the failures at the end by @calixteman in https://github.com/mozilla/pdf.js/pull/21192
- Improve performance of the "caches image resources at the document/page level as expected (issue 11878)" unit-test by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21206
- Use a reduced test-case for the "caches image resources at the document/page level as expected (issue 11878)" unit-test by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21207
- Fix free highlight on pages without images (bug 2035530) by @calixteman in https://github.com/mozilla/pdf.js/pull/21196
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in https://github.com/mozilla/pdf.js/pull/21208
- [api-major] Update the minimum supported browsers, and remove no longer needed polyfills by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21152
- [api-minor] Use the ImageDecoder by default on Chrome by @calixteman in https://github.com/mozilla/pdf.js/pull/20961
- Bump library version to
6.0by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21209 - Optimize runtime of the find controller unit tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21210
- Don't provide unused /DecodeParms when initializing
JpxStreamby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21211 - Remove the
CompilerOutput.prototype.finalDatagetter, and a few other font improvements (PR 21053 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21214 - Replace a loop with
TypedArray.prototype.set()in thecompileFDSelectmethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21215 - Remove the unused
rawfield from theCFFCharsetclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21216 - Replace
TrueTypeTableBuilderandCompilerOutputwith a single class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21220 - Add an abstract
WasmImageclass, thatJBig2CCITTFaxImageandJpxImageinherit from by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21225 - Clear the text layer container when cancelling rendering by @calixteman in https://github.com/mozilla/pdf.js/pull/21219
- Run unit-tests in Node.js version 26 by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21224
- A couple of small tweaks of the
getPdfFilenameFromUrlhelper by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21222 - Include the
external/folder in the coverage report forgulp unittestcliby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21226 - Tweak the
WasmImageimplementation a little bit (PR 21225 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21229 - Bump ip-address from 10.1.0 to 10.2.0 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21232
- Make sure the focus moves on the first page of the added pdf after a merge (bug 2034827) by @calixteman in https://github.com/mozilla/pdf.js/pull/21223
- Place new annotations on the correct page when extracting pages (bug 2027682) by @calixteman in https://github.com/mozilla/pdf.js/pull/21228
- Improve soft mask composition performance (bug 2033095) by @calixteman in https://github.com/mozilla/pdf.js/pull/21235
- Simplify '#getFilteredPageIndices' and '#resolveInsertAfterIndices' by @calixteman in https://github.com/mozilla/pdf.js/pull/21231
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in https://github.com/mozilla/pdf.js/pull/21237
- Bump fast-xml-builder from 1.1.5 to 1.2.0 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21243
- Bump fast-uri from 3.1.0 to 3.1.2 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21244
- Bump @babel/plugin-transform-modules-systemjs from 7.29.0 to 7.29.4 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21248
- Make the
PDFDataRangeTransportstreaming unit-tests faster by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21238 - Use
Uint8Array.fromHexintest/unit/crypto_spec.jsby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21246 - Fall back to pixel-buffer SMask filtering when ctx.filter is unavailable by @calixteman in https://github.com/mozilla/pdf.js/pull/21236
- [api-major] Remove support for calling
getDocumentwithout a parameter object, and remove thePDFDocumentProxy.prototype.destroymethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21245 - Support providing a
filenameunconditionally, when passing binary data toPDFViewerApplication.openby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21249 - perf: Avoid multi-second getDestinations stalls for PDFs with many named destinations by @saripovdenis in https://github.com/mozilla/pdf.js/pull/21213
- Avoid cycles when getting operator list in patterns by @calixteman in https://github.com/mozilla/pdf.js/pull/21230
- Move the
getModificationDatehelper function intosrc/core/core_utils.jsby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21258 - Update the
deepComparehelper function to handleRefs andNames correctly by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21257 - Render knockout transparency groups by @calixteman in https://github.com/mozilla/pdf.js/pull/21242
- Update dependencies to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21256
- Bump github/codeql-action from 4.35.2 to 4.35.3 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21265
- Use FeatureTest.isCanvasFilterSupported in _bakeSMaskCanvas by @calixteman in https://github.com/mozilla/pdf.js/pull/21264
- [Editor] Avoid "generating" the l10n-ids used for the
a11yAlertby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21263 - Fix nested non-isolated groups in knockout rendering by @calixteman in https://github.com/mozilla/pdf.js/pull/21262
- Remove the executable bit from test PDF files by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21267
- Avoid bundling DOM-related code in the built
pdf.worker.mjsfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21269 - Collect coverage information for the integration tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21173
- Add a lint-chmod task to catch stray executable bits by @calixteman in https://github.com/mozilla/pdf.js/pull/21268
- Add a simple API unit-test for /BrotliDecode by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21271
- Enable Codecov flag carryforward for accurate coverage badge by @calixteman in https://github.com/mozilla/pdf.js/pull/21274
- Ensure TextLayer hiddenCanvasElement is layout-neutral by default by @RolandWArnold in https://github.com/mozilla/pdf.js/pull/21218
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in https://github.com/mozilla/pdf.js/pull/21278
- Move the
stringToPDFStringhelper function to the worker-thread by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21279 - Remove the
Util.domMatrixToTransformmethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21281 - Clear the full SMask scratch canvas in compose() by @calixteman in https://github.com/mozilla/pdf.js/pull/21277
- [api-minor] Move the
getXfaPageViewporthelper into theXfaLayerclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21283 - Move the
SVG_NSdefinition intosrc/shared/util.jsby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21284 - Add a couple of very basic
ColorConvertersunit-tests by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21286 - Remove the unused
Outline._normalizePagePointmethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21287 - Add an integration-test for the page-name fuzzy matching in the
PDFDocumentPropertiesdialog by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21289 - Add an integration-test for documents without
contentLengthavailable in thePDFDocumentPropertiesdialog by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21291 - Enable the
must check that an existing highlight is ignored on hoveringintegration test on Windows by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21288 - Optimize runtime and memory usage of the integration tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21275
- Recover CFF private dict defaults zeroed by Ghostscript by @calixteman in https://github.com/mozilla/pdf.js/pull/21290
- Add a Content-Security-Policy to pdf.js' viewer.html (bug 1960363) by @calixteman in https://github.com/mozilla/pdf.js/pull/21261
- Move the
Util.scaleMinMaxhelper intosrc/display/canvas_dependency_tracker.jsby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21294 - Add more integration-tests, with multi-page documents, for the
PDFDocumentPropertiesdialog by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21295 - Introduce integration tests for the presentation mode functionality by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21292
- Disable hardware acceleration for Chrome tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21299
- Make text selection more visible (bug 1879559) by @wooorm in https://github.com/mozilla/pdf.js/pull/20981
- Fix 'Select all' after #20981 by @calixteman in https://github.com/mozilla/pdf.js/pull/21309
- Don't use "internal"
EventBusmethods in the integration-tests by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21305 - Bump actions/create-github-app-token from 3.1.1 to 3.2.0 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21301
- Bump github/codeql-action from 4.35.3 to 4.35.4 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21302
- Extend unit-test coverage for the
getPdfFilenameFromUrlhelper function by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21311 - Add basic integration-tests for the
PdfTextExtractorclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21304 - Allow merging a PDF by dropping it onto the thumbnail viewer by @calixteman in https://github.com/mozilla/pdf.js/pull/21306
- Sanitize glyf composite cycles, OS/2 length and maxp version mismatches by @calixteman in https://github.com/mozilla/pdf.js/pull/21300
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in https://github.com/mozilla/pdf.js/pull/21316
- Use the CFF program directly for CID fonts wrapped in OpenType FontFile3 by @calixteman in https://github.com/mozilla/pdf.js/pull/20542
- Shorten the
fontFilelookup a tiny bit by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21322 - Shorten the
XfaLayerBuilder.prototype.rendermethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21317 - Use
Uint8Array.fromBase64in thetest/integration/highlight_editor_spec.mjsfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21323 - Simplify how the character BBox is scaled in
src/display/canvas_dependency_tracker.jsby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21324 - Add support for Optional Content in the AnnotationLayer (issue 20433) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21313
- Fix the
XRefWrapperimplementation, in thesrc/core/editor/pdf_editor.jsfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21319 - Keep the first /Subrs and /CharStrings block by @calixteman in https://github.com/mozilla/pdf.js/pull/21315
- Substitute a system font when an embedded CFF is truncated by @calixteman in https://github.com/mozilla/pdf.js/pull/21320
- Update dependencies to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21328
- Recover CFF FontBBox with negative coordinates encoded as unsigned 16-bit by @calixteman in https://github.com/mozilla/pdf.js/pull/21314
- Force the text selection color to be in light mode by @calixteman in https://github.com/mozilla/pdf.js/pull/21329
- Prevent inherited spacing from affecting text layer by @danyalahmed1995 in https://github.com/mozilla/pdf.js/pull/21321
- Avoid a temporary variable and return results directly in a couple of functions by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21332
- Load the predefined CMap for composite fonts that omit the FontDescriptor by @calixteman in https://github.com/mozilla/pdf.js/pull/21331
- Enable 'eslint-plugin-regexp' and fix existing findings by @calixteman in https://github.com/mozilla/pdf.js/pull/21330
- Recover the browser session on test timeout to keep running subsequent tests by @calixteman in https://github.com/mozilla/pdf.js/pull/21333
- Run unit-tests and integration-tests when the
external/builder/folder is changed by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21340 - Remove unused variables with the Babel plugin by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/21339
- Revert "Remove unused variables with the Babel plugin" by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21342
- Add support for encrypted attachments by @wooorm in https://github.com/mozilla/pdf.js/pull/21234
- Bump github/codeql-action from 4.35.4 to 4.35.5 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21344
- Bump codecov/codecov-action from 6.0.0 to 6.0.1 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21345
- Use a black backdrop for Luminosity SMasks when /BC is missing by @calixteman in https://github.com/mozilla/pdf.js/pull/21348
- Allow merging several PDFs at once via the picker or drag-and-drop by @calixteman in https://github.com/mozilla/pdf.js/pull/21335
- Parse CID-keyed Type 1 fonts instead of falling back to a system font by @calixteman in https://github.com/mozilla/pdf.js/pull/21336
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in https://github.com/mozilla/pdf.js/pull/21354
- Allow inserting an image as a new page when editing a PDF (bug 2032967) by @calixteman in https://github.com/mozilla/pdf.js/pull/21334
- Clamp out-of-range BlueScale to Adobe's valid window by @calixteman in https://github.com/mozilla/pdf.js/pull/21343
- Add a pref to postMessage when mozPrintCallback has completed (bug 2036265) by @calixteman in https://github.com/mozilla/pdf.js/pull/21308
- Fix missing non-zero exit code for failure cases in
test.mjsby @timvandermeij in https://github.com/mozilla/pdf.js/pull/21357 - Upgrade Puppeteer to version 25.1.0 by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21285
- Re-factor how "internal" EventBus listeners are handled in the viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21355
v5.7.284
This release contains improvements for accessibility, annotations, the annotation editor, font conversion, image conversion, performance, shading pattern rendering, SMask rendering and the viewer.
- Bump the stable version in
pdfjs.configby @timvandermeij in https://github.com/mozilla/pdf.js/pull/21004 - [api-minor] Rewrite the ps lexer & parser and add a small Wasm compiler by @calixteman in https://github.com/mozilla/pdf.js/pull/21002
- [Node.js] Remove the
node-readable-to-web-readable-streampolyfill by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21007 - Add attachments when merging/reorganizing a pdf (bug 2026956) by @calixteman in https://github.com/mozilla/pdf.js/pull/21013
- Don't use an intermediate canvas when rendering a tiling pattern bigger than the rectangle to fill by @calixteman in https://github.com/mozilla/pdf.js/pull/18815
- Avoid expressions duplication in the ps AST and use a local instead when compiling to WASM by @calixteman in https://github.com/mozilla/pdf.js/pull/21008
- Add support for function-based shadings (bug 1254066) by @calixteman in https://github.com/mozilla/pdf.js/pull/21012
- Add an interpreter for optimized ps code by @calixteman in https://github.com/mozilla/pdf.js/pull/21010
- Encrypt pdf data when merging the same pdf (bug 2028369) by @calixteman in https://github.com/mozilla/pdf.js/pull/21022
- Use the
MathClamphelper function more by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21026 - l10n: Update locale files by @github-actions[bot] in https://github.com/mozilla/pdf.js/pull/21033
- Use
OffscreenCanvasunconditionally in theweb/pdf_thumbnail_view.jsfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21021 - Fix wrong values when sanitizing fonts by @calixteman in https://github.com/mozilla/pdf.js/pull/21031
- A couple of small
collectAnnotationsByTypeimprovements by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21034 - Move the
MathClamphelper function to its own file by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21027 - Replace all
Object.prototype.hasOwnPropertyusage withObject.hasOwnby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21029 - [api-minor] Change
PDFDataRangeTransportto use a single (internal) listener by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21028 - Fix radial gradient when the two circles have an intersection by @calixteman in https://github.com/mozilla/pdf.js/pull/21014
- Add a js fallback for interpreting ps code by @calixteman in https://github.com/mozilla/pdf.js/pull/21023
- Get the right transform for a pattern before filling some text by @calixteman in https://github.com/mozilla/pdf.js/pull/21019
- Add an eslint plugin for using MathClamp when it's possible by @calixteman in https://github.com/mozilla/pdf.js/pull/21030
- Fix the annotation base transform before drawing it by @calixteman in https://github.com/mozilla/pdf.js/pull/21020
- Remove the unused
compilePostScriptToIRfunction (PR 21023 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21037 - [api-minor] Remove
PostScriptCompilerandPostScriptEvaluator, since it's now dead code (PR 21023 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21005 - Fix comments for (is/has)Singlefile in pdf_editor by @calixteman in https://github.com/mozilla/pdf.js/pull/21036
- Update dependencies to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21035
- Use the
calculateMD5helper, fromtest/downloadutils.mjs, intest/add_test.mjsby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21038 - Introduce a function type enumeration by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21041
- Use the original array-data when parsing Type 0 (Sampled) Functions by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21040
- Fix intermittent failure in the "must check that the comment sidebar is resizable with the keyboard" comment integration test by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21045
- Fix intermittent integration test failures related to checking the find count results text by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21043
- [api-minor] Update the minimum supported Node.js version to 22 by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21018
- Remove unnecessary "flooring" of the components when setting the Annotation
borderColorby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21047 - Replace individual AI/ML disabling preferences with the single killswitch preference in the tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21046
- Shorten the
src/core/postscript/code a tiny bit by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21048 - Unconditionally create a gpu device by @calixteman in https://github.com/mozilla/pdf.js/pull/21049
- Use the
stringToByteshelper in thePDFEditor.prototype.writePDFmethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21051 - Fix the l10n-id for the sidebar toggleButton, in the
ViewsManagerclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21055 - Reduce allocations when compiling CFF fonts by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21053
- Fix the way to write numbers when saving a pdf by @calixteman in https://github.com/mozilla/pdf.js/pull/21054
- Make sure the thumbnails positions are recomputed after a structural change but after a reflow has been done (bug 2028193) by @calixteman in https://github.com/mozilla/pdf.js/pull/21059
- Bump github/codeql-action from 4.33.0 to 4.35.1 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21056
- Replace a couple of loops with
TypedArray.prototype.fill()in thesrc/core/ascii_85_stream.jsfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21050 - Bump actions/deploy-pages from 4.0.5 to 5.0.0 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21058
- Bump codecov/codecov-action from 5.5.2 to 6.0.0 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21057
- Avoid as much as possible to have intermediate canvases by @calixteman in https://github.com/mozilla/pdf.js/pull/21061
- Reduce allocations in
CFFCompiler.prototype.compileIndex(PR 21053 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21062 - Dont revoke blob URLs while printing but do it after by @calixteman in https://github.com/mozilla/pdf.js/pull/21065
- Update the position when calling
ChunkedStream.prototype.getByteswithout a length by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21070 - Add constants for defining the initial BBox and Float32 BBox by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21071
- Bump basic-ftp from 5.2.0 to 5.2.1 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21067
- Use a TypedArray when building the "hmtx" font table by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21072
- l10n: Update locale files by @github-actions[bot] in https://github.com/mozilla/pdf.js/pull/21074
- Move some TrueType header comments to the correct lines by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21073
- Re-factor the
OpenTypeFileBuilderclass to use aDataViewwhen writing data by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21076 - Take into account the alignment when printing/saving a comb field by @calixteman in https://github.com/mozilla/pdf.js/pull/21069
- Re-factor the
CFFParserclass to useDataViews when reading data by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21079 - Re-factor the
JpegImageclass, and related code, to useDataViews when reading data by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21086 - Bump basic-ftp from 5.2.1 to 5.2.2 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21083
- Fix how the text is printed/saved in a comb field when it's a RTL one by @calixteman in https://github.com/mozilla/pdf.js/pull/21082
- Re-factor the
Jbig2Imageclass, and related code, to useDataViews when reading data by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21087 - Remove the
int32helper, and replace it withDataViewusage, insrc/core/fonts.jsby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21088 - Remove pattern fill when setting fill color before drawing a tile by @calixteman in https://github.com/mozilla/pdf.js/pull/21090
- [Debugger] Fix the content stream rendering when it's a ref to an array by @calixteman in https://github.com/mozilla/pdf.js/pull/21091
- Use the
stopEventhelper function in theAnnotationEditorLayerclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21092 - Avoid infinite recursion while compiling a glyph by @calixteman in https://github.com/mozilla/pdf.js/pull/21080
- Update dependencies to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21093
- Re-factor the
FontRendererFactoryclass, and related code, to useDataViews when reading data by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21077 - Remove
readUint32usage from theisTrueTypeFilefunction by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21078 - Take into account CharProcs keys when computing the type3 hash by @calixteman in https://github.com/mozilla/pdf.js/pull/21095
- Use TypedArrays when building more TrueType tables by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21097
- Remove the workaround for bug 1820511 by @calixteman in https://github.com/mozilla/pdf.js/pull/21098
- Add the UI for merging PDFs (bug 2028071) by @calixteman in https://github.com/mozilla/pdf.js/pull/21060
- Fix blending issues while compositing by @calixteman in https://github.com/mozilla/pdf.js/pull/21096
- Use the gpu for drawing meshes only when it has more than 16 triangles (bug 2030745) by @calixteman in https://github.com/mozilla/pdf.js/pull/21099
- Correctly sync the transform on the scratch canvas by @calixteman in https://github.com/mozilla/pdf.js/pull/21094
- Fix dependency tracking in pattern fill by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/21102
- Use TypedArrays when building even more TrueType tables by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21100
- Improve SMask compositing by pre-baking backdrop and filter by @calixteman in https://github.com/mozilla/pdf.js/pull/21101
- Remove the basic
Math.sumPrecisepolyfill by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20958 - Fix saveDocument JSDoc return type by @supermar1010 in https://github.com/mozilla/pdf.js/pull/21107
- Use TypedArrays in the
createCmapTablefunction by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21103 - Fix integration tests failing because the focus isn't on the right element by @calixteman in https://github.com/mozilla/pdf.js/pull/21104
- Add an option -j XX for browser tests in order to set the number of jobs by @calixteman in https://github.com/mozilla/pdf.js/pull/21108
- Use TypedArrays in the
createNameTablefunction by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21112 - l10n: Update locale files by @github-actions[bot] in https://github.com/mozilla/pdf.js/pull/21114
- Improve reftest runner performance by @calixteman in https://github.com/mozilla/pdf.js/pull/21111
- Store the Type1 program
privateDatain a Map, rather than an Object by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21116 - Update dependencies to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21117
- Update GitHub workflow actions to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21118
- Improve reftest runner memory usage and load balancing by @calixteman in https://github.com/mozilla/pdf.js/pull/21115
- Fix the
gets text content, with correct properties (issue 8276)unit test by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21123 - Correctly compute the bbox when simplifying the path construction by @calixteman in https://github.com/mozilla/pdf.js/pull/21127
- Remove user and password from URLs (bug 2025109) by @calixteman in https://github.com/mozilla/pdf.js/pull/21128
- Fix unit test for dependency tracking by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/21130
- Use a gh app for making the PR to update l10n data by @calixteman in https://github.com/mozilla/pdf.js/pull/21133
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in https://github.com/mozilla/pdf.js/pull/21134
- Add code coverage support for browser/ref tests by @calixteman in https://github.com/mozilla/pdf.js/pull/21125
- Improve the "CopyLocalImage" unit-tests by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21131
- [HCM] Set the correct color for the icon in the merge button when focused with the keyboard (bug 2033603) by @calixteman in https://github.com/mozilla/pdf.js/pull/21135
- [api-minor] Replace the CCITT and JBig2 fallback decoders with a JS version of the PDFium decoder by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21139
- Update qcms bindings by @calixteman in https://github.com/mozilla/pdf.js/pull/21144
- Bump fast-xml-parser from 5.5.7 to 5.7.1 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/21140
- Update quickjs bindings by @calixteman in https://github.com/mozilla/pdf.js/pull/21148
- Update the openjpeg decoder compiled with the last version of emscripten by @calixteman in https://github.com/mozilla/pdf.js/pull/21143
- Introduce a GitHub Actions workflow for running the unit tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21121
- Avoid to add outlines having a deleted page which leads to clone a useless page (bug 2033908) by @calixteman in https://github.com/mozilla/pdf.js/pull/21136
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in https://github.com/mozilla/pdf.js/pull/21150
- Switch to a wasm file for the quickjs sandbox by @calixteman in https://github.com/mozilla/pdf.js/pull/21149
- Prompt the user for saving a merged pdf (bug 2034461) by @calixteman in https://github.com/mozilla/pdf.js/pull/21145
- Remove the unused
MIN_INT_32constant (PR 21139 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21153 - [Ink] Replace the opacity slider with an alpha-enabled color input by @calixteman in https://github.com/mozilla/pdf.js/pull/21142
- Fix status label mismatch after merging with a pre-existing selection (bug 2034111) by @calixteman in https://github.com/mozilla/pdf.js/pull/21138
- Download linked PDFs when running
gulp unittestcliby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21147 - Fix clicking on a thumbnail image not navigating to the correct page when using a screen reader (bug 2034568) by @calixteman in https://github.com/mozilla/pdf.js/pull/21151
- Enable the
radixESLint rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21157 - Don't decode name of the checkboxes exported values (bug 2022700) by @calixteman in https://github.com/mozilla/pdf.js/pull/21137
- Compute a "proper" hash in the
AnnotationStorage.prototype.modifiedIdsgetter by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21158 - Move the
hexNumbersArray intoUtil, to enable using it in the viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21160 - Improve unit-testing for the
PDFDocumentProxy.prototype.getPageIndexmethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21161 - Get the
zIndexcorrectly inPopupElement.prototype.renderCommentButtonby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21162 - Update dependencies to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21163
- Remove duplicated font tests execution in the GitHub Actions workflow by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21164
- A couple of
internal-viewerfixes by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21166 - Include unit test coverage reporting in the GitHub Actions workflow by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21165
- Fix the Codecov token not being usable in the unit tests GitHub Actions workflow by @timvandermeij in https://github.com/mozilla/pdf.js/pull/21167
- Include the
web/folder in the coverage report forgulp unittestcliby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21168 - Add a gh workflow for triggering an event when some pdfs are added in test/pdfs by @calixteman in https://github.com/mozilla/pdf.js/pull/21132
- Fix merging a PDF after a page deletion (bug 2034804) by @calixteman in https://github.com/mozilla/pdf.js/pull/21154
- Introduce a GitHub Actions workflow for running the integration tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20371
- Speed up 'gulp typestest' by removing the unused 'generic' dependency by @calixteman in https://github.com/mozilla/pdf.js/pull/21170
- Fix array type in CanvasBBoxTracker comment by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/21174
- Fix merging PDFs with conflicting AcroForm /DR (bug 2035197) by @calixteman in https://github.com/mozilla/pdf.js/pull/21176
- Allow free-highlighting on top of image placeholders (bug 2034980) by @calixteman in https://github.com/mozilla/pdf.js/pull/21171
v5.6.205
This release contains improvements for accessibility, annotation rendering, font conversion, performance, shading pattern rendering, text selection and the viewer.
- Bump the stable version in
pdfjs.configby @timvandermeij in https://github.com/mozilla/pdf.js/pull/20771 - Just output in the console the results for the integrations which ran by @calixteman in https://github.com/mozilla/pdf.js/pull/20760
- Use a babel plugin in order to strip /src/ from the import paths by @calixteman in https://github.com/mozilla/pdf.js/pull/20772
- Use
L10n.prototype.getDirectionrather than querying the DOM, when initializing theCommentManagerinstance by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20776 - Hide the "Select pages" label, in the thumbnails sidebar, when split-merge is disabled by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20775
- Prevent
PdfTextExtractor.prototype.extractTextContentfrom failing intermittently by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20784 - Fix layout of thumbnails when split/merge is disabled by @calixteman in https://github.com/mozilla/pdf.js/pull/20779
- Fix intermittent issue with a unit test by @calixteman in https://github.com/mozilla/pdf.js/pull/20773
- Fix the paste button position and add a button before the first thumbnail by @calixteman in https://github.com/mozilla/pdf.js/pull/20789
- Add a way to extract some pages from a pdf (bug 2019682) by @calixteman in https://github.com/mozilla/pdf.js/pull/20785
- Add script to check license headers by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/20782
- Add the pages organization actions in the Firefox context menu (bug 2018138) by @calixteman in https://github.com/mozilla/pdf.js/pull/20788
- Add support for dismissing comment popups with click outside (bug 1989406) by @wooorm in https://github.com/mozilla/pdf.js/pull/20780
- Update l10n related information in various READMEs by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20791
- Use the
Dict.prototype.getRawEntriesmethod more by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20793 - Ignore directories in lint-licenses task by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/20796
- Fix missing Chinese font name variants (SimFang and XiaoBiaoSong) in GBK encoding detection by @pengkunbin in https://github.com/mozilla/pdf.js/pull/20781
- Change the
Dict.prototype.{getKeys, getRawValues}methods to return iterators by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20795 - Fix downloading the current pdf by @calixteman in https://github.com/mozilla/pdf.js/pull/20803
- Improve and simplify the
PdfTextExtractorimplementation by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20787 - Move the heading role on the sidebar label (bug 2020737) by @calixteman in https://github.com/mozilla/pdf.js/pull/20794
- Fix few colors in the Manage menu in HCM (bug 2020774) by @calixteman in https://github.com/mozilla/pdf.js/pull/20797
- Add some aria-labels to the paste button in order to know where the buttons are (bug 2020758) by @calixteman in https://github.com/mozilla/pdf.js/pull/20792
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20778
- Remove the sidebar resize observer when killing the UI by @calixteman in https://github.com/mozilla/pdf.js/pull/20802
- Use
BaseStream.prototype.getStringin thereadPostScriptTablefunction by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20799 - Let
BinaryCMapStreamextend theStreamclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20806 - Fix the position of the thumbnails on the last line (bug 2016437) by @calixteman in https://github.com/mozilla/pdf.js/pull/20798
- Fix the event name in some integration tests (follow-up of #20788) by @calixteman in https://github.com/mozilla/pdf.js/pull/20812
- Add fetch** functions in the XRefWrapper by @calixteman in https://github.com/mozilla/pdf.js/pull/20811
- Once a page has been deleted or pasted, make sure the focus stays in the sidebar (bug 2020731) by @calixteman in https://github.com/mozilla/pdf.js/pull/20800
- Remove gulp-sourcemaps dependency which is unmaintained by @calixteman in https://github.com/mozilla/pdf.js/pull/20774
- l10n: Update locale files by @github-actions[bot] in https://github.com/mozilla/pdf.js/pull/20815
- A couple of small JBig2 fixes by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20818
- Shorten the
createActionsMaphelper in thesrc/scripting_api/common.jsfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20820 - Avoid to have stuck actions when running update_locales task by @calixteman in https://github.com/mozilla/pdf.js/pull/20819
- Convert the data reading in
getPdfManagerto be asynchronous by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20662 - Use
Math.sumPreciseandMap.prototype.getOrInsertComputedin the scripting implementation by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20821 - Use
Response.prototype.bytes()more in the code-base (PR 20651 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20823 - Add the possibility to merge/update acroforms when merging/extracting (bug 2015853) by @calixteman in https://github.com/mozilla/pdf.js/pull/20824
- Update dependencies to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20825
- Ensure that
percent === NaNis consistently reported by theonProgresscallback by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20827 - Handle outline with Structure Element (SE) destination by @calixteman in https://github.com/mozilla/pdf.js/pull/20826
- Add a UI to undo cut/delete and cancel a copy (bug 2021352, bug 2010832) by @calixteman in https://github.com/mozilla/pdf.js/pull/20810
- Add option allow external connections to
npx gulp serverby @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/20646 - Do not lint folders for project-level AI coding agents by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/20833
- Fix the label and tooltip on the paste buttons by @calixteman in https://github.com/mozilla/pdf.js/pull/20832
- Use iterators a little bit more, to avoid creating temporary Arrays by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20835
- Fix the
disableFontFaceandfontExtraPropertiesasserts in theFontFaceObjectconstructor (PR 20197 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20836 - Fix
lint-licensestask on windows by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/20844 - A couple of small improvements by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20841
- Fix the border & background colors of the placeholder for a dragged thumbnail (bug 2020698) by @calixteman in https://github.com/mozilla/pdf.js/pull/20839
- Start using
Blob.prototype.bytes()in the code-base by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20829 - Update the context menu after copying thumbnails by @calixteman in https://github.com/mozilla/pdf.js/pull/20834
- Avoid to have a thumbnail with two paste buttons (bug 2021886) by @calixteman in https://github.com/mozilla/pdf.js/pull/20838
- Improve the
validateRangeRequestCapabilitiesunit-tests by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20830 - Add a new internal viewer to explore the structure of PDF files. by @calixteman in https://github.com/mozilla/pdf.js/pull/20831
- Refactor the custom reporters for testing by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20828
- l10n: Update locale files by @github-actions[bot] in https://github.com/mozilla/pdf.js/pull/20822
- Disable dragging a thumbnail when the user has to paste what they copied (bug 2021934) by @calixteman in https://github.com/mozilla/pdf.js/pull/20837
- Add support for right-clicking on images (bug 1012805) by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/20626
- A couple of small improvements of the new internal viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20846
- Move the
PagesMapperclass into its own file by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20848 - Fix the
FontInfo.prototype.clearDatamethod to actually remove the data as intended (PR 20197 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20856 - Remove the
enableHWAoption from viewer components (PR 20016 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20849 - Update the internal viewer to use a new debugger. by @calixteman in https://github.com/mozilla/pdf.js/pull/20845
- l10n: Update locale files by @github-actions[bot] in https://github.com/mozilla/pdf.js/pull/20859
- Don't let the user delete/cut all the pages (bug 2021828) by @calixteman in https://github.com/mozilla/pdf.js/pull/20850
- Add a button for unchecking all the checked thumbnails (bug 2022769) by @calixteman in https://github.com/mozilla/pdf.js/pull/20854
- Bundle the necessary files and set the correct
cMapUrl,iccUrl, andstandardFontDataUrlwhen buildinggulp internal-viewerby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20865 - Split the
src/shared/obj-bin-transform.jsfile into separate files for the main/worker threads (PR 20197 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20861 - Only focus the undo bar when the focus isn't inside by @calixteman in https://github.com/mozilla/pdf.js/pull/20863
- Move 'Save as...' menu to 'Export selected...' by @calixteman in https://github.com/mozilla/pdf.js/pull/20858
- Fix the rendering of the radial gradient when a center is outside of the other circle and there's no extend by @calixteman in https://github.com/mozilla/pdf.js/pull/20860
- Bump undici from 7.21.0 to 7.24.2 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20870
- [api-minor] Remove the
lengthparameter fromgetDocumentby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20840 - Split the new debugger into multiple files by @calixteman in https://github.com/mozilla/pdf.js/pull/20871
- Bump library version to
5.6by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20875 - Update dependencies to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20877
- Use a non-zero exit code if the tests failed by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20878
- Increase the maximum viewer scale to 2500 percent by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20879
- Use the
Util.pointBoundingBoxhelper in thePatternInfoclass (PR 20340 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20883 - Update eslint to version 10 by @calixteman in https://github.com/mozilla/pdf.js/pull/20765
- Fix the issue in the ref test tracemonkey-extract_0_2_12 by @calixteman in https://github.com/mozilla/pdf.js/pull/20884
- Check for having Ref before adding them in a RefSet (bug 2023106) by @calixteman in https://github.com/mozilla/pdf.js/pull/20862
- Remove the unused
bboxsetter in theFontFaceObjectclass (PR 20427 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20869 - Re-factor the
CachedCanvasesclass to use aMapinternally by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20896 - Simplify compilation of font paths (PR 20346 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20894
- (Debugger) Don't draw the checkerboard on the canvas but add it behind by @calixteman in https://github.com/mozilla/pdf.js/pull/20890
- (Debugger) Replace checkboxes in the search bar by toggle buttons by @calixteman in https://github.com/mozilla/pdf.js/pull/20889
- Add the possibility to skip some ops in the debug view by @calixteman in https://github.com/mozilla/pdf.js/pull/20888
- Wait a little between each key press in the test 'must check that the comment sidebar is resizable with the keyboard' by @calixteman in https://github.com/mozilla/pdf.js/pull/20887
- Don't throw when printing with pdfBug enabled by @calixteman in https://github.com/mozilla/pdf.js/pull/20898
- Try to fix few intermittents bug in reorganize_pages_spec integration tests by @calixteman in https://github.com/mozilla/pdf.js/pull/20864
- Remove some useless operations when getting the text content by @calixteman in https://github.com/mozilla/pdf.js/pull/20904
- Don't throw when a mesh shading is degenerated by @calixteman in https://github.com/mozilla/pdf.js/pull/20897
- Wait to have all the spans in the text layer before trying to set the caret in integration tests by @calixteman in https://github.com/mozilla/pdf.js/pull/20903
- Add support for saving outlines after reorganize/merge (bug 2009574) by @calixteman in https://github.com/mozilla/pdf.js/pull/20905
- Move the
compileFontInfocall into theFont.prototype.exportDatamethod (PR 20197 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20868 - Allow to collapse/expand all the outlines in double clicking somewhere on the header bar (bug 2019550) by @calixteman in https://github.com/mozilla/pdf.js/pull/20852
- Fix the position of 'Attachments' in the sidebar by @calixteman in https://github.com/mozilla/pdf.js/pull/20895
- Fix the outline of the deselect button in the sidebar (bug 2024156) by @calixteman in https://github.com/mozilla/pdf.js/pull/20910
- Change the
NOOPfallback, inCompiledFont, to return a TypedArray by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20911 - Fix the error in gh actions found by zizmor by @calixteman in https://github.com/mozilla/pdf.js/pull/20912
- Ensure that
getDocumentis called with one of thedata,range, orurlparameters provided by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20909 - Fix various bug around copy/paste/delete/undo (bug 2022586, bug 2022824, bug 2022884, bug 2023171, bug 2023176) by @calixteman in https://github.com/mozilla/pdf.js/pull/20907
- Add a new badge close to the Manage button in the sidebar. by @calixteman in https://github.com/mozilla/pdf.js/pull/20913
- Reduce duplication in the
Dict.prototype.{get, getAsync, getArray}methods by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20892 - Bump fast-xml-parser from 5.5.5 to 5.5.6 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20908
- Bump flatted from 3.4.1 to 3.4.2 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20921
- Bump fast-xml-parser from 5.5.6 to 5.5.7 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20922
- Use
toBeInstanceOfconsistently in the unit-tests by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20920 - Convert the internal
Mapto a properly private field in theDictclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20901 - Fix the destination names when they're duplicated by @calixteman in https://github.com/mozilla/pdf.js/pull/20917
- Avoid to use a used slot when looking for a new page position by @calixteman in https://github.com/mozilla/pdf.js/pull/20915
- When merging pdfs, fix the CO after the fields have been cloned by @calixteman in https://github.com/mozilla/pdf.js/pull/20916
- Make sure the menuitems are readable when hovering them (bug 2023138) by @calixteman in https://github.com/mozilla/pdf.js/pull/20923
- Avoid getting null value in RefSet when cloning by @calixteman in https://github.com/mozilla/pdf.js/pull/20924
- Add the possibility to save added annotations when reorganizing a pdf (bug 2023086) by @calixteman in https://github.com/mozilla/pdf.js/pull/20925
- Add the basic telemetry for Organize feature (bug 2022481) by @calixteman in https://github.com/mozilla/pdf.js/pull/20929
- [Firefox] Ensure that worker-thread fetching is used for built-in CMap, standard font, and wasm data by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20927
- Correctly focus the pasted page (bug 2022516) by @calixteman in https://github.com/mozilla/pdf.js/pull/20926
- Trigger the current find after a page has been moved (bug 2023150) by @calixteman in https://github.com/mozilla/pdf.js/pull/20932
- Pass the global signal the text layer builder in order to remove all the listeners defined here by @calixteman in https://github.com/mozilla/pdf.js/pull/20928
- Skip the "should reorder thumbnails after dropping two adjacent pages" integration test by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20880
- Remove explicit
name/filenamevalidation in theBaseCMapReaderFactory,BaseStandardFontDataFactory, andBaseWasmFactoryclasses by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20931 - Add the possibility to debug only text rendering by filtering the op list. by @calixteman in https://github.com/mozilla/pdf.js/pull/20906
- [Debugger] Allow debugging page-rendering from the /Ref, in addition to the page number by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20936
- Ensure that
TextLayerBuilderworks correctly without theabortSignalparameter (PR 20928 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20934 - Fix charSpacing in vertical mode by @calixteman in https://github.com/mozilla/pdf.js/pull/20933
- Remove the
xfatestcommand by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20882 - Implement Gouraud-based shading using WebGPU. by @calixteman in https://github.com/mozilla/pdf.js/pull/20885
- Make persist-credentials: true in the update_locale action by @calixteman in https://github.com/mozilla/pdf.js/pull/20942
- l10n: Update locale files by @github-actions[bot] in https://github.com/mozilla/pdf.js/pull/20945
- [api-minor] Simplify
BaseCMapReaderFactoryby having the worker-thread create thefilenameby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20939 - Avoid resolving an
objIdmore than once in thePDFObjectsclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20944 - Fix the group bbox when the numbers are too big by @calixteman in https://github.com/mozilla/pdf.js/pull/20940
- Add an integration test for the simple viewer by @calixteman in https://github.com/mozilla/pdf.js/pull/20941
- Don't add an EOL after a superscript by @calixteman in https://github.com/mozilla/pdf.js/pull/20947
- Revert "Avoid to have stuck actions when running update_locales task" by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20950
- Interpret empty annotation border as [0, 0, 0] by @calixteman in https://github.com/mozilla/pdf.js/pull/20948
- [api-minor] Replace the
CMapReaderFactory,StandardFontDataFactory, andWasmFactoryAPI options with a single factory/option by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20949 - Correctly scroll the search result in the viewport with rotated pdfs (bug 2021392) by @calixteman in https://github.com/mozilla/pdf.js/pull/20951
- Download test PDFs with the Fetch API by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20971
- Implement Node.js caching, and fix Python caching, in the GitHub Actions workflows by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20952
- Copy webpack.mjs to legacy in dist task by @mschoettle in https://github.com/mozilla/pdf.js/pull/20857
- Remove the deprecated
PDFWorker.fromPortmethod (PR 19943 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20960 - Remove the selection after the pages have been extracted (bug 2025247) by @calixteman in https://github.com/mozilla/pdf.js/pull/20955
- Strip private ancillary PNG chunks before comparing images in ref tests by @calixteman in https://github.com/mozilla/pdf.js/pull/20969
- Enable hardware acceleration by default by @calixteman in https://github.com/mozilla/pdf.js/pull/20965
- Remove the canvases cache by @calixteman in https://github.com/mozilla/pdf.js/pull/20966
- Move the
NetworkStreamchoice fromsrc/display/api.jsand into a separate file by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20968 - Remove unused
preInitparameter from theCanvasExtraStateconstructor (PR 19043 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20980 - Refactor to improve performance around image masks (bug 1941562) by @wooorm in https://github.com/mozilla/pdf.js/pull/20900
- Bump picomatch by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20979
- Avoid downloading test PDFs multiple times by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20972
- Display mask in the tree view in the debugger by @calixteman in https://github.com/mozilla/pdf.js/pull/20982
- Debugger: in the tree view, display the white spaces as they're by @calixteman in https://github.com/mozilla/pdf.js/pull/20978
- Reduce allocations in the
FontInfo.prototype.#readStringmethod (PR 20197 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20986 - Use optional chaining rather than
typeofchecks when invoking theAnnotationStoragecallbacks by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20975 - Hide the new badge while a page is selected (bug 2026564) by @calixteman in https://github.com/mozilla/pdf.js/pull/20990
- Update the canvas detail view only when drawing is done by @calixteman in https://github.com/mozilla/pdf.js/pull/20984
- Don't walk the children of a node having some attached MathML (bug 2025674) by @calixteman in https://github.com/mozilla/pdf.js/pull/20974
- Add the bidi tests coming from BidiTest.txt and BidiCharacterTest.txt by @calixteman in https://github.com/mozilla/pdf.js/pull/20976
- Avoid exception when cloning a page with some modified annotations by @calixteman in https://github.com/mozilla/pdf.js/pull/20992
- Break text chunks only if the base font is different by @calixteman in https://github.com/mozilla/pdf.js/pull/20957
- Avoid to have multiple selected pages after copy/cut operations (bug 2026639) by @calixteman in https://github.com/mozilla/pdf.js/pull/20991
- Avoid to be blocked when searching after a page move (bug 2023150) by @calixteman in https://github.com/mozilla/pdf.js/pull/20985
- Use non-breakable spaces in options for the choice widget (bug 2026037) by @calixteman in https://github.com/mozilla/pdf.js/pull/20977
- Remove a tiny bit of unnecessary "rgba" parsing in the
getRGBfunction by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20999 - l10n: Update locale files by @github-actions[bot] in https://github.com/mozilla/pdf.js/pull/20993
- Use a standard import for the
ttestpackage intest/stats/statcmp.jsby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20998 - Use more logical assignment in the code-base by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20996
- Re-factor the
StatTimerclass a little bit by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20997 - Simplify the
applyOpacityhelper function by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21003 - Add a unit-test for the
Catalog.#getDestFromStructElementmethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/21001
v5.5.207
This release contains improvements for accessibility, font conversion, image conversion, performance, text selection and the viewer.
- Bump the stable version in
pdfjs.configby @timvandermeij in https://github.com/mozilla/pdf.js/pull/20617 - Replace the various interfaces in
web/interfaces.jswith proper classes by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20607 - Add support for Brotli decompression by @calixteman in https://github.com/mozilla/pdf.js/pull/20610
- Change all relevant
BasePDFStreamimplementations to take an actualURLinstance by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20614 - Report loading progress "automatically" when using the
PDFDataTransportStreamclass, and remove thePDFDataRangeTransport.prototype.onDataProgressmethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20615 - Use the ccittfax decoder from pdfium by @calixteman in https://github.com/mozilla/pdf.js/pull/20613
- Avoid to have to download the model when toggling the button in the alt-text image settings dialog (bug 2013899) by @calixteman in https://github.com/mozilla/pdf.js/pull/20621
- Let the toggle button in the alt-text dialog downloading (resp. delete) the model and enabling (resp. disabling) alt-text guessing (bug 2014167) by @calixteman in https://github.com/mozilla/pdf.js/pull/20622
- Flush the text content chunk only on real font changes (bug 2013793) by @calixteman in https://github.com/mozilla/pdf.js/pull/20624
- Improve progress reporting in
ChunkedStreamManager, and prevent unnecessary data copy inChunkedStream.prototype.onReceiveDataby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20627 - Cap the max canvas dimensions in order to avoid to downscale large images in the worker (bug 2014399) by @calixteman in https://github.com/mozilla/pdf.js/pull/20628
- Fix
Worker was terminatederror when loading is cancelled by @andriivitiv in https://github.com/mozilla/pdf.js/pull/20503 - In tagged pdfs, TH can be either a column header or a row header (bug 2014080) by @calixteman in https://github.com/mozilla/pdf.js/pull/20623
- [api-minor] Update the supported Node.js "patch" versions by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20635
- Ensure that pending requests are resolved when calling
PDFDataTransportStreamReader.prototype.progressiveDoneby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20634 - Normalize the font name in
getBaseFontMetrics(issue 20246) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20637 - Avoid branching in convertBlackAndWhiteToRGBA by @calixteman in https://github.com/mozilla/pdf.js/pull/20638
- Set a pages mapper per loaded document by @calixteman in https://github.com/mozilla/pdf.js/pull/20640
- Bump library version to
5.5by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20642 - [api-minor] Update the minimum supported Google Chrome version to 118 by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20645
- Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20639
- Fix a 'FreeText accessibility' integration test by @calixteman in https://github.com/mozilla/pdf.js/pull/20643
- Add firefox-devtools-mcp to let AI agents test and debug in Firefox by @marco-c in https://github.com/mozilla/pdf.js/pull/20644
- Convert
PDFPageProxy.prototype.getTextContentto an asynchronous method by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20648 - Ends the current drawing session when closing the tab (bug 2015385) by @calixteman in https://github.com/mozilla/pdf.js/pull/20649
- Start using
Response.prototype.bytes()in the code-base by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20651 - Move and re-use the
stripPathhelper function more by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20656 - Update jbig2 decoder (pdfium@0455e822ded1a5537d826703988e986a33d2d4a1) by @calixteman in https://github.com/mozilla/pdf.js/pull/20655
- Enable a couple of additional
eslint-plugin-unicornrules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20654 - Fix types to make "gulp typestest" succeeding by @calixteman in https://github.com/mozilla/pdf.js/pull/20641
- Avoid parsing skipped range requests in
ChunkedStreamManager(PR 10694 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20652 - Enable the
unicorn/prefer-class-fieldsESLint plugin rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20657 - Add code coverage for unit tests running in node by @calixteman in https://github.com/mozilla/pdf.js/pull/20658
- Add a Codecov badge by @calixteman in https://github.com/mozilla/pdf.js/pull/20659
- Remove
Object.hasOwnusage from thesrc/core/xref.jsfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20663 - Truncate too long /Decode map entries (issue 20668) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20669
- Convert the
PDFObjectsclass to use aMapinternally by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20673 - Fix the keyboard accessibility of the manage button in the thumbnails view (bug 2015916) by @calixteman in https://github.com/mozilla/pdf.js/pull/20675
- fix: support text selection under search highlights by @matt-atticus in https://github.com/mozilla/pdf.js/pull/20463
- Fix code coverage line mapping by @calixteman in https://github.com/mozilla/pdf.js/pull/20665
- Remove unused
CanvasGraphicsproperties (PR 700 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20682 - Add an aria-label to the checkboxes in the thumbnails view (bug 2016136) by @calixteman in https://github.com/mozilla/pdf.js/pull/20678
- Correctly handle tab/page down when on a menu (bug 2016212) by @calixteman in https://github.com/mozilla/pdf.js/pull/20681
- Add an aria-label to the sidebar resizer (bug 2016142) by @calixteman in https://github.com/mozilla/pdf.js/pull/20679
- Add support for deleting, cutting, copying and pasting pages (bug 2010830, 2010831) by @calixteman in https://github.com/mozilla/pdf.js/pull/20670
- Add the possibility to navigate with the keyboard to go from a checkbox to an other in the thumbnail view (bug 2016007) by @calixteman in https://github.com/mozilla/pdf.js/pull/20677
- Set the
annotationTypeautomatically in theAnnotationconstructor by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20685 - Update dependencies and translations to the most recent versions, and upgrade most packages to new major versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20661
- Remove unnecessary class constructors in the
srcfolder by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20684 - Remove unnecessary
Map.prototype.entries()usage by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20691 - Fix the color of the arrow on buttons when hovering in HCM (bug 2016311) by @calixteman in https://github.com/mozilla/pdf.js/pull/20686
- Replace the
getStatIndexhelper, inweb/debugger.mjs, with native functionality by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20692 - Fix the menu dimensions when on of the item is too long (bug 2018134) by @calixteman in https://github.com/mozilla/pdf.js/pull/20694
- Fix the style of the thumbnails in HCM (bug 2016491, bug 2016321, bug 2016323, bug 2016827) by @calixteman in https://github.com/mozilla/pdf.js/pull/20693
- Convert
ChunkedStreamManager.prototype.sendRequestto an asynchronous method by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20660 - Update the page count in the UI when some changes are done (bug 2018125) by @calixteman in https://github.com/mozilla/pdf.js/pull/20695
- Reduce duplication when parsing
searchParamsin thegetPdfFilenameFromUrlfunction by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20690 - Add code coverage for font tests by @calixteman in https://github.com/mozilla/pdf.js/pull/20688
- Add some unit tests for functions in image_utils.js by @calixteman in https://github.com/mozilla/pdf.js/pull/20698
- Update quickjs to fa628f8c523ecac8ce560c081411e91fcaba2d20 by @calixteman in https://github.com/mozilla/pdf.js/pull/20708
- Slightly shorten some code in the
src/scripting_api/folder by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20699 - Only show the status bar in the views manager when it's in thumbnails mode (bug 2016656) by @calixteman in https://github.com/mozilla/pdf.js/pull/20696
- Use
Map.prototype.getOrInsert()in thegetNewAnnotationsMaphelper by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20702 - Use
Map.prototype.getOrInsert()in the_getPageAdvancemethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20704 - Use
Map.prototype.getOrInsertComputed()in theensureDebugMetadatahelper by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20706 - Use
Map.prototype.getOrInsert()in the#collectFieldObjectsmethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20703 - Use
Map.prototype.getOrInsert()in the#collectParentsmethod by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20705 - Remove the leading slash in windows file path when instrumenting js files for ccov by @calixteman in https://github.com/mozilla/pdf.js/pull/20710
- Use
FinalizationRegistryunconditionally in thesrc/scripting_api/app.jsfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20709 - Use
Map.prototype.getOrInsertComputed()in theeditorStatsgetter by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20711 - Use
Map.prototype.getOrInsert()more in thesrc/display/folder by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20716 - Correctly generate the NormalizeWithNFKC string in generic build by @calixteman in https://github.com/mozilla/pdf.js/pull/20712
- Add keyboard shortcuts for copying/cutting/deleting the pages (bug 2018139, bug 2010831) by @calixteman in https://github.com/mozilla/pdf.js/pull/20697
- Use
Map.prototype.getOrInsertComputed()in thesrc/display/api.jsfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20717 - Use @eslint/json in order to lint the json files by @calixteman in https://github.com/mozilla/pdf.js/pull/20720
- Reset transfer functions when entering in a new group by @calixteman in https://github.com/mozilla/pdf.js/pull/20727
- After cut & paste, the thumbnail must be correctly rendered (bug 2018162) by @calixteman in https://github.com/mozilla/pdf.js/pull/20725
- Reduce allocations and function creation when using
getOrInsertandgetOrInsertComputedby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20726 - Update Jasmine to version 6.0.0 by @calixteman in https://github.com/mozilla/pdf.js/pull/20719
- Remove unused
lastCodeproperty from theLZWStreamclass (PR 324 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20733 - Include transfers correctly in the "GetOperatorList" message (PR 16588 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20734
- Don't expand/collapse the entire outline when shift-clicking on the triangles (PR 20508 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20740
- Don't check for surrogates when verifying the chars to normalize by @calixteman in https://github.com/mozilla/pdf.js/pull/20745
- Bump basic-ftp from 5.1.0 to 5.2.0 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20737
- Remove useless page-id attribute in thumbnails by @calixteman in https://github.com/mozilla/pdf.js/pull/20731
- Slightly move the resizer on the sidebar (bug 2019585) by @calixteman in https://github.com/mozilla/pdf.js/pull/20741
- Tweak the background color of the sidebar (bug 2010822) by @calixteman in https://github.com/mozilla/pdf.js/pull/20743
- Add a gh action in order to create a PR containing a m-c l10n update by @calixteman in https://github.com/mozilla/pdf.js/pull/20749
- l10n: Update locale files by @github-actions[bot] in https://github.com/mozilla/pdf.js/pull/20752
- Automatically remove unmaintained locales when running
gulp importl10nby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20755 - Add an integration test for PR 20740 by @calixteman in https://github.com/mozilla/pdf.js/pull/20750
- Make the 'add file' button not hidden but just not visible in order to fix the layout by @calixteman in https://github.com/mozilla/pdf.js/pull/20748
- Fix tooltips on thumbnails and checkbox (bug 2019714) by @calixteman in https://github.com/mozilla/pdf.js/pull/20746
- Remove scientific notation parsing. by @jrmuizel in https://github.com/mozilla/pdf.js/pull/20736
- Add a script for searching the unused fluent ids by @calixteman in https://github.com/mozilla/pdf.js/pull/20747
- Fix the broken regular expression in the
decodehelper in thegetPdfFilenameFromUrlfunction (issue 20664) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20757 - Fix scrolling of outline item into view (PR 20495 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20742
- Bump fast-xml-parser from 5.3.5 to 5.4.1 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20766
- Bump minimatch by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20762
- Fix the page sidebar height by @calixteman in https://github.com/mozilla/pdf.js/pull/20758
- Tweak few elements: dimensions and the checkbox color in the new sidebar by @calixteman in https://github.com/mozilla/pdf.js/pull/20761
- Slightly shorten some code in the
src/core/function.jsfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20738 - Improve the
PDFDataRangeTransportunit-tests by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20756 - Remove dependency to yargs and use node:utils parseArgs by @calixteman in https://github.com/mozilla/pdf.js/pull/20768
- Update dependencies to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20769
- Add an integration test for the issue fixed in #20742 by @calixteman in https://github.com/mozilla/pdf.js/pull/20767
- Avoid to scroll too much when the thumbnail is at the bottom of the sidebar (bug 2016693) by @calixteman in https://github.com/mozilla/pdf.js/pull/20751
v5.4.624
This release contains improvements for accessibility, the annotation editor, image decoding, performance and the viewer.
- Bump the stable version in
pdfjs.configby @timvandermeij in https://github.com/mozilla/pdf.js/pull/20540 - Get glyph contours when stroking using a pattern by @calixteman in https://github.com/mozilla/pdf.js/pull/20515
- Use the PDFium JBig2 decoder compiled into wasm by @calixteman in https://github.com/mozilla/pdf.js/pull/20546
- Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20547
- Fix wasm url issue for the jbig2 decoder by @calixteman in https://github.com/mozilla/pdf.js/pull/20548
- Revert "Remove some files from talos tests because they aren't available on webarchive" by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20549
- Aria-hide artifacts in the text layer (bug 2004951) by @calixteman in https://github.com/mozilla/pdf.js/pull/20550
- Don't add an aria-label on MathML elements in the struct tree (bug 2004951) by @calixteman in https://github.com/mozilla/pdf.js/pull/20551
- Add some tests for the JBIG2 js decoder by @calixteman in https://github.com/mozilla/pdf.js/pull/20552
- Update jbig2 decoder (pdfium@3c679253a9e17c10be696d345c63636b18b7f925) by @calixteman in https://github.com/mozilla/pdf.js/pull/20566
- Don't use contents stream which have an image format by @calixteman in https://github.com/mozilla/pdf.js/pull/20570
- Hide the text in the text layer associated with MathML elements (bug 2009627) by @calixteman in https://github.com/mozilla/pdf.js/pull/20567
- Make sure the caret is black in dark mode when in caret browsing mode by @calixteman in https://github.com/mozilla/pdf.js/pull/20569
- Add the possibility to drag & drop some thumbnails in the pages view (bug 2009573) by @calixteman in https://github.com/mozilla/pdf.js/pull/20559
- Select the dropped thumbnail (bug 2010820) by @calixteman in https://github.com/mozilla/pdf.js/pull/20578
- The 'find in page' feature must correctly work after the pages have been reorganized (bug 2010814) by @calixteman in https://github.com/mozilla/pdf.js/pull/20577
- Avoid exception after having moved an annotation by @calixteman in https://github.com/mozilla/pdf.js/pull/20572
- Add the possibility to order the pages in an extracted pdf (bug 1997379) by @calixteman in https://github.com/mozilla/pdf.js/pull/20475
- Bump lodash from 4.17.21 to 4.17.23 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20588
- Update image pattern in gulpfile to accommodate missing images by @dgiessing in https://github.com/mozilla/pdf.js/pull/20554
- Hide the menu container in changing it's visibility by @calixteman in https://github.com/mozilla/pdf.js/pull/20583
- Fix links and outline after reorganizing a pdf by @calixteman in https://github.com/mozilla/pdf.js/pull/20580
- Use DecompressionStream in async code by @calixteman in https://github.com/mozilla/pdf.js/pull/20593
- Fix the drag marker dimensions in the thumbnails view by @calixteman in https://github.com/mozilla/pdf.js/pull/20591
- Bug 1999154 - Add the ability to undo comment deletion by @marco-c in https://github.com/mozilla/pdf.js/pull/20586
- Refactor a bit page mapping stuff in order to be able to support delete/copy pages by @calixteman in https://github.com/mozilla/pdf.js/pull/20587
- Add a manage button in the thumbnail view in order to save an edited pdf (bug 2010830) by @calixteman in https://github.com/mozilla/pdf.js/pull/20582
- Fix the sidebar resizer accessibility by @calixteman in https://github.com/mozilla/pdf.js/pull/20598
- [Node.js] Don't abort the full request for local PDF files smaller than two range requests, and use standard
ReadableStreams by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20594 - Simplify the
NetworkManagerclass, and inline it in thePDFNetworkStreamclass by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20595 - Simplify the
FileSpecclass, and remove no longer needed polyfills by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20596 - Remove unit-tests for global
ReadableStreamandURLby @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20605 - Improve preferences building, and generate the
preferences_schema.jsonfile for the Chromium addon by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20603 - Replace the
IPDFStream,IPDFStreamReader, andIPDFStreamRangeReaderinterfaces with proper base classes by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/20602 - fix: Fix mailto links truncated at dash by @kairosci in https://github.com/mozilla/pdf.js/pull/20565
v5.4.530
This release, the final one of 2025, contains improvements for accessibility, font conversion, image conversion, performance, text selection and the viewer.
- Bump the stable version in
pdfjs.configby @timvandermeij in https://github.com/mozilla/pdf.js/pull/20469 - [Editor] Pointer type initialization only when the user changes the mode by @legraina in https://github.com/mozilla/pdf.js/pull/20226
- Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20470
- Aria-hide the text content part of a MathML formula (bug 1998046) by @calixteman in https://github.com/mozilla/pdf.js/pull/20471
- Inject the text from the text layer in the MathML tags when they're in the struct tree (bug 1998046) by @calixteman in https://github.com/mozilla/pdf.js/pull/20472
- Add a menu class in order to be used in the new UI for the merge feature by @calixteman in https://github.com/mozilla/pdf.js/pull/20483
- Add some callbacks when resizing a sidebar by @calixteman in https://github.com/mozilla/pdf.js/pull/20474
- Use HTMLElement.scrollIntoView when showing a thumbnail by @calixteman in https://github.com/mozilla/pdf.js/pull/20476
- Extend getGlyphMapForStandardFonts with some Russian entries (issue 20453) by @xiaobai2017666 in https://github.com/mozilla/pdf.js/pull/20454
- Add a new linting task in order to detect unused/unknown css variables in the Firefox build by @calixteman in https://github.com/mozilla/pdf.js/pull/20485
- Add .vscode to .gitignore by @calixteman in https://github.com/mozilla/pdf.js/pull/20490
- Encode FontPath data into an ArrayBuffer by @ryzokuken in https://github.com/mozilla/pdf.js/pull/20346
- Move the css for tree object in its own file by @calixteman in https://github.com/mozilla/pdf.js/pull/20493
- Use only one resize observer in the the sidebar by @calixteman in https://github.com/mozilla/pdf.js/pull/20494
- Fix infinite loop in JBIG2 decoder with >4 referred-to segments by @Gaurang-5 in https://github.com/mozilla/pdf.js/pull/20440
- Move text layer scaling logic to CSS by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/20491
- Improves text rendering performance by skipping unnecessary pattern calculations by @AtiX in https://github.com/mozilla/pdf.js/pull/20499
- Simplify positioning of elements inside
markedContentby @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/20492 - Fix #20420: Prevent double decoding of file URL parameter by @Uzair-Ahmed-Shah in https://github.com/mozilla/pdf.js/pull/20482
- Fix the position of the checkmark when the menu is displayed in RTL by @calixteman in https://github.com/mozilla/pdf.js/pull/20500
- Fix some css in the tree view by @calixteman in https://github.com/mozilla/pdf.js/pull/20508
- Change the sidebar for a views manager by @calixteman in https://github.com/mozilla/pdf.js/pull/20495
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20507
- Run the CI tests in Node.js version 25 too by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20502
- Fix unit tests in adding a comma in the JSON for imports by @calixteman in https://github.com/mozilla/pdf.js/pull/20517
- Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20501
- Escape punctuation signs in search query by @calixteman in https://github.com/mozilla/pdf.js/pull/20518
- Avoid exception when trying to render some glyphs contours by @calixteman in https://github.com/mozilla/pdf.js/pull/20514
- Simplify regex escaping by @calixteman in https://github.com/mozilla/pdf.js/pull/20524
- Dont' throw when adding page labels in thumbnails by @calixteman in https://github.com/mozilla/pdf.js/pull/20521
- Fix the encoding for some missing chinese fonts by @calixteman in https://github.com/mozilla/pdf.js/pull/20526
- Remove some files from talos tests because they aren't available on webarchive by @calixteman in https://github.com/mozilla/pdf.js/pull/20527
- Avoid pattern creation with some basic gradients by @calixteman in https://github.com/mozilla/pdf.js/pull/20525
- Introduce a helper function to draw a line in the ink editor integration tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20519
- Add CLAUDE.md generated with claude code by @calixteman in https://github.com/mozilla/pdf.js/pull/20522
- Avoid to have a mail link with string having the format ddd@d.dddd by @calixteman in https://github.com/mozilla/pdf.js/pull/20531
- Remove undefStack stuff in the cff parser by @calixteman in https://github.com/mozilla/pdf.js/pull/20537
- Fix the loca table length when there is enough space for it by @calixteman in https://github.com/mozilla/pdf.js/pull/20538
- Use CIDToGIDMap when the font is a type 2 with an OpenType font by @calixteman in https://github.com/mozilla/pdf.js/pull/20535
v5.4.449
This release contains improvements for the annotation editor, performance, text selection and the viewer.
- Bump the stable version in
pdfjs.configby @timvandermeij in https://github.com/mozilla/pdf.js/pull/20414 - Create the number tree for the ParentTree only one time by @calixteman in https://github.com/mozilla/pdf.js/pull/20425
- Add the possibility to create a pdf from different ones (bug 1997379) by @calixteman in https://github.com/mozilla/pdf.js/pull/20409
- Update the page labels tree when a pdf is extracted (bug 1997379) by @calixteman in https://github.com/mozilla/pdf.js/pull/20411
- Update the named page destinations when some pdf are combined (bug 1997379) by @calixteman in https://github.com/mozilla/pdf.js/pull/20421
- Version entry in the catalog has to be a name and not a string by @calixteman in https://github.com/mozilla/pdf.js/pull/20432
- Add a wrapper for the new xref in order to be able to get some values from cloned dictionaries by @calixteman in https://github.com/mozilla/pdf.js/pull/20431
- Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20429
- Introduce a helper function to create a freetext editor in the integration tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20430
- Add telemetry for tagged pdfs (bug 1997134) by @calixteman in https://github.com/mozilla/pdf.js/pull/20405
- Merge the structure trees coming from different pdfs (bug 1997379) by @calixteman in https://github.com/mozilla/pdf.js/pull/20436
- Add regression test for PR 19184 by @maettuu in https://github.com/mozilla/pdf.js/pull/20151
- Bump glob by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20448
- Bump js-yaml from 3.14.1 to 3.14.2 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20449
- Lint and format the HTML in using Prettier by @calixteman in https://github.com/mozilla/pdf.js/pull/20447
- Add setter for some FontFaceObject properties by @Aditi-1400 in https://github.com/mozilla/pdf.js/pull/20427
- fix: deleteAnnotationElement takes a full editor object by @sachiniyer in https://github.com/mozilla/pdf.js/pull/20413
- When searching for a group of punctuation signs, only add extraspaces around the group by @calixteman in https://github.com/mozilla/pdf.js/pull/20456
- [XFA] Set default max value in occur tag to -1 (bug 1998843) by @calixteman in https://github.com/mozilla/pdf.js/pull/20455
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20459
- Include missing
cached-iterabledev dependency inpackage.jsonby @Mario34 in https://github.com/mozilla/pdf.js/pull/20450 - Don't use firstChild/lastChild when getting elements (follow-up of #20447) by @calixteman in https://github.com/mozilla/pdf.js/pull/20458
- [Editor] Allow to save an edited comment in using CTRL+Enter shortcut. by @calixteman in https://github.com/mozilla/pdf.js/pull/20460
- Create a sidebar object by @calixteman in https://github.com/mozilla/pdf.js/pull/20467
- Fix the regex string used to find the chars to normalize with NFKC when searching by @calixteman in https://github.com/mozilla/pdf.js/pull/20465
- Use OIDC trusted publishing in the GitHub Actions release workflow by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20468
- Slightly reduce the memory used by thumbnails by @calixteman in https://github.com/mozilla/pdf.js/pull/20462
v5.4.394
This release contains improvements for the annotation editor, accessibility, font conversion and performance.
- Bump the stable version in
pdfjs.configby @timvandermeij in https://github.com/mozilla/pdf.js/pull/20339 - Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20337
- [Editor] Remove obsolete arguments for
setDimscalls in the highlight code by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20335 - Add a test for PR #20320 by @calixteman in https://github.com/mozilla/pdf.js/pull/20338
- [Editor] Make sure that comment stuff is removed when an editor is deleted (bug 1992987) by @calixteman in https://github.com/mozilla/pdf.js/pull/20342
- [Editor] Make sure the editor is focused after the comment has been deleted (bug 1992832) by @calixteman in https://github.com/mozilla/pdf.js/pull/20343
- [Editor] Make sure all editors are focusable with the keyboard (bug 1992868) by @calixteman in https://github.com/mozilla/pdf.js/pull/20341
- [Editor] Remove the role radio for the editing buttons (bug 1990826) by @calixteman in https://github.com/mozilla/pdf.js/pull/20347
- [Editor] Make sure that annotation positions in the DOM respect the visual order (bug 1992770) by @calixteman in https://github.com/mozilla/pdf.js/pull/20344
- [Annotation] Use the annotations rect in order to fix the order in the DOM (bug 1987914) by @calixteman in https://github.com/mozilla/pdf.js/pull/20350
- [Editor] Avoid to have a null button in the DOM when there's no comment manager by @calixteman in https://github.com/mozilla/pdf.js/pull/20351
- Improve performance of the struct tree build (bug 1987914) by @calixteman in https://github.com/mozilla/pdf.js/pull/20352
- [Annotation] Improve the performance of the code for getting glyphs which belongs to annotations bounding boxes (bug 1987914) by @calixteman in https://github.com/mozilla/pdf.js/pull/20353
- Use enums instead of string for mesh shading figure type by @Aditi-1400 in https://github.com/mozilla/pdf.js/pull/20354
- Bump github/codeql-action from 3 to 4 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20357
- Very slightly improve intersector performance by @calixteman in https://github.com/mozilla/pdf.js/pull/20358
- Use Python 3.14 in the GitHub workflows by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20363
- Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20356
- Reset
sameLineTextdependencies data onsetTextMatrixby @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/20361 - Use a binary format for the glyph paths by @calixteman in https://github.com/mozilla/pdf.js/pull/20367
- [Editor] Correctly focus the annotation once the comment has been removed in the annotation layer (bug 1994738) by @calixteman in https://github.com/mozilla/pdf.js/pull/20369
- [Editor] Fix the tooltip of the comment button when in the editor toolbar (bug 1994958) by @calixteman in https://github.com/mozilla/pdf.js/pull/20372
- [Editor] FreeText annotations aren't supposed to have an attached popup so disable commenting for them (bug 1995028) by @calixteman in https://github.com/mozilla/pdf.js/pull/20374
- [Editor] Make sure the color picker has the right color when pasting an editor by @calixteman in https://github.com/mozilla/pdf.js/pull/20375
- [Editor] Fix integration test after #20372 by @calixteman in https://github.com/mozilla/pdf.js/pull/20377
- Use stream for whatever substrem in stream classes by @calixteman in https://github.com/mozilla/pdf.js/pull/20373
- Fix stream use when getting the text (follow-up of #20373) by @calixteman in https://github.com/mozilla/pdf.js/pull/20379
- Add a highlightSpan function in order to simplify a bit the integration tests by @calixteman in https://github.com/mozilla/pdf.js/pull/20355
- Tweak the "scroll into view" viewer integration test by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20380
- Don't use the
aboutstacks.pdffile in the integration tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20378 - Bump actions/setup-node from 5 to 6 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20381
- Serialize pattern data into ArrayBuffer by @Aditi-1400 in https://github.com/mozilla/pdf.js/pull/20340
- [Editor] Fix the css of the button to close the comment sidebar (bug 1995766) by @calixteman in https://github.com/mozilla/pdf.js/pull/20386
- [Editor] Fix the css of the link in the comment sidebar (bug 1995721) by @calixteman in https://github.com/mozilla/pdf.js/pull/20387
- [Editor] Avoid to have several Undo entries in the context menu (bug 1995705) by @calixteman in https://github.com/mozilla/pdf.js/pull/20388
- [Editor] Make sure the left (resp. right) corner of the popup is visible when in LTR (resp. RTL) (bug 1995579) by @calixteman in https://github.com/mozilla/pdf.js/pull/20389
- Make MathML elements visible in the struct tree (bug 1937438) by @calixteman in https://github.com/mozilla/pdf.js/pull/20384
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20400
- Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20396
- Add the font PT Astra Serif as a possible substitution for Times New Roman by @CoelacanthusHex in https://github.com/mozilla/pdf.js/pull/20394
- Collect all child nodes of lists and tables in StructTree by @edoardocavazza in https://github.com/mozilla/pdf.js/pull/20327
- Add text extractor as an external service by @gregtatum in https://github.com/mozilla/pdf.js/pull/20406
- Revert "Add some telemetry in order to know what are the certificates used in pdfs (bug 1973573)" by @calixteman in https://github.com/mozilla/pdf.js/pull/20404
- Don't set the MathML namespace for attributes in MathML tags (bug 1997343) by @calixteman in https://github.com/mozilla/pdf.js/pull/20408
- [Editor] A new CurrentPointers class to store current pointers used by the editor by @legraina in https://github.com/mozilla/pdf.js/pull/20213
v5.4.296
This release contains improvements for annotations, the annotation editor, font conversion, text selection and the viewer.
- Bump the stable version in
pdfjs.configby @timvandermeij in https://github.com/mozilla/pdf.js/pull/20215 - Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20216
- Add a function changeLightness in order to change the lightness of a RGB color by @calixteman in https://github.com/mozilla/pdf.js/pull/20204
- [Editor] Hide the comment sidebar on document change by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20220
- [Editor] Add editors with a comment in the sidebar by @calixteman in https://github.com/mozilla/pdf.js/pull/20217
- [Editor] Make scrollable the area containing the comments in the sidebar by @calixteman in https://github.com/mozilla/pdf.js/pull/20222
- [Editor] Use the color of the annotation for the background of the comment button by @calixteman in https://github.com/mozilla/pdf.js/pull/20221
- [Editor] Don't save the image when updating a stamp annotation by @calixteman in https://github.com/mozilla/pdf.js/pull/20233
- Add a new function renderRichText to be used in the annotation layer by @calixteman in https://github.com/mozilla/pdf.js/pull/20231
- Fix the rendering of XFA rich text in popup annotations by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20238
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20242
- Bump actions/setup-node from 4 to 5 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20243
- Improve the integration test code by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20172
- [Editor] Fix saving a deleted popup by @calixteman in https://github.com/mozilla/pdf.js/pull/20244
- [Editor] Add the dates and rich text if any to the editors in order to use them when displaying the popup by @calixteman in https://github.com/mozilla/pdf.js/pull/20245
- Unskip the
must check that date entered by the user is consistentscripting integration test for Firefox by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20239 - [Editor] Make sure the comment button is at the right place when adding it in the toolbar by @calixteman in https://github.com/mozilla/pdf.js/pull/20248
- [Editor] When clicking on a comment in the sidebar, wait for the annotation editor layer to be rendered by @calixteman in https://github.com/mozilla/pdf.js/pull/20247
- Reduce background canvas resolution by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/20255
- Add an option in scrollIntoView and goToXY in order to be able to center vertically or horizontally the point XY in the viewer container by @calixteman in https://github.com/mozilla/pdf.js/pull/20253
- [Editor] Don't throw when switching to editing mode before an annotation editor layer is rendered by @calixteman in https://github.com/mozilla/pdf.js/pull/20259
- [Editor] Cleanup the pages not being fully rendered before switching to editing mode by @calixteman in https://github.com/mozilla/pdf.js/pull/20258
- Make sure that a good constrast ratio is respected when darkening/lightening a color by @calixteman in https://github.com/mozilla/pdf.js/pull/20240
- Store ops bboxes in a linear Uint8Array by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/20208
- Fix JSDoc description in src/display/api.js by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/20267
- Only record bboxes when needed by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/20256
- Use a dichotomy to find a color with a good contrast ratio by @calixteman in https://github.com/mozilla/pdf.js/pull/20269
- Replace manual returns with
pendingin the integration tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20271 - Consider a ttf font with both Symbolic and Nonsymbolic flags set with a Differences array in the encoding dict as non-symbolic by @calixteman in https://github.com/mozilla/pdf.js/pull/20270
- Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/20272
- [Editor] Add a new popup for comments (bug 1987425) by @calixteman in https://github.com/mozilla/pdf.js/pull/20249
- [Annotation] Use the new popup in reading mode (bug 1987426) by @calixteman in https://github.com/mozilla/pdf.js/pull/20250
- [Editor] Fix the position of the comment popup and its dialog by @calixteman in https://github.com/mozilla/pdf.js/pull/20278
- [Annotation] Save the comment changes made in reading mode (bug 1987427) by @calixteman in https://github.com/mozilla/pdf.js/pull/20274
- Avoid unused css variables by @calixteman in https://github.com/mozilla/pdf.js/pull/20279
- Use
console.warn/console.infowhere appropriate by @sigmaSd in https://github.com/mozilla/pdf.js/pull/20252 - [Editor] Fix the focus outline for the comment dialog buttons by @calixteman in https://github.com/mozilla/pdf.js/pull/20281
- [Editor] Make sure to not add extra editors when showing again a destroyed page by @calixteman in https://github.com/mozilla/pdf.js/pull/20282
- Update OpenJPEG to 2.5.4 by @calixteman in https://github.com/mozilla/pdf.js/pull/20286
- Serialize font data into an ArrayBuffer by @ryzokuken in https://github.com/mozilla/pdf.js/pull/20197
- [Editor] Make sure the comment dialog is visible on the screen (bug 1989304) by @calixteman in https://github.com/mozilla/pdf.js/pull/20283
- [Editor] Remove useless computations when setting the dimensions of an editor by @calixteman in https://github.com/mozilla/pdf.js/pull/20285
- [Editor] When in HCM, don't apply light/dark color in the comment buttons (bug 1977269) by @calixteman in https://github.com/mozilla/pdf.js/pull/20291
- [Editor] Update the color and the position of the comment button in reading mode they've been modified by @calixteman in https://github.com/mozilla/pdf.js/pull/20295
- [Editor] Don't add scrollbars when it's useless in the comment sidebar (bug 1990099) by @calixteman in https://github.com/mozilla/pdf.js/pull/20297
- [Editor] Avoid to use similar colors for background and foreground colors in HCM (bug 1990082) by @calixteman in https://github.com/mozilla/pdf.js/pull/20298
- [Editor] Use some percent coordinates for the comment dialog (bug 1990104) by @calixteman in https://github.com/mozilla/pdf.js/pull/20299
- [Editor] Fix the button labels in the comment dialog (bug 1990499) by @calixteman in https://github.com/mozilla/pdf.js/pull/20300
- [Editor] Make the comment sidebar resizable (bug 1990544) by @calixteman in https://github.com/mozilla/pdf.js/pull/20303
- [Editor] Add a title to the comment buttons (bug 1990813) by @calixteman in https://github.com/mozilla/pdf.js/pull/20305
- [Editor] Move the focus to the comment button once editing is done (bug 1990820) by @calixteman in https://github.com/mozilla/pdf.js/pull/20304
- [Editor] Make sure the selected editor is correctly focused after switching editing mode (bug 1990872) by @calixteman in https://github.com/mozilla/pdf.js/pull/20307
- [Editor] Fix the URL for the 'Learn more' link in the comment sidebar (bug 1990454) by @calixteman in https://github.com/mozilla/pdf.js/pull/20308
- [Editor] Show the comments in the sidebar in the chronological order,newest to oldest (bug 1990762) by @calixteman in https://github.com/mozilla/pdf.js/pull/20310
- Update dependencies by @calixteman in https://github.com/mozilla/pdf.js/pull/20309
- [Editor] Give the focus to the comment button after editing in reading mode by @calixteman in https://github.com/mozilla/pdf.js/pull/20311
- [Annotation] In reading mode with new commment stuff enabled, use the comment popup for annotations without a popup but with some contents (bug 1991029) by @calixteman in https://github.com/mozilla/pdf.js/pull/20312
- [Editor] Add some telemetry for the commenting feature (bug 1991172) by @calixteman in https://github.com/mozilla/pdf.js/pull/20313
- [Editor] Remove useless sidebar css by @calixteman in https://github.com/mozilla/pdf.js/pull/20314
- [Editor] Add a fake annotation (in the annotation layer) associated with an editor in order to be able to show the comment button (bug 1989420) by @calixteman in https://github.com/mozilla/pdf.js/pull/20321
- [Editor] Avoid an error when getting the editors telemetry data by @calixteman in https://github.com/mozilla/pdf.js/pull/20318
- [Annotation] Fix some timezone issues when getting a date from the date picker (bug 1991584) by @calixteman in https://github.com/mozilla/pdf.js/pull/20320
- [Editor] Add the possibility to unselect a comment from the sidebar by @calixteman in https://github.com/mozilla/pdf.js/pull/20322
- Increase the rendering quality of the detail view (bug 1991482) by @calixteman in https://github.com/mozilla/pdf.js/pull/20323
- Improve serif fallback font name matching by @james-atticus in https://github.com/mozilla/pdf.js/pull/20224
- Fix the creation of the annotation layer in the ref tests by @calixteman in https://github.com/mozilla/pdf.js/pull/20329
- [Editor] Make sure the comment dialog always have relative coordinates between 0% and 100% by @calixteman in https://github.com/mozilla/pdf.js/pull/20328
- [Editor] Slightly move the resizer in the sidebar comment in order to make it easier to use (bug 1992385) by @calixteman in https://github.com/mozilla/pdf.js/pull/20332
- Only apply word spacing when there is a 0x20 in the text chunk by @calixteman in https://github.com/mozilla/pdf.js/pull/20334
- Bump tar-fs from 3.1.0 to 3.1.1 by @dependabot[bot] in https://github.com/mozilla/pdf.js/pull/20301
- Fix incremental saving with hybrid references by @calixteman in https://github.com/mozilla/pdf.js/pull/20333