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 tostd::string
based utf8 results, use newZX_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 alsoDecodeHints::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
returnsNone
if no symbol was found (might break existing code if not checked forNone
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 inZXingReader
- support
tryRotate
for PDF417 symbols
Full Changelog: v1.3.0...v1.4.0