Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[50.0.0] - 2023-08-03

Added

  • [ID] Added plugin config parameter to enable face detection

  • [MRZ] Added plugin config parameter to enable face detection

  • [Example App Android] Added RNGP (React Native Gradle Plugin) to Android project

Changed

  • [ID] Changed plugin config property scanOption in "universalIdField" to string type enum

  • [Vehicle Registration Certificate] Changed plugin config property scanOption in "vehicleRegistrationCertificateField" to string type enum

  • [Japanese Landing Permission] Changed plugin config property scanOption in "japaneseLandingPermissionConfigFieldOption" to string type enum

  • [Example App] Updated React Native version to 0.72.3

  • [Example App] Updated React version to 18.2.0

  • [Example App Android] Updated AGP version to 7.4.2

  • [Example App Android] Updated target SDK and compile SDK versions to 33

  • [Example App Android] Updated Flipper version to 0.182.0

  • [Example App Android] Switched to Expo for building the app

  • [Android] Updated AGP version to 7.4.2

  • [Android] Updated Google Material design library to 1.9.0

  • [Android] Update Android Anyline SDK version to 50.0.0

  • [iOS] Update iOS Anyline SDK version to 50.0.0

  • [Android][Breaking] The targetSdk version has been increased to API level 33 (Android 13). Please make sure that your app’s targetSdk version is at least 33.

  • [Android][Breaking] Face Detection feature for ID and MRZ is now optional. To turn on this feature, refer to the faceDetectionEnabled plugin config parameter of universalIdConfig or mrzConfig.

Fixed

  • [iOS] Fixed issues on certain devices with scanning in general

[48.0.1] - 2023-07-05

Added

  • [Odometer] Added new Odometer scanner

  • [Meter] Added validation regex interface

Changed

  • [Tire] Default upsideDown value is now AUTO (Tire Identification Number, Tire Size, Tire Make, Commercial Tire ID)

  • [Tire] Improved the scanning experience of the Tire Make scanner

  • [License Plate] Removed list of European countries from result schema

  • [Universal ID] default minimum confidence for fields is now set to 60

  • [Universal ID] Improved lower-case field recognition

  • [Universal ID] Improved scan robustness for AT and DE DVL layouts

Fixed

  • [License Plate] Fixed a bug that prevented license plates from Ireland from scanning

  • [Barcode] Fixes a bug where barcode was not able to handle some unicode symbols

  • [License Plate] Fixed a bug where an exception would be thrown when a country was scanned which was not part of the country list of result schema

  • [Barcode] Fix crash on missing barcode

  • [License Plate] Fix brightness based auto-flash mode

[46.1.0] - 2023-04-26

Added

  • [Tire] Added new Tire Make scanner supporting 49 manufacturers

  • [Universal ID] Added new templates for Latin script:

    • BE_IDC_O_10002_F

    • PL_IDC_O_05001_F

    • BW_DVL_O_01001_F_v2

    • MZ_DVL_O_R500_F

  • [Meter] Added functionality to define a maximum number of decimal digits for the AUTO_ANALOG_DIGITAL_METER scan mode

Changed

  • [Universal ID] Modified templates for Latin script:

    • DE_IDC_O_02004_F

    • BW_DVL_O_01001_F

    • DE_DVL_O_02006-02003-02002-02001_F (errors reading names in German driving licenses)

  • [Tire] Improved accuracy and smaller SDK size for Universal TIN

  • [OCR] ocrConfig now uses models instead of model and can set an array of models instead of one model specifically

Fixed

  • [Android] Composite scanning receiving more than one result for the same ScanPlugin id.

  • [iOS] Fix config issue in feedback view (non-animated_rect) where scanFeedbackConfig.strokeWidth is being ignored when set to 0

Removed

  • [Tire] Removed DOT_STRICT scan mode from Tire Identification Number (DOT) technical capability

[44.1.2] - 2023-04-11

