PDF Reader in JavaScript
This release contains improvements for performance, image rendering, text selection, annotation editing, accessibility, handling of corrupted documents, integration with third-party frameworks (see #17245) and the viewer.
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/18023
4.3
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18033
FileSpec
implementation by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18034
waitForTimeout
usage from the freetext editor integration tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/18041
signal
in web/pdf_viewer.js by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18055
Font.prototype.spaceWidth
getter (PR 13424 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18069
ignoreErrors
option from the FontFaceObject
class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18066
src/display/text_layer.js
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18052
TextLayerRenderTask
implementation by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18089
_fetchDocument
helper function in getDocument
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18091
BaseException
class by @timvandermeij in https://github.com/mozilla/pdf.js/pull/18093
signal
parameter from removeEventListener
calls by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18094
TextLayerRenderTask.prototype.#processItems
when MAX_TEXT_DIVS_TO_RENDER
is reached (PR 18089 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18103
drawingDelay
also when CSS-only zooming is used (issue 18022) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18077
rimraf
dependency in favor of the built-in Node.js fs.rmSync
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/18106
needle
dependency by @timvandermeij in https://github.com/mozilla/pdf.js/pull/18107
cleanupTextLayer
when there are pending textLayers by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18109
adjustMapping
(issue 18117) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18119
evaluatorOptions
in the src/core/pdf_manager.js file by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18115
through2
dependency in favor of the built-in Node.js stream.Transform
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/18113
waitForTimeout
usage from the scripting integration tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17974
merge-stream
dependency in favor of the ordered-read-streams
dependency by @timvandermeij in https://github.com/mozilla/pdf.js/pull/18145
web/text_layer_builder.js
file by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18152
getRect
utility function for the integration tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/18154
loadingParams
functionality in the API by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18159
TextLayer
until render
is invoked (PR 18104 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18171
setTextContentSource
method in TextLayerBuilder
(PR 18104 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18170
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.
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17924
mkdirp
dependency in favor of the built-in Node.js fs.mkdirSync
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17935
rimraf
dependency in favor of the built-in Node.js fs.rmSync
in the test folder by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17938
4.2
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17949
JpxImage
API issues (PR 17946 follow-up) by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17951
waitForTimeout
usage from the helper functions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17966
signal
in the viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17964
JpxImage.parseImageProperties
to support TypedArray data in IMAGE_DECODERS builds by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17977
signal
-support in the EventBus
, and utilize it in the viewer (PR 17964 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17967
waitForTimeout
usage from the annotation integration tests by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17969
DataCloneError
(issue 17981) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17984
CompiledFont.getPathJs
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18018
SimpleLinkService
to extend PDFLinkService
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/18013
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.
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17474
workerPort
/workerSrc
options by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17504
npm install
on MacOS by @nicolo-ribaudo in https://github.com/mozilla/pdf.js/pull/17490
4.1
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17507
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
PDFViewer
(PR 14388 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17508
web/locale/
folder from linting (PR 17525 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17529
isArrayBuffer
helper function by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17537
git blame
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17546
async
code when loading fonts in the PartialEvaluator
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17553
test.mjs
child process exit codes in the Gulpfile by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17555
EvaluatorPreprocessor.opMap
has a null-prototype (issue 17554) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17556
async
code in the PartialEvaluator
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17562
DefaultExternalServices
into a regular class, without static methods by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17588
should compress and save text
unit-test (issue 17399) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17591
fileInput
DOM-element dynamically by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17592
debuggerSrc
-parameter into the AppOptions
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17593
GenericL10n
works if the locale files cannot be loaded by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17603
ExternalServices
-instance lazily in the viewer (PR 17588 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17604
l10n
-folder (issue 17609, PR 17603 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17610
PDFDataTransportStream
constructor by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17620
require
statements from the build system by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17634
PDFViewerApplication
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17646
no-new-symbol
and require-yield
ESLint rules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17658
enableStampEditor
preference" (bug 1879588) by @calixteman in https://github.com/mozilla/pdf.js/pull/17651
__non_webpack_import__
re-writing into the Babel plugin by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17637
PDFViewerApplication.findBar
safely in more spots (PR 15831 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17676
beginMarkedContentProps
operator when optional content parsing fails (issue 17679) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17680
PDFPrintServiceFactory.createPrintService
to take a parameter object by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17667
tweakWebpackOutput
usage in the gulpfile (PR 17637 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17678
parseMinified
handling slightly in the gulpfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17681
hexNumbers
Array, used by Util.makeHexColor
, is built by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17718
HighlightEditor.#telemetryType
getter at its only call-site (PR 17748 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17750
XMLHttpRequest
-branch in the fetchData
helper function (PR 17277 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17710
Usage
dicts (issue 5764, bug 1826783) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17726
dist-pre
target (PR 17681 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17717
fs/promises
in the Node.js-specific code in the src/
-folder by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17714
AppOptions
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17694
alias
-building out of the createWebpackConfig
function by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17691
PDFViewerApplication.initPassiveLoading
and directly invoke the open
-method from the extension-specific code by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17813
Path2D
polyfill for Node.js environments by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17830
BasePreferences
class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17842
addWindowResolutionChange
listener unconditionally (PR 17767 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17865
compatibilityParams
handling to the GENERIC viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17861
PromiseCapability
with Promise.withResolvers()
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17854
fill
-value of the Stamp-icon to work better in non-Firefox browsers by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17916
editorHighlightShowAll
button, such that it works outside of the Firefox PDF Viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17917
waitForTimeout
for new usages by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17915
gulp-cli
globally in the GitHub Actions workflows by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17913
This release mainly contains improvements and bugfixes for the annotation editor functionality.
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17339
FirefoxCom.requestSync
method by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17338
calculateMD5
and verifyManifestFiles
test helper functions by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17367
--editor-toolbar-active-bg-color
CSS variable (PR 17352 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17377
AppOptions
default values together by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17391
sandboxBundleSrc
option is passed to PDFScriptingManager
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17397
test/downloadutils.mjs
file by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17431
AnnotationEditorUIManager.destroy
if the altTextManager
is undefined by @pulsejet in https://github.com/mozilla/pdf.js/pull/17445
outlineOptionsContainer
, in the sidebar, using only CSS by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17441
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.
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17226
fieldObjects
and #collectFieldObjects
handles References correctly by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17242
editorParamsToolbar
s by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17256
Blob
used in createCDNWrapper
(issue 17259) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17265
gulp typestest
to a separate GitHub Actions workflow by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17266
--hcm-highlight-filter
CSS variable name (issue 17254) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17272
L10n
-implementations to use lowercase language-codes internally by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17273
GenericL10n
class fetches localization-data by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17277
JpegError
when a JPEG image has no frame data (issue 17302) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17303
fetchData
helper function in more cases by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17328
PDF.js 4.0 is a major release that contains a number of API changes, features and bugfixes. The following changes are highlighted:
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.
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17024
layerProperties
to an Object (PR 15811 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17026
export
statement in the web/pdfjs.js
file by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17052
4.0
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17063
rgb
colors by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17077
pdf.scripting.js
as a JavaScript module (PR 17055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17080
structuredClone
in legacy builds by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17086
autoprint
integration test as soon as possible by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17090
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
integration
test-files to JavaScript modules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17112
LIB
build-target (PR 17055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17114
PDFWorkerUtil.createCDNWrapper
to account for JavaScript modules (PR 17055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17098
import maps
in development mode by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/14743
import/no-commonjs
ESLint plugin rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17117
src/shared/{cffStandardStrings,fonts_utils}.js
files by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17120
autoprint
integration test, and tweak the protocol timeout configuration for Puppeteer by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17122
globals
list (PR 17055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17123
writeStream
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17134
DownloadManager.openOrDownloadData
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17131
dropdownToolbarButton
width (issue 17137) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17138
NullL10n
in GENERIC builds (bug 1859818) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17135
Preferences
/AppOptions
initialization slightly more efficient by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17130
merge
helper, in the gulpfile by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17133
L10n
-instance as soon as possible in Firefox (PR 17115 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17140
ResizeObserver
to update the layout of PDFFindBar
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17152
NullL10n
and remove the hard-coded l10n strings (PR 17115 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17146
PDFDocumentProperties
tweaks (PR 17115 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17151
pageLabel
exists by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17156
NullL10n
won't diverge from the L10n
-class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17161
ConstL10n
class (PR 17161 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17173
enableStampEditor
preference by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17006
WidgetAnnotationElement._getKeyModifier
to account for Linux by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17185
examples/
-folder to account for outputting of JavaScript modules (PR 17055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17081
setup-node
to version 4 in the GitHub Actions workflows by @timvandermeij in https://github.com/mozilla/pdf.js/pull/17199
navigator
-object accesses in src/
-files (issue 15728) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17153
PDFViewerApplication.open
(PR 17208 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17218
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
viewerCssTheme
-option, since it's partially broken by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17222
This release primarily features accessibility improvements for the annotation editor and fixes for the type definitions.
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16876
removeNullCharacters
in the addLinkAttributes
helper function by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16892
InternalRenderTask
changes by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16881
getB
function in src/core/pattern.js
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16951
src/core/colorspace.js
file by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16954
EvaluatorPreprocessor.opMap
getter a little bit by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16956
await
even more in the "SaveDocument" worker-thread handler by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16957
CipherTransformFactory
class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16959
web/debugger.js
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16961
altText
dialog if it's not open (PR 16977 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16984
declaration-block-no-duplicate-properties
rule (issue 16995) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16996
AltTextManager
class, since it's unused by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16993
annotation_editor_layer_builder.css
in the build (issue 16994) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16999
collectFields
parameter in the Annotation code (issue 17000) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17003
this.#currentEditor
when destroying the dialog by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17011
Esc
(PR 16987 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17012
noContextMenu
function in both the src/- and web/-folders by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/17017
This release primarily features improvements and bugfixes for the annotation editor.
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16769
baseVersion
commit hash (PR 16769 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16770
PDFDocumentProxy.getJavaScript
method by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16779
pdfjsLib
globally regardless of how the library is imported (issue 16778) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16790
round
CSS function in the setLayerDimensions
helper function by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16794
PDFViewerApplication._initializeAutoPrint
slightly (PR 16779 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16810
src/core/
Babel excludes, since they no longer seem necessary by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16829
workerPort
when destruction has started, but not yet finished (issue 16777) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16830
StampEditor.#getBitmap
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16840
StampEditor.isEmpty
method to handle File (PR 16828 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16844
workerPort
in parallel (PR 16830 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16834
PDFWorker.#workerPorts
WeakMap lazily by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16852
.mjs
file-extension to the EditorConfig by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16860
lineEndings
, in Annotation-data, in MOZCENTRAL builds (PR 14899 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16856
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.
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16629
src/core/default_appearance.js
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16646
parseAppearanceStream
to handle more "complex" ColorSpaces by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16648
external/importL10n
-folder to use standard modules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16663
parseMinified
to use import()
syntax by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16664
test
-folder to use standard modules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16665
import()
syntax by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16666
import()
syntax by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16667
import()
syntax by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16671
gulpfile
to use standard modules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16668
external/builder/
-folder to use standard modules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16669
writeStream
implementation slightly by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16678
isOffscreenCanvasSupported
option once in PDFViewerApplication._initializeViewerComponents
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16683
unicorn
plugin rules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16697
PDFScriptingManager
-class for the viewer-components by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16687
core-js
polyfills automatically by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16703
require
-calls from the src/display/
-folder by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16698
no-lonely-if
ESLint rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16715
no-var rule
in the extensions/firefox/
folder by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16724
useOnlyCssZoom
preference by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16729
vinyl-fs
dependency by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16730
debugger
accesses API-functionality by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16738
unicorn/prefer-ternary
ESLint plugin rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16753
_keyboardManager
initialization by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16755
useWorkerFetch
default value checks (PR 15879 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16758
XRef.indexObjects
(issue 16759, PR 15854 follow-up, bug 1845762) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16760
web/app.js
simplifications by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16744
eq
test for bug 858128 by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16765
useOnlyCssZoom
option with maxCanvasPixels = 0
instead (PR 16729 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16731
This release features improvements in the areas of annotation editing/saving/printing, font conversion, accessibility and performance.
pdfjs.config
by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16487
USERACTIVATION_CALLBACKID
import (15618 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16511
Util.getAxialAlignedBoundingBox
helper function more by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16497
import/named
ESLint plugin rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16514
KeyboardManager
-instances lazily by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16516
PDFRenderingQueue
-related code to the GENERIC viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16495
import
ESLint plugin rules by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16517
import/no-cycle
ESLint plugin rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16515
trimCache
API usage by @timvandermeij in https://github.com/mozilla/pdf.js/pull/16519
InkAnnotation.createNewAppearanceStream
(issue 16518, PR 16494 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16520
unicorn/prefer-optional-catch-binding
ESLint plugin rule by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16544
type
from RenderingCancelledException
(PR 16226 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16550
cleanup
during rendering is actually ignored, to prevent a blank canvas by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16551
writeStream
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16558
AnnotationLayer
gets a default l10n-instance in GENERIC builds (PR 16552 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16572
OverlayManager.unregister
method since it's completely unused by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16580
sign
handling in the Lexer.getNumber
method by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16581
fixupLangCode
helper function into the web/genericl10n.js
file by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16573
FirefoxPreferences._readFromStorage
(PR 16583 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16597
src/shared/util.js
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16590
PDFScriptingManager
class to use private fields/methods by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16569
TESTING
build-target by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16602
enableFloatingToolbar
preference by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16605
canvasFactory
option from PDFPageProxy.render
(PR 16242 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16623
transfers
computation into the AnnotationStorage
class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16620
src/pdf.image_decoders.js
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16622
CSS.supports
checks for the pageColors
-option in the GENERIC viewer by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16626
Buffer
in Node.js environments (PR 16055 follow-up) by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16627
PDFCursorTools
class by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16616
webViewerInitialized
function in PDFViewerApplication.run
by @Snuffleupagus in https://github.com/mozilla/pdf.js/pull/16628