Release Notes

This page documents notable changes for each release.

Removal of NFC Functionality

The Anyline Mobile SDK previously supported reading ID information from NFC chips embedded in passports and ID cards. This feature was last available in Mobile SDK version 53.3.0 and has been discontinued in subsequent versions.

For further inquiries, please contact your Anyline representative or visit Anyline Support.

[54.2.1] - 2024-10-17

This minor release improves the accuracy of the Vertical Container Scanner.

Fixed

  • [Container Scanner] This release fixes an issue where vertical container numbers starting with the characters OTPU where scanned incorrectly.

Added

  • [Universal ID] Added support for new layout: Austrian family member’s residence permit (Aufenthaltstitel).

Changed

  • iOS only: This release reduces the file size of the AnylineResources.bundle.

Dependencies

This version of Anyline Plugin for React Native includes the necessary platform-specific Mobile SDKs as part of the package. Please consult the platform-specific release notes for details.

[54.0.0] - 2024-09-06

This major release removes the NFC data extraction feature and improves the performance of supported Mexican ID Layouts.

Removed

  • Ability to extract NFC data was removed.

Changed

  • [Universal ID] Supported Mexican ID Layouts (MX_IDC_O_R272_F, MX_IDC_O_R273_F) now scan faster compared to the previous version.

Dependencies

This version of Anyline Plugin for React Native includes the necessary platform-specific Mobile SDKs as part of the package. Please consult the platform-specific release notes for details.

Removed

  • Ability to extract NFC data was removed.

[53.3.0] - 2024-08-16

This minor release adds the ability to associate related scanning workflows through a single "correlation ID".

Dependencies

This version of Anyline Plugin for React Native includes the necessary platform-specific Mobile SDKs as part of the package. Please consult the platform-specific release notes for details.

Added

  • You can now use a new method called setupPromiseWithInitializationParameters in place of setupPromise in order to pass in additional initialization parameters, including a correlationId value, which can be used to associate related scanning sessions. Please note that correlationId needs to be in the UUIDv4 format. For example:

  const result = await AnylineOCR.setupPromiseWithInitializationParameters(
    "{\"correlationId\": \"0d4e794b-272f-45f4-b8ca-07dd84975a7d\"}",
    JSON.stringify(config),
    'scan'
  );

[53.2.0] - 2024-08-08

This minor release adds new functionality to our License Plate Scanner and improves the accuracy of US License Plate Scanner.

Dependencies

This version of Anyline Plugin for React Native includes the necessary platform-specific Mobile SDKs as part of the package. Please consult the platform-specific release notes for details.

Changed

  • [License Plate] This release improves the overall accuracy of the license plate identifier and state information on US license plates.

Added

  • [License Plate] This release adds the possibility to scan the Visual Inspection Sticker (VIS/"TÜV Plakette") on german license plates.

[53.0.0] - 2024-07-31

This major release delivers compliance to the new ScanViewConfig JSON Schemas. The integrator will be notified with the issue related to fields under the configuration file. Also, the visual feedback positioning has been fixed for Japanese Landing Permission.

If you find that your use case (ScanViewConfig) does not work anymore after upgrading to 53.0.0, please compare your ScanViewConfigs with the ones provided in our Developer Examples on Github. Additionally, consider looking into our guidance on how to Construct your ScanViewConfig (on Android or iOS).

Dependencies

This version of Anyline Plugin for React Native includes the necessary platform-specific Mobile SDKs as part of the package. Please consult the platform-specific release notes for details.

Fixed

  • [Japanese Landing Permission] This release fixes an issue where scanning Japanese Landing Permission slips would show a displacement of the visual feedback.

Changed

  • [SDK] All ScanViewConfigs passed are now validated against a JSON schema. This will result in earlier detection of any problems with the config.

  • The following ScanViewConfigs have been updated to be compliant with the new ScanViewConfig JSON Schemas. If you find that you were using these as a basis for your ScanViewConfig, it is recommended that you compare your ScanViewConfig with the changes in the following files on our Developer Examples on Github.

    • OdometerConfig.js

    • SerialScanningConfig.js

    • TINDOTConfig.js

    • UniversalIdConfig.js

Added

  • Functionality has been added that allows validation of ScanView configurations. Based on Android & iOS 53.0.0

[52.0.1] - 2024-06-17

This major release delivers enhanced reliability in poor or no connection scenarios, with no breaking changes.

Dependencies

This version of Anyline Plugin for React Native includes the necessary platform-specific Mobile SDKs as part of the package. Please consult the platform-specific release notes for details.

Changed

  • [General] Technical improvement for handling network connections, such that bad internet connectivity does not impact the UI when scanning.

