1 2009.06.06 Kentaro FUKUCHI <fukuchi@megaui.net>
2 * Backported from the main trunk.
4 - Dependency check was incorrect because of misconfiguration.
5 * Version 3.1.0 has been released.
7 2009.05.30 Kentaro FUKUCHI <fukuchi@megaui.net>
9 - padlen check was wrong in QRinput_appendPaddingBit().
10 * tests/test_qrinput.c:
11 - Stop printing bstream->data.
12 - test_padding2() has been added.
14 2009.05.21 Kentaro FUKUCHI <fukuchi@megaui.net>
16 - 'padding' was not initialize.
18 2009.05.20 Kentaro FUKUCHI <fukuchi@megaui.net>
19 * qrenc.c, qrinput.c, qrencode.c:
20 - Some compile warnings cleared.
21 * qrencode.c, tests/test_qrencode.c:
22 - NULL check of an input arg has been added to
23 QRcode_encodeString8bit().
24 - NULL check test and empty string test have been added for
25 QRcode_encodeString8bit().
26 * qrinput.h, qrencode_inner.h, split.c:
27 - Copyright year updates.
29 - Split_splitStringToQRinput() set errno EINVAL if input string is
31 - Documentation improved.
33 - perror() is now used to show the details of some errors.
35 - Some functions now set errno appropriately.
38 2009.05.20 Kentaro FUKUCHI <fukuchi@megaui.net>
39 * tests/create_frame_pattern.c, tests/Makefile.am:
40 - New test tool "create_frame_pattern" has been added.
41 * tests/test_qrspec.c:
42 - test_alignment1() has been replaced with test_newframe().
43 test_newframe() compares newly created frames with frame pattern
44 data created by create_frame_pattern.
45 * tests/frame, tests/Makefile.am:
46 - Pattern file "frame" has been added to EXTRA_DIST.
48 - Very small improvement. Unnecessary malloc()s are reduced.
49 * tests/test_qrencode.c:
50 - Two new tests have been added.
52 - NULL check and string length check have been added.
53 * qrspec.c, tests/test_qrinput.c:
54 - Forgotten padding bits bug has been fixed. (enbugged at 2009.5.18)
55 - New test for the bug above has been added.
56 * qrspec.[ch], qrencode_inner.h:
57 - Some function becomes __STATIC and their declarations have been
58 moved to qrencode_inner.h.
59 * tests/prof_qrencode.c:
60 - Now liberates all heap at the end of the program.
62 2009.05.19 Kentaro FUKUCHI <fukuchi@megaui.net>
63 * qrencode.c, qrencode_inner.h:
64 - calloc() is now used to initialize rsblock.
65 - Number of malloc()s in RSblock_initBlock() has been integrated to
66 one malloc() in QRraw_new().
68 - A very small code improvement.
70 - More return value checks.
72 * tests/common.h, tests/test_{split,monkey,qrinput}.c:
74 * qrspec.[ch], tests/test_qrspec.c:
76 - QRspec_rs{Data,Ecc}Length() have been added.
77 * tests/view_qrcode.c:
79 - Disabled mask setting in structured mode.
81 - assert_nothing() has been added.
82 * qrinput.c, qrencode.c, tests/test_*.c:
83 - Various *_free() now allow NULL pointer. (nothing performed)
85 - Alignment pattern is now put by QRspec_putAlignmentPattern().
86 QRspec_getAlignmentPattern() and QRspec_freeAlignment() have been
89 2009.05.18 Kentaro FUKUCHI <fukuchi@megaui.net>
91 - More return value checks.
93 - BitStream_free() allows NULL pointer (nothing performed).
95 - QRinput_List_freeEntry() and QRinput_free() allow NULL pointer.
96 - QRinput_createPaddingBit() has been replaced with
97 QRinput_appendPaddingBit().
98 - QRinput_convertData() now sets errno to EINVAL when input is too
100 - More return value checks. Mainly for ENOMEM error.
102 2009.05.16 Kentaro FUKUCHI <fukuchi@megaui.net>
104 - Indent improvement.
106 - qrencode.spec has been added to EXTRA_DIST.
108 2009.05.14 Kentaro FUKUCHI <fukuchi@megaui.net>
109 * qrinput.c, qrencode.c, qrspe.c:
110 - More return value checks. Mainly for ENOMEM error.
111 * qrspec.[ch], qrencode.c, tests/test_qrspec.c:
112 - QRspec_getEccSpec() now accepts an int array instead to return
113 multiple values instead of returning dynamic allocated array.
115 - More return value checks from malloc().
117 - Added "--enable-mudflap" option.
119 - Added free_rs_cache() for debug purpose.
120 * tests/test_{monkey,qrencode,rs}.c:
121 - Call free_rs_cache() at the end of the tests.
123 - QRraw_new() and RSblock_init() have been improved.
124 - Eliminated unnecessary calls of init_rs().
125 * autogen.sh, configure.ac:
126 - Darwin workarounds.
127 * tests/common.h, tests/test_bitstream.c:
128 - New tests have been added.
130 2009.05.12 Kentaro FUKUCHI <fukuchi@megaui.net>
132 - BitStream_toByte() had returned non-NULL for an empty BitStream.
133 * tests/test_bitstream.c:
134 - test_null() has been added.
136 - A possible memory leak has been eliminated. It happend when a wrong
137 version number was given.
138 * tests/test_qriput.c:
139 - Memory leaks have been eliminated.
141 2009.05.01 Kentaro FUKUCHI <fukuchi@megaui.net>
142 * Bumped vertion to 3.1.0.
144 2009.04.30 Kentaro FUKUCHI <fukuchi@megaui.net>
146 - Internal representation of BitStream has been changed from
147 NUL-terminated string to unsigned char array.
148 * tests/common.h, tests/test_{bitstream,qrinput}.c:
149 - Some test sequences have been updated (see above).
151 2009.03.25 Kentaro FUKUCHI <fukuchi@megaui.net>
153 - "--without-tests" has become default setting.
155 - Now functions strictly check return value from malloc() and return
158 2008.10.31 Kentaro FUKUCHI <fukuchi@megaui.net>
160 - __FUNCTION__ has been replaced with __func__, to follow the C99
162 - The way of variadic macros has been changed, to follow the C99
165 2008.10.11 Kentaro FUKUCHI <fukuchi@megaui.net>
167 - Now this header is called only by test programs.
168 * qrencode.c, qrencode_inner.h:
169 - Some definitions and declares written in qrencode_inner.h have been
170 moved into qrencode.c:
171 - QRraw_*() have been declared as __STATIC.
172 * mask.[ch], qrencode.c, qrencode_inner.h:
173 - Mask_makeMask() now requires QRecLevel.
174 - QRencode_writeFormatInformation() has been renamed and moved to
175 Mask_writeFormatInformation(), and become __STATIC.
177 - Unneeded #include "qrencode_inner.h" have been removed.
179 2008.10.11 Kentaro FUKUCHI <fukuchi@megaui.net>
183 - Now config.h offers "__STATIC" macro becomes "static" when
184 "--without-tests" is specified. This macro is useful for functions
185 called from test programs but not from other library codes.
187 - Very little performance improvement.
191 2008.09.12 Kentaro FUKUCHI <fukuchi@megaui.net>
192 * tests/view_qrcode.c:
193 - Unused variable 'pitch' has been removed from draw_QRcode().
195 2008.06.03 Kentaro FUKUCHI <fukuchi@megaui.net>
196 * Merged to the main trunk.
198 2008.06.01 Kentaro FUKUCHI <fukuchi@megaui.net>
200 - Now it does not show the full usage when unrecognized options are
202 - When "--help" is given, it displays the long usage.
203 * Version 3.0.3 has been released.
205 2008.05.26 Kentaro FUKUCHI <fukuchi@megaui.net>
206 * qrenc.c, tests/view_qrcode.c:
207 - getopt_long_only() has been replaced with getopt_long() which is
208 widely available. (Thanks to Gavan Fantom)
209 - Now it accepts long options.
211 - followed the above changes.
212 * Bumped version to 3.0.3.
214 2008.05.18 Kentaro FUKUCHI <fukuchi@megaui.net>
216 - The bit order of "Version information" has been corrected.
217 (Thanks to Paul Janssesn)
218 * configure.ac, Makefile.am:
219 - The "--without-tests" has been added to the configure script.
221 - Uses "--without-tests".
222 * Version 3.0.2 has been released.
224 2008.05.14 Kentaro FUKUCHI <fukuchi@megaui.net>
226 - Some compile-time warnings/erros with g++ have been fixed.
229 2008.05.09 Kentaro FUKUCHI <fukuchi@megaui.net>
231 - Now qrencode writes an image file in binary mode for non-POSIX
232 platform, such as MS-Windows. (bug report from Paul Janssens)
234 - tests/test_all.sh has been added.
236 - Now it exits immediately if any test fails.
237 * Version 3.0.1 has been released.
239 2008.05.01 Kentaro FUKUCHI <fukuchi@megaui.net>
241 - Added the man page to the files section.
243 2008.04.30 Kentaro FUKUCHI <fukuchi@megaui.net>
244 * Version 3.0.0 has been released.
246 2008.04.23 Kentaro FUKUCHI <fukuchi@megaui.net>
247 * Version 3.0.0rc3 has been released.
248 - This will probably be the final release candidate, if all goes well.
250 2008.04.23 Kentaro FUKUCHI <fukuchi@megaui.net>
252 - Split_identifyMode() now uses isdigit() and isalnum() macros.
254 - Error checks have been improved.
255 * qrenc.c, tests/view_qrcode.c:
256 - Return value checks have been added.
257 - Structured-append encode with version 0 now returns error.
259 - QRencode_encodeStructuredInput() -> QRencode_encodeInputStructured()
260 (for consistency with other QRencode_encode*Structured() functions)
262 - A code block never called has been eliminated.
264 2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net>
265 * Version 3.0.0rc2 has been released.
267 2008.04.20 Kentaro FUKUCHI <fukuchi@megaui.net>
269 - QR_MODE_NUL has been added to QRencodeMode. Basically it is used
270 only by Split_identifyMode().
271 * qrinput.[ch], split.c:
272 - QRinput_identifyMode() has been moved to split.c, changed to static
273 and now needs a hint.
275 - Auto-splitting has been improved.
277 - A memory leak has been fixed.
279 - The "--enable-gprof" and "--enable-gcov" options have been added.
281 - man1_MANS has been moved into the "if BUILD_TOOLS - endif" block.
283 2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net>
284 * Version 3.0.0rc1 has been released.
286 2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net>
287 * Bumped version to 3.0.0.
289 - QRcode_encodeInput() has changed the API. Previously it takes a
290 QRinput, version and level, but now it takes only a QRinput, because
291 QRinput holds the version and level in it. From 3.0.0, you should
292 set them by calling QRinput_setVersion() and
293 QRinput_setErrorCorrectionLevel(), or use QRinput_new2() to
294 instantiate a QRinput object.
296 2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net>
298 - NULL check has been added.
302 - Arguments (version and level) are now checked in QRcode_encodeMask().
303 Internal functions trust the arguments are valid.
304 - Error checks improved.
306 - Error checks improved.
308 - Documentation improvements.
310 2008.04.13 Kentaro FUKUCHI <fukuchi@megaui.net>
311 * qrencode.c, qrencode_innter.h, tests/view_qrcode.c:
312 - Changed API of QRcode_encodeMask().
313 * qrencode.[ch], qrinput.[ch], split.[ch]:
314 - Some functions now set errno appropriately.
316 2008.04.09 Kentaro FUKUCHI <fukuchi@megaui.net>
317 * qrencode.h, qrinput.c:
318 - QRinput_Struct_insertStructuredAppendHeaders() and
319 QRinput_insertStructuredAppendHeader now returns error, when the
320 input contains too many structured inputs.
322 - QRcode_encodeInputToStructured() now returns NULL when
323 QRinput_splitQRinputToStruct() fails.
324 * tests/view_qrcode.c:
325 - Segmentation fault bug has been fixed. (see previous memo)
327 2008.04.08 Kentaro FUKUCHI <fukuchi@megaui.net>
329 - Fixed a bug in QRinput_estimateBitStreamSizeOfEntry(). It could
330 overestimate the size.
332 - Optimized the order of the parameters equality test in init_rs().
333 * qrspec.c, qrspec.h:
334 - Added QRspec_clearCache().
335 * tests/test_estimatebit.c:
336 - Bug fixed in test_numbit3().
338 2008.04.07 Kentaro FUKUCHI <fukuchi@megaui.net>
339 * Bumped version to 2.1.0.
340 * Structured append is now supported (patches from Yusuke Mihara):
341 - Two new types, QRcode_List and QRinput_Struct, have been added.
342 - Following functions have been added:
343 - QRcode_encodeStructuredInput()
344 - QRcode_encodeStringStructured()
345 - QRcode_encodeString8bitStructured()
346 - Some functions to handle structured append symbols have been added.
347 See Doxygen-ized descriptions for the details.
349 - "-S" option has been added for structured append.
351 - "extern" was dropped.
352 * qrinput.h, qrencode.h:
353 - Moved declarations of QRinput_{get,set}{Version,ErrorCorrectionLevel}
354 from qrinput.h to qrencode.h. Now they are publicly accessible.
355 * qrencode.h, qrinput.h, qrinput.c:
356 - Added QRinput_new2().
357 - QRinput_newEntry(), QRinput_freeEntry have been renamed to
358 QRinput_List_newEntry(), QRinput_List_freeEntry().
360 - Bug fix: Split_eat8() now eats at least 1 byte. Previously it could
361 produce a 0-length input entry.
363 2008.01.23 Kentaro FUKUCHI <fukuchi@megaui.net>
364 * qrencode.1.in, Makefile.am, configure.ac:
365 - Manpage of qrencode has been added.
366 * qrenc.c, tests/view_qrcode.c:
367 - Usage message has been updated.
369 2008.01.18 Kentaro FUKUCHI <fukuchi@megaui.net>
372 * tests/test_split.c:
373 - Followed recent API changes.
374 - Added new test "test_toupper()".
375 * qrenc.c, tests/view_qrcode.c:
376 - Source-level compatibility has been improved.
377 - view_qrcode now accepts stdin like qrencode.
378 - Usage message has been updated/fixed.
379 * Copyright year has been updated.
381 2008.01.16 Kentaro FUKUCHI <fukuchi@megaui.net>
382 * qrinput.c, split.c:
383 - Case-sensitive mode becomes now default mode.
384 - Alphabet-Numeric mode now encodes only upper-case alphabet and
385 numeric characters. If "-i" option is given, split.c converts
386 lower-case characters to upper-case characters at first.
387 * qrenc.c, tests/view_qrcode.c:
388 - Case-sensitive mode becomes now default mode.
389 - Option "-i" has been added.
391 2007.12.14 Kentaro FUKUCHI <fukuchi@megaui.net>
392 * tests/test_qrencode.c:
393 - New test has been added.
394 * tests/view_qrcode.c:
396 - Default mask is now -1 (auto).
398 2007.12.13 Kentaro FUKUCHI <fukuchi@megaui.net>
400 - QRcode_writeFormatInformation now returns a number of dark modules.
402 - The mask evaluation function now writes format information before
403 evaluation. (Philippe Delcroix)
405 - Case-sensitive mode has been added to QRcode_encodeString().
406 - "-8" option has been added to qrenc.c.
407 - "-c" now encodes in improved case-sensitive mode.
408 * tests/test_{split,qrencode}.c:
409 - test_split*() have been moved to test_split.c.
411 2007.12.10 Kentaro FUKUCHI <fukuchi@megaui.net>
412 * Bumped version to 2.0.0.
413 * Merged to main trunk.
414 * mask.[ch], split.[ch]:
415 - Masking functions and splitString functions are separated from
418 - Specification of Micro QR code has been added, but not used yet.
420 2007.03.24 Kentaro FUKUCHI <fukuchi@megaui.net>
421 * Bumped version to 1.0.2.
423 2007.03.24 Kentaro FUKUCHI <fukuchi@megaui.net>
424 * qrencode.c (QRcode_splitStringToQRinput):
425 - a small bug fix. (Thanks to NANKI Haruo)
427 - "extern "C"" barrier has been added for C++.
428 * test/view_qrcode.c:
431 2006.12.27 Kentaro FUKUCHI <fukuchi@megaui.net>
432 * Bumped version to 1.0.1.
434 2006.12.27 Kentaro FUKUCHI <fukuchi@megaui.net>
435 * qrenc.c, qrencode.[ch]:
436 - Added force 8-bit encoding mode.
438 - Automake/Autoconf files have been added to dist-package.
440 2006.12.17 Kentaro FUKUCHI <fukuchi@megaui.net>
441 * qrencode_inner.h, qrencode.c:
442 - Removed unused member variable "b2" from QRRawCode.
443 * configure.ac, Makefile.am, acinclude.m4:
444 - Better configuration of libpng. (now uses pkg-config correctly)
446 2006.12.02 Kentaro FUKUCHI <fukuchi@megaui.net>
447 * Bumped version to 1.0.0.