This release contains improvements for annotation rendering, annotation editing, font conversion, image conversion, performance, SMask handling and text selection.
Changes since v6.1.200
- Bump the stable version in
pdfjs.configby @timvandermeij in #21510 - Add a workflow to publish the per-test coverage index by @calixteman in #21507
- Add support for Sound annotations playing embedded audio by @calixteman in #21501
- Remove the BOM from html files (bug 2051221) by @calixteman in #21513
- Digital Signature and Certificate verification by @beurdouche in #21247
- Bump actions/setup-python from 6.2.0 to 6.3.0 by @dependabot[bot] in #21516
- Bump actions/checkout from 6.0.3 to 7.0.0 by @dependabot[bot] in #21518
- Bump actions/cache/save from 5.0.5 to 6.1.0 by @dependabot[bot] in #21515
- Bump actions/cache/restore from 5.0.5 to 6.1.0 by @dependabot[bot] in #21517
- Take into account the current transform when getting font size for FreeText by @calixteman in #20505
- Fix the version comment in the font tests GitHub Actions workflow by @timvandermeij in #21519
- Fix escapePDFName producing malformed name escapes for control characters by @spokodev in #21522
- A couple of
SignaturePropertiesManagerimprovements (PR 21247 follow-up) by @Snuffleupagus in #21524 - Serialize GitHub Pages deployments to avoid concurrent deploy failures by @calixteman in #21528
- Deduplicate the signature-properties warn/error toolbar icon by @beurdouche in #21530
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in #21532
- [GeckoView] Add
web-digital_signature_properties_managerimport map (PR 21247 follow-up) by @Snuffleupagus in #21529 - Reduce duplication when updating undoButton/undoCloseButton in
PDFThumbnailViewer.prototype.#updateStatusby @Snuffleupagus in #21531 - Add basic support for non-embedded TrebuchetMS fonts (issue 21523) by @Snuffleupagus in #21527
- Avoid text selection workaround in modern Chromium by @nicolo-ribaudo in #21514
- Use the
#getPageL10nArgshelper in thePDFThumbnailView.prototype.addPasteButtonmethod by @Snuffleupagus in #21534 - Move the
bannerStateForResultshelper into theSignaturePropertiesManagerclass (PR 21247 follow-up) by @Snuffleupagus in #21533 - Update to Babel 8 by @nicolo-ribaudo in #21475
- Apply the appearance-stream scale factor when text is shown, not on setFont by @calixteman in #21525
- Do not drop the character after U+FFFE or U+FFFF in encodeToXmlString by @spokodev in #21526
- Enable the unicorn/logical-assignment-operators ESLint plugin rule by @Snuffleupagus in #21511
- Remove unneeded
this.#signatureData = null;lines insrc/core/document.jsby @Snuffleupagus in #21536 - Use the
MathClamphelper in thePDFImage.prototype.getComponentsmethod by @Snuffleupagus in #21537 - Update dependencies to the most recent versions by @timvandermeij in #21539
- Add API unit-tests for
getSignaturesandgetSignatureData(PR 21247 follow-up) by @Snuffleupagus in #21541 - Do not drop the character after U+FFFE or U+FFFF in Font.prototype.encodeString by @mahirhir in #21538
- Don't needlessly wrap the marked content
id-attribute in a string by @Snuffleupagus in #21545 - Lookup "lenIV" inline in the
Type1Parser.prototype.extractFontProgrammethod by @Snuffleupagus in #21544 - Use
Intl.Segmenterfor the entire-word search matching by @calixteman in #21521 - Implement a unit test for passing unsupported data types to
MurmurHash3_64.update()by @timvandermeij in #21546 - Add a
FakeSignatureVerifierfor development mode and TESTING builds (PR 21247 follow-up) by @Snuffleupagus in #21543 - Implement unit tests for the
getRotationMatrixcore utility function by @timvandermeij in #21547 - Change Promise-returning worker message-handler functions to be asynchronous by @Snuffleupagus in #21550
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in #21555
- Replace a couple of
indexOfcalls withstartsWithby @Snuffleupagus in #21554 - Bug 2048531 - Improve selection contrast in dark mode by @nicolo-ribaudo in #21553
- Use
for...ofeven more in the code-base by @Snuffleupagus in #21560 - Update dependencies to the most recent versions by @timvandermeij in #21561
- Use direct
return awaita bit more in thesrc/core/folder by @Snuffleupagus in #21563 - Improve the GitHub Actions workflow triggers and requirements by @timvandermeij in #21562
- Commit the current editing session before saving (bug 2047516) by @calixteman in #21568
- Preserve non-local PDF link destinations by @calixteman in #21565
- Preserve Unicode destination and attachment names by @calixteman in #21566
- Handle indirect and dangling structure tree root kids by @calixteman in #21567
- Preserve OBJR children without restoring deleted pages by @calixteman in #21569
- Skip setFillColorN/setStrokeColorN operators without valid arguments (issue 21570) by @Snuffleupagus in #21574
- Bump github/codeql-action/init from 4.36.2 to 4.36.3 by @dependabot[bot] in #21571
- Bump github/codeql-action/autobuild from 4.36.2 to 4.36.3 by @dependabot[bot] in #21572
- Bump github/codeql-action/analyze from 4.36.2 to 4.36.3 by @dependabot[bot] in #21573
- Add a
getOrPutComputedmethod in theRefSetCacheclass by @Snuffleupagus in #21576 - Fix decryption of AES-256 revision 5 PDFs with non-ASCII passwords by @calixteman in #21580
- Reduce duplication in
CipherTransformFactory.prototype.createCipherTransformby @Snuffleupagus in #21581 - Support SASLprep for AES-256 revision 6 passwords by @calixteman in #21583
- Fix signature fields with widget children by @calixteman in #21575
- Fix AcroForm appearance resources when merging pages by @calixteman in #21577
- Use
Map.prototype.getOrInsertComputedmore in theweb/folder by @Snuffleupagus in #21586 - l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in #21589
- Use
getOrInsertComputedin theCanvasGraphics.prototype._getPatternmethod by @Snuffleupagus in #21590 - Use Iterator methods to avoid some unnecessary Array creation by @Snuffleupagus in #21592
- Start using
Iterator.prototype.joinin the code-base by @Snuffleupagus in #21585 - Re-factor the
bCache, used with /Mesh Shadings by @Snuffleupagus in #21596 - Change the
CompiledFontglyph/charCode caches to useMaps by @Snuffleupagus in #21595 - Implement SmaskInData == 2 for JPX images by @calixteman in #21587
- Rebuild missing AcroForm fields by @calixteman in #21591
- Handle revisioned structure attributes by @calixteman in #21588
- [api-minor] Convert
getDestinationsto return data in a Map by @Snuffleupagus in #21597 - Download the per-test coverage index by @calixteman in #21598
- Combine the
getPathJsandhasBuiltPathmethods in theCompiledFontclass by @Snuffleupagus in #21599 - Address follow-up review comments in coverage_search.mjs by @calixteman in #21605
- Ignore Annotations with
fieldValue = nullwhen saving (issue 21582) by @Snuffleupagus in #21594 - Encode i32.const immediates as signed LEB128 in the PostScript Wasm compiler by @uwezkhan in #21601
- Fix parsing of ambiguous date formats like
Hmby @calixteman in #21606 - Update the file format entries in
.gitattributesby @timvandermeij in #21603 - Update dependencies to the most recent versions by @timvandermeij in #21602
- Copy the backdrop for non-isolated groups with a soft mask by @calixteman in #21604
- [api-minor] Convert
getViewerPreferencesto return data in a Map by @Snuffleupagus in #21607 - Bump actions/setup-node from 6.4.0 to 7.0.0 by @dependabot[bot] in #21612
- Bump github/codeql-action/analyze from 4.36.3 to 4.37.0 by @dependabot[bot] in #21611
- Bump github/codeql-action/init from 4.36.3 to 4.37.0 by @dependabot[bot] in #21613
- Bump github/codeql-action/autobuild from 4.36.3 to 4.37.0 by @dependabot[bot] in #21614
- Re-use the
NS_DATASETSconstant more in thesrc/core/xfa/bind.jsfile by @Snuffleupagus in #21615 - Preserve indirect AcroForm resources by @calixteman in #21616
- Improve the
Ref.prototype.toStringmethod a tiny bit by @Snuffleupagus in #21618 - [api-minor] Convert
getOpenActionto return data in a Map by @Snuffleupagus in #21621 - Improve the detection of the changes made after a document has been signed by @calixteman in #21620
- Document the preserve and dependencyLists params for recordOperation by @LuShadowX in #21622
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in #21623
- Bump linkify-it from 5.0.1 to 5.0.2 by @dependabot[bot] in #21625
- Remove the
objectSizehelper function by @Snuffleupagus in #21624 - Preserve inherited text field appearances by @calixteman in #21626
- Re-factor the
XRefclass to use private fields by @Snuffleupagus in #21631 - Use the
toBeNull()matcher consistently in the unit/integration tests by @Snuffleupagus in #21632 - Use the
toBeUndefined()matcher consistently in the unit tests by @Snuffleupagus in #21633 - Use the
toThrowError()matcher consistently in the unit tests by @Snuffleupagus in #21636 - Use the
toBeFalse()matcher consistently in the unit/integration tests by @Snuffleupagus in #21634 - Use the
toBeTrue()matcher consistently in the unit/font/integration tests by @Snuffleupagus in #21635 - Preserve inherited signature flags by @calixteman in #21628
- Detect inherited signature fields in form info by @calixteman in #21630
- Bump fast-uri from 3.1.2 to 3.1.4 by @dependabot[bot] in #21627
- Add the Firefox features notification bar to the viewer (bug 2057608) by @calixteman in #21629
- Update dependencies to the most recent versions by @timvandermeij in #21639
- Convert the /Indexed palette in a single base color space call by @calixteman in #21637
- Convert shading colors in bulk, rather than one at a time by @calixteman in #21641
- Reduce a tiny bit of duplication in the
normalizeBlendModehelper by @Snuffleupagus in #21642 - Bump actions/checkout from 7.0.0 to 7.0.1 by @dependabot[bot] in #21651
- Change
defaultOptions, in theweb/app_options.jsfile, to a Map by @Snuffleupagus in #21640 - Bump actions/setup-python from 6.3.0 to 7.0.0 by @dependabot[bot] in #21647
- Bump github/codeql-action/init from 4.37.0 to 4.37.2 by @dependabot[bot] in #21648
- Bump github/codeql-action/analyze from 4.37.0 to 4.37.2 by @dependabot[bot] in #21649
- Bump github/codeql-action/autobuild from 4.37.0 to 4.37.2 by @dependabot[bot] in #21650
- Shorten
Catalog.prototype.jsActions getterandAnnotationElement.prototype._getElementsByNamea tiny bit by @Snuffleupagus in #21653 - Update qcms wrapper by @calixteman in #21646
- Update the signatures-helpers to actually handle
MissingDataExceptions by @Snuffleupagus in #21652 - Avoid cycles when walking some trees by @calixteman in #21654