xref: /aosp_15_r20/external/zxing/CHANGES (revision 513427e33d61bc67fc40bc261642ac0b2a686b45)
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