Releases: mozilla/pdf.js
v5.2.133
This release contains improvements for the annotation editor, font conversion, performance, text selection and the viewer.
Changes since v5.1.91
- Bump the stable version in
pdfjs.config
by @timvandermeij in #19741 - Update dependencies and translations to the most recent versions by @timvandermeij in #19742
- Isolate the "basic operations" freetext editor integration tests by @timvandermeij in #19743
- Simplify singularValueDecompose2dScale in order to make it using less memory by @calixteman in #19721
- Optimize save-transform-constructPath-restore by @calixteman in #19712
- Reduce some code duplication when handling globally cached images by @Snuffleupagus in #19746
- [api-minor] Move Type3-glyph compilation to the worker-thread by @Snuffleupagus in #19736
- Remove few useless beginPaths by @calixteman in #19732
- Change
Util.applyTransform
to use the point-argument as an in/out parameter by @Snuffleupagus in #19751 - Simplify updateRectMinMax in order to use slightly less memory by @calixteman in #19752
- Also transfer
ImageBitmap
s for image masks and inline images by @Snuffleupagus in #19760 - Bump library version to
5.2
by @Snuffleupagus in #19766 - Attempt to get bundlers to leave Emscripten Compiler generated
URL
s alone (issue 19761) by @Snuffleupagus in #19767 - Pass the /Info-strings as a
Map
to thesrc/core/writer.js
code by @Snuffleupagus in #19768 - Replace UpdateRectMinMax by getAxialAlignedBoundingBox by @calixteman in #19763
- Use
ctx.filter
unconditionally in thesrc/display/canvas.js
file by @Snuffleupagus in #19756 - Initialize the
isOffscreenCanvasSupported
option, in theOperatorList
class, once per document by @Snuffleupagus in #19758 - Change how (most) fields are initialized in the
CanvasExtraState
class by @Snuffleupagus in #19771 - Avoid to create an array when setting the text matrix by @calixteman in #19772
- Remove
Array.prototype.reduce
usage from the unit-tests by @Snuffleupagus in #19776 - Tweak the Node.js version listed in "engines", to ensure that
process.getBuiltinModule
is available by @Snuffleupagus in #19777 - Use Array-destructuring when computing MIN/MAX in
AFSimple_Calculate
by @Snuffleupagus in #19775 - Lint against
export [some declaration]
by @nicolo-ribaudo in #19786 - [chrome] Fix text selection with
.markedContent
by @nicolo-ribaudo in #19785 - Enable the
no-array-reduce
ESLint plugin rule by @Snuffleupagus in #19788 - Move the
IDENTITY_MATRIX
constant intosrc/core/core_utils.js
(PR 19772 follow-up) by @Snuffleupagus in #19781 - Inline
PDFImage.createRawMask
in thePDFImage.createMask
method by @Snuffleupagus in #19773 - [api-minor] Replace various
getAll
methods with iterators by @Snuffleupagus in #19778 - Handle non-integer and out-of-range values correctly in Indexed color spaces by @Snuffleupagus in #19791
- [Editor] Fix the border line of the thickness slider in the signature modal while in HCM (bug 1959774) by @calixteman in #19799
- [Editor] Commit the current drawing before switching the current mode by @calixteman in #19797
- Use
adjustWidths
unconditionally for all embedded fonts (issue 19802) by @Snuffleupagus in #19804 - Catch circular references in /Form XObjects (issue 19800) by @Snuffleupagus in #19803
- Simplify the
getAnnotationStorage
integration-test helper function by @Snuffleupagus in #19790 - Simplify
Object.fromEntries
usage a tiny bit in theweb/generic_signature_storage.js
file by @Snuffleupagus in #19789 - Change
PDFDocument.prototype._xfaStreams
to return aMap
by @Snuffleupagus in #19805 - Add more logical assignment in the
src/
folder by @Snuffleupagus in #19806 - Update dependencies and translations to the most recent versions by @timvandermeij in #19807
- Run the integration tests in a random order by @timvandermeij in #19809
- Update Webpack to version
5.99.5
(issue 19808) by @Snuffleupagus in #19810 - Remove debug code from the integration tests, and skip the "must check that canvas perfectly fits the page whatever the zoom level" integration test in Chrome by @timvandermeij in #19812
- Improve error handling when parsing page-structTrees by @Snuffleupagus in #19824
- Avoid to create any subarrays when optimizing 'save, transform, constructPath, restore' (bug 1961107) by @calixteman in #19825
- Check that the
Object.prototype
hasn't been incorrectly extended (PR 11582 follow-up) by @Snuffleupagus in #19828 - Replace the info icon in the undo bar by the right one (bug 1960523) by @calixteman in #19829
- Fix printing of XFA documents, by calling
XfaLayerBuilder.prototype.render
correctly (issue 19840) by @Snuffleupagus in #19841 - Always fallback to checking all destinations, when lookup fails (issue 19835) by @Snuffleupagus in #19836
- Remove duplicate secondaryToolbar button
mask-image
definitions (PR 18385 follow-up) by @Snuffleupagus in #19823 - Add a "supportsPrinting" viewer-option (bug 1957401) by @Snuffleupagus in #19816
- Disable userActivation before executing a setTimeout/setInterval callback by @calixteman in #19853
- Use the
light-dark
CSS function in the viewer (issue 17780) by @Snuffleupagus in #19819 - Ensure that the /Form XObject /Resources-entry is actually a dictionary (issue 19848) by @Snuffleupagus in #19849
- Fix errors when running the integration tests by @calixteman in #19854
- Fix the debugger CSS when using the dark theme (PR 19819 follow-up) by @Snuffleupagus in #19861
- Ensure that "local" /Contents stream-dict /Resources aren't empty (PR 19803 follow-up) by @Snuffleupagus in #19815
- Fix 'print to pdf' on Mac with a cid font (bug 1961423) by @calixteman in #19862
- Fix beginner bugs link in README by @loganrosen in #19814
- Tweak the Node.js version listed in "engines", to ensure that process.getBuiltinModule is available by @luckymore in #19858
- Use the
MathClamp
helper function more in theweb/
folder (PR 19617 follow-up) by @Snuffleupagus in #19868 - Avoid (most) string parsing when removing/replacing the hash property of a URL by @Snuffleupagus in #19866
- Update dependencies and translations to the most recent versions by @timvandermeij in #19869
- Always render the Annotation- and XFA-layers with light
color-scheme
(issue 19871) by @Snuffleupagus in #19874 - Fix the "must work properly when selecting undo by keyboard" integration test by @timvandermeij in #19873
v5.1.91
This release contains improvements for the annotation editor, font conversion, performance, SMask rendering and the viewer, as well as bugfixes and improvements after feedback on the initial PDF.js 5.0 release.
Changes since v5.0.375
- Bump the stable version in
pdfjs.config
by @timvandermeij in #19663 - Replace a few simple regular expressions in the XFA-code with string parsing by @Snuffleupagus in #19662
- Update dependencies and translations to the most recent versions by @timvandermeij in #19665
- [api-minor] Attempt to support fetching the raw data of the PDF document from the
PDFDocumentLoadingTask
-instance (issue 15085) by @Snuffleupagus in #19632 - Bump library version to
5.1
by @Snuffleupagus in #19667 - Don't get ICC color space files if required API options are missing by @timvandermeij in #19669
- Fix the "Signature Editor Basic operations must check copy and paste" integration test by @timvandermeij in #19671
- Remove documentation for unused l10n variable (PR 18492 follow-up) by @Snuffleupagus in #19673
- For JPEG images with CMYK-data, ensure that the alpha-component is set correctly when WebAssembly is disabled (issue 19676) by @Snuffleupagus in #19677
- Introduce a
fetchSync
helper function for theIccColorSpace
classes by @Snuffleupagus in #19675 - Introduce more
async
code in thesrc/core/document.js
file by @Snuffleupagus in #19674 - Improve
addSignatureDescription
/editSignatureDescription
handling (issue 19683) by @Snuffleupagus in #19684 - [Editor] Take into account the parent rotation when switch to edit mode (issue #19424) by @calixteman in #19685
- Fix the MD5 computation in the
src/core/writer.js
file by @Snuffleupagus in #19693 - Improve the implementation in
src/core/writer.js
a little bit by @Snuffleupagus in #19692 - Replace the
setValues
function withArray.prototype.fill()
in thesrc/core/bidi.js
file by @Snuffleupagus in #19703 - [api-minor] Add a basic
AbortSignal.any
polyfill in PDF.jslegacy
builds by @Snuffleupagus in #19681 - Extend
getSupplementalGlyphMapForCalibri
with Pound-sign (issue 19695) by @Snuffleupagus in #19696 - Isolate the scripting integration tests by @timvandermeij in #19705
- [api-minor] Use a Path2D when doing a path operation in the canvas (bug 1946953) by @calixteman in #19689
- Isolate the "move editor with arrows" freetext editor integration tests by @timvandermeij in #19706
- Introduce
Math.sumPrecise
usage in the code-base by @Snuffleupagus in #19710 - Update dependencies and translations to the most recent versions by @timvandermeij in #19704
- Fix save/restore while in smask mode by @calixteman in #19708
- Isolate the "create editor with keyboard" freetext editor integration tests by @timvandermeij in #19711
- Take into account the path and the line width when consuming a stroked path by @calixteman in #19715
- Use the
MathClamp
helper function even more (PR 19617 follow-up) by @Snuffleupagus in #19714 - Add new bounding-box helpers in
Util
to reduce code duplication by @Snuffleupagus in #19713 - Take into account the group bbox by @calixteman in #19716
- Don't overwrite the global alpha when switching to smask mode (bug 1764587) by @calixteman in #19717
- In the struct tree a kid can be a reference to an MCID entry (issue #19694) by @calixteman in #19702
- Remove
Array.prototype.reduce
usage from thesrc/core/xfa/template.js
file by @Snuffleupagus in #19691 - [api-minor] Enable
enableAutoLinking
by default by @Snuffleupagus in #19701 - Pass the
XRef
-instance explicitly to theStructTreeRoot
class, and simplify theStructElementNode.prototype.role
getter by @Snuffleupagus in #19719 - [Editor] Fix the border color of a tab panel in HCM (bug 1956110) by @calixteman in #19722
- [Editor] in the signature UI, disable the description input if there is no signature (bug 1956114) by @calixteman in #19725
- Use
Util.rectBoundingBox
more in the annotation code (PR 19713 follow-up) by @Snuffleupagus in #19726 - [Editor] Set an aria-description for an added signature (bug 1956513) by @calixteman in #19728
- Update @fluent/dom to 0.10.1 by @calixteman in #19730
- Pre-apply the transform when building the
Path2D
objects for Type3-fonts by @Snuffleupagus in #19731 - [Editor] Add a border to the undo button in the snackbar in order to make a contrast (bug 1952563) by @calixteman in #19734
- Spell "properly" in viewer integration-test names by @Snuffleupagus in #19740
- Simplify handling of the color-parameter in
TilingPattern
(PR 4824 follow-up) by @Snuffleupagus in #19737 - Shorten the
PDFViewerApplication._initializeViewerComponents
method by @Snuffleupagus in #19720 - Reduce duplication when specifying the fn-operations in
buildPaintImageXObject
by @Snuffleupagus in #19739 - [api-minor] Attempt to improve support for using the PDF.js builds with Vite by @Snuffleupagus in #19733
- Apply char/word-spacing correctly for missing Type3-glyphs by @Snuffleupagus in #19735
v5.0.375
PDF.js 5.0 is a major release that contains a number of API changes, features and bugfixes.
The following significant new features are highlighted:
- Improved JPEG 2000 decoding support
- The OpenJPEG decoder was moved into a separate
.wasm
file, which requires setting a newwasmUrl
API option in order to use it; see PR #19329. - A (much slower) JavaScript OpenJPEG fallback decoder was added (also uses the
wasmUrl
API option) for environments without WebAssembly support; see PR #19525.
- The OpenJPEG decoder was moved into a separate
- Support for ICC profiles
- This requires WebAssembly support, and that the
wasmUrl
API option is set; see PR #19564. - Use an ICC profile to improve CMYK to RGB color conversion, which requires setting a new
iccUrl
API option in order to use it; see PR #19620. - Currently Lab profiles are not supported, which is tracked in bug 1717767.
- This requires WebAssembly support, and that the
- Improved rendering of large pages in the viewer
- Enable creation of hyperlinks, in the viewer, from text that look like URLs
- This is disabled by default because of some remaining issues, but can be enabled in the viewer with the
enableAutoLinking
option/preference; see PR #19110.
- This is disabled by default because of some remaining issues, but can be enabled in the viewer with the
The following significant changes are highlighted (which may require changes in third-party PDF.js implementations):
- Addition of a couple of new CSS variables, that e.g. the text and annotation layers now depend upon; see PR #19469.
- Removal of a couple of old exceptions; see PR #19264.
The complete list of changes in this release is shown below. If you're upgrading to PDF.js 5.0 we recommend checking the changes prefixed with [api-minor]
and [api-major]
since those might require updates to your code.
Changes since v4.10.38
- Bump the stable version in
pdfjs.config
by @timvandermeij in #19276 - Remove the
getSelectedEditors
integration test helper function by @timvandermeij in #19277 - Use
Dict
iteration more (PR 19051 follow-up) by @Snuffleupagus in #19278 - Skip LinkAnnotations when collecting field objects (issue 19281) by @Snuffleupagus in #19289
- Use the
waitForUnselectedEditor
integration test helper function more by @timvandermeij in #19290 - Implement a commit helper function for the freetext integration tests by @timvandermeij in #19291
- Let be more tolerant with predefined phone number format by @calixteman in #19280
- Update the toggle-button css after the changes in m-c (bug 1940085) by @calixteman in #19295
- Remove unused CSS variables by @calixteman in #19300
- Remove the fuzz tests (issue 19297) by @Snuffleupagus in #19307
- Access the bbox/background data correctly in the
MeshShadingPattern
class (issue 18816) by @Snuffleupagus in #19305 - [Editor] Set a unique id for each element in the draw layer by @calixteman in #19309
- [Editor] Don't try to use an non-existing canvas when rendering an in visible existing stamp editor by @calixteman in #19311
- [Editor] Improve zooming with a pinch gesture while drawing by @calixteman in #19312
- Update dependencies to the most recent versions by @timvandermeij in #19313
- Re-use existing helper functions in
FontRendererFactory
by @Snuffleupagus in #19317 - Upgrade Puppeteer to version 24.0.0 by @timvandermeij in #19318
- Improve performance when reading very large TrueType "cmap" tables (issue 19319) by @Snuffleupagus in #19321
- Enable editor when double-clicking on stamp annotation by @nicolo-ribaudo in #19320
- Access the number of components correctly in JPEG 2000 images with color space entries (issue 19326) by @Snuffleupagus in #19327
- Allow searching for number-number on two lines by @nicolo-ribaudo in #19324
- [api-major] Add openjpeg.wasm to pdf.js (bug 1935076) by @calixteman in #19329
- [api-major] Replace
MissingPDFException
andUnexpectedResponseException
with one exception by @Snuffleupagus in #19264 - Bump library version to
5.0
by @Snuffleupagus in #19332 - Handle JPX wasm fetch-response errors correctly (PR 19329 follow-up) by @Snuffleupagus in #19333
- Reduce console spam when running tests in Firefox by @Snuffleupagus in #19335
- Handle the case where openjpeg.wasm is missing by @calixteman in #19340
- Simplify the JSDocs for the various
getDocument
Factory-parameters by @Snuffleupagus in #19331 - Inline the default Factory-definitions in
getDocument
by @Snuffleupagus in #19341 - Update dependencies to the most recent versions by @timvandermeij in #19342
- Implement helper functions for (un)selecting an editor in the integration tests by @timvandermeij in #19344
- Centralize the editor selector definitions in the stamp editor integration tests by @timvandermeij in #19350
- Centralize the editor selector definitions in the ink editor integration tests by @timvandermeij in #19351
- Replace the EXIF-block with dummy data to prevent JPEG images being rotated (bug 1942064) by @Snuffleupagus in #19356
- Enable the
import/no-restricted-paths
ESLint plugin rule for the viewer by @Snuffleupagus in #19353 - Support multiple wasm-files in the development viewer by @Snuffleupagus in #19337
- Correctly render the glyph outline when it has a stroke pattern by @calixteman in #19361
- [Editor] Ensure that
highlightSelection
waits until we've fully updated the editing-mode (issue 19369) by @Snuffleupagus in #19371 - [GENERIC viewer] Re-initialize the viewer-toolbar
ColorPicker
for each PDF document by @Snuffleupagus in #19372 - [Editor] Don't scroll when drawing (issue 17327) by @avdoseferovic in #19338
- [api-major] Change viewer component
render
-methods to take parameter objects by @Snuffleupagus in #19365 - [Editor] Add validation for the target element of curve endpoints by @Hydraulicus in #19373
- Bump undici from 6.19.8 to 6.21.1 by @dependabot in #19382
- Remove unused
isInEditingMode
method (PR 19311 follow-up) by @Snuffleupagus in #19381 - Enable the "checks that the viewer re-exports the expected API functionality" unit-test in Node.js by @Snuffleupagus in #19358
- [api-minor] Simplify clean-up of page resources after rendering by @Snuffleupagus in #19368
- Handle empty BigInt64Array/BigUint64Array in the
isNumberArray
helper by @Snuffleupagus in #19384 - Introduce a
readInt16
helper function in thesrc/core/core_utils.js
file by @Snuffleupagus in #19388 - Support the password field-flag in TextWidgetAnnotation (issue 19389) by @Snuffleupagus in #19390
- [Editor] (WIP) Add a new tool in order to add an handwritten signature to a pdf (bug 1942343) by @calixteman in #19339
- Initialize the image-options, on the worker-thread, once per document by @Snuffleupagus in #19392
- Use fewer
hasFieldFlag
calls in thesrc/core/annotation.js
file by @Snuffleupagus in #19393 - Move the array containing the supported image mime types in display_utils by @calixteman in #19394
- Avoid to remove the active overlay when a cancelled dialog (like the file picker) was called from a dialog by @calixteman in #19395
- [Editor] Add some functions in order to extract contours from text and to generate a drawing from a drawn signature by @calixteman in #19396
- Add width/height getters in the
Annotation
class by @Snuffleupagus in #19397 - Add width/height getters...
v4.10.38
This release contains improvements for accessibility, the annotation editor, font conversion, performance, SMasks and the viewer.
Changes since v4.9.155
- Bump the stable version in
pdfjs.config
by @timvandermeij in #19178 - When zooming replace the css-zoomed canvas by the new one only when rendering is finished by @calixteman in #19164
- Ensure that a missing/invalid "Content-Range" header is handled in
PDFNetworkStream
(issue 19075) by @Snuffleupagus in #19114 - Do not stringify errors when logging them by @nicolo-ribaudo in #19148
- Get the first codepoint instead of the first char when using the toUnicode map by @calixteman in #19184
- Support toggling the
PDFFindBar
options with theEnter
key (issue 19175) by @Snuffleupagus in #19185 - Update dependencies and translations to the most recent versions by @timvandermeij in #19190
- Print more warnings about potential problems in Node.js environments by @Snuffleupagus in #19191
- Fix intermittent issues in the
issue14307.pdf
integration tests by @timvandermeij in #19192 - Add a ref test for setting disableFontFace to true by @calixteman in #19197
- Take the
userUnit
into account in thePageViewport
class (issue 19176) by @Snuffleupagus in #19196 - Improve perfs of the font renderer by @calixteman in #19189
- Remove the raw path-strings after creating the actual
Path2D
glyph-objects by @Snuffleupagus in #19200 - Update OpenJPEG to 2.5.3 by @calixteman in #19203
- [Editor] Don't commit the current drawing while zooming by @calixteman in #19202
- Make sure the canvas is always the first child of its wrapper by @calixteman in #19204
- [Editor] When resizing a stamp annotation, the opposite corner must stay fixed by @calixteman in #19201
- Simplify logic to insert canvas as first element by @nicolo-ribaudo in #19206
- Fix intermittent failures when moving a freetext annotation in integration tests by @calixteman in #19198
- Update Puppeteer to version 23.10.2 by @calixteman in #19208
- Update Puppeteer to version 23.10.3 by @calixteman in #19210
- [Editor] Improve drawing on a touch screen. by @calixteman in #19209
- [Editor] Avoid to focus an existing editor when enabling the layer by @calixteman in #19215
- Move the pinch stuff in its own file in order to use for editors by @calixteman in #19216
- [Editor] Add the ability to resize an editor in using a pinch gesture by @calixteman in #19219
- Don't remove trailing regular spaces from the "raw" response headers (issue 19205) by @Snuffleupagus in #19214
- [api-minor] Remove deprecated
getDocument
options (PR 18776 follow-up) by @Snuffleupagus in #19224 - Bump library version to
4.10
by @Snuffleupagus in #19225 - Disable touch-zooming, in the viewer, if
AbortSignal.any
is unsupported (PR 19216 follow-up) by @Snuffleupagus in #19226 - Add basic support for non-embedded HelveticaLTStd-Bold fonts (issue 19234) by @Snuffleupagus in #19236
- Take the absolute value of the font size when the annotation contents is in xhtml (bug 1938087) by @calixteman in #19238
- Disable the
handle reading ranges with missing/invalid "Content-Range" header
unit-test in Google Chrome (PR 19114 follow-up) by @Snuffleupagus in #19237 - Fix left offset when scrolling to search result by @nicolo-ribaudo in #19232
- Update dependencies and translations to the most recent versions by @timvandermeij in #19243
- Add missing
startWorkerTask
calls in the "SaveDocument" handler by @Snuffleupagus in #19246 - Improve the test folder structure by @timvandermeij in #19254
- Remove mention of Bower from the README (PR 15390 follow-up) by @Snuffleupagus in #19258
- Shorten some
if
-statements in thesrc/core/
folder by @Snuffleupagus in #19260 - Remove the unused
glyphNameMap
parameter fromType2Compiled
by @Snuffleupagus in #19263 - Assert that the
fontMatrix
is always valid incompileGlyph
by @Snuffleupagus in #19262 - Reduce duplication when handling "DocException" and "PasswordRequest" messages by @Snuffleupagus in #19259
- For images that include SMask/Mask entries, ignore an SMask defined in the current graphics state (bug 986450) by @Snuffleupagus in #19269
- Update l10n files by @Snuffleupagus in #19271
- Remove the
requestRange
/requestFull
methods from theNetworkManager
class by @Snuffleupagus in #19273
v4.9.155
This release primarily contains a bugfix for a Node.js-specific regression in the previous release; see #19145 and #19149 for context. Moreover, improvements for the annotation editor are included.
Changes since v4.9.124
- Bump the stable version in
pdfjs.config
by @timvandermeij in #19139 - Fix the clickable area for rotated ink annotations by @calixteman in #19142
- [Editor] Don't focus a newly added drawing if it isn't visible on screen by @calixteman in #19144
- [Editor] Make ink annotation editable by @calixteman in #19151
- Add test cases for redirected responses by @Rob--W in #19074
- Annotation deletion popup (bug 1899731) by @ryzokuken in #18900
- [Editor] Corrrectly get the words from the alt-text when reporting the telemetry (bug 1929311) by @calixteman in #19155
- Fix unused css variables (follow-up of #18900) by @calixteman in #19160
- Introduce
Promise.try()
usage in the code-base by @Snuffleupagus in #19161 - Correctly wait for the editor mode when double clicking on an annotation in integration tests by @calixteman in #19163
- Ensure that the
.toggleButton
, as used in the findbar, always have visible hover/focus state (issue 19165) by @Snuffleupagus in #19172 - [Editor] Correctly update the current drawing when zooming by @calixteman in #19174
- Avoid to display an alert or a confirm dialog if the message is empty by @calixteman in #19177
- Prevent Webpack from resolving
import.meta.url
statements during building (issue 19145) by @Snuffleupagus in #19149
v4.9.124
This release contains improvements for the annotation editor, form rendering, image conversion, text selection and the viewer.
Changes since v4.8.69
- Bump the stable version in
pdfjs.config
by @timvandermeij in #18994 - Update dependencies and translations to the most recent versions by @timvandermeij in #18995
- Enable the "should have an alt attribute from toolTip" unit-test in Node.js by @Snuffleupagus in #18998
- Enable the 'gets PDF filename from query string appended to "blob:" URL' unit-test in Node.js by @Snuffleupagus in #18997
- Use the
toBase64Util
helper function in the unit-tests by @Snuffleupagus in #18999 - Install and use the most recent Node types for the types tests by @timvandermeij in #19000
- Fix the "must convert input to uppercase" scripting integration test by @timvandermeij in #19001
- [api-minor] Update the minimum supported Node.js version to 20, and only support the Fetch API for "remote" PDF documents in Node.js by @Snuffleupagus in #18959
- Fix error on empty response headers by @CyberAndrii in #19010
- Try to improve handling of missing trailer dictionaries in
XRef.indexObjects
(issue 18986) by @Snuffleupagus in #19007 - Shorten a few helper functions in
src/core/core_utils.js
by @Snuffleupagus in #19005 - Add helper functions to load image blob/bitmap data in
test/unit/api_spec.js
by @Snuffleupagus in #19003 - Bump library version to
4.9
by @Snuffleupagus in #19002 - Simplify toRomanNumerals function by @calixteman in #19011
- Fix Typo:XFATemplate class Para Styling paddingight => paddingRight by @Snuffleupagus in #19012
- Set the padding of the buttons in the toolbars to zero by @calixteman in #19018
- Shorten the
Page.prototype.userUnit
getter slightly by @Snuffleupagus in #19019 - [api-minor] Replace the
canvas
package with@napi-rs/canvas
by @Snuffleupagus in #19015 - Apply gradient when stroking text by @calixteman in #19023
- Disable ref test 'issue18896' for Chrome because it takes too much time by @calixteman in #19024
- Simplify saving added/modified annotations. by @calixteman in #19026
- Migrate to ESLint flat config by @nicolo-ribaudo in #19029
- Add a
PartialEvaluator
helper for fetching CMap and Standard Font data by @Snuffleupagus in #19021 - Use Python 3.13 in the GitHub workflows by @timvandermeij in #19035
- Update dependencies and translations to the most recent versions by @timvandermeij in #19033
- [api-minor] Add a
getDocument
option to disableImageDecoder
usage by @Snuffleupagus in #19031 - Remove the
extensions/chromium/.eslintrc
file (PR 19029 follow-up) by @Snuffleupagus in #19052 - Enable the ESLint
no-var
rule in thesrc/core/evaluator.js
file by @Snuffleupagus in #19050 - Enable the ESLint
no-console
rule in parts of the code-base by @Snuffleupagus in #19042 - Avoid redundant CMap-value lookup in
extendCMap
(PR 5101 follow-up) by @Snuffleupagus in #19057 - Convert the
Dict
-implementation to use aMap
internally by @Snuffleupagus in #19051 - Improve clean-up of
#_hcmCache
-data inDOMFilterFactory.prototype.destroy
by @Snuffleupagus in #19059 - [api-minor] Disable
ImageDecoder
usage by default in Chromium browsers by @Snuffleupagus in #19045 - When saving some annotations with the same name, set the value in the parent by @calixteman in #19054
- Remove obsolete Gitpod files by @timvandermeij in #19062
- Update dependencies and translations to the most recent versions by @timvandermeij in #19061
- Update svglint to 3.1.0 by @calixteman in #18669
- Use JSON imports instead of PDFJSDev.json by @nicolo-ribaudo in #19068
- Fix the "must check that an infinite loop is not triggered" integration test by @timvandermeij in #19064
- Enable the
unicorn/no-single-promise-in-promise-methods
ESLint plugin rule by @Snuffleupagus in #19071 - Fix 'must load a SVG, delete it and undo' integration test by @calixteman in #19069
- Simplify the
getUuid
helper function by @Snuffleupagus in #19084 - Use the V entry as an option when no options in a choice widget by @calixteman in #19086
- [Editor] Simplify the draw layer code by @calixteman in #19085
- [Editor] Avoid to scroll when dragging an editor on a touch screen by @calixteman in #19087
- [Editor] Avoid to use event.movementX/Y when resizing an editor by @calixteman in #19088
- Ensure that the response-origin of range requests match the full request (issue 12744) by @Snuffleupagus in #19028
- Rescale the image data when they're really too large by @calixteman in #19095
- Fix path traversal issue in createTemporaryNodeServer by @Rob--W in #19096
- Convert the
getPdfManager
function to be asynchronous by @Snuffleupagus in #19091 - Drop trailing whitespace from test/unit/api_spec.js by @Rob--W in #19100
- Fix the highlight integration test when highlighting with the keyboard by @calixteman in #19111
- [Editor] Disallow to have multiple pointers while dragging an editor by @calixteman in #19109
- [Editor] Add a new base class to allow to add a drawing in the SVG layer. by @calixteman in #19093
- Correctly compute the mapping between text and normalized text when it contains a compound word on two lines by @calixteman in #19122
- Use the
stopEvent
helper function everywhere possible by @Snuffleupagus in #19121 - Very slightly improve the performance when searching in a pdf by @calixteman in #19123
- [Editor] Allow to abort the current drawing by @calixteman in #19129
- Fix #serializeBoxes function not output correct quadPoints values for deserialize (issue19056) by @jarklee in #19066
- Simplify the code to zoom in using a pinch gesture by @calixteman in #19124
- Build date consistently (in term of tz) when executing some embedded JS (bug 1934157) by @calixteman in #19131
- Use even more optional chaining in the
src/display/api.js
file by @Snuffleupagus in #19135 - Shorten the
WorkerMessageHandler
class a little bit by @Snuffleupagus in #19136 - Move the
getPage
call inPDFDocumentProperties
class by @Snuffleupagus in #19137 - Update dependencies and translations to the most recent versions by @timvandermeij in #19099
- Disable the browser-tests in Google Chrome on the bots by @Snuffleupagus in #19117
v4.8.69
This release contains improvements for the annotation editor, font conversion, form rendering, image conversion and the viewer.
Changes since v4.7.76
- Bump the stable version in
pdfjs.config
by @timvandermeij in #18858 - Fix typing logic in the scripting integration tests by @timvandermeij in #18862
- Improve the promise-caching in the
PDFDocument.fieldObjects
getter by @Snuffleupagus in #18871 - Remove the temporary "visibilitychange" listener, in
PDFViewer
, withAbortSignal.any()
by @Snuffleupagus in #18873 - Avoid exceptions in the console with ill-formed flate streams by @calixteman in #18878
- Don't add the grey outline when hovering a selected highlight by @calixteman in #18879
- [Editor] Remove
ColorPicker
event listeners withAbortSignal.any()
(PR 18586 follow-up) by @Snuffleupagus in #18874 - Fix failing integration test on Windows with Chrome by @calixteman in #18860
- Add an option to gulp makeref/browsertest to only run tests with specific ids by @calixteman in #18833
- Move the regular expression caching into the
PDFDateString
class by @Snuffleupagus in #18885 - Remove event listeners with
AbortSignal
in theAltTextManager
class by @Snuffleupagus in #18881 - Don't add attribute 'aria-haspopup' when no popup is rendered for an annotation by @calixteman in #18889
- Clamp the hival parameter of Indexed color space to the range [0; 255] by @calixteman in #18890
- Fallback on gray colorspace when there are no colorspace and no name in the scn/SCN arguments by @calixteman in #18895
- Some jpx images can have a mask by @calixteman in #18899
- implementing optional content radiobutton groups by @agrahn in #18825
- Remove unnecessary options from
removeEventListener
in theweb/app.js
file by @Snuffleupagus in #18893 - Create fewer Objects in
PDFViewerApplication.bindEvents
by @Snuffleupagus in #18898 - Reduce duplication when collecting optional content groups by @Snuffleupagus in #18905
- Handle null parentElement for selection anchor by @hubgit in #18884
- Add the
pdkids
PDF document to the repository by @Snuffleupagus in #18902 - When changing a property on a radio button then change it for the siblings (bug 1922766) by @calixteman in #18916
- Re-factor the
MessageHandler
-class event handler function by @Snuffleupagus in #18888 - Remove event listeners with
AbortSignal
in theGrabToPan
class by @Snuffleupagus in #18919 - [api-minor] Update the
canvas
package to version 3 by @Snuffleupagus in #18922 - Bump library version to
4.8
by @Snuffleupagus in #18924 - Run CI tests in Node.js version 23 by @Snuffleupagus in #18925
- Remove the
eslint-plugin-{fetch-options,html}
andeslint-config-prettier
dependencies by @timvandermeij in #18927 - Update dependencies and translations to the most recent versions by @timvandermeij in #18921
- Simplify localization of the "default-content" in FreeText editors by @Snuffleupagus in #18920
- Replace
eslint-plugin-sort-exports
byeslint-plugin-perfectionist
by @timvandermeij in #18929 - Fix the "Text selection using mouse doesn't jump when hovering on an empty area in a single page" integration test by @timvandermeij in #18923
- Remove
mask-image
duplication for the print/download buttons by @Snuffleupagus in #18930 - Fallback to a standard font if a font-file entry doesn't contain a Stream (issue 18941) by @Snuffleupagus in #18942
- Try to discourage "unrelated" information under
Attach (recommended) or Link to PDF file
in the bug report template (PR 18535 follow-up) by @Snuffleupagus in #18940 - Change the
BaseCMapReaderFactory
fetch-helper to return aUint8Array
by @Snuffleupagus in #18933 - Use ImageDecoder in order to decode jpeg images (bug 1901223) by @calixteman in #18910
- Add a comment in l10n file for the non-standard attribute default-content by @calixteman in #18947
- Always fill the mask with the backdrop color by @calixteman in #18960
- Re-factor the
ImageResizer._goodSquareLength
definition by @Snuffleupagus in #18965 - [api-minor] Remove the
CMapCompressionType
enumeration by @Snuffleupagus in #18951 - Make util.scand a bit more flexible with dates which don't match the given format (bug 1910431) by @calixteman in #18967
- [Editor] Split the long words when showing the alt-text tooltip (bug 1903588) by @calixteman in #18968
- Use a BMP decoder when resizing an image by @calixteman in #18918
- [Editor] Utilize Fluent "better" when localizing the AltText by @Snuffleupagus in #18971
- Allow
StreamsSequenceStream
to skip sub-streams that are not actual Streams (issue 18973) by @Snuffleupagus in #18974 - Improve the implementation of the
PDFDocument.fingerprints
-getter by @Snuffleupagus in #17862 - Simplify the "ReaderHeadersReady" message-handler in the API by @Snuffleupagus in #18977
- [Editor] Refactor the free highlight stuff in order to be able to use the code for more general drawing by @calixteman in #18972
- Re-factor the
toHexUtil
helper (PR 17862 follow-up) by @Snuffleupagus in #18978 - Don't initialize
L10n.#elements
eagerly since it's unused in MOZCENTRAL builds by @Snuffleupagus in #18979 - Change the "FetchBuiltInCMap"/"FetchStandardFontData" message-handlers to be asynchronous by @Snuffleupagus in #18983
- Use the
hexNumbers
structure in thestringToUTF16HexString
helper by @Snuffleupagus in #18993 - Ensure that serializing of StructTree-data cannot fail during loading by @Snuffleupagus in #18990
- Inline the
flushChunks
helper function, used ingetPdfManager
on the worker-thread by @Snuffleupagus in #18992 - Move the various DOM-factories into their own files by @Snuffleupagus in #18988
v4.7.76
This release contains improvements for accessibility, the annotation editor, annotation rendering, font conversion, form rendering, text selection, tiling pattern rendering and the viewer.
Changes since v4.6.82
- Bump the stable version in
pdfjs.config
by @timvandermeij in #18678 - [Editor] Make the focused stamp annotation more clear from a screen reader point of view (bug 1911994) by @calixteman in #18664
- [Editor] Make highlight annotations editable (bug 1883884) by @calixteman in #18427
- Update dependencies and translations to the most recent versions by @timvandermeij in #18679
- Use
Headers
consistently in the differentIPDFStream
implementations by @Snuffleupagus in #18673 - [Editor] Make the stamp annotations alt text readable by either VO or NVDA (bug 1912001) by @calixteman in #18658
- [Editor] Remove the disclaimer when the user is editing the alt-text in the new alt-text modal (bug 1911764) by @calixteman in #18670
- Improve the
StructTreeLayerBuilder.render
method by @Snuffleupagus in #18689 - In the autoprint integration test, resolve the promise on 'afterprint' event by @calixteman in #18690
- [Editor] Avoid to throw when an highlight annotation is resetted by @calixteman in #18697
- Make tagged images visible for screen readers (bug 1708040) by @calixteman in #18692
- Avoid to have a white line around the canvas by @calixteman in #18698
- Use "full" localization ids in the
ColorPicker
class (PR 18674 follow-up) by @Snuffleupagus in #18705 - Use "full" localization ids in the
AltText
class (PR 18674 follow-up) by @Snuffleupagus in #18706 - Use response-
Headers
in the differentIPDFStream
implementations by @Snuffleupagus in #18682 - Prevent
.visibleMediumView
from overriding already hidden elements (issue 18704, PR 18596 follow-up) by @Snuffleupagus in #18707 - [CRX] Migrate Chrome extension to Manifest Version 3 by @Rob--W in #18681
- [CRX] Detect availability of DNR responseHeaders before use by @Rob--W in #18711
- Update dependencies and translations to the most recent versions by @timvandermeij in #18708
- [JS] Let AFSpecial_KeystrokeEx match a format without 'decoration' (bug 1916714) by @calixteman in #18718
- [Editor] Avoid to have the ML disclaimer when the ML engine isn't ready (bug 1917543) by @calixteman in #18719
- [Editor] Avoid to have a stamp editor resizing itself by @calixteman in #18716
- Remove ununsed static
HighlightEditor._l10nPromise
field by @Snuffleupagus in #18724 - Consume any pending path before drawing an annotation by @calixteman in #18726
- Consider foo-\nBar as a compound word by @calixteman in #18730
- Ensure that textLayers can be rendered in parallel, without interfering with each other by @Snuffleupagus in #18731
- [JS] Correctly format floating numbers when they're close to an integer (bug 1918115) by @calixteman in #18737
- Bump dset from 3.1.3 to 3.1.4 by @dependabot in #18738
- [Editor] Avoid an extra new line when serializing a FreeText annotation (bug 1897909) by @calixteman in #18740
- Fluent: use explicit NUMBER() in plural variants by @flodolo in #18741
- Use the "pageColorsBackground" option as background-color for non-loaded pages (issue 18680) by @Snuffleupagus in #18742
- [CRX] Enable WebAssembly in Chrome extension by @Rob--W in #18748
- [CRX] Fix feature detect of DNR responseHeaders option by @Rob--W in #18728
- [Editor] Take into account the device pixel ratio when drawing an added image by @calixteman in #18749
- Simplify the code that picks the appropriate NetworkStream-implementation by @Snuffleupagus in #18756
- Rename the toolbar buttons in order to free their current names by @calixteman in #18757
- Read a signed integer when using PUSHW in sanitizing a font (bug 1919513) by @calixteman in #18760
- Fix the rendering of the different separators we've in the UI by @calixteman in #18761
- Link to the new issue templates from the README (PR 18308 follow-up) by @Snuffleupagus in #18763
- Ignore non-existing /Shading resources during parsing (issue 18765) by @Snuffleupagus in #18766
- Use
fs/promises
in the Node.js unit-tests (PR 17714 follow-up) by @Snuffleupagus in #18772 - Update dependencies and translations to the most recent versions by @timvandermeij in #18771
- [api-minor] Pass
CanvasFactory
/FilterFactory
, rather than instances, togetDocument
by @Snuffleupagus in #18776 - Bump library version to
4.7
by @Snuffleupagus in #18777 - [Editor] Don't show the ml toggle button when the ml is disabled (bug 1920515) by @calixteman in #18779
- Refactor the toolbar html & css to improve its overall accessibility (bug 1171799, bug 1855695) by @calixteman in #18385
- Update
typescript
to version 5.6.2 by @timvandermeij in #18781 - Remove useless css variable --editor-toolbar-base-offset by @calixteman in #18783
- Remove duplicated --toolbar-height definition in the css by @calixteman in #18784
- Correctly compute the font size when printing a text field with an auto font size (bug 1917734) by @calixteman in #18790
- Increase the size of the toolbar depending on the uidensity (bug 1171799) by @calixteman in #18786
- Add Calixte to the list of authors by @sylvestre in #18791
- Remove the unused
splitToolbarButton
CSS class (PR 18385 follow-up) by @Snuffleupagus in #18795 - Unify separate
#toolbarContainer
-blocks in the CSS (PR 18385 follow-up) by @Snuffleupagus in #18796 - Fix the rendering of tiling pattern when the steps are lower than the tile dimensions (bug 1837738) by @calixteman in #18798
- Slightly re-factor the
transportFactory
initialization ingetDocument
by @Snuffleupagus in #18785 - Remove
trackTransform
arguments fromCachedCanvases.getCanvas
-calls (PR 15281 follow-up) by @Snuffleupagus in #18799 - Add basic support for non-embedded GillSansMT fonts (issue 18801) by @Snuffleupagus in #18802
- [Editor] When deleting an annotation with popup, then delete the popup too by @calixteman in #18800
- [Editor] Avoid to have a selected stamp annotation on top of the secondary toolbar (bug 1911980) by @calixteman in #18793
- Ensure that the CursorTools-buttons are disabled e.g. during editing (PR 15522 follow-up) by @Snuffleupagus in #18812
- [api-minor] Update the minimum supported Google Chrome version to 103 by @Snuffleupagus in #18822
- Re-factor how
PDFLayerViewer
decides if the UI needs to updated on "optionalcontentconfigchanged" events by @Snuffleupagus in #18829 - Make the secondary menu button usable with the keyboard when NVDA is enabled by @calixteman in #18830
- Write the display flags in F entry when saving an annotation (issue 18072) by @calixteman in #18824
- Fix
toolbarViewer
/toolbarContainer
regressions (PR 18385, 18786 follow-up) by @Snuffleupagus in #18831 - [Editor] Add the possibility to save an updated stamp annotation (bug 1921291) by @calixteman in #18805
- [GV] Increase the height (48px) of the toolbar in order to fit the a11y recommendations (bug 1838602) by @calixteman in #18837
- [Editor] Make the editor deserialization async by @calixteman in #18843
- Remove the
PDFViewer.annotationEditorMode
setter event listeners withAbortSignal.any()
by @Snuffleupagus in #18842 - [Editor] Make stamp annotations editable (bug 1921291) by @calixteman in https://github.com/mozilla/pdf.js/pul...
v4.6.82
This release contains improvements for the annotation editor, font rendering, form rendering, performance, text selection and the viewer.
Changes since v4.5.136
- Bump the stable version in
pdfjs.config
by @timvandermeij in #18500 - Shorten the errors mentioning API parameters in
BaseCMapReaderFactory
andBaseStandardFontDataFactory
by @Snuffleupagus in #18502 - Initialize all user-options upfront in AppOptions by @Snuffleupagus in #18501
- Disable link annotations during text selection by @nicolo-ribaudo in #18481
- Ignore non-dictionary nodes when parsing StructTree data (issue 18503) by @Snuffleupagus in #18504
- Stop testing in Node.js 21 since it's reached end-of-life by @Snuffleupagus in #18505
- Update dependencies to the most recent versions by @timvandermeij in #18506
- Remove
PDFWorkerUtil
and move its contents intoPDFWorker
instead by @Snuffleupagus in #18507 - Remove the
globals
dependency by @timvandermeij in #18509 - Improve how the findbar's toggle button is referenced in the viewer code by @timvandermeij in #18510
- [Editor] Implement the new alt text flow (bug 1909604) by @calixteman in #18492
- [Editor] Add a checkerboard behind the image preview in the new alt-text dialog in order to see its potential transparency by @calixteman in #18516
- [Editor] Allow Float32Array for quadpoints in annotations (bug 1907958) by @calixteman in #18526
- Give all HTML button elements a type by @timvandermeij in #18517
- Introduce a CSS variable for the toolbar height (bug 1171799) by @timvandermeij in #18518
- Further emphasize the importance of
Attach (recommended) or Link to PDF file
in the bug report template by @Snuffleupagus in #18535 - Move all event listeners into
Toolbar.prototype.#bindListeners
by @Snuffleupagus in #18523 - [Editor] Add a new dialog for alt-text settings (bug 1909604) by @calixteman in #18537
- [Editor] Use the color defined for the message bar foreground by @calixteman in #18539
- [Editor] Fix l10n issues by @calixteman in #18538
- [Editor] Don't create the image settings dialog if new alt-text is disabled by @calixteman in #18540
- [Editor] Avoid to have the create alt-text button without a click listener by @calixteman in #18543
- Fix the color of the buttons in a dialog in HCM by @calixteman in #18547
- Link to the list of supported browsers in the bug report template by @Snuffleupagus in #18542
- Inline single-line event handlers in the
web/app.js
file by @Snuffleupagus in #18527 - [Editor] Load the model when the user switch to the stamp editing mode by @calixteman in #18546
- Improve the larger event listeners in the
web/app.js
file by @Snuffleupagus in #18544 - [Editor] Guess alt text even when showing the dialog is disabled by @calixteman in #18541
- Stop sending the unused
options
parameter to various download-methods in the viewer by @Snuffleupagus in #18551 - Empty fields are 0 when using AFSimple_Calculate by @calixteman in #18552
- Update the Babel plugin to remove empty static blocks by @nicolo-ribaudo in #18562
- Update dependencies to the most recent versions by @timvandermeij in #18554
- Use the
waitForEvent
helper function in the text layer integration tests by @timvandermeij in #18555 - Define a few editor event handler functions inline by @Snuffleupagus in #18560
- [Editor] Update the disclaimer string in the new alt-text dialog (bug 1911738) by @calixteman in #18570
- Remove obsolete
otherPages
variable from the scripting integration tests by @timvandermeij in #18567 - Don't stop calculating field values when a Calculate callback throws by @calixteman in #18566
- [Editor] Add the uiManager to the window object when testing by @calixteman in #18574
- [Editor] Move the AI icon on the top of its parent div by @calixteman in #18575
- [Editor] Dispatch changes in prefs enableAltTextModelDownload and enableGuessAltText to the viewer (bug 1912024) by @calixteman in #18573
- Revert "[Editor] Dispatch changes in prefs enableAltTextModelDownload and enableGuessAltText to the viewer (bug 1912024)" by @calixteman in #18578
- Dispatch changes in prefs enableAltTextModelDownload and enableGuessAltText to the viewer (bug 1912024) by @calixteman in #18579
- [Editor] Pass a buffer instead of a typed array when passing image data to the model by @calixteman in #18580
- Enable the
unicorn/{prefer-includes,throw-new-error}
linting rules by @timvandermeij in #18571 - Remove the
eslint-plugin-mozilla
dependency by @timvandermeij in #18583 - Group and scope the findbar rules using CSS nesting by @timvandermeij in #18568
- [Editor] Change the background color of the image preview in the new alt text dialog by @calixteman in #18584
- [Editor] Remove event listeners with
AbortSignal.any()
by @Snuffleupagus in #18586 - Check that
AbortSignal.any()
is supported inPDFViewer
too (PR 18586 follow-up) by @Snuffleupagus in #18587 - Revert "[Editor] Pass a buffer instead of a typed array when passing image data to the model" by @calixteman in #18588
- [Editor] Add a first test to test the new alt text flow by @calixteman in #18581
- [Firefox] Remove the "loadaiengineprogress" listener with
AbortSignal.any()
by @Snuffleupagus in #18592 - Remove the sidebar resizing event listeners with an
AbortController
by @Snuffleupagus in #18593 - [Editor] Add the telemetry for the new alt text (bug 1912500) by @calixteman in #18589
- Group and scope the secondary toolbar button container/icon rules using CSS nesting by @timvandermeij in #18595
- Remove the
secondaryToolbarButton
CSS class by @timvandermeij in #18596 - Group and scope the secondary toolbar rules using CSS nesting by @timvandermeij in #18597
- Limit base-class initialization checks to development and TESTING modes by @Snuffleupagus in #18598
- Remove the
enableHighlightEditor
preference by @Snuffleupagus in #18594 - [api-minor] Allow specifying custom match logic in PDFFindController by @nicolo-ribaudo in #18549
- Bump library version to
4.6
by @Snuffleupagus in #18604 - Improve the viewer CSS after nesting the findbar and secondary toolbar rules by @timvandermeij in #18601
- Handle the "switchannotationeditorparams" event in the editor-code (issue 18196) by @Snuffleupagus in #18605
- Link to official releases and the demo viewer in the bug report template by @Snuffleupagus in #18610
- Fix the telemetry for the new alt-text flow by @calixteman in #18611
- Enable disabled integration tests for Firefox by @calixteman in #18613
- Shorten the
PDFViewerApplication._parseHashParams
method by @Snuffleupagus in #18612 - Update dependencies and translations to the most recent versions by @timvandermeij in #18615
- Set the event handlers in the integration tests before any event is triggered by @calixteman in #18617
- [Editor] Move setting
window.uiManager
back to the test code by @timvandermeij in #18623 - Fix the "must check that a value is correctly updated on a field and its siblings" scripting integration test by @timvandermeij in #18624
- Use standard glyph mapping for non-embedded and non-composite Calibri fonts (issue 18208) by @Snuffleupagus in #18628
- Send fetch requests for all page dict lookups in parallel by @richard-smith-p...
v4.5.136
This release contains improvements for the annotation editor, font rendering, image rendering and the viewer.
Changes since v4.4.168
- Bump the stable version in
pdfjs.config
by @timvandermeij in #18359 - [Editor] Take into account the page translation when computing the quadpoints when saving an highlight by @calixteman in #18361
- [api-minor][Editor] When switching to editing mode, redraw pages containing editable annotations (bug 1883884) by @calixteman in #18134
- Bump library version to 4.5 by @calixteman in #18365
- [Editor] Make sure everything is cleaned up when we switch to annotation editor mode by @calixteman in #18366
- [api-minor] Remove the deprecated
renderTextLayer
andupdateTextLayer
functions (PR 18104 follow-up) by @Snuffleupagus in #18349 - Use vertical variant of a char when it's in a missing vertical font (bug 1905623) by @calixteman in #18369
- [Firefox] Generate a PDF.js default-prefs file that can be used directly in mozilla-central (bug 1905864) by @Snuffleupagus in #15209
- Update dependencies and translations to the most recent versions by @timvandermeij in #18367
- Make sure the editor is visible before getting its rect by @calixteman in #18374
- Fix the integration tests related to printing by @calixteman in #18383
- [Editor] Remove the option enableStamp by @calixteman in #18389
- Move the internal API/Worker
isEditing
-state intoRenderingIntentFlag
by @Snuffleupagus in #18387 - Remove the
renderForms
parameter from the AnnotationgetOperatorList
methods by @Snuffleupagus in #18394 - Check the relevant parameters inside of the
mustBeViewedWhenEditing
method by @Snuffleupagus in #18393 - [Editor] Avoid to query ML engine several times for the same image by @calixteman in #18380
- Allow to change the toolbar height when changing the pref toolbar.density in Firefox (bug 1171799) by @calixteman in #18397
- Fix the "must check that charLimit is correctly set" scripting integration test by @timvandermeij in #18399
- [Editor] Change the enableML pref for enableAltText (bug 1905923) by @calixteman in #18398
- Fix orphaned browser processes due to uncaught exceptions in the tests by @timvandermeij in #18401
- Move the "updatedPreference" event listener registration by @Snuffleupagus in #18402
- Fix the "caches image resources at the document/page level as expected (issue 11878)" unit test by @timvandermeij in #18404
- Handle toUnicode cMaps that omit leading zeros in hex encoded UTF-16 (issue 18099) by @alexcat3 in #18390
- Introduce a
waitForScripting
helper function and use it in all scripting integration tests by @timvandermeij in #18405 - Use BiDi protocol for Chrome tests by @calixteman in #17962
- Re-factor
BasePreferences
to essentially be a wrapper aroundAppOptions
by @Snuffleupagus in #18413 - [Editor] Wait for 'pagerendered' to switch to editing mode by @calixteman in #18418
- Fix
ensureMinFontSizeComputed
calculation if<body>
is a flex container by @razh in #18416 - Allow e.g. /FitH destinations without additional parameter (bug 1907000) by @Snuffleupagus in #18421
- Also update the width/unicode data when replacing missing glyphs in non-embedded Type1 fonts (issue 18059) by @Snuffleupagus in #18412
- [Editor] Update the freetext annotation dictionary instead of creating a new one when updating an existing freetext by @calixteman in #18419
- Create absolute filter-URLs when needed in
DOMFilterFactory
(issue 18406) by @Snuffleupagus in #18417 - Remove the remaining
zoomDisabledTimeout
usage (issue 17727) by @Snuffleupagus in #18423 - [Editor] Make editor toolbars usable whatever their z-index (bug 1879104) by @calixteman in #18425
- [Editor] Disable existing highlights when drawing a new one (bug 1879035) by @calixteman in #18424
- Update dependencies to the most recent versions and update the JS/CSS files for the new Prettier/Stylelint versions by @timvandermeij in #18432
- Disable network connections to Contile for the tests by @timvandermeij in #18433
- Remove obsolete
pdfjs-dist
code from the Gulpfile by @timvandermeij in #18434 - [Editor] Add an option to use the new 'add an image' flow (bug 1907207) by @calixteman in #18429
- Fix
DOMFilterFactory.#createUrl
in MOZCENTRAL builds (18417 PR follow-up) by @Snuffleupagus in #18430 - [Editor] When in non-editing mode, add a new editor only once the editing mode has switched by @calixteman in #18440
- [api-minor] Remove
Outliner
from the official API by @Snuffleupagus in #18441 - Remove active smask when restoring the initial canvas state by @calixteman in #18445
- Add the possibility to change some pdfjs preferences from the viewer (bug 1908483) by @calixteman in #18449
- Allow /XYZ destinations without zoom parameter (issue 18408) by @Snuffleupagus in #18453
- Include additional data when fetching browser preferences in the PDF Viewer (bug 1908401) by @Snuffleupagus in #18448
- [Editor] Allow to change a preference from the editor UI manager by @calixteman in #18454
- Load the image-to-text model when opening the pdf viewer in Firefox (bug 1908938) by @calixteman in #18461
- Reduce a tiny bit of duplication in
PDFViewerApplication.setTitleUsingUrl
by @Snuffleupagus in #18464 - Re-factor the code to remove all uses of
PDFViewerApplication.downloadComplete
by @Snuffleupagus in #18463 - Add more validation when setting
AppOptions
(PR 18413 follow-up) by @Snuffleupagus in #18450 - Move the
Preferences
initialization as early as possible by @Snuffleupagus in #18470 - Introduce some
Map
-usage in the AppOptions by @Snuffleupagus in #18469 - Add a pref containing the url for the sumo page about alt text (bug 1909097) by @calixteman in #18471
- Disable system fonts on Android (issue 18210) by @Snuffleupagus in #18465
- Add the possibility to delete a model (bug 1908939) by @calixteman in #18472
- Fallback on DeviceGray when a colorspace cannot be parsed by @calixteman in #18468
- Remove the unused
AppOptions.remove
method by @Snuffleupagus in #18475 - Use a transparent color when setting fill/stroke colors in a pattern context but with no colorspace by @calixteman in #18467
- Re-factor how the "docBaseUrl" API-option is set in the viewer by @Snuffleupagus in #18476
- Add better support for AppOptions with multiple types (PR 18465 follow-up) by @Snuffleupagus in #18480
- Add a pref to know if the alt-text must be automatically generated (bug 1909310) by @calixteman in #18484
- Remove the
streamqueue
dependency by @timvandermeij in #18483 - Replace the GENERIC-only "locale" with "localeProperties" in AppOptions by @Snuffleupagus in #18486
- [Editor] Correctly save a non-ascii alt text by @calixteman in #18493
- Consistently dispatch events, if needed, when setting AppOptions by @Snuffleupagus in #18495