# What changed in pdfjs-dist

> 193 changes in pdfjs-dist 5 to 6 from its official release notes, upgrade guides and advisories: 40 breaking, 8 security, 24 new APIs and options. Each one cited. Sources checked 2026-10-17. HTML: https://unstale.sh/npm/pdfjs-dist/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## pdfjs-dist 6

### Breaking changes

- Font.ascent and Font.descent are no longer exported by default. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Font.defaultVMetrics is no longer exported by default. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Font.defaultWidth is no longer exported by default. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Font.mimetype is no longer exported. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Font.name is no longer exported by default. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- The unused fallback parameter was removed from the localization getter. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- ResetForm actions now reset descendants of non-terminal fields. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Validation of xref stream field widths is stricter, rejecting more malformed input. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Custom document information is now returned in a Map. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- getFieldObjects now returns data in a Map instead of its previous representation. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- getJSActions now returns data in a Map instead of its previous representation. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- getPermissions now returns data in a Set instead of its previous representation. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- markInfo now returns data in a Map instead of its previous representation. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- getDestinations now returns its data in a Map. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- getOpenAction now returns its data in a Map. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- getViewerPreferences now returns its data in a Map. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- The unused PageViewport method was removed. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- getAttachments now returns attachment data in a Map. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- Calling getDocument without a parameter object is no longer supported; callers must provide a parameter object. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)
- The getXfaPageViewport helper moved into the XfaLayer class, so integrations using its previous location must update. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)
- Chrome now uses ImageDecoder by default, changing image decoding behavior for applications running there. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)
- The minimum supported browser versions were updated, and no longer needed polyfills were removed. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)
- The PDFDocumentProxy.prototype.destroy method was removed, requiring applications to stop calling this API. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)
- The Util.domMatrixToTransform method was removed and can no longer be used by applications. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)

### Security

- Automatic text-field sizing avoids a CPU denial-of-service condition. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- CFF INDEX and FDArray parsing is bounded to constrain malformed font data. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Cumulative CMap range entries are now bounded to limit excessive input. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Embedded media content types are now validated before processing. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- PDF.js: Arbitrary JavaScript execution upon opening a malicious PDF (6.2.108) — [security advisory](https://github.com/advisories/GHSA-HQ66-CQWQ-W95J)
- The viewer now includes a Content-Security-Policy, improving the security posture of the built-in viewer. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)

### New APIs and options

- The operationsFilter callback now receives the operatorList, enabling filtering decisions based on the complete operation list. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- GeckoView gains typed signatures for its PDF.js integration. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Table structure attributes are exposed through the structure tree for consumers that inspect tagged PDF structure. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- More tagged PDF structure roles are exposed to consumers inspecting document structure. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- Digital signatures and certificates can be verified. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- Sound annotations can play embedded audio. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- GeckoView gains an import map entry for the digital signature properties manager. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- Support was added for AuthEvent-based on-demand decryption. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- RichMedia annotations are now supported. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- The constructor now accepts an optional dictionary argument. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- PDF.js now supports encrypted attachments, allowing applications to work with attachments protected by encryption. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)
- PDF editing now supports inserting an image as a new page. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)
- Binary data passed to PDFViewerApplication.open can now always include a filename. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)

### Performance

- Large JPEG images are downscaled with ImageDecoder, reducing resource use during decoding. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- Shared font and image streams are deduplicated when PDFs are merged. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- The built worker no longer bundles DOM-related code, reducing unnecessary worker bundle contents. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)

### Behavior and default changes

- FreeText appearances now use the platform print-to-PDF implementation. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Annotations are positioned using the structure tree. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- The viewer supports two-finger panning, with zooming avoided during fast two-finger movement. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- defaultOptions in web/app_options.js is now a Map. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- Basic support was added for non-embedded TrebuchetMS fonts. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- Entire-word search matching now uses Intl.Segmenter. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- AES-256 revision 6 passwords now support SASLprep. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- SmaskInData value 2 is supported for JPX images. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- The text selection workaround is avoided in modern Chromium, and dark-mode selection contrast improves. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- Annotation-layer rendering now uses checkbox and radio-button appearances defined in the PDF. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- Installing the package no longer downloads Puppeteer browsers. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- Screen annotations can now play embedded media. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- The AnnotationLayer now supports Optional Content, enabling annotations associated with optional content groups. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)
- The viewer can merge a PDF dropped onto the thumbnail viewer, adding another user-facing PDF editing workflow. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)
- The viewer can merge several PDFs at once through the picker or drag-and-drop. (6.0.227) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.0.227)

### Fixes and other changes

