v4.2.67
This release includes a new JPX decoder, based on OpenJPEG, which improves JPX image rendering performance and correctness. Moreover, this release contains improvements for the annotation editor, font conversion and the viewer.
Note that text selection boxes for some PDF files may overlap visually. This is a known issue that we currently track in https://github.com/mozilla/pdf.js/issues/17561.
- Bump the stable version in
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17924 - Convert the history code to use proper private methods by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17925
- Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17927
- Remove the tag for missing font subset when trying to find a substitution by @calixteman in https://github.com/mozilla/pdf.js/pull/17930
- Fix resetting of cursor-tools when closing the document (PR 17464 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17933
- Warn when a non-embedded font has an invalid name by @calixteman in https://github.com/mozilla/pdf.js/pull/17934
- Remove the
mkdirp
dependency in favor of the built-in Node.jsfs.mkdirSync
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17935 - Improve type definitions for the viewer by @ex37 in https://github.com/mozilla/pdf.js/pull/17879
- Fix the "must check that invisible fields are made visible" scripting integration test by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17940
- Remove the
rimraf
dependency in favor of the built-in Node.jsfs.rmSync
in the test folder by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17938 - [api-minor] Update the minimum supported Safari version to 16.4 by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17942
- Fix the "must check that a field has the correct value when a choice is changed" scripting integration test by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17947
- [api-minor] Add a jpx decoder based on OpenJPEG 2.5.2 by @calixteman in https://github.com/mozilla/pdf.js/pull/17946
- Bump library version to
4.2
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17949 - Build the openjpeg-based decoder in a web environment in order to avoid issues when used in node by @calixteman in https://github.com/mozilla/pdf.js/pull/17954
- Fix
JpxImage
API issues (PR 17946 follow-up) by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17951 - [JPX] Throw an exception with the error messages returned by openjpeg by @calixteman in https://github.com/mozilla/pdf.js/pull/17956
- [Editor] Provide an element to render in the annotation layer after a freetext has been edited (bug 1890535) by @calixteman in https://github.com/mozilla/pdf.js/pull/17914
- Remove
waitForTimeout
usage from the helper functions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17966 - Remove some event listeners with
signal
in the viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17964 - [Editor] Don't show the context menu when resizing by @calixteman in https://github.com/mozilla/pdf.js/pull/17973
- Correctly update the xref table when an annotation is deleted by @calixteman in https://github.com/mozilla/pdf.js/pull/17970
- Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17972
- Improve jpx decoding by around 20% in enabling simd support when compiling OpenJPEG by @calixteman in https://github.com/mozilla/pdf.js/pull/17983
- [api-minor] Remove the image-related error message prefixes by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17979
- Use the pdf.js warn when using jpx decoder by @calixteman in https://github.com/mozilla/pdf.js/pull/17985
- Extend the globally cached image main-thread copying to "complex" images as well (PR 17428 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17978
- Update
JpxImage.parseImageProperties
to support TypedArray data in IMAGE_DECODERS builds by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17977 - Add
signal
-support in theEventBus
, and utilize it in the viewer (PR 17964 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17967 - Set correctly the change property for the event triggered when a choice list is changed by @calixteman in https://github.com/mozilla/pdf.js/pull/17999
- Remove all
waitForTimeout
usage from the annotation integration tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17969 - Validate explicit destinations on the worker-thread to prevent
DataCloneError
(issue 17981) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17984 - Allow to insert several annotations under the same parent in the structure tree by @calixteman in https://github.com/mozilla/pdf.js/pull/17986
- Always enable smoothing when rendering downscaled image by @calixteman in https://github.com/mozilla/pdf.js/pull/17868
- Simplify the way to pass the glyph drawing instructions from the worker to the main thread by @calixteman in https://github.com/mozilla/pdf.js/pull/18015
- Validate additional font-dictionary properties by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18014
- Add more validation of width-data by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18017
- Reduce code-duplication when caching data in
CompiledFont.getPathJs
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18018 - Re-factor
SimpleLinkService
to extendPDFLinkService
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18013 - [api-minor] Move the page reference/number caching into the API by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18001
v4.1.392
This release features improvements, bugfixes and optimizations for accessibility, annotation rendering, annotation editing, font rendering, form handling, image rendering, text selection and the viewer.
Note that text selection boxes for some PDF files may overlap visually. This is a known issue that we currently track in #17561.
- Bump the stable version in
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17474 - [Editor] Take into account the crop box when saving/printing some highlighted text (bug 1872721) by @calixteman in https://github.com/mozilla/pdf.js/pull/17475
- Update Puppeteer to version 21.7.0 by @calixteman in https://github.com/mozilla/pdf.js/pull/17477
- Avoid to have the text layer mismatching the rendered text with mismatching locales (bug 1869001) by @calixteman in https://github.com/mozilla/pdf.js/pull/17476
- Preserve the whitespaces when getting text from FreeText annotations (bug 1871353) by @calixteman in https://github.com/mozilla/pdf.js/pull/17458
- [Editor] Init the default highlight color before creating the first editor instance by @calixteman in https://github.com/mozilla/pdf.js/pull/17481
- Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17482
- Remove terminal white spaces when extracting text from annotation appearances by @calixteman in https://github.com/mozilla/pdf.js/pull/17487
- Bump follow-redirects from 1.15.3 to 1.15.4 by @dependabot in https://github.com/mozilla/pdf.js/pull/17494
- [Editor] Don't throw when changing the color of an invisible highlight by @calixteman in https://github.com/mozilla/pdf.js/pull/17498
- [Editor] Move the code to generate the SVG path from draw_layer.js to outliner.js by @calixteman in https://github.com/mozilla/pdf.js/pull/17499
- [Editor] Correctly serialize highlight data (regression from #17499) by @calixteman in https://github.com/mozilla/pdf.js/pull/17501
- [api-minor] Validate the
workerPort
/workerSrc
options by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17504 - Add note about running
npm install
on MacOS by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/17490 - Bump library version to
4.1
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17507 - Update
gulp-cli
to 2.3.0 and explicitly add it as a dependency by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/17489 - Consistently remove the "visibilitychange" listener in
PDFViewer
(PR 14388 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17508 - Update l10n files by @calixteman in https://github.com/mozilla/pdf.js/pull/17513
- [Editor] Extract all the lines when adding a FreeText annotation by @calixteman in https://github.com/mozilla/pdf.js/pull/17511
- Take into account empty lines when extracting text content from the appearance by @calixteman in https://github.com/mozilla/pdf.js/pull/17512
- [Editor] Draw a line instead of a Bezier curve when an Ink has only one point by @calixteman in https://github.com/mozilla/pdf.js/pull/17514
- [Editor] Slightly simplify the serialization of an highlight annotation by @calixteman in https://github.com/mozilla/pdf.js/pull/17517
- [Editor] Make editors draggable with touchscreens by @calixteman in https://github.com/mozilla/pdf.js/pull/17519
- Add the font Linux Libertine as a possible substitution for Times New Roman by @calixteman in https://github.com/mozilla/pdf.js/pull/17405
- Format json files in using prettier by @calixteman in https://github.com/mozilla/pdf.js/pull/17525
- [Editor] Avoid an exception when pressing space key to change the color of an highlight by @calixteman in https://github.com/mozilla/pdf.js/pull/17527
- Exclude the
web/locale/
folder from linting (PR 17525 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17529 - [Editor] Avoid to move a non-draggable editor with the keyboard by @calixteman in https://github.com/mozilla/pdf.js/pull/17528
- [Editor] Add the ability to make a free highlight (i.e. without having to select some text) (bug 1856218) by @calixteman in https://github.com/mozilla/pdf.js/pull/17506
- [Editor] Change the arrow direction when the dropdown is visible in the color picker (bug 1875357) by @calixteman in https://github.com/mozilla/pdf.js/pull/17534
- Make the caret visible in the text layer in caret browsing mode by @calixteman in https://github.com/mozilla/pdf.js/pull/17533
- [Editor] Add support for printing/saving free highlight annotations by @calixteman in https://github.com/mozilla/pdf.js/pull/17531
- Remove the
isArrayBuffer
helper function by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17537 - Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17544
- Ignore auto-formatting patches in
git blame
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17546 - Remove DNS resolver workaround from the test framework by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17547
- [Editor] Unselect highlights when the user click on the text layer (bug 1869767) by @calixteman in https://github.com/mozilla/pdf.js/pull/17543
- Use the original value of a field when propagating event (fixes #17540) by @calixteman in https://github.com/mozilla/pdf.js/pull/17541
- [Editor] Don't add the keyboard listener on the color-picker each time the dropdown menu is shown by @calixteman in https://github.com/mozilla/pdf.js/pull/17539
- Avoid to have focused tests in using eslint-plugin-jasmine by @calixteman in https://github.com/mozilla/pdf.js/pull/17548
- Use shorter arrow functions where possible by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17550
- Add more
async
code when loading fonts in thePartialEvaluator
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17553 - Don't ignore
test.mjs
child process exit codes in the Gulpfile by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17555 - Ensure that
EvaluatorPreprocessor.opMap
has a null-prototype (issue 17554) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17556 - Print correctly documents containing chars with an unicode greater than 0xFFFF (bug 1669097) by @calixteman in https://github.com/mozilla/pdf.js/pull/17558
- Add more
async
code in thePartialEvaluator
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17562 - Replace the webpack+acorn transform with a Babel plugin by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/17563
- [Editor] Update the parameters in the UI of the last selected editor when undoing/redoing by @calixteman in https://github.com/mozilla/pdf.js/pull/17564
- [Editor] Add the possibility to change the thickness of a free highlight (bug 1876096) by @calixteman in https://github.com/mozilla/pdf.js/pull/17568
- Fix unreferenced CSS variables (PR 17533 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17578
- Reduce memory use and improve perfs when computing the bounding box of a bezier curve (bug 1875547) by @calixteman in https://github.com/mozilla/pdf.js/pull/17574
- [Editor] Change the icon to add a FreeText annotation (bug 1876564) by @calixteman in https://github.com/mozilla/pdf.js/pull/17580
- Fix the textLayer-opacity when using the FontInspector (PR 17533 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17587
- [Editor] Change the cursors for highlighting (bug 1876588) by @calixteman in https://github.com/mozilla/pdf.js/pull/17581
- [Editor] Add a tooltip to the slider to set the thickness of free highlights by @calixteman in https://github.com/mozilla/pdf.js/pull/17582
- Re-factor
DefaultExternalServices
into a regular class, without static methods by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17588 - Update dependencies/translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17590
- Re-enable the
should compress and save text
unit-test (issue 17399) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17591 - [GENERIC viewer] Generate the
fileInput
DOM-element dynamically by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17592 - Move the
debuggerSrc
-parameter into theAppOptions
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17593 - Fix transform of unary expression in Babel plugin by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/17596
- [Editor] Update highlight cursors by @calixteman in https://github.com/mozilla/pdf.js/pull/17598
- [Editor] Remove the outline which is inside the free highlight shape by @calixteman in https://github.com/mozilla/pdf.js/pull/17586
- [Editor] Fix the position of the free highlight toolbar by @calixteman in https://github.com/mozilla/pdf.js/pull/17602
- Ensure that
GenericL10n
works if the locale files cannot be loaded by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17603 - Initialize the
ExternalServices
-instance lazily in the viewer (PR 17588 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17604 - Change file permissions for newly added cursors by @calixteman in https://github.com/mozilla/pdf.js/pull/17605
- Make downloadManager optional in AnnotationLayerParameters by @wojtekmaj in https://github.com/mozilla/pdf.js/pull/17608
- Point the development mode fallback locale-path to the
l10n
-folder (issue 17609, PR 17603 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17610 - Use a limit, in more places, when splitting strings by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17619
- Simplify the signature of the
PDFDataTransportStream
constructor by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17620 - Implement caret browsing mode (bug 807730) by @calixteman in https://github.com/mozilla/pdf.js/pull/17611
- [Editor] Set the right color to size samples in the highlight thickness panelwhen in HCM (bug 1879107) by @calixteman in https://github.com/mozilla/pdf.js/pull/17638
- [Editor] Correctly rotate the mask when rotation a free highlight (bug 1879102) by @calixteman in https://github.com/mozilla/pdf.js/pull/17639
- Remove support for
require
statements from the build system by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17634 - [Editor] Compute the position of the last point before applying rotation (bug 1879113) by @calixteman in https://github.com/mozilla/pdf.js/pull/17643
- Update quickjs to 3f81070e573e3592728dbbbd04c84c498b20d6dc by @calixteman in https://github.com/mozilla/pdf.js/pull/17645
- Break import cycles, in the viewer, for
PDFViewerApplication
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17646 - Update translations and dependencies to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17655
- Prevent duplicate names in unit/integration tests by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17657
- Enable the
no-new-symbol
andrequire-yield
ESLint rules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17658 - [Editor] Disable the thickness slider for non-free highlight by @calixteman in https://github.com/mozilla/pdf.js/pull/17652
- [Editor] Add a way to highlight text in using the keyboard (bug 1877426) by @calixteman in https://github.com/mozilla/pdf.js/pull/17650
- Revert "Remove the
enableStampEditor
preference" (bug 1879588) by @calixteman in https://github.com/mozilla/pdf.js/pull/17651 - Remove empty, top-level, nodes in the Babel plugin by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17647
- Modernize the webserver code (part 1) by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17661
- [Editor] Set rotated free highlight at the right position after having changed its thickness (bug 1879108) by @calixteman in https://github.com/mozilla/pdf.js/pull/17662
- Tweak the issue 11878 unit-test parsing time check (PR 17428 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17663
- [Editor] Ends a free highlight where the mouse pointer is (bug 1879281) by @calixteman in https://github.com/mozilla/pdf.js/pull/17664
- Skip any whitespace after the first object in linearized PDFs (issue 17665) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17666
- When updating, write the xref table in the same format as the previous one (bug 1878916) by @calixteman in https://github.com/mozilla/pdf.js/pull/17636
- Move the
__non_webpack_import__
re-writing into the Babel plugin by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17637 - Fix the endoffset of the last glyph when it's followed by a null offset in the loca table by @calixteman in https://github.com/mozilla/pdf.js/pull/17674
- Access
PDFViewerApplication.findBar
safely in more spots (PR 15831 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17676 - Add a dummy
beginMarkedContentProps
operator when optional content parsing fails (issue 17679) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17680 - Change
PDFPrintServiceFactory.createPrintService
to take a parameter object by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17667 - Remove unneeded
tweakWebpackOutput
usage in the gulpfile (PR 17637 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17678 - Tweak the
parseMinified
handling slightly in the gulpfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17681 - Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17685
- Modernize the webserver code (part 2) by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17684
- Run minification directly during Webpack building by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17686
- Disable source-map generation in the minified builds (PR 17686 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17687
- Avoid to access to a missing cidSystemInfo property by @calixteman in https://github.com/mozilla/pdf.js/pull/17690
- [Editor] Avoid to scroll when an editor is unselected by @calixteman in https://github.com/mozilla/pdf.js/pull/17688
- [Editor] Disable annotation layer when highlighting (bug 1868759) by @calixteman in https://github.com/mozilla/pdf.js/pull/17702
- [Editor] Add the possibility to query some ML stuff to guess an alt text for an image by @calixteman in https://github.com/mozilla/pdf.js/pull/17701
- [Editor] Add the possibility to create an highlight from the context menu when some text is selected (bug 1867739) by @calixteman in https://github.com/mozilla/pdf.js/pull/17708
- [Editor] In caret browsing mode, get the caret position in the text layer (bug 1881692) by @calixteman in https://github.com/mozilla/pdf.js/pull/17719
- Tweak how the
hexNumbers
Array, used byUtil.makeHexColor
, is built by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17718 - Fix the string GlobalConstants.IDS_INVALID_DATE by @calixteman in https://github.com/mozilla/pdf.js/pull/17722
- [Editor] In caret browsing mode, allow to select in pressing shift and arrow down (bug 1881802) by @calixteman in https://github.com/mozilla/pdf.js/pull/17720
- Avoid to have to wait to zoom after scrolling by @calixteman in https://github.com/mozilla/pdf.js/pull/17724
- Update puppeteer to 22.3.0 by @calixteman in https://github.com/mozilla/pdf.js/pull/17733
- Always add links in the annotation layer by @calixteman in https://github.com/mozilla/pdf.js/pull/17738
- [Editor] Add some telemetry for the highlight feature (bug 1866437) by @calixteman in https://github.com/mozilla/pdf.js/pull/17737
- [Editor] Count the colors used when highlighting whatever the highlight kind is by @calixteman in https://github.com/mozilla/pdf.js/pull/17748
- Inline the
HighlightEditor.#telemetryType
getter at its only call-site (PR 17748 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17750 - [Editor] Add the possibility to move the caret with the keyboard once an highlight has been made (bug 1881684) by @calixteman in https://github.com/mozilla/pdf.js/pull/17755
- [Editor] Make the delete button clickable with the space key (bug 1882248) by @calixteman in https://github.com/mozilla/pdf.js/pull/17756
- [Editor] Enable the thickness input when no editors are selected (bug 1881219) by @calixteman in https://github.com/mozilla/pdf.js/pull/17757
- Simplify the
XMLHttpRequest
-branch in thefetchData
helper function (PR 17277 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17710 - [Editor] Fix the quadpoints value when serializing an highlight annotation by @calixteman in https://github.com/mozilla/pdf.js/pull/17760
- [Editor] Indicate if the highlight-thickness slider is disabled by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17761
- [Editor] Set the creation method for free highlights to 'main_toolbar' (bug 1883394) by @calixteman in https://github.com/mozilla/pdf.js/pull/17768
- [Editor] Unselect highlight editor when pressing Escape when the focus is on the color picker without a dropdown menu by @calixteman in https://github.com/mozilla/pdf.js/pull/17766
- [Editor] Use a null instead of an empty stats object when sending the telemetry by @calixteman in https://github.com/mozilla/pdf.js/pull/17764
- Don't stringify data for telemetry by @calixteman in https://github.com/mozilla/pdf.js/pull/17772
- [GeckoView] Remove the open-in-app button (bug 1832519) by @calixteman in https://github.com/mozilla/pdf.js/pull/17771
- [Editor] Let a free highlight be clipped when its bounding box exceeds the page limits (bug 1883632) by @calixteman in https://github.com/mozilla/pdf.js/pull/17775
- [Annotations] Widget annotations must be in front of the other ones (bug 1883609) by @calixteman in https://github.com/mozilla/pdf.js/pull/17776
- In the m-c automation, give the possibility to remove window listeners when a test ended by @calixteman in https://github.com/mozilla/pdf.js/pull/17767
- [Editor] Add a toggle button to show/hide all the highlights (bug 1867740) by @calixteman in https://github.com/mozilla/pdf.js/pull/17778
- [Editor] Make sure the alt-text button is there when pasting an image from an other tab by @calixteman in https://github.com/mozilla/pdf.js/pull/17781
- Use the Fetch API to download the l10n files by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17711
- [Editor] Improve the accessibility of the highlight editor (bug 1881743) by @calixteman in https://github.com/mozilla/pdf.js/pull/17788
- [api-minor] Implement basic support for OptionalContent
Usage
dicts (issue 5764, bug 1826783) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17726 - Combine a few lines in the
dist-pre
target (PR 17681 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17717 - [Editor] Add a floating button close to the selected text to highlight it (bug 1867742) by @calixteman in https://github.com/mozilla/pdf.js/pull/17732
- Use
fs/promises
in the Node.js-specific code in thesrc/
-folder by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17714 - Add better validation for the "PREFERENCE" kind
AppOptions
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17694 - When zooming the scrollbar can disappear and then no scrollend is triggered by @calixteman in https://github.com/mozilla/pdf.js/pull/17793
- Bump follow-redirects from 1.15.4 to 1.15.6 by @dependabot in https://github.com/mozilla/pdf.js/pull/17799
- Don't render corrupted inlined images by @calixteman in https://github.com/mozilla/pdf.js/pull/17795
- Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17800
- [Editor] Fix the rect used to click in some freetext integration tests by @calixteman in https://github.com/mozilla/pdf.js/pull/17802
- [api-minor] Use the Fetch API, when supported, to load PDF documents in Node.js environments by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17706
- [Editor] Make the text layer focusable before the editors (bug 1881746) by @calixteman in https://github.com/mozilla/pdf.js/pull/17790
- Don't hide the editor layer when rotating (follow-up of #17802) by @calixteman in https://github.com/mozilla/pdf.js/pull/17809
- Simplify the copy & paste integration test by @calixteman in https://github.com/mozilla/pdf.js/pull/17811
- Move the
alias
-building out of thecreateWebpackConfig
function by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17691 - [Editor] Make sure the text in the mark has null dimensions to avoid to see a meaningless rectangle in voiceover (bug 1886427) by @calixteman in https://github.com/mozilla/pdf.js/pull/17814
- Avoid wrong scrolling when calling zoomReset by @calixteman in https://github.com/mozilla/pdf.js/pull/17817
- Allow listening for preference changes in the Firefox PDF viewer (bug 1886586) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17818
- Remove
PDFViewerApplication.initPassiveLoading
and directly invoke theopen
-method from the extension-specific code by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17813 - [Editor] Add a label to the highight floating button readable with NVDA (bug 1886964) by @calixteman in https://github.com/mozilla/pdf.js/pull/17825
- Update puppeteer to 22.6.0 by @calixteman in https://github.com/mozilla/pdf.js/pull/17831
- [Editor] Fix undoing an editor deletion (bug 1886959) by @calixteman in https://github.com/mozilla/pdf.js/pull/17823
- Update the
Path2D
polyfill for Node.js environments by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17830 - Add alternative text to annotation if any by @calixteman in https://github.com/mozilla/pdf.js/pull/17835
- [Editor] Add a divider before the show all button by @calixteman in https://github.com/mozilla/pdf.js/pull/17827
- Increase the maxCanvasPixels value to 2 ** 25 by @calixteman in https://github.com/mozilla/pdf.js/pull/17837
- A couple of small tweaks of the
BasePreferences
class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17842 - Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17844
- [Editor] Correctly handle lines when pasting some text in a freetext by @calixteman in https://github.com/mozilla/pdf.js/pull/17852
- [api-minor] Update the minimum supported Google Chrome version to 98 by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17851
- Add better support for /Launch actions with /FileSpec dictionaries (issue 17846) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17847
- Display outlines even if one has no title by @calixteman in https://github.com/mozilla/pdf.js/pull/17857
- Ensure that Mesh /Shadings have non-zero width/height (issue 17848) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17858
- Remove the
addWindowResolutionChange
listener unconditionally (PR 17767 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17865 - Avoid useless CSS animation when nothing is done (bug 1888657) by @calixteman in https://github.com/mozilla/pdf.js/pull/17855
- Limit all
compatibilityParams
handling to the GENERIC viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17861 - [api-minor] Replace the
PromiseCapability
withPromise.withResolvers()
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17854 - Don't translate char codes when platform,encoding isn't (3,0) by @calixteman in https://github.com/mozilla/pdf.js/pull/17810
- Update the current stride before composing when decoding a text region by @calixteman in https://github.com/mozilla/pdf.js/pull/17875
- [Editor] Remove the mark from the highlight element and set its role to mark (bug 1889623) by @calixteman in https://github.com/mozilla/pdf.js/pull/17885
- Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17880
- Fix annotation border style parsing by handling empty dash arrays by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17905
- Convert the thumbnail view(er) code to use proper private methods by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17891
- Modernize the TTX driver code by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17890
- [Editor] Don't add an already added editor (bug 1890367) by @calixteman in https://github.com/mozilla/pdf.js/pull/17907
- [Editor] Avoid calling setTimeout when editing an existing freetext by @calixteman in https://github.com/mozilla/pdf.js/pull/17903
- Don't render annotations with a null dimension by @calixteman in https://github.com/mozilla/pdf.js/pull/17908
- Use the string value of the field when calling the Format callback (bug 1889122) by @calixteman in https://github.com/mozilla/pdf.js/pull/17882
- Tweak the
fill
-value of the Stamp-icon to work better in non-Firefox browsers by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17916 - Fix the RTL-rule for the
editorHighlightShowAll
button, such that it works outside of the Firefox PDF Viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17917 - Implement a linting rule to discourage using
waitForTimeout
for new usages by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17915 - Don't install
gulp-cli
globally in the GitHub Actions workflows by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17913 - Fix the "must highlight text in the right position" integration test by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17893
v4.0.379
This release mainly contains improvements and bugfixes for the annotation editor functionality.
Changes since v4.0.269
- Bump the stable version in
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17339 - Don't throw when there isn't enough data to get block info in flate stream by @calixteman in https://github.com/mozilla/pdf.js/pull/17340
- [Editor] Avoid to add a new ink editor when we aren't editing anymore by @calixteman in https://github.com/mozilla/pdf.js/pull/17344
- [Editor] Add a new editor to highlight some text in a pdf (bug 1866119) by @calixteman in https://github.com/mozilla/pdf.js/pull/17317
- [Editor] Move the alt text button in the editor toolbar by @calixteman in https://github.com/mozilla/pdf.js/pull/17329
- [Firefox] Remove the
FirefoxCom.requestSync
method by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17338 - [Editor] Fix subtype for telemetry data (follow-up of #17329) by @calixteman in https://github.com/mozilla/pdf.js/pull/17351
- [Editor] Fix the colors in HCM when hovering a button in the editor toolbar by @calixteman in https://github.com/mozilla/pdf.js/pull/17352
- Use "count" and not "clickCount" when calling page.mouse.click() by @whimboo in https://github.com/mozilla/pdf.js/pull/17358
- Remove the "transitionend" event listener from the default viewer (issue 17347) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17360
- [Firefox] Restore opening of PDF attachments (issue 17353, bug 1867764) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17363
- [Editor] Disable mouse events when leaving the highlight mode by @calixteman in https://github.com/mozilla/pdf.js/pull/17364
- fuzz: initial integration by @manunio in https://github.com/mozilla/pdf.js/pull/17337
- Modernize the
calculateMD5
andverifyManifestFiles
test helper functions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17367 - [Editor] Make sure that all layers are disabled when an editing session is done by @calixteman in https://github.com/mozilla/pdf.js/pull/17370
- [Editor] Always give the focus to the ink editor when starting drawing (bug 1867588) by @calixteman in https://github.com/mozilla/pdf.js/pull/17375
- [Editor] Avoid conflicts between new persistent refs and the ones created when saving (bug 1865341) by @calixteman in https://github.com/mozilla/pdf.js/pull/17374
- Remove the unused
--editor-toolbar-active-bg-color
CSS variable (PR 17352 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17377 - [Editor] Don't remove elements from the draw layer after it has been destroyed by @calixteman in https://github.com/mozilla/pdf.js/pull/17380
- [Editor] Highlight must keep selected after the document has been scrolled by @calixteman in https://github.com/mozilla/pdf.js/pull/17381
- Set text field value as a string when it's for a date or a time (bug 1868503) by @calixteman in https://github.com/mozilla/pdf.js/pull/17385
- [Editor] Add a color picker with predefined colors for highlighting text (bug 1866434) by @calixteman in https://github.com/mozilla/pdf.js/pull/17359
- Remove focus from the toggleButton when closing the sidebar with a mouse (issue 17361) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17386
- [Editor] Avoid to have a color picker for highlighting twice in the main toolbar by @calixteman in https://github.com/mozilla/pdf.js/pull/17388
- Use page.evaluateHandle when we want to await on document promises in integration tests by @calixteman in https://github.com/mozilla/pdf.js/pull/17387
- Update Puppeteer to version 21.6.0 and force "CDP" protocol by @whimboo in https://github.com/mozilla/pdf.js/pull/17393
- Switch Puppeteer tests from CDP to WebDriver BiDi by @whimboo in https://github.com/mozilla/pdf.js/pull/17172
- Limit the amount of console "spam" during fuzz tests (PR 17337 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17372
- Collect a few non-MOZCENTRAL
AppOptions
default values together by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17391 - Support Annotations with corrupt /BS-entries by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17395
- Re-factor how the
sandboxBundleSrc
option is passed toPDFScriptingManager
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17397 - Don't run beforeunload callback when closing page in integration tests by @calixteman in https://github.com/mozilla/pdf.js/pull/17398
- Set a print listener as soon as possible in the autoprint integration test by @calixteman in https://github.com/mozilla/pdf.js/pull/17400
- Bump actions/setup-python from 4 to 5 by @dependabot in https://github.com/mozilla/pdf.js/pull/17411
- Bump actions/deploy-pages from 2 to 3 by @dependabot in https://github.com/mozilla/pdf.js/pull/17412
- Adds missing button closing tag by @emielmolenaar in https://github.com/mozilla/pdf.js/pull/17415
- [Editor] Add some missing strings to localize for highlighting by @calixteman in https://github.com/mozilla/pdf.js/pull/17414
- Modernize the code in the
test/downloadutils.mjs
file by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17431 - Center radio button checkmark by @jdanyow in https://github.com/mozilla/pdf.js/pull/17429
- Bump actions/upload-artifact from 3 to 4 by @dependabot in https://github.com/mozilla/pdf.js/pull/17435
- Bump github/codeql-action from 2 to 3 by @dependabot in https://github.com/mozilla/pdf.js/pull/17434
- Revert "Bump actions/upload-artifact from 3 to 4" by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17436
- Prevent errors in
AnnotationEditorUIManager.destroy
if thealtTextManager
is undefined by @pulsejet in https://github.com/mozilla/pdf.js/pull/17445 - Toggle the visibility of the
outlineOptionsContainer
, in the sidebar, using only CSS by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17441 - Attempt to further reduce re-parsing for globally cached images (PR 11912, 16108 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17428
- Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17456
- Bump actions/upload-artifact from 3 to 4 by @dependabot in https://github.com/mozilla/pdf.js/pull/17460
- Bump actions/deploy-pages from 3 to 4 by @dependabot in https://github.com/mozilla/pdf.js/pull/17461
- Remove the internal "toolbarreset"/"secondarytoolbarreset" events and slightly re-factor the code by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17464
v4.0.269
This release contains improvements for the annotation editor, including a UI for deleting annotations and experimental support for highlight annotations, as well as bugfixes and improvements after feedback on the initial PDF.js 4.0 release.
Changes since v4.0.189
- Bump the stable version in
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17226 - Don't try to collect a nonexistent field because of an invalid ref by @calixteman in https://github.com/mozilla/pdf.js/pull/17233
- Ensure that
fieldObjects
and#collectFieldObjects
handles References correctly by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17242 - Don't avoid to execute the Blur callback when blurring a text field (bug 1863910) by @calixteman in https://github.com/mozilla/pdf.js/pull/17247
- Remove the "Open file"-button from the main toolbar by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17244
- [Editor] Add a toolbar to selected editors with a button to delete it (bug 1863763) by @calixteman in https://github.com/mozilla/pdf.js/pull/17243
- Fix the maxp table version in font to make it visible on Windows by @calixteman in https://github.com/mozilla/pdf.js/pull/17253
- Tweak the background-color of the
editorParamsToolbar
s by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17256 - Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17260
- Set a type for the
Blob
used increateCDNWrapper
(issue 17259) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17265 - Rename *.d.ts to *.d.mts by @tamuratak in https://github.com/mozilla/pdf.js/pull/17252
- Ensure that the viewer waits for the library to complete loading (issue 17228) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17255
- [Editor] Avoid to click on the delete button in the freetext integration tests by @calixteman in https://github.com/mozilla/pdf.js/pull/17264
- Move linting to a separate GitHub Actions workflow by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17267
- Move
gulp typestest
to a separate GitHub Actions workflow by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17266 - Clean-up the CI workflow a bit by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17268
- [GENERIC viewer] Fallback to the short-format of the language code (issue 17269) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17270
- Fix typo in the
--hcm-highlight-filter
CSS variable name (issue 17254) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17272 - Get the field name from its parent when it doesn't have one when collecting fields (bug 1864136) by @calixteman in https://github.com/mozilla/pdf.js/pull/17271
- Introduce a GitHub Actions workflow for running the font tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17263
- Re-factor the
L10n
-implementations to use lowercase language-codes internally by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17273 - Re-factor how the
GenericL10n
class fetches localization-data by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17277 - [Editor] Add a tooltip to the delete button by @calixteman in https://github.com/mozilla/pdf.js/pull/17281
- Restore the option to set light/dark mode for chromium and generic builds by @calixteman in https://github.com/mozilla/pdf.js/pull/17293
- [Editor] Make the alt-text button large enough to display correctly whatever string by @calixteman in https://github.com/mozilla/pdf.js/pull/17300
- Throw a
JpegError
when a JPEG image has no frame data (issue 17302) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17303 - [Editor] Add a way to extract the outlines of a union of rectangles by @calixteman in https://github.com/mozilla/pdf.js/pull/17291
- Re-factor the loading-icons used in the viewer toolbars by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17287
- [Editor] Add support for saving/printing a newly added Highlight annotation (bug 1865708) by @calixteman in https://github.com/mozilla/pdf.js/pull/17304
- Move the editor-buttons in the main toolbar by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17294
- Make sure that only one radio button is checked in its group (bug 1864136) by @calixteman in https://github.com/mozilla/pdf.js/pull/17318
- [Editor] Only focus the canvas for mouse events when drawing in the canvas by @calixteman in https://github.com/mozilla/pdf.js/pull/17330
- Use the
fetchData
helper function in more cases by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17328 - Fix examples/webpack/README.md. by @tamuratak in https://github.com/mozilla/pdf.js/pull/17320
- Remove language codes from text strings. by @calixteman in https://github.com/mozilla/pdf.js/pull/17331
- Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17334
v4.0.189
PDF.js 4.0 is a major release that contains a number of API changes, features and bugfixes. The following changes are highlighted:
- Conversion to JavaScript modules for the builds
- Conversion to Fluent for localization
- Optimizations for CPU and memory usage
- Improvements and bugfixes for the annotation editor and annotation rendering
- Removal of the deprecated SVG back-end
- Removal of other deprecated functionality and options
The complete list of changes in this release is shown below. If you're upgrading to PDF.js 4.0 we recommend checking the changes prefixed with [api-minor]
and [api-major]
since those might require updates to your code.
Changes since v3.11.174
- Bump the stable version in
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17024 - [Editor] Slightly postpone the move in the DOM in order to not block the UI (bug 1854991) by @calixteman in https://github.com/mozilla/pdf.js/pull/17031
- [Editor] Remove the class fooEditing from the layer when destroying it by @calixteman in https://github.com/mozilla/pdf.js/pull/17030
- [Editor] Don't try to add data to the struct tree when there is no accessibilityData (bug 1855157) by @calixteman in https://github.com/mozilla/pdf.js/pull/17034
- [Editor] Disabled the alt-text button when the editor is being resized by @calixteman in https://github.com/mozilla/pdf.js/pull/17039
- [Editor] Remove unused CSS rules for the altText "Save"-button (PR 17015 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17040
- [Editor] Clear the different timeouts when destroying by @calixteman in https://github.com/mozilla/pdf.js/pull/17041
- StructParents entry isn't required on pages with no tagged contents (bug 1855641) by @calixteman in https://github.com/mozilla/pdf.js/pull/17043
- [Editor] Disable pointer events in the parent layer while an editor is resized by @calixteman in https://github.com/mozilla/pdf.js/pull/17045
- Remove comments from the built CSS files by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17035
- Make downloadManager optional in JSDoc types by @ayushmourya in https://github.com/mozilla/pdf.js/pull/17038
- Update Puppeteer to the latest version by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17027
- Convert
layerProperties
to an Object (PR 15811 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17026 - [Editor] Remove almost all the waitForTimeout from the freetext integration tests by @calixteman in https://github.com/mozilla/pdf.js/pull/17036
- Remove the timeouts from the inkEditor integration tests by @calixteman in https://github.com/mozilla/pdf.js/pull/17048
- Remove the timeouts from the stampEditor integration tests by @calixteman in https://github.com/mozilla/pdf.js/pull/17049
- [Editor] Make a deleted (when it was invisible) editor undoable by @calixteman in https://github.com/mozilla/pdf.js/pull/17050
- Use a standard
export
statement in theweb/pdfjs.js
file by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17052 - Add alt-text svg images to the dist (issue #17044) by @calixteman in https://github.com/mozilla/pdf.js/pull/17053
- Fix new intermittent failures with ink and stamp tests by @calixteman in https://github.com/mozilla/pdf.js/pull/17051
- [Editor] Don't show the alt-text button when the alt-text dialog is visible by @calixteman in https://github.com/mozilla/pdf.js/pull/17032
- [Editor] Use the alt text to descibe the canvas used to display the image by @calixteman in https://github.com/mozilla/pdf.js/pull/17058
- Remove timeouts from the copy_paste integration test by @calixteman in https://github.com/mozilla/pdf.js/pull/17059
- [api-major] Remove various deprecated functionality and options by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16774
- [api-major] Remove the SVG back-end (PR 15173 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16699
- Ensure that readonly TextWidget-annotations are rendered when forms are disabled (issue 17064) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17066
- Compute correctly the bounding box of a transformed rectangle (fixes #17065) by @calixteman in https://github.com/mozilla/pdf.js/pull/17067
- Bump library version to
4.0
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17063 - Add support for "GoToE" actions with destinations (issue 17056) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17060
- [Editor] Support resizing editors with the keyboard (bug 1854340) by @calixteman in https://github.com/mozilla/pdf.js/pull/17062
- [Editor] Add role=spinbutton to resizers when they're used with the keyboard by @calixteman in https://github.com/mozilla/pdf.js/pull/17072
- Update the noHTML flag to take into account the hasOwnCanvas one (fixes #17069) by @calixteman in https://github.com/mozilla/pdf.js/pull/17070
- Add a HTML containter for locked FreeText annotations in order to be able to display a popup (follow-up of #17070) by @calixteman in https://github.com/mozilla/pdf.js/pull/17075
- Enable some Stylelint color-related rules to slightly reduce file sizes by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17076
- Make the toolbar buttons usable with keyboard when Page Fit is used by @calixteman in https://github.com/mozilla/pdf.js/pull/17074
- [Editor] Add the possibility to create a new editor in using the keyboard (bug 1853424) by @calixteman in https://github.com/mozilla/pdf.js/pull/16761
- Remove unnecessary alpha-value from CSS
rgb
colors by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17077 - [api-major] Output JavaScript modules in the builds (issue 10317) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17055
- Output
pdf.scripting.js
as a JavaScript module (PR 17055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17080 - [api-minor] Stop polyfilling
structuredClone
in legacy builds by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17086 - Activate the selector check for the
autoprint
integration test as soon as possible by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17090 - Bump postcss from 8.4.30 to 8.4.31 by @dependabot in https://github.com/mozilla/pdf.js/pull/17093
- Rename
web/debugger.js
since it's actually a JavaScript module (PR 17055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17094 - Fix the protocol timeout configuration for Puppeteer by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17095
- [Debugger] Add some info about substitution font by @calixteman in https://github.com/mozilla/pdf.js/pull/17073
- Update the "Interactive examples" links (PR 17055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17105
- Don't store page-level data, in the API, after cleanup has run (bug 1854145) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17106
- Remove useless chrome.properties file (bug 1858700) by @calixteman in https://github.com/mozilla/pdf.js/pull/17113
- Convert the
integration
test-files to JavaScript modules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17112 - Output JavaScript modules for the
LIB
build-target (PR 17055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17114 - Tweak
PDFWorkerUtil.createCDNWrapper
to account for JavaScript modules (PR 17055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17098 - Use native
import maps
in development mode by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/14743 - Enable the
import/no-commonjs
ESLint plugin rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17117 - Remove obsolete
src/shared/{cffStandardStrings,fonts_utils}.js
files by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17120 - Update translations/dependencies to the most recent versions and fix dependency vulnerabilities by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17119
- Remove Escape key press from the
autoprint
integration test, and tweak the protocol timeout configuration for Puppeteer by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17122 - Update the ESLint
globals
list (PR 17055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17123 - Fix intermittent problems on Windows in the XFA search integration test by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17125
- Reduce unnecessary type conversion in
writeStream
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17134 - Re-factor the blob-URL caching in
DownloadManager.openOrDownloadData
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17131 - [api-minor] Move to Fluent for the localization (bug 1858715) by @calixteman in https://github.com/mozilla/pdf.js/pull/17115
- Use a CSS-only solution to set the
dropdownToolbarButton
width (issue 17137) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17138 - Only bundle
NullL10n
in GENERIC builds (bug 1859818) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17135 - Try to make the
Preferences
/AppOptions
initialization slightly more efficient by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17130 - Use object destructuring, rather than the
merge
helper, in the gulpfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17133 - [L10n] Don't try to connect the root element when it has already been done by @calixteman in https://github.com/mozilla/pdf.js/pull/17142
- Initialize the
L10n
-instance as soon as possible in Firefox (PR 17115 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17140 - Fix size of maskCanvas to draw image masks correctly by @JT-External in https://github.com/mozilla/pdf.js/pull/17148
- Use a
ResizeObserver
to update the layout ofPDFFindBar
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17152 - [api-minor] Re-factor
NullL10n
and remove the hard-coded l10n strings (PR 17115 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17146 - A couple of
PDFDocumentProperties
tweaks (PR 17115 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17151 - [api-minor] Use "data-l10n-id"/"data-l10n-args", rather than manually updating DOM-elements, to trigger translation (PR 17146 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17141
- Update the "aria-label" of the page when a
pageLabel
exists by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17156 - Update locale on *.ftl change by @calixteman in https://github.com/mozilla/pdf.js/pull/17157
- [Annotation] Use the field V entry when there is no Parent one for a radio button (bug 1860602) by @calixteman in https://github.com/mozilla/pdf.js/pull/17159
- Add a unit-test to ensure that
NullL10n
won't diverge from theL10n
-class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17161 - Remove obsolete entries in the lint-ignore files by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17175
- Don't take into account the INVISIBLE flag for well-known annotations by @calixteman in https://github.com/mozilla/pdf.js/pull/17171
- Update the path to get all locales and update locales by @calixteman in https://github.com/mozilla/pdf.js/pull/17174
- Fix error that's breaking the
ConstL10n
class (PR 17161 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17173 - Slightly improve the performance of removeNullCharacters by @calixteman in https://github.com/mozilla/pdf.js/pull/17165
- Remove the
enableStampEditor
preference by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17006 - Pause translation when appending the outline/attachment/layer trees to the sidebar by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17176
- Improve performance of optional content parsing by @calixteman in https://github.com/mozilla/pdf.js/pull/17166
- Pause translation when appending the xfaLayer to the page by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17177
- Add workflow to lint Fluent en-US files by @flodolo in https://github.com/mozilla/pdf.js/pull/17186
- Fix integration tests on Mac by @calixteman in https://github.com/mozilla/pdf.js/pull/17189
- Use CSS nesting in the textLayer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17195
- Use CSS nesting in the annotationLayer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17196
- Fix
WidgetAnnotationElement._getKeyModifier
to account for Linux by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17185 - Update the GitHub Actions workflow for the Fluent linter by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17198
- Update the
examples/
-folder to account for outputting of JavaScript modules (PR 17055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17081 - Handle appending consistently in the xfaLayer regardless of rendering intent (PR 17177 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17184
- Pause translation when appending the textLayer and structTreeLayer to the page by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17192
- Upgrade
setup-node
to version 4 in the GitHub Actions workflows by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17199 - Guard
navigator
-object accesses insrc/
-files (issue 15728) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17153 - Update dependencies and translations to the most recent versions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17203
- Fix the intermittent failures with PageOpen/PageClose test by @calixteman in https://github.com/mozilla/pdf.js/pull/17205
- [Editor] Don't steal the keyboard events when editing mode is enabled by @calixteman in https://github.com/mozilla/pdf.js/pull/17204
- [Firefox] Fetch browser preferences/options together with the viewer preferences (bug 1862192) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17208
- Update the GitHub Actions workflows to use the current Node.js LTS version by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17201
- Render rich text with only one text element by @calixteman in https://github.com/mozilla/pdf.js/pull/17216
- Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17223
- Use even more optional chaining in the code-base by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17217
- Also test the latest Node.js version in GitHub Actions by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17202
- Re-factor how some API-options are handled in
PDFViewerApplication.open
(PR 17208 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17218 - Update
external/dist/webpack.js
to account for outputting of JavaScript modules (PR 17055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17224 - Also pause translation when expanding the current outline-item (PR 17176 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17220
- Remove the
viewerCssTheme
-option, since it's partially broken by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17222
v3.11.174
This release primarily features accessibility improvements for the annotation editor and fixes for the type definitions.
Changes since v3.10.111
- Bump versions in
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16876 - Add tagged annotations in the structure tree (bug 1850797) by @calixteman in https://github.com/mozilla/pdf.js/pull/16886
- Fix the id used in aria-controls used to make a relationship between the popup and its parent by @calixteman in https://github.com/mozilla/pdf.js/pull/16889
- Fix JSDoc types by @stof in https://github.com/mozilla/pdf.js/pull/16888
- Ignore null-chars when using structTree-data in the viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16891
- Stop using
removeNullCharacters
in theaddLinkAttributes
helper function by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16892 - [Type-definitions] Fix type generator to support import maps by @stof in https://github.com/mozilla/pdf.js/pull/16890
- Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16895
- A couple of small
InternalRenderTask
changes by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16881 - Drop redundant styles from .grab-to-pan-grab:active by @Rob--W in https://github.com/mozilla/pdf.js/pull/16896
- Make annotations focusable (bug 1851489) by @calixteman in https://github.com/mozilla/pdf.js/pull/16898
- Unconditionally render non-form annotations in the annotation layer (bug 1851498) by @calixteman in https://github.com/mozilla/pdf.js/pull/16899
- Support downloading FileAttachment annotations with the keyboard by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16902
- Only call the focus/blur callbacks when it's necessary (bug 1851517) by @calixteman in https://github.com/mozilla/pdf.js/pull/16905
- Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/mozilla/pdf.js/pull/16897
- [Editor] Avoid to use parent of editors in destroyed pages by @calixteman in https://github.com/mozilla/pdf.js/pull/16911
- Construct the correct field name and strip out classes when searching by @calixteman in https://github.com/mozilla/pdf.js/pull/16915
- [Editor] Add the parent tag id (if any) to the serialized editors (bug 1845087) by @calixteman in https://github.com/mozilla/pdf.js/pull/16916
- Simplify writeObject function by @calixteman in https://github.com/mozilla/pdf.js/pull/16921
- Slightly reduce asynchronicity when parsing Annotations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16920
- Update packages and translations by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16925
- Enable unit test "creates pdf doc from non-existent URL" by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16932
- [Editor] Only get back the focus when it has been lost after an editor has been moved in the DOM by @calixteman in https://github.com/mozilla/pdf.js/pull/16940
- Ensure that the entire PDF document is loaded before we begin saving it by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16941
- [Editor] Move an editor in the DOM just after having moved it on the screen by @calixteman in https://github.com/mozilla/pdf.js/pull/16944
- [Editor] Change the style of the bounding box and the resizers (bug 1852897) by @calixteman in https://github.com/mozilla/pdf.js/pull/16943
- [Editor] Change the colors of the outline and the resizers for selected editors in HCM by @calixteman in https://github.com/mozilla/pdf.js/pull/16950
- Make it possible to clear the cache, used by the
getB
function insrc/core/pattern.js
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16951 - Remove the remaining closures in the
src/core/colorspace.js
file by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16954 - Simplify the
EvaluatorPreprocessor.opMap
getter a little bit by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16956 - Use
await
even more in the "SaveDocument" worker-thread handler by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16957 - Update Puppeteer to version 21.2.1 by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16958
- Remove the closure from the
CipherTransformFactory
class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16959 - Remove (some) closures from
web/debugger.js
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16961 - Fix integration test "Interaction in bug1844576.pdf must check that a field has the correct formatted value" by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16962
- Fix integration test "FreeText Editor Move several FreeTexts must move several annotations" by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16964
- [Editor] Add the ability to create/update the structure tree when saving a pdf containing newly added annotations (bug 1845087) by @calixteman in https://github.com/mozilla/pdf.js/pull/16938
- [Editor] Add a button to trigger a dialog for adding an alt text (bug 1844952) by @calixteman in https://github.com/mozilla/pdf.js/pull/16955
- [Editor] Avoid to have some transparency in the icon used in the 'Alt text' button by @calixteman in https://github.com/mozilla/pdf.js/pull/16972
- Fix a CSS linter issue in removing a useless comma by @calixteman in https://github.com/mozilla/pdf.js/pull/16974
- [Editor] Use the same height as in the svg for icons for the alt-text button by @calixteman in https://github.com/mozilla/pdf.js/pull/16975
- [Editor] Add a dialog box in order to get alt-text data (bug 1844952) by @calixteman in https://github.com/mozilla/pdf.js/pull/16952
- [Editor] Make the border of the resizers slightly rounded by @calixteman in https://github.com/mozilla/pdf.js/pull/16980
- [Editor] Update alt text dialog description by @calixteman in https://github.com/mozilla/pdf.js/pull/16979
- Ignore optional content with missing /Type-entries by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16981
- [Editor] Allow the user to add and save an alt-text for images (bug 1844952) by @calixteman in https://github.com/mozilla/pdf.js/pull/16977
- [Editor] Remove copy/paste listener when alt text dialog is displayed by @calixteman in https://github.com/mozilla/pdf.js/pull/16982
- [Editor] Add a tooltip showing the alt text when hovering the alt-text button (bug 1844952) by @calixteman in https://github.com/mozilla/pdf.js/pull/16983
- Don't try to close the
altText
dialog if it's not open (PR 16977 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16984 - [Editor] Add more telemetry for the 'add image' feature (bug 1853960) by @calixteman in https://github.com/mozilla/pdf.js/pull/16987
- [Editor] Change some strings in the alt-text dialog by @calixteman in https://github.com/mozilla/pdf.js/pull/16986
- [Editor] Change the colors for the disabled Save button in alt text dialoag in HCM by @calixteman in https://github.com/mozilla/pdf.js/pull/16985
- Use the new "reporttelemetry" event in more viewer components by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16989
- [Editor] Add an aria-label to the alt-text button depending on its state by @calixteman in https://github.com/mozilla/pdf.js/pull/16990
- [Editor] Tweak few values after review from UX by @calixteman in https://github.com/mozilla/pdf.js/pull/16988
- Ensure that all "alt_text_*" save-telemetry values are boolean (PR 16987 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16991
- Enable the Stylelint
declaration-block-no-duplicate-properties
rule (issue 16995) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16996 - Make one of the m-c linters happy by @calixteman in https://github.com/mozilla/pdf.js/pull/16998
- [GeckoView] Avoid bundling the
AltTextManager
class, since it's unused by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16993 - [GeckoView] Exclude
annotation_editor_layer_builder.css
in the build (issue 16994) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16999 - Restore the
collectFields
parameter in the Annotation code (issue 17000) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17003 - Prevent wheel/touch zooming in the viewer when a dialog is open by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17004
- [Editor] Avoid to darken the current editor when opening the alt-text dialog by @calixteman in https://github.com/mozilla/pdf.js/pull/17002
- [Editor] Make the altText dialog labels part of telemetry (PR 16987 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17009
- [Editor] Darken the toolbar when the alt-text dialog is opened by @calixteman in https://github.com/mozilla/pdf.js/pull/17010
- Don't bother trying to unregister the "reporttelemetry" event listener by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17014
- [Editor] Tweak the save flow in the alt-text dialog by @calixteman in https://github.com/mozilla/pdf.js/pull/17005
- [Editor] Let the Save button always enabled in the alt-text dialog by @calixteman in https://github.com/mozilla/pdf.js/pull/17015
- Don't reset
this.#currentEditor
when destroying the dialog by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17011 - [Editor] Report telemetry when closing the altText dialog with
Esc
(PR 16987 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17012 - [Editor] Disable context menu on alt-text button and in the associated dialog by @calixteman in https://github.com/mozilla/pdf.js/pull/17016
- Fix integration test "FreeText Editor FreeText (edit existing in double clicking on it) must move an annotation" by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16967
- Fix integration test "Interaction in issue15053.pdf must check that a button and text field with a border are hidden" by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16970
- Use one
noContextMenu
function in both the src/- and web/-folders by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17017 - Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17020
- [Editor] The ::before containter containing the border of a selected editor mustn't catch mouse events (bug 1854818) by @calixteman in https://github.com/mozilla/pdf.js/pull/17019
- Fix integration test "Interaction in autoprint.pdf must check if printing is triggered when the document is open" by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17021
- [Editor] Add an integration test for the new alt-text flow by @calixteman in https://github.com/mozilla/pdf.js/pull/17018
- [Editor] Add padding to the altText-button to account for different locales by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17023
- Fix integration test "Interaction in issue14307.pdf (1) must check input for US zip format" by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17022
v3.10.111
This release primarily features improvements and bugfixes for the annotation editor.
Changes since v3.9.179
- Bump versions in
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16769 - Add the color changes in the annotation storage by @calixteman in https://github.com/mozilla/pdf.js/pull/16767
- Fix typo in the
baseVersion
commit hash (PR 16769 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16770 - Make sure WillPrint ran before starting printing by @calixteman in https://github.com/mozilla/pdf.js/pull/16766
- [GeckoView] Add missing CSS variables for the dialog functionality by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16771
- [Editor] Limit image types to the ones supported by the browser (bug 1846230) by @calixteman in https://github.com/mozilla/pdf.js/pull/16773
- [api-minor] Don't print hidden annotations (bug 1815196) by @calixteman in https://github.com/mozilla/pdf.js/pull/16029
- [GeckoView] Allow to query pdf.js to know if we can avoid to print a pdf (bug 1846296) by @calixteman in https://github.com/mozilla/pdf.js/pull/16776
- [api-minor] Deprecate the
PDFDocumentProxy.getJavaScript
method by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16779 - [Editor] Let SVG images be resized horizontally/vertically without keeping the aspect ratio (bug 1846727) by @calixteman in https://github.com/mozilla/pdf.js/pull/16780
- [Editor] Use a getter and not a function for the _checkIfSVGFitsInCanvas (bug 1846727) by @calixteman in https://github.com/mozilla/pdf.js/pull/16784
- [Editor] Stop the resize session when the window is blurred by @calixteman in https://github.com/mozilla/pdf.js/pull/16786
- [Editor] Refactor dragging and dropping an editor (bug 1802895, bug 1844618) by @calixteman in https://github.com/mozilla/pdf.js/pull/16781
- Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16795
- Attempt to expose e.g.
pdfjsLib
globally regardless of how the library is imported (issue 16778) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16790 - Use the
round
CSS function in thesetLayerDimensions
helper function by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16794 - [Editor] Change the resize cursors to bidirectional variants by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16799
- [Editor] Fix the dimensions of the annotation editor layer (follow-up of #16794) by @calixteman in https://github.com/mozilla/pdf.js/pull/16798
- [Annotation] Strip out the array index in the path only when the path is from a terminal node (bug 1847733) by @calixteman in https://github.com/mozilla/pdf.js/pull/16807
- Take fill-alpha into account with default icons for FileAttachment annotations (issue 16800) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16804
- [Editor] Move the stamp button on the right of the pen one (bug 1847707) by @calixteman in https://github.com/mozilla/pdf.js/pull/16802
- [Editor] Fix the resizing of an editor when it's rotated (bug 1847268) by @calixteman in https://github.com/mozilla/pdf.js/pull/16793
- [Editor] Avoid to add a new line when hitting enter with a selected freetext editor by @calixteman in https://github.com/mozilla/pdf.js/pull/16808
- [Editor] Move an the editor div in the DOM once a translation with the keyboard is done by @calixteman in https://github.com/mozilla/pdf.js/pull/16809
- [Editor] Avoid to unselect some editors when the main window is focused by @calixteman in https://github.com/mozilla/pdf.js/pull/16812
- [Editor] Move the parameter elements for FreeText and Ink annotations at the right place (follow-up of #16802) by @calixteman in https://github.com/mozilla/pdf.js/pull/16813
- [Editor] Avoid to add a cancelled added image in the undo/redo stack by @calixteman in https://github.com/mozilla/pdf.js/pull/16818
- Introduce even more optional chaining in the code-base by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16815
- [Editor] Avoid to have slightly truncated images because of non-integer canvas dimensions by @calixteman in https://github.com/mozilla/pdf.js/pull/16820
- [Editor] Add the possibility to move all the selected editors with the mouse (bug 1847894) by @calixteman in https://github.com/mozilla/pdf.js/pull/16811
- [Editor] Don't forget to encrypt image streams (see issue #16821) by @calixteman in https://github.com/mozilla/pdf.js/pull/16822
- Fallback to check all pages when getting the pageIndex of FieldObjects by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16823
- [Editor] Avoid to unselect when a new page is rendered by @calixteman in https://github.com/mozilla/pdf.js/pull/16824
- [Editor] Avoid showing the context menu or resizing when a resizer is right clicked by @calixteman in https://github.com/mozilla/pdf.js/pull/16825
- Re-factor
PDFViewerApplication._initializeAutoPrint
slightly (PR 16779 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16810 - [Editor] Add a button to explicitly add an image (bug 1848108) by @calixteman in https://github.com/mozilla/pdf.js/pull/16819
- [Editor] Remove the stamp editor displayed when the image was loading (bug 1848313) by @calixteman in https://github.com/mozilla/pdf.js/pull/16826
- [Editor] Add the possibility to paste an image from the clipboard (bug 1848317) by @calixteman in https://github.com/mozilla/pdf.js/pull/16828
- Remove the
src/core/
Babel excludes, since they no longer seem necessary by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16829 - Remove the "no-babel-preset" comment used with the LIB build-target (PR 16829 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16831
- Avoid using the global
workerPort
when destruction has started, but not yet finished (issue 16777) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16830 - Improve the "write a new annotation, save the pdf and check that the text content is correct" unit-test (PR 16559 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16835
- Add a helper method to reduce duplication in
StampEditor.#getBitmap
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16840 - Update the
StampEditor.isEmpty
method to handle File (PR 16828 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16844 - Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16850
- Add a unit-test for the "correct" way of using the global
workerPort
in parallel (PR 16830 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16834 - Initialize the
PDFWorker.#workerPorts
WeakMap lazily by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16852 - Add the
.mjs
file-extension to the EditorConfig by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16860 - Add the "aria-controls" attribute to the StampEditor toolbar-button by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16858
- Revert fix for bug 1838855 (bug 1849876) by @calixteman in https://github.com/mozilla/pdf.js/pull/16862
- Don't reset all fields when the resetForm argument is an array by @calixteman in https://github.com/mozilla/pdf.js/pull/16864
- Exclude
lineEndings
, in Annotation-data, in MOZCENTRAL builds (PR 14899 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16856 - Introduce more optional chaining in the code-base by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16875
v3.9.179
This release features improvements in the areas of annotation editing (including a new stamp editor), accessibility, form rendering/saving, text selection/copying and other bugfixes.
Changes since v3.8.162
- Bump versions in
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16629 - Tweak the README slightly by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16635
- [Editor] Fix dimensions of a rotated FreeText after a dimensions change by @calixteman in https://github.com/mozilla/pdf.js/pull/16637
- [Editor] When saving/printing a FreeText, use the identity matrix for the AP and set the cm when rendering it by @calixteman in https://github.com/mozilla/pdf.js/pull/16640
- [Editor] Move the 'keep aspect ratio' stuff to the AnnotationEditor level by @calixteman in https://github.com/mozilla/pdf.js/pull/16641
- [Editor] Use css aspect-ratio property to keep the aspect ratio during resize by @calixteman in https://github.com/mozilla/pdf.js/pull/16645
- Fix typos when handling CMYK colors in
src/core/default_appearance.js
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16646 - [Editor] Add a basic stamp editor (bug 1790255) by @calixteman in https://github.com/mozilla/pdf.js/pull/16585
- [Editor] Add l10n-strings for the Stamp-editor (PR 16585 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16649
- Improve
parseAppearanceStream
to handle more "complex" ColorSpaces by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16648 - [Editor] Avoid to throw when deleting some invisible editors by @calixteman in https://github.com/mozilla/pdf.js/pull/16652
- [Editor] Support svg images in the stamp annotation by @calixteman in https://github.com/mozilla/pdf.js/pull/16650
- Don't try to hide an already invisible PopupAnnotation (issue 16660) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16661
- [Editor] Edit an existing FreeText annotation in double-clicking on it (bug 1787298) by @calixteman in https://github.com/mozilla/pdf.js/pull/16659
- Add unit-tests to check that more PDF.js APIs expose the expected functionality by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16658
- [CRX] Drop code supporting ancient Chrome versions by @Rob--W in https://github.com/mozilla/pdf.js/pull/16631
- Correct recognition of fragments at document load by @Rob--W in https://github.com/mozilla/pdf.js/pull/16630
- [ESM] Convert the
external/importL10n
-folder to use standard modules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16663 - [ESM] Convert
parseMinified
to useimport()
syntax by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16664 - [ESM] Convert most of
test
-folder to use standard modules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16665 - [ESM] Convert the "wintersmith"-task to use
import()
syntax by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16666 - [ESM] Convert the "cmaps"-task to use
import()
syntax by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16667 - [ESM] Convert the "default preferences"-handling to use
import()
syntax by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16671 - [Editor] Cheat the stamp editor icon to make a linter in m-c happy by @calixteman in https://github.com/mozilla/pdf.js/pull/16672
- [ESM] Convert the
gulpfile
to use standard modules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16668 - [ESM] Convert the
external/builder/
-folder to use standard modules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16669 - [Editor] Try to make the position of an edited FreeText the more accurated as possible by @calixteman in https://github.com/mozilla/pdf.js/pull/16642
- Re-enable editing, if necessary, when exiting PresentationMode (PR 16659 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16675
- Tweak the
writeStream
implementation slightly by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16678 - Access the
isOffscreenCanvasSupported
option once inPDFViewerApplication._initializeViewerComponents
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16683 - [Editor] Always use the data url when loading a SVG in order to avoid CSP issue (bug 1843255) by @calixteman in https://github.com/mozilla/pdf.js/pull/16686
- [Editor] Resize the image when the page is zoomed by @calixteman in https://github.com/mozilla/pdf.js/pull/16690
- Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16693
- Ensure that a test-suite that runs no tests is treated as a failure by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16695
- Enable more ESLint
unicorn
plugin rules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16697 - Re-factor the
PDFScriptingManager
-class for the viewer-components by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16687 - [GeckoView] Fix l10n of the download toolbar-button (PR 16340 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16701
- [Editor] Avoid to have some part of an editor outside its page (bug 1843303) by @calixteman in https://github.com/mozilla/pdf.js/pull/16689
- [Editor] Use 2 decimals for editor positions and dimensions by @calixteman in https://github.com/mozilla/pdf.js/pull/16702
- [api-minor] Let Babel handle the necessary
core-js
polyfills automatically by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16703 - Remove most build-time
require
-calls from thesrc/display/
-folder by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16698 - [Editor] Don't forget to generate non-missing images when printing (bug 1844036) by @calixteman in https://github.com/mozilla/pdf.js/pull/16706
- Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in https://github.com/mozilla/pdf.js/pull/16707
- [Editor] Bind redo action on meta+shift+z on mac (bug 1844293) by @calixteman in https://github.com/mozilla/pdf.js/pull/16709
- Draw correctly background images in ref tests by @calixteman in https://github.com/mozilla/pdf.js/pull/16713
- [Annotation] Use the clip-path property when an annotation has some quad points by @calixteman in https://github.com/mozilla/pdf.js/pull/16492
- Don't reset temporary XRef-entries during saving (PR 16392 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16717
- [Editor] Allow to delete an editor in using the Delete key (aka fn+backspace) (bug 1844625) by @calixteman in https://github.com/mozilla/pdf.js/pull/16719
- Text annotations must use their own canvas when their appearance is generated (bug 1844576) by @calixteman in https://github.com/mozilla/pdf.js/pull/16720
- Don't get the text content for an annotation when /NeedAppearances is true (bug 1844583) by @calixteman in https://github.com/mozilla/pdf.js/pull/16721
- Don't uselessly change the filter when drawing (bug 1508765) by @calixteman in https://github.com/mozilla/pdf.js/pull/16722
- XFA - Set storage values to select and option elements by @TaTo30 in https://github.com/mozilla/pdf.js/pull/16714
- Enable the
no-lonely-if
ESLint rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16715 - Enable the ESLint
no-var rule
in theextensions/firefox/
folder by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16724 - Update Stylelint to the latest version by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16725
- Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16728
- Remove the
useOnlyCssZoom
preference by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16729 - Remove the
vinyl-fs
dependency by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16730 - [GeckoView] Fix string for download button by @calixteman in https://github.com/mozilla/pdf.js/pull/16726
- Don't replace Acroform dictionary if nothing has changed when saving (bug 1844572) by @calixteman in https://github.com/mozilla/pdf.js/pull/16718
- [api-minor] Attempt to prevent Node.js-specific polyfill errors from completely breaking the library by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16733
- [Editor] Avoid spurious text selection when double clicking to add a FreeText by @calixteman in https://github.com/mozilla/pdf.js/pull/16736
- Fix copying of the reduced Planck constant by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16735
- [Editor] Add some resizers all around an editor (bug 1843302) by @calixteman in https://github.com/mozilla/pdf.js/pull/16732
- [Editor] Use inset instead of top/left in css by @calixteman in https://github.com/mozilla/pdf.js/pull/16737
- Re-factor how the
debugger
accesses API-functionality by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16738 - [Editor] Set keyboard events on window instead of the main container by @calixteman in https://github.com/mozilla/pdf.js/pull/16740
- [Editor] Avoid to trigger an editor creation when pinching on a touchscreen by @calixteman in https://github.com/mozilla/pdf.js/pull/16741
- Improve rendering of buttons in the toolbar in HCM (bug 1845515) by @calixteman in https://github.com/mozilla/pdf.js/pull/16748
- [Editor] Make editors movable in using the keyboard (bug 1845088) by @calixteman in https://github.com/mozilla/pdf.js/pull/16746
- [Editor] Use the same keyboard shortcut as in Preview to move an editor on mac by @calixteman in https://github.com/mozilla/pdf.js/pull/16749
- Enable the
unicorn/prefer-ternary
ESLint plugin rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16753 - [Editor] Add the possibility to move an empty freetext editor with the keyboard (bug 1845088) by @calixteman in https://github.com/mozilla/pdf.js/pull/16750
- [Editor] Reduce a bit of duplication on
_keyboardManager
initialization by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16755 - [Editor] Blur unselected editors by @calixteman in https://github.com/mozilla/pdf.js/pull/16756
- Tweak the
useWorkerFetch
default value checks (PR 15879 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16758 - Avoid eagerly matching "trailer"-strings when searching for incomplete objects in
XRef.indexObjects
(issue 16759, PR 15854 follow-up, bug 1845762) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16760 - [Editor] When an editor is unselected give the focus to the current page by @calixteman in https://github.com/mozilla/pdf.js/pull/16762
- [GeckoView] Bundle the Firefox printing code in the viewer (bug 1810111) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16163
- A few small
web/app.js
simplifications by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16744 - Add an
eq
test for bug 858128 by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16765 - [api-minor] Replace the
useOnlyCssZoom
option withmaxCanvasPixels = 0
instead (PR 16729 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16731 - Ensure that failing to open the password dialog once won't permanently disable it (PR 15335 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16768
v3.8.162
This release features improvements in the areas of annotation editing/saving/printing, font conversion, accessibility and performance.
Changes since v3.7.107
- Bump versions in
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16487 - Update Puppeteer to version 20 by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16489
- [Editor] Add few more info when saving ink data (thickness, opacity, …) by @calixteman in https://github.com/mozilla/pdf.js/pull/16494
- Try to not omit some values when printing a choice list with several selected items by @calixteman in https://github.com/mozilla/pdf.js/pull/16501
- Fix canvasMaxAreaInBytes type by @wojtekmaj in https://github.com/mozilla/pdf.js/pull/16504
- Fix more regressions from PR 15812 by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16507
- export ImageKind by @maxired in https://github.com/mozilla/pdf.js/pull/16505
- Fix incorrect
USERACTIVATION_CALLBACKID
import (15618 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16511 - Use the
Util.getAxialAlignedBoundingBox
helper function more by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16497 - Enable the
import/named
ESLint plugin rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16514 - [editor] Initialize
KeyboardManager
-instances lazily by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16516 - [api-minor] Update the minimum supported Google Chrome version to 92 by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16499
- Improve handling of mismatching /BaseFont and /FontName entries for non-embedded fonts (issue 7454) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16513
- [api-minor] Make the AnnotationLayer an object in order to use it in the AnnotationEditorLayer by @calixteman in https://github.com/mozilla/pdf.js/pull/16508
- Limit some
PDFRenderingQueue
-related code to the GENERIC viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16495 - Enable more
import
ESLint plugin rules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16517 - Enable the
import/no-cycle
ESLint plugin rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16515 - Improve Puppeteer's
trimCache
API usage by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16519 - Remove unused variables in
InkAnnotation.createNewAppearanceStream
(issue 16518, PR 16494 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16520 - [Editor] Connect then annotation layer and the editor one by @calixteman in https://github.com/mozilla/pdf.js/pull/16521
- [Editor] Guess font size and color from the AS of FreeText annotations by @calixteman in https://github.com/mozilla/pdf.js/pull/16522
- [Editor] Allow to undo/redo committed text modifications for FreeText by @calixteman in https://github.com/mozilla/pdf.js/pull/16525
- [Editor] Commit the text when the user hits ctrl+s (bug 1831574) by @calixteman in https://github.com/mozilla/pdf.js/pull/16528
- [Editor] Fix test failures in m-c because of the new FreeText undo/redo stuff by @calixteman in https://github.com/mozilla/pdf.js/pull/16533
- Concat data when push fails in the CFF compiler by @calixteman in https://github.com/mozilla/pdf.js/pull/16539
- [Editor] Add the possibility to update an existing annotation with some new properties when saving or printing by @calixteman in https://github.com/mozilla/pdf.js/pull/16523
- Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16542
- Improve SMask/Mask lookup when parsing inline images by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16541
- Enable the
unicorn/prefer-optional-catch-binding
ESLint plugin rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16544 - [api-minor] Remove the
type
fromRenderingCancelledException
(PR 16226 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16550 - Ensure that
cleanup
during rendering is actually ignored, to prevent a blank canvas by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16551 - Limit more code to GENERIC builds by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16543
- Add a container for Signature with their own canvas by @calixteman in https://github.com/mozilla/pdf.js/pull/16554
- [Editor] Allow to edit FreeText annotations by @calixteman in https://github.com/mozilla/pdf.js/pull/16535
- [Editor] Don't add an editor for empty FreeText annotations by @calixteman in https://github.com/mozilla/pdf.js/pull/16555
- Disable events on canvas in the annotation layer by @calixteman in https://github.com/mozilla/pdf.js/pull/16557
- [Editor] Avoid to have duplicated entries in the Annot array when saving an existing and modified annotation by @calixteman in https://github.com/mozilla/pdf.js/pull/16556
- Add a test to check that the compression is ok when saving an annotation by @calixteman in https://github.com/mozilla/pdf.js/pull/16559
- Improve handling of /Filter-entries in
writeStream
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16558 - [Editor] Avoid an exception when copying an existing editor by @calixteman in https://github.com/mozilla/pdf.js/pull/16561
- Guess that a checkbox belongs to a group in using its T value (bug 1838855) by @calixteman in https://github.com/mozilla/pdf.js/pull/16563
- [Editor] Show hidden annotations once editing is finished by @calixteman in https://github.com/mozilla/pdf.js/pull/16567
- [api-minor] Make the popup independent of their associated annotations by @calixteman in https://github.com/mozilla/pdf.js/pull/16552
- Fix integration tests by @calixteman in https://github.com/mozilla/pdf.js/pull/16570
- [api-minor] Ensure that the
AnnotationLayer
gets a default l10n-instance in GENERIC builds (PR 16552 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16572 - [Editor] Don't make editable an empty freetext annotation by @calixteman in https://github.com/mozilla/pdf.js/pull/16579
- Remove the
OverlayManager.unregister
method since it's completely unused by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16580 - [Editor] Hide visible popups when editing by @calixteman in https://github.com/mozilla/pdf.js/pull/16578
- Simplify the
sign
handling in theLexer.getNumber
method by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16581 - [Firefox] Disable the ability to change preferences directly from the viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16583
- Move the
fixupLangCode
helper function into theweb/genericl10n.js
file by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16573 - Add a unit-test to check that the official PDF.js API exposes the expected functionality by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16587
- [Firefox] Simplify
FirefoxPreferences._readFromStorage
(PR 16583 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16597 - Remove a couple of unused constants from
src/shared/util.js
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16590 - [api-minor] Remove the default-factories from the viewer components (PR 15811 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16592
- [api-minor] Re-factor the
PDFScriptingManager
class to use private fields/methods by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16569 - [CRX] Set minimum_chrome_version to 88 by @Rob--W in https://github.com/mozilla/pdf.js/pull/16600
- Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16598
- Run the PDF.js-viewer API unit-test in Node.js environments (PR 16592 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16604
- Use nullish coalescing when handling the
TESTING
build-target by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16602 - [GeckoView] Remove the
enableFloatingToolbar
preference by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16605 - Improve highlightments and popups in HCM (bug 1830850) by @calixteman in https://github.com/mozilla/pdf.js/pull/16593
- Re-factor how HCM highlight-filters are handled in the viewer components (PR 16593 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16608
- [Editor] Add support for printing/saving newly added Stamp annotations by @calixteman in https://github.com/mozilla/pdf.js/pull/16588
- Fully remove the
canvasFactory
option fromPDFPageProxy.render
(PR 16242 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16623 - Move the
transfers
computation into theAnnotationStorage
class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16620 - Remove outdated polyfill comment from
src/pdf.image_decoders.js
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16622 - Improve lint-chromium to output actionable information by @Rob--W in https://github.com/mozilla/pdf.js/pull/16607
- Revert "Temporarily stop listing the official Chrome extension in the main README" by @Rob--W in https://github.com/mozilla/pdf.js/pull/16601
- [api-minor] Remove the
CSS.supports
checks for thepageColors
-option in the GENERIC viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16626 - [api-minor] Stop "supporting" binary data provided as
Buffer
in Node.js environments (PR 16055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16627 - A couple of small tweaks of the
PDFCursorTools
class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16616 - Fix reading property of null object in chrome extension's updateEmbedElement function by @erm1116 in https://github.com/mozilla/pdf.js/pull/16612
- Inline the
webViewerInitialized
function inPDFViewerApplication.run
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16628
v3.7.107
This release features improvements in the areas of font conversion and substitution, annotation rendering and data compression, ink tool smoothing, text selection and extraction, image rendering and canvas rendering performance.
Changes since v3.6.172
- Bump versions in
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16399 - [api-minor] Update the minimum supported Node.js version to 18 by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16293
- Introduce some optional chaining in the
src/core/xfa/
folder by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16398 - Make something similar to Acrobat when Underline annotation has no appearance by @calixteman in https://github.com/mozilla/pdf.js/pull/16397
- Compress the data when saving annotions by @calixteman in https://github.com/mozilla/pdf.js/pull/16392
- [api-minor] Use a local font or fallback on an embedded one (if it exists) for non-embedded fonts (bug 1766039) by @calixteman in https://github.com/mozilla/pdf.js/pull/16363
- Add a cache to avoid to load several times a local font by @calixteman in https://github.com/mozilla/pdf.js/pull/16408
- Reduce some duplication when toggling "expanded" buttons in the viewer toolbars by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16410
- [api-minor] Update the minimum supported Safari version to 15.4 by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16401
- Move the sidebar-resizing handling into the
PDFSidebar
class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16413 - For missing font, use a local font if it exists even if there's no standard substitution by @calixteman in https://github.com/mozilla/pdf.js/pull/16416
- Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16417
- Enable the
unicorn/no-useless-promise-resolve-reject
ESLint plugin rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16415 - Update
jasmine
to version 5 by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16418 - Add tests for the font substitution by @calixteman in https://github.com/mozilla/pdf.js/pull/16421
- Check the
css
property in thegetFontSubstitution
unit-tests by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16422 - [GeckoView] Add a Nimbus experiment for the toolbar (bug 1833093) by @calixteman in https://github.com/mozilla/pdf.js/pull/16425
- Simplify the code to generate font substitution information by @calixteman in https://github.com/mozilla/pdf.js/pull/16420
- For non-embedded fonts, don't generate the fallback several times by @calixteman in https://github.com/mozilla/pdf.js/pull/16426
- Update
package-lock.json
to lockfileVersion=3 by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16430 - Warn when pdf.js can't load an OS font by @calixteman in https://github.com/mozilla/pdf.js/pull/16431
- Attempt to fallback to a default font, for non-available ones, in more cases (issue 16432) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16434
- For text widgets, get the text from the AP stream instead of from the format callback (bug 1825002) by @calixteman in https://github.com/mozilla/pdf.js/pull/16433
- Introduce more optional chaining in the
src/core/
folder by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16424 - Simplify the
fontID
handling inPartialEvaluator.loadFont
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16437 - Add a localization note to explain that 'Open in app' strings are for mobile (bug 1833858) by @marco-c in https://github.com/mozilla/pdf.js/pull/16438
- Flush the current chunk when the font changed because of a restore op (issue #14755) by @calixteman in https://github.com/mozilla/pdf.js/pull/16439
- Introduce even more modern JavaScript features in the code-base by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16440
- [api-minor] Slightly shorten some
idFactory
strings by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16443 - Extend
getNonStdFontMap
for non-embedded Impact fonts (bug 1365930) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16446 - Improve performance of canvas::rescaleAndStroke by around 30% (bug 1135277) by @calixteman in https://github.com/mozilla/pdf.js/pull/16448
- Stop trying to sort the attachments in the sidebar by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16449
- Sanitize the glyph bounding box by @calixteman in https://github.com/mozilla/pdf.js/pull/16450
- [GeckoView] Add some telemetry for the toolbar buttons (bug 1829216) by @calixteman in https://github.com/mozilla/pdf.js/pull/16453
- [Editor] Improve curve smoothing for Ink tool (bug 1789443) by @calixteman in https://github.com/mozilla/pdf.js/pull/16445
- Take into account the final space if any in the TJ command by @calixteman in https://github.com/mozilla/pdf.js/pull/16462
- Improve "EI" detection in inline images (PR 12028 follow-up, issue 16454) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16461
- Ignore named encoding for non-embedded symbol fonts (issue 16464) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16465
- Attempt to improve non-embedded Wingdings font support (bug 1652224) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16451
- Avoid to have a null fallback if none has been provided by @calixteman in https://github.com/mozilla/pdf.js/pull/16467
- [GeckoView] Remove the
Toolbar
-stub since the viewer has an actual toolbar now by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16466 - Extract all the text of text annotations by @calixteman in https://github.com/mozilla/pdf.js/pull/16472
- Reset the formatted value when after a text field has been modified by @calixteman in https://github.com/mozilla/pdf.js/pull/16474
- Re-factor the
isPageVisible
-handling in the find-controller (PR 10217 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16479 - Update packages and translations by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16481
- Introduce a "thumbnailrendered" event to simplify cleanup after thumbnail rendering (PR 12613 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16470
- [OTS] Remove cntrmask instruction with no stem in charstring (bug 1529502) by @calixteman in https://github.com/mozilla/pdf.js/pull/16483
- Re-factor updating of thumbnails in the
PDFSidebar
-class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16484