# What changed in @zxing/library

> 13 changes in @zxing/library 0.22 to 0.23 from its official release notes, upgrade guides and advisories: 2 breaking, 5 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/@zxing/library/

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

## @zxing/library 0.23

### New APIs and options

- ReedSolomonDecoder adds a method that returns the number of corrected errors, used by the MaxiCode decoder. (0.23.0) — [release notes](https://github.com/zxing-js/library/releases/tag/v0.23.0)
- Optional grayscale buffer reuse across frames during continuous scanning avoids allocating a new Uint8ClampedArray for each frame. (0.23.0) — [release notes](https://github.com/zxing-js/library/releases/tag/v0.23.0)
- Adds MaxiCode 2D barcode decoding for modes 2–5, with MaxiCode included in format-specific and default reader lists. (0.23.0) — [release notes](https://github.com/zxing-js/library/releases/tag/v0.23.0)
- Adds the ERRORS_CORRECTED enum value for reporting error correction counts in decode results. (0.23.0) — [release notes](https://github.com/zxing-js/library/releases/tag/v0.23.0)

### Behavior and default changes

- BrowserCodeReader falls back to GlobalHistogramBinarizer when HybridBinarizer fails with NotFoundException, helping decode small barcodes or images with uniform backgrounds. (0.23.0) — [release notes](https://github.com/zxing-js/library/releases/tag/v0.23.0)
- OneDReader's default row sampling increases from 15 to 25 lines, improving detection of 1D barcodes away from the image center without TRY_HARDER mode. (0.23.0) — [release notes](https://github.com/zxing-js/library/releases/tag/v0.23.0)

### Fixes and other changes

- Unexpected errors in the continuous scan loop are now logged via console.error instead of stopping silently. (0.23.0) — [release notes](https://github.com/zxing-js/library/releases/tag/v0.23.0)
- Non-ReaderException errors during decode attempts are now logged instead of silently swallowed, making programming errors visible. (0.23.0) — [release notes](https://github.com/zxing-js/library/releases/tag/v0.23.0)

## @zxing/library 0.22

### Breaking changes

- The minimum Node requirement changes from >= 10.4.0 to >= 24.0.0. (0.22.0) — [release notes](https://github.com/zxing-js/library/releases/tag/v0.22.0)
- Removes the ISO-8859-1 fallback workaround; Node ≥ 18 native TextDecoder handles Latin-1 bytes correctly, fixing URIError on characters like ó. (0.22.0) — [release notes](https://github.com/zxing-js/library/releases/tag/v0.22.0)

### New APIs and options

- Adds a MicroQR Code reader and exports MicroQR types, allowing applications to detect and decode MicroQR codes. (0.22.0) — [release notes](https://github.com/zxing-js/library/releases/tag/v0.22.0)

### Fixes and other changes

- Corrects the package license metadata from MIT to Apache-2.0. (0.22.0) — [release notes](https://github.com/zxing-js/library/releases/tag/v0.22.0)
- Corrects finder pattern center calculation and outside-pixel positioning, and no longer silently swallows errors other than NotFoundException. (0.22.0) — [release notes](https://github.com/zxing-js/library/releases/tag/v0.22.0)