- Doc.resetForm now resets descendants of non-terminal fields. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- ToUnicode mappings for unencoded glyphs are preserved in non-embedded Type1 fonts. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Fill-area computation is corrected for rotated tiling patterns. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Sampled functions no longer produce NaN values for degenerate domains. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Text-layer rendering now accounts for Firefox font-size quantization. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Text stroke width is corrected when the pixel-width cache is stale. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Text widgets now inherit text alignment from the AcroForm. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Transfer function arrays containing /Identity entries no longer cause crashes. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- A software fallback was added for transfer maps, improving support when the accelerated path is unavailable. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- Escaped literals are now preserved when formatting dates with util.printd. (6.4.299) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.4.299)
- PDF alternative text is exposed without prohibited ARIA names, improving accessibility integrations. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- Cyclic field Parent chains no longer cause an infinite loop. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- Scripts are added correctly when setting field actions. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- Glyph mapping for non-embedded CID fonts is improved, producing more reliable text rendering. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- PDF exports containing only images are handled correctly. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- JPEG dimension mismatches are handled with ImageDecoder without resizing. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- Invalid XML character references no longer cause an exception. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- Marked content sections left open in a text object are automatically closed. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- Numbers are no longer written in exponential notation when saving a PDF. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- Selection rendering is corrected when a page is destroyed and rendered again. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- Text is vertically centered in single-line and comb text fields. (6.3.289) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.3.289)
- Missing AcroForm fields are rebuilt, and inherited resources, appearances, flags, and signature fields are preserved or detected. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- Decryption now handles non-ASCII passwords for AES-256 revision 5 PDFs. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- The current editing session is committed before saving. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- Non-local PDF link destinations are preserved. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- OBJR children are preserved without restoring deleted pages. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- Indirect and dangling structure tree root kids are handled. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- Unicode names for destinations and attachments are preserved. (6.2.108) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.2.108)
- V=5 documents with a mislabeled AESV2 crypt filter now use AES256. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- Annotation attachment content is re-derived from the xref after cleanup. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- Comb text fields render more accurately, including vertically centered glyphs. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- PDFs lacking a Kids array and containing an inline Page dictionary are now handled. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- Selection rendering with this option disabled now works correctly. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- Gray transparency groups are now rendered in grayscale. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- JBIG2 file headers are stripped from JBIG2Decode streams. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- Non-isolated blend-mode groups are now drawn against their backdrop. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- Checkbox and radio export values are now resolved from the Opt entry. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)
- Optional content configurations now serialize properly. (6.1.200) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v6.1.200)

## pdfjs-dist 5

### Breaking changes

- The minimum supported Node.js version is now 22. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- PostScriptCompiler and PostScriptEvaluator were removed because they are dead code. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- The QuickJS sandbox now uses a Wasm file. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- The enableHWA option was removed from viewer components. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- Separate CMapReaderFactory, StandardFontDataFactory, and WasmFactory options were replaced by a single factory/option. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- getDocument now requires one of data, range, or url to be provided. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- The length parameter was removed from getDocument. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- The deprecated PDFWorker.fromPort method was removed. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- The xfatest command was removed. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- Relevant BasePDFStream implementations now require an actual URL instance. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- sendRequest is now asynchronous, changing how callers invoke and consume it. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- The onDataProgress method was removed from PDFDataRangeTransport. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- getTextContent is now asynchronous, so callers must handle its asynchronous result. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- The minimum supported Google Chrome version is now 118. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- deleteAnnotationElement now takes a full editor object. (5.4.449) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.449)
- FreeText annotations no longer support commenting because they do not have attached popups. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)

### Security

- PDF data is encrypted when merging the same PDF. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- Usernames and passwords are removed from URLs. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)

### New APIs and options

- The viewer now provides UI for merging PDFs and prompts the user to save the merged PDF. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- npx gulp server gained an option to allow external connections. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- Gouraud-based shading is implemented using WebGPU. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- PDF.js can extract selected pages from a PDF. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- The viewer now supports deleting, cutting, copying, and pasting pages. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- Pages in an extracted PDF can be reordered. (5.4.624) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.624)
- The thumbnail view gains a manage button for saving an edited PDF. (5.4.624) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.624)
- Some FontFaceObject properties can now be assigned through setters. (5.4.449) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.449)
- PDFs can be created by combining different source PDFs. (5.4.449) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.449)
- The viewer now exposes a sidebar object. (5.4.449) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.449)
- Text extraction is available through an external service. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)

### Performance

- Pattern creation is avoided for some basic gradients, reducing unnecessary rendering work. (5.4.530) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.530)
- Text rendering skips unnecessary pattern calculations, improving rendering performance. (5.4.530) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.530)
- Thumbnail handling uses slightly less memory. (5.4.449) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.449)
- Glyph lookup for annotation bounding boxes is more efficient. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)
- Glyph paths use a binary format, improving path representation and processing efficiency. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)
- Building the structure tree is faster. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)

### Behavior and default changes

