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.

65 changes across 16 releases · 1 landed on more than one version

Added 13

3.5.4

  • 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

3.5.3

  • Support for platforms where SJIS is unavailable

3.5.0

  • New minimal encoding mode

3.3.3

  • Add Java 9+ support

3.3.2

  • Add workaround for Gradle + Android build issues

3.3.1

  • Add Java 9 support

3.3.0

  • Add `Result.getNumBits` method to core API
  • Add raw bytes support for Aztec format
  • Add TIFF support in online decoder

3.2.0

  • Barcode Scanner can now disable history
Changed 21

3.5.4

  • 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

3.5.3

  • Remove the forced content limit check for Code128Writer
  • Update GS1 AIs according to 2023 specification

3.5.2

  • Enhanced Code 128 barcode encoding and decoding
  • Enhanced PDF417 barcode encoding and decoding

3.5.0

  • Various improvements and fixes to Aztec, PDF417, DataMatrix decoding

3.4.0

  • 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

3.3.2

  • Improve WPA2 wi-fi configuration support in Barcode Scanner
  • Various translation updates and minor improvements

3.3.1

  • 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

3.3.0

  • Make small changes for Java 9 compatibility
  • Update Barcode Scanner to 4.7.6 with Android API 23 support

3.0.0

  • Java 7 now used for all Java-based modules
  • Project moved to github.com/zxing/zxing
Fixed 26

3.5.4

  • 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

3.5.3

  • 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

3.5.2

  • Restored compatibility with older JDKs

3.5.1

  • 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

3.5.0

  • Many edge-case fixes and improvements from oss-fuzz

3.4.1

  • Wifi QR codes now recognize PH2: instead of H: for phase 2 method

3.4.0

  • Minor bug fixes to Code93Writer

3.3.3

  • Apply minor fixes and improvements

3.3.2

  • Minor DataMatrix bug fixes

3.3.1

  • Fix Code 128 encoding
  • Fix Code 39 encoding
  • Fix DataMatrix decoding

3.3.0

  • Fix many small bugs and typos

3.2.1

  • Small bug fixesalso in3.1.0

3.2.0

  • Fixed multiple parsing bugs in Data Matrix barcode format
  • Fixed multiple parsing bugs in PDF417 barcode format

3.0.0

  • Many small bug fixes and improvements
Removed 5

3.3.1

  • Remove Google Glass app
  • Remove ZXing Test app

3.2.0

  • Removed jruby binding

3.1.0

  • Retire actionscript port

3.0.0

  • Retire iphone/, cpp/, objc/, and glass-mirror/ modules

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

Full Changelog: https://github.com/zxing/zxing/compare/zxing-3.5.3...zxing-3.5.4

View originalPermalink

3.5.3ZXing 3.5.3
What's Changed
New Contributors

Full Changelog: https://github.com/zxing/zxing/compare/zxing-3.5.2...zxing-3.5.3

View originalPermalink

3.5.2ZXing 3.5.2

View originalPermalink

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

See https://github.com/zxing/zxing/milestone/14?closed=1

View originalPermalink

3.5.0ZXing 3.5.0

See https://github.com/zxing/zxing/milestone/13?closed=1

View originalPermalink

3.4.1ZXing 3.4.1
  • Wifi QR codes now recognize PH2:, not H:, for phase 2 method
  • Minor bug fixes and improvements

See https://github.com/zxing/zxing/milestone/12?closed=1

View originalPermalink

3.4.0ZXing 3.4.0
  • Requires Java 8+. Note: Android apps using this version must target API 24 or higher.
  • core, javase modules declare a Java 9+ module
  • HtmlAssetTranslator and StringsResourceTranslator legacy utilities are moved to a .client.j2se subpackage
  • No more releases of the Barcode Scanner app
  • Minor bug fixes to Code93Writer
  • Minor improvements to QR code detection

View originalPermalink

3.3.3ZXing 3.3.3
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

https://github.com/zxing/zxing/milestone/10?closed=1

View originalPermalink

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: core library will require Android SDK 19+ when used in an Android app

https://github.com/zxing/zxing/issues?q=is%3Aclosed+milestone%3A3.3.1

View originalPermalink

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

View originalPermalink

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

View originalPermalink

3.1.0ZXing 3.1.0
3.0.1ZXing 3.0.1
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

View originalPermalink