Skip to content

Releases: juliansteenbakker/mobile_scanner

v3.3.0

27 Jun 19:18
98ea411
Compare
Choose a tag to compare

Bugs fixed:

  • Fixed bug where onDetect method was being called multiple times
  • [Android] Fix Gradle 8 compatibility by adding the namespace attribute to the build.gradle.

Improvements:

  • [Android] Upgraded camera2 dependency
  • Added zoomScale value notifier in MobileScannerController for the application to know the zoom scale value set actually.
    The value is notified from the native SDK(CameraX/AVFoundation).
  • Added resetZoomScale() in MobileScannerController to reset zoom ratio with 1x.
    Both Android and iOS, if the device have ultra-wide camera, calling setZoomScale with small value causes to use ultra-wide camera and may be diffcult to detect barcodes.
    resetZoomScale() is useful to use standard camera with zoom 1x.
    setZoomScale() with the specific value can realize same effect, but added resetZoomScale for avoiding floating point errors.
    The application can know what zoom scale value is selected actually by subscribing zoomScale above after calling resetZoomScale.
  • [iOS] Call resetZoomScale while starting scan.
    Android camera is initialized with a zoom of 1x, whereas iOS is initialized with the minimum zoom value, which causes to select the ultra-wide camera unintentionally ([iOS] Impossible to focus and scan the QR code due to picking the wide back camera #554).
    Fixed this issue by calling resetZoomScale
  • [iOS] Remove zoom animation with ramp function to match Android behavior.

v3.2.0

29 Mar 21:28
6035379
Compare
Choose a tag to compare

Improvements:

  • [iOS] Updated GoogleMLKit/BarcodeScanning to 4.0.0
  • [Android] Updated com.google.mlkit:barcode-scanning from 17.0.3 to 17.1.0

Bugs fixed:

  • Fixed onDetect not working with analyzeImage when autoStart is false in MobileScannerController
  • [iOS] Explicit returned type for compactMap

v3.1.1

21 Mar 18:20
50a6d35
Compare
Choose a tag to compare

Bugs fixed:

  • [iOS] Fixed a bug that caused a crash when switching from camera.

v3.1.0

17 Mar 15:51
1cd07f7
Compare
Choose a tag to compare

Improvements:

  • [iOS] No longer automatically focus on faces.
  • [iOS] Fixed build error.
  • [Web] Waiting for js libs to load.
  • Do not returnImage if not specified.
  • Added raw data in barcode object.
  • Fixed several bugs.

v3.0.0

09 Feb 16:07
ec94f6d
Compare
Choose a tag to compare

This big release contains all improvements from the beta releases.
In addition to that, this release contains:

Improvements:

  • Fixed an issue in which the scanner would freeze if two scanner widgets where placed in a page view,
    and the paged was swiped. An example has been added in the example app.
    You need to set startDelay: true if used in a page view.
  • [Web] Automatically inject js libraries.
  • [macOS] The minimum build version is now macOS 10.14 in according to the latest Flutter version.
  • [Android] Fixed an issue in which the scanWindow would remain even after disposing the scanner.
  • Updated dependencies.

v3.0.0-beta.4

13 Dec 12:27
23f6853
Compare
Choose a tag to compare
v3.0.0-beta.4 Pre-release
Pre-release

Fixes:

  • Fixes a permission bug on Android where denying the permission would cause an infinite loop of permission requests.
  • Updates the example app to handle permission errors with the new builder parameter.
    Now it no longer throws uncaught exceptions when the permission is denied.
  • Updated several dependencies

Features:

  • Added a new errorBuilder to the MobileScanner widget that can be used to customize the error state of the preview. (Thanks @navaronbracke !)

v3.0.0-beta.3

12 Dec 21:42
b358cde
Compare
Choose a tag to compare
v3.0.0-beta.3 Pre-release
Pre-release

Special thanks to p-mazhnik, navaronbracke and WenheLI for the code improvements and new features!

Deprecated:

  • The onStart method has been renamed to onScannerStarted.
  • The onPermissionSet argument of the MobileScannerController is now deprecated.

Breaking changes:

  • MobileScannerException now uses an errorCode instead of a message.
  • MobileScannerException now contains additional details from the original error.
  • Refactored MobileScannerController.start() to throw MobileScannerExceptions
    with consistent error codes, rather than string messages.
    To handle permission errors, consider catching the result of MobileScannerController.start().
  • The autoResume attribute has been removed from the MobileScanner widget.
    The controller already automatically resumes, so it had no effect.
  • Removed MobileScannerCallback and MobileScannerArgumentsCallback typedef.
  • [Web] Replaced jsqr library with zxing-js for full barcode support.

Improvements:

  • Toggling the device torch now does nothing if the device has no torch, rather than throwing an error.
  • Removed called stop while already stopped messages.

Features:

  • You can now provide a scanWindow to the MobileScanner() widget.
  • You can now draw an overlay over the scanned barcode. See the barcode scanner window in the example app for more information.
  • Added a new placeholderBuilder function to the MobileScanner widget to customize the preview placeholder.
  • Added autoStart parameter to MobileScannerController(). If set to false, controller won't start automatically.
  • Added hasTorch function on MobileScannerController(). After starting the controller, you can check if the device has a torch.
  • [iOS] Support torchEnabled parameter from MobileScannerController() on iOS
  • [Web] Added ability to use custom barcode scanning js libraries
    by extending WebBarcodeReaderBase class and changing barCodeReader property in MobileScannerWebPlugin

Fixes:

  • Fixes the missing gradle setup for the Android project, which prevented gradle sync from working.
  • Fixes MobileScannerController.stop() throwing when already stopped.
  • Fixes MobileScannerController.toggleTorch() throwing if the device has no torch.
    Now it does nothing if the torch is not available.
  • Fixes a memory leak where the MobileScanner would keep listening to the barcode events.
  • Fixes the MobileScanner preview depending on all attributes of MediaQueryData.
    Now it only depends on its layout constraints.
  • Fixed a potential crash when the scanner is restarted due to the app being resumed.
  • [iOS] Fix crash when changing torch state

v3.0.0-beta.2

18 Nov 08:25
0c8cd6f
Compare
Choose a tag to compare
v3.0.0-beta.2 Pre-release
Pre-release

Breaking changes:

  • The arguments parameter of onDetect is removed. The data is now returned by the onStart callback
    in the MobileScanner widget.
  • onDetect now returns the object BarcodeCapture, which contains a List of barcodes and, if enabled, an image.
  • allowDuplicates is removed and replaced by MobileScannerSpeed enum.
  • onPermissionSet in MobileScanner widget is deprecated and will be removed. Use the onPermissionSet
    onPermissionSet callback in MobileScannerController instead.
  • [iOS] The minimum deployment target is now 11.0 or higher.

Features:

  • The returnImage is working for both iOS and Android. You can enable it in the MobileScannerController.
    The image will be returned in the BarcodeCapture object provided by onDetect.
  • You can now control the DetectionSpeed, as well as the timeout of the DetectionSpeed. For more
    info see the DetectionSpeed documentation. This replaces the allowDuplicates function.

Other improvements:

  • Both the [iOS] and [Android] codebases have been refactored completely.
  • [iOS] Updated POD dependencies

v3.0.0-beta.1

28 Sep 18:47
28349f6
Compare
Choose a tag to compare
v3.0.0-beta.1 Pre-release
Pre-release

Breaking changes:

  • [Android] SDK updated to SDK 33.

Features:

  • [Web] Add binaryData for raw value.
  • [iOS] Captures the last scanned barcode with Barcode.image.
  • [iOS] Add support for multiple formats on iOS with BarcodeScannerOptions.
  • Add displayValue which returns barcode value in a user-friendly format.
  • Add autoResume option to MobileScannerController which automatically resumes the camera when the application is resumed

Other changes:

  • [Android] Revert camera2 dependency to stable release
  • [iOS] Update barcode scanning library to latest version
  • Several minor code improvements

v2.1.0

18 Nov 08:59
5423963
Compare
Choose a tag to compare

Upgraded GoogleMLKit/BarcodeScanning pod on iOS from 2.6.0 to 3.2.0.
Migrated to stable version of androidx.camera for Android.

Please checkout version 3.0.0-beta.2 for the latest features.