- The Ink editor replaces its opacity slider with an alpha-enabled color input. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- The CCITT fallback decoder was replaced with a JavaScript PDFium decoder. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- Function-based shadings are now supported when rendering PDFs. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- A GPU device is now created unconditionally, while mesh drawing uses it only above 16 triangles. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- The JBig2 fallback decoder was replaced with a JavaScript PDFium decoder. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- The thumbnail viewer now uses OffscreenCanvas unconditionally. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- PDFDataRangeTransport now uses a single internal listener. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- Merging and extracting PDFs can merge or update AcroForms. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- Added annotations can be saved when reorganizing a PDF. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- The worker thread now creates the filename for BaseCMapReaderFactory. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- Hardware acceleration is enabled by default. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- The maximum viewer scale increased to 2500 percent. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- The onProgress callback consistently reports percent === NaN. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- Outlines can be saved after PDF reorganization or merging. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- The alt-text dialog toggle now downloads or deletes the model and enables or disables alt-text guessing. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- The Annotation constructor now sets annotationType automatically. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- PDF.js can now decompress Brotli-compressed data. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- Keyboard shortcuts were added for copying, cutting, and deleting pages. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- Loading progress is now reported automatically when using PDFDataTransportStream. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- TH elements in tagged PDFs can now be interpreted as either column headers or row headers. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- Deleting a comment can be undone. (5.4.624) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.624)
- PDFium's JBIG2 decoder is compiled into WebAssembly, changing how JBIG2 images are decoded. (5.4.624) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.624)
- Thumbnails can be dragged and dropped to reorganize pages, and the dropped thumbnail is selected. (5.4.624) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.624)
- The standard-font glyph map now includes additional Russian entries, improving rendering for affected text. (5.4.530) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.530)
- MathML text content is now aria-hidden and injected into MathML tags when they are in the structure tree, improving accessibility. (5.4.530) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.530)
- Edited comments can be saved using the CTRL+Enter shortcut. (5.4.449) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.449)
- The default max value in the XFA occur tag is now -1. (5.4.449) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.449)
- Editing buttons no longer use the radio role. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)
- PT Astra Serif is available as a substitution for Times New Roman. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)
- MathML elements are now visible in the structure tree. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)
- StructTree now collects all child nodes of lists and tables. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)

### Fixes and other changes

- Attachments are preserved when merging or reorganizing a PDF. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- Free-highlighting can now be applied on top of image placeholders. (5.7.284) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.7.284)
- TextLayerBuilder now works correctly when abortSignal is omitted. (5.6.205) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.6.205)
- Calling progressiveDone now resolves pending requests. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- Text selection now works under search highlights. (5.5.207) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.5.207)
- Find-in-page continues to work correctly after pages are reorganized. (5.4.624) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.624)
- Links and the outline are corrected after reorganizing a PDF. (5.4.624) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.624)
- Local PDF requests smaller than two range requests no longer abort the full request, and standard ReadableStreams are used. (5.4.624) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.624)
- Accessibility artifacts associated with text and MathML are hidden from assistive technology and duplicate MathML labels are avoided. (5.4.624) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.624)
- Encoding was corrected for some missing Chinese fonts, improving font rendering. (5.4.530) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.530)
- CIDToGIDMap is used for Type 2 fonts with an OpenType font, improving glyph mapping. (5.4.530) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.530)
- File URL parameters are no longer decoded twice, preventing incorrect parameter handling. (5.4.530) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.530)
- Rendering no longer throws an exception for some glyph contours. (5.4.530) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.530)
- The JBIG2 decoder no longer enters an infinite loop when processing more than four referred-to segments. (5.4.530) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.530)
- The loca table length is corrected when sufficient space is available, improving font conversion correctness. (5.4.530) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.530)
- Strings matching ddd@d.dddd are no longer incorrectly treated as mail links. (5.4.530) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.530)
- Punctuation signs in search queries are escaped, improving search handling for punctuation-containing queries. (5.4.530) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.530)
- Named page destinations are updated when PDFs are combined. (5.4.449) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.449)
- The regex used to find characters normalized with NFKC during search was corrected. (5.4.449) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.449)
- Page labels are updated when a PDF is extracted. (5.4.449) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.449)
- Searching groups of punctuation signs now adds extra spaces only around the group. (5.4.449) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.449)
- Annotation positions in the DOM now follow their visual order. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)
- Annotation DOM ordering uses annotation rectangles. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)
- The annotation is correctly focused after its comment is removed in the annotation layer. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)
- Deleting an editor removes its associated comment data. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)
- The editor is focused after its comment is deleted. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)
- All editors can receive focus from the keyboard. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)
- Attributes in MathML tags no longer use the MathML namespace. (5.4.394) — [release notes](https://github.com/mozilla/pdf.js/releases/tag/v5.4.394)
