Skip to content

Releases: mozilla/pdf.js

v5.0.375

15 Mar 18:10
23972e1
Compare
Choose a tag to compare

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 new wasmUrl 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.
  • 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.
  • Improved rendering of large pages in the viewer
    • Render the currently visible portion of pages at full resolution, once we've reached the size limits and are falling back to CSS-zooming; see PR #19128.
    • Limit the maximum canvas dimensions, to avoid rendering breaking and canvases being empty; see PR #19604.
  • 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.

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

Read more

v4.10.38

01 Jan 13:39
f9bea39
Compare
Choose a tag to compare

This release contains improvements for accessibility, the annotation editor, font conversion, performance, SMasks and the viewer.

Changes since v4.9.155

v4.9.155

05 Dec 21:21
a4eb840
Compare
Choose a tag to compare

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

v4.9.124

01 Dec 18:59
867aaf0
Compare
Choose a tag to compare

This release contains improvements for the annotation editor, form rendering, image conversion, text selection and the viewer.

Changes since v4.8.69

v4.8.69

02 Nov 18:51
3634dab
Compare
Choose a tag to compare

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, with AbortSignal.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 with AbortSignal.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 the AltTextManager 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 the web/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 the GrabToPan 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} and eslint-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 by eslint-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 a Uint8Array 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 the stringToUTF16HexString 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 in getPdfManager on the worker-thread by @Snuffleupagus in #18992
  • Move the various DOM-factories into their own files by @Snuffleupagus in #18988

v4.7.76

06 Oct 11:42
8b73b82
Compare
Choose a tag to compare

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 different IPDFStream 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 different IPDFStream 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, to getDocument 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 in getDocument by @Snuffleupagus in #18785
  • Remove trackTransform arguments from CachedCanvases.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 with AbortSignal.any() by @Snuffleupagus in #18842
  • [Editor] Make stamp annotations editable (bug 1921291) by @calixteman in https://github.com/mozilla/pdf.js/pul...
Read more

v4.6.82

01 Sep 17:31
9b54191
Compare
Choose a tag to compare

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 and BaseStandardFontDataFactory 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 into PDFWorker 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 in PDFViewer 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...
Read more

v4.5.136

27 Jul 12:00
3a21f03
Compare
Choose a tag to compare

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 and updateTextLayer 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 into RenderingIntentFlag by @Snuffleupagus in #18387
  • Remove the renderForms parameter from the Annotation getOperatorList 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 around AppOptions 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

v4.4.168

01 Jul 18:01
19fbc89
Compare
Choose a tag to compare

This release contains improvements for annotations, annotation editing, font conversion, image decoding, performance, scripting, text selection, test/release infrastructure and the viewer.

