The purpose of this release is mainly to tag the last version that can be compiled with a C++-14 compiler.
There have been a lot of changes under the hood and to the public facing API. Effort has been made to make sure the client code still compiles without changes. If you encounter deprecation warnings from your compiler, please update you code as those outdated APIs will be removed in a future version.
Here are the highlights of the changes:
- A new and (hopefully) 'future proof' single
ReadBarcode
entry point into the decoding functionality. - The LuminanceSource based API is now deprecated but still compiles.
- A new
BarcodeFormats
flag type to specify the set of barcodes to look for. - Deprecated unrelyable
Result::resultPoints
in favor of well definedResult::position
. - Deprecated
Result::metadata() -> ORIENTATION
in favor ofResult::orientation
. - New
Binarizer
enum inDecodeHints
to specify the binarizer for theReadBarcode
API. - New
DecodeHints::isPure
property to speed up detection for 'pure' input use-cases. - New 'unified' CMake structure to build (most) of the project from the top-level project.
- New
ZXingReader
andZXingWriter
example code also meant for distributing. - New CI system based on gitub actions to continuously test on Windows/macOS/Linux/emscripten.
- New simplified and consistent Python API (breaking change)
- ReedSolomon error detection code 2x speedup.
- Enable basic MaxiCode support.
- Fix coutry-code metatdata decoding for UPC/EAN codes.
- Slightly improved QRCode detection for rotated symbols.
- Faster PDF417 decoder.
- Lots of minor code readability and general cleanup improvements.