10.1 (09 Nov 2007) 2- Initial release 3 40.1.1 (11 Nov 2007) 5- Fixed bug decoding version 0 QR Codes 6- Now default zoom is 2.5x in Java ME client 7 80.1.2 (28 Nov 2007) 9- Issue 11 fixed: Build problems on Windows 10- Can now build "ZXingReaderBasic" which does not require JSR-234 11- Issue 14 fixed: release .zip builds into one directory 12 130.1.3 (7 Dec 2007) 14- Unit test for QR Code decoding 15- Added EAN-13 support 16- Now builds with class file format version 1.2 -- may solve some compatibility issues? 17- Fixed obfuscation step bug causing NoClassDefFoundError 18 190.1.4 (13 Dec 2007) 20- Added Blackberry client build script -- does not yet work 21- Big change to handling of content of barcodes: 22 - com.google.zxing.client.result moved from core-ext to core 23 - Rewritten for J2ME 24 - core-ext removed 25 - J2ME client now uses this code for better parsing/handling of results 26 270.2 (07 Jan 2008) 28 - Few small bug fixes in AlignmentPatternFinder, MultiFormatReader 29 (thank K. Kakima, Andreas) 30 - LCDUIImageMonochromeBitmapSource now public 31 - Notably improved decoding for Basic version -- Regular version still 32 your best bet if you can run it though 33 340.2.1 (16 Jan 2008) 35 - Slight tweaks and enhancements to decode and runtime performance of UPCDecoder 36 - Added black-box test suites against a known set of images 37 (Thanks to Enrique G. S. for additional images) 38 390.2.2 (22 Jan 2008) 40 - Now includes junit locally to build tests 41 - Fixed "MIDlet" name in MANIFEST.MF, which may solve some problems 42 - Friendlier error message when barcode can't be found 43 440.3 (04 Feb 2008) 45 - Major refactoring of 1D barcode decoding 46 - Added support for UPC-E, EAN-8 47 - Also added Code 39, Code 128 support -- may need refinement 48 - Now any "game" key triggers photo capture 49 - Workaround implemented for Nokias that use "capture://image" in MMAPI 50 - UPC codes now trigger lookup to upcdatabase.com 51 520.4 (15 Feb 2008) 53 - First release of Android client -- only guaranteed to work with "M3" 54 builds so far. 55 - Major reorganization of current test cases and data 56 - Worked around ProGuard issue with paths with spaces on Windows 57 - Phones that don't like FocusControl.AUTO_LOCK won't cause an error now 58 - Fixed ArrayIndexOutOfBoundsException in 1D barcode decoders 59 - Worked around "java.lang.Error 136" from Nokia N70 (?) 60 - Fixed bug in Shift_JIS detection and implemented basic UTF-8 detection 61 for nonstandard QR Codes that don't use ISO-8859-1 62 630.4.5 (22 Feb 2008) 64 - Checked in first minimal working Blackberry client. Still quite crude. 65 - Fixed UTF-8 detection again 66 - Refactored Reed-Solomon to allow different GF(256) primitive polynomials, 67 in preparation for Data Matrix 68 - Slight improvement to 1D decoding accuracy, most noticeable in 69 improvements to Code 128 decoding 70 - Bug fix in Code39Reader -- typo in encoding of letter "I" and "0" 71 - Bug fix in 1D readers -- error in counting black/white pixel counts 72 in certain situations 73 - Now supports Extended Code 39 74 - Tiny bug fix to QRCodeReader for images that extend all the way 75 to top or left 76 - Android client now builds with ProGuard optimization 77 780.5 (05 Mar 2008) 79 - Improvement in QR Code decoding accuracy on non-JSR-234 phones 80 - Supports "URLTO" data in barcodes. 81 - Restructured ParsedReaderResult parsing code to not use so many 82 exceptions, for more efficiency. 83 - "TRY_HARDER" decoding hint now supported. Will do more work in some cases 84 to find an image, such as scan for 1D barcodes at a right angle and 85 backwards. Only recommended for non-mobile applications. 86 - Result now indicates the format of the decoded barcode with a 87 BarcodeFormat instance 88 - More intelligent handling of POSSIBLE_FORMATS decoding hint 89 - Fixed sub-optimal handling of EAN-13 barcodes which encode a string 90 starting with "0". These are now returned as a full 13-digit string 91 from EAN13Reader, but will continue to be construed as 12-digit UPC-A 92 codes from the MultiFormatReader. 93 - A host of small bug fixes, including bug in Version 25 QR Code support 94 - A round of code cleanup and refactoring from IntelliJ inspections 95 960.5.5 (12 Mar 2008) 97 - Revert change that rejected BufferedImage of type TYPE_CUSTOM in javase 98 - Now supports KDDI/AU / Softbank address book format 99 - Now can read Android "Intent" URIs (Android only) 100 - Modest improvements to efficiency of J2ME client: shorter autofocus, 101 better use of threads 102 - First checkin of Data Matrix decoder code. Not yet enabled in reader 103 applications. 104 - "Result" object now returns raw bytes decoded; maybe useful in some cases 105 - More unit tests for common code, EAN-8, UPC-E 106 1070.6 (28 Mar 2008) 108 - Updated android client to work on latest M5 SDK; M3-compatiable version 109 preserved in android-m3 110 - Added tel: URL support to clients 111 - Added geo: URL support; only enabled for Android client so far 112 - Added initial support for short NDEF messages, but not yet enabled 113 - Bug fix to corner-case of perspective transformation code 114 - Now attempts to configure camera's exposure controls if available 115 - Fixed rotation transform used in "try harder" mode; result did not 116 contain the whole image 117 - "Try harder" mode tries 2D formats first to avoid false positives 118 in detailed search for 1D codes, in some cases 119 - More aggressive inlining by ProGuard, notable performance boost 120 - Small Reed-Solomon optimizations for 0- and 1-error case 121 - Refactored GridSampler out into common package for use by Data Matrix 122 - GridSampler now smarter about bounds checking and point nudging; 123 should avoid some ArrayIndexOutOfBoundsException issues 124 - More unit tests 125 1260.7 (5 May 2008) 127 - Added support for MobileTag message formats 128 - Added source to zxing.org 129 - Significant work on Android clients, including UI overhaul and 130 continuous scan mode 131 - Bug fix: ResultPoints from 1D barcodes were wrong 132 - SKIP_N_BARCODES hint now gone, and associated logic has been transferred 133 to individual project users, as it is fairly app-specific at this point 134 and is beginning to complicate the core library. We can help other users 135 who need this functionality on a case-by-case basis. 136 - Bug fix in AddressBookAUParsedResult parsing 137 - Possible workaround for NoSuchMethodError on Nokias 138 - New shell of an iPhone client committed 139 - ... and other assorted small improvements and fixes 140 1410.8 (16 Jun 2008) 142 - FinderPatternFinder now isn't fooled by false-positive finder patterns 143 in some rare cases 144 - Added SMSTO: support, expanded mailto: support to include subject and body 145 params 146 - Now should properly unescape URLs in appropriate cases; better handling of 147 mailto: and tel: URIs (won't get modified by the library) 148 - Optimized 1D decoding to use integer math 149 - Small bug fix / improvement in BlackPointEstimator's estimates 150 - 1D decoding now applies a light sharpening filter 151 - Refactored and simplified MonochromeBitmapSource implementations 152 - Removed android-m3/ directory, no longer in active development. The current 153 Android client remains in android/ (M5 SDK) 154 - Restored ability to read upside-down 1D codes without try-harder mode 155 - Added a crude GUI-based decoder to javase/, for the interested 156 - core/ is now independent of MIDP; only requires CLDC 1.1 157 - Added optimized build of core library 158 - Unit tests now use local copies of images 159 1600.9 (11 July 2008) 161 - First draft of iPhone client committed 162 - core module now built in a way that makes it function as an OSGi bundle, 163 and also supports deployment in BugLabs's BUG platform. 164 - Added client for BUG platform courtesy of buglabs.net 165 - Big refactoring of com.google.zxing.client.result to separate idea of result 166 parser from result value objects 167 - Added basic vCard 2.1 support 168 - Added basic BIZCARD format support 169 - Added basic iCal format support 170 - Added new calendar event parsed result type 171 - Fewer false positives in 1D detectors, notably Code 39 and Code 128; 172 new unit tests for false positives 173 - Now parses and tries to act on ECI designators in QR Codes 174 - Merged "basic" and "regular" J2ME readers into one unified app that should 175 work on platforms with and without JSR-234 support 176 - Removed dependence on Ant 1.7 (1.6 needed now) 177 - Web application at zxing.org now shows raw bytes 178 - Far more black box tests 179 - Assorted small bug fixes 180 1811.0 (12 September 2008) 182 - All new RIM client from LifeMarks 183 - Initial Data Matrix detector included 184 - New and much improved Android 0.9-SDK compatible Android client 185 - Better 1D detection, especially UPC-E, due to loosened quite zone checks 186 - URIParsedResult now tries to warn about malicious URIs 187 - New parser for ISBNs 188 - New QR code blackbox images 189 1901.1 (22 October 2008) 191 - First public release of iPhone client called Barcodes 192 - Completely new multi-action Android client UI, released as Barcode Scanner v2.3 193 - Code 128 parsing fixes 194 - Dozens of new blackbox test images 195 - Many small core library parsing improvements and bug fixes 196 - Improved quiet zone enforcement which reduces false positives significantly 197 - Better calendar event and MECARD support 198 - Compatibility with the Android 1.0 SDK 199 - Added androidtest app for testing intents and capturing blackbox test images 200 2011.2 (23 December 2008) 202 - New Android benchmark application to time decoding performance 203 - Dramatic performance improvements for worst case images (up to 2x faster) 204 - Expanded blackbox unit tests with many new test images 205 - Many small decoding improvements and bug fixes 206 - New Share functionality in the Android client which encodes contacts, bookmarks, or the 207 clipboard contents as a QR Code for a friend to scan with their phone 208 - Locale-specific Android client which picks the right TLD when connecting to Google 209 - Support for Furigana in the Android client, and better parsing of Kanji in core 210 - Added the ability to import and export multiple phone numbers and emails for a single contact 211 - Native QR Encoding added to the ZXing library - no need to send request to ChartServer 212 - New ITF barcode format support from Kevin O'Sullivan at SITA 213 - New HTML help system for the Android client 214 - New web-based QR Code encoder at zxing.appspot.com based on GWT 215 2161.3 (11 March 2009) 217 - New C# port from Mohamad Fairol 218 - ITF format scanning now on by default 219 - Many new blackbox test images 220 - Better QR Code detection 221 - Better Android Intent handling 222 - Improved email parsing 223 - New Android Integration module to make life easier for third party ZXing users 224 - More robust URI parsing 225 - Many other small improvements and bug fixes 226 2271.4 (26 Oct 2009) 228 - Wider viewfinder in Android app to account for better close-range focus 229 - More Android app translations: Spanish, Italian, Russian, French 230 - Support for more devices, Cupcake, Donut 231 - Worked around two important, related callback issues in Donut/Cupcake that stopped scanning 232 - New custom search in Android app 233 - New framework for evaluating the black point of an image 234 - Many many small bug fixes, refactorings, small improvements, new versions of dependencies 235 2361.5 (5 March 2010) 237 - Android app: 238 - Shopper integration 239 - Tries to activate front light on some devices 240 - Xperia et al. support with new screen sizes 241 - Translations: Dutch, Swedish, Czech, Finnish 242 - "Thinking" visualization 243 - Updated C++ port, including new Data Matrix port 244 - Updated C# port 245 - Preliminary RSS-14 support 246 - Reconceived support for various image sources and thresholding 247 - Other small bug fixes and performance improvements 248 2491.6 (20 Sept 2010) 250 - Many, many updates to C++, Symbian, iPhone ports 251 - RSS 14, Expanded support 252 - Code 93 support 253 - Codabar support 254 - Data Matrix support reaches release quality 255 - UPC/EAN +5 extension support 256 - Android app: 257 - Share history support 258 - Bulk scan mode 259 - Wi-fi configuration support 260 - Format available in callback for web-based integration 261 - Updated or new translations for: 262 Hungarian, Danish, Chinese, Arabic, Dutch, Slovenian, Turkish 263 - UI beautification 264 - Added ability to detect multiple barcodes per image 265 - Many small bug fixes and enhancements 266 2671.7 (8 June 2011) 268 - Initial support for Aztec codes 269 - Added the ability to read rectangular DataMatrix codes 270 - Added new lengths for ITF 271 - Dozens of bug fixes to core decoding routines 272 - New C# port 273 - Android app: 274 - Tablet support 275 - Many translations added and updated 276 - Support for new Intent parameters 277 - Many bug fixes and small features 278 - Mostly rewritten iPhone port 279 - New ZXingWidget library to include scanning in any iOS app 280 - Made CommandLineRunner multithreaded and recursive 281 2822.0 (3 Feb 2012) 283 284 - core/ has been rewritten to work with Java 6 285 - core/ has new functionality: 286 - PDF 417 encoding (from Barcode4J) 287 - Codabar encoding 288 - partial Maxicode decoding support 289 - android/ and androidtest/ have been rewritten to work with Android 2.1+ 290 - Uses new camera APIs 291 - Uses new contact APIs too 292 - (See separate Barcode Scanner release notes for version 4.0) 293 - zxing.appspot.com/ has been rewritten to work with GWT 2.4 294 - cpp/, objc/ and iphone/ have received many ports of fixes and other functionality from Java, and changes to work with more recent iOS 295 - bug/, rim/, and javame/ have been removed 296 - Many, many small bug fixes and optimizations, mostly to core/ and android/ 297 2982.1 (22 Oct 2012) 299 300 - Many small fixes to handling of QR code data formats, like exotic URLs, and contact info 301 - Many small fixes to decoding and detection common barcode formats, like PDF417, Aztec. Small improvements 302 too like partial error correction for PDF417 303 - Many small updates to the Android app, Barcode Scanner, including rare bug fixes and translation updates. 304 The 2.1 release corresponds substantially to v4.3.1. 305 - Many ports of Java updates to C++ port 306 3072.2 (14 May 2013) 308 309 - Retire Symbian port 310 - Retire C# port 311 - Improved PDF417 decoding, including macro PDF417 312 - Added Aztec and Data Matrix encoders 313 - Added RSS Expanded decoder 314 - Java, C++ and iPhone build system updates, including migration to Maven for most Java modules 315 - Many small fixes and improvements 316 - Many small updates to the Android app, Barcode Scanner, including rare bug fixes and translation updates. 317 The 2.2 release corresponds substantially to v4.3.2. 318 - Update zxing.org web-based decoder for Amazon Elastic Beanstalk (and redeployed there) 319 - Many ports of Java updates to C++ and C# ports 320 - Standardize test system image processing and image format for reproducibility 321 3222.3.0 (1 Dec 2013) 323 324 - Added clone of Google Chart Server QR code encoder API to zxingorg/, at endpoint /chart 325 - Updated zxing.appspot.com generator to remove deprecated API usage, use latest GWT / App Engine 326 - Added skeleton Google Glass Mirror API app 327 - Improve and standardize Maven build, standardize directories and version naming 328 - Barcode Scanner Android up requires Android 4 and is updated to use Android 4+ APIs 329 - javase/ and zxingorg/ modules now use Java 7 330 - Many small fixes and improvements 331 - (Last release including cpp/ and iphone/ code) 332 3333.0.0 (3 March 2014) 334 335 - iphone/, cpp/, objc/, and glass-mirror/ are retired 336 - Java 7 now used for all Java-based modules 337 - Project moved to github.com/zxing/zxing 338 - Many small bug fixes and improvements 339 3403.0.1 (18 April 2014) 341 342 - Several small bug fixes 343 3443.1.0 (22 May 2014) 345 346 - Retire actionscript port 347 - Small bug fixes 348 3493.2.0 (15 Feb 2015) 350 351 - Several bug fixes, especially for Data Matrix and PDF417 parsing 352 - Retired jruby binding 353 - Barcode Scanner can now disable history 354 3553.2.1 (20 Aug 2015) 356 357 - Small bug fixes 358 3593.3.0 (16 Sep 2016) 360 361 - Minor core API additions like 'Result.getNumBits', raw bytes for Aztec 362 - Small changes for Java 9 compatibility 363 - BS 4.7.6 release with Android API 23 support 364 - TIFF support in online decoder 365 - Many small bug fixes, typo fixes and project build improvements 366 3673.3.1 (26 Oct 2017) 368 369 - Various fixes to Code 128, 39 encoding; DataMatrix decoding 370 - Improvements to speed and robustness of zxing.org decoder 371 - Java 9 support 372 - Various translation updates for Barcode Scanner 373 - Removed Google Glass, ZXing Test apps 374 3753.3.2 (31 Jan 2018) 376 377 - Add workaround for Gradle + Android build issues 378 - Minor DataMatrix bug fixes 379 - Improve WPA2 wi-fi configuration support in Barcode Scanner 380 - Various translation updates and minor improvements 381 3823.3.3 (30 May 2018) 383 384 - Minor fixes and improvements 385 - Java 9+ support 386 3873.4.0 (19 May 2019) 388 389 - Requires Java 8+ 390 - core, javase modules declare a Java 9+ module 391 - HtmlAssetTranslator and StringsResourceTranslator legacy utilities are moved to a .client.j2se subpackage 392 - No more releases of the Barcode Scanner app 393 - Minor bug fixes to Code93Writer 394 - Minor improvements to QR code detection 395 3963.4.1 (30 Sep 2020) 397 398 - Wifi QR codes now recognize PH2:, not H:, for phase 2 method 399 - Minor bug fixes and improvements 400 401Note that further release notes will be published at https://github.com/zxing/zxing/releases 402