aboutsummaryrefslogtreecommitdiff
path: root/CHANGES
blob: 7608df6997801384e5fab4cd6e9d40f9e8255172 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
0.1 (09 Nov 2007)
- Initial release

0.1.1 (11 Nov 2007)
- Fixed bug decoding version 0 QR Codes
- Now default zoom is 2.5x in Java ME client

0.1.2 (28 Nov 2007)
- Issue 11 fixed: Build problems on Windows
- Can now build "ZXingReaderBasic" which does not require JSR-234
- Issue 14 fixed: release .zip builds into one directory

0.1.3 (7 Dec 2007)
- Unit test for QR Code decoding
- Added EAN-13 support
- Now builds with class file format version 1.2 -- may solve some compatibility issues?
- Fixed obfuscation step bug causing NoClassDefFoundError

0.1.4 (13 Dec 2007)
- Added Blackberry client build script -- does not yet work
- Big change to handling of content of barcodes:
  - com.google.zxing.client.result moved from core-ext to core
  - Rewritten for J2ME
  - core-ext removed
  - J2ME client now uses this code for better parsing/handling of results

0.2 (07 Jan 2008)
  - Few small bug fixes in AlignmentPatternFinder, MultiFormatReader
    (thank K. Kakima, Andreas)
  - LCDUIImageMonochromeBitmapSource now public
  - Notably improved decoding for Basic version -- Regular version still
    your best bet if you can run it though

0.2.1 (16 Jan 2008)
  - Slight tweaks and enhancements to decode and runtime performance of UPCDecoder
  - Added black-box test suites against a known set of images
    (Thanks to Enrique G. S. for additional images)

0.2.2 (22 Jan 2008)
  - Now includes junit locally to build tests
  - Fixed "MIDlet" name in MANIFEST.MF, which may solve some problems
  - Friendlier error message when barcode can't be found

0.3 (04 Feb 2008)
  - Major refactoring of 1D barcode decoding
  - Added support for UPC-E, EAN-8
  - Also added Code 39, Code 128 support -- may need refinement
  - Now any "game" key triggers photo capture
  - Workaround implemented for Nokias that use "capture://image" in MMAPI
  - UPC codes now trigger lookup to upcdatabase.com

0.4 (15 Feb 2008)
  - First release of Android client -- only guaranteed to work with "M3"
    builds so far.
  - Major reorganization of current test cases and data
  - Worked around ProGuard issue with paths with spaces on Windows
  - Phones that don't like FocusControl.AUTO_LOCK won't cause an error now
  - Fixed ArrayIndexOutOfBoundsException in 1D barcode decoders
  - Worked around "java.lang.Error 136" from Nokia N70 (?)
  - Fixed bug in Shift_JIS detection and implemented basic UTF-8 detection
    for nonstandard QR Codes that don't use ISO-8859-1

0.4.5 (22 Feb 2008)
  - Checked in first minimal working Blackberry client. Still quite crude.
  - Fixed UTF-8 detection again
  - Refactored Reed-Solomon to allow different GF(256) primitive polynomials,
    in preparation for Data Matrix
  - Slight improvement to 1D decoding accuracy, most noticeable in
    improvements to Code 128 decoding
  - Bug fix in Code39Reader -- typo in encoding of letter "I" and "0"
  - Bug fix in 1D readers -- error in counting black/white pixel counts
    in certain situations
  - Now supports Extended Code 39
  - Tiny bug fix to QRCodeReader for images that extend all the way
    to top or left
  - Android client now builds with ProGuard optimization

0.5 (05 Mar 2008)
  - Improvement in QR Code decoding accuracy on non-JSR-234 phones
  - Supports "URLTO" data in barcodes.
  - Restructured ParsedReaderResult parsing code to not use so many
    exceptions, for more efficiency.
  - "TRY_HARDER" decoding hint now supported. Will do more work in some cases
    to find an image, such as scan for 1D barcodes at a right angle and
    backwards. Only recommended for non-mobile applications.
  - Result now indicates the format of the decoded barcode with a
    BarcodeFormat instance
  - More intelligent handling of POSSIBLE_FORMATS decoding hint
  - Fixed sub-optimal handling of EAN-13 barcodes which encode a string
    starting with "0". These are now returned as a full 13-digit string
    from EAN13Reader, but will continue to be construed as 12-digit UPC-A
    codes from the MultiFormatReader.
  - A host of small bug fixes, including bug in Version 25 QR Code support
  - A round of code cleanup and refactoring from IntelliJ inspections

