Skip to content

fix(deps): update dependency @zxing/library to v0.23.0#541

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/zxing-library-0.x
Open

fix(deps): update dependency @zxing/library to v0.23.0#541
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/zxing-library-0.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Jan 26, 2026

This PR contains the following updates:

Package Change Age Confidence
@zxing/library (source) 0.20.00.23.0 age confidence

Release Notes

zxing-js/library (@​zxing/library)

v0.23.0

Compare Source

Changelog

Error Robustness
  • MultiFormatReader: Non-ReaderException errors (TypeError, RangeError, etc.) are now logged instead of silently swallowed during decode attempts. Previously, programming errors were invisible and produced misleading "no barcode found" results. (src/core/MultiFormatReader.ts)
  • MultiFormatReader: Skip redundant setHints() calls when the same hints object is passed to decode() repeatedly, avoiding unnecessary reader reconstruction. (src/core/MultiFormatReader.ts)
  • BrowserCodeReader: Unexpected errors in the continuous scan loop are now logged via console.error. Previously the loop would stop silently with no indication of what went wrong. (src/browser/BrowserCodeReader.ts)
Scanning Quality
  • OneDReader: Increased default row sampling from 15 to 25 lines, covering ~78% of image height (up from ~47%). This improves detection of 1D barcodes positioned away from the image center without requiring TRY_HARDER mode. (src/core/oned/OneDReader.ts)
  • BrowserCodeReader: Added GlobalHistogramBinarizer fallback when HybridBinarizer fails with NotFoundException. Local thresholding can fail on very small barcodes or uniform-background images where a single global threshold works better. The fallback only triggers on failure, so the normal fast path is unaffected. (src/browser/BrowserCodeReader.ts)
Performance
  • HTMLCanvasElementLuminanceSource: Merged two duplicate 25-line grayscale conversion loops (normal vs. inverted) into a single loop using an XOR mask. Reduces code and eliminates a branch. (src/browser/HTMLCanvasElementLuminanceSource.ts)
  • HTMLCanvasElementLuminanceSource: Use subarray() instead of slice() in getRow() to avoid an intermediate buffer copy on every row read. (src/browser/HTMLCanvasElementLuminanceSource.ts)
  • HTMLCanvasElementLuminanceSource + BrowserCodeReader: Added optional grayscale buffer reuse across frames during continuous scanning, avoiding a ~900KB Uint8ClampedArray allocation per frame on 1280x720 video. (src/browser/HTMLCanvasElementLuminanceSource.ts, src/browser/BrowserCodeReader.ts)
  • BitMatrix: Replaced Math.floor(x / 32) with bitwise (x >> 5) in all hot-path methods (get, set, unset, flip, setRegion, constructor). These are the innermost operations in binarization and grid sampling. (src/core/common/BitMatrix.ts)
  • BitMatrix: Replaced manual zeroing loop in clear() with native Int32Array.fill(0). (src/core/common/BitMatrix.ts)
  • DefaultGridSampler: Replaced Math.floor() with bitwise | 0 in the inner grid sampling loop, called per-pixel for every 2D barcode module. (src/core/common/DefaultGridSampler.ts)
  • GlobalHistogramBinarizer: Replaced manual bucket zeroing loop with Int32Array.fill(0). (src/core/common/GlobalHistogramBinarizer.ts)
  • FinderPatternFinder: Replaced manual 5-element array zeroing with Int32Array.fill(0) in 3 locations. (src/core/qrcode/detector/FinderPatternFinder.ts)

New Format: MaxiCode

  • MaxiCodeReader: Full MaxiCode 2D barcode decoding support (modes 2–5), ported from the Java ZXing reference implementation. MaxiCode is a fixed-size hexagonal barcode used primarily by UPS for package sorting. (src/core/maxicode/MaxiCodeReader.ts)
  • MaxiCode Decoder: Reed-Solomon error correction with interleaved EVEN/ODD codeword processing, supporting structured carrier messages (modes 2–3 with postal code, country, and service class) and standard/enhanced error correction messages (modes 4–5). (src/core/maxicode/decoder/Decoder.ts, src/core/maxicode/decoder/BitMatrixParser.ts, src/core/maxicode/decoder/DecodedBitStreamParser.ts)
  • MultiFormatReader: MaxiCode is now included in both format-specific and default reader lists. (src/core/MultiFormatReader.ts)
  • ReedSolomonDecoder: Added decodeWithECCount() method that returns the number of corrected errors, used by the MaxiCode decoder to report error correction statistics. (src/core/common/reedsolomon/ReedSolomonDecoder.ts)
  • ResultMetadataType: Added ERRORS_CORRECTED enum value for reporting error correction counts in decode results. (src/core/ResultMetadataType.ts)

