<h1>Change Log</h1>

<h2>2.2.0 (2018-03-28)</h2>

<ul><li>Implemented scanning speed throttling functionality to allow tradeoffs between scan performance and power usage.</li><li>Added new <code>targetScanningFPS</code> option to <code>BarcodePicker.create</code> to set target frames per seconds to be processed/scanned.</li><li>Added new <code>setTargetScanningFPS</code> function to <code>BarcodePicker</code> to set target frames per seconds to be processed/scanned.</li><li>Improved documentation.</li></ul>

<h2>2.1.1 (2018-03-22)</h2>

<ul><li>Updated <em>external Scandit Engine library</em> to version 5.7.</li><li>Fixed incorrect domain name detection and verification in some particular local testing environments.</li></ul>

<h2>2.1.0 (2018-03-19)</h2>

<ul><li>Implemented pinch-to-zoom camera functionality for devices supporting it (currently available only in <em>Chrome</em>).</li><li>Added new <code>enablePinchToZoom</code> option to <code>BarcodePicker.create</code> to enable/disable pinch-to-zoom (when available).</li><li>Added new <code>setZoom</code> function to <code>BarcodePicker</code> to manually set zoom level (when available).</li><li>Fixed tap-to-focus functionality failing to work on some devices.</li></ul>

<h2>2.0.0 (2018-03-15)</h2>

<ul><li>Updated <em>external Scandit Engine library</em> to version 5.7-beta.1.</li><li>Added functionalities for easier/better usage of single-instance background pickers that don&#39;t acccess cameras all the time and are shared for different elements.</li><li>Added new <code>pauseCamera</code> option to <code>BarcodePicker.pauseScanning</code> to also pause camera input, allowing to interrupt (and later resume) the current camera stream.</li><li>Added new <code>BarcodePicker.reassignOriginElement</code> function to re-assign the <code>BarcodePicker</code> to a different HTML element.</li><li>Breaking change: <code>BarcodePicker.resumeScanning</code> function now returns a promise resolving to the <code>BarcodePicker</code> instance instead of the instance directly; this is due to the fact that the method might need to access the camera again.</li><li>Removed deprecated <code>BarcodePicker.UIStyle</code> enum.</li><li>Removed deprecated <code>BarcodePicker.UIStyle.SCANLINE</code> enum value.</li><li>Removed deprecated <code>BarcodePicker.create</code>&#39;s <code>uiStyle</code> option.</li><li>Updated <em>adapter</em> library to version 6.1.4.</li></ul>

<h2>1.4.7 (2018-03-05)</h2>

<ul><li>Fixed <code>BarcodePicker</code> trying to access again the camera after being destroyed.</li><li>Fixed <code>BarcodePicker</code> still referencing the used camera as the active camera after being destroyed.</li></ul>

<h2>1.4.6 (2018-02-23)</h2>

<ul><li>Greatly improved external Scandit Engine library loading times, especially on <em>iOS</em> devices.</li><li>Reduced external Scandit Engine library size.</li><li>Fixed external Scandit Engine library failing to load in <em>Edge</em>.</li><li>Improved camera initialization for slower devices.</li></ul>

<h2>1.4.5 (2018-02-22)</h2>

<ul><li>Fixed camera initialization failing in <em>Edge</em>.</li><li>Fixed camera initialization failing for some combinations of browsers/devices incorrectly reporting camera failures.</li><li>Fixed <code>BarcodePicker</code> instances not being correctly destroyed when never accessing a camera.</li></ul>

<h2>1.4.4 (2018-02-14)</h2>

<ul><li>Updated <em>external Scandit Engine library</em> to version 5.6.2.</li><li>Updated <em>adapter</em> library to version 6.1.1.</li><li>Updated <em>howler</em> library to version 2.0.9.</li><li>Updated <em>tslib</em> library to version 1.9.0.</li></ul>

<h2>1.4.3 (2018-02-08)</h2>

<ul><li>Fixed incorrect back camera identification for some devices.</li></ul>

<h2>1.4.2 (2018-01-12)</h2>

<ul><li>Updated <em>external Scandit Engine library</em> to version 5.6.</li><li>Added documentation note about problems with <em>iOS</em> 11.2.2/11.2.5.</li></ul>