0.5.5 (12 Mar 2008)
  - Revert change that rejected BufferedImage of type TYPE_CUSTOM in javase
  - Now supports KDDI/AU / Softbank address book format
  - Now can read Android "Intent" URIs (Android only)
  - Modest improvements to efficiency of J2ME client: shorter autofocus,
    better use of threads
  - First checkin of Data Matrix decoder code. Not yet enabled in reader
    applications.
  - "Result" object now returns raw bytes decoded; maybe useful in some cases
  - More unit tests for common code, EAN-8, UPC-E

0.6 (28 Mar 2008)
  - Updated android client to work on latest M5 SDK; M3-compatiable version
    preserved in android-m3
  - Added tel: URL support to clients
  - Added geo: URL support; only enabled for Android client so far
  - Added initial support for short NDEF messages, but not yet enabled
  - Bug fix to corner-case of perspective transformation code
  - Now attempts to configure camera's exposure controls if available
  - Fixed rotation transform used in "try harder" mode; result did not
    contain the whole image
  - "Try harder" mode tries 2D formats first to avoid false positives
    in detailed search for 1D codes, in some cases
  - More aggressive inlining by ProGuard, notable performance boost
  - Small Reed-Solomon optimizations for 0- and 1-error case
  - Refactored GridSampler out into common package for use by Data Matrix
  - GridSampler now smarter about bounds checking and point nudging;
    should avoid some ArrayIndexOutOfBoundsException issues
  - More unit tests

0.7 (5 May 2008)
  - Added support for MobileTag message formats
  - Added source to zxing.org
  - Significant work on Android clients, including UI overhaul and
    continuous scan mode
  - Bug fix: ResultPoints from 1D barcodes were wrong
  - SKIP_N_BARCODES hint now gone, and associated logic has been transferred
    to individual project users, as it is fairly app-specific at this point
    and is beginning to complicate the core library. We can help other users
    who need this functionality on a case-by-case basis.
  - Bug fix in AddressBookAUParsedResult parsing
  - Possible workaround for NoSuchMethodError on Nokias
  - New shell of an iPhone client committed
  - ... and other assorted small improvements and fixes

