Skip to content

Pre-2.0 API cleanup time

Compare
Choose a tag to compare
@axxel axxel released this 07 Jul 09:08
· 850 commits to master since this release

Note: this is an intermediary release on the way to 2.0. This code is (supposed to be) API compatible (via the ReadBarcode.h interface) with v1.3.0 but contains quite a few additional deprecations. It still has SO number 1, which is as wrong as it was for release v1.3.0 and it is not ABI compatible with 1.3 either. 2.0 will be basically 1.4 but with all deprecated API removed and the final fix for #333.

Main changes

  • Reader support for Micro QRCode by @corbers
  • prepared switch from std::wstring based utf16 to std::string based utf8 results, use new ZX_USE_UTF8 macro to transition to the upcoming 2.0 API
  • much improved 'binary' data support via new Result::bytes() API, see #334 for a detailed background discussion.
  • new Result::contentType() API returning information about the type of content (like text vs. binary, etc.)
  • better standards conformance with respect to ECI handling, see Results::bytesECI()
  • support for proper ECI handling across structured append symbols (see MergeStructuredAppendResults())
  • new Result::error() API with improved error handling, see also DecodeHints::returnErrors()
  • removed all internal header files from the installed set, so only the ReadBarcode.h based APIs are supported from here on out
  • removed all sample images from the 'source' distribution zip/tar balls (much reduced size)
  • python read_barcode returns None if no symbol was found (might break existing code if not checked for None before)

Minor changes

  • lots of little bug fixes
  • smaller per process runtime memory (thanks to @vkrause)
  • clang-13 and gcc-13 compilation fixes
  • ported Qt example code to Qt6
  • experimental multi-symbol detection support for DataMatrix when compiled with c++-20
  • fix error in multi-symbol detection of linear codes (sometimes reported 1 symbol as 2)
  • new -bytes and -errors options in ZXingReader
  • support tryRotate for PDF417 symbols

Full Changelog: v1.3.0...v1.4.0