<h2>1.4.1 (2018-01-11)</h2>

<ul><li>Switched external Scandit Engine library to allow memory growth in order to prevent random memory allocation failures.</li></ul>

<h2>1.4.0 (2018-01-08)</h2>

<ul><li>Added new Scandit Parser Library support to parse data string into structured data. For details refer to the new <code>Parser</code> object and the <a href="https://docs.scandit.com/parser/index.html">Scandit Parser Library&#39;s documentation</a>.</li><li>Added new <code>BarcodePicker.createParserForFormat</code> and <code>Scanner.createParserForFormat</code> functions to create and use <code>Parser</code> objects.</li><li>Improved documentation.</li></ul>

<h2>1.3.2 (2017-12-21)</h2>

<ul><li>Fixed external Scandit Engine library still already registering a device activation on initial configuration in some cases.</li><li>Fixed bug preventing scan settings to be changed after the initial setup for <code>Scanner</code> and <code>BarcodePicker</code> objects.</li><li>Improved memory usage and speed when modifying scan settings.</li><li>Updated <em>external Scandit Engine library</em> to version 5.6-beta.2.</li><li>Updated <em>howler</em> library to version 2.0.7.</li></ul>

<h2>1.3.1 (2017-12-19)</h2>

<ul><li>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 <code>Scanner</code> objects or <code>BarcodePicker</code> objects starting in a paused state or with no camera access will no longer trigger registrations.</li></ul>

<h2>1.3.0 (2017-12-15)</h2>

<ul><li>Implemented functionality to delay camera access (and thus possible user permission requests) to after a <code>BarcodePicker</code> has been created, allowing for early external Scandit Engine library initialization.</li><li>Added new <code>accessCamera</code> option to <code>BarcodePicker.create</code> to enable/disable camera access on picker creation.</li><li>Added new <code>BarcodePicker.accessCamera</code> function to access the camera after picker creation (if disabled on creation).</li><li>Updated <em>adapter</em> library to version 6.0.3.</li><li>Updated <em>eventemitter3</em> library to version 3.0.0.</li><li>Updated <em>tslib</em> library to version 1.8.1.</li></ul>

<h2>1.2.2 (2017-12-05)</h2>

<ul><li>Fixed possible problems during camera detection for some older browsers.</li><li>Fixed camera initialization failing for some combinations of browsers/devices incorrectly reporting camera failures.</li><li>Fixed camera initialization sometimes failing in <em>Safari</em> mobile on <em>iOS</em> 11.0 - 11.0.2.</li><li>Fixed <code>BarcodePicker</code> element sometimes overflowing its given origin element by 1 pixel.</li></ul>

<h2>1.2.1 (2017-11-29)</h2>

<ul><li>Fixed <code>BarcodePicker</code> not getting hidden when the relative option or function is provided/called.</li><li>Fixed incorrect <code>BarcodePicker</code> visibility option and function only partially hiding the containing element.</li><li>Fixed <code>BarcodePicker</code>&#39;s <code>originElement</code> being left in an inconsistent state after being destroyed.</li><li>Fixed incorrect camera front/back detection on some devices set to a system language different from english.</li></ul>

<h2>1.2.0 (2017-11-27)</h2>

<ul><li>Deprecated <code>BarcodePicker.UIStyle</code> in favor of <code>BarcodePicker.GuiStyle</code> to be consistent with other existing Scandit SDKs.</li><li>Deprecated <code>BarcodePicker.create</code>&#39;s <code>uiStyle</code> option in favor of <code>guiStyle</code>.</li><li>Deprecated <code>BarcodePicker.UIStyle.SCANLINE</code> in favor of <code>BarcodePicker.GuiStyle.LASER</code> to be consistent with other existing Scandit SDKs.</li><li>Added new <code>BarcodePicker.setGuiStyle</code> function to set the GUI of the picker after creation.</li><li>Correctly detect failed camera initialization in various situations due to unforeseen hardware issues and reject promises with a <code>NotReadableError</code> error plus close the video stream when it&#39;s the case.</li><li>Fixed broken camera selection in <code>BarcodePicker</code> when one of the cameras cannot be accessed.</li><li>Improved README documentation.</li><li>Improved <code>BarcodePicker</code> documentation.</li></ul>