Changes since v4.3.136

  • Bump the stable version in pdfjs.config by @timvandermeij in #18182
  • Update dependencies and translations to the most recent versions by @timvandermeij in #18183
  • [api-minor] Simplify how the list of points are structured by @calixteman in #18163
  • Bump library version to 4.4 by @calixteman in #18192
  • Disconnect the resize observer and remove scroll listener when unbinding window events by @calixteman in #18193
  • Switch to page-scrolling mode when the pdf has more than 10000 pages (bug 1895050) by @calixteman in #18189
  • Upgrade gulp to version 5.0.0 by @timvandermeij in #18197
  • Decompress when it's possible images in using DecompressionStream by @calixteman in #18167
  • Fix decoding of JPX images having an alpha channel by @calixteman in #18204
  • Change openjpeg.js license from Apache 2 to BSD 2-clause by @calixteman in #18205
  • Change DownloadManager.download to use Uint8Array-data by @Snuffleupagus in #18216
  • Inline the #finishRendering helper in TextLayerBuilder.prototype.render by @Snuffleupagus in #18217
  • [Editor] Support dragging & dropping images on a pdf (bug 1900907) by @calixteman in #18214
  • Update our OpenJPEG decoder in order to fix a malloc failure due to big image (bug 1901253) by @calixteman in #18219
  • Don't display annotations with a PMD (barcode stuff) entry (bug 1899804) by @calixteman in #18228
  • Update dependencies and translations to the most recent versions by @timvandermeij in #18231
  • Add an option to enable/disable hardware acceleration (bug 1902012) by @calixteman in #18238
  • Remove the DownloadManager.downloadUrl method by @Snuffleupagus in #18236
  • Display a wait cursor when saving by @calixteman in #18243
  • Fix an query with an empty selector in integration tests by @calixteman in #18246
  • Improve how the wait-cursor is toggled when copying all text by @Snuffleupagus in #18244
  • Improve date parsing in the js sandbox by @calixteman in #18234
  • Don't recommend installing gulp-cli globally in the README and on the website by @timvandermeij in #18247
  • Replace Wintersmith with Metalsmith by @timvandermeij in #18248
  • Include the generated API documentation directly on the API page by @timvandermeij in #18251
  • Improve some old code in the src/display/api.js file by @Snuffleupagus in #18250
  • Compute correctly the unitsPerEm value from the fontMatrix when converting a font (bug 1539074) by @calixteman in #18253
  • Implement reproducibility for the JSDoc builds by @timvandermeij in #18256
  • Ensure that saving, in the viewer, works for partially loaded documents by @Snuffleupagus in #18254
  • Implement reproducibility for the release builds by @timvandermeij in #18258
  • Update jpx decoder by @calixteman in #18257
  • Only disable HWA in m-c build and for local dev by @calixteman in #18255
  • Only use the l10n fallback bundle when normal ftl-file fetching failed (issue 18264) by @Snuffleupagus in #18270
  • Ensure that dependencies are added to the operatorList for locally cached images (issue 18259) by @Snuffleupagus in #18269
  • Clean up before closing the tab in integration tests by @calixteman in #18271
  • Add a helper function for handling locally cached image data (PR 18269 follow-up) by @Snuffleupagus in #18273
  • [Editor] Set the canvas in the stamp editor at the right position in odd spread mode by @calixteman in #18275
  • [Editor] Fix intermittent failure in integration test when highlighting with the keyboard by @calixteman in #18277
  • Enable dumpio when running the tests in order to have some useful debug data by @calixteman in #18260
  • Don't save modified documents, when running tests, upon closing the viewer (issue 18274) by @Snuffleupagus in #18282
  • Pause l10n (i.e. disconnect the mutation observer in fluent) when closing the viewer by @calixteman in #18280
  • Avoid to call a function in the js sandbox when it has been destroyed by @calixteman in #18286
  • [Editor] Remove the various listeners when destroying the editor manager by @calixteman in #18284
  • Update dependencies to the most recent versions and upgrade eslint-plugin-unicorn to version 54.0.0 by @timvandermeij in #18278
  • Update the regular expression in tweakWebpackOutput to support minified-legacy builds (issue 18290) by @Snuffleupagus in #18292
  • Add a new helper, in the viewer, to close everything during testing by @Snuffleupagus in #18289
  • Respect maxCanvasPixels when computing canvas dimensions by @nicolo-ribaudo in #18218
  • [Editor] Don't create an observer for the stamp annotation after the viewer has been closed by @calixteman in #18301
  • Don't throw if there's not enough data to get the header in FlateStream (issue 18298) by @Snuffleupagus in #18304
  • [Editor] Correctly set the accessibility data when copying & pasting a stamp with an alt text (bug 1903589) by @calixteman in #18296
  • Close PDFFindBar when closing the viewer during testing by @Snuffleupagus in #18302
  • Always use DW if it's a number for the font default width (bug 1903731) by @calixteman in #18306
  • Use the new formatted issue templates by @nicolo-ribaudo in #18308
  • Expose entireWord in updateFindControlState by @bootleq in #18303
  • Update dependencies and translations to the most recent versions by @timvandermeij in #18312
  • Try to shutdown Fluent "more" when closing the viewer during testing by @Snuffleupagus in #18313
  • Disable system addon updates for Firefox in testing mode by @timvandermeij in #18316
  • Close the page in the text layer caret selection integration test by @timvandermeij in #18317
  • Fix the "copy/paste from a tab to an other" stamp editor integration test by @timvandermeij in #18320
  • Don't ignore errors in the Jasmine suite start/end stages by @timvandermeij in #18321
  • Include a security policy for PDF.js by @timvandermeij in #18311
  • Improve the security policy by @timvandermeij in #18323
  • Fix the computation of unitsPerEm when the fontMatrix has some negative coefficients by @calixteman in #18324
  • Fix the timeout logic in the waitForEvent integration test helper function by @timvandermeij in #18325
  • Use waitForEvent in the pasteFromClipboard integration test helper function by @timvandermeij in #18326
  • Override the minimum font size when rendering the text layer by @nicolo-ribaudo in #18283
  • Remove the requestAnimationFrame work-around in L10n.prototype.destroy (PR 18313 follow-up) by @Snuffleupagus in #18333
  • Add the possibility to dispatch some pdf.js events at the chrome level (bug 1904585) by @calixteman in #18332
  • Refactor the copy/paste logic in the integration tests and fix a race condition involving the waitForEvent integration test helper function by @timvandermeij in #18331
  • Cancel the requestAnimationFrame in the watchScroll helper (PR 18193 follow-up) by @Snuffleupagus in #18335
  • Cancel the requestAnimationFrame in the API when cancelling rendering by @Snuffleupagus in #18336
  • Add a port option to gulp server by @calixteman in #18339
  • Fix intermittent failures with freetext and...
Read more

v4.3.136

28 May 16:43
0cec644
Compare
Choose a tag to compare

This release contains improvements for performance, image rendering, text selection, annotation editing, accessibility, handling of corrupted documents, integration with third-party frameworks (see #17245) and the viewer.

Changes since v4.2.67