Changelog | Web Barcode Scanner
Version 7.0.2 (20 February 2025)
- 🎉 New:
- Added
ignoreOrientationMismatch
user guidance text localization for the RTU-UI Document Scanner. - Added
returnBarcodeImage
property toBarcodeScannerConfiguration
. Iftrue
, the barcode image will be returned in the result. Defaults tofalse
.
- Added
- 🐞 Bug fixes:
- Fixed issue where
ignoreOrientationMismatch
was not respected in the Classic Document Scanner.
- Fixed issue where
- ⚠️ Breaking changes:
- If you work with Barcode Scanner result images,
returnBarcodeImage
must now be set totrue
in theBarcodeScannerConfiguration
. - Renamed
ignoreBadAspectRatio
toignoreOrientationMismatch
in 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
container
parameter was not respected when thecontainerId
property was missing. - Specified a
null
return type in the document scanner handle'sdetectAndCrop
function.
- 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
. DocumentScannerViewConfiguration
now has a new fielddetectionParameters
of typeDocumentScannerParameters
, which incorporates and replaces the parametersacceptedBrightnessThreshold
,acceptedAngleScore
andacceptedSizeScore
. Additionally, this object allows the configuration of arectangleOfInterest
and anacceptedBrightnessThreshold
.- Classic Document Scanner component now returns a
DocumentDetectionResult
, which has a few new informative fields, such as thedetectionScores
andaspectRatio
. 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
BarcodeScannerConfiguration
type 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:
BarcodeItem
has a newsizeScore
field 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 floatminimumSizeScore
that is set to 0 by default. All barcodes withsizeScore
<minSizeScore
are ignored. Note thatminSizeScore
can be chosen differently for each barcode format. - Classic Barcode Scanner: The
BarcodeScannerConfiguration
has 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_TRACK
andPZN
(Pharmazentralnummer). - Barcode & Document Ready-To-Use UI: Added new camera configuration property
idealPreviewResolution
. This is directly translated to theideal
property of thevideoConstraints
object. - 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.detectOrientation
totrue
. - 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
JPEG
but as aRawImage
.RawImage
objects 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.Config
namespace now bundles almost all configuration classes of the SDK. sdk.detectDocument
now takes aDocumentDetectorParameters
argument, instead of individual parameters.- Classic and Ready-to-Use UI Barcode Scanner: The
gs1Handling
property now has more fine-grained validation options. - Classic and Ready-to-Use UI Barcode Scanner: Added new EngineMode options called
NEXT_GEN_LOW_POWER_AR
andNEXT_GEN_AR
which are optimized for detecting multiple barcodes in live mode. - The Barcode Ready-to-Use UI
MultipleScanningMode
has a new optionallowEmptySubmission
which defaults tofalse
. - Classic Barcode Scanner: A new flag
addAdditionalQuietZone
can 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_5
andCODE_25
. sdk.createDocumentQualityAnalyzer
configuration 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
detectionConfiguration
of typeVinScannerConfiguration
that 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
container
property 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.
- Added
sdk.destroy()
to unload the SDK. This is useful when you want to free the memory used by the SDK. If needed, the SDK can be reinitialized after this call. - Improved internal memory management. This should reduce peak memory usage and avoid memory-related crashes on some old devices.
getLicenseInfo
now 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 returnsnull
if no document is found. - The old
DocumentDetectionResult
has been refactored and replaced byCroppedDetectionResult
, which now extends a newDocumentDetectionResult
. - In SDK initialization,
engine
has been renamed toenginePath
. Note that this parameter is now mandatory. - Removed
applyFilter
,rotateImageCcw
andcropAndRotateImageCcw
. Use the new functionsimageFilter
,imageRotate
andimageCrop
instead. - The image filter configuration objects have been moved from
ScanbotSDK.imageFilters.*
toScanbotSDK.Config.ParametricFilter.*
. sdk.beginTiff
signature changed and now takes aTiffGeneratorParameters
argument, which has more options than before, e.g.jpegQuality
, the ability to add user-defined fields in the TIFF file, etc.sdk.beginPdf
signature changed and now takes aPdfConfiguration
argument, 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
'saccumulatedFrameVerificationConfiguration
was moved toMrzScannerConfiguration.recognizerConfiguration
.- Classic Component: Type rename:
DocumentScannerConfiguration
->DocumentScannerViewConfiguration
. - Classic Document Scanner component: The default
acceptedSizeScore
changed from75
to80
. DocumentDetectionStatus
andHintTextConfiguration
names have changed slightly, e.g.Error_Brightness
was renamed toERROR_TOO_DARK
. Also, the new stateOK_BUT_TOO_DARK
was added.- Classic Barcode Scanner: Type rename:
BarcodeScannerConfiguration
->BarcodeScannerViewConfiguration
. - Classic Barcode Scanner:
BarcodeScannerViewConfiguration
also contains adetectionParameters
field of typeBarcodeScannerConfiguration
which incorporates & replaces the parametersbarcodesRegexFilter
,gs1Handling
,engineMode
,returnBarcodeImage
andbarcodeFormats
. sdk.detectBarcodes
now takes aBarcodeScannerConfiguration
argument, instead of individual parameters.- Classic and Ready-to-Use UI Barcode Scanner: The barcode detection result's
parsedDocument
has been renamed toextractedDocument
. - Classic and Ready-to-Use UI Barcode Scanner: The barcode detection result's
rawBytes
now contains aUint8Array
instead of abase64
string. - Classic and Ready-to-Use UI Barcode Scanner: The
regexFilter
option 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
BarcodeScannerResult
andBarcodeScannerItem
have been renamed toBarcodeScannerUiResult
andBarcodeScannerUiItem
. - The
mode
parameter of the functionsdk.createOcrEngine
has been removed. OcrEngine.performOcr
now returns anOcrTypes.Page
object. 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.createTextDataScanner
has been renamed tosdk.createTextPatternScanner
. Associated types have also been renamed.- Classic Component: Type rename:
TextDataScannerConfiguration
->TextPatternScannerViewConfiguration
. TextLineScanner
and associated types have been renamed toTextPatternScanner
.TextPatternScanner
now return aTextPatternScannerResult
, which contains more detailed information about each recognized word and character.TextPatternScannerViewConfiguration
now contains a new propertyocrConfiguration
of typeTextPatternScannerConfiguration
that incorporates/replaces most of the previous configuration fields.TextPatternScannerConfiguration.supportedLanguages
has been removed.- In
TextPatternScannerViewConfiguration
,validationPattern
,matchSubstring
andallowedCharacters
have been moved toPatternContentValidator
, which is one possible value of theTextPatternScannerViewConfiguration.ocrConfiguration.validator
field. - The parameter names for image rotation have been renamed. They are now called
NONE
instead ofROTATION_NONE
,CLOCKWISE_90
instead ofROTATION_90_CLOCKWISE
, etc. - The Document Quality Analyzer now returns a
DocumentQualityAnalyzerTypes.DocumentQualityAnalyzerResult
object, instead of a string. ImageProcessor
has been removed. Instead, there are now the functionsimageRotate
,imageFilter
,imageCrop
andimageResize
, which can be used to process images.- Type rename:
VinScannerConfiguration
->VinScannerViewConfiguration
. - Renamed
createVINScanner
tocreateVinScanner
. - VIN Scanner config field
onTextDetected
has been renamed toonVinDetected
. LicenseInfo.description
has be renamed toLicenseInfo.licenseStatusMessage
.LicenseInfo.status
values are now in screaming-snake case (e.g.FailureExpired
is 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
,matchSubstring
andallowedCharacters
.
- 🚀 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 therequestSuffix
config 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,
strokeColor
and-Width
and configurablecornerRadius
.
- ⚠️ Breaking changes:
Barcode.parsedText
is now calledBarcode.parsedDocument
and has a slightly different structure.- Removed deprecated ViewFinder
left
,right
,top
,widthProportion
properties. - 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-sdk
and handle the hosting of the WASM files manually. - Multi-threading now requires the HTTP header
Cross-Origin-Resource-Policy
of valuecross-origin
to be set for thebundle/bin/*/*.js
files. Before, a value ofsame-origin
was 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
validatorPreset
was set.
Version 5.0.0 (22 Mar 2024)
- 🎉 New:
- Added torch controls for scanner views (see e.g. Document Scanner) 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
DocumentQualityAnalyzer
to replace deprecatedBlurDetector
- Introduced barcode formats
USPS_INTELLIGENT_MAIL
,ROYAL_MAIL
,JAPAN_POST
,ROYAL_TNT_POST
,AUSTRALIA_POST
andDATABAR_LIMITED
- Introduced Scanbot PDF Renderer
- Introduced a new OCR engine based on ML algorithms that is much faster and less error prone
- Added
path
style configuration to our Document Scanner Configuration, allowing capture completion animation! - Added ImageCapture API support - Snap full-resolution images from the camera!
- Added
validatorPreset
property toTextDataScannerConfiguration
to 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
dpi
option from PDF generation options. DPI is chosen automatically - Removed
paperWidthInches
andpaperHeightInches
from PDF generation options.standardPaperSize
now features various formats to replace custom sizing - Removed
landscape
boolean property from PDF generation options, addedpageDirection
property - Removed
tessdata
files from bundle - OCR engine constructor no longer takes
languages
parameter, now features an optionalmode
parameter
- 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:
OutlinePolygonStyleConfiguration
now has four properties:strokeCapturing
,fillCapturing
,strokeSearching
,fillSearching
, instead of the previousstroke
andfill
properties
Version 2.14.0 (24 Aug 2023)
- 🎉 New:
- Barcode Scanner AR Overlay
- Added
MICRO_QR_CODE
barcode 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 found
error logging
- Removed intrusive
- 🚙 Under the hood:
- Added
framer-motion
dependency
- Added
Version 2.13.1 (12 Jul 2023)
- 🎉 New:
setRecognitionResolution
now works for live detection as well, not just for still images
- 🐞 Bug fixes:
- Fixed
setZoom
typings missing zoom parameter
- Fixed
Version 2.13.0 (29 Jun 2023)
- 🎉 New:
- Barcode Scan & Count feature: enabled via
scanAndCount
property ofBarcodeScannerConfiguration
- Added option to pass the
container
html element in scanner configuration as an alternative tocontainerId
string 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:
parsedText
property 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:
fetchAvailableCameras
API was introduced to query the available cameras on the running browser. Available inDocumentScanner
,BarcodeScanner
,MrzScanner
andTextDataScanner
getActiveCameraInfo
API was introduced to retrieve information of the active camera on the scanner. Available inDocumentScanner
,BarcodeScanner
,MrzScanner
andTextDataScanner
switchCamera
API was introduced to switch any of the available cameras on the running browser. Available inDocumentScanner
,BarcodeScanner
,MrzScanner
andTextDataScanner
showFinder
parameter was added intoBarcodeScannerConfiguration
to initializeBarcodeScanner
with or without the finder rectanglewidthProportion
parameter was added intostyle.window
parameters of all the scanners. This parameter is used to configure the size of the finder rectangle in proportion to the visible screen widthpreferredCamera
parameter was added intoDocumentScannerConfiguration
,BarcodeScannerConfiguration
,MrzScannerConfiguration
andTextDataScannerConfiguration
. 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
paddingPropLeft
instyle.window
parameters from all the scanners. The new configurationwidthProportion
can be used as a replacement
- Removed
Version 2.10.0 (30 Jan 2023)
- 🚀 Improvements:
- Improved the error handling in all scanners and introduced
LicenseError
that 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 ofLicenseInfo
returnedfalse
when the status was equal toTrial
. It should now returntrue
while the trial mode is active. See License Check in Production.
- ⚠️ Breaking changes:
- Default camera resolution of Barcode Scanner, MRZ Scanner and Text Data Scanner was changed from
UHD: 3840 x 2160
toHD: 1920 x 1080
. onError
callback 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
swapCameraFacing
was 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
saveImageAsJpeg
utility 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 MRZ
- 🚀 Improvements:
- In WindowStyleConfiguration,
aspectRatio
andpaddingPropLeft
elements 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:
disableScroll
in cropping view is not working as expected
- Fixed:
- ⚠️ Breaking Changes:
Version 2.4.1 (6 Sep 2021)
- 🎉 New:
- Additional parameter
barcodeFormats: BarcodeFormat[]
inBarcodeScannerConfiguration
to specify the enabled barcode formats - Ability to scan MSI Plessey barcodes via passing
MSI_PLESSEY
in 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
TextConfiguration
toDocumentScannerConfiguration
- 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
,top
andtransform
properties
- ⚠️ Breaking Changes:
- Removed experimental image filter types
trinarization
andlightMapNormalization
- 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
videoConstraints
to Scanner Configuration, allowing to setfacingMode
and advanced options - Added source
ImageData
object to Barcode Scanner Result (ImageData
object extracted from canvas) - Added
mirrored
option to Scanner Configuration (false
by default) - Remove partially-supported
MSI_PLESSEY
barcode format - Improved how Scanbot Web SDK handles access errors. See Error Handling Section
- Added option to add
experimental
oradvanced
constraints 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
Polygon
object toutils/dto/polygon
package - Moved
DetectionStatus
tomodel/document/detection-status
package - Renamed and moved
model/response/detection-result
tomodel/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
@types
root package CroppingViewConfiguration
now features arotations
property. Therotations
property is also contained inCroppingResult
after applying the crop
- All typing imports now available from the
- 🐞 Bug fixes:
- Respect existing
rotation
state when re-applying detection
- Respect existing
- ⚠️ Breaking Changes:
- Moved
PdfGeneration(Options)
andTiffGenerator(Options)
to theservice
package
- 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.toDataUrl
to convert it to a displayable image - The
component
package 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 your free Trial LicenseWhat do you think of this documentation?
What can we do to improve it? Please be as detailed as you like.