Bot releases are visible (Hide)
I accidentally broke c++ ABI compatibility between 2.1.0 and 2.2.0. This is fixed here. This release is only of relevance for package maintainers caring about ABI stability of MINOR version changes according to semantic versioning. None of the wrappers are effected by this change and hence will not be released as 2.2.1.
DISCLAMER: Unfortunately, it turned out that the above mentioned fix for the c++ ABI can break your build if you have some kind of globally enabled pre-compiled-header setup, like apparently in libreoffice (see #685). In that case, either disable pre-compiled-headers or use 2.2.0.
Full Changelog: https://github.com/zxing-cpp/zxing-cpp/compare/v2.2.0...v2.2.1
Published by axxel 11 months ago
This release is mostly about the Python, Android and iOS wrappers. The latter 2 have changed considerably to have an API that is more in line with each other and with the core c++ library. The changes will most likely break existing app code but set a proper foundation for the future.
Python:
Android:
close()
the ImageProxy
inside read()
anymore, need to do that outside now (this breaks existing code)com.zxingcpp
to simply zxingcpp
(breaking change)iOS/macOS:
ZXIDecodeHints
to ZXIReaderOptions
General:
DecodeHints
to ReaderOptions
. The old name is still available for backward API compatibility but deprecated. Since the C-API and the Qt wrapper code are not officially part of the library, they changed without backward compatibility.ReadResult
by @Sec-ant in https://github.com/zxing-cpp/zxing-cpp/pull/588
DecodeHints.setMaxNumberOfSymbols()
to C API by @siiky in https://github.com/zxing-cpp/zxing-cpp/pull/665
Full Changelog: https://github.com/zxing-cpp/zxing-cpp/compare/v2.1.0...v2.2.0
Published by axxel over 1 year ago
ReadBarcodes
)BUILD_EXPERIMENTAL_API
cmake option (currently enabling DecodeHints::tryDenoise
feature, see 9bcfdb3637714af9419bae99dd4c48a12625ab1e)demo_*.html
filesThanks a lot to @Sergio- and @sdcubber for their sponsorship in the past and also to the current sponsors
Full Changelog: https://github.com/zxing-cpp/zxing-cpp/compare/v2.0.0...v2.1.0
Published by axxel almost 2 years ago
The most visible change from the client perspective is the removal of all formerly deprecated API, (almost) completing the 'cleanup'. Since I was way too slow with this release to implement a 'cleanish' SemVer release as discussed in #333, I decided to release this 2.0 with SONAME 3. A 3.0 release might bring the major version number back in sync with the SONAME.
Result::text()
)DecodeHints::textMode()
and Result::text(TextMode)
API to specify how bytes
are rendered into text
.TextMode
(has been for most cases before, but not all)DecodeHits::tryInvert()
feature to test for inverted symbols (white on black background)TextUtfEncoding
helpers, not required anymore with UTF8 APIs for both reader and writerResult
struct by about a thirdThanks also to all the 'old' ones! :)
Full Changelog: https://github.com/zxing-cpp/zxing-cpp/compare/v1.4.0...v2.0.0
Published by axxel over 2 years ago
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.
std::wstring
based utf16 to std::string
based utf8 results, use new ZX_USE_UTF8
macro to transition to the upcoming 2.0 APIResult::bytes()
API, see #334 for a detailed background discussion.Result::contentType()
API returning information about the type of content (like text vs. binary, etc.)Results::bytesECI()
MergeStructuredAppendResults()
)Result::error()
API with improved error handling, see also DecodeHints::returnErrors()
ReadBarcode.h
based APIs are supported from here on outread_barcode
returns None
if no symbol was found (might break existing code if not checked for None
before)-bytes
and -errors
options in ZXingReader
tryRotate
for PDF417 symbolsFull Changelog: https://github.com/nu-book/zxing-cpp/compare/v1.3.0...v1.4.0
Published by axxel over 2 years ago
DISCLAIMER: a note for downstream package maintainers: as discussed in #333 this release should have been named 2.0 not 1.3. Please don't package this release until the issue is resolved.
std::vector<Result> ReadBardcodes(...)
function. Does not work for Aztec, DataMatrix and Maxicode, yet.DecodeHints::tryDownscale
, currently only enabled in the ReadBardcodes
functionResult::symbologyIdentifier
property (thanks to @gitlost)Result::lineCount
and DecodeHints::minLineCount
properties to improve reliability of 1D code readingResult::isMirrored
property (works for QRCode, PDF417, DataMatrix)DecodeHints::assumeGS1
This includes around 200 commits including those of 11 new contributors.
Full Changelog: https://github.com/nu-book/zxing-cpp/compare/v1.2.0...v1.3.0
Published by axxel over 3 years ago
There have been nearly 800 commits that touched about 10k lines of code since the last release.
Here are the highlights/major changes:
ResultMetadata
, see ZXingReader.cpp as an exampleisPure
detection for all 2D codesBarcodeFormat
names (old ones still available but deprecated)pip
installation (thanks to antoinehumbert)DataMatrix
, Aztec
and MaxiCode
(thanks to gitlost)Note: The next release will drop support for a number of deprecated APIs. Please update your code and fix all deprecation warnings now.
Published by axxel about 4 years ago
Since the switch to C++17 got delayed and a bunch of fixes and small improvements have piled up since the "Final C++14 based" release, here is the final-final pre C++17 release. This includes WinRT build improvements, Android and python wrapper fixes and pkgconfig fixes.
Published by axxel about 4 years ago
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:
ReadBarcode
entry point into the decoding functionality.BarcodeFormats
flag type to specify the set of barcodes to look for.Result::resultPoints
in favor of well defined Result::position
.Result::metadata() -> ORIENTATION
in favor of Result::orientation
.Binarizer
enum in DecodeHints
to specify the binarizer for the ReadBarcode
API.DecodeHints::isPure
property to speed up detection for 'pure' input use-cases.ZXingReader
and ZXingWriter
example code also meant for distributing.Published by huycn over 5 years ago
Published by huycn almost 6 years ago