pypi zxing-cpp 2.3.0
v2.3.0

7 days ago

Shiny new stuff (more than I was aware of, after all this time...)

  • Add support for DX Film Edge read by @Merinorus in #684
  • Add support for detecting and reading Aztec Runes by @gormster in #763
  • Add reader support for DataBarLimited symbols (sponsored by EUREKAM)
  • Add C-API in official build
  • Add Kotlin/Native Wrapper by @ISNing in #719
  • Add Rust wrapper based on C-API
  • Add .NET wrapper based on C-API
  • Introduce new name Barcode for Result which will be removed in 3.0
  • LocalAverage binarizer: re-implement with symmetric threshold interpolation for improved detection of inverted symbols
  • cmake: replace BUILD_... prefix of cmake options with ZXING_...
  • cmake: switch to c++-20 by default for the core library
  • ImageView: introduce bounds checks in constructor
  • ImageView: Add ImageFormat::LumX for 2-byte grey + alpha input
  • ImageFormat: replace 'X' with 'A', e.g. RGBX -> RGBA
  • ZXingReader: add -binarizer <local|global|fixed> command line option
  • ZXingReader: add -single option to setMaxNumberOfSymbols(1)
  • ZXingReader: parse -formats (including 's') command line argument
  • ZXingReader: support reading image file from stdin by passing '-'
  • android: switch 'namespace' from zxingcpp to zxingcpp.lib to fix issue with maven central publication
  • Python: add support to write bytes as binary data
  • ZXing::Version() function to query the library version at runtime (useful when dynamically linked)

New experimental API (cmake option -DZXING_EXPERIMENTAL_API=ON)

  • New experimental Create+Write API for generating/writing barcodes (will replace MultiFormatWriter)
  • New experimental libzint based writer backend
  • New ImageView Barcode::symbol() property
  • New experimental writer API in python

Minor changes and bug fixes

  • Complete ZXIReaderOptions in iOS Wrapper by @markusfisch in #692
  • ios: remove initWithFormats initializer by @markusfisch in #723
  • cmake: Make build reproducible across different build directories by @EchterAgo in #730
  • Release color space after use in iOS wrapper by @markusfisch in #790
  • cmake: allow overriding python install directories by @jameshilliard in #842
  • Refine MultiFormatReader results filtering and apply C++20 erase_if by @Doekin in #846
  • HRI: update AIs to latest gs1-syntax-dictionary.txt by @gitlost in #880
  • android: add linker flag to support flexible page sizes in Android 15 by @ccrowell-kr in #872
  • Deprecate validateITFCheckSum, validateCode39CheckSum, returnCodabarStartEnd
  • BitHacks: fix random QRCode content on pre-Haswell Windows machines
  • DataMatrix: improve detection of near 45° rotated symbols
  • cmake: add /utf-8 to MSVC compile flags
  • Barcode: tune operator==() to not split up overly tall linear symbols
  • Several ITFReader improvements
  • QRDecoder: return some content even in the presence of a checksum error
  • DataBar: improve detection rate by incorporating edge-2-edge pattern
  • PDF417: prevent wrong position info with right side collapsing to (0,0)
  • Python: make sure macOS and 64bit Linux packes on pypi.org support multi-symbol DataMatrix detection (c++20 support)

New Contributors

Sponsors

Thanks a lot for all 'old' and 'new' sponsors, listed here in alphabetical order:

Full Changelog: v2.2.1...v2.3.0

Don't miss a new zxing-cpp release

NewReleases is sending notifications on new releases.