0.8 (16 Jun 2008)
  - FinderPatternFinder now isn't fooled by false-positive finder patterns
    in some rare cases
  - Added SMSTO: support, expanded mailto: support to include subject and body
    params
  - Now should properly unescape URLs in appropriate cases; better handling of
    mailto: and tel: URIs (won't get modified by the library)
  - Optimized 1D decoding to use integer math
  - Small bug fix / improvement in BlackPointEstimator's estimates
  - 1D decoding now applies a light sharpening filter
  - Refactored and simplified MonochromeBitmapSource implementations
  - Removed android-m3/ directory, no longer in active development. The current
    Android client remains in android/ (M5 SDK)
  - Restored ability to read upside-down 1D codes without try-harder mode
  - Added a crude GUI-based decoder to javase/, for the interested
  - core/ is now independent of MIDP; only requires CLDC 1.1
  - Added optimized build of core library
  - Unit tests now use local copies of images

0.9 (11 July 2008)
  - First draft of iPhone client committed
  - core module now built in a way that makes it function as an OSGi bundle,
    and also supports deployment in BugLabs's BUG platform.
  - Added client for BUG platform courtesy of buglabs.net
  - Big refactoring of com.google.zxing.client.result to separate idea of result
    parser from result value objects
  - Added basic vCard 2.1 support
  - Added basic BIZCARD format support
  - Added basic iCal format support
  - Added new calendar event parsed result type
  - Fewer false positives in 1D detectors, notably Code 39 and Code 128;
    new unit tests for false positives
  - Now parses and tries to act on ECI designators in QR Codes
  - Merged "basic" and "regular" J2ME readers into one unified app that should
    work on platforms with and without JSR-234 support
  - Removed dependence on Ant 1.7 (1.6 needed now)
  - Web application at zxing.org now shows raw bytes
  - Far more black box tests
  - Assorted small bug fixes

1.0 (12 September 2008)
  - All new RIM client from LifeMarks
  - Initial Data Matrix detector included
  - New and much improved Android 0.9-SDK compatible Android client
  - Better 1D detection, especially UPC-E, due to loosened quite zone checks
  - URIParsedResult now tries to warn about malicious URIs
  - New parser for ISBNs
  - New QR code blackbox images

1.1 (22 October 2008)
  - First public release of iPhone client called Barcodes
  - Completely new multi-action Android client UI, released as Barcode Scanner v2.3
  - Code 128 parsing fixes
  - Dozens of new blackbox test images
  - Many small core library parsing improvements and bug fixes
  - Improved quiet zone enforcement which reduces false positives significantly
  - Better calendar event and MECARD support
  - Compatibility with the Android 1.0 SDK
  - Added androidtest app for testing intents and capturing blackbox test images

1.2 (23 December 2008)
  - New Android benchmark application to time decoding performance
  - Dramatic performance improvements for worst case images (up to 2x faster)
  - Expanded blackbox unit tests with many new test images
  - Many small decoding improvements and bug fixes
  - New Share functionality in the Android client which encodes contacts, bookmarks, or the
    clipboard contents as a QR Code for a friend to scan with their phone
  - Locale-specific Android client which picks the right TLD when connecting to Google
  - Support for Furigana in the Android client, and better parsing of Kanji in core
  - Added the ability to import and export multiple phone numbers and emails for a single contact
  - Native QR Encoding added to the ZXing library - no need to send request to ChartServer
  - New ITF barcode format support from Kevin O'Sullivan at SITA
  - New HTML help system for the Android client
  - New web-based QR Code encoder at zxing.appspot.com based on GWT

1.3 (11 March 2009)
  - New C# port from Mohamad Fairol
  - ITF format scanning now on by default
  - Many new blackbox test images
  - Better QR Code detection
  - Better Android Intent handling
  - Improved email parsing
  - New Android Integration module to make life easier for third party ZXing users
  - More robust URI parsing
  - Many other small improvements and bug fixes

1.4 (26 Oct 2009)
  - Wider viewfinder in Android app to account for better close-range focus
  - More Android app translations: Spanish, Italian, Russian, French
  - Support for more devices, Cupcake, Donut
  - Worked around two important, related callback issues in Donut/Cupcake that stopped scanning
  - New custom search in Android app
  - New framework for evaluating the black point of an image
  - Many many small bug fixes, refactorings, small improvements, new versions of dependencies

1.5 (5 March 2010)
  - Android app:
    - Shopper integration
    - Tries to activate front light on some devices
    - Xperia et al. support with new screen sizes
    - Translations: Dutch, Swedish, Czech, Finnish
    - "Thinking" visualization
  - Updated C++ port, including new Data Matrix port
  - Updated C# port
  - Preliminary RSS-14 support
  - Reconceived support for various image sources and thresholding
  - Other small bug fixes and performance improvements

1.6 (20 Sept 2010)
  - Many, many updates to C++, Symbian, iPhone ports
  - RSS 14, Expanded support
  - Code 93 support
  - Codabar support
  - Data Matrix support reaches release quality
  - UPC/EAN +5 extension support
  - Android app:
    - Share history support
    - Bulk scan mode
    - Wi-fi configuration support
    - Format available in callback for web-based integration
    - Updated or new translations for:
      Hungarian, Danish, Chinese, Arabic, Dutch, Slovenian, Turkish
    - UI beautification
  - Added ability to detect multiple barcodes per image
  - Many small bug fixes and enhancements

1.7 (8 June 2011)
  - Initial support for Aztec codes
  - Added the ability to read rectangular DataMatrix codes
  - Added new lengths for ITF
  - Dozens of bug fixes to core decoding routines
  - New C# port
  - Android app:
    - Tablet support
    - Many translations added and updated
    - Support for new Intent parameters
    - Many bug fixes and small features
  - Mostly rewritten iPhone port
  - New ZXingWidget library to include scanning in any iOS app
  - Made CommandLineRunner multithreaded and recursive

2.0 (3 Feb 2012)

  - core/ has been rewritten to work with Java 6
  - core/ has new functionality:
    - PDF 417 encoding (from Barcode4J)
    - Codabar encoding
    - partial Maxicode decoding support
  - android/ and androidtest/ have been rewritten to work with Android 2.1+
    - Uses new camera APIs
    - Uses new contact APIs too
    - (See separate Barcode Scanner release notes for version 4.0)
  - zxing.appspot.com/ has been rewritten to work with GWT 2.4
  - cpp/, objc/ and iphone/ have received many ports of fixes and other functionality from Java, and changes to work with more recent iOS
  - bug/, rim/, and javame/ have been removed
  - Many, many small bug fixes and optimizations, mostly to core/ and android/

2.1 (22 Oct 2012)

  - Many small fixes to handling of QR code data formats, like exotic URLs, and contact info
  - Many small fixes to decoding and detection common barcode formats, like PDF417, Aztec. Small improvements
    too like partial error correction for PDF417
  - Many small updates to the Android app, Barcode Scanner, including rare bug fixes and translation updates.
    The 2.1 release corresponds substantially to v4.3.1.
  - Many ports of Java updates to C++ port

2.2 (14 May 2013)

  - Retire Symbian port
  - Retire C# port
  - Improved PDF417 decoding, including macro PDF417
  - Added Aztec and Data Matrix encoders
  - Added RSS Expanded decoder
  - Java, C++ and iPhone build system updates, including migration to Maven for most Java modules
  - Many small fixes and improvements
  - Many small updates to the Android app, Barcode Scanner, including rare bug fixes and translation updates.
    The 2.2 release corresponds substantially to v4.3.2.
  - Update zxing.org web-based decoder for Amazon Elastic Beanstalk (and redeployed there)
  - Many ports of Java updates to C++ and C# ports
  - Standardize test system image processing and image format for reproducibility

2.3.0 (1 Dec 2013)

  - Added clone of Google Chart Server QR code encoder API to zxingorg/, at endpoint /chart
  - Updated zxing.appspot.com generator to remove deprecated API usage, use latest GWT / App Engine
  - Added skeleton Google Glass Mirror API app
  - Improve and standardize Maven build, standardize directories and version naming
  - Barcode Scanner Android up requires Android 4 and is updated to use Android 4+ APIs
  - javase/ and zxingorg/ modules now use Java 7
  - Many small fixes and improvements
  - (Last release including cpp/ and iphone/ code)

3.0.0 (3 March 2014)

  - 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

3.0.1 (18 April 2014)

  - Several small bug fixes

3.1.0 (22 May 2014)

  - Retire actionscript port
  - Small bug fixes

3.2.0 (15 Feb 2015)

  - Several bug fixes, especially for Data Matrix and PDF417 parsing
  - Retired jruby binding
  - Barcode Scanner can now disable history

3.2.1 (20 Aug 2015)

  - Small bug fixes

3.3.0 (16 Sep 2016)

  - Minor core API additions like 'Result.getNumBits', raw bytes for Aztec
  - Small changes for Java 9 compatibility
  - BS 4.7.6 release with Android API 23 support
  - TIFF support in online decoder
  - Many small bug fixes, typo fixes and project build improvements

3.3.1 (26 Oct 2017)

  - 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

3.3.2 (31 Jan 2018)

  - 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

3.3.3 (30 May 2018)

  - Minor fixes and improvements
  - Java 9+ support

3.4.0 (19 May 2019)

  - Requires Java 8+
  - 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

3.4.1 (30 Sep 2020)

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

Note that further release notes will be published at https://github.com/zxing/zxing/releases