Changelog | Web Document Scanner
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.