Releases: mozilla/pdf.js
v6.1.200
This release contains improvements for annotation rendering, annotation editing, font conversion, image conversion, merging files, SMask rendering and the viewer.
Changes since v6.0.227
- Bump the stable version in
pdfjs.configby @timvandermeij in #21360 - Disable WebGPU for Firefox tests by @timvandermeij in #21364
- Skip the format 4 cmap sub-table when it doesn't fit its 16-bits fields by @calixteman in #21365
- Use the
MathClamphelper function in thesrc/display/canvas.jsfile by @Snuffleupagus in #21367 - Update the
StringStreamconstructor to accept an optional dictionary argument by @Snuffleupagus in #21366 - Mark a couple of viewer, and editor, EventBus listeners as "internal" by @Snuffleupagus in #21368
- Improve the
BaseStream.prototype.cloneimplementations by @Snuffleupagus in #21371 - Add an integration-test for clicking on internal links in presentation mode by @Snuffleupagus in #21373
- Fix intermittent failure in the "must check that a freetext is still here after having updated it and scroll the doc" freetext editor integration test by @timvandermeij in #21361
- Restore editor layer state for unchanged pages after page mutations by @calixteman in #21347
- Render gray transparency groups in grayscale by @calixteman in #21372
- Fix broken
enableSelectionRendering: falseby @wooorm in #21378 - Implement proper serialization of
OptionalContentConfigby @Snuffleupagus in #21349 - [api-minor] Add support for
/AuthEvent, on-demand decryption by @wooorm in #21351 - Run browser tests to collect code coverage data by @Snuffleupagus in #21359
- Bump github/codeql-action from 4.35.5 to 4.36.0 by @dependabot[bot] in #21382
- Remove the
#externalHidefield from theAnnotationLayerBuilderclass by @Snuffleupagus in #21380 - Extend the
AppOptionsunit-tests to also cover theEVENT_DISPATCHoption-kind by @Snuffleupagus in #21385 - Shorten the
getBytesmethod in theStream/ChunkedStreamclasses by @Snuffleupagus in #21384 - Add knockout_inner_backdrop ref test by @calixteman in #21383
- Deduplicate shared font/image streams when merging PDFs by @calixteman in #21379
- Bug 2035251 - Use toolkit's pdf icon as favicon by @sfoster in #21358
- Match editor keyboard shortcuts by event.code as a fallback by @calixteman in #21350
- Update the README in order to add some info about code coverage by @calixteman in #21389
- fix typo in bit flag value for suppressCropClip by @KonstantinRight in #21386
- Reject the stream-capability when aborting the
ChunkedStreamManagerby @Snuffleupagus in #21387 - Strip the JBIG2 file header from JBIG2Decode streams by @calixteman in #21388
- Add one more unit-test case for invalid email domains in the
Autolinkerclass by @Snuffleupagus in #21392 - Add a unit-test for passing a filesystem URL-string (in Node.js) to
getDocumentby @Snuffleupagus in #21391 - Add a unit-test for passing a binary string to
getDocumentby @Snuffleupagus in #21390 - Add basic integration-tests for the
PDFCursorToolsfunctionality by @Snuffleupagus in #21393 - Shorten the
DrawLayerBuilder.prototype.cancelmethod a tiny bit by @Snuffleupagus in #21395 - Prevent intermittent issues when invoking the
PDFPageView.prototype.#injectLinkAnnotationsmethod by @Snuffleupagus in #21396 - Upgrade
codecov/codecov-actionto version 7.0.0 by @timvandermeij in #21398 - Run various test-suite when the
external/folder is modified by @Snuffleupagus in #21400 - Update dependencies to the most recent versions by @timvandermeij in #21402
- Update quickjs to rev 3d5e064e9dd67c70f7962836505a7fa067bf0a4e by @calixteman in #21399
- fixed typo in README.md by @matasaru in #21404
- Fix transparent color of
::selectionin Firefox by @wooorm in #21408 - Remove the
Map.prototype.getOrInsertComputedpolyfill from the scripting implementation (PR 21399 follow-up) by @Snuffleupagus in #21405 - Bump actions/checkout from 6.0.2 to 6.0.3 by @dependabot[bot] in #21420
- Bump github/codeql-action from 4.36.0 to 4.36.1 by @dependabot[bot] in #21421
- Handle TR2 with /Default entry by @calixteman in #21414
- [api-minor] Convert
getAttachmentsto return data in aMapby @Snuffleupagus in #21418 - Add a
PDFViewerhelper method for setting#printingAllowedand dispatching the event by @Snuffleupagus in #21409 - Fix form fields with their own canvas updated on non-rendered pages by @calixteman in #21407
- [CRX] List all viewer-accessible schemes in the connect-src CSP by @calixteman in #21419
- Improve rendering of comb text fields by @calixteman in #21413
- Drop 'unsafe-inline' from the CSP style-src directives by @calixteman in #21416
- Use the
convertBlackAndWhiteToRGBAhelper with grayscale images inputBinaryImageDataby @Snuffleupagus in #21427 - Fix the unit-tests for on-demand password handling of encrypted attachments (issue 21425) by @Snuffleupagus in #21429
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in #21433
- Handle corrupt PDFs that lack /Kids array and just inline the /Page dictionary (issue 21436) by @Snuffleupagus in #21437
- Use the checkboxes and radio button appearances as defined in the pdf to render them in the annotation layer (bug 1802506) by @calixteman in #18907
- [api-minor] Remove the unused
convertToViewportRectanglemethod in thePageViewportclass by @Snuffleupagus in #21426 - Use the
isDicthelper function in a few more places by @Snuffleupagus in #21431 - Use
Map.prototype.getOrInsertComputed()more in the code-base by @Snuffleupagus in #21439 - Re-factor the
isSourcePDFhandling in theJpegImageclass by @Snuffleupagus in #21441 - Reduce duplication when invoking
finishWorkerTaskby @Snuffleupagus in #21443 - Update dependencies to the most recent versions by @timvandermeij in #21446
- Add an integration-test for merging a corrupt PDF by @Snuffleupagus in #21452
- Add an integration-test for merging a password-protected PDF by @Snuffleupagus in #21444
- Use the
convertRGBToRGBAhelper with RGB images inputBinaryImageDataby @Snuffleupagus in #21440 - Fix intermittent failure in the
must check that the comment sidebar is resizablecomment integration test by @timvandermeij in #21448 - Don't download Puppeteer browsers on
npm installby @timvandermeij in #21453 - Upgrade
eslint-plugin-unicornto version 66.0.0 by @timvandermeij in #21454 - Resolve checkbox/radio export values from the 'Opt' entry by @calixteman in #21428
- Remove the unused
HighlightOutline.prototype.classNamesForOutlininggetter by @Snuffleupagus in #21456 - Remove unneeded check in the "GetAnnotationsByType" worker-thread handler by @Snuffleupagus in #21457
- Draw non-isolated blend-mode groups against their backdrop (bug 1873345) by @calixteman in #21455
- Bump github/codeql-action from 4.36.1 to 4.36.2 by @dependabot[bot] in #21461
- Use ternary expressions to shorten code in
src/core/editor/pdf_editor.jsby @Snuffleupagus in #21459 - Bump markdown-it from 14.1.1 to 14.2.0 by @dependabot[bot] in #21464
- Adjust the 'BaseException' unit-test for the 'Error.stack' changes in Firefox by @calixteman in #214...
v6.0.227
PDF.js 6.0 is a major release that contains a number of API changes, features and bugfixes.
The complete list of changes in this release is shown below. If you're upgrading to PDF.js 6.0 we recommend checking the changes prefixed with [api-minor] and [api-major] since those might require updates to your code.
Changes since v5.7.284
- Bump the stable version in
pdfjs.configby @timvandermeij in #21177 - Improve the performances of "gulp lint" by @calixteman in #21169
- Convert
Catalog.prototype.getPageIndexto an asynchronous method by @Snuffleupagus in #21181 - Split integration tests into per-browser jobs by @calixteman in #21179
- Bump actions/setup-node from 6.3.0 to 6.4.0 by @dependabot[bot] in #21182
- Split the unit/font tests into per-browser jobs by @timvandermeij in #21183
- Send 'Terminate' to the worker when destroy races the load-time handshake (bug 1942304) by @calixteman in #21175
- Collect worker-side coverage for browser unit tests by @calixteman in #21178
- Fix HCM colors for the views-manager massive unselect button (bug 2035551) by @calixteman in #21187
- Use Istanbul instrumentation for unittestcli code coverage by @calixteman in #21189
- Add an abstract
readBlockmethod in theDecodeStreamclass by @Snuffleupagus in #21190 - Move
unittestclicoverage collection toci.ymlby @timvandermeij in #21191 - Fix the intermittent test failure 'performs a search in a text containing some Hangul syllables' by @calixteman in #21193
- Slighty improve codecov stuff in gh actions by @calixteman in #21194
- Improve error handling in the
PDFFindController.prototype.#extractTextmethod by @Snuffleupagus in #21197 - Wait for the first page to be ready in the reorganize pages integration tests by @timvandermeij in #21186
- Simplify the
nextChunkhandling in theDecryptStreamclass by @Snuffleupagus in #21198 - Shorten how intersectors are added to the grid in the
Intersectorconstructor by @Snuffleupagus in #21200 - Optimize memory usage in the unit tests by @timvandermeij in #21195
- Remove obsolete
pdfBug: trueflag in the image caching unit test by @timvandermeij in #21203 - Add some colors in the logs in order to easily see failures and add a summary of the failures at the end by @calixteman in #21192
- Improve performance of the "caches image resources at the document/page level as expected (issue 11878)" unit-test by @Snuffleupagus in #21206
- Use a reduced test-case for the "caches image resources at the document/page level as expected (issue 11878)" unit-test by @Snuffleupagus in #21207
- Fix free highlight on pages without images (bug 2035530) by @calixteman in #21196
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in #21208
- [api-major] Update the minimum supported browsers, and remove no longer needed polyfills by @Snuffleupagus in #21152
- [api-minor] Use the ImageDecoder by default on Chrome by @calixteman in #20961
- Bump library version to
6.0by @Snuffleupagus in #21209 - Optimize runtime of the find controller unit tests by @timvandermeij in #21210
- Don't provide unused /DecodeParms when initializing
JpxStreamby @Snuffleupagus in #21211 - Remove the
CompilerOutput.prototype.finalDatagetter, and a few other font improvements (PR 21053 follow-up) by @Snuffleupagus in #21214 - Replace a loop with
TypedArray.prototype.set()in thecompileFDSelectmethod by @Snuffleupagus in #21215 - Remove the unused
rawfield from theCFFCharsetclass by @Snuffleupagus in #21216 - Replace
TrueTypeTableBuilderandCompilerOutputwith a single class by @Snuffleupagus in #21220 - Add an abstract
WasmImageclass, thatJBig2CCITTFaxImageandJpxImageinherit from by @Snuffleupagus in #21225 - Clear the text layer container when cancelling rendering by @calixteman in #21219
- Run unit-tests in Node.js version 26 by @Snuffleupagus in #21224
- A couple of small tweaks of the
getPdfFilenameFromUrlhelper by @Snuffleupagus in #21222 - Include the
external/folder in the coverage report forgulp unittestcliby @Snuffleupagus in #21226 - Tweak the
WasmImageimplementation a little bit (PR 21225 follow-up) by @Snuffleupagus in #21229 - Bump ip-address from 10.1.0 to 10.2.0 by @dependabot[bot] in #21232
- Make sure the focus moves on the first page of the added pdf after a merge (bug 2034827) by @calixteman in #21223
- Place new annotations on the correct page when extracting pages (bug 2027682) by @calixteman in #21228
- Improve soft mask composition performance (bug 2033095) by @calixteman in #21235
- Simplify '#getFilteredPageIndices' and '#resolveInsertAfterIndices' by @calixteman in #21231
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in #21237
- Bump fast-xml-builder from 1.1.5 to 1.2.0 by @dependabot[bot] in #21243
- Bump fast-uri from 3.1.0 to 3.1.2 by @dependabot[bot] in #21244
- Bump @babel/plugin-transform-modules-systemjs from 7.29.0 to 7.29.4 by @dependabot[bot] in #21248
- Make the
PDFDataRangeTransportstreaming unit-tests faster by @Snuffleupagus in #21238 - Use
Uint8Array.fromHexintest/unit/crypto_spec.jsby @Snuffleupagus in #21246 - Fall back to pixel-buffer SMask filtering when ctx.filter is unavailable by @calixteman in #21236
- [api-major] Remove support for calling
getDocumentwithout a parameter object, and remove thePDFDocumentProxy.prototype.destroymethod by @Snuffleupagus in #21245 - Support providing a
filenameunconditionally, when passing binary data toPDFViewerApplication.openby @Snuffleupagus in #21249 - perf: Avoid multi-second getDestinations stalls for PDFs with many named destinations by @saripovdenis in #21213
- Avoid cycles when getting operator list in patterns by @calixteman in #21230
- Move the
getModificationDatehelper function intosrc/core/core_utils.jsby @Snuffleupagus in #21258 - Update the
deepComparehelper function to handleRefs andNames correctly by @Snuffleupagus in #21257 - Render knockout transparency groups by @calixteman in #21242
- Update dependencies to the most recent versions by @timvandermeij in #21256
- Bump github/codeql-action from 4.35.2 to 4.35.3 by @dependabot[bot] in #21265
- Use FeatureTest.isCanvasFilterSupported in _bakeSMaskCanvas by @calixteman in #21264
- [Editor] Avoid "generating" the l10n-ids used for the
a11yAlertby @Snuffleupagus in #21263 - Fix nested non-isolated groups in knockout rendering by @calixteman in #21262
- Remove the executable bit from test PDF files by @timvandermeij in #21267
- Avoid bundling DOM-related code in the built
pdf.worker.mjsfile by @Snuffleupagus in #21269 - Collect coverage information for the integration tests by @timvandermeij in #21173
- Add a lint-chmod task to catch stray executable bits by @calixteman in #21268
- Add a simple API unit-test for /BrotliDecode by @Snuffleupagus in #21271
- Enable Codecov flag carryforward for accurate coverage badge by @calixteman in #21274
- Ensure TextLayer hiddenCanvasElement is layout-neutral by default by @RolandWArnold in #21218
- l10n: Update locale files by @sync-l10n-for-pdf-js[bot] in #21278
- Move the
stringToPDFStringhelper function to the worker-thread by @Snuffleupagus in https...
v5.7.284
This release contains improvements for accessibility, annotations, the annotation editor, font conversion, image conversion, performance, shading pattern rendering, SMask rendering and the viewer.
Changes since v5.6.205
- Bump the stable version in
pdfjs.configby @timvandermeij in #21004 - [api-minor] Rewrite the ps lexer & parser and add a small Wasm compiler by @calixteman in #21002
- [Node.js] Remove the
node-readable-to-web-readable-streampolyfill by @Snuffleupagus in #21007 - Add attachments when merging/reorganizing a pdf (bug 2026956) by @calixteman in #21013
- Don't use an intermediate canvas when rendering a tiling pattern bigger than the rectangle to fill by @calixteman in #18815
- Avoid expressions duplication in the ps AST and use a local instead when compiling to WASM by @calixteman in #21008
- Add support for function-based shadings (bug 1254066) by @calixteman in #21012
- Add an interpreter for optimized ps code by @calixteman in #21010
- Encrypt pdf data when merging the same pdf (bug 2028369) by @calixteman in #21022
- Use the
MathClamphelper function more by @Snuffleupagus in #21026 - l10n: Update locale files by @github-actions[bot] in #21033
- Use
OffscreenCanvasunconditionally in theweb/pdf_thumbnail_view.jsfile by @Snuffleupagus in #21021 - Fix wrong values when sanitizing fonts by @calixteman in #21031
- A couple of small
collectAnnotationsByTypeimprovements by @Snuffleupagus in #21034 - Move the
MathClamphelper function to its own file by @Snuffleupagus in #21027 - Replace all
Object.prototype.hasOwnPropertyusage withObject.hasOwnby @Snuffleupagus in #21029 - [api-minor] Change
PDFDataRangeTransportto use a single (internal) listener by @Snuffleupagus in #21028 - Fix radial gradient when the two circles have an intersection by @calixteman in #21014
- Add a js fallback for interpreting ps code by @calixteman in #21023
- Get the right transform for a pattern before filling some text by @calixteman in #21019
- Add an eslint plugin for using MathClamp when it's possible by @calixteman in #21030
- Fix the annotation base transform before drawing it by @calixteman in #21020
- Remove the unused
compilePostScriptToIRfunction (PR 21023 follow-up) by @Snuffleupagus in #21037 - [api-minor] Remove
PostScriptCompilerandPostScriptEvaluator, since it's now dead code (PR 21023 follow-up) by @Snuffleupagus in #21005 - Fix comments for (is/has)Singlefile in pdf_editor by @calixteman in #21036
- Update dependencies to the most recent versions by @timvandermeij in #21035
- Use the
calculateMD5helper, fromtest/downloadutils.mjs, intest/add_test.mjsby @Snuffleupagus in #21038 - Introduce a function type enumeration by @timvandermeij in #21041
- Use the original array-data when parsing Type 0 (Sampled) Functions by @Snuffleupagus in #21040
- Fix intermittent failure in the "must check that the comment sidebar is resizable with the keyboard" comment integration test by @timvandermeij in #21045
- Fix intermittent integration test failures related to checking the find count results text by @timvandermeij in #21043
- [api-minor] Update the minimum supported Node.js version to 22 by @Snuffleupagus in #21018
- Remove unnecessary "flooring" of the components when setting the Annotation
borderColorby @Snuffleupagus in #21047 - Replace individual AI/ML disabling preferences with the single killswitch preference in the tests by @timvandermeij in #21046
- Shorten the
src/core/postscript/code a tiny bit by @Snuffleupagus in #21048 - Unconditionally create a gpu device by @calixteman in #21049
- Use the
stringToByteshelper in thePDFEditor.prototype.writePDFmethod by @Snuffleupagus in #21051 - Fix the l10n-id for the sidebar toggleButton, in the
ViewsManagerclass by @Snuffleupagus in #21055 - Reduce allocations when compiling CFF fonts by @Snuffleupagus in #21053
- Fix the way to write numbers when saving a pdf by @calixteman in #21054
- Make sure the thumbnails positions are recomputed after a structural change but after a reflow has been done (bug 2028193) by @calixteman in #21059
- Bump github/codeql-action from 4.33.0 to 4.35.1 by @dependabot[bot] in #21056
- Replace a couple of loops with
TypedArray.prototype.fill()in thesrc/core/ascii_85_stream.jsfile by @Snuffleupagus in #21050 - Bump actions/deploy-pages from 4.0.5 to 5.0.0 by @dependabot[bot] in #21058
- Bump codecov/codecov-action from 5.5.2 to 6.0.0 by @dependabot[bot] in #21057
- Avoid as much as possible to have intermediate canvases by @calixteman in #21061
- Reduce allocations in
CFFCompiler.prototype.compileIndex(PR 21053 follow-up) by @Snuffleupagus in #21062 - Dont revoke blob URLs while printing but do it after by @calixteman in #21065
- Update the position when calling
ChunkedStream.prototype.getByteswithout a length by @Snuffleupagus in #21070 - Add constants for defining the initial BBox and Float32 BBox by @Snuffleupagus in #21071
- Bump basic-ftp from 5.2.0 to 5.2.1 by @dependabot[bot] in #21067
- Use a TypedArray when building the "hmtx" font table by @Snuffleupagus in #21072
- l10n: Update locale files by @github-actions[bot] in #21074
- Move some TrueType header comments to the correct lines by @Snuffleupagus in #21073
- Re-factor the
OpenTypeFileBuilderclass to use aDataViewwhen writing data by @Snuffleupagus in #21076 - Take into account the alignment when printing/saving a comb field by @calixteman in #21069
- Re-factor the
CFFParserclass to useDataViews when reading data by @Snuffleupagus in #21079 - Re-factor the
JpegImageclass, and related code, to useDataViews when reading data by @Snuffleupagus in #21086 - Bump basic-ftp from 5.2.1 to 5.2.2 by @dependabot[bot] in #21083
- Fix how the text is printed/saved in a comb field when it's a RTL one by @calixteman in #21082
- Re-factor the
Jbig2Imageclass, and related code, to useDataViews when reading data by @Snuffleupagus in #21087 - Remove the
int32helper, and replace it withDataViewusage, insrc/core/fonts.jsby @Snuffleupagus in #21088 - Remove pattern fill when setting fill color before drawing a tile by @calixteman in #21090
- [Debugger] Fix the content stream rendering when it's a ref to an array by @calixteman in #21091
- Use the
stopEventhelper function in theAnnotationEditorLayerclass by @Snuffleupagus in #21092 - Avoid infinite recursion while compiling a glyph by @calixteman in #21080
- Update dependencies to the most recent versions by @timvandermeij in #21093
- Re-factor the
FontRendererFactoryclass, and related code, to useDataViews when reading data by @Snuffleupagus in #21077 - Remove
readUint32usage from theisTrueTypeFilefunction by @Snuffleupagus in #21078 - Take into account CharProcs keys when computing the type3 hash by @calixteman in #21095
- Use TypedArrays when building more TrueType tables by @Snuffleupagus in #21097
- Remove the workaround for bug 1820511 by @calixteman in #21098
- Add the UI for merging PDFs (bug 2028071) by @calixteman in #21060
- Fix blending issues while compositing by @calixteman in https://github.com/mozilla/pdf...
v5.6.205
This release contains improvements for accessibility, annotation rendering, font conversion, performance, shading pattern rendering, text selection and the viewer.
Changes since v5.5.207
- Bump the stable version in
pdfjs.configby @timvandermeij in #20771 - Just output in the console the results for the integrations which ran by @calixteman in #20760
- Use a babel plugin in order to strip /src/ from the import paths by @calixteman in #20772
- Use
L10n.prototype.getDirectionrather than querying the DOM, when initializing theCommentManagerinstance by @Snuffleupagus in #20776 - Hide the "Select pages" label, in the thumbnails sidebar, when split-merge is disabled by @Snuffleupagus in #20775
- Prevent
PdfTextExtractor.prototype.extractTextContentfrom failing intermittently by @Snuffleupagus in #20784 - Fix layout of thumbnails when split/merge is disabled by @calixteman in #20779
- Fix intermittent issue with a unit test by @calixteman in #20773
- Fix the paste button position and add a button before the first thumbnail by @calixteman in #20789
- Add a way to extract some pages from a pdf (bug 2019682) by @calixteman in #20785
- Add script to check license headers by @nicolo-ribaudo in #20782
- Add the pages organization actions in the Firefox context menu (bug 2018138) by @calixteman in #20788
- Add support for dismissing comment popups with click outside (bug 1989406) by @wooorm in #20780
- Update l10n related information in various READMEs by @Snuffleupagus in #20791
- Use the
Dict.prototype.getRawEntriesmethod more by @Snuffleupagus in #20793 - Ignore directories in lint-licenses task by @nicolo-ribaudo in #20796
- Fix missing Chinese font name variants (SimFang and XiaoBiaoSong) in GBK encoding detection by @pengkunbin in #20781
- Change the
Dict.prototype.{getKeys, getRawValues}methods to return iterators by @Snuffleupagus in #20795 - Fix downloading the current pdf by @calixteman in #20803
- Improve and simplify the
PdfTextExtractorimplementation by @Snuffleupagus in #20787 - Move the heading role on the sidebar label (bug 2020737) by @calixteman in #20794
- Fix few colors in the Manage menu in HCM (bug 2020774) by @calixteman in #20797
- Add some aria-labels to the paste button in order to know where the buttons are (bug 2020758) by @calixteman in #20792
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #20778
- Remove the sidebar resize observer when killing the UI by @calixteman in #20802
- Use
BaseStream.prototype.getStringin thereadPostScriptTablefunction by @Snuffleupagus in #20799 - Let
BinaryCMapStreamextend theStreamclass by @Snuffleupagus in #20806 - Fix the position of the thumbnails on the last line (bug 2016437) by @calixteman in #20798
- Fix the event name in some integration tests (follow-up of #20788) by @calixteman in #20812
- Add fetch** functions in the XRefWrapper by @calixteman in #20811
- Once a page has been deleted or pasted, make sure the focus stays in the sidebar (bug 2020731) by @calixteman in #20800
- Remove gulp-sourcemaps dependency which is unmaintained by @calixteman in #20774
- l10n: Update locale files by @github-actions[bot] in #20815
- A couple of small JBig2 fixes by @Snuffleupagus in #20818
- Shorten the
createActionsMaphelper in thesrc/scripting_api/common.jsfile by @Snuffleupagus in #20820 - Avoid to have stuck actions when running update_locales task by @calixteman in #20819
- Convert the data reading in
getPdfManagerto be asynchronous by @Snuffleupagus in #20662 - Use
Math.sumPreciseandMap.prototype.getOrInsertComputedin the scripting implementation by @Snuffleupagus in #20821 - Use
Response.prototype.bytes()more in the code-base (PR 20651 follow-up) by @Snuffleupagus in #20823 - Add the possibility to merge/update acroforms when merging/extracting (bug 2015853) by @calixteman in #20824
- Update dependencies to the most recent versions by @timvandermeij in #20825
- Ensure that
percent === NaNis consistently reported by theonProgresscallback by @Snuffleupagus in #20827 - Handle outline with Structure Element (SE) destination by @calixteman in #20826
- Add a UI to undo cut/delete and cancel a copy (bug 2021352, bug 2010832) by @calixteman in #20810
- Add option allow external connections to
npx gulp serverby @nicolo-ribaudo in #20646 - Do not lint folders for project-level AI coding agents by @nicolo-ribaudo in #20833
- Fix the label and tooltip on the paste buttons by @calixteman in #20832
- Use iterators a little bit more, to avoid creating temporary Arrays by @Snuffleupagus in #20835
- Fix the
disableFontFaceandfontExtraPropertiesasserts in theFontFaceObjectconstructor (PR 20197 follow-up) by @Snuffleupagus in #20836 - Fix
lint-licensestask on windows by @nicolo-ribaudo in #20844 - A couple of small improvements by @Snuffleupagus in #20841
- Fix the border & background colors of the placeholder for a dragged thumbnail (bug 2020698) by @calixteman in #20839
- Start using
Blob.prototype.bytes()in the code-base by @Snuffleupagus in #20829 - Update the context menu after copying thumbnails by @calixteman in #20834
- Avoid to have a thumbnail with two paste buttons (bug 2021886) by @calixteman in #20838
- Improve the
validateRangeRequestCapabilitiesunit-tests by @Snuffleupagus in #20830 - Add a new internal viewer to explore the structure of PDF files. by @calixteman in #20831
- Refactor the custom reporters for testing by @timvandermeij in #20828
- l10n: Update locale files by @github-actions[bot] in #20822
- Disable dragging a thumbnail when the user has to paste what they copied (bug 2021934) by @calixteman in #20837
- Add support for right-clicking on images (bug 1012805) by @nicolo-ribaudo in #20626
- A couple of small improvements of the new internal viewer by @Snuffleupagus in #20846
- Move the
PagesMapperclass into its own file by @Snuffleupagus in #20848 - Fix the
FontInfo.prototype.clearDatamethod to actually remove the data as intended (PR 20197 follow-up) by @Snuffleupagus in #20856 - Remove the
enableHWAoption from viewer components (PR 20016 follow-up) by @Snuffleupagus in #20849 - Update the internal viewer to use a new debugger. by @calixteman in #20845
- l10n: Update locale files by @github-actions[bot] in #20859
- Don't let the user delete/cut all the pages (bug 2021828) by @calixteman in #20850
- Add a button for unchecking all the checked thumbnails (bug 2022769) by @calixteman in #20854
- Bundle the necessary files and set the correct
cMapUrl,iccUrl, andstandardFontDataUrlwhen buildinggulp internal-viewerby @Snuffleupagus in #20865 - Split the
src/shared/obj-bin-transform.jsfile into separate files for the main/worker threads (PR 20197 follow-up) by @Snuffleupagus in #20861 - Only focus the undo bar when the focus isn't inside by @calixteman in #20863
- Move 'Save as...' menu to 'Export selected...' by @calixteman in #20858
- Fix the rendering of the radial gradient when a center is outside of the other circle and there's no extend by @calixteman in #20860
- Bump undici from 7.21.0 t...
v5.5.207
This release contains improvements for accessibility, font conversion, image conversion, performance, text selection and the viewer.
Changes since v5.4.624
- Bump the stable version in
pdfjs.configby @timvandermeij in #20617 - Replace the various interfaces in
web/interfaces.jswith proper classes by @Snuffleupagus in #20607 - Add support for Brotli decompression by @calixteman in #20610
- Change all relevant
BasePDFStreamimplementations to take an actualURLinstance by @Snuffleupagus in #20614 - Report loading progress "automatically" when using the
PDFDataTransportStreamclass, and remove thePDFDataRangeTransport.prototype.onDataProgressmethod by @Snuffleupagus in #20615 - Use the ccittfax decoder from pdfium by @calixteman in #20613
- Avoid to have to download the model when toggling the button in the alt-text image settings dialog (bug 2013899) by @calixteman in #20621
- Let the toggle button in the alt-text dialog downloading (resp. delete) the model and enabling (resp. disabling) alt-text guessing (bug 2014167) by @calixteman in #20622
- Flush the text content chunk only on real font changes (bug 2013793) by @calixteman in #20624
- Improve progress reporting in
ChunkedStreamManager, and prevent unnecessary data copy inChunkedStream.prototype.onReceiveDataby @Snuffleupagus in #20627 - Cap the max canvas dimensions in order to avoid to downscale large images in the worker (bug 2014399) by @calixteman in #20628
- Fix
Worker was terminatederror when loading is cancelled by @andriivitiv in #20503 - In tagged pdfs, TH can be either a column header or a row header (bug 2014080) by @calixteman in #20623
- [api-minor] Update the supported Node.js "patch" versions by @Snuffleupagus in #20635
- Ensure that pending requests are resolved when calling
PDFDataTransportStreamReader.prototype.progressiveDoneby @Snuffleupagus in #20634 - Normalize the font name in
getBaseFontMetrics(issue 20246) by @Snuffleupagus in #20637 - Avoid branching in convertBlackAndWhiteToRGBA by @calixteman in #20638
- Set a pages mapper per loaded document by @calixteman in #20640
- Bump library version to
5.5by @Snuffleupagus in #20642 - [api-minor] Update the minimum supported Google Chrome version to 118 by @Snuffleupagus in #20645
- Update dependencies and translations to the most recent versions by @timvandermeij in #20639
- Fix a 'FreeText accessibility' integration test by @calixteman in #20643
- Add firefox-devtools-mcp to let AI agents test and debug in Firefox by @marco-c in #20644
- Convert
PDFPageProxy.prototype.getTextContentto an asynchronous method by @Snuffleupagus in #20648 - Ends the current drawing session when closing the tab (bug 2015385) by @calixteman in #20649
- Start using
Response.prototype.bytes()in the code-base by @Snuffleupagus in #20651 - Move and re-use the
stripPathhelper function more by @Snuffleupagus in #20656 - Update jbig2 decoder (pdfium@0455e822ded1a5537d826703988e986a33d2d4a1) by @calixteman in #20655
- Enable a couple of additional
eslint-plugin-unicornrules by @Snuffleupagus in #20654 - Fix types to make "gulp typestest" succeeding by @calixteman in #20641
- Avoid parsing skipped range requests in
ChunkedStreamManager(PR 10694 follow-up) by @Snuffleupagus in #20652 - Enable the
unicorn/prefer-class-fieldsESLint plugin rule by @Snuffleupagus in #20657 - Add code coverage for unit tests running in node by @calixteman in #20658
- Add a Codecov badge by @calixteman in #20659
- Remove
Object.hasOwnusage from thesrc/core/xref.jsfile by @Snuffleupagus in #20663 - Truncate too long /Decode map entries (issue 20668) by @Snuffleupagus in #20669
- Convert the
PDFObjectsclass to use aMapinternally by @Snuffleupagus in #20673 - Fix the keyboard accessibility of the manage button in the thumbnails view (bug 2015916) by @calixteman in #20675
- fix: support text selection under search highlights by @matt-atticus in #20463
- Fix code coverage line mapping by @calixteman in #20665
- Remove unused
CanvasGraphicsproperties (PR 700 follow-up) by @Snuffleupagus in #20682 - Add an aria-label to the checkboxes in the thumbnails view (bug 2016136) by @calixteman in #20678
- Correctly handle tab/page down when on a menu (bug 2016212) by @calixteman in #20681
- Add an aria-label to the sidebar resizer (bug 2016142) by @calixteman in #20679
- Add support for deleting, cutting, copying and pasting pages (bug 2010830, 2010831) by @calixteman in #20670
- Add the possibility to navigate with the keyboard to go from a checkbox to an other in the thumbnail view (bug 2016007) by @calixteman in #20677
- Set the
annotationTypeautomatically in theAnnotationconstructor by @Snuffleupagus in #20685 - Update dependencies and translations to the most recent versions, and upgrade most packages to new major versions by @timvandermeij in #20661
- Remove unnecessary class constructors in the
srcfolder by @Snuffleupagus in #20684 - Remove unnecessary
Map.prototype.entries()usage by @Snuffleupagus in #20691 - Fix the color of the arrow on buttons when hovering in HCM (bug 2016311) by @calixteman in #20686
- Replace the
getStatIndexhelper, inweb/debugger.mjs, with native functionality by @Snuffleupagus in #20692 - Fix the menu dimensions when on of the item is too long (bug 2018134) by @calixteman in #20694
- Fix the style of the thumbnails in HCM (bug 2016491, bug 2016321, bug 2016323, bug 2016827) by @calixteman in #20693
- Convert
ChunkedStreamManager.prototype.sendRequestto an asynchronous method by @Snuffleupagus in #20660 - Update the page count in the UI when some changes are done (bug 2018125) by @calixteman in #20695
- Reduce duplication when parsing
searchParamsin thegetPdfFilenameFromUrlfunction by @Snuffleupagus in #20690 - Add code coverage for font tests by @calixteman in #20688
- Add some unit tests for functions in image_utils.js by @calixteman in #20698
- Update quickjs to fa628f8c523ecac8ce560c081411e91fcaba2d20 by @calixteman in #20708
- Slightly shorten some code in the
src/scripting_api/folder by @Snuffleupagus in #20699 - Only show the status bar in the views manager when it's in thumbnails mode (bug 2016656) by @calixteman in #20696
- Use
Map.prototype.getOrInsert()in thegetNewAnnotationsMaphelper by @Snuffleupagus in #20702 - Use
Map.prototype.getOrInsert()in the_getPageAdvancemethod by @Snuffleupagus in #20704 - Use
Map.prototype.getOrInsertComputed()in theensureDebugMetadatahelper by @Snuffleupagus in #20706 - Use
Map.prototype.getOrInsert()in the#collectFieldObjectsmethod by @Snuffleupagus in #20703 - Use
Map.prototype.getOrInsert()in the#collectParentsmethod by @Snuffleupagus in #20705 - Remove the leading slash in windows file path when instrumenting js files for ccov by @calixteman in #20710
- Use
FinalizationRegistryunconditionally in thesrc/scripting_api/app.jsfile by @Snuffleupagus in #20709 - Use
Map.prototype.getOrInsertComputed()in theeditorStatsgetter by @Snuffleupagus in #20711 - Use
Map.prototype.getOrInsert()more in thesrc/display/folder by @Snuffleupagus in #20716 - Correctly generate the NormalizeWithNFKC string in generic build...
v5.4.624
This release contains improvements for accessibility, the annotation editor, image decoding, performance and the viewer.
Changes since v5.4.530
- Bump the stable version in
pdfjs.configby @timvandermeij in #20540 - Get glyph contours when stroking using a pattern by @calixteman in #20515
- Use the PDFium JBig2 decoder compiled into wasm by @calixteman in #20546
- Update dependencies and translations to the most recent versions by @timvandermeij in #20547
- Fix wasm url issue for the jbig2 decoder by @calixteman in #20548
- Revert "Remove some files from talos tests because they aren't available on webarchive" by @timvandermeij in #20549
- Aria-hide artifacts in the text layer (bug 2004951) by @calixteman in #20550
- Don't add an aria-label on MathML elements in the struct tree (bug 2004951) by @calixteman in #20551
- Add some tests for the JBIG2 js decoder by @calixteman in #20552
- Update jbig2 decoder (pdfium@3c679253a9e17c10be696d345c63636b18b7f925) by @calixteman in #20566
- Don't use contents stream which have an image format by @calixteman in #20570
- Hide the text in the text layer associated with MathML elements (bug 2009627) by @calixteman in #20567
- Make sure the caret is black in dark mode when in caret browsing mode by @calixteman in #20569
- Add the possibility to drag & drop some thumbnails in the pages view (bug 2009573) by @calixteman in #20559
- Select the dropped thumbnail (bug 2010820) by @calixteman in #20578
- The 'find in page' feature must correctly work after the pages have been reorganized (bug 2010814) by @calixteman in #20577
- Avoid exception after having moved an annotation by @calixteman in #20572
- Add the possibility to order the pages in an extracted pdf (bug 1997379) by @calixteman in #20475
- Bump lodash from 4.17.21 to 4.17.23 by @dependabot[bot] in #20588
- Update image pattern in gulpfile to accommodate missing images by @dgiessing in #20554
- Hide the menu container in changing it's visibility by @calixteman in #20583
- Fix links and outline after reorganizing a pdf by @calixteman in #20580
- Use DecompressionStream in async code by @calixteman in #20593
- Fix the drag marker dimensions in the thumbnails view by @calixteman in #20591
- Bug 1999154 - Add the ability to undo comment deletion by @marco-c in #20586
- Refactor a bit page mapping stuff in order to be able to support delete/copy pages by @calixteman in #20587
- Add a manage button in the thumbnail view in order to save an edited pdf (bug 2010830) by @calixteman in #20582
- Fix the sidebar resizer accessibility by @calixteman in #20598
- [Node.js] Don't abort the full request for local PDF files smaller than two range requests, and use standard
ReadableStreams by @Snuffleupagus in #20594 - Simplify the
NetworkManagerclass, and inline it in thePDFNetworkStreamclass by @Snuffleupagus in #20595 - Simplify the
FileSpecclass, and remove no longer needed polyfills by @Snuffleupagus in #20596 - Remove unit-tests for global
ReadableStreamandURLby @Snuffleupagus in #20605 - Improve preferences building, and generate the
preferences_schema.jsonfile for the Chromium addon by @Snuffleupagus in #20603 - Replace the
IPDFStream,IPDFStreamReader, andIPDFStreamRangeReaderinterfaces with proper base classes by @Snuffleupagus in #20602 - fix: Fix mailto links truncated at dash by @kairosci in #20565
v5.4.530
This release, the final one of 2025, contains improvements for accessibility, font conversion, image conversion, performance, text selection and the viewer.
Changes since v5.4.449
- Bump the stable version in
pdfjs.configby @timvandermeij in #20469 - [Editor] Pointer type initialization only when the user changes the mode by @legraina in #20226
- Update dependencies and translations to the most recent versions by @timvandermeij in #20470
- Aria-hide the text content part of a MathML formula (bug 1998046) by @calixteman in #20471
- Inject the text from the text layer in the MathML tags when they're in the struct tree (bug 1998046) by @calixteman in #20472
- Add a menu class in order to be used in the new UI for the merge feature by @calixteman in #20483
- Add some callbacks when resizing a sidebar by @calixteman in #20474
- Use HTMLElement.scrollIntoView when showing a thumbnail by @calixteman in #20476
- Extend getGlyphMapForStandardFonts with some Russian entries (issue 20453) by @xiaobai2017666 in #20454
- Add a new linting task in order to detect unused/unknown css variables in the Firefox build by @calixteman in #20485
- Add .vscode to .gitignore by @calixteman in #20490
- Encode FontPath data into an ArrayBuffer by @ryzokuken in #20346
- Move the css for tree object in its own file by @calixteman in #20493
- Use only one resize observer in the the sidebar by @calixteman in #20494
- Fix infinite loop in JBIG2 decoder with >4 referred-to segments by @Gaurang-5 in #20440
- Move text layer scaling logic to CSS by @nicolo-ribaudo in #20491
- Improves text rendering performance by skipping unnecessary pattern calculations by @AtiX in #20499
- Simplify positioning of elements inside
markedContentby @nicolo-ribaudo in #20492 - Fix #20420: Prevent double decoding of file URL parameter by @Uzair-Ahmed-Shah in #20482
- Fix the position of the checkmark when the menu is displayed in RTL by @calixteman in #20500
- Fix some css in the tree view by @calixteman in #20508
- Change the sidebar for a views manager by @calixteman in #20495
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #20507
- Run the CI tests in Node.js version 25 too by @timvandermeij in #20502
- Fix unit tests in adding a comma in the JSON for imports by @calixteman in #20517
- Update dependencies and translations to the most recent versions by @timvandermeij in #20501
- Escape punctuation signs in search query by @calixteman in #20518
- Avoid exception when trying to render some glyphs contours by @calixteman in #20514
- Simplify regex escaping by @calixteman in #20524
- Dont' throw when adding page labels in thumbnails by @calixteman in #20521
- Fix the encoding for some missing chinese fonts by @calixteman in #20526
- Remove some files from talos tests because they aren't available on webarchive by @calixteman in #20527
- Avoid pattern creation with some basic gradients by @calixteman in #20525
- Introduce a helper function to draw a line in the ink editor integration tests by @timvandermeij in #20519
- Add CLAUDE.md generated with claude code by @calixteman in #20522
- Avoid to have a mail link with string having the format ddd@d.dddd by @calixteman in #20531
- Remove undefStack stuff in the cff parser by @calixteman in #20537
- Fix the loca table length when there is enough space for it by @calixteman in #20538
- Use CIDToGIDMap when the font is a type 2 with an OpenType font by @calixteman in #20535
v5.4.449
This release contains improvements for the annotation editor, performance, text selection and the viewer.
Changes since v5.4.394
- Bump the stable version in
pdfjs.configby @timvandermeij in #20414 - Create the number tree for the ParentTree only one time by @calixteman in #20425
- Add the possibility to create a pdf from different ones (bug 1997379) by @calixteman in #20409
- Update the page labels tree when a pdf is extracted (bug 1997379) by @calixteman in #20411
- Update the named page destinations when some pdf are combined (bug 1997379) by @calixteman in #20421
- Version entry in the catalog has to be a name and not a string by @calixteman in #20432
- Add a wrapper for the new xref in order to be able to get some values from cloned dictionaries by @calixteman in #20431
- Update dependencies and translations to the most recent versions by @timvandermeij in #20429
- Introduce a helper function to create a freetext editor in the integration tests by @timvandermeij in #20430
- Add telemetry for tagged pdfs (bug 1997134) by @calixteman in #20405
- Merge the structure trees coming from different pdfs (bug 1997379) by @calixteman in #20436
- Add regression test for PR 19184 by @maettuu in #20151
- Bump glob by @dependabot[bot] in #20448
- Bump js-yaml from 3.14.1 to 3.14.2 by @dependabot[bot] in #20449
- Lint and format the HTML in using Prettier by @calixteman in #20447
- Add setter for some FontFaceObject properties by @Aditi-1400 in #20427
- fix: deleteAnnotationElement takes a full editor object by @sachiniyer in #20413
- When searching for a group of punctuation signs, only add extraspaces around the group by @calixteman in #20456
- [XFA] Set default max value in occur tag to -1 (bug 1998843) by @calixteman in #20455
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #20459
- Include missing
cached-iterabledev dependency inpackage.jsonby @Mario34 in #20450 - Don't use firstChild/lastChild when getting elements (follow-up of #20447) by @calixteman in #20458
- [Editor] Allow to save an edited comment in using CTRL+Enter shortcut. by @calixteman in #20460
- Create a sidebar object by @calixteman in #20467
- Fix the regex string used to find the chars to normalize with NFKC when searching by @calixteman in #20465
- Use OIDC trusted publishing in the GitHub Actions release workflow by @timvandermeij in #20468
- Slightly reduce the memory used by thumbnails by @calixteman in #20462
v5.4.394
This release contains improvements for the annotation editor, accessibility, font conversion and performance.
Changes since v5.4.296
- Bump the stable version in
pdfjs.configby @timvandermeij in #20339 - Update dependencies and translations to the most recent versions by @timvandermeij in #20337
- [Editor] Remove obsolete arguments for
setDimscalls in the highlight code by @timvandermeij in #20335 - Add a test for PR #20320 by @calixteman in #20338
- [Editor] Make sure that comment stuff is removed when an editor is deleted (bug 1992987) by @calixteman in #20342
- [Editor] Make sure the editor is focused after the comment has been deleted (bug 1992832) by @calixteman in #20343
- [Editor] Make sure all editors are focusable with the keyboard (bug 1992868) by @calixteman in #20341
- [Editor] Remove the role radio for the editing buttons (bug 1990826) by @calixteman in #20347
- [Editor] Make sure that annotation positions in the DOM respect the visual order (bug 1992770) by @calixteman in #20344
- [Annotation] Use the annotations rect in order to fix the order in the DOM (bug 1987914) by @calixteman in #20350
- [Editor] Avoid to have a null button in the DOM when there's no comment manager by @calixteman in #20351
- Improve performance of the struct tree build (bug 1987914) by @calixteman in #20352
- [Annotation] Improve the performance of the code for getting glyphs which belongs to annotations bounding boxes (bug 1987914) by @calixteman in #20353
- Use enums instead of string for mesh shading figure type by @Aditi-1400 in #20354
- Bump github/codeql-action from 3 to 4 by @dependabot[bot] in #20357
- Very slightly improve intersector performance by @calixteman in #20358
- Use Python 3.14 in the GitHub workflows by @timvandermeij in #20363
- Update dependencies and translations to the most recent versions by @timvandermeij in #20356
- Reset
sameLineTextdependencies data onsetTextMatrixby @nicolo-ribaudo in #20361 - Use a binary format for the glyph paths by @calixteman in #20367
- [Editor] Correctly focus the annotation once the comment has been removed in the annotation layer (bug 1994738) by @calixteman in #20369
- [Editor] Fix the tooltip of the comment button when in the editor toolbar (bug 1994958) by @calixteman in #20372
- [Editor] FreeText annotations aren't supposed to have an attached popup so disable commenting for them (bug 1995028) by @calixteman in #20374
- [Editor] Make sure the color picker has the right color when pasting an editor by @calixteman in #20375
- [Editor] Fix integration test after #20372 by @calixteman in #20377
- Use stream for whatever substrem in stream classes by @calixteman in #20373
- Fix stream use when getting the text (follow-up of #20373) by @calixteman in #20379
- Add a highlightSpan function in order to simplify a bit the integration tests by @calixteman in #20355
- Tweak the "scroll into view" viewer integration test by @timvandermeij in #20380
- Don't use the
aboutstacks.pdffile in the integration tests by @timvandermeij in #20378 - Bump actions/setup-node from 5 to 6 by @dependabot[bot] in #20381
- Serialize pattern data into ArrayBuffer by @Aditi-1400 in #20340
- [Editor] Fix the css of the button to close the comment sidebar (bug 1995766) by @calixteman in #20386
- [Editor] Fix the css of the link in the comment sidebar (bug 1995721) by @calixteman in #20387
- [Editor] Avoid to have several Undo entries in the context menu (bug 1995705) by @calixteman in #20388
- [Editor] Make sure the left (resp. right) corner of the popup is visible when in LTR (resp. RTL) (bug 1995579) by @calixteman in #20389
- Make MathML elements visible in the struct tree (bug 1937438) by @calixteman in #20384
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #20400
- Update dependencies and translations to the most recent versions by @timvandermeij in #20396
- Add the font PT Astra Serif as a possible substitution for Times New Roman by @CoelacanthusHex in #20394
- Collect all child nodes of lists and tables in StructTree by @edoardocavazza in #20327
- Add text extractor as an external service by @gregtatum in #20406
- Revert "Add some telemetry in order to know what are the certificates used in pdfs (bug 1973573)" by @calixteman in #20404
- Don't set the MathML namespace for attributes in MathML tags (bug 1997343) by @calixteman in #20408
- [Editor] A new CurrentPointers class to store current pointers used by the editor by @legraina in #20213
v5.4.296
This release contains improvements for annotations, the annotation editor, font conversion, text selection and the viewer.
Changes since v5.4.149
- Bump the stable version in
pdfjs.configby @timvandermeij in #20215 - Update dependencies and translations to the most recent versions by @timvandermeij in #20216
- Add a function changeLightness in order to change the lightness of a RGB color by @calixteman in #20204
- [Editor] Hide the comment sidebar on document change by @timvandermeij in #20220
- [Editor] Add editors with a comment in the sidebar by @calixteman in #20217
- [Editor] Make scrollable the area containing the comments in the sidebar by @calixteman in #20222
- [Editor] Use the color of the annotation for the background of the comment button by @calixteman in #20221
- [Editor] Don't save the image when updating a stamp annotation by @calixteman in #20233
- Add a new function renderRichText to be used in the annotation layer by @calixteman in #20231
- Fix the rendering of XFA rich text in popup annotations by @timvandermeij in #20238
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #20242
- Bump actions/setup-node from 4 to 5 by @dependabot[bot] in #20243
- Improve the integration test code by @timvandermeij in #20172
- [Editor] Fix saving a deleted popup by @calixteman in #20244
- [Editor] Add the dates and rich text if any to the editors in order to use them when displaying the popup by @calixteman in #20245
- Unskip the
must check that date entered by the user is consistentscripting integration test for Firefox by @timvandermeij in #20239 - [Editor] Make sure the comment button is at the right place when adding it in the toolbar by @calixteman in #20248
- [Editor] When clicking on a comment in the sidebar, wait for the annotation editor layer to be rendered by @calixteman in #20247
- Reduce background canvas resolution by @nicolo-ribaudo in #20255
- Add an option in scrollIntoView and goToXY in order to be able to center vertically or horizontally the point XY in the viewer container by @calixteman in #20253
- [Editor] Don't throw when switching to editing mode before an annotation editor layer is rendered by @calixteman in #20259
- [Editor] Cleanup the pages not being fully rendered before switching to editing mode by @calixteman in #20258
- Make sure that a good constrast ratio is respected when darkening/lightening a color by @calixteman in #20240
- Store ops bboxes in a linear Uint8Array by @nicolo-ribaudo in #20208
- Fix JSDoc description in src/display/api.js by @nicolo-ribaudo in #20267
- Only record bboxes when needed by @nicolo-ribaudo in #20256
- Use a dichotomy to find a color with a good contrast ratio by @calixteman in #20269
- Replace manual returns with
pendingin the integration tests by @timvandermeij in #20271 - Consider a ttf font with both Symbolic and Nonsymbolic flags set with a Differences array in the encoding dict as non-symbolic by @calixteman in #20270
- Update dependencies and translations to the most recent versions by @timvandermeij in #20272
- [Editor] Add a new popup for comments (bug 1987425) by @calixteman in #20249
- [Annotation] Use the new popup in reading mode (bug 1987426) by @calixteman in #20250
- [Editor] Fix the position of the comment popup and its dialog by @calixteman in #20278
- [Annotation] Save the comment changes made in reading mode (bug 1987427) by @calixteman in #20274
- Avoid unused css variables by @calixteman in #20279
- Use
console.warn/console.infowhere appropriate by @sigmaSd in #20252 - [Editor] Fix the focus outline for the comment dialog buttons by @calixteman in #20281
- [Editor] Make sure to not add extra editors when showing again a destroyed page by @calixteman in #20282
- Update OpenJPEG to 2.5.4 by @calixteman in #20286
- Serialize font data into an ArrayBuffer by @ryzokuken in #20197
- [Editor] Make sure the comment dialog is visible on the screen (bug 1989304) by @calixteman in #20283
- [Editor] Remove useless computations when setting the dimensions of an editor by @calixteman in #20285
- [Editor] When in HCM, don't apply light/dark color in the comment buttons (bug 1977269) by @calixteman in #20291
- [Editor] Update the color and the position of the comment button in reading mode they've been modified by @calixteman in #20295
- [Editor] Don't add scrollbars when it's useless in the comment sidebar (bug 1990099) by @calixteman in #20297
- [Editor] Avoid to use similar colors for background and foreground colors in HCM (bug 1990082) by @calixteman in #20298
- [Editor] Use some percent coordinates for the comment dialog (bug 1990104) by @calixteman in #20299
- [Editor] Fix the button labels in the comment dialog (bug 1990499) by @calixteman in #20300
- [Editor] Make the comment sidebar resizable (bug 1990544) by @calixteman in #20303
- [Editor] Add a title to the comment buttons (bug 1990813) by @calixteman in #20305
- [Editor] Move the focus to the comment button once editing is done (bug 1990820) by @calixteman in #20304
- [Editor] Make sure the selected editor is correctly focused after switching editing mode (bug 1990872) by @calixteman in #20307
- [Editor] Fix the URL for the 'Learn more' link in the comment sidebar (bug 1990454) by @calixteman in #20308
- [Editor] Show the comments in the sidebar in the chronological order,newest to oldest (bug 1990762) by @calixteman in #20310
- Update dependencies by @calixteman in #20309
- [Editor] Give the focus to the comment button after editing in reading mode by @calixteman in #20311
- [Annotation] In reading mode with new commment stuff enabled, use the comment popup for annotations without a popup but with some contents (bug 1991029) by @calixteman in #20312
- [Editor] Add some telemetry for the commenting feature (bug 1991172) by @calixteman in #20313
- [Editor] Remove useless sidebar css by @calixteman in #20314
- [Editor] Add a fake annotation (in the annotation layer) associated with an editor in order to be able to show the comment button (bug 1989420) by @calixteman in #20321
- [Editor] Avoid an error when getting the editors telemetry data by @calixteman in #20318
- [Annotation] Fix some timezone issues when getting a date from the date picker (bug 1991584) by @calixteman in #20320
- [Editor] Add the possibility to unselect a comment from the sidebar by @calixteman in #20322
- Increase the rendering quality of the detail view (bug 1991482) by @calixteman in #20323
- Improve serif fallback font name matching by @james-atticus in #20224
- Fix the creation of the annotation layer in the ref tests by @calixteman in #20329
- [Editor] Make sure the comment dialog always have relative coordinates between 0% and 100% by @calixteman in #20328
- [Editor] Slightly move the resizer in the sidebar comment in order to make it easier to use (bug 1992385) by @calixteman in #20332
- Only apply word spacing when there is a 0x20 in the text chunk by @calixteman in #20334
- Bump tar-fs from 3.1.0 to 3.1.1 by @dependabot[bot] in #20301
- Fix incremental saving with hybrid references by @calixteman in #20333