NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #2615 most downloaded on pub.dev
A Dart package for decoding QR codes and other barcode formats using the ZXing library
Last release 1 months ago
10 Aug 2026
Release timing varies
gaps range from 2 weeks to 1.1 years
Nearly every release is documented
notes for 10 of 10 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
10 releases · first in 2025
- update camera to 0.9.4+5
camera to 0.9.4+5zxing_lib is no longer part of the public API. The package now owns its models, so consuming apps never need a zxing_lib dependency:
decodeFile and decodeCameraImage return ScanResult? instead of zxing_lib's Result?.BarcodeFormat is now this package's own enum, exposing only the formats that are actually supported (aztec, code39, code93, code128, dataMatrix, ean8, ean13, itf, pdf417, qrCode). Unsupported formats are a compile error instead of a runtime exception.export 'package:zxing_lib/zxing.dart' show BarcodeFormat, Result was removed from the barrel.FileDecode.decode, CameraDecode.decode and IsolateCameraDecode.setYuv420Planess return ScanResult?; FileDecodeEvent.formats and IsolateCameraDecode.currentResults use the new types as well.ScanResult with text, format, timestamp, rawBytes and corners.
corners is a List<Point<double>> (dart:math), keeping the package pure Dart. Flutter apps can bridge it to Offset with toOffset/toOffsets from package:qr_code_dart_scan.ScanResult keeps identity equality on purpose, so repeated scans of the same barcode still notify.CameraDecode.decode now honours the formats it is given. It accepted the argument but never forwarded it to the reader, so camera decoding was unrestricted and could return a barcode in a format the caller had not asked for.// Before
final Result? result = await decoder.decodeFile(bytes);
result?.barcodeFormat; // zxing_lib BarcodeFormat
result?.resultPoints; // List<ResultPoint?>?
// After
final ScanResult? result = await decoder.decodeFile(bytes);
result?.format; // qr_code_dart_decoder BarcodeFormat
result?.corners; // List<Point<double>>, never null
One column per month.
- update camera - update image.
cameraimage.tryHarder: true on first attempt for better success rate.BlurDetector class with isSharp() and isSharpFast() methods for blur detection.TransferableYuv420Planes class for efficient isolate communication.CameraDecode.enableBlurDetection flag to toggle blur detection (default: false).CameraDecode (can be re-enabled by uncommenting).Move crop background to FileDecode.
rename scanQRCodeInverted to scanInvertedQRCode
scanQRCodeInverted to scanInvertedQRCodeadd setScanEnabled in controller.
setScanEnabled in controller.QR_CODE,AZTEC,DATA_MATRIX,PDF_417,CODE_39,CODE_93,CODE_128,EAN_8,EAN_13.* Adds cropRect.
* Adds tryHarder=true in decode. * FileDecode improvements
* Adds rotate
* Improvements performance
* First version
Your coding agent can read these notes before it upgrades. Set up the MCP server →