This release contains improvements for accessibility, annotation rendering, font conversion, performance, shading pattern rendering, text selection and the viewer.
Changes since v5.5.207
- Bump the stable version in
pdfjs.configby @timvandermeij in #20771 - Just output in the console the results for the integrations which ran by @calixteman in #20760
- Use a babel plugin in order to strip /src/ from the import paths by @calixteman in #20772
- Use
L10n.prototype.getDirectionrather than querying the DOM, when initializing theCommentManagerinstance by @Snuffleupagus in #20776 - Hide the "Select pages" label, in the thumbnails sidebar, when split-merge is disabled by @Snuffleupagus in #20775
- Prevent
PdfTextExtractor.prototype.extractTextContentfrom failing intermittently by @Snuffleupagus in #20784 - Fix layout of thumbnails when split/merge is disabled by @calixteman in #20779
- Fix intermittent issue with a unit test by @calixteman in #20773
- Fix the paste button position and add a button before the first thumbnail by @calixteman in #20789
- Add a way to extract some pages from a pdf (bug 2019682) by @calixteman in #20785
- Add script to check license headers by @nicolo-ribaudo in #20782
- Add the pages organization actions in the Firefox context menu (bug 2018138) by @calixteman in #20788
- Add support for dismissing comment popups with click outside (bug 1989406) by @wooorm in #20780
- Update l10n related information in various READMEs by @Snuffleupagus in #20791
- Use the
Dict.prototype.getRawEntriesmethod more by @Snuffleupagus in #20793 - Ignore directories in lint-licenses task by @nicolo-ribaudo in #20796
- Fix missing Chinese font name variants (SimFang and XiaoBiaoSong) in GBK encoding detection by @pengkunbin in #20781
- Change the
Dict.prototype.{getKeys, getRawValues}methods to return iterators by @Snuffleupagus in #20795 - Fix downloading the current pdf by @calixteman in #20803
- Improve and simplify the
PdfTextExtractorimplementation by @Snuffleupagus in #20787 - Move the heading role on the sidebar label (bug 2020737) by @calixteman in #20794
- Fix few colors in the Manage menu in HCM (bug 2020774) by @calixteman in #20797
- Add some aria-labels to the paste button in order to know where the buttons are (bug 2020758) by @calixteman in #20792
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #20778
- Remove the sidebar resize observer when killing the UI by @calixteman in #20802
- Use
BaseStream.prototype.getStringin thereadPostScriptTablefunction by @Snuffleupagus in #20799 - Let
BinaryCMapStreamextend theStreamclass by @Snuffleupagus in #20806 - Fix the position of the thumbnails on the last line (bug 2016437) by @calixteman in #20798
- Fix the event name in some integration tests (follow-up of #20788) by @calixteman in #20812
- Add fetch** functions in the XRefWrapper by @calixteman in #20811
- Once a page has been deleted or pasted, make sure the focus stays in the sidebar (bug 2020731) by @calixteman in #20800
- Remove gulp-sourcemaps dependency which is unmaintained by @calixteman in #20774
- l10n: Update locale files by @github-actions[bot] in #20815
- A couple of small JBig2 fixes by @Snuffleupagus in #20818
- Shorten the
createActionsMaphelper in thesrc/scripting_api/common.jsfile by @Snuffleupagus in #20820 - Avoid to have stuck actions when running update_locales task by @calixteman in #20819
- Convert the data reading in
getPdfManagerto be asynchronous by @Snuffleupagus in #20662 - Use
Math.sumPreciseandMap.prototype.getOrInsertComputedin the scripting implementation by @Snuffleupagus in #20821 - Use
Response.prototype.bytes()more in the code-base (PR 20651 follow-up) by @Snuffleupagus in #20823 - Add the possibility to merge/update acroforms when merging/extracting (bug 2015853) by @calixteman in #20824
- Update dependencies to the most recent versions by @timvandermeij in #20825
- Ensure that
percent === NaNis consistently reported by theonProgresscallback by @Snuffleupagus in #20827 - Handle outline with Structure Element (SE) destination by @calixteman in #20826
- Add a UI to undo cut/delete and cancel a copy (bug 2021352, bug 2010832) by @calixteman in #20810
- Add option allow external connections to
npx gulp serverby @nicolo-ribaudo in #20646 - Do not lint folders for project-level AI coding agents by @nicolo-ribaudo in #20833
- Fix the label and tooltip on the paste buttons by @calixteman in #20832
- Use iterators a little bit more, to avoid creating temporary Arrays by @Snuffleupagus in #20835
- Fix the
disableFontFaceandfontExtraPropertiesasserts in theFontFaceObjectconstructor (PR 20197 follow-up) by @Snuffleupagus in #20836 - Fix
lint-licensestask on windows by @nicolo-ribaudo in #20844 - A couple of small improvements by @Snuffleupagus in #20841
- Fix the border & background colors of the placeholder for a dragged thumbnail (bug 2020698) by @calixteman in #20839
- Start using
Blob.prototype.bytes()in the code-base by @Snuffleupagus in #20829 - Update the context menu after copying thumbnails by @calixteman in #20834
- Avoid to have a thumbnail with two paste buttons (bug 2021886) by @calixteman in #20838
- Improve the
validateRangeRequestCapabilitiesunit-tests by @Snuffleupagus in #20830 - Add a new internal viewer to explore the structure of PDF files. by @calixteman in #20831
- Refactor the custom reporters for testing by @timvandermeij in #20828
- l10n: Update locale files by @github-actions[bot] in #20822
- Disable dragging a thumbnail when the user has to paste what they copied (bug 2021934) by @calixteman in #20837
- Add support for right-clicking on images (bug 1012805) by @nicolo-ribaudo in #20626
- A couple of small improvements of the new internal viewer by @Snuffleupagus in #20846
- Move the
PagesMapperclass into its own file by @Snuffleupagus in #20848 - Fix the
FontInfo.prototype.clearDatamethod to actually remove the data as intended (PR 20197 follow-up) by @Snuffleupagus in #20856 - Remove the
enableHWAoption from viewer components (PR 20016 follow-up) by @Snuffleupagus in #20849 - Update the internal viewer to use a new debugger. by @calixteman in #20845
- l10n: Update locale files by @github-actions[bot] in #20859
- Don't let the user delete/cut all the pages (bug 2021828) by @calixteman in #20850
- Add a button for unchecking all the checked thumbnails (bug 2022769) by @calixteman in #20854
- Bundle the necessary files and set the correct
cMapUrl,iccUrl, andstandardFontDataUrlwhen buildinggulp internal-viewerby @Snuffleupagus in #20865 - Split the
src/shared/obj-bin-transform.jsfile into separate files for the main/worker threads (PR 20197 follow-up) by @Snuffleupagus in #20861 - Only focus the undo bar when the focus isn't inside by @calixteman in #20863
- Move 'Save as...' menu to 'Export selected...' by @calixteman in #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 #20860
- Bump undici from 7.21.0 to 7.24.2 by @dependabot[bot] in #20870
- [api-minor] Remove the
lengthparameter fromgetDocumentby @Snuffleupagus in #20840 - Split the new debugger into multiple files by @calixteman in #20871
- Bump library version to
5.6by @Snuffleupagus in #20875 - Update dependencies to the most recent versions by @timvandermeij in #20877
- Use a non-zero exit code if the tests failed by @timvandermeij in #20878
- Increase the maximum viewer scale to 2500 percent by @Snuffleupagus in #20879
- Use the
Util.pointBoundingBoxhelper in thePatternInfoclass (PR 20340 follow-up) by @Snuffleupagus in #20883 - Update eslint to version 10 by @calixteman in #20765
- Fix the issue in the ref test tracemonkey-extract_0_2_12 by @calixteman in #20884
- Check for having Ref before adding them in a RefSet (bug 2023106) by @calixteman in #20862
- Remove the unused
bboxsetter in theFontFaceObjectclass (PR 20427 follow-up) by @Snuffleupagus in #20869 - Re-factor the
CachedCanvasesclass to use aMapinternally by @Snuffleupagus in #20896 - Simplify compilation of font paths (PR 20346 follow-up) by @Snuffleupagus in #20894
- (Debugger) Don't draw the checkerboard on the canvas but add it behind by @calixteman in #20890
- (Debugger) Replace checkboxes in the search bar by toggle buttons by @calixteman in #20889
- Add the possibility to skip some ops in the debug view by @calixteman in #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 #20887
- Don't throw when printing with pdfBug enabled by @calixteman in #20898
- Try to fix few intermittents bug in reorganize_pages_spec integration tests by @calixteman in #20864
- Remove some useless operations when getting the text content by @calixteman in #20904
- Don't throw when a mesh shading is degenerated by @calixteman in #20897
- Wait to have all the spans in the text layer before trying to set the caret in integration tests by @calixteman in #20903
- Add support for saving outlines after reorganize/merge (bug 2009574) by @calixteman in #20905
- Move the
compileFontInfocall into theFont.prototype.exportDatamethod (PR 20197 follow-up) by @Snuffleupagus in #20868 - Allow to collapse/expand all the outlines in double clicking somewhere on the header bar (bug 2019550) by @calixteman in #20852
- Fix the position of 'Attachments' in the sidebar by @calixteman in #20895
- Fix the outline of the deselect button in the sidebar (bug 2024156) by @calixteman in #20910
- Change the
NOOPfallback, inCompiledFont, to return a TypedArray by @Snuffleupagus in #20911 - Fix the error in gh actions found by zizmor by @calixteman in #20912
- Ensure that
getDocumentis called with one of thedata,range, orurlparameters provided by @Snuffleupagus in #20909 - Fix various bug around copy/paste/delete/undo (bug 2022586, bug 2022824, bug 2022884, bug 2023171, bug 2023176) by @calixteman in #20907
- Add a new badge close to the Manage button in the sidebar. by @calixteman in #20913
- Reduce duplication in the
Dict.prototype.{get, getAsync, getArray}methods by @Snuffleupagus in #20892 - Bump fast-xml-parser from 5.5.5 to 5.5.6 by @dependabot[bot] in #20908
- Bump flatted from 3.4.1 to 3.4.2 by @dependabot[bot] in #20921
- Bump fast-xml-parser from 5.5.6 to 5.5.7 by @dependabot[bot] in #20922
- Use
toBeInstanceOfconsistently in the unit-tests by @Snuffleupagus in #20920 - Convert the internal
Mapto a properly private field in theDictclass by @Snuffleupagus in #20901 - Fix the destination names when they're duplicated by @calixteman in #20917
- Avoid to use a used slot when looking for a new page position by @calixteman in #20915
- When merging pdfs, fix the CO after the fields have been cloned by @calixteman in #20916
- Make sure the menuitems are readable when hovering them (bug 2023138) by @calixteman in #20923
- Avoid getting null value in RefSet when cloning by @calixteman in #20924
- Add the possibility to save added annotations when reorganizing a pdf (bug 2023086) by @calixteman in #20925
- Add the basic telemetry for Organize feature (bug 2022481) by @calixteman in #20929
- [Firefox] Ensure that worker-thread fetching is used for built-in CMap, standard font, and wasm data by @Snuffleupagus in #20927
- Correctly focus the pasted page (bug 2022516) by @calixteman in #20926
- Trigger the current find after a page has been moved (bug 2023150) by @calixteman in #20932
- Pass the global signal the text layer builder in order to remove all the listeners defined here by @calixteman in #20928
- Skip the "should reorder thumbnails after dropping two adjacent pages" integration test by @timvandermeij in #20880
- Remove explicit
name/filenamevalidation in theBaseCMapReaderFactory,BaseStandardFontDataFactory, andBaseWasmFactoryclasses by @Snuffleupagus in #20931 - Add the possibility to debug only text rendering by filtering the op list. by @calixteman in #20906
- [Debugger] Allow debugging page-rendering from the /Ref, in addition to the page number by @Snuffleupagus in #20936
- Ensure that
TextLayerBuilderworks correctly without theabortSignalparameter (PR 20928 follow-up) by @Snuffleupagus in #20934 - Fix charSpacing in vertical mode by @calixteman in #20933
- Remove the
xfatestcommand by @timvandermeij in #20882 - Implement Gouraud-based shading using WebGPU. by @calixteman in #20885
- Make persist-credentials: true in the update_locale action by @calixteman in #20942
- l10n: Update locale files by @github-actions[bot] in #20945
- [api-minor] Simplify
BaseCMapReaderFactoryby having the worker-thread create thefilenameby @Snuffleupagus in #20939 - Avoid resolving an
objIdmore than once in thePDFObjectsclass by @Snuffleupagus in #20944 - Fix the group bbox when the numbers are too big by @calixteman in #20940
- Add an integration test for the simple viewer by @calixteman in #20941
- Don't add an EOL after a superscript by @calixteman in #20947
- Revert "Avoid to have stuck actions when running update_locales task" by @timvandermeij in #20950
- Interpret empty annotation border as [0, 0, 0] by @calixteman in #20948
- [api-minor] Replace the
CMapReaderFactory,StandardFontDataFactory, andWasmFactoryAPI options with a single factory/option by @Snuffleupagus in #20949 - Correctly scroll the search result in the viewport with rotated pdfs (bug 2021392) by @calixteman in #20951
- Download test PDFs with the Fetch API by @Snuffleupagus in #20971
- Implement Node.js caching, and fix Python caching, in the GitHub Actions workflows by @timvandermeij in #20952
- Copy webpack.mjs to legacy in dist task by @mschoettle in #20857
- Remove the deprecated
PDFWorker.fromPortmethod (PR 19943 follow-up) by @Snuffleupagus in #20960 - Remove the selection after the pages have been extracted (bug 2025247) by @calixteman in #20955
- Strip private ancillary PNG chunks before comparing images in ref tests by @calixteman in #20969
- Enable hardware acceleration by default by @calixteman in #20965
- Remove the canvases cache by @calixteman in #20966
- Move the
NetworkStreamchoice fromsrc/display/api.jsand into a separate file by @Snuffleupagus in #20968 - Remove unused
preInitparameter from theCanvasExtraStateconstructor (PR 19043 follow-up) by @Snuffleupagus in #20980 - Refactor to improve performance around image masks (bug 1941562) by @wooorm in #20900
- Bump picomatch by @dependabot[bot] in #20979
- Avoid downloading test PDFs multiple times by @Snuffleupagus in #20972
- Display mask in the tree view in the debugger by @calixteman in #20982
- Debugger: in the tree view, display the white spaces as they're by @calixteman in #20978
- Reduce allocations in the
FontInfo.prototype.#readStringmethod (PR 20197 follow-up) by @Snuffleupagus in #20986 - Use optional chaining rather than
typeofchecks when invoking theAnnotationStoragecallbacks by @Snuffleupagus in #20975 - Hide the new badge while a page is selected (bug 2026564) by @calixteman in #20990
- Update the canvas detail view only when drawing is done by @calixteman in #20984
- Don't walk the children of a node having some attached MathML (bug 2025674) by @calixteman in #20974
- Add the bidi tests coming from BidiTest.txt and BidiCharacterTest.txt by @calixteman in #20976
- Avoid exception when cloning a page with some modified annotations by @calixteman in #20992
- Break text chunks only if the base font is different by @calixteman in #20957
- Avoid to have multiple selected pages after copy/cut operations (bug 2026639) by @calixteman in #20991
- Avoid to be blocked when searching after a page move (bug 2023150) by @calixteman in #20985
- Use non-breakable spaces in options for the choice widget (bug 2026037) by @calixteman in #20977
- Remove a tiny bit of unnecessary "rgba" parsing in the
getRGBfunction by @Snuffleupagus in #20999 - l10n: Update locale files by @github-actions[bot] in #20993
- Use a standard import for the
ttestpackage intest/stats/statcmp.jsby @Snuffleupagus in #20998 - Use more logical assignment in the code-base by @Snuffleupagus in #20996
- Re-factor the
StatTimerclass a little bit by @Snuffleupagus in #20997 - Simplify the
applyOpacityhelper function by @Snuffleupagus in #21003 - Add a unit-test for the
Catalog.#getDestFromStructElementmethod by @Snuffleupagus in #21001