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