Fixed

  • [General] This release fixes an issue where bad internet connectivity would lead to freezes and occasional crashes when finishing a scan.

  • [Japanese Landing Permissions] This release fixes an issue where parts of previous results show up in later results.

  • [iOS] In recent releases the beep sound (when configured) could not be heard after a successful scan. This release fixes this issue.

[51.6.0] - 2024-05-27

This release improves the accuracy of the Tire Identification Number (DOT) scanner.

Dependencies

This version of Anyline Plugin for React Native includes the necessary platform-specific Mobile SDKs as part of the package. Please consult the platform-specific release notes for details.

Changed

  • [Tire] This release improves the overall accuracy of the Tire Identification Number (DOT) Scanner. This is especially targeting tire numbers with wider spaces (e.g. some Yokohama tires) between individual parts.

[51.5.0] - 2024-05-06

This minor release improves the reliability and accuracy of the advanced barcode reader, fixes a problem with continuously high CPU usage (under certain circumstances) and adds customizable attributes for the UI Feedback preset for TIN scanning, as well as security enhancements to file integrity.

Dependencies

This version of Anyline Plugin for React Native includes the necessary platform-specific Mobile SDKs as part of the package. Please consult the platform-specific release notes for details.

Changed

  • [Android] [Barcode] This release improves the reliability of scanning torn or broken barcodes with the advanced barcode reader.

  • [Android] [Barcode] Occasionally devices with less capable cameras struggled with dense barcodes. We have improved the accuracy on those cameras.

  • [Breaking] The UI Feedback preset tin_custom_v1 has been replaced by tin_with_instruction_overlay_image_text_sound_feedback, which includes additional attributes. If you are currently using the tin_custom_v1 preset, please make sure you follow its correct usage.

Fixed

  • [Android] [Barcode] Sometimes coordinates reported by the advanced barcode reader were inaccurate. The SDK now reports barcode coordinates more reliably.

  • [iOS] When stopping the scan plugin without stopping the scan view camera as well, some users continuously experienced 100% CPU usage on their devices. This release fixes this issue.

Security

  • To improve the integrity of checksums implemented internally within the SDK, usage of MD5 hash algorithms has been replaced with SHA-512. This change does not have any visible impact to customers or integrators, however represents an increase in security of the SDK overall.

[51.4.0] - 2024-04-08

This minor release adds functionality for our cross-platform solutions.

Dependencies

This version of Anyline Plugin for React Native includes the necessary platform-specific Mobile SDKs as part of the package. Please consult the platform-specific release notes for details.

Added

  • Added a new UI Feedback Config feature with the TIN preset to be used together with the TIN/DOT scan plugin. For more information, please see UI Feedback config.

Deprecated

  • Some of the previous UI elements (Android) have been deprecated and replaced by a new implementation. If you use one of the [Instruction Label, Cutout Image, or Feedback] elements please consider migrating to new UI Feedback config feature.

[51.3.1] - 2024-02-27

Dependencies

This version of Anyline Plugin for React Native includes the necessary platform-specific Mobile SDKs as part of the package. Please consult the platform-specific release notes for details.

Changed

  • The Commercial Tire ID scanner couldn’t scan some tire IDs because our default validation regex was too strict. We made the regex less strict, so now users can scan a wider range of commercial tire IDs. Users will also notice an improved accuracy on all commercial tire IDs.

  • [Android] If you use a local implementation of the Anyline Plugin for ReactNative instead of the npm dependency, to ensure uninterrupted access to the Mobile SDK for Android dependency, please update the SDK URL in your build.gradle files. Specifically, you need to replace the existing Maven repository URL:

maven { url 'https://anylinesdk.blob.core.windows.net/maven/' }

with the new URL:

maven { url 'https://mobile-sdk-android.anyline.io/release/' }

[51.1.1] - 2023-10-11

Dependencies

This version of Anyline Plugin for React Native includes the necessary platform-specific Mobile SDKs as part of the package. Please consult the platform-specific changelogs for details.

Fixed

  • Fixed bug preventing validationRegex to work for European License Plate Scanner.

  • [Meter] Fixed a bug that resulted in the MULTI_FIELD_DIGITAL_METER scan mode to return empty positions and values

Changed

  • Remap “DCT” (customerGivenNames) keyword to firstName and middleName fields in AAMVA PDF417 result

  • Improved support for damaged CODE-128 barcodes

  • [Tire] Changed tireAgeInYearsRoundedDown type from string to int

  • Improved network connection handling in low bandwidth environments

  • [Tire] Improved support for wide space TINs

  • [Commercial Tire ID] Improved accuracy

[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 54.2.1, 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.