v0.22.0

Compare Source

Changelog: feature/modernize26 vs master

New Feature: MicroQR Code Support

  • Added full MicroQR Code reader implementation (src/core/microqr/)
    • Detector, decoder, bit matrix parser, data masking, format information, version handling
  • Registered MicroQRCodeReader in MultiFormatReader and BarcodeFormat
  • Exported all MicroQR types from src/index.ts
  • Added test suite with black-box tests and 3 sample images (src/test/resources/blackbox/microqr-1/)

Bug Fixes

  • RSS14Reader (src/core/oned/rss/RSS14Reader.ts): Fixed finder pattern center calculation — off-by-one corrected (startEnd[0] + startEnd[1] - 1); non-throwing errors (other than NotFoundException) no longer silently swallowed; new String() replaced with String(); strict equality (===) fixes
  • StringEncoding (src/core/util/StringEncoding.ts): Removed shouldDecodeOnFallback workaround for ISO-8859-1 — Node ≥ 18 native TextDecoder handles all Latin-1 bytes correctly, fixing URIError: URI malformed on characters like ó
  • RSS14Reader finder pattern: findFinderPattern()[1] now correctly points to the outside pixel of the finder pattern

Toolchain Modernization

Area Before After
TypeScript v3 v6
Test runner Mocha + Karma Jest 30 + ts-jest
Linter TSLint ESLint 10 + @typescript-eslint v8 (flat config)
Bundler config rollup.config.js (Rollup v2) rollup.config.mjs (Rollup v4)
Node requirement >= 10.4.0 >= 24.0.0
Package manager yarn npm

Configuration Changes

  • Added jest.config.js, tsconfig.test.json, src/test/jest.setup.ts
  • Added eslint.config.mjs (flat config); removed .eslintrc, tslint.json
  • Removed karma.conf.js
  • Updated tsconfig.json: added ignoreDeprecations: "6.0", strictNullChecks: false, useUnknownInCatchVariables: false, lib: ["es2020","dom"], rootDir: "./src"
  • Updated tsconfig.lib-cjs.json and tsconfig.lib-esm.json: added ignoreDeprecations: "6.0"
  • CI/CD workflows updated for Node 24 and new toolchain

Package Changes

  • Version: 0.21.30.22.0
  • License: MITApache-2.0. Actually License has always been Apache but package.json stated it was MIT which is wrong!
  • Removed: chai, mocha, karma-*, tslint, nyc, sinon, @types/chai, @types/mocha, @types/seedrandom@2
  • Added: jest, ts-jest, eslint@10, typescript-eslint, @types/jest, @types/seedrandom@3
  • Updated: rollup v2→v4, sharp v0.32→v0.34, typescript v3→v6, seedrandom v2→v3, terser (removed deprecated --screw-ie8 flag)

v0.21.3

Compare Source

What's Changed

Full Changelog: zxing-js/library@v0.21.2...v0.21.3

v0.21.2

Compare Source

What's Changed

New Contributors

Full Changelog: zxing-js/library@v0.21.1...v0.21.2

v0.21.1

Compare Source

What's Changed

New Contributors

Full Changelog: zxing-js/library@v0.21.0...v0.21.1

v0.21.0

Compare Source

What's Changed

New Contributors

Full Changelog: zxing-js/library@v0.20.0...v0.21.0


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@vercel
Copy link
Copy Markdown

vercel Bot commented Jan 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cellar-assistant Error Error Apr 29, 2026 6:53pm

@codacy-production
Copy link
Copy Markdown

codacy-production Bot commented Apr 1, 2026

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@renovate renovate Bot force-pushed the renovate/zxing-library-0.x branch from 9be1665 to 15537a4 Compare April 27, 2026 08:38
@renovate renovate Bot changed the title fix(deps): update dependency @zxing/library to v0.21.3 fix(deps): update dependency @zxing/library to v0.22.0 Apr 27, 2026
@renovate renovate Bot changed the title fix(deps): update dependency @zxing/library to v0.22.0 fix(deps): update dependency @zxing/library to v0.23.0 Apr 29, 2026
@renovate renovate Bot force-pushed the renovate/zxing-library-0.x branch from 15537a4 to d364b8d Compare April 29, 2026 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants