Change Log
2.5.1 (2018-07-02)
- Fixed a bug that caused the library to fail when showing video output in some browsers.
- Updated external Scandit Engine library with a fix for a rare QR code bug.
2.5.0 (2018-06-29)
- Added a new
BarcodePicker.setCameraSwitcherEnabled()
function to dynamically show or hide the GUI button to switch between different cameras, plus a relative BarcodePicker.isCameraSwitcherEnabled()
function to get the current status. - Added a new
BarcodePicker.setTorchToggleEnabled()
function to dynamically show or hide a GUI button to toggle device torch on/off, plus a relative BarcodePicker.isTorchToggleEnabled()
function to get the current status. - Added a new
BarcodePicker.setTapToFocusEnabled()
function to dynamically enable or disable manual camera focus when clicking/tapping on the video, plus a relative BarcodePicker.isTapToFocusEnabled()
function to get the current status. - Added a new
BarcodePicker.setPinchToZoomEnabled()
function to dynamically enable or disable camera zoom control via pinching gesture on the video, plus a relative BarcodePicker.isPinchToZoomEnabled()
function to get the current status. - Added a new
BarcodePicker.getScanner()
function to retrieve the initialized (and possibly configured) Scanner
object internally used by the BarcodePicker
instance. - Added a new
scanner
option to BarcodePicker.create()
to pass and use an already initialized (and possibly configured) Scanner
object on creation. Using this when needed can lead to faster component initalization thanks to the reuse of the already available external Scandit Engine library in the object. - Added a new
destroyScanner
argument (enabled by default) to the BarcodePicker.destroy()
function, allowing to prevent Scanner
destruction on BarcodePicker
destruction. - Changed
BarcodePicker.setActiveCamera()
's camera
argument to be optional: when not provided the default camera is selected. - Fixed
BarcodePicker.pauseScanning()
not pausing camera input if the relative argument is passed and the BarcodePicker
is already in a paused state. - Fixed
BarcodePicker.accessCamera()
not re-accessing the camera when camera access was previously paused via BarcodePicker.pauseScanning()
. - Improved error reporting when getting/setting symbology settings for invalid symbologies.
- Updated external Scandit Engine library to version 5.8.0.
- Documented new Samsung Internet Browser 7+ support
2.4.5 (2018-06-13)
- Fixed an important bug causing the external Scandit Engine library to regularly block while making network requests on startup and regularly after scanning a barcode, this is now correctly handled in the background. Now startup times are slightly faster, online status is not required after library initialization and subsequent scans of barcodes are smoother and without interruptions (network conditions don't affect all these scenarios anymore).
2.4.4 (2018-06-05)
- Correctly throw
UnsupportedBrowserError
in case one of the WebAssembly-bugged iOS versions is used (11.2.2/11.2.5/11.2.6). - Show alerts about internal engine errors by default only when running on a local IP address (still always logged to console).
- Updated adapter library to version 6.2.1.
- Updated howler library to version 2.0.12.
- Updated tslib library to version 1.9.2.
2.4.3 (2018-05-31)
- Removed automatic WebView classification as unsupported in Android, as actual support might work depending on the containing app.
2.4.2 (2018-05-22)
- Updated external Scandit Engine library to version 5.8-beta.2.
- Further optimized WebAssembly code size.
- Improved general frame processing speed.
2.4.1 (2018-04-27)
- Updated external Scandit Engine library to version 5.7.2.
- Fixed incorrect behaviour of some browsers causing an error when trying to load cached compiled WebAssembly code.
2.4.0 (2018-04-25)
- Implemented caching of compiled WebAssembly code on browsers that support this (currently only Firefox), this makes subsequent loads of the library much faster and don't require re-downloading WebAssembly files.
- Improved detection of missing browser / OS functionality in WebView scenarios on Android devices.
- Implemented functionality to retrieve image data information whenever a frame is processed by a
BarcodePicker
. - Added a new
imageData
property to the ScanResult
object, containing the raw image byte data of the processed frame. - Added a new
imageSettings
property to the ScanResult
object, containing the image settings used to parse the image data of the processed frame. - Added a new
BarcodePicker.onProcessFrame()
function to register a listener to get a ScanResult
at every frame that is processed, independently from the number of recognized barcodes. - Added new
BarcodePicker.removeProcessFrameListener()
and BarcodePicker.removeProcessFrameListeners()
functions to remove the new "processFrame" listeners. - Updated adapter library to version 6.1.5.
- Improved CHANGELOG format.
2.3.0 (2018-04-12)
- Fixed and improved camera enumeration and selection in Firefox.
- Fixed incorrect video feed display in some situations in Edge.
- Improved localization and scanning performance of challenging 1D codes in the center of the video frame.
- Fixed incorrect application of scanning search area settings in some edge cases.
- Implemented object fit options for
BarcodePicker
objects, to set the video feed to "cover" or "contain" and thus be resized differently inside the given origin element. - Added a new
videoFit
option to BarcodePicker.create()
to set video element fit type on creation. - Added a new
BarcodePicker.setVideoFit()
function to set fit type dynamically for the video element. - Added a new
BarcodePicker.ObjectFit
enum to list the different types of object fit types available. - Deprecated
BarcodePicker.GUIStyle
numerical enumeration values in favor of string values for optional easier JavaScript usage (ex. BarcodePicker.GUIStyle.LASER
is now "laser"
instead of 1
). - Deprecated
Camera.Type
numerical enumeration values in favor of string values for optional easier JavaScript usage (ex. Camera.Type.FRONT
is now "front"
instead of 0
).
2.2.1 (2018-04-04)
- Fixed failing camera video feed recovery after unexpected camera identifier changes in Safari.
2.2.0 (2018-03-28)
- Implemented scanning speed throttling functionality to allow tradeoffs between scan performance and power usage.
- Added a new
targetScanningFPS
option to BarcodePicker.create
to set target frames per seconds to be processed/scanned. - Added a new
BarcodePicker.setTargetScanningFPS()
function to set target frames per seconds to be processed/scanned. - Improved documentation.
2.1.1 (2018-03-22)
- Updated external Scandit Engine library to version 5.7.
- Fixed incorrect domain name detection and verification in some particular local testing environments.
2.1.0 (2018-03-19)
- Implemented pinch-to-zoom camera functionality for devices supporting it (currently available only in Chrome).
- Added a new
enablePinchToZoom
option to BarcodePicker.create()
to enable/disable pinch-to-zoom (when available). - Added a new
BarcodePicker.setZoom()
function to manually set zoom level (when available). - Fixed tap-to-focus functionality failing to work on some devices.
2.0.0 (2018-03-15)
- Updated external Scandit Engine library to version 5.7-beta.1.
- Added functionalities for easier/better usage of single-instance background
BarcodePicker
s that don't acccess cameras all the time and are shared for different elements. - Added a new
pauseCamera
option to BarcodePicker.pauseScanning()
to also pause camera input, allowing to interrupt (and later resume) the current camera stream. - Added a new
BarcodePicker.reassignOriginElement()
function to re-assign the BarcodePicker
to a different HTML element. - Breaking change:
BarcodePicker.resumeScanning()
function now returns a promise resolving to the object instance instead of directly to the instance; this is due to the fact that the method might need to access the camera again. - Removed deprecated
BarcodePicker.UIStyle
enum. - Removed deprecated
BarcodePicker.UIStyle.SCANLINE
enum value. - Removed deprecated
BarcodePicker.create()
's uiStyle
option. - Updated adapter library to version 6.1.4.
1.4.7 (2018-03-05)
- Fixed
BarcodePicker
trying to access again the camera after being destroyed. - Fixed
BarcodePicker
still referencing the used camera as the active camera after being destroyed.
1.4.6 (2018-02-23)
- Greatly improved external Scandit Engine library loading times, especially on iOS devices.
- Reduced external Scandit Engine library size.
- Fixed external Scandit Engine library failing to load in Edge.
- Improved camera initialization for slower devices.
1.4.5 (2018-02-22)
- Fixed camera initialization failing in Edge.
- Fixed camera initialization failing for some combinations of browsers/devices incorrectly reporting camera failures.
- Fixed
BarcodePicker
instances not being correctly destroyed when never accessing a camera.
1.4.4 (2018-02-14)
- Updated external Scandit Engine library to version 5.6.2.
- Updated adapter library to version 6.1.1.
- Updated howler library to version 2.0.9.
- Updated tslib library to version 1.9.0.
1.4.3 (2018-02-08)
- Fixed incorrect back camera identification for some devices.
1.4.2 (2018-01-12)
- Updated external Scandit Engine library to version 5.6.
- Added documentation note about problems with iOS 11.2.2/11.2.5/11.2.6.
1.4.1 (2018-01-11)
- Switched external Scandit Engine library to allow memory growth in order to prevent random memory allocation failures.
1.4.0 (2018-01-08)
- Implemented Scandit Parser Library support to parse data string into structured data. For details refer to the new
Parser
object and the Scandit Parser Library's documentation. - Added new
BarcodePicker.createParserForFormat()
and Scanner.createParserForFormat()
functions to create and use Parser
objects. - Improved documentation.
1.3.2 (2017-12-21)
- Fixed external Scandit Engine library still already registering a device activation on initial configuration in some cases.
- Fixed bug preventing scan settings to be changed after the initial setup for
Scanner
and BarcodePicker
objects. - Improved memory usage and speed when modifying scan settings.
- Updated external Scandit Engine library to version 5.6-beta.2.
- Updated howler library to version 2.0.7.
1.3.1 (2017-12-19)
- Fixed external Scandit Engine library registering a device activation on initial configuration: now a device registered only at the time the first frame is processed. This means that unused
Scanner
objects or BarcodePicker
objects starting in a paused state or with no camera access will no longer trigger registrations.
1.3.0 (2017-12-15)
- Implemented functionality to delay camera access (and thus possible user permission requests) to after a
BarcodePicker
has been created, allowing for early external Scandit Engine library initialization. - Added a new
accessCamera
option to BarcodePicker.create()
to enable/disable camera access on BarcodePicker
creation. - Added a new
BarcodePicker.accessCamera()
function to access the camera after creation (if disabled on creation). - Updated adapter library to version 6.0.3.
- Updated eventemitter3 library to version 3.0.0.
- Updated tslib library to version 1.8.1.
1.2.2 (2017-12-05)
- Fixed possible problems during camera detection for some older browsers.
- Fixed camera initialization failing for some combinations of browsers/devices incorrectly reporting camera failures.
- Fixed camera initialization sometimes failing in Safari mobile on iOS 11.0 - 11.0.2.
- Fixed
BarcodePicker
element sometimes overflowing its given origin element by 1 pixel.
1.2.1 (2017-11-29)
- Fixed
BarcodePicker
not getting hidden when the relative option or function is provided/called. - Fixed incorrect
BarcodePicker
visibility option and function only partially hiding the containing element. - Fixed
BarcodePicker
's originElement
being left in an inconsistent state after being destroyed. - Fixed incorrect camera front/back detection on some devices set to a system language different from english.
1.2.0 (2017-11-27)
- Deprecated
BarcodePicker.UIStyle
in favor of BarcodePicker.GuiStyle
to be consistent with other existing Scandit SDKs. - Deprecated
BarcodePicker.create()
's uiStyle
option in favor of guiStyle
. - Deprecated
BarcodePicker.UIStyle.SCANLINE
in favor of BarcodePicker.GuiStyle.LASER
to be consistent with other existing Scandit SDKs. - Added a new
BarcodePicker.setGuiStyle()
function to set the GUI after creation. - Correctly detect failed camera initialization in various situations due to unforeseen hardware issues and reject promises with a
NotReadableError
error plus close the video stream when it's the case. - Fixed broken camera selection in
BarcodePicker
when one of the cameras cannot be accessed. - Improved README documentation.
- Improved
BarcodePicker
documentation.
1.1.0 (2017-11-17)
- Implemented tap-to-focus camera functionality for devices supporting it (currently available only in Chrome).
- Implemented device torch/torchlight toggle functionality and relative button for devices supporting it (currently available only in Chrome).
- Added a new
enableTapToFocus
option to BarcodePicker.create()
to enable/disable tap-to-focus (when available). - Added a new
enableTorchToggle
option to BarcodePicker.create()
to enable/disable torch toggle button (when available). - Added a new
BarcodePicker.setTorchEnabled()
function to enable/disable torch (when available). - Fixed missing camera switcher button when preselecting a camera on
BarcodePicker
creation. - Fixed incorrect domain name detection and verification in Firefox.
- Fixed buttons and touch events sometimes not being triggered on mobile devices.
- Improved
BarcodePicker
buttons and touch events responsiveness. - Updated adapter library to version 6.0.2.
- Improved README documentation.
- Improved CHANGELOG format.
- Improved documentation navigation.
1.0.8 (2017-11-15)
- Implemented automatic regularly triggered focus procedure for cameras not supporting continuous focus mode (but supporting at least manual focus); this greatly increases usability and scanning performance. Currently available only in Chrome.
- Fixed incorrect domain name detection and verification in Edge.
- Improved
BarcodePicker
documentation.
1.0.7 (2017-11-13)
- Fixed
ScanditSDK.configure()
not rejecting in case of unsupported browsers when not performing any of the preloading functions, now the promise is correctly rejected. - Fixed incorrect error thrown on
ScanditSDK.configure
calls in case of unsupported browsers, now the promise is correctly rejected with said error. - Fixed incorrect error thrown on
ScanditSDK.loadEngineLibrary
calls in case of unsupported browsers, now the promise is correctly rejected with said error. - Fixed incorrect error thrown when a code containing data in non-UTF-8 format is scanned, now the barcode result is correctly created with an empty parsed data string.
1.0.6 (2017-11-10)
- Fixed incorrect camera initialization and metadata storage in Firefox mobile.
1.0.5 (2017-11-10)
- Altered function call (same functionality) to make the library correctly parsable by Internet Explorer 11, and more graciously fail with built-in errors later.
- Added a small shadow to the camera switcher button to make it more visible on bright backgrounds.
- Improved README documentation.
- Minor CHANGELOG formatting changes.
1.0.4 (2017-11-09)
- Fixed camera feed being interrupted in Safari desktop/mobile when
BarcodePicker
element or page loses and regains visibility. - Fixed rare broken camera access in Safari when switching between cameras or setting camera options in the
BarcodePicker
. - Updated adapter library to version 6.0.0.
1.0.3 (2017-11-08)
- Fixed
BarcodePicker
video feed randomly freezing when switching between multiple cameras. - Fixed searchArea limitation not being correctly applied to all code types in
ScanSettings
.
1.0.2 (2017-11-08)
- Fixed
Barcode
object to correctly contain location information as Quadrilateral
object instead of array. - Improved
ScanSettings
documentation. - Improved README documentation.
1.0.1 (2017-11-07)
- Added missing external Scandit Engine files to the build folder.
1.0.0 (2017-11-07)