Changelog for the Web Data Capture SDK
Version 8.0.0 (24 October 2025)
- 🎉 New
- General
- Introduced Image API
- Introduced Check Scanner
- Introduced Document Data Extractor
- Reviewed security policy and updated to the new and improved
wasm-unsafe-evalCSP header standard. The more comprehensiveunsafe-evalexception is no longer required.
- Document Scanner:
- Can now detect partially visible documents where all four corners are not visible.
- Introduced a new
PartiallyVisibleDocumentConfigurationobject to determine how partially visible documents are aggregated and tracked. This feature is disabled by default. - Added two new
DocumentDetectionStatusvalues:ERROR_PARTIALLY_VISIBLEERROR_PARTIALLY_VISIBLE_TOO_CLOSE
- The
DocumentDetectionResultnow includes two new properties to indicate the direction towards the center of a partially visible document:displacementVectordisplacement
- Barcode Scanner
- A new algorithm is used for recognition of 1D symbologies, improving the blurred and distant barcode use cases. This feature is enabled by default, but might be disabled via the
enableOneDBlurScanneron low-power devices if needed. - Added a new
BarcodeScannerEngineMode:NEXT_GEN_MAX_DISTANCE, which is optimized for scanning from far distances on very high-power devices with a 4K video stream. - Introduced 4K stream support:
BarcodeScannerViewConfiguration.enable4kStream. Should be enabled for high-powered devices and complex and/or distant barcodes. Can cause memory issues on low-end devices. Disabled by default. BarcodeItemhas a new fieldrawBytesEncodingsthat contains the precise character encoding information ofrawBytes.BarcodeItemhas a new fieldstructuredAppendInfofor messages split across multiple barcodes.BarcodeScannerConfigurationhas a new fieldaccumulationConfigwhich allows the accumulation of barcodes over multiple frames in live mode.BarcodeItemhas a new fieldglobalIndexto identify a barcode across multiple frames.
- A new algorithm is used for recognition of 1D symbologies, improving the blurred and distant barcode use cases. This feature is enabled by default, but might be disabled via the
- MRZ Scanner:
- Added a property to
MrzScannerConfigurationthat allows setting whether crops should be returned. (Default:false).
- Added a property to
- Document Quality Analyzer:
- Added an option (
inspectSmalltextproperty) to detect small text. Ignored by default. - Added
cumulativeContrastHistogramandcumulativeTextSizeHistogramfor text contrast and text size estimation. - Added
orientationConfidenceof the document as a new analysis property.
- Added an option (
- General
- 🚀 Improvements
- General:
- All OCR-based features now benefit from new OCR models that are optimized for speed and accuracy.
- Improved error messages when a feature is accessed that is not available in the loaded flavor of the SDK.
- The definition of
DeepPartialhas been improved so that it now requires_typefor polymorphic types.
- Document Scanner
- Increased performance for Document Scanner algorithms.
- Improved storage performance and reliability.
- PDF Generator with OCR layer now handles non-ASCII characters correctly.
- Aspect ratio scores are now symmetrical, and low scores are more consistent.
- PDF Generation:
- PDF generation now supports binarized images. Binarized images are stored in the PDF with an optimized compression algorithm,
- PDF Generator with OCR layer now handles non-ASCII characters correctly. resulting in extremely small file sizes.
- Document Quality Analyzer:
- Speed improvements. Note: document quality scores may slightly change for the same input images when compared to the previous version of the DoQA.
- Barcode Scanner
- Boarding pass document parser now supports up to version 8 of the IATA-BCBP standard.
- vCard document parser was improved.
- GS1 Composite codes are now processed faster in Scan from Image mode.
- MRZ Scanner:
- On US border crossing permits, the document number is now returned in the correct field.
- Dates in MRZ now also support
parsedDatacorrectly.
- Text Pattern Scanner:
- General speed improvements.
- Now supports XNNPACK for faster inference.
- OCR-based features:
- Improved handling of special characters like umlauts when frame accumulation is used.
- General:
- 🐞 Bug fixes
- Document Scanner
- Fixed a rare division by zero crash.
- Now correctly returns
ERROR_TOO_DARKwhen nothing is detected and the image brightness is below the threshold.
- MRZ Scanner
- RTU-UI v2: Fixed issue where preset overlay was not shown in some cases.
- Fixed a rare division by zero crash.
- Fixed an issue causing
nullto be returned as a confidence of empty fields.
- Barcode Scanner:
- The carrier identifier for MaxiCode mode 3 might be encoded by using different codewords. Now, all possible codewords are checked.
- vCard document parser now correctly processes the
FNkey asFormattedName.
- Document Scanner
- ⚠️ Breaking Changes
- General
- Adopted a new API design model: Results retrieved from ScanbotSDK scanners are now suffixed with
*Result. - Unified scanner view configuration's scanner configurations under
*ViewConfiguration.scannerConfiguration. - Removed
recognizeURLfrom various still image scan services. Use our new Image class API to fetch images from URLs. - Image operations (rotate, resize, crop, filter) are now located under the
ImageProcessorservice (sdk.createImageProcessor()).
- Adopted a new API design model: Results retrieved from ScanbotSDK scanners are now suffixed with
- Document Scanner
- The still image detection function
detectAndCropDocumentreturnsDocumentScannerScanResponse, which contains the original image as well asDocumentScanningResult. - Exposed the more comprehensive and unified
DocumentScannerConfigurationto the corresponding classic component instead ofDocumentScannerParameters. The parameter object is now a property of the configuration object. - Renamed
DocumentDetectionResulttoDocumentScanningResult. processingModehas been moved fromDocumentScannerParameterstoDocumentScannerConfiguration.- Deprecated
CroppedDetectionResultin favor ofDocumentScannerScanResponse. - Removed
DocumentScannerViewConfiguration.ignoreBadAspectRatio. Please useDocumentScannerViewConfiguration'sscannerConfiguration.parameters.aspectRatiosandscannerConfiguration.parameters.acceptedAspectRatioScore. - RTU-UI v2: Removed the
ERROR_TOO_NOISYandOK_BUT_OFF_CENTERDocumentDetectionStatusvalues.
- The still image detection function
- MRZ Scanner
- Removed
SimpleMrzRecognizer(createSimpleMRZRecognizer) in favor of the new unifiedMrzScanner(createMrzScannerEngine).
- Removed
- Feature removal:
- Removed legacy image filters.
- General
- 🚙 Under the Hood
- Moved to React 18 root-based rendering system.
- Updated 3rd-party libraries.
Version 7.2.0 (02 June 2025)
- 🎉 New:
- Introduced Ready-To-Use MRZ Scanner UI.
- Added
minimumInsetsandpreferredHeighttoViewFinderConfigurationin order to change its size and location. - RTU-UI: Added the option to insert HTML links directly into camera permission denied screen.
- Added pattern grammar to pattern content validation. Selectable grammars are:
WILDCARDandREGEX. - Added
onCompletecallback toInitializationOptionsto allow better handling of deferred initialization. - Added option to programmatically cancel RTU UI controllers:
await ScanbotSDK.UI.abortScanner().
- 🚀 Improvements:
- Slightly changed ViewFinder default size and positioning in order to accommodate the aforementioned new API.
- Slightly improved PDF417 barcode recognition.
- RTU UI: Introduction screen is now always shown when
showAutomaticallyis set totrue. - RTU UI: Improved Barcode Scanner multi-line text handling.
- 🐞 Bug fixes:
- Disabled Clear All button by default in sheet view of Multi Barcode Scanner.
- Fixed niche iOS 16 issue where SIMD was supported but Extended Constant Expressions were not, causing the scanner to freeze.
- Fixed a bug for Code 93 in case of
stripCheckdigits=false(which is the new default behavior) and in case a check digit was an extension character. - RTU UI: Fixed the value of
requiredAspectRatiosparameter being ignored.
- ⚠️ Breaking changes:
- Renamed the engine modes
NEXT_GEN_ARtoNEXT_GEN_FAR_DISTANCEandNEXT_GEN_LOW_POWER_ARtoNEXT_GEN_LOW_POWER_FAR_DISTANCE. They were already optimized to scan from far distance. Now, both have been improved so that they can also scan from a short distance. - Removed
liveproperty from Barcode Scanner and Document Scanner configs. MrzScannerViewnow returns unvalidated (by frame accumulation configuration) results. Unvalidated results can be filtered out via thesuccessflag.
- Renamed the engine modes
Version 7.1.0 (17 March 2025)
- 🎉 New:
- OCR on PDF! It's now possible to run OCR when generating a PDF, see the
runOcrproperty ofPdfPageOptions.
- OCR on PDF! It's now possible to run OCR when generating a PDF, see the
- 🐞 Bug fixes:
- Fixed a render issue after a barcode was deleted from the drawer list.
- Fixed barcode format UPC_E mapping issue that caused barcode types EAN_8, EAN_13 and UPC_A to be recognized.
Version 7.0.2 (20 February 2025)
- 🎉 New:
- Added
ignoreOrientationMismatchuser guidance text localization for the RTU-UI Document Scanner. - Added
returnBarcodeImageproperty toBarcodeScannerConfiguration. Iftrue, the barcode image will be returned in the result. Defaults tofalse.
- Added
- 🐞 Bug fixes:
- Fixed issue where
ignoreOrientationMismatchwas not respected in the Classic Document Scanner.
- Fixed issue where
- ⚠️ Breaking changes:
- If you work with Barcode Scanner result images,
returnBarcodeImagemust now be set totruein theBarcodeScannerConfiguration. - Renamed
ignoreBadAspectRatiotoignoreOrientationMismatchin the RTU-UI Document Scanner configuration.
- If you work with Barcode Scanner result images,
Version 7.0.1 (05 February 2025)
- 🐞 Bug fixes:
- Fixed an issue where the
containerparameter was not respected when thecontainerIdproperty was missing. - Specified a
nullreturn type in the document scanner handle'sdetectAndCropfunction.
- Fixed an issue where the
Version 7.0.0 (30 January 2025)
- 🎉 New:
- Introduced Ready-To-Use Document Scanner UI.
- Introduced Persistent Storage API.
- Added Find and Pick use case for Barcode Scanner RTU UI.
- The MRZ Scanner has new configuration options under
MrzScannerConfiguration.recognizerConfiguration. DocumentScannerViewConfigurationnow has a new fielddetectionParametersof typeDocumentScannerParameters, which incorporates and replaces the parametersacceptedBrightnessThreshold,acceptedAngleScoreandacceptedSizeScore. Additionally, this object allows the configuration of arectangleOfInterestand anacceptedBrightnessThreshold.- Classic Document Scanner component now returns a
DocumentDetectionResult, which has a few new informative fields, such as thedetectionScoresandaspectRatio. With these one can fine-tune which scan results are deemed acceptable. - Added an option to configure the Document Detector's aspect ratio tolerance:
acceptedAspectRatioScore. - Classic Barcode Scanner: The new
BarcodeScannerConfigurationtype allows a more fine-grained configuration of the barcode detection process. For each type of barcode, several parameters can now be controlled, e.g. the minimum quiet zone around 1D barcodes, a regex-filter, etc. This is only available for the Classic UI, not the Ready-to-Use UI. - Classic and Ready-To-Use Barcode-Scanner:
BarcodeItemhas a newsizeScorefield with a value between 0 and 1 that represents the relative size of the barcode compared to the size of the input image. All barcode configurations have a new floatminimumSizeScorethat is set to 0 by default. All barcodes withsizeScore<minSizeScoreare ignored. Note thatminSizeScorecan be chosen differently for each barcode format. - Classic Barcode Scanner: The
BarcodeScannerConfigurationhas a new flagonlyAcceptDocuments. If this flag is enabled, we only return barcodes that were parsed as barcode documents in the list ofacceptedDocumentFormats(if this list is empty, we return all detected barcodes independent of the flag). - Introduced support for new barcode formats that are used in the pharmaceutical industry:
PHARMA_CODE,PHARMA_CODE_TWO_TRACKandPZN(Pharmazentralnummer). - Barcode & Document Ready-To-Use UI: Added new camera configuration property
idealPreviewResolution. This is directly translated to theidealproperty of thevideoConstraintsobject. - Added barcode document parsing to the Ready-To-Use UI Barcode Scanner.
- The VIN Scanner now has the option to scan VINs from barcodes.
- The Document Quality Analyzer can now also return the orientation of the document in steps of 90 degrees.
Enabled by setting
DocumentQualityAnalyzerConfiguration.detectOrientationtotrue. - Added a new image filter preset -
PRESET_5, an improved version ofPRESET_4, that also works well on documents with barcodes.
- 🚀 Improvements:
- Improved error handling: Edge cases that prevented the SDK to load in certain scenarios now produce better error messages.
- Images from the various API functions are no longer returned as encoded
JPEGbut as aRawImage.RawImageobjects can be converted to JPEGs using the new functionsdk.imageToJpeg. This speeds up all the API functions that return images, because the slow image-encoding step is now only done on demand. Most API functions that take images as input now also allow the input to be aRawImage. - The
ScanbotSDK.Confignamespace now bundles almost all configuration classes of the SDK. sdk.detectDocumentnow takes aDocumentDetectorParametersargument, instead of individual parameters.- Classic and Ready-to-Use UI Barcode Scanner: The
gs1Handlingproperty now has more fine-grained validation options. - Classic and Ready-to-Use UI Barcode Scanner: Added new EngineMode options called
NEXT_GEN_LOW_POWER_ARandNEXT_GEN_ARwhich are optimized for detecting multiple barcodes in live mode. - The Barcode Ready-to-Use UI
MultipleScanningModehas a new optionallowEmptySubmissionwhich defaults tofalse. - Classic Barcode Scanner: A new flag
addAdditionalQuietZonecan be set. This flag should be used to scan sharp/tight crops of a barcode. - Classic and Ready-to-Use UI Barcode Scanner: Improved quiet zone handling for the barcode formats
ITF,CODE_11,MSI_PLESSEY,IATA_2_OF_5,INDUSTRIAL_2_OF_5andCODE_25. sdk.createDocumentQualityAnalyzerconfiguration object has been revamped. This new configuration object has many more options to trade off analysis speed vs. accuracy.- The Document Quality Analyzer has been added to the "document-scanner" flavor of the SDK.
- The VIN Scanner config now contain a new field
detectionConfigurationof typeVinScannerConfigurationthat incorporates/replaces most of the previous configuration fields. - The VIN Scanner now returns a
VinScannerResult, which contains more detailed information about each recognized word and character. It also contains information about the scanned barcode (if enabled). - Added optional
containerproperty to all Classic scanners, allowing the container element itself to be passed to the SDK, which solves cases where the document cannot be found by its id, e.g. in case of shadow DOM. - For devices with multiple cameras, we improved our code that decides which camera is chosen for a scanner. This aims to reduce the number of devices for which a "fish-eye" or telelense camera is picked, which are usually not desirable for scanning.
- Improved internal memory management. This should reduce peak memory usage and avoid memory-related crashes on some old devices.
getLicenseInfonow also reports the date when the license will expire.
- 🐞 Bug fixes:
- For ITF, we fixed the usage of
minimumTextLength. Before, we used it to check the number of symbols instead of the true text length. - Fixed a bug where AR overlay was not correctly positioned when the video was mirrored.
- For ITF, we fixed the usage of
- ⚠️ Breaking changes:
- The Document Quality Analyzer no longer returns the value
NO_DOCUMENT. It now returnsnullif no document is found. - The old
DocumentDetectionResulthas been refactored and replaced byCroppedDetectionResult, which now extends a newDocumentDetectionResult. - In SDK initialization,
enginehas been renamed toenginePath. Note that this parameter is now mandatory. - Removed
applyFilter,rotateImageCcwandcropAndRotateImageCcw. Use the new functionsimageFilter,imageRotateandimageCropinstead. - The image filter configuration objects have been moved from
ScanbotSDK.imageFilters.*toScanbotSDK.Config.ParametricFilter.*. sdk.beginTiffsignature changed and now takes aTiffGeneratorParametersargument, which has more options than before, e.g.jpegQuality, the ability to add user-defined fields in the TIFF file, etc.sdk.beginPdfsignature changed and now takes aPdfConfigurationargument, which has more options than before. Specifically, the ability to add custom attributes in the final PDF file.- Classic Component: Type rename:
MrzScannerConfiguration->MrzScannerViewConfiguration. - The MRZ Scanner returns a
MrzScannerResult, which contains aGenericDocument. This result type has a slightly different structure than before, but provides more detailed information about the recognized MRZ. MrzScannerConfiguration'saccumulatedFrameVerificationConfigurationwas moved toMrzScannerConfiguration.recognizerConfiguration.- Classic Component: Type rename:
DocumentScannerConfiguration->DocumentScannerViewConfiguration. - Classic Document Scanner component: The default
acceptedSizeScorechanged from75to80. DocumentDetectionStatusandHintTextConfigurationnames have changed slightly, e.g.Error_Brightnesswas renamed toERROR_TOO_DARK. Also, the new stateOK_BUT_TOO_DARKwas added.- Classic Barcode Scanner: Type rename:
BarcodeScannerConfiguration->BarcodeScannerViewConfiguration. - Classic Barcode Scanner:
BarcodeScannerViewConfigurationalso contains adetectionParametersfield of typeBarcodeScannerConfigurationwhich incorporates & replaces the parametersbarcodesRegexFilter,gs1Handling,engineMode,returnBarcodeImageandbarcodeFormats. sdk.detectBarcodesnow takes aBarcodeScannerConfigurationargument, instead of individual parameters.- Classic and Ready-to-Use UI Barcode Scanner: The barcode detection result's
parsedDocumenthas been renamed toextractedDocument. - Classic and Ready-to-Use UI Barcode Scanner: The barcode detection result's
rawBytesnow contains aUint8Arrayinstead of abase64string. - Classic and Ready-to-Use UI Barcode Scanner: The
regexFilteroption for barcode detection now requires that the entire scanned code matches the regex. Previously, it was enough if a substring matched the regex. - The Barcode Ready-to-Use UI result types
BarcodeScannerResultandBarcodeScannerItemhave been renamed toBarcodeScannerUiResultandBarcodeScannerUiItem. - The
modeparameter of the functionsdk.createOcrEnginehas been removed. OcrEngine.performOcrnow returns anOcrTypes.Pageobject. This structures OCR results into text-blocks containing text-lines containing words. Each of these objects is annotated with positions and a confidence score. This allows for a more detailed analysis of the OCR results.sdk.createTextDataScannerhas been renamed tosdk.createTextPatternScanner. Associated types have also been renamed.- Classic Component: Type rename:
TextDataScannerConfiguration->TextPatternScannerViewConfiguration. TextLineScannerand associated types have been renamed toTextPatternScanner.TextPatternScannernow return aTextPatternScannerResult, which contains more detailed information about each recognized word and character.TextPatternScannerViewConfigurationnow contains a new propertyocrConfigurationof typeTextPatternScannerConfigurationthat incorporates/replaces most of the previous configuration fields.TextPatternScannerConfiguration.supportedLanguageshas been removed.- In
TextPatternScannerViewConfiguration,validationPattern,matchSubstringandallowedCharactershave been moved toPatternContentValidator, which is one possible value of theTextPatternScannerViewConfiguration.ocrConfiguration.validatorfield. - The parameter names for image rotation have been renamed. They are now called
NONEinstead ofROTATION_NONE,CLOCKWISE_90instead ofROTATION_90_CLOCKWISE, etc. - The Document Quality Analyzer now returns a
DocumentQualityAnalyzerTypes.DocumentQualityAnalyzerResultobject, instead of a string. ImageProcessorhas been removed. Instead, there are now the functionsimageRotate,imageFilter,imageCropandimageResize, which can be used to process images.- Type rename:
VinScannerConfiguration->VinScannerViewConfiguration. - Renamed
createVINScannertocreateVinScanner. - VIN Scanner config field
onTextDetectedhas been renamed toonVinDetected. LicenseInfo.descriptionhas be renamed toLicenseInfo.licenseStatusMessage.LicenseInfo.statusvalues are now in screaming-snake case (e.g.FailureExpiredis nowFAILURE_EXPIRED).
- The Document Quality Analyzer no longer returns the value
- 🚙 Under the hood:
- Updated 3rd-party libraries:
- Added embla carousel
- Added gs1-syntax-dictionary lib
- Updated 3rd-party libraries:
Version 5.1.3 (16 August 2024)
- 🐞 Bug fixes:
- Fixed a camera API quirk in the RTU UI Barcode Scanner component that resulted in a crash in Firefox
Version 5.1.2 (7 August 2024)
- 🐞 Bug fixes:
- Fixes a bug where enabling multi-threading caused a significant slow-down for live-scanners, especially at high resolutions
Version 5.1.1 (10 June 2024)
- 🐞 Bug fixes:
- Fixes a bug where the document outline in the cropping view is not correctly updated
- Fixes a bug where the RTU UI Barcode Scanner would not scan well if multiple barcodes are visible in the same frame
Version 5.1.0 (31 May 2024)
- 🎉 New:
- Introduced a new Ready-To-Use Barcode Scanner UI.
- Support of new barcode type MICRO_PDF_417.
- AAMVA Title Document Parser.
- Added more options to the text data scanner:
validationPattern,matchSubstringandallowedCharacters.
- 🚀 Improvements:
- Large performance increase thanks to improved multi-threading.
- WASM loading & camera opening now happen in parallel, resulting in a reduced time-to-scan. If WASM is still loading when the camera is already opened, a spinner is shown.
- WASM and JS files will now be requested with an additional cache-busting query parameter to ensure the latest version is always used.
E.g., instead of
ScanbotSDK.Asm.wasm, the file will now be requested asScanbotSDK.Asm.wasm?5.1.0. This behavior can be configured or disabled using therequestSuffixconfig option during SDK initialization. - ImageProcessor: JPEG reading and writing is substantially faster thanks to multithreading.
- Error and Erasure Correction to improve PDF_417, MICRO_PDF_417, and GS1_COMPOSITE.
- Image filters: Antialiasing now requires significantly less memory.
- Trimmed frames of MSI_PLESSEY, ITF, and CODABAR were likely scanned as false positives since the quiet zone requirement was not appropriately handled. Now, in live mode, we require a certain distance to the boundary and an additional quiet zone check.
- Revamped ViewFinder with new styling options, including cornered or stroked style,
strokeColorand-Widthand configurablecornerRadius.
- ⚠️ Breaking changes:
Barcode.parsedTextis now calledBarcode.parsedDocumentand has a slightly different structure.- Removed deprecated ViewFinder
left,right,top,widthProportionproperties. - Support for jsdelivr CDN has been deprecated and will be removed in one of the next versions. Please host the SDK files on your own server or use a CDN of your own.
- A workaround for certain webpack configurations (most notably that of
create-react-app) has been removed. If you run into webpack errors when importing fromscanbot-web-sdk/webpack, please switch to importing directly fromscanbot-web-sdkand handle the hosting of the WASM files manually. - Multi-threading now requires the HTTP header
Cross-Origin-Resource-Policyof valuecross-originto be set for thebundle/bin/*/*.jsfiles. Before, a value ofsame-originwas also acceptable for that header.
Version 5.0.1 (30 Apr 2024)
- 🐞 Bug fixes:
- Fixed an issue where the text data scanner would not open, unless the
validatorPresetwas set.
Version 5.0.0 (22 Mar 2024)
- 🎉 New:
- Added torch controls for scanner views for a limited set of devices & browsers
- Added more options to PDF generation:
dpi,pageFit,jpegQuality,resample - Support new barcode type GS1_COMPOSITE (CC-A, CC-B and CC-C). We allow for composites with a linear component that can be RSS_14, RSS_EXPANDED, DATABAR_LIMITED or CODE_128.
- 🚀 Improvements:
- Many improvements to the cropping view. Most notably, pointer events no longer get lost when moving things about too quickly, and dragging handles now have an invisible 50x50 pixel hitbox, to make them easier to grab on mobile devices.
- Massive overhaul of camera permission and error handling
- Added frame accumulation based verification to MRZ scanner
- New ImageProcessor API that allows for improved filters and more efficient post-processing of scan results
- New API reference available at docs.scanbot.io
- Significantly reduced WASM binary sizes (-2MB)
- Added pdf renderer to Package 1 (Document scanner SDK). Previously it was only available in Package 2 (Full SDK).
- Improved image sharpness calculation per document-template to filter blurry frames faster
- Increased speed of tiff 1 bit packing
- Text detection in Text Data & VIN scanner is faster and more accurate
- Improved speed of document detection
- ⚠️ Breaking changes:
- Deprecated legacy errors and implemented proper permission checks. For specifics, see Handling Errors
- TiffGenerator no longer has its own binarization options. Instead, apply a binarization filter using the new ImageProcessor API as described here.
- GS1 string handling is now uniform across all supported GS1 symbologies (Code128, DataMatrix, QR Code, DataBar 14, DataBar Limited, DataBar Expanded, GS1 Composite)
- Renamed RSS_14 to DATABAR and RSS_EXPANDED to DATABAR_EXPANDED
- Older Safari on iOS are no longer supported. The minimum supported iOS version is now 14.5+
- 🐞 Bug fixes:
- DataBar Limited: add "(01)" prefix to result string
- Fixed an issue in which the confidence of MRZ fields could be NaN
- Fixed an issue with cross-validation between MRZ and Passport data
- SimpleMrzRecognizer.recognizeURL will now resolve to undefined if recognition failed. Previously, it would remain in the pending state.
- Fixed a bug where the VIN scanner would also successfully scan non-VIN text
Version 4.0.1 (26 Jan 2024)
- 🐞 Bug fixes:
- Fixed an issue where css class-based styling of the document scanner view was not working
Version 4.0.0 (15 Dec 2023)
- 🎉 New:
- Introduced
DocumentQualityAnalyzerto replace deprecatedBlurDetector - Introduced barcode formats
USPS_INTELLIGENT_MAIL,ROYAL_MAIL,JAPAN_POST,ROYAL_TNT_POST,AUSTRALIA_POSTandDATABAR_LIMITED - Introduced Scanbot PDF Renderer
- Introduced a new OCR engine based on ML algorithms that is much faster and less error prone
- Added
pathstyle configuration to our Document Scanner Configuration, allowing capture completion animation! - Added ImageCapture API support - Snap full-resolution images from the camera!
- Added
validatorPresetproperty toTextDataScannerConfigurationto simplify scans of specific text types, e.g. VIN - Added
createVinScanner, a simple way to instantiate a vehicle identification number (VIN) scanner.
- Introduced
- 🚀 Improvements:
- Decreased complete binary size by more than 3MB
- Improved WebAssembly memory management for a smoother experience
- ⚠️ Breaking changes:
- Removed
BlurDetector - Removed
dpioption from PDF generation options. DPI is chosen automatically - Removed
paperWidthInchesandpaperHeightInchesfrom PDF generation options.standardPaperSizenow features various formats to replace custom sizing - Removed
landscapeboolean property from PDF generation options, addedpageDirectionproperty - Removed
tessdatafiles from bundle - OCR engine constructor no longer takes
languagesparameter, now features an optionalmodeparameter
- Removed
Version 3.0.1 (19 Oct 2023)
- 🐞 Bug fixes:
- Fixed case where snapped image was not returned when document detection failed
Version 3.0.0 (02 Oct 2023)
- 🎉 New:
- Introduced ML-Based document detector - incredible performance and accuracy increases!
- 🚀 Improvements & 🚙 Under the hood:
- Vectorised WASM binaries - increased performance for parallel computations such as cropping and image filter application
- Models now run on TensorFlow.js binaries (with vectorization and threading!) - increased performance across the board!
- 🐞 Bug fixes:
- Fixed document polygon outline styling
- ⚠️ Breaking changes:
OutlinePolygonStyleConfigurationnow has four properties:strokeCapturing,fillCapturing,strokeSearching,fillSearching, instead of the previousstrokeandfillproperties
Version 2.14.0 (24 Aug 2023)
- 🎉 New:
- Barcode Scanner AR Overlay
- Added
MICRO_QR_CODEbarcode format
- 🚀 Improvements:
- Enhanced & smoothed out document detection polygon animations
- New generation of Text Data Scanner component. The quality and speed of scanning has significantly improved
- 🐞 Bug fixes:
- Removed intrusive
Device: ${preferredCamera} is not founderror logging
- Removed intrusive
- 🚙 Under the hood:
- Added
framer-motiondependency
- Added
Version 2.13.1 (12 Jul 2023)
- 🎉 New:
setRecognitionResolutionnow works for live detection as well, not just for still images
- 🐞 Bug fixes:
- Fixed
setZoomtypings missing zoom parameter
- Fixed
Version 2.13.0 (29 Jun 2023)
- 🎉 New:
- Barcode Scan & Count feature: enabled via
scanAndCountproperty ofBarcodeScannerConfiguration - Added option to pass the
containerhtml element in scanner configuration as an alternative tocontainerIdstring parameter - Added option to update barcode scanner input resolution at scanner runtime via
barcodeScanner.setRecognitionResolution(n)– this provides the option to either go for a more performant scan or a more accurate scan
- Barcode Scan & Count feature: enabled via
- 🐞 Bug fixes:
- Fixed issue where auto capture enable/disable was not updated at scanner runtime
- 🚙 Under the hood:
- Better per-frame accuracy for QR_CODE
- Unify MRZ interface and create Generic Document interface
- Code39 and Code93 should decode slightly faster
- Support inverted PDF-417 barcodes
Version 2.12.0 (6 Apr 2023)
- 🚀 Improvements:
- Improved performance and accuracy of machine-readable-zone recognition.
- 🎉 New:
parsedTextproperty is introduced inBarcodeResult. If the data is structured and parsing is supported for the data type, this structured data will be parsed into document-like data structures. See Barcode Scanner.
- 🚙 Under the hood:
- Updated third-party libraries.
- Updated TensorFlow Lite to 2.10
- Improved allocated memory releasing mechanism for:
- Text Data scanner
- MRZ scanner
- TIFF creator
- Blur estimator
Version 2.11.0 (2 Mar 2023)
- 🎉 New:
fetchAvailableCamerasAPI was introduced to query the available cameras on the running browser. Available inDocumentScanner,BarcodeScanner,MrzScannerandTextDataScannergetActiveCameraInfoAPI was introduced to retrieve information of the active camera on the scanner. Available inDocumentScanner,BarcodeScanner,MrzScannerandTextDataScannerswitchCameraAPI was introduced to switch any of the available cameras on the running browser. Available inDocumentScanner,BarcodeScanner,MrzScannerandTextDataScannershowFinderparameter was added intoBarcodeScannerConfigurationto initializeBarcodeScannerwith or without the finder rectanglewidthProportionparameter was added intostyle.windowparameters of all the scanners. This parameter is used to configure the size of the finder rectangle in proportion to the visible screen widthpreferredCameraparameter was added intoDocumentScannerConfiguration,BarcodeScannerConfiguration,MrzScannerConfigurationandTextDataScannerConfiguration. This parameter is used to pass a preferred camera label or camera device id to a scanner to decide which camera to start with
- ⚠️ Breaking changes:
- Removed
paddingPropLeftinstyle.windowparameters from all the scanners. The new configurationwidthProportioncan be used as a replacement
- Removed
Version 2.10.0 (30 Jan 2023)
- 🚀 Improvements:
- Improved the error handling in all scanners and introduced
LicenseErrorthat is thrown when a client calls any of the Scanbot SDK functions while having a license error. See Handling Errors. - Barcode Scanner optionally returns barcode images along with the barcode recognition result. See Configuration.
- Improved the error handling in all scanners and introduced
- 🐞 Bug fixes:
- Firefox on Android: when switching to the rear camera, the camera went black and could not be initiated again until the tab was closed and the browser was restarted.
isValid()method ofLicenseInforeturnedfalsewhen the status was equal toTrial. It should now returntruewhile the trial mode is active.
- ⚠️ Breaking changes:
- Default camera resolution of Barcode Scanner, MRZ Scanner and Text Data Scanner was changed from
UHD: 3840 x 2160toHD: 1920 x 1080. onErrorcallback is now mandatory when configuring Document Scanner, Barcode Scanner, MRZ Scanner and Text Data Scanner. See Handling Errors.
- Default camera resolution of Barcode Scanner, MRZ Scanner and Text Data Scanner was changed from
- 🚙 Under the hood:
- Updated third-party libraries.
Version 2.9.2 (9 Nov 2022)
- 🎉 New:
- API method
swapCameraFacingwas introduced to switch between the front and rear camera in the Barcode Scanner, Document Scanner, MRZ Scanner and Data Scanner
- API method
- 🚀 Improvements:
- Further improvements on memory usage
- 🚙 Under the hood:
- Updated third-party libraries
Version 2.9.1 (29 Aug 2022)
- 🐞 Bug fixes:
- When camera access was not given, scanners would throw an exception instead of using an error callback
Version 2.9.0 (11 Aug 2022)
- 🎉 New:
- Text Data Scanner UI to perform text recognition
- 🚀 Improvements:
- Further improvements on memory usage
- 🐞 Bug fixes:
- Viewfinder overflows when device orientation changed
Version 2.8.2 (22 Jun 2022)
- 🚀 Improvements:
- Updated README
Version 2.8.1 (18 May 2022)
- 🐞 Bug fixes:
- The resolution of the generated PDF document was not reflecting the passed dpi value
Version 2.8.0 (11 May 2022)
- 🎉 New:
- Dragging the points on the Cropping screen is now enabled on non-touch screen environments such as clicking via a mouse in a browser
saveImageAsJpegutility function was introduced to help save a scanned document as a JPEG file
- 🚀 Improvements:
- Huge improvement on the speed and accuracy of 1D barcodes recognition
- Improved accuracy of auto-capturing process in the document scanner
- 🐞 Bug fixes:
- Document size in a PDF page was not consistent while creating a PDF from a scanned document
Version 2.7.0 (16 Mar 2022)
- 🚀 Improvements:
- Improved performance of Barcode, MRZ and Document Scanners
- Significantly improved recognition of Aztec, PDF417 and Datamatrix barcodes
- Improved the error handling in Document Scanner
Version 2.6.1 (10 Dec 2021)
- 🚀 Improvements:
- Throwing specific errors on creating scanners (i.e.
createDocumentScanner,createBarcodeScanner,createMrzScanner)
- Throwing specific errors on creating scanners (i.e.
Version 2.6.0 (30 Nov 2021)
- 🎉 New:
- Blur detection: The Blur Detector API allows you to detect the blurriness of images.
- Document scanning on still images: Detects document on a still image on a JPG file regardless of the image source
- Cropping on still images: Cropping and rotation operations on a still image on a JPG file regardless of the image source
- 🐞 Bug fixes:
- Fixed: MRZ Scanner 'RuntimeError: divide by zero error' while scanning clean solid colored images
Version 2.5.3 (5 Nov 2021)
- 🚀 Improvements:
- Improving the polygon detection performance in time on document scanning
- Preventing capturing multiple documents at once
- Further improvements on memory usage
Version 2.5.2 (27 Oct 2021)
- 🐞 Bug fixes:
- ViewFinder doesn't work well on all devices with different aspect ratios and resolutions
- MRZ result is not right on Android on Firefox browser
- Document Scanner captures black screen on iOS 15
- 🚀 Improvements:
- Improvement on memory usage regarding to bug: Scanner camera preview turns blank on iOS 15
Version 2.5.1 (8 Oct 2021)
- 🐞 Bug fixes:
- Fixed: Polygons are not visible on Document Scanner
Version 2.5.0 (6 Oct 2021)
- 🎉 New:
- MRZ Scanner UI
- 🚀 Improvements:
- In WindowStyleConfiguration,
aspectRatioandpaddingPropLeftelements can be used for configuring the size of the view-finder in a more responsive way for Barcode Scanner and MRZ Scanner. Styling
- In WindowStyleConfiguration,
- 🐞 Bug fixes:
- Fixed:
disableScrollin cropping view is not working as expected
- Fixed:
- ⚠️ Breaking Changes:
Version 2.4.1 (6 Sep 2021)
- 🎉 New:
- Additional parameter
barcodeFormats: BarcodeFormat[]inBarcodeScannerConfigurationto specify the enabled barcode formats - Ability to scan MSI Plessey barcodes via passing
MSI_PLESSEYin barcodeFormats parameter toBarcodeScannerConfiguration
- Additional parameter
- 🚀 Improvements:
- Improved the document scanner instructions to make it compliant with Scanbot mobile demo apps.
- 🐞 Bug fixes:
- Fixed: Document scanner instructions are not configurable. Now you can pass
TextConfigurationtoDocumentScannerConfiguration
- Fixed: Document scanner instructions are not configurable. Now you can pass
Version 2.4.0 (13 Aug 2021)
- 🎉 New:
- Added engineMode property of type EngineMode on barcode scanning APIs - BarcodeScannerConfiguration to switch between the legacy barcode engine and the new Next Generation barcode engine. By default, the new engine is used.
- Exposed version info API:
ScanbotSDK.version - Exposed Barcode Finder View positioning API:
left,topandtransformproperties
- ⚠️ Breaking Changes:
- Removed experimental image filter types
trinarizationandlightMapNormalization
- Removed experimental image filter types
Version 2.3.0 (7 June 2021)
- 🎉 New:
- Feature to detect barcodes on still images: detectBarcodes(base64: string)
- 🚀 Improvements:
- Revamped barcode view finder to support additional styling
- 🐞 Bug fixes:
- iOS: Fixed view finder turning gray on zoom
- 🚙 Under the hood:
- Updated internal dependencies to latest versions
Version 2.2.0 (27 Apr 2021)
- 🎉 New:
- Magnifier View for Cropping View
- 🚀 Improvements:
- Exposed
videoConstraintsto Scanner Configuration, allowing to setfacingModeand advanced options - Added source
ImageDataobject to Barcode Scanner Result (ImageDataobject extracted from canvas) - Added
mirroredoption to Scanner Configuration (falseby default) - Remove partially-supported
MSI_PLESSEYbarcode format - Improved how Scanbot Web SDK handles access errors. See Error Handling Section
- Added option to add
experimentaloradvancedconstraints via scanner configuration.
- Exposed
- 🐞 Bug fixes:
- Barcode Finder Window custom positioning fix
- Fixed auto-focus issue on certain android devices
Version 2.1.0 (3 Mar 2021)
- 🎉 New:
- Barcode Scanner – Scanner view to scan various barcodes
- 🐞 Bug fixes:
- Fixed issue where camera component was not properly disposed of
- ⚠️ Breaking Changes:
- Moved
Polygonobject toutils/dto/polygonpackage - Moved
DetectionStatustomodel/document/detection-statuspackage - Renamed and moved
model/response/detection-resulttomodel/document/document-detection-result
- Moved
Version 2.0.2 (16 Feb 2021)
- 🎉 New:
- TIFF support – The ability to export scanned images as binarized TIFF
- 🚀 Improvements:
- All typing imports now available from the
@typesroot package CroppingViewConfigurationnow features arotationsproperty. Therotationsproperty is also contained inCroppingResultafter applying the crop
- All typing imports now available from the
- 🐞 Bug fixes:
- Respect existing
rotationstate when re-applying detection
- Respect existing
- ⚠️ Breaking Changes:
- Moved
PdfGeneration(Options)andTiffGenerator(Options)to theservicepackage
- Moved
Version 2.0.1 (8 Feb 2021)
- 🎉 New:
- Option to disable and enable auto-capture on the fly
- 🚀 Improvements:
- Improved
ImageFilter@types support for advanced typescript configurations
- Improved
Version 2.0.0 (3 Feb 2021)
- 🎉 New:
- Cropping UI – New components to implement UI for manual cropping of images
- Image Filters – Scanned documents can now be optimized by applying image filters like binarization, grayscale, etc
- PDF support – The ability to export scanned images as PDF
- 🚀 Improvements:
- Improved @types support for non-react projects
- ⚠️ Breaking Changes:
- Detection result images are now
Uint8Array. UsescanbotSDK.toDataUrlto convert it to a displayable image - The
componentpackage is no longer available in the Bundle SDK. Replaced by@types- Configuration objects moved from
model/tomodel/configuration/
- Configuration objects moved from
- Detection result images are now
- 🚙 Under the hood:
- Updated OpenCV to version 4.5.0. OpenCV license has been changed from BSD to Apache 2
- Added further 3rd-party libraries, see
Libraries.txt
Version 1.0.2 (03 Nov 2020)
- 🐞 Bug fixes:
- Module loading fix for Webpack 5
Version 1.0.1 (20 Oct 2020)
- 🐞 Bug fixes:
- Typings entrypoint fix
Version 1.0.0 (25 September 2020)
- 🎉 Initial release:
- Document Scanner with Auto-cropping
- UI Components: User-guidance text, Detection polygon and Capture button
Want to scan longer than one minute?
Generate a free trial license to test the Scanbot SDK thoroughly.
Get free trial license