summaryrefslogtreecommitdiffstats
path: root/ChangeLog
blob: 1ecbdeec849f3c2db5954ba22209ef63945c5aec (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
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
0.23.93:
  * Set a better dpi resolution when parsing PDF files
  * Fix memory recycle bug of empty symbols
  * Fix compilation with python 3.11 and 3.12
  * CVE-2023-40889: Fix array out-of-bounds access
  * Stop ignoring non-binary entries that follow binary ones
  * Increase allocated buffer memory for symbols
  * barcodetest.py: fix error code print logic
  * convert: Crash fixing while using camera
  * Add some pod information for additional functions
  * perl skip more tests if DISPLAY not set and set prereqs in Makefile.PL
  * Fixes rt.cpan.org 122061 - test fails when DISPLAY not set
  * Update Barcode::ZBar
  * isaac: ensure proper order of parsing expression
  * Enforce x11 backend even on wayland
  * zbarimg: add the --polygon option
  * xml output: Add polygon containing code bar.
  * configure.ac: drop support for Qt4 and prepare for Qt6 support
  * win: fix compiling error in Visual studio
  * Enforce a coding style
  * configure.ac: fix some issues with gtk parameter
  * zbargtk: fix version check macros
  * zbar: Address some header issues
  * zbar, test: fix compilation issues with FreeBSD
  * zbar: Function stdcall declaration issue.
  * symbol: make it compatible with MSC
  * zbar: change the code to make it c90 standard compatible
  * test: fix decode test

0.23.92:

  * Added a --enable-static option to make easier to distribute
    Windows binaries

0.23.90:
  * Started using github actions for CI and binary releases
  * Fixed several issues with configure.ac, making it auto-detect
    most things, when possible
  * README.md now shows the absolute minimum requirement for
    building ZBar on Ubuntu
  * Fixed some build issues
  * Make it compatible with Python 3.9
  * Fixed some Python 3.9 and Qt5 warnings
  * Typo fixes
  * Several fixes at zbarcam
  * zbarimg: fix stderr output when symbols are found

0.23.1:

  * Add i18n translation support and add a pt_BR translation
  * Change default to autodetect python and gtk versions
  * Improve tests and builds on travisCI
  * Some documentation updates
  * Add support for binary data extraction
  * Add support for raw decoding without charset conversions
  * Add one shot scanning mode
  * Improved OSX and iphone support
  * Fix help messages
  * Fix some makefile issues
  * Fix error detection in video4linux read
  * Fix pkgconfig for zbar-qt5
  * Fix a double-free condition

0.23:

  * Windows: added support for DirectShow
  * Text files at main dir converted to Markdown notation
  * HACKING.md text now reflects the procedures we use since 0.20
  * ZBar's URL locations updated on several places
  * Added support for using Gtk3 with zbarcam-gtk
  * Added support for using GObject Integration (GIR) with pygobject-3.0
  * Added support for Python3 bindings
  * Python scripts now runs with either python2 or python3
  * added Travis checks for Gtk3 with Python3 and GIR
  * added Travis builds for cross-compilation with winGW
  * added Travis builds for Windows native build
  * added a test script for checking python bindings
  * Added a test script for Python with Gtk support via GIR
  * Suppressed gcc warnings when building with Gtk3
  * Got rid of gdk_threads for good at zbarcam-gtk, using an idle hook to
    handle async messages
  * The debian/ and travis/ directories were removed from distribution files
  * Java sources added to the distribution tarball

0.22.2:

  * Improve some pkg check logic, in order to solve some
    ./configure issues
  * Fix logic that allows disabling Qt support
  * Add support for Java 11 detection
  * Fix Java detection logic
  * Fix Travis CI breakages due to the usage of Java 11 on Debian Sid
  * Fix some issues with MinGW Windows build
  * Search for new ImageMagick 7 header location

0.22.1:

  * Ensure that version.xml and reldate.xml will be placed at the source dir
  * Make use of glib thread names
  * Windows: Make zbargtk build
  * Windows: Use -no-undefined for libzbargtk
  * Windows: Disable zbarcam-gtk
  * Windows: Check for clock_gettime on pthread library as well
  * Windows: Specify correct path to barcode.png
  * Windows: Include windows.h for vfw
  * Makefile.am: Add missing extra-dist-file
  * configure.ac: allow building libzbar-qt as a static library

0.22:

  * zbarcam-qt: allow changing resolutions in real time
  * zbarcam-qt: better support ZBar options
  * zbarcam-qt: do several visual improvements
  * zbarcam-qt: make it remember the geometry
  * zbarcam-qt: allow show/hide control and options bars
  * zbarcam-qt: remember lastly used settings and camera controls
  * zbarcam-qt: allow changing ZBar decode options via GUI
  * Add API to allow get/set resolutions
  * img_scanner: add handler for color-inverted codes
  * img_scanner: fix get_config parameter validation
  * scan_video: improve logic to remove duplicated/invalid devnodes
  * symbol.c: fix symbol hash logic (prevents crash with QR options)
  * configure.ac: fix an error at libv4l2 package check
  * fix some typos
  * exit gracefully when decoding split QR codes

0.21:

  * zbarcam-qt: allow selecting codes via GUI interface
  * When both enabled, ISBN-13 has precedence over ISBN-10
  * ZBar is now using Travis CI for continuous integration tests
  * Convert INSTALL and README to markdown and update them
  * Improve ZBar testing code and make easier to run the tests
  * Fix build with Clang
  * Add simple dbus IPC API to zbarcam.
  * zbarimg: display only the compiled symbologies
  * v4l2: make ZBar build and run on Kernels < 3.16
  * configure.ac: The pdf417 code is incomplete. Warn about that
  * Add Debian packaging and Travis CI configuration
  * Add barcode examples for different supported symbologies
  * Several improvements at the building system
  * Add support for SQ code symbology
  * v4l2: add fallback for systems without v4l2_ext_controls which field
  * v4l2: use device_caps instead of capabilities
  * v4l2: make v4l2_request_buffers() more generic
  * release video buffers after probing and request them again when needed
  * Ignore ENOTTY errors when calling VIDIOC_S_CROP
  * doc/Makefile.am.inc: clean html generated files
  * Add --disable-doc configure option to disable building docs
  * Fix function prototype to be compatible with recent libjpeg
  * Wrap logical not operations into parentheses
  * INSTALL: warn that autoconf should be called before configure
  * code128: fix error logic
  * convert: ensure that it will not use a freed value
  * zbar: use g_thread_new() instead of g_tread_create()
  * zbargtk: add a missing break
  * gtk/zbargtk: add a missing check if zbar->window is not null

0.20.1:
  * Be sure to use python2, as /usr/bin/python is being removed
    (or made non-functional) on some distributions
  * Prefer using pygobject-codegen-2.0 instead of pygtk-codegen-2.0
  * Make it work with modern versions of python 2

0.20:
  * As upstream became abandoned, created a ZBar fork at linuxtv.org
  * Use libv4l2 for V4L2 support, using emulated formats as last resort
  * Add support for Qt5
  * Add zbarcam-qt and zbarcam-gtk (from the example codes)
  * Add support for v4l2 controls
  * Add the needed GUI bits for zbarcam-qt to work with controls
  * Fix compilation issues with newer automake versions

0.11:
  * Codabar reliability enhancements
    - fix missing check
    - require minimum quality
    - bump default uncertainty
  * tweak Codabar bar/space ratio validation
  * finish Codabar support for python, perl, java and iPhone interfaces
    - reduce Codabar uncertainty to minimum
  * add core support for Codabar symbology
    - TBD: python, perl, java and iPhone interfaces
  * fix v4l config and build variations (bug #3348888)
    - thanks to jarekczek for reporting this!
    - NB v4l1 removed from kernel as of 2.6.38
  * fix missing python thread initialization (bug #3349199)
    - thanks to jarekczek for reporting this problem!
  * fix missing configure check for Python.h (bug #3092663)
    - thanks to Zoltan Kovacs for reporting this problem!
  * fix C++ wrapper missing Symbol.quality (bug #3076524)
    - thanks to Rudy Melli for pointing this out!
  * fix C++ wrapper bugs (bug #3396068)
    - thanks to anotheruser1 for reporting this!
    - add new C++ wrapper test
  * fix avoid compositing ISBN10 data
  * add support for GraphicsMagick as ImageMagick alternative
  * mention xmlto in HACKING (patch #3297039)
    - thanks to jarekczek for the patch!
  * disable addons by default until synchronization with main symbol is working
  * fix image scanner min quality filtering
  * fix i25 buffer overrun corner case
  * fix EAN addon enables
  * fix zbarimg to accept autodetected stdin (lone dash)
  * fix Qt 4.6.3 compilation error (patch #3178244)
    - thanks to hrhristov for the patch!
  * add Python Processor support for request_size interface
  * fix Python Processor support for GIL, allowing asynchronous scanning
  * fix jpeg decoder skip handling
    - thanks to jarekczek for the patch!
  * rename dprintf macro to avoid conflicts (patch #3128538)
    - thanks to maurochehab for the patch!
  * add support for EAN/UPC 2 and 5 digit add-on symbols
    - deprecate original, unfinished add-on APIs
    - add self-checking to test_decode
  * fix support for GS1 AIs
    - thanks to jockusch for a patch!
    - add decoder/symbol "modifier" flags and config read access
    - set flags or emit GS appropriately for Code 128 FNC1
    - add iphone, java, perl, python bindings for modifiers and configs
  * add support for Code 93 symbology
  * add video size request to (Py)GTK widget (req #3034522)
    - thanks to Jerome Charaoui for the patch!
  * add support for GS1 DataBar Expanded (RSS Expanded) symbology
  * add language bindings for DataBar
  * add preliminary support for GS1 DataBar (RSS-14) symbology
  * enhance decoder reliability (EAN, Code 39, Code 128)
    - enhance decoder test
  * fix documentation of command exit codes (bug #3017322)
  * fix C++ video callback bug
    - add C and C++ processor examples
  * add per-symbology cache consistency
    - reliable symbologies decode immediately by default
    - no more need to disable cache with video
    - also fix crop bugs w/video scanning
  * add support for scanning partial images (cropping)
    - update c++, python, perl, java bindings and tests
  * fix couple of leaks
  * remove doc hints about GFDL (bug #3004411)
    - apply LGPL to API docs
  * relax Code 39 width ratio checks
  * core library portability improvements
    - remove some unnecessary C99 syntax
    - add configure checks for errno
    - enhance C++ Symbol interface
  * adjust Python module README (add examples and note DLL in path)
  * fix QR Code missing from man pages (bug #2969857)
  * cleanup decoder assertions and locking (bug #2966916)
  * add Java interface to library via JNI
    - add Java tools and JNI build tests to configure
    - fix compiler warnings from binary output changes
  * fix output of binary data in zbarimg and zbarcam
    - thanks to fukuchi for a patch!
    - add base64 format for binary xml output
  * add coarse symbol orientation information (patch #2913094)
    - thanks to Anssi for a patch!
    - add decode direction feedback to decoder
    - update C++, Python, Perl and ObjC wrappers
    - add orientation to test suites
  * fix inconsistent fourcc endian handling bugs (bug #2918994)
    - thanks to jdccdevel for a patch!
    - add fourcc conversion and parse interfaces to zbar.h
  * report QR immediately for video (no inter-frame consistency check)
  * add python distutils build infrastructure

version 0.10:
  * hotfix add MinGW import lib to Windows installer
  * attempt fix for Qt4 < 4.4
  * release updates
    - fix perl Processor init without video
  * fix window closed notification during events
    - add read_one example, fix xs compiler warnings, update perl docs
  * add result query interfaces to image scanner and processor
    - move result filtering into image scanner (from user)
    - abort output blockers when window closed
  * Windows updates
    - update installer and README for distribution of dependency libraries
    - fix applications to use binary output for xml and raw modes
  * add regression tests to makefile
  * cleanup warnings from newer gcc versions
  * fix excessive i25 QZ checks
  * add regression script
    - add zbarimg xml output for every source (even empty)
    - add edge detection to svg debug overlay
  * image scanner cleanup and minor performance enhancements
  * bug hunt and stability improvements
    - fix broken processor locks
    - fix X connection polling, revert previous separate thread workaround
    - refuse to resize windows larger than screen size
    - fix window output scaling - preserve image aspect ratio, adjust overlay
    - fix window redraw
    - fix crash on Xv image creation failure (still need XImage fallback)
    - clean up zbarimg exit cases (last image window close, missing decodes)
  * always use separate video thread when threads enabled (even v4l2)
  * add configure check for features.h
  * overlay enhancements
    - add fps to overlay
    - add overlay control to processor
    - add windows overlay drawing
  * tweak linear code position info
  * trim deep qrcode hierarchy
  * fix zero length symbol data
  * fix QR structured append result handling
  * cleanup SVG debug dump (partial)
    - some QR integration API cleanup
  * extract explicit result container, separate from image
    - remove (broken/tmp) converted image result sharing
    - add explicit symbol recycle API, update processor/widgets to use
    - cleanup and update C++ API
    - update Python/Perl APIs
    - fix broken and add new Python/Perl tests
  * cleanup QR result integration
    - add hierarchy to symbol results
    - extract symbols during text decode, preserving position and structure
    - outline QR symbols in window overlay
    - tmp fix converted image result propagation
  * factor image scanner cache and apply to QR
    - fix image scanner handler called once per-image (vs every decode)
  * QZ and clustering fixes to QR integration
    - remove qr_finder QZ checks
    - decrease center clustering threshold from 1/3 to 1/5 of length
    - add img_scanner svg debug output
    - manually add config.rpath to workaround broken autofoo
  * finish initial integration of QR Code reader from maemo-barcode project
  * zbar-side updates for QR Code integration
    - add linear scanner position interface
    - add QR finder position feedback
    - integrate QR Code reader with img_scanner
    - refactor some symbol/image interaction
    - change default scanner density to 1
    - add iconv to build infrastructure
  * initial hooks for QR Code, first pass at finder
  * fix broken builds with --disable-pthread

version 0.9:
  * hotfix configure check for Wand as well as MagickWand (bug #2848437)
  * hotfix trim extraneous MagickWand calls (bug #2848445)
  * release updates
  * fix uninitialized member in Qt widget (bug #2844846)
  * move image conversion out of image scanner up to higher levels
    (preparation for library split)
  * add symbol quality metric and image scanner position config
    - update python, perl and docs
  * compatibility fixes
    - work around ImageMagick API breakages
    - fix some OS X compile issues
  * Qt widget cleanup
    - handle video device set before window attached
    - prevent exceptions from escaping event handlers
  * more Qt window creation hook fixes
    - NB may still cause problems if video is opened before window is visible
  * finish fix for Qt init ordering (bug #2844846)
  * potential fix for display init ordering (bug #2844846)
    - new workaround for filtering bad EAN results in the image scanner
  * more testing, fixes and cleanup
    - fix v4l1
    - fix/add null processor interface
  * change default image scanner density to 1x1
    - random cleanup, vfw hang, quit key
    - fix scan_image example MSVC project
    - windows installer tweaks
  * add zbarcam to windows installer
  * major restructuring to improve platform abstraction
    - add lock, thread and timer abstractions
    - migrate specific notification locks to platform independent layer
    - fixes to vfw capture interface
    - fix window format conversion issues
    - fix some broken configure checks
    - zbarcam working in windows!
  * fix symbol leaks (bug #2820658)
    - add symbol reference counting
  * add support for binary symbol data
  * initial VFW video support
    - mostly working with uvc driver, broken for others
    - factor out common video buffer handling
    - fix processor to destroy window *before* video (ref TODO)
    - use /dev/video* VFW pseudo-devices
    - windows configure skip non-windows checks
    - prep for platform refactoring
  * fix zbarimg b&w format handling
  * fix scan (image) boundary QZ handling (bug #2807538)
    - add linear scanner manual flush API
    - linear scanner always starts/ends w/a space of width 0
    - remove artificial image scanner border
    - decoders special case 0 width space for QZ checks
    - add missing Code 128 leading QZ check
  * fix Code39 max ICS checks (bug #2807447)
    - add decoder lock owner tracking (debug)
    - update dbg_scan to match img_scanner
  * first pass installer
    - add version and icon resources for libzbar, zbarimg
  * zbarimg working in windows
    - switch to StretchDIBits over DrawDib
    - refactor some window drawing code to remove redundancies
    - make refcounts thread safe
    - clean up alloc/free bugs
  * convert zbarimg to C (cross compiled C++ cannot run w/native libraries)
    - fix DrawDib image width granularity
    - fix window resize dimensions to include decorations
    - images still inverted, otherwise zbarimg now "working" in windows
  * refactor processor implementation to support cross-platform
    - first pass windows processor (before debugging)
    - make processor locks reentrant (call APIs from callback)
  * initial Windows support for window interface
    - currently supports VFW DrawDib interface for image display
      (DirectDraw and others TBD)
    - also basic processor window creation/manipulation
    - Windows configure tests

version 0.8:
  * release updates
  * add "raw" output option (without symbology prefix) to apps (req #2671863)
  * fix Code 39 min length and document min/max configs (bug #2787925)
  * fix zbar_image_free_data windows recursion loop (bug #2796277)
  * fix uninitialized decoder configs (bug #2800163)
  * switchover from subversion to mercurial

version 0.7:
  * fix perl MANIFEST
  * release updates (version, NEWS, packaging)
  * adjust [py]gtk distributed files
  * draw new logo (rough, no Xrender yet)
  * fix Makefile.am syntax error
  * fixup some perl distribution details
  * project name change: everything "zebra" becomes "zbar"
  * remove old logo
  * add first pass python bindings!
  * fix perl mortality bug
  * add new cfg constants to perl
  * fix perl doc handler ref
  * fix processor set_active error propagation
  * add wiki examples (scan_image.*, processor.*)
  * add missing trailing quiet zone checks for ean and code39
  * add min/max code length cfg/check for i25,code128,code39,pdf417
  * add image scan density API/option
  * tweak option parser to be more strict/correct about abbreviations
  * add API to force specific video io modes (req #2293955)
  * apply patches for more broken driver workarounds (req #2293955)
  * fix(?) C++ string to fourcc conversion
  * add missing C++ wrappers
  * add additional examples to man pages (symbology enable/disable)
  * add missing options to man page synopsis
  * add missing --xml option to man pages

version 0.6:
  * hotfix broken perl install (name change)
  * add missing files to distribution
  * release updates (version, NEWS, pacakging)
  * rename perl module to Barcode::Zebra (fit with existing cpan namespace)
  * add perl documentation and example
  * add v4l version debug/test override
  * add docs for new zebracam prescale option
  * add video pre-scaling API/option to video/processor/zebracam (req #2277340)
  * add few missing APIs to perl xs wrapper
  * fix missing libjpeg #ifdef in convert
  * initial support for decoding jpeg images using libjpeg!
  * workaround broken v4l2 drivers in USERPTR mode
  * have configure double check Magick++ install (bug #2582232)
  * update README dependency list
  * fix C++ warnings in Processor
  * fixes for building DLLs with libtool under MinGW
  * automatically remove "processor" layer if poll.h is unavailable
  * test_decode portability workarounds
  * add config/compile time symbology enables
  * add low-level PDF417 decode stage - converts widths to codewords
  * add XML output option to zebracam and zebraimg
  * add sequence number image attribute, set to frame number by video
  * change v4l2 interlaced only drivers to warning instead of hard fail
  * workaround broken drivers that return error for V4L2_FIELD_NONE request
  * add some initial PDF417 hooks
  * first pass perl bindings for Processor, Scanner and Decoder
  * fix error propagation double free bug
  * add missing APIs: processor userdata and image data length
  * fix configure check for v4l2 - thanks to Simon Matter for the patch!
  * finish support for UPC-E
  * fix zebraimg to scan all pages/frames of a multi-frame input
  * fix debian packaging dependencies (bug #2070164)
  * *remove* debian directory from distribution (bug #2070164)
  * fix inappropriately installed headers and man pages (bug #2055133)
  * fix pygtk multiple definition link errors on darwin (bug #2052681)
  * fixes to configure for detecting python settings (bug #2052663)
  * remove zebrapygtk module link against libpython (bug #2052663)
  * add drag and drop support for *images* to Qt widget...unfortunately not
    very useful; every application i tried drops uri-refs rather than images
  * minor reference documentation updates

version 0.5:
  * release updates (version, NEWS, packaging)
  * add pkg-config files
  * update to latest libtool and new autoconf macros
  * cleanup library symbol exports
    * remove test programs using internal hooks
  * improve portability of some format specifiers
  * fix missing stub for --without-x - thanks to Simon Schmeisser for a patch!
  * fix --disable-pthread compile errors and warnings
  * fix XImage size mismatch background artifacts
  * fix new generated file distribution errors
  * switch Qt headers to old-style names (investigate possible Qt3 support?)
  * add independent ABI versioning for GTK and Qt widget libraries
  * reimplement widget internals to support image scanning and
    improve locking efficiency
  * add image scanning to widgets. including builtin conversions from
    toolkit image types: GtkPixbuf and QImage
  * add video opened hooks to widgets (improved use model)
  * add logo, used when there is nothing better to draw
  * add userdata to image object
  * fix image reuse cleanup bug
  * fix format specifiers in some error messages
  * enhance widget tests to support enable/disable and scan from image
  * fix broken deallocation assumptions in test_qt
  * widget API documentation (still need to hookup gtkdoc, and PyGtk docs)
  * API documentation toplevel overview
  * update configure summary for new features
  * replace all decoder assertions w/non-fatal debug spew (bug #1986478)
  * fix glib-genmarshal check
  * add first pass of Qt widget!
    - test/example in test/test_qt.cpp
    - factor video device scan to share among tests
  * more C++ integration fixes
    - additional Image ref tweaks
    - add Video.close() and Window.clear() APIs
  * fix missing image scanner handler call
  * add dereference operator to C++ Symbol
  * add count attribute to C++ Symbol
  * fix broken C++ header definitions
  * fix broken C++ Image references
  * expose internal reference counting interface
  * fix window locking bug
  * cleanup some minor memory leaks
  * convert Code 128 assertions to non-fatal warning spew
  * fix single buffer video hang (bug #1984543)
  * replace inferred video size assertion with warning message (bug #1984543)
  * add first pass of GTK widget!
  * add PyGTK widget wrapper
  * API change: modify window draw/redraw interface to improve interoperability
    with toolkits
    - add window locking for thread safety
    - zebra_window_draw() no longer actually "draws" anything
    => use window.draw to update the image from video thread
       then schedule window.redraw from toolkit GUI thread
  * fix missing C++ std lib dependencies
  * fix uninitialized handler/userdata bug in decoder
  * fix broken Code 128 checksum assertion
  * fix video destructor segfault
  * fix window destructor Xvideo errors (XID is unsigned...)
  * switch configure to use pkg-config to find most dependencies
  * API documentation updates

version 0.4:
  * release updates (version, NEWS, packaging, examples)
  * couple of portability tweaks
  * finish format conversion resize cases
  * add missing conversions
  * fix some broken conversions
  * fix some broken redraw and Xv checks
  * add decoder configuration API
    - only boolean configs currently implemented
    - integrate config option parsing w/zebracam and zebraimg
    - add config to enable/disable each symbology type
    - add optional conversions from EAN-13 to UPC-A, ISBN-10 and ISBN-13
      (disabled by default)
    - add config to emit/suppress check digit
      NB behavior change!  check digit is now emitted by default
  * related documentation updates
    - split common options to a separate entity
  * fallback to gettimeofday when POSIX timers are not available
  * image format conversion fixes
    - fix format size roundoff (NB now rounds *down*)
    - add convert and resize API to pad/crop image to specific size
      (eg, to handle Xv min/max image size)
      NB this is still not implemented for many conversions
  * fix window deletion visibility inconsistency
  * add couple processor commands
    - 'q' to delete window
    - 'd' to dump displayed image for debug
  * remove problematic includes used for v4l2 configure test
  * address compiler portability concerns w/debug print vararg macro
  * workaround v4l1_set_format() failed consistency check for broken drivers
    - change from error to warning w/more useful message
    - calc expected image size using expected value instead of driver value
  * add missing example scripts to distribution
  * add missing files for Interleaved 2 of 5
  * add support for Interleaved 2 of 5 symbology!
    - again no check digit option yet
  * increase decode window from 8 to 16 bars
    - remove Code 39 "extra bar" hack
    - add Code 39 quiet zone check
    - facilitate Interleaved 2 of 5
  * optimize character width calculations for all symbologies
  * fix image scanner bug w/lost symbols at end of scan passes
  * fix EAN-8 buffer overrun case
  * add API doc footer
  * add API documentation generated by Doxygen
    - markup, cleanup and finish writing header comments
    - setup Doxygen config file
  * add/fix window GC
  * add base support for Code 39 (no check digit or full ASCII options yet)
  * cleanup decoder locking
  * add support for EAN-8!

version 0.3:
  * add interface stub files
  * fix wait timeouts
  * fix XImage format filtering
  * fix several error handling corner cases
  * fix c++ error handling
  * add missing Window.h
  * add better hierarchy to library sources
  * build configuration fixes
  * portability fixes
  * packaging updates
  * fix zebracam beeps
  * fix some RGB component ordering and XImage format problems
  * fix window resize and redraw state problems
  * fix EAN testcase in test_decode - thanks to Steffen Kube for the patch!
  * add APIs and (hidden) zebracam options to force specific formats for debug
  * add example scripts
  * documentation updates
  * remove implementation of deprecated img_walker
  * add XImage formats
    - basic support for 16-bit depths
  * add some missing rgb format conversions
  * add basic overlay
    - currently only markers at detected scan locations (needs improved)
  * fix memory leak for converted images w/new cleanup semantics
  * migrate inter-frame consistency check from old zebracam into image_scanner
    - add API to enable/disable/flush result cache
    - add API to retrieve cache status from returned symbol
  * cleanup user_wait blocking semantics for various state combinations
  * fix bug w/v4l1 not unlinking dequeued image
  * major restructuring for improved modularity
    NB not all changes are are backward compatible!
    - modular support for v4l2 falling back to v4l1
    - flexible support for more varied image formats (incomplete)
    - added reusable abstractions for: an "image" object and associated
      metadata, a "video" input object and a "window" output object
    - added new "processor" API to wrap everything together, simplifying
      trivial application usage (including zebracam and zebraimg)
    - removed deprecated "img_walker" interface, completely replaced by
      more integrated "image_scanner" (moving toward more image processing)
    - updated/added c++ APIs, including improved iterator interfaces
  * removed SDL dependency due to various usage incompatibilities
    (most notably the inability to embed video window into a widget)
  * cleaned up zebracam and zebraimg command line processing (bug #1838535)
  * many useful enhancements thanks to proposal by mhirsch45 (req #1759923)
    including:
    - v4l2 support
    - support for UYVY image format
    - zebracam cursor hiding
    - zebracam audio mute
    - command line video device specification,
  * significant error handling and debug improvements
  * some associated documentation updates
  * various new test programs (slowly working toward more formal test suite)
  * add missing xlink namespace to dbg_scan generated output (bug #1764188)
  * qualify char types as [un]signed to avoid non-portable C ambiguity
    - thanks to mhirsch45@users.sf.net and Colin Leroy for the patches!
      (bug #1759914)
  * add integrated 2D image scanning API
    - automatically ties to internal scanner and decoder
    - results reported via new symbol API
    - deprecated previous, cumbersome img_walker interface
    - uses new simpler/faster and denser grid pattern (FIXME add 45 and 135)
    - first step toward more sophisticated image processing
  * updated zebraimg to use new ImageScanner API
    - add initial decode location tracking
  * updated zebracam to use new img_scanner API
    - extended cache to track multiple symbols per-image
    - add initial decode location tracking
    - removed scan grid overlay
  * add configure check for ImageMagick version >= 6.3.0
  * configure dumps ImageMagick, SDL and firefox versions for debug
  * add NPAPI plugin stub and build infrastructure
  * flush zebracam output after each scanned symbol
  * integrate RPM packaging spec file - thanks to V�t Hrachov� for the draft!
    (patch #1723536)
  * finally add HACKING to distribution/install (bug #1698202)
  * add extra documentation files to install (README NEWS INSTALL, etc)
  * Debian package patch for 0.2 - thanks to V�t Hrachov�:
    - add libsdl1.2-dev as a build dependency
    - update automake (>= 1:1.10) as a build dependency
    - new package

version 0.2:
  * update distribution to include debian packaging
  * add consistency checking to zebracam
  * add redundant output suppression to zebraimg
  * fix couple of Code 128 decode table bugs
  * fix reversed Code 128 decode
  * add outstanding scanner edge flush to new_scan()
    - API change: scanner reset/new_scan() now return scan/decode status
    - update zebracam and zebraimg to call this between each walker pass
      (interface still needs improvement...)
    => improves in scan results for many cases
  * fix dbg_scan filename generation so results go in local directory
  * continue Code 128 refinement
    - finish character set C decode/expansion
    - add per-character validation
    - resolve scan direction in separate postprocessing pass before handling
      ASCII conversion
    - add several img_walker passes parallel to major axis (for long symbols)
    - add simple character set C example to test_decode
  * promote zebraimg images to TrueColor so colored scan pattern always shows
  * more dbg_scan tweaks
  * significant scanner improvements
    - changed "classic" [-1 0 1] first differential kernel to [-1 1]
      to improve minimum edge resolution to single pixel elements
      => still need to do some more research and validate assumptions
    - adaptive thresholding fixes
    - adjusted filtering for better edge detection
    - separate constants out to defines (FIXME add config API?)
  * fix EAN-13 secondary determinant decoding
  * dbg_scan tweaks to make annotations smaller/more usable
  * add get_color() interface to decoder
  * annotated zebraimg scan pattern for marginally useful high-level debug
  * random include cleanup
  * cleanup 64-bit compile warnings in zebraimg (bug #1712504)
  * add first-pass partial support for Code 128
    - separate out more EAN state from shared state
    - internal interface changes
    - finish dynamic buffer management
    - add shared resource locking
    - add Code 128 to test_decode program
    => still needs additional functionality and plenty of debug
    => reading both Code 128 *and* EAN still destabilized
  * add diagnostic program test_video to dump more verbose video debug
  * incorporate documentation into Debian package
    - thanks to V�t Hrachov� for the patch!
  * fix VPATH doc builds (requires automake-1.10 and autoconf-2.61)
  * build and dist fixes
    - suppress documentation rebuilds in distributed sources
  * add Debian packaging sources - thanks to V�t Hrachov� for the patch!
  * add DocBook template and build infrastructure
  * add manpages for zebracam and zebraimg
  * add GNU standard options to zebracam and zebraimg
  * internal decoder restructuring to support additional symbologies
    - separated out 1-D decoder infrastructure into generic internal API
    - moved EAN/UPC specific decoding into it's own module
  * fix confusing configure behavior which quietly avoided building
    targets with missing dependencies(?!)
    configure will now fail with a descriptive error message if you
    do not have Magick++ and fail to specify --without-imagemagick or
    do not have SDL and fail to specify --without-sdl
  * add configure summary describing what will be built (req #1698196)
  * fix parity encoding in test_decode and add decoded symbol output
  * introduce Code 128 symbol type
  * increase width of zebra_symbol_type_t to 16 bits
  * add HACKING (bug #1698202)

version 0.1:
  * add NEWS and ChangeLog
  * fix some config/build issues found on other boxes
  * add missing ImageWalker install
  * fix scanner runaway threshold calculation bug
  * fix zebracam/zebraimg bugs overwriting currently scanning image w/scan
    pattern
  * add c++ interface to img_walker
  * apply ImageWalker to zebraimg
  * add decoder soft reset on partial mismatch
  * finish basic decoder symbol assembly/reporting
  * add decoder symbol checksum verification
  * add callback API option to decoder for "async" symbol processing
  * add "image walker" library API to trace scan pattern over 2D images
  * apply image walker to zebracam (C++/zebraimg scan pattern still TBD)
  * add audio feedback to zebracam (still has long latency)
  * add zebracam key cmd to dump frame to file (for debugging)
  * fixes for decoder/scanner reset/new_scan
  * fixes to scanner initialization and algorithm tweaks
  * made decoder less sensitive to violated quiet-zone
  * apply zebraimg workaround for imagemagick image display bug
  * add string names for symbol types to library and API to access them
  * add dbg_scan test program for visually debugging image scanner (and
    decoder)
  * add test_walk for basic image walker sanity/debug
  * removed recursive makes in favor of monolithic build
  * renamed some makefiles accordingly
  * finished some final symbol data construction
  * added result callbacks to decoder APIs for data reporting
  * zebraimg hooks into callback
  * zebracam still seems to "hang" in undecodeable state?
  * populate svn with current sources.
  * most of the basic functionality is included and working.
  * still need to combine final decode data, finish addons, etc (see TODO).
  * c++ wrappers are included and tested, but API may need tweaked.
  * zebraimg and zebracam basically working but need cleanup/polish.
  * need to create some basic documentation...
  * initial repository layout