<h2>1.1.0 (2017-11-17)</h2>

<ul><li>Implemented tap-to-focus camera functionality for devices supporting it (currently available only in <em>Chrome</em>).</li><li>Implemented device torch/torchlight toggle functionality and relative button for devices supporting it (currently available only in <em>Chrome</em>).</li><li>Added new <code>enableTapToFocus</code> option to <code>BarcodePicker.create</code> to enable/disable tap-to-focus (when available).</li><li>Added new <code>enableTorchToggle</code> option to <code>BarcodePicker.create</code> to enable/disable torch toggle button (when available).</li><li>Added new <code>setTorchEnabled</code> function to <code>BarcodePicker</code> to enable/disable torch (when available).</li><li>Fixed missing camera switcher button when preselecting a camera on <code>BarcodePicker</code> creation.</li><li>Fixed incorrect domain name detection and verification in <em>Firefox</em>.</li><li>Fixed buttons and touch events sometimes not being triggered on mobile devices.</li><li>Improved <code>BarcodePicker</code> buttons and touch events responsiveness.</li><li>Updated <em>adapter</em> library to version 6.0.2.</li><li>Improved README documentation.</li><li>Improved CHANGELOG format.</li><li>Improved documentation navigation.</li></ul>

<h2>1.0.8 (2017-11-15)</h2>

<ul><li>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 <em>Chrome</em>.</li><li>Fixed incorrect domain name detection and verification in <em>Edge</em>.</li><li>Improved <code>BarcodePicker</code> documentation.</li></ul>

<h2>1.0.7 (2017-11-13)</h2>

<ul><li>Fixed <code>ScanditSDK.configure</code> not rejecting in case of unsupported browsers when not performing any of the preloading functions, now the promise is correctly rejected.</li><li>Fixed incorrect error thrown on <code>ScanditSDK.configure</code> calls in case of unsupported browsers, now the promise is correctly rejected with said error.</li><li>Fixed incorrect error thrown on <code>ScanditSDK.loadEngineLibrary</code> calls in case of unsupported browsers, now the promise is correctly rejected with said error.</li><li>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.</li></ul>

<h2>1.0.6 (2017-11-10)</h2>

<ul><li>Fixed incorrect camera initialization and metadata storage in <em>Firefox mobile</em>.</li></ul>

<h2>1.0.5 (2017-11-10)</h2>

<ul><li>Altered function call (same functionality) to make the library correctly parsable by <em>Internet Explorer 11</em>, and more graciously fail with built-in errors later.</li><li>Added small shadow to camera switcher button to make it more visible on bright backgrounds.</li><li>Improved README documentation.</li><li>Minor CHANGELOG formatting changes.</li></ul>

<h2>1.0.4 (2017-11-09)</h2>

<ul><li>Fixed camera feed being interrupted in <em>Safari</em> desktop/mobile when <code>BarcodePicker</code> element or page loses and regains visibility.</li><li>Fixed rare broken camera access in <em>Safari</em> when switching between cameras or setting camera options in the <code>BarcodePicker</code>.</li><li>Updated <em>adapter</em> library to version 6.0.0.</li></ul>

<h2>1.0.3 (2017-11-08)</h2>

<ul><li>Fixed <code>BarcodePicker</code> video feed randomly freezing when switching between multiple cameras.</li><li>Fixed searchArea limitation not being correctly applied to all code types in <code>ScanSettings</code>.</li></ul>

<h2>1.0.2 (2017-11-08)</h2>

<ul><li>Fixed <code>Barcode</code> object to correctly contain location information as <code>Quadrilateral</code> object instead of array.</li><li>Improved <code>ScanSettings</code> documentation.</li><li>Improved README documentation.</li></ul>

<h2>1.0.1 (2017-11-07)</h2>

<ul><li>Added missing external Scandit Engine files to build folder.</li></ul>

<h2>1.0.0 (2017-11-07)</h2>

<ul><li>Initial release.</li></ul>
