What changed in ZXing from 2 to 3
16 releases numbered after 2.3.0 up to and including 3.5.4, stable releases only. 2.3.0 and 3.5.4 are the newest stable releases of 2 and 3 we track; this page follows them as new ones ship.
- 4 remove or deprecate something
65 changes across 16 releases · 1 landed on more than one version
- Add hint to correct wrong dimension
- Add input validation for pixel array length in RGBLuminanceSource to avoid ArrayIndexOutOfBoundsException
- Add 90-degree rotation support to RGBLuminanceSource
- Add GrayscaleLuminanceSource
- Support for platforms where SJIS is unavailable
- New minimal encoding mode
- Add Java 9+ support
- Add workaround for Gradle + Android build issues
- Add Java 9 support
- Add `Result.getNumBits` method to core API
- Add raw bytes support for Aztec format
- Add TIFF support in online decoder
- Barcode Scanner can now disable history
- Be more stringent on email validation rules
- PDF417: check that input is made of 0...127 chars when using Compaction.TEXT, throw an explicit exception if not the case
- Loosen ITF max variance for 3x module widths
- Remove the forced content limit check for Code128Writer
- Update GS1 AIs according to 2023 specification
- Enhanced Code 128 barcode encoding and decoding
- Enhanced PDF417 barcode encoding and decoding
- Various improvements and fixes to Aztec, PDF417, DataMatrix decoding
- Requires Java 8+, and Android apps using this version must target API 24 or higher
- core and javase modules now declare a Java 9+ module
- HtmlAssetTranslator and StringsResourceTranslator legacy utilities moved to .client.j2se subpackage
- Minor improvements to QR code detection
- Improve WPA2 wi-fi configuration support in Barcode Scanner
- Various translation updates and minor improvements
- Improve speed and robustness of zxing.org decoder
- Update translations for Barcode Scanner
- Require Android SDK 19+ for core library when used in an Android app
- Make small changes for Java 9 compatibility
- Update Barcode Scanner to 4.7.6 with Android API 23 support
- Java 7 now used for all Java-based modules
- Project moved to github.com/zxing/zxing
- Fix container inefficiency in RSSExpandedReader
- Fix SYMBOLOGY_IDENTIFIER loss in QRCodeMultiReader to ensure data integrity and functional consistency with QRCodeReader
- Fix issue #1831
- Fix distortion calculation for isosceles right triangles
- Fix MaxiCode handling of vertical quiet zone
- Detect RSS Expanded finder pattern false positives by checking sequences
- Prevent --raw CLR option from failing if result.getRawBytes() is null
- Avoid RSS Expanded finder pattern false positive scenarios
- Avoid decoding stacked row 1 of N independently
- Restored compatibility with older JDKs
- Various minor bug fixes from oss-fuzz
- Avoid very long detection of QR codes in two types of pathological cases
- Don't fail QR code decoding if GB2312 not supported by JDK
- Many edge-case fixes and improvements from oss-fuzz
- Wifi QR codes now recognize PH2: instead of H: for phase 2 method
- Minor bug fixes to Code93Writer
- Apply minor fixes and improvements
- Minor DataMatrix bug fixes
- Fix Code 128 encoding
- Fix Code 39 encoding
- Fix DataMatrix decoding
- Fix many small bugs and typos
- Fixed multiple parsing bugs in Data Matrix barcode format
- Fixed multiple parsing bugs in PDF417 barcode format
- Many small bug fixes and improvements
One release in the range carries no categorized changes yet: 3.0.1. Their original notes, where the vendor published any, are below.
Original release notes, newest first
The list above is our reading of these notes; the originals from ZXing are here, one fold per release.
3.5.4ZXing 3.5.4
What's Changed
- Fix container inefficiency in RSSExpandedReader.java by @cinsttool in https://github.com/zxing/zxing/pull/1782
- Fix SYMBOLOGY_IDENTIFIER Loss in QRCodeMultiReader to Ensure Data Integrity and Functional Consistency with QRCodeReader by @xiebaiyuan in https://github.com/zxing/zxing/pull/1839
- Be more stringent on email validation rules by @ftiercelin in https://github.com/zxing/zxing/pull/1870
- PDF417: Check that input is made of 0...127 chars when using Compaction.TEXT, throw an explicit exception if not the case by @ftiercelin in https://github.com/zxing/zxing/pull/1878
- Fixing issue #1831 by @ftiercelin in https://github.com/zxing/zxing/pull/1879
- Add hint to correct wrong dimension by @magethle in https://github.com/zxing/zxing/pull/1901
- Fix distortion calculation for isosceles right triangles by @magethle in https://github.com/zxing/zxing/pull/1908
- Add input validation for pixel array length in RGBLuminanceSource to avoid ArrayIndexOutOfBoundsException by @leofernandesmo in https://github.com/zxing/zxing/pull/1961
- Add 90-degree rotation support to RGBLuminanceSource by @gredler in https://github.com/zxing/zxing/pull/2012
- Add GrayscaleLuminanceSource by @gredler in https://github.com/zxing/zxing/pull/2013
- Loosen ITF max variance for 3x module widths by @gredler in https://github.com/zxing/zxing/pull/2014
Full Changelog: https://github.com/zxing/zxing/compare/zxing-3.5.3...zxing-3.5.4
3.5.3ZXing 3.5.3
What's Changed
- Fix MaxiCode handling of vertical quiet zone by @gredler in https://github.com/zxing/zxing/pull/1671
- Removing the forced content limit check for Code128Writer.java by @himanshushukla254 in https://github.com/zxing/zxing/pull/1675
- Detect RSS Expanded finder pattern false positives by checking sequences by @gredler in https://github.com/zxing/zxing/pull/1680
- Update GS1 AIs according to 2023 specification by @gredler in https://github.com/zxing/zxing/pull/1681
- Prevent --raw CLR option from failing if result.getRawBytes() is null by @dlenski in https://github.com/zxing/zxing/pull/1683
- Avoid 2 more RSS Expanded finder pattern false positive scenarios by @gredler in https://github.com/zxing/zxing/pull/1692
- Avoid decoding stacked row 1 of N independently by @gredler in https://github.com/zxing/zxing/pull/1693
- Support for platforms where SJIS is unavailable by @blakepuhak in https://github.com/zxing/zxing/pull/1747
New Contributors
- @himanshushukla254 made their first contribution in https://github.com/zxing/zxing/pull/1675
- @blakepuhak made their first contribution in https://github.com/zxing/zxing/pull/1747
Full Changelog: https://github.com/zxing/zxing/compare/zxing-3.5.2...zxing-3.5.3
3.5.2ZXing 3.5.2
- Minor enhancements for Code 128 and PDF417
- Restore compatibility with older JDKs See https://github.com/zxing/zxing/milestone/15?closed=1
3.5.1ZXing 3.5.1
- Various minor bug fixes, including more from oss-fuzz
- Avoid very long detection of QR codes in two types of pathological cases
- Don't fail QR code decoding if GB2312 not supported by JDK
3.5.0ZXing 3.5.0
- Many edge-case fixes and improvements from oss-fuzz
- Various improvements and fixes to Aztec, PDF417, DataMatrix decoding
- New 'minimal' encoding mode from @AlexGeller1 (https://github.com/zxing/zxing/issues/1444)
3.4.1ZXing 3.4.1
- Wifi QR codes now recognize PH2:, not H:, for phase 2 method
- Minor bug fixes and improvements
3.4.0ZXing 3.4.0
- Requires Java 8+. Note: Android apps using this version must target API 24 or higher.
core,javasemodules declare a Java 9+ moduleHtmlAssetTranslatorandStringsResourceTranslatorlegacy utilities are moved to a.client.j2sesubpackage- No more releases of the Barcode Scanner app
- Minor bug fixes to
Code93Writer - Minor improvements to QR code detection
3.3.3ZXing 3.3.3
- Minor fixes and improvements
- Java 9+ support
3.3.2ZXing 3.3.2
- Add workaround for Gradle + Android build issues
- Minor DataMatrix bug fixes
- Improve WPA2 wi-fi configuration support in Barcode Scanner
- Various translation updates and minor improvements
3.3.1ZXing 3.3.1
- Various fixes to Code 128, 39 encoding; DataMatrix decoding
- Improvements to speed and robustness of zxing.org decoder
- Java 9 support
- Various translation updates for Barcode Scanner
- Removed Google Glass, ZXing Test apps
- Barcode Scanner 4.7.7
- Note:
corelibrary will require Android SDK 19+ when used in an Android app
https://github.com/zxing/zxing/issues?q=is%3Aclosed+milestone%3A3.3.1
3.3.0ZXing 3.3.0
- Minor core API additions like
Result.getNumBits, raw bytes for Aztec - Small changes for Java 9 compatibility
- Barcode Scanner 4.7.6 release with Android API 23 support
- TIFF support in online decoder
- Many small bug fixes, typo fixes and project build improvements
https://github.com/zxing/zxing/issues?q=is%3Aclosed+milestone%3A3.3.0
3.2.1ZXing 3.2.1
3.2.0ZXing 3.2.0
- Several bug fixes, especially for Data Matrix and PDF417 parsing
- Retired jruby binding
- Barcode Scanner can now disable history
https://github.com/zxing/zxing/issues?q=is%3Aclosed+milestone%3A3.2.0
3.1.0ZXing 3.1.0
- Retire actionscript port
- Small bug fixes
https://github.com/zxing/zxing/issues?milestone=3&state=closed
3.0.1ZXing 3.0.1
- Several small bug fixes
https://github.com/zxing/zxing/issues?milestone=2&state=closed
3.0.0ZXing 3.0.0
- iphone/, cpp/, objc/, and glass-mirror/ are retired
- Java 7 now used for all Java-based modules
- Project moved to github.com/zxing/zxing
- Many small bug fixes and improvements