This release contains improvements for the annotation editor, font conversion, form rendering, image conversion and the viewer.
Changes since v4.7.76
- Bump the stable version in
pdfjs.config
by @timvandermeij in #18858 - Fix typing logic in the scripting integration tests by @timvandermeij in #18862
- Improve the promise-caching in the
PDFDocument.fieldObjects
getter by @Snuffleupagus in #18871 - Remove the temporary "visibilitychange" listener, in
PDFViewer
, withAbortSignal.any()
by @Snuffleupagus in #18873 - Avoid exceptions in the console with ill-formed flate streams by @calixteman in #18878
- Don't add the grey outline when hovering a selected highlight by @calixteman in #18879
- [Editor] Remove
ColorPicker
event listeners withAbortSignal.any()
(PR 18586 follow-up) by @Snuffleupagus in #18874 - Fix failing integration test on Windows with Chrome by @calixteman in #18860
- Add an option to gulp makeref/browsertest to only run tests with specific ids by @calixteman in #18833
- Move the regular expression caching into the
PDFDateString
class by @Snuffleupagus in #18885 - Remove event listeners with
AbortSignal
in theAltTextManager
class by @Snuffleupagus in #18881 - Don't add attribute 'aria-haspopup' when no popup is rendered for an annotation by @calixteman in #18889
- Clamp the hival parameter of Indexed color space to the range [0; 255] by @calixteman in #18890
- Fallback on gray colorspace when there are no colorspace and no name in the scn/SCN arguments by @calixteman in #18895
- Some jpx images can have a mask by @calixteman in #18899
- implementing optional content radiobutton groups by @agrahn in #18825
- Remove unnecessary options from
removeEventListener
in theweb/app.js
file by @Snuffleupagus in #18893 - Create fewer Objects in
PDFViewerApplication.bindEvents
by @Snuffleupagus in #18898 - Reduce duplication when collecting optional content groups by @Snuffleupagus in #18905
- Handle null parentElement for selection anchor by @hubgit in #18884
- Add the
pdkids
PDF document to the repository by @Snuffleupagus in #18902 - When changing a property on a radio button then change it for the siblings (bug 1922766) by @calixteman in #18916
- Re-factor the
MessageHandler
-class event handler function by @Snuffleupagus in #18888 - Remove event listeners with
AbortSignal
in theGrabToPan
class by @Snuffleupagus in #18919 - [api-minor] Update the
canvas
package to version 3 by @Snuffleupagus in #18922 - Bump library version to
4.8
by @Snuffleupagus in #18924 - Run CI tests in Node.js version 23 by @Snuffleupagus in #18925
- Remove the
eslint-plugin-{fetch-options,html}
andeslint-config-prettier
dependencies by @timvandermeij in #18927 - Update dependencies and translations to the most recent versions by @timvandermeij in #18921
- Simplify localization of the "default-content" in FreeText editors by @Snuffleupagus in #18920
- Replace
eslint-plugin-sort-exports
byeslint-plugin-perfectionist
by @timvandermeij in #18929 - Fix the "Text selection using mouse doesn't jump when hovering on an empty area in a single page" integration test by @timvandermeij in #18923
- Remove
mask-image
duplication for the print/download buttons by @Snuffleupagus in #18930 - Fallback to a standard font if a font-file entry doesn't contain a Stream (issue 18941) by @Snuffleupagus in #18942
- Try to discourage "unrelated" information under
Attach (recommended) or Link to PDF file
in the bug report template (PR 18535 follow-up) by @Snuffleupagus in #18940 - Change the
BaseCMapReaderFactory
fetch-helper to return aUint8Array
by @Snuffleupagus in #18933 - Use ImageDecoder in order to decode jpeg images (bug 1901223) by @calixteman in #18910
- Add a comment in l10n file for the non-standard attribute default-content by @calixteman in #18947
- Always fill the mask with the backdrop color by @calixteman in #18960
- Re-factor the
ImageResizer._goodSquareLength
definition by @Snuffleupagus in #18965 - [api-minor] Remove the
CMapCompressionType
enumeration by @Snuffleupagus in #18951 - Make util.scand a bit more flexible with dates which don't match the given format (bug 1910431) by @calixteman in #18967
- [Editor] Split the long words when showing the alt-text tooltip (bug 1903588) by @calixteman in #18968
- Use a BMP decoder when resizing an image by @calixteman in #18918
- [Editor] Utilize Fluent "better" when localizing the AltText by @Snuffleupagus in #18971
- Allow
StreamsSequenceStream
to skip sub-streams that are not actual Streams (issue 18973) by @Snuffleupagus in #18974 - Improve the implementation of the
PDFDocument.fingerprints
-getter by @Snuffleupagus in #17862 - Simplify the "ReaderHeadersReady" message-handler in the API by @Snuffleupagus in #18977
- [Editor] Refactor the free highlight stuff in order to be able to use the code for more general drawing by @calixteman in #18972
- Re-factor the
toHexUtil
helper (PR 17862 follow-up) by @Snuffleupagus in #18978 - Don't initialize
L10n.#elements
eagerly since it's unused in MOZCENTRAL builds by @Snuffleupagus in #18979 - Change the "FetchBuiltInCMap"/"FetchStandardFontData" message-handlers to be asynchronous by @Snuffleupagus in #18983
- Use the
hexNumbers
structure in thestringToUTF16HexString
helper by @Snuffleupagus in #18993 - Ensure that serializing of StructTree-data cannot fail during loading by @Snuffleupagus in #18990
- Inline the
flushChunks
helper function, used ingetPdfManager
on the worker-thread by @Snuffleupagus in #18992 - Move the various DOM-factories into their own files by @Snuffleupagus in #18988