Releases: mozilla/pdf.js
v4.0.379
This release mainly contains improvements and bugfixes for the annotation editor functionality.
Changes since v4.0.269
- Bump the stable version in
pdfjs.configby @timvandermeij in #17339 - Don't throw when there isn't enough data to get block info in flate stream by @calixteman in #17340
- [Editor] Avoid to add a new ink editor when we aren't editing anymore by @calixteman in #17344
- [Editor] Add a new editor to highlight some text in a pdf (bug 1866119) by @calixteman in #17317
- [Editor] Move the alt text button in the editor toolbar by @calixteman in #17329
- [Firefox] Remove the
FirefoxCom.requestSyncmethod by @Snuffleupagus in #17338 - [Editor] Fix subtype for telemetry data (follow-up of #17329) by @calixteman in #17351
- [Editor] Fix the colors in HCM when hovering a button in the editor toolbar by @calixteman in #17352
- Use "count" and not "clickCount" when calling page.mouse.click() by @whimboo in #17358
- Remove the "transitionend" event listener from the default viewer (issue 17347) by @Snuffleupagus in #17360
- [Firefox] Restore opening of PDF attachments (issue 17353, bug 1867764) by @Snuffleupagus in #17363
- [Editor] Disable mouse events when leaving the highlight mode by @calixteman in #17364
- fuzz: initial integration by @manunio in #17337
- Modernize the
calculateMD5andverifyManifestFilestest helper functions by @timvandermeij in #17367 - [Editor] Make sure that all layers are disabled when an editing session is done by @calixteman in #17370
- [Editor] Always give the focus to the ink editor when starting drawing (bug 1867588) by @calixteman in #17375
- [Editor] Avoid conflicts between new persistent refs and the ones created when saving (bug 1865341) by @calixteman in #17374
- Remove the unused
--editor-toolbar-active-bg-colorCSS variable (PR 17352 follow-up) by @Snuffleupagus in #17377 - [Editor] Don't remove elements from the draw layer after it has been destroyed by @calixteman in #17380
- [Editor] Highlight must keep selected after the document has been scrolled by @calixteman in #17381
- Set text field value as a string when it's for a date or a time (bug 1868503) by @calixteman in #17385
- [Editor] Add a color picker with predefined colors for highlighting text (bug 1866434) by @calixteman in #17359
- Remove focus from the toggleButton when closing the sidebar with a mouse (issue 17361) by @Snuffleupagus in #17386
- [Editor] Avoid to have a color picker for highlighting twice in the main toolbar by @calixteman in #17388
- Use page.evaluateHandle when we want to await on document promises in integration tests by @calixteman in #17387
- Update Puppeteer to version 21.6.0 and force "CDP" protocol by @whimboo in #17393
- Switch Puppeteer tests from CDP to WebDriver BiDi by @whimboo in #17172
- Limit the amount of console "spam" during fuzz tests (PR 17337 follow-up) by @Snuffleupagus in #17372
- Collect a few non-MOZCENTRAL
AppOptionsdefault values together by @Snuffleupagus in #17391 - Support Annotations with corrupt /BS-entries by @Snuffleupagus in #17395
- Re-factor how the
sandboxBundleSrcoption is passed toPDFScriptingManagerby @Snuffleupagus in #17397 - Don't run beforeunload callback when closing page in integration tests by @calixteman in #17398
- Set a print listener as soon as possible in the autoprint integration test by @calixteman in #17400
- Bump actions/setup-python from 4 to 5 by @dependabot in #17411
- Bump actions/deploy-pages from 2 to 3 by @dependabot in #17412
- Adds missing button closing tag by @emielmolenaar in #17415
- [Editor] Add some missing strings to localize for highlighting by @calixteman in #17414
- Modernize the code in the
test/downloadutils.mjsfile by @timvandermeij in #17431 - Center radio button checkmark by @jdanyow in #17429
- Bump actions/upload-artifact from 3 to 4 by @dependabot in #17435
- Bump github/codeql-action from 2 to 3 by @dependabot in #17434
- Revert "Bump actions/upload-artifact from 3 to 4" by @Snuffleupagus in #17436
- Prevent errors in
AnnotationEditorUIManager.destroyif thealtTextManageris undefined by @pulsejet in #17445 - Toggle the visibility of the
outlineOptionsContainer, in the sidebar, using only CSS by @Snuffleupagus in #17441 - Attempt to further reduce re-parsing for globally cached images (PR 11912, 16108 follow-up) by @Snuffleupagus in #17428
- Update packages and translations by @Snuffleupagus in #17456
- Bump actions/upload-artifact from 3 to 4 by @dependabot in #17460
- Bump actions/deploy-pages from 3 to 4 by @dependabot in #17461
- Remove the internal "toolbarreset"/"secondarytoolbarreset" events and slightly re-factor the code by @Snuffleupagus in #17464
v4.0.269
This release contains improvements for the annotation editor, including a UI for deleting annotations and experimental support for highlight annotations, as well as bugfixes and improvements after feedback on the initial PDF.js 4.0 release.
Changes since v4.0.189
- Bump the stable version in
pdfjs.configby @timvandermeij in #17226 - Don't try to collect a nonexistent field because of an invalid ref by @calixteman in #17233
- Ensure that
fieldObjectsand#collectFieldObjectshandles References correctly by @Snuffleupagus in #17242 - Don't avoid to execute the Blur callback when blurring a text field (bug 1863910) by @calixteman in #17247
- Remove the "Open file"-button from the main toolbar by @Snuffleupagus in #17244
- [Editor] Add a toolbar to selected editors with a button to delete it (bug 1863763) by @calixteman in #17243
- Fix the maxp table version in font to make it visible on Windows by @calixteman in #17253
- Tweak the background-color of the
editorParamsToolbars by @Snuffleupagus in #17256 - Update dependencies and translations to the most recent versions by @timvandermeij in #17260
- Set a type for the
Blobused increateCDNWrapper(issue 17259) by @Snuffleupagus in #17265 - Rename *.d.ts to *.d.mts by @tamuratak in #17252
- Ensure that the viewer waits for the library to complete loading (issue 17228) by @Snuffleupagus in #17255
- [Editor] Avoid to click on the delete button in the freetext integration tests by @calixteman in #17264
- Move linting to a separate GitHub Actions workflow by @Snuffleupagus in #17267
- Move
gulp typestestto a separate GitHub Actions workflow by @Snuffleupagus in #17266 - Clean-up the CI workflow a bit by @Snuffleupagus in #17268
- [GENERIC viewer] Fallback to the short-format of the language code (issue 17269) by @Snuffleupagus in #17270
- Fix typo in the
--hcm-highlight-filterCSS variable name (issue 17254) by @Snuffleupagus in #17272 - Get the field name from its parent when it doesn't have one when collecting fields (bug 1864136) by @calixteman in #17271
- Introduce a GitHub Actions workflow for running the font tests by @timvandermeij in #17263
- Re-factor the
L10n-implementations to use lowercase language-codes internally by @Snuffleupagus in #17273 - Re-factor how the
GenericL10nclass fetches localization-data by @Snuffleupagus in #17277 - [Editor] Add a tooltip to the delete button by @calixteman in #17281
- Restore the option to set light/dark mode for chromium and generic builds by @calixteman in #17293
- [Editor] Make the alt-text button large enough to display correctly whatever string by @calixteman in #17300
- Throw a
JpegErrorwhen a JPEG image has no frame data (issue 17302) by @Snuffleupagus in #17303 - [Editor] Add a way to extract the outlines of a union of rectangles by @calixteman in #17291
- Re-factor the loading-icons used in the viewer toolbars by @Snuffleupagus in #17287
- [Editor] Add support for saving/printing a newly added Highlight annotation (bug 1865708) by @calixteman in #17304
- Move the editor-buttons in the main toolbar by @Snuffleupagus in #17294
- Make sure that only one radio button is checked in its group (bug 1864136) by @calixteman in #17318
- [Editor] Only focus the canvas for mouse events when drawing in the canvas by @calixteman in #17330
- Use the
fetchDatahelper function in more cases by @Snuffleupagus in #17328 - Fix examples/webpack/README.md. by @tamuratak in #17320
- Remove language codes from text strings. by @calixteman in #17331
- Update dependencies and translations to the most recent versions by @timvandermeij in #17334
v4.0.189
PDF.js 4.0 is a major release that contains a number of API changes, features and bugfixes. The following changes are highlighted:
- Conversion to JavaScript modules for the builds
- Conversion to Fluent for localization
- Optimizations for CPU and memory usage
- Improvements and bugfixes for the annotation editor and annotation rendering
- Removal of the deprecated SVG back-end
- Removal of other deprecated functionality and options
The complete list of changes in this release is shown below. If you're upgrading to PDF.js 4.0 we recommend checking the changes prefixed with [api-minor] and [api-major] since those might require updates to your code.
Changes since v3.11.174
- Bump the stable version in
pdfjs.configby @timvandermeij in #17024 - [Editor] Slightly postpone the move in the DOM in order to not block the UI (bug 1854991) by @calixteman in #17031
- [Editor] Remove the class fooEditing from the layer when destroying it by @calixteman in #17030
- [Editor] Don't try to add data to the struct tree when there is no accessibilityData (bug 1855157) by @calixteman in #17034
- [Editor] Disabled the alt-text button when the editor is being resized by @calixteman in #17039
- [Editor] Remove unused CSS rules for the altText "Save"-button (PR 17015 follow-up) by @Snuffleupagus in #17040
- [Editor] Clear the different timeouts when destroying by @calixteman in #17041
- StructParents entry isn't required on pages with no tagged contents (bug 1855641) by @calixteman in #17043
- [Editor] Disable pointer events in the parent layer while an editor is resized by @calixteman in #17045
- Remove comments from the built CSS files by @Snuffleupagus in #17035
- Make downloadManager optional in JSDoc types by @ayushmourya in #17038
- Update Puppeteer to the latest version by @Snuffleupagus in #17027
- Convert
layerPropertiesto an Object (PR 15811 follow-up) by @Snuffleupagus in #17026 - [Editor] Remove almost all the waitForTimeout from the freetext integration tests by @calixteman in #17036
- Remove the timeouts from the inkEditor integration tests by @calixteman in #17048
- Remove the timeouts from the stampEditor integration tests by @calixteman in #17049
- [Editor] Make a deleted (when it was invisible) editor undoable by @calixteman in #17050
- Use a standard
exportstatement in theweb/pdfjs.jsfile by @Snuffleupagus in #17052 - Add alt-text svg images to the dist (issue #17044) by @calixteman in #17053
- Fix new intermittent failures with ink and stamp tests by @calixteman in #17051
- [Editor] Don't show the alt-text button when the alt-text dialog is visible by @calixteman in #17032
- [Editor] Use the alt text to descibe the canvas used to display the image by @calixteman in #17058
- Remove timeouts from the copy_paste integration test by @calixteman in #17059
- [api-major] Remove various deprecated functionality and options by @Snuffleupagus in #16774
- [api-major] Remove the SVG back-end (PR 15173 follow-up) by @Snuffleupagus in #16699
- Ensure that readonly TextWidget-annotations are rendered when forms are disabled (issue 17064) by @Snuffleupagus in #17066
- Compute correctly the bounding box of a transformed rectangle (fixes #17065) by @calixteman in #17067
- Bump library version to
4.0by @Snuffleupagus in #17063 - Add support for "GoToE" actions with destinations (issue 17056) by @Snuffleupagus in #17060
- [Editor] Support resizing editors with the keyboard (bug 1854340) by @calixteman in #17062
- [Editor] Add role=spinbutton to resizers when they're used with the keyboard by @calixteman in #17072
- Update the noHTML flag to take into account the hasOwnCanvas one (fixes #17069) by @calixteman in #17070
- Add a HTML containter for locked FreeText annotations in order to be able to display a popup (follow-up of #17070) by @calixteman in #17075
- Enable some Stylelint color-related rules to slightly reduce file sizes by @Snuffleupagus in #17076
- Make the toolbar buttons usable with keyboard when Page Fit is used by @calixteman in #17074
- [Editor] Add the possibility to create a new editor in using the keyboard (bug 1853424) by @calixteman in #16761
- Remove unnecessary alpha-value from CSS
rgbcolors by @Snuffleupagus in #17077 - [api-major] Output JavaScript modules in the builds (issue 10317) by @Snuffleupagus in #17055
- Output
pdf.scripting.jsas a JavaScript module (PR 17055 follow-up) by @Snuffleupagus in #17080 - [api-minor] Stop polyfilling
structuredClonein legacy builds by @Snuffleupagus in #17086 - Activate the selector check for the
autoprintintegration test as soon as possible by @timvandermeij in #17090 - Bump postcss from 8.4.30 to 8.4.31 by @dependabot in #17093
- Rename
web/debugger.jssince it's actually a JavaScript module (PR 17055 follow-up) by @Snuffleupagus in #17094 - Fix the protocol timeout configuration for Puppeteer by @timvandermeij in #17095
- [Debugger] Add some info about substitution font by @calixteman in #17073
- Update the "Interactive examples" links (PR 17055 follow-up) by @Snuffleupagus in #17105
- Don't store page-level data, in the API, after cleanup has run (bug 1854145) by @Snuffleupagus in #17106
- Remove useless chrome.properties file (bug 1858700) by @calixteman in #17113
- Convert the
integrationtest-files to JavaScript modules by @Snuffleupagus in #17112 - Output JavaScript modules for the
LIBbuild-target (PR 17055 follow-up) by @Snuffleupagus in #17114 - Tweak
PDFWorkerUtil.createCDNWrapperto account for JavaScript modules (PR 17055 follow-up) by @Snuffleupagus in #17098 - Use native
import mapsin development mode by @Snuffleupagus in #14743 - Enable the
import/no-commonjsESLint plugin rule by @Snuffleupagus in #17117 - Remove obsolete
src/shared/{cffStandardStrings,fonts_utils}.jsfiles by @timvandermeij in #17120 - Update translations/dependencies to the most recent versions and fix dependency vulnerabilities by @timvandermeij in #17119
- Remove Escape key press from the
autoprintintegration test, and tweak the protocol timeout configuration for Puppeteer by @timvandermeij in #17122 - Update the ESLint
globalslist (PR 17055 follow-up) by @Snuffleupagus in #17123 - Fix intermittent problems on Windows in the XFA search integration test by @timvandermeij in #17125
- Reduce unnecessary type conversion in
writeStreamby @Snuffleupagus in #17134 - Re-factor the blob-URL caching in
DownloadManager.openOrDownloadDataby @Snuffleupagus in #17131 - [api-minor] Move to Fluent for the localization (bug 1858715) by @calixteman in #17115
- Use a CSS-only solution to set the
dropdownToolbarButtonwidth (issue 17137) by @Snuffleupagus in #17138 - Only bundle
NullL10nin GENERIC builds (bug 1859818) by @Snuffleupagus in #17135 - Try to make the
Preferences/AppOptionsinitialization slightly more efficient by @Snuffleupagus in #17130 - Use object destructuring, rather than the
mergehelper, in the gulpfile by @Snuffleupagus in #17133 - [L10n] Don't try to connect the root element when it has already been done by @calixteman in #17142
- Initialize the
L10n-instance as soon as possible in Firefox (PR 17115 follow-up) by @Snuffleupagus in #17140 - Fix size of maskCanvas to draw image masks correctly by @JT-External in #17148
- Use a
ResizeObserverto update the layout ofPDFFindBarby @snuff...
v3.11.174
This release primarily features accessibility improvements for the annotation editor and fixes for the type definitions.
Changes since v3.10.111
- Bump versions in
pdfjs.configby @timvandermeij in #16876 - Add tagged annotations in the structure tree (bug 1850797) by @calixteman in #16886
- Fix the id used in aria-controls used to make a relationship between the popup and its parent by @calixteman in #16889
- Fix JSDoc types by @stof in #16888
- Ignore null-chars when using structTree-data in the viewer by @Snuffleupagus in #16891
- Stop using
removeNullCharactersin theaddLinkAttributeshelper function by @Snuffleupagus in #16892 - [Type-definitions] Fix type generator to support import maps by @stof in #16890
- Update packages and translations by @Snuffleupagus in #16895
- A couple of small
InternalRenderTaskchanges by @Snuffleupagus in #16881 - Drop redundant styles from .grab-to-pan-grab:active by @Rob--W in #16896
- Make annotations focusable (bug 1851489) by @calixteman in #16898
- Unconditionally render non-form annotations in the annotation layer (bug 1851498) by @calixteman in #16899
- Support downloading FileAttachment annotations with the keyboard by @Snuffleupagus in #16902
- Only call the focus/blur callbacks when it's necessary (bug 1851517) by @calixteman in #16905
- Bump actions/checkout from 3 to 4 by @dependabot in #16897
- [Editor] Avoid to use parent of editors in destroyed pages by @calixteman in #16911
- Construct the correct field name and strip out classes when searching by @calixteman in #16915
- [Editor] Add the parent tag id (if any) to the serialized editors (bug 1845087) by @calixteman in #16916
- Simplify writeObject function by @calixteman in #16921
- Slightly reduce asynchronicity when parsing Annotations by @Snuffleupagus in #16920
- Update packages and translations by @timvandermeij in #16925
- Enable unit test "creates pdf doc from non-existent URL" by @timvandermeij in #16932
- [Editor] Only get back the focus when it has been lost after an editor has been moved in the DOM by @calixteman in #16940
- Ensure that the entire PDF document is loaded before we begin saving it by @Snuffleupagus in #16941
- [Editor] Move an editor in the DOM just after having moved it on the screen by @calixteman in #16944
- [Editor] Change the style of the bounding box and the resizers (bug 1852897) by @calixteman in #16943
- [Editor] Change the colors of the outline and the resizers for selected editors in HCM by @calixteman in #16950
- Make it possible to clear the cache, used by the
getBfunction insrc/core/pattern.jsby @Snuffleupagus in #16951 - Remove the remaining closures in the
src/core/colorspace.jsfile by @Snuffleupagus in #16954 - Simplify the
EvaluatorPreprocessor.opMapgetter a little bit by @Snuffleupagus in #16956 - Use
awaiteven more in the "SaveDocument" worker-thread handler by @Snuffleupagus in #16957 - Update Puppeteer to version 21.2.1 by @timvandermeij in #16958
- Remove the closure from the
CipherTransformFactoryclass by @Snuffleupagus in #16959 - Remove (some) closures from
web/debugger.jsby @Snuffleupagus in #16961 - Fix integration test "Interaction in bug1844576.pdf must check that a field has the correct formatted value" by @timvandermeij in #16962
- Fix integration test "FreeText Editor Move several FreeTexts must move several annotations" by @timvandermeij in #16964
- [Editor] Add the ability to create/update the structure tree when saving a pdf containing newly added annotations (bug 1845087) by @calixteman in #16938
- [Editor] Add a button to trigger a dialog for adding an alt text (bug 1844952) by @calixteman in #16955
- [Editor] Avoid to have some transparency in the icon used in the 'Alt text' button by @calixteman in #16972
- Fix a CSS linter issue in removing a useless comma by @calixteman in #16974
- [Editor] Use the same height as in the svg for icons for the alt-text button by @calixteman in #16975
- [Editor] Add a dialog box in order to get alt-text data (bug 1844952) by @calixteman in #16952
- [Editor] Make the border of the resizers slightly rounded by @calixteman in #16980
- [Editor] Update alt text dialog description by @calixteman in #16979
- Ignore optional content with missing /Type-entries by @Snuffleupagus in #16981
- [Editor] Allow the user to add and save an alt-text for images (bug 1844952) by @calixteman in #16977
- [Editor] Remove copy/paste listener when alt text dialog is displayed by @calixteman in #16982
- [Editor] Add a tooltip showing the alt text when hovering the alt-text button (bug 1844952) by @calixteman in #16983
- Don't try to close the
altTextdialog if it's not open (PR 16977 follow-up) by @Snuffleupagus in #16984 - [Editor] Add more telemetry for the 'add image' feature (bug 1853960) by @calixteman in #16987
- [Editor] Change some strings in the alt-text dialog by @calixteman in #16986
- [Editor] Change the colors for the disabled Save button in alt text dialoag in HCM by @calixteman in #16985
- Use the new "reporttelemetry" event in more viewer components by @Snuffleupagus in #16989
- [Editor] Add an aria-label to the alt-text button depending on its state by @calixteman in #16990
- [Editor] Tweak few values after review from UX by @calixteman in #16988
- Ensure that all "alt_text_*" save-telemetry values are boolean (PR 16987 follow-up) by @Snuffleupagus in #16991
- Enable the Stylelint
declaration-block-no-duplicate-propertiesrule (issue 16995) by @Snuffleupagus in #16996 - Make one of the m-c linters happy by @calixteman in #16998
- [GeckoView] Avoid bundling the
AltTextManagerclass, since it's unused by @Snuffleupagus in #16993 - [GeckoView] Exclude
annotation_editor_layer_builder.cssin the build (issue 16994) by @Snuffleupagus in #16999 - Restore the
collectFieldsparameter in the Annotation code (issue 17000) by @Snuffleupagus in #17003 - Prevent wheel/touch zooming in the viewer when a dialog is open by @Snuffleupagus in #17004
- [Editor] Avoid to darken the current editor when opening the alt-text dialog by @calixteman in #17002
- [Editor] Make the altText dialog labels part of telemetry (PR 16987 follow-up) by @Snuffleupagus in #17009
- [Editor] Darken the toolbar when the alt-text dialog is opened by @calixteman in #17010
- Don't bother trying to unregister the "reporttelemetry" event listener by @Snuffleupagus in #17014
- [Editor] Tweak the save flow in the alt-text dialog by @calixteman in #17005
- [Editor] Let the Save button always enabled in the alt-text dialog by @calixteman in #17015
- Don't reset
this.#currentEditorwhen destroying the dialog by @Snuffleupagus in #17011 - [Editor] Report telemetry when closing the altText dialog with
Esc(PR 16987 follow-up) by @Snuffleupagus in #17012 - [Editor] Disable context menu on alt-text button and in the associated dialog by @calixteman in #17016
- Fix integration test "FreeText Editor FreeText (edit existing in double clicking on it) must move an annotation" by @timvandermeij in #16967
- Fix integration test "Interaction in issue15053.pdf must check that a button and text field with a border are hidden" by @timvandermeij in https://github.com/mozilla/pd...
v3.10.111
This release primarily features improvements and bugfixes for the annotation editor.
Changes since v3.9.179
- Bump versions in
pdfjs.configby @timvandermeij in #16769 - Add the color changes in the annotation storage by @calixteman in #16767
- Fix typo in the
baseVersioncommit hash (PR 16769 follow-up) by @Snuffleupagus in #16770 - Make sure WillPrint ran before starting printing by @calixteman in #16766
- [GeckoView] Add missing CSS variables for the dialog functionality by @Snuffleupagus in #16771
- [Editor] Limit image types to the ones supported by the browser (bug 1846230) by @calixteman in #16773
- [api-minor] Don't print hidden annotations (bug 1815196) by @calixteman in #16029
- [GeckoView] Allow to query pdf.js to know if we can avoid to print a pdf (bug 1846296) by @calixteman in #16776
- [api-minor] Deprecate the
PDFDocumentProxy.getJavaScriptmethod by @Snuffleupagus in #16779 - [Editor] Let SVG images be resized horizontally/vertically without keeping the aspect ratio (bug 1846727) by @calixteman in #16780
- [Editor] Use a getter and not a function for the _checkIfSVGFitsInCanvas (bug 1846727) by @calixteman in #16784
- [Editor] Stop the resize session when the window is blurred by @calixteman in #16786
- [Editor] Refactor dragging and dropping an editor (bug 1802895, bug 1844618) by @calixteman in #16781
- Update packages and translations by @Snuffleupagus in #16795
- Attempt to expose e.g.
pdfjsLibglobally regardless of how the library is imported (issue 16778) by @Snuffleupagus in #16790 - Use the
roundCSS function in thesetLayerDimensionshelper function by @Snuffleupagus in #16794 - [Editor] Change the resize cursors to bidirectional variants by @Snuffleupagus in #16799
- [Editor] Fix the dimensions of the annotation editor layer (follow-up of #16794) by @calixteman in #16798
- [Annotation] Strip out the array index in the path only when the path is from a terminal node (bug 1847733) by @calixteman in #16807
- Take fill-alpha into account with default icons for FileAttachment annotations (issue 16800) by @Snuffleupagus in #16804
- [Editor] Move the stamp button on the right of the pen one (bug 1847707) by @calixteman in #16802
- [Editor] Fix the resizing of an editor when it's rotated (bug 1847268) by @calixteman in #16793
- [Editor] Avoid to add a new line when hitting enter with a selected freetext editor by @calixteman in #16808
- [Editor] Move an the editor div in the DOM once a translation with the keyboard is done by @calixteman in #16809
- [Editor] Avoid to unselect some editors when the main window is focused by @calixteman in #16812
- [Editor] Move the parameter elements for FreeText and Ink annotations at the right place (follow-up of #16802) by @calixteman in #16813
- [Editor] Avoid to add a cancelled added image in the undo/redo stack by @calixteman in #16818
- Introduce even more optional chaining in the code-base by @Snuffleupagus in #16815
- [Editor] Avoid to have slightly truncated images because of non-integer canvas dimensions by @calixteman in #16820
- [Editor] Add the possibility to move all the selected editors with the mouse (bug 1847894) by @calixteman in #16811
- [Editor] Don't forget to encrypt image streams (see issue #16821) by @calixteman in #16822
- Fallback to check all pages when getting the pageIndex of FieldObjects by @Snuffleupagus in #16823
- [Editor] Avoid to unselect when a new page is rendered by @calixteman in #16824
- [Editor] Avoid showing the context menu or resizing when a resizer is right clicked by @calixteman in #16825
- Re-factor
PDFViewerApplication._initializeAutoPrintslightly (PR 16779 follow-up) by @Snuffleupagus in #16810 - [Editor] Add a button to explicitly add an image (bug 1848108) by @calixteman in #16819
- [Editor] Remove the stamp editor displayed when the image was loading (bug 1848313) by @calixteman in #16826
- [Editor] Add the possibility to paste an image from the clipboard (bug 1848317) by @calixteman in #16828
- Remove the
src/core/Babel excludes, since they no longer seem necessary by @Snuffleupagus in #16829 - Remove the "no-babel-preset" comment used with the LIB build-target (PR 16829 follow-up) by @Snuffleupagus in #16831
- Avoid using the global
workerPortwhen destruction has started, but not yet finished (issue 16777) by @Snuffleupagus in #16830 - Improve the "write a new annotation, save the pdf and check that the text content is correct" unit-test (PR 16559 follow-up) by @Snuffleupagus in #16835
- Add a helper method to reduce duplication in
StampEditor.#getBitmapby @Snuffleupagus in #16840 - Update the
StampEditor.isEmptymethod to handle File (PR 16828 follow-up) by @Snuffleupagus in #16844 - Update packages and translations by @Snuffleupagus in #16850
- Add a unit-test for the "correct" way of using the global
workerPortin parallel (PR 16830 follow-up) by @Snuffleupagus in #16834 - Initialize the
PDFWorker.#workerPortsWeakMap lazily by @Snuffleupagus in #16852 - Add the
.mjsfile-extension to the EditorConfig by @Snuffleupagus in #16860 - Add the "aria-controls" attribute to the StampEditor toolbar-button by @Snuffleupagus in #16858
- Revert fix for bug 1838855 (bug 1849876) by @calixteman in #16862
- Don't reset all fields when the resetForm argument is an array by @calixteman in #16864
- Exclude
lineEndings, in Annotation-data, in MOZCENTRAL builds (PR 14899 follow-up) by @Snuffleupagus in #16856 - Introduce more optional chaining in the code-base by @Snuffleupagus in #16875
v3.9.179
This release features improvements in the areas of annotation editing (including a new stamp editor), accessibility, form rendering/saving, text selection/copying and other bugfixes.
Changes since v3.8.162
- Bump versions in
pdfjs.configby @timvandermeij in #16629 - Tweak the README slightly by @Snuffleupagus in #16635
- [Editor] Fix dimensions of a rotated FreeText after a dimensions change by @calixteman in #16637
- [Editor] When saving/printing a FreeText, use the identity matrix for the AP and set the cm when rendering it by @calixteman in #16640
- [Editor] Move the 'keep aspect ratio' stuff to the AnnotationEditor level by @calixteman in #16641
- [Editor] Use css aspect-ratio property to keep the aspect ratio during resize by @calixteman in #16645
- Fix typos when handling CMYK colors in
src/core/default_appearance.jsby @Snuffleupagus in #16646 - [Editor] Add a basic stamp editor (bug 1790255) by @calixteman in #16585
- [Editor] Add l10n-strings for the Stamp-editor (PR 16585 follow-up) by @Snuffleupagus in #16649
- Improve
parseAppearanceStreamto handle more "complex" ColorSpaces by @Snuffleupagus in #16648 - [Editor] Avoid to throw when deleting some invisible editors by @calixteman in #16652
- [Editor] Support svg images in the stamp annotation by @calixteman in #16650
- Don't try to hide an already invisible PopupAnnotation (issue 16660) by @Snuffleupagus in #16661
- [Editor] Edit an existing FreeText annotation in double-clicking on it (bug 1787298) by @calixteman in #16659
- Add unit-tests to check that more PDF.js APIs expose the expected functionality by @Snuffleupagus in #16658
- [CRX] Drop code supporting ancient Chrome versions by @Rob--W in #16631
- Correct recognition of fragments at document load by @Rob--W in #16630
- [ESM] Convert the
external/importL10n-folder to use standard modules by @Snuffleupagus in #16663 - [ESM] Convert
parseMinifiedto useimport()syntax by @Snuffleupagus in #16664 - [ESM] Convert most of
test-folder to use standard modules by @Snuffleupagus in #16665 - [ESM] Convert the "wintersmith"-task to use
import()syntax by @Snuffleupagus in #16666 - [ESM] Convert the "cmaps"-task to use
import()syntax by @Snuffleupagus in #16667 - [ESM] Convert the "default preferences"-handling to use
import()syntax by @Snuffleupagus in #16671 - [Editor] Cheat the stamp editor icon to make a linter in m-c happy by @calixteman in #16672
- [ESM] Convert the
gulpfileto use standard modules by @Snuffleupagus in #16668 - [ESM] Convert the
external/builder/-folder to use standard modules by @Snuffleupagus in #16669 - [Editor] Try to make the position of an edited FreeText the more accurated as possible by @calixteman in #16642
- Re-enable editing, if necessary, when exiting PresentationMode (PR 16659 follow-up) by @Snuffleupagus in #16675
- Tweak the
writeStreamimplementation slightly by @Snuffleupagus in #16678 - Access the
isOffscreenCanvasSupportedoption once inPDFViewerApplication._initializeViewerComponentsby @Snuffleupagus in #16683 - [Editor] Always use the data url when loading a SVG in order to avoid CSP issue (bug 1843255) by @calixteman in #16686
- [Editor] Resize the image when the page is zoomed by @calixteman in #16690
- Update packages and translations by @Snuffleupagus in #16693
- Ensure that a test-suite that runs no tests is treated as a failure by @Snuffleupagus in #16695
- Enable more ESLint
unicornplugin rules by @Snuffleupagus in #16697 - Re-factor the
PDFScriptingManager-class for the viewer-components by @Snuffleupagus in #16687 - [GeckoView] Fix l10n of the download toolbar-button (PR 16340 follow-up) by @Snuffleupagus in #16701
- [Editor] Avoid to have some part of an editor outside its page (bug 1843303) by @calixteman in #16689
- [Editor] Use 2 decimals for editor positions and dimensions by @calixteman in #16702
- [api-minor] Let Babel handle the necessary
core-jspolyfills automatically by @Snuffleupagus in #16703 - Remove most build-time
require-calls from thesrc/display/-folder by @Snuffleupagus in #16698 - [Editor] Don't forget to generate non-missing images when printing (bug 1844036) by @calixteman in #16706
- Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #16707
- [Editor] Bind redo action on meta+shift+z on mac (bug 1844293) by @calixteman in #16709
- Draw correctly background images in ref tests by @calixteman in #16713
- [Annotation] Use the clip-path property when an annotation has some quad points by @calixteman in #16492
- Don't reset temporary XRef-entries during saving (PR 16392 follow-up) by @Snuffleupagus in #16717
- [Editor] Allow to delete an editor in using the Delete key (aka fn+backspace) (bug 1844625) by @calixteman in #16719
- Text annotations must use their own canvas when their appearance is generated (bug 1844576) by @calixteman in #16720
- Don't get the text content for an annotation when /NeedAppearances is true (bug 1844583) by @calixteman in #16721
- Don't uselessly change the filter when drawing (bug 1508765) by @calixteman in #16722
- XFA - Set storage values to select and option elements by @TaTo30 in #16714
- Enable the
no-lonely-ifESLint rule by @Snuffleupagus in #16715 - Enable the ESLint
no-var rulein theextensions/firefox/folder by @Snuffleupagus in #16724 - Update Stylelint to the latest version by @Snuffleupagus in #16725
- Update packages and translations by @Snuffleupagus in #16728
- Remove the
useOnlyCssZoompreference by @Snuffleupagus in #16729 - Remove the
vinyl-fsdependency by @timvandermeij in #16730 - [GeckoView] Fix string for download button by @calixteman in #16726
- Don't replace Acroform dictionary if nothing has changed when saving (bug 1844572) by @calixteman in #16718
- [api-minor] Attempt to prevent Node.js-specific polyfill errors from completely breaking the library by @Snuffleupagus in #16733
- [Editor] Avoid spurious text selection when double clicking to add a FreeText by @calixteman in #16736
- Fix copying of the reduced Planck constant by @Snuffleupagus in #16735
- [Editor] Add some resizers all around an editor (bug 1843302) by @calixteman in #16732
- [Editor] Use inset instead of top/left in css by @calixteman in #16737
- Re-factor how the
debuggeraccesses API-functionality by @Snuffleupagus in #16738 - [Editor] Set keyboard events on window instead of the main container by @calixteman in #16740
- [Editor] Avoid to trigger an editor creation when pinching on a touchscreen by @calixteman in #16741
- Improve rendering of buttons in the toolbar in HCM (bug 1845515) by @calixteman in #16748
- [Editor] Make editors movable in using the keyboard (bug 1845088) by @calixteman in #16746
- [Editor] Use the same keyboard shortcut as in Preview to move an editor on mac by @calixteman in #16749
- Enable the
unicorn/prefer-ternaryESLint plugin rule by @Snuffleupagus in #16753 - [Editor] Add the possibility to move an empty freetext editor with the keyboard (bug 1845088) by @calixteman in #16750
- [Editor] Reduce a bit of duplication on
_keyboardManagerinitialization by @Snuffleupagus in https://github.com/mozilla/pdf.js/p...
v3.8.162
This release features improvements in the areas of annotation editing/saving/printing, font conversion, accessibility and performance.
Changes since v3.7.107
- Bump versions in
pdfjs.configby @timvandermeij in #16487 - Update Puppeteer to version 20 by @timvandermeij in #16489
- [Editor] Add few more info when saving ink data (thickness, opacity, β¦) by @calixteman in #16494
- Try to not omit some values when printing a choice list with several selected items by @calixteman in #16501
- Fix canvasMaxAreaInBytes type by @wojtekmaj in #16504
- Fix more regressions from PR 15812 by @Snuffleupagus in #16507
- export ImageKind by @maxired in #16505
- Fix incorrect
USERACTIVATION_CALLBACKIDimport (15618 follow-up) by @Snuffleupagus in #16511 - Use the
Util.getAxialAlignedBoundingBoxhelper function more by @Snuffleupagus in #16497 - Enable the
import/namedESLint plugin rule by @Snuffleupagus in #16514 - [editor] Initialize
KeyboardManager-instances lazily by @Snuffleupagus in #16516 - [api-minor] Update the minimum supported Google Chrome version to 92 by @Snuffleupagus in #16499
- Improve handling of mismatching /BaseFont and /FontName entries for non-embedded fonts (issue 7454) by @Snuffleupagus in #16513
- [api-minor] Make the AnnotationLayer an object in order to use it in the AnnotationEditorLayer by @calixteman in #16508
- Limit some
PDFRenderingQueue-related code to the GENERIC viewer by @Snuffleupagus in #16495 - Enable more
importESLint plugin rules by @Snuffleupagus in #16517 - Enable the
import/no-cycleESLint plugin rule by @Snuffleupagus in #16515 - Improve Puppeteer's
trimCacheAPI usage by @timvandermeij in #16519 - Remove unused variables in
InkAnnotation.createNewAppearanceStream(issue 16518, PR 16494 follow-up) by @Snuffleupagus in #16520 - [Editor] Connect then annotation layer and the editor one by @calixteman in #16521
- [Editor] Guess font size and color from the AS of FreeText annotations by @calixteman in #16522
- [Editor] Allow to undo/redo committed text modifications for FreeText by @calixteman in #16525
- [Editor] Commit the text when the user hits ctrl+s (bug 1831574) by @calixteman in #16528
- [Editor] Fix test failures in m-c because of the new FreeText undo/redo stuff by @calixteman in #16533
- Concat data when push fails in the CFF compiler by @calixteman in #16539
- [Editor] Add the possibility to update an existing annotation with some new properties when saving or printing by @calixteman in #16523
- Update packages and translations by @Snuffleupagus in #16542
- Improve SMask/Mask lookup when parsing inline images by @Snuffleupagus in #16541
- Enable the
unicorn/prefer-optional-catch-bindingESLint plugin rule by @Snuffleupagus in #16544 - [api-minor] Remove the
typefromRenderingCancelledException(PR 16226 follow-up) by @Snuffleupagus in #16550 - Ensure that
cleanupduring rendering is actually ignored, to prevent a blank canvas by @Snuffleupagus in #16551 - Limit more code to GENERIC builds by @Snuffleupagus in #16543
- Add a container for Signature with their own canvas by @calixteman in #16554
- [Editor] Allow to edit FreeText annotations by @calixteman in #16535
- [Editor] Don't add an editor for empty FreeText annotations by @calixteman in #16555
- Disable events on canvas in the annotation layer by @calixteman in #16557
- [Editor] Avoid to have duplicated entries in the Annot array when saving an existing and modified annotation by @calixteman in #16556
- Add a test to check that the compression is ok when saving an annotation by @calixteman in #16559
- Improve handling of /Filter-entries in
writeStreamby @Snuffleupagus in #16558 - [Editor] Avoid an exception when copying an existing editor by @calixteman in #16561
- Guess that a checkbox belongs to a group in using its T value (bug 1838855) by @calixteman in #16563
- [Editor] Show hidden annotations once editing is finished by @calixteman in #16567
- [api-minor] Make the popup independent of their associated annotations by @calixteman in #16552
- Fix integration tests by @calixteman in #16570
- [api-minor] Ensure that the
AnnotationLayergets a default l10n-instance in GENERIC builds (PR 16552 follow-up) by @Snuffleupagus in #16572 - [Editor] Don't make editable an empty freetext annotation by @calixteman in #16579
- Remove the
OverlayManager.unregistermethod since it's completely unused by @Snuffleupagus in #16580 - [Editor] Hide visible popups when editing by @calixteman in #16578
- Simplify the
signhandling in theLexer.getNumbermethod by @Snuffleupagus in #16581 - [Firefox] Disable the ability to change preferences directly from the viewer by @Snuffleupagus in #16583
- Move the
fixupLangCodehelper function into theweb/genericl10n.jsfile by @Snuffleupagus in #16573 - Add a unit-test to check that the official PDF.js API exposes the expected functionality by @Snuffleupagus in #16587
- [Firefox] Simplify
FirefoxPreferences._readFromStorage(PR 16583 follow-up) by @Snuffleupagus in #16597 - Remove a couple of unused constants from
src/shared/util.jsby @Snuffleupagus in #16590 - [api-minor] Remove the default-factories from the viewer components (PR 15811 follow-up) by @Snuffleupagus in #16592
- [api-minor] Re-factor the
PDFScriptingManagerclass to use private fields/methods by @Snuffleupagus in #16569 - [CRX] Set minimum_chrome_version to 88 by @Rob--W in #16600
- Update packages and translations by @Snuffleupagus in #16598
- Run the PDF.js-viewer API unit-test in Node.js environments (PR 16592 follow-up) by @Snuffleupagus in #16604
- Use nullish coalescing when handling the
TESTINGbuild-target by @Snuffleupagus in #16602 - [GeckoView] Remove the
enableFloatingToolbarpreference by @Snuffleupagus in #16605 - Improve highlightments and popups in HCM (bug 1830850) by @calixteman in #16593
- Re-factor how HCM highlight-filters are handled in the viewer components (PR 16593 follow-up) by @Snuffleupagus in #16608
- [Editor] Add support for printing/saving newly added Stamp annotations by @calixteman in #16588
- Fully remove the
canvasFactoryoption fromPDFPageProxy.render(PR 16242 follow-up) by @Snuffleupagus in #16623 - Move the
transferscomputation into theAnnotationStorageclass by @Snuffleupagus in #16620 - Remove outdated polyfill comment from
src/pdf.image_decoders.jsby @Snuffleupagus in #16622 - Improve lint-chromium to output actionable information by @Rob--W in #16607
- Revert "Temporarily stop listing the official Chrome extension in the main README" by @Rob--W in #16601
- [api-minor] Remove the
CSS.supportschecks for thepageColors-option in the GENERIC viewer by @Snuffleupagus in #16626 - [api-minor] Stop "supporting" binary data provided as
Bufferin Node.js environments (PR 16055 follow-up) by @Snuffleupagus in #16627 - A couple of small tweaks of the
PDFCursorToolsclass by @Snuffleupagus in #16616 - Fix reading property of null object in chrome extension's updateEmbedElement function by @erm1116 in #16612
- Inline the
webViewerInitializedfunction inPDFViewerApplication.runby @Snuffleupagus in https://github.com/m...
v3.7.107
This release features improvements in the areas of font conversion and substitution, annotation rendering and data compression, ink tool smoothing, text selection and extraction, image rendering and canvas rendering performance.
Changes since v3.6.172
- Bump versions in
pdfjs.configby @timvandermeij in #16399 - [api-minor] Update the minimum supported Node.js version to 18 by @Snuffleupagus in #16293
- Introduce some optional chaining in the
src/core/xfa/folder by @Snuffleupagus in #16398 - Make something similar to Acrobat when Underline annotation has no appearance by @calixteman in #16397
- Compress the data when saving annotions by @calixteman in #16392
- [api-minor] Use a local font or fallback on an embedded one (if it exists) for non-embedded fonts (bug 1766039) by @calixteman in #16363
- Add a cache to avoid to load several times a local font by @calixteman in #16408
- Reduce some duplication when toggling "expanded" buttons in the viewer toolbars by @Snuffleupagus in #16410
- [api-minor] Update the minimum supported Safari version to 15.4 by @Snuffleupagus in #16401
- Move the sidebar-resizing handling into the
PDFSidebarclass by @Snuffleupagus in #16413 - For missing font, use a local font if it exists even if there's no standard substitution by @calixteman in #16416
- Update packages and translations by @Snuffleupagus in #16417
- Enable the
unicorn/no-useless-promise-resolve-rejectESLint plugin rule by @Snuffleupagus in #16415 - Update
jasmineto version 5 by @Snuffleupagus in #16418 - Add tests for the font substitution by @calixteman in #16421
- Check the
cssproperty in thegetFontSubstitutionunit-tests by @Snuffleupagus in #16422 - [GeckoView] Add a Nimbus experiment for the toolbar (bug 1833093) by @calixteman in #16425
- Simplify the code to generate font substitution information by @calixteman in #16420
- For non-embedded fonts, don't generate the fallback several times by @calixteman in #16426
- Update
package-lock.jsonto lockfileVersion=3 by @Snuffleupagus in #16430 - Warn when pdf.js can't load an OS font by @calixteman in #16431
- Attempt to fallback to a default font, for non-available ones, in more cases (issue 16432) by @Snuffleupagus in #16434
- For text widgets, get the text from the AP stream instead of from the format callback (bug 1825002) by @calixteman in #16433
- Introduce more optional chaining in the
src/core/folder by @Snuffleupagus in #16424 - Simplify the
fontIDhandling inPartialEvaluator.loadFontby @Snuffleupagus in #16437 - Add a localization note to explain that 'Open in app' strings are for mobile (bug 1833858) by @marco-c in #16438
- Flush the current chunk when the font changed because of a restore op (issue #14755) by @calixteman in #16439
- Introduce even more modern JavaScript features in the code-base by @Snuffleupagus in #16440
- [api-minor] Slightly shorten some
idFactorystrings by @Snuffleupagus in #16443 - Extend
getNonStdFontMapfor non-embedded Impact fonts (bug 1365930) by @Snuffleupagus in #16446 - Improve performance of canvas::rescaleAndStroke by around 30% (bug 1135277) by @calixteman in #16448
- Stop trying to sort the attachments in the sidebar by @Snuffleupagus in #16449
- Sanitize the glyph bounding box by @calixteman in #16450
- [GeckoView] Add some telemetry for the toolbar buttons (bug 1829216) by @calixteman in #16453
- [Editor] Improve curve smoothing for Ink tool (bug 1789443) by @calixteman in #16445
- Take into account the final space if any in the TJ command by @calixteman in #16462
- Improve "EI" detection in inline images (PR 12028 follow-up, issue 16454) by @Snuffleupagus in #16461
- Ignore named encoding for non-embedded symbol fonts (issue 16464) by @Snuffleupagus in #16465
- Attempt to improve non-embedded Wingdings font support (bug 1652224) by @Snuffleupagus in #16451
- Avoid to have a null fallback if none has been provided by @calixteman in #16467
- [GeckoView] Remove the
Toolbar-stub since the viewer has an actual toolbar now by @Snuffleupagus in #16466 - Extract all the text of text annotations by @calixteman in #16472
- Reset the formatted value when after a text field has been modified by @calixteman in #16474
- Re-factor the
isPageVisible-handling in the find-controller (PR 10217 follow-up) by @Snuffleupagus in #16479 - Update packages and translations by @Snuffleupagus in #16481
- Introduce a "thumbnailrendered" event to simplify cleanup after thumbnail rendering (PR 12613 follow-up) by @Snuffleupagus in #16470
- [OTS] Remove cntrmask instruction with no stem in charstring (bug 1529502) by @calixteman in #16483
- Re-factor updating of thumbnails in the
PDFSidebar-class by @Snuffleupagus in #16484
v3.6.172
This release features improvements in the areas of performance, text selection/searching, image/pattern rendering, accessibility and documentation/types.
Changes since v3.5.141
- Bump versions in
pdfjs.configby @timvandermeij in #16244 - Reduce duplication when dispatching the "switchannotationeditorparams" event by @Snuffleupagus in #16248
- [api-minor] Remove SVG-rendering from the viewer (PR 15173 follow-up) by @Snuffleupagus in #16226
- [Firefox] Add CSS at-page size when printing from FirefoxPrintService (bug 1820651) by @fchasen in #16241
- Tweak the
--scale-factorCSS-variable warning threshold (issue 16254) by @Snuffleupagus in #16256 - [GeckoView] Add a basic toolbar with a download button for GV (bug 1823164) by @calixteman in #16260
- Tweak the
loadingBarCSS to better support RTL locales by @Snuffleupagus in #16261 - Tweak the
pageNumberCSS to better support RTL locales by @Snuffleupagus in #16262 - Force-install when using
gulp dist-install(issue 15435) by @Snuffleupagus in #16246 - [api-minor] Update the minimum supported Google Chrome version by @Snuffleupagus in #16249
- [Firefox] Use
float: inline-start/inline-enddirectly in MOZCENTRAL builds (PR 15968 follow-up) by @Snuffleupagus in #16265 - Thin whitespaces must have their own span by @calixteman in #16225
- Attempt to also cache images at the "page"-level (issue 16263) by @Snuffleupagus in #16268
- Fix search of numbers inside fractions by @calixteman in #16275
- Skip transfers, in
LoopbackPort.postMessage, for PDF.jslegacy-builds (issue 16255) by @Snuffleupagus in #16279 - [GeckoView] Show the download button by default and add a pref to disable it (bug 1827963) by @calixteman in #16284
- Avoid when it's possible to use Array.concat when compiling a CFF font by @calixteman in #16292
- Limit the
Path2D-checks in the worker-thread to Node.js (PR 16238 follow-up, issue 16289) by @Snuffleupagus in #16291 - Remove
CFFCompiler.compileGlobalSubrIndex, and simplifyCFFCompiler.compileTypedArrayby @Snuffleupagus in #16294 - Reduce some duplication when toggling buttons in the viewer toolbars by @Snuffleupagus in #16281
- Slightly modernize print-related code by @Snuffleupagus in #16288
- Add the possibility to copy all the pdf text whatever the rendered pages are (bug 1788035) by @calixteman in #16286
- Remove null chars, i.e.
\u0000, when getting all text (PR 16286 follow-up) by @Snuffleupagus in #16297 - Create the "hiddenCopyElement" in the
PDFViewerconstructor (PR 16286 follow-up) by @Snuffleupagus in #16298 - Update packages and translations by @Snuffleupagus in #16296
- Update TypeScript to version
5by @Snuffleupagus in #16299 - [api-minor] Add support, in
PDFFindController, for mixing phrase/word searches (issue 7442) by @Snuffleupagus in #16247 - Use CustomEvent when dispatching the "webviewerloaded" event by @Pascal-D in #16295
- [Editor] Take into account the initial rotation (issue #16278) by @calixteman in #16301
- [api-minor] Don't normalize the text used in the text layer. by @calixteman in #16200
- [GeckoView] Don't change style for the download button when focused/hovered by @calixteman in #16308
- Compatible with ResizeObserver borderBoxSize in legacy safari by @linxianxi in #16311
- Correctly clip the text in the text layer (fixes #16316) by @calixteman in #16318
- Disable the "copy all text" feature when
enablePermissionsis set (PR 16286 follow-up) by @Snuffleupagus in #16320 - Enforce double-colon notation for CSS pseudo-elements by @Snuffleupagus in #16317
- Introduce some
:isusage in the xfaLayer CSS by @Snuffleupagus in #16310 - Introduce some
:isusage in the textLayer CSS by @Snuffleupagus in #16313 - Introduce some
:isusage in the PDFViewer CSS by @Snuffleupagus in #16314 - Introduce some
:isusage in the annotationLayer CSS by @Snuffleupagus in #16315 - Introduce some
:isusage in the viewer CSS by @Snuffleupagus in #16323 - Introduce some
:isusage in the debugger CSS by @Snuffleupagus in #16324 - Update
eslint-plugin-mozillato avoid having to force-install packages (issue 15429) by @Snuffleupagus in #16327 - Remove the
PRODUCTIONbuild-target by @Snuffleupagus in #16305 - Don't include Chrome-specific CSS rules in MOZCENTRAL builds by @Snuffleupagus in #16326
- Remove unnecessary closures in the CMap code by @Snuffleupagus in #16331
- Remove the remaining unnecessary closures in the
src/core/primitives.jsfile by @Snuffleupagus in #16332 - Remove the
PDF20closure, in thesrc/core/crypto.jsfile by @Snuffleupagus in #16334 - Don't force-install packages in the CI job anymore by @timvandermeij in #16335
- Update translations and packages by @timvandermeij in #16338
- Don't use the deprecated
CustomEvent.initCustomEventmethod anymore by @timvandermeij in #16336 - [GeckoView] Change the toolbar for a static one on the top of the viewer (bug 1829366) by @calixteman in #16340
- Allow text-selection, but not copying, when
enablePermissionsis set (PR 16320 follow-up) by @Snuffleupagus in #16333 - Prevent incomplete copy-all behaviour while text-extraction is running (PR 16286 follow-up) by @Snuffleupagus in #16347
- Remove the unused
getXhr-option in theNetworkManagerconstructor by @Snuffleupagus in #16357 - Avoid some repeated
stringToBytes-calls in thesrc/core/crypto.jsfile by @Snuffleupagus in #16354 - [api-minor] Stop including the "lib"-build in the
pdfjs-distrepository by @Snuffleupagus in #16350 - Update the styling of the findbar
findMsg-element (issue 16355) by @Snuffleupagus in #16356 - Declare the
linkServiceandl10nproperties as optional in thePDFViewerOptionsdocumentation by @timvandermeij in #16361 - Fix two intermittents issues in integration tests by @calixteman in #16344
- Chmod ugo-x gv-toolbarButton-download.svg by @calixteman in #16365
- Introduce a GitHub Actions workflow for publishing the website by @timvandermeij in #16364
- Update type documentations for #16307, #16359 by @SebCorbin in #16362
- Include the entire
githistory in the work-flows (issue 16366) by @Snuffleupagus in #16371 - Limit the
publish_website.ymlwork-flow to only themasterbranch (issue 16369) by @Snuffleupagus in #16370 - Apply HCM filters on annotations which have their own canvas (bug 1830850) by @calixteman in #16380
- [api-minor] Remove SystemJS usage, in development mode, from the worker by @Snuffleupagus in #12563
- Remove the unused
isStandardFontfont-property (PR 15880 follow-up) by @Snuffleupagus in #16381 - Inline the
addPageIndexmethod inGlobalImageCache.shouldCacheby @Snuffleupagus in #16368 - Re-factor the
PDFViewer.pageViewsReadygetter slightly by @Snuffleupagus in #16375 - Simplify the thumbnail styling in the viewer by @Snuffleupagus in #16374
- Simplify the
PDFSidebar.#forceRenderingmethod by @Snuffleupagus in #16379 - Better approximate gradient color stops by @bungeman in #16106
- [Annotations] Draw readonly annotations on their own canvas and show the HTML elements when there is a JS interaction (issue #16384) by @calixteman in #16387
- [GeckoView] Add a button to download and open the fil...
v3.5.141
This release features image rendering improvements that allow rendering big images even if they are larger than the canvas limits, which fixes quite a lot of issues about images that previously failed to render. Moreover, this release contains bugfixes and improvements for annotations, text selection and typing/documentation.
Changes since v3.4.120
- Bump versions in
pdfjs.configby @timvandermeij in #16093 - Check
OffscreenCanvassupport once on the worker-thread by @Snuffleupagus in #16095 - [api-minor] Move the
canvasFactoryoption intogetDocumentby @Snuffleupagus in #16100 - [api-minor] Generate images in the worker instead of the main thread. by @calixteman in #16062
- [api-minor] Remove calling
getDocumentdirectly with aPDFDataRangeTransport-instance (PR 15943 follow-up) by @Snuffleupagus in #16103 - Bump minimist from 1.2.5 to 1.2.7 by @dependabot in #16107
- Render large images even if they're larger than the canvas limits (bug 1720282) by @calixteman in #16077
- [Annotation] Don't rotate an annotation when it has the NoRotate flag by @calixteman in #16110
- Revert "Update
rimrafto version 4" by @Snuffleupagus in #16118 - Use appearance stream to render locked annotations (bug 1723568) by @calixteman in #16121
- Slightly modify the max width of a tracking space by @calixteman in #16124
- [api-minor] Add an option to set the max canvas area by @calixteman in #16125
- Avoid to have a factor too close to 2 when downscaling image by @calixteman in #16117
- [api-minor] Remove the deprecated
onUnsupportedFeaturefunctionality (PR 15758 follow-up) by @Snuffleupagus in #16122 - Support (rare) Type3 fonts with Pattern resources (issue 16127) by @Snuffleupagus in #16128
- Partially revert PR 15578 by @calixteman in #16131
- Apply transfer filters to any graphic commands by @calixteman in #16115
- Fix search in pdf a containing some UTF-32 characters (bug 1820909) by @calixteman in #16138
- Move the svg definitions in its own div by @calixteman in #16145
- Correct PostScript trigonometric operators by @bungeman in #16096
- [api-minor] Update the minimum supported Node.js version to 16 by @Snuffleupagus in #16123
- Fix the JSDoc
returns-type for twoPageViewport-methods (issue 16134) by @Snuffleupagus in #16142 - Include the document-id in the SVG-filter names (PR 16062 follow-up) by @Snuffleupagus in #16141
- Slightly delay cleanup, after rendering, in documents with large images by @Snuffleupagus in #16108
- Update packages and translations by @Snuffleupagus in #16147
- Remove tag from the Firefox built-in viewer (bug 1821408) by @calixteman in #16153
- Miscellaneous small TypeScript fixes by @Snuffleupagus in #16152
- [api-minor] Extend general transfer function support to browsers without
OffscreenCanvasby @Snuffleupagus in #16151 - Warn about missing/incorrect
--scale-factorCSS-variable inrenderTextLayer(issue 16139) by @Snuffleupagus in #16162 - Simplify the
applyTransferMapsToCanvasmethod (PR 16151 follow-up) by @Snuffleupagus in #16166 - Clean-up the
PDFViewer.{increaseScale, decreaseScale}methods by @Snuffleupagus in #16171 - Clean-up the pre-processor statements in
web/viewer.htmlby @Snuffleupagus in #16169 - Use
margin-inlinein theweb/pdf_viewer.cssfile (PR 14670 follow-up) by @Snuffleupagus in #16172 - [api-minor] Use a SVG filter when rendering pages in HCM by @calixteman in #16075
- Add a helper, in
DOMFilterFactory, to reduce duplication when creating<feFuncX>s by @Snuffleupagus in #16180 - Only warn about missing
--scale-factorCSS-variable for visible textLayers (PR 16162 follow-up) by @Snuffleupagus in #16181 - Fix the
transferparameter, forstructuredClone, in theLoopbackPortby @Snuffleupagus in #16175 - Use the position of the previous xref stream if any when saving a pdf (bug 1823296) by @calixteman in #16188
- Support multi-byte ToUnicode entries, when using predefined CMaps (issue 16176) by @Snuffleupagus in #16186
- Track previous "XRefStm"s in a
Set, rather than anObjectby @Snuffleupagus in #16191 - Add even more non-standard ligatures (PR 15517 follow-up) by @Snuffleupagus in #16193
- Introduce
insetusage in the CSS files by @Snuffleupagus in #16173 - Introduce
inset-blockusage in the viewer CSS by @Snuffleupagus in #16182 - Use cursor:move for draggable texts and drawings (Bug 1804252) by @nchevobbe in #16192
- Use
String.prototype.replaceAll()where appropriate by @Snuffleupagus in #16196 - Reduce some duplication in the
PDFViewer.{increaseScale, decreaseScale}methods by @Snuffleupagus in #16198 - Enable the
unicorn/prefer-negative-indexESLint plugin rule by @Snuffleupagus in #16185 - Use
replaceAllin therecoverJsURLhelper function by @Snuffleupagus in #16208 - Enable the
declaration-block-no-redundant-longhand-propertiesStylelint rule by @Snuffleupagus in #16207 - Update packages and translations by @Snuffleupagus in #16206
- Slightly reduce the size of the
FontInspector-integration in the API by @Snuffleupagus in #16199 - Fix spelling of
occurredin a couple of comments by @Snuffleupagus in #16211 - [GeckoView] Remove unused
transitionCSS-rules by @Snuffleupagus in #16212 - ESMify some modules for m-c (bug 1824610) by @calixteman in #16217
- Simplify the
isPDFFunctionhelper function by @Snuffleupagus in #16218 - Reduce duplication in the
validateCSSFonthelper function by @Snuffleupagus in #16213 - Create a new chunk when the char is too rised compared to the previous one by @calixteman in #16223
- Fix various zooming regressions (PR 15812 follow-up) by @Snuffleupagus in #16227
- [Firefox] Set the
imageResourcesPathcorrectly (PR 16153 follow-up) by @Snuffleupagus in #16228 - Remove now unnecessary eslint-disable statement generated for PdfJsDefaultPreferences.sys.mjs. (bug 1825522). by @Standard8 in #16235
- [api-minor] Remove the
disableCombineTextItemsoption by @Snuffleupagus in #16234 - Update the Node.js compatibility-check in the worker-thread by @Snuffleupagus in #16238
- [Firefox] Stop using a
baseUrlin thePDFLinkService(PR 16153 follow-up) by @Snuffleupagus in #16232 - Write some {Object} in api.js more precise by @nmtigor in #16159
- Use object-spread when dispatching events in the toolbars by @Snuffleupagus in #16243
- [api-minor] Remove the
canvasFactoryoption fromPDFPageProxy.render(PR 16100 follow-up) by @Snuffleupagus in #16242