Tiny NPE fix
[zxing.git] / CHANGES
1 0.1 (09 Nov 2007)
2 - Initial release
3
4 0.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
8 0.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
13 0.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
19 0.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
27 0.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
34 0.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
39 0.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
44 0.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
52 0.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
63 0.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
78 0.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
96 0.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
107 0.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
126 0.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
141 0.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
160 0.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
181 1.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
190 1.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
201 1.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
216 1.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
227 1.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
236 1.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