Added

  • func setupAnylineSDK(licenseKey) async to initialise SDK - accepts the license key string and either returns '{ "success": true }' or throws an exception (e.g. for invalid license strings)

  • func licenseExpiryDate() async to get license expiry date - returns license expiry date as a 'YYYY-MM-DD' string, or null when SDK not yet initialized

Changed

  • [Android] Use Android SDK version 44.1.1

Fixed

  • [Android] Adjust placement of UI Feedback elements for smaller screen devices

  • [Android] When calling ScanView.init() to apply a new view config to a running ScanViewPlugin (simple or composite), the ScanViewPlugin may continue to receive and process image frames, leading to unexpected results.

[44.1.0] - 2023-03-29

Added

  • Add brightness, distance and format UI feedback (Android only)

  • New: parallelFirstScan processing mode in ALViewPluginComposite

  • [Barcode] Added base64value to barcode object in the barcode result

  • [Tire] Added productionDate, tireAgeInYearsRoundedDown, resultPrettified to TIN result

  • [Tire] Added option to disable production date validation for TIN

  • [ID] Added the following layouts for American ID cards

    • US-CO_DVL_0_R421_F

    • US-NV_DVL_O_R421_F

    • US-NV_IDC_O_R421_F

    • US-OK_DVL_O_R421_F

Changed

  • [Tire] Validation regex is now configurable from pluginConfig

  • Use SDK version 44.1.0 (iOS and Android)

  • Barcode results no longer only shown as base-64-encoded

  • [Barcode] The coordinates in the barcode result are now relative to the full image instead of the scanned region

  • [Tire] Improved accuracy for TIN/DOT recognition & detection

  • [ID] Improved performance for ID scanning

  • [ID] Improved accuracy scanning Turkish IDs

Fixed

  • When cancelOnResult was set to true for a plugin of type ID, the ScanViewPlugin.resultReceived could be called more than once due to FaceDetection process. (Android only)

  • cancelOnResult values in child plugins in composites are now ignored (iOS only)

  • Fixed crashes while initializing ALViewPluginComposite from ALNFCDetector (iOS only)

  • Fixed empty date result on ID / MRZ scans when device settings is using 12 hour clock

  • Fixed a random crash related to AVCaptureSession when initializing ALScanView (iOS only)

  • Fixed issue using custom flash button images (iOS only)

  • [ID] Fixed a bug where the MRZ scanner would not recognize 'H' on mexican ID’s

  • Fixed a bug where startScanDelay would not be applied correctly

Removed

  • [Barcode] Removed isBase64 from barcode object in the barcode result

  • [ID] Removed layoutDefinition, drivingLicenseString & idFrontString from ID result

[43.1.0] - 2023-02-28

Fixed

  • [Android] When initialising the SDK an error is shown in case the license is invalid, expired or the offline grace period has been reached

[43.0.0] - 2023-02-21

Build Information

  • Anyline

    • Android SDK: 43.1.0

    • iOS SDK: 40.0.0


Breaking Changes

This release introduces fundamental changes & improvements to how the Anyline SDK works. To upgrade from a prior SDK version to version 50.0.0, check out the migration guide.

Document Scanner Support Dropped

As of Anyline 43.0.0, the Document Scanner plugin has been removed and the feature will no longer be supported.

Added

  • Added a type of plugin result for each scanning capability

  • [Tire] Added tire size specification fields to the result

  • [Barcode] Added AAMVA parsing for PDF417 codes on driving licenses

  • [ID] Restructured ID results in a way that every field can contain date- & multi-language information

Changed

  • Changed the structure of how scanning use-cases are constructed through JSON

  • Introduced configuration types for every scanning use-case with a corresponding result type

  • [iOS] Made additional improvements to stability

Deprecated

  • Because of the fundamental nature of changes, there are no deprecations to list for this version.

Known Issues and Limitations

  • startScanDelay does not work at the moment.