Release Notes

This page documents notable changes for each release.

The API documentation for the current version (54.4.2) is available here.

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.4.2] - 2024-11-28

This patch release includes a fix to prevent crashes when the license expires and introduces a new field to enhance monitoring capabilities.

Fixed

  • Resolved an issue where the SDK would crash when the license expired.

Added

  • Added support for monitoring user gating information.

[54.4.0] - 2024-11-14

This minor release contains networking and UX-related improvements, as well as fixes for scanning capabilities (MRZ and Universal ID).

Changed

  • Visual Feedback and Cutout are now based on Android-native views, improving UX and UI performance when scanning.

Fixed

  • [MRZ] Prior to this release, Indonesian passports issued with a new passport design introduced in 2024 were not scanning. This is now fixed.

  • [Universal ID] Prior to this release, if the address field for IDCs was set to mandatory, addresses with 2 lines were not scanning correctly on Mexican IDCs with the layout MX_IDC_O_R272_F. This is now fixed.

  • We improved our networking implementation to increase the stability of the SDK.

[54.2.0] - 2024-10-16

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).

[54.0.1] - 2024-09-20

This patch release includes internal code refactoring to improve maintainability. Users are not required to take any action.

[54.0.0] - 2024-09-05

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.

  • [Breaking] The NfcDetector class has been removed, along with the entire io.anyline.nfc package.

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.

[53.3.0] - 2024-08-13

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

Added

  • You can now pass an optional parameter InitializationParameters to methods initializing ScanView as well as in ScanViewConfigHolder. This object lets you set a correlationId value which would be used in subsequent scans. Please note that correlation ID needs to be in the UUIDv4 format.

[53.2.0] - 2024-08-06

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

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-25

This major release fixes a visualization issue for Japanese Landing Permission slips and adds validation capability for ScanView configurations, improving cross-platform consistency. Depending on your usage, it may contain BREAKING CHANGES for your ScanViewConfigs.

Fixed

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

Changed

  • [Breaking] We’ve made changes to the package structure by moving/refactoring several classes, including:

    • io.anyline.plugin.barcode.BarcodeFormatio.anyline.plugin.config.BarcodeFormat

    • io.anyline2.view.CameraConfigio.anyline.plugin.config.CameraConfig

    • io.anyline2.view.FlashConfigio.anyline.plugin.config.FlashConfig

    • io.anyline2.view.ScanViewConfigio.anyline.plugin.config.ScanViewConfiguration

    • io.anyline2.viewplugin.CutoutConfigio.anyline.plugin.config.CutoutConfig

    • io.anyline2.viewplugin.ScanFeedbackConfigio.anyline.plugin.config.ScanFeedbackConfig

    • io.anyline2.viewplugin.ScanViewPluginConfigio.anyline.plugin.config.ViewPluginConfig

    • io.anyline2.plugin.ScanPluginConfigio.anyline.plugin.config.PluginConfig

If you find that you were using any of the above-mentioned classes and your usage of these classes breaks after updating to 53.0.0, please change the package names accordingly in your integration.

Added

  • Functionality has been added that allows validation of ScanView configurations. We highly recommend adding instrumented tests to your application to ensure that you have a valid configuration for the ScanView, even at build time. You can find an example in our GitHub examples.

[52.0.1] - 2024-06-12

This minor release fixes a bug leading to a crash in the Vehicle Registration Certificate Scanner.

Fixed

  • [Vehicle Registration Certificate] This release fixes a crash, that sometimes happens during scanning.

[52.0.0] - 2024-06-11

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

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.

[51.6.0] - 2024-05-24

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

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-04-22

This minor release improves the reliability and accuracy of the advanced barcode reader and adds customizable attributes for the UI Feedback preset for TIN scanning, as well as security enhancements to file integrity.

Changed

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

  • [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

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

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.1] - 2024-04-08

This patch release lifts a restriction on using the UI Feedback feature.

Fixed

  • Resolved an issue that prevented UI Feedback elements from being positioned correctly when binding the ScanView lifecycle to the CameraController lifecycle.

[51.4.0] - 2024-03-20

This minor release resolves an issue with terminating the scanning process and adds functionality for our cross-platform solutions.

Fixed

  • Resolved an issue that caused a crash when terminating the Anyline scanning process.

Added

  • Functionality has been added that allows Anyline’s cross-platform solutions to attach plugin-related information to the data reported. This functionality has no impact on the usage of the Mobile SDKs on native platforms.

  • New default images are available to be used with the "tin_custom_v1" UI Feedback functionality.

Changed

  • Prior to this release, the Tire Identification Number (TIN) scanner couldn’t scan TINs without a valid production date by default due to an internal validation check. We have changed the default behavior, allowing users to scan TINs without a valid production date.

    • If you want to verify the production date during scanning, activate this feature via pluginConfig→tinConfig→validateProductionDate.

[51.3.1] - 2024-02-20

This minor release allows users to scan a wider range of commercial tire IDs and improves accuracy on commercial tire ID scans.

Changed

  • Prior to this release, 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.

[51.2.4] - 2024-02-08

This patch release lifts a restriction on scanning with specialized devices and resolves an issue related to composite scanning.

Fixed

  • Prior to this release, some specialized devices (e.g. Payment Terminals) using the front camera were unable to scan with the correct orientation. This restriction has now been lifted.

  • Resolved an issue that caused an unresponsive scanning experience in very specific situations, particularly related to composite scanning. This bug was exclusive to the previous version and has been successfully addressed.

[51.2.3] - 2024-01-25

Fixed

  • Improvements to resolve possible memory leaks on Android 14 devices.

[51.2.2] - 2024-01-11

This minor release fixes a bug related to the cutout and enables the UIFeedback Config feature to be used with presets.

Added

  • Added new UIFeedback Config feature and TIN preset to be used together with the TIN/DOT plugin. For more information see UIFeedback config.

Changed

  • 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/' }

Fixed

  • Fixed a bug where the cutout was not drawn during the first use of the scanner.

[51.2.0] - 2023-11-27

This minor release allows you to scan UK driver’s licenses that have been issued post-Brexit. Additionally contained are breaking changes due to a restructuring of the package name (Android only), which you would only need to care about if you were using any of the renamed classes.

Added

  • Added new United Kingdom driver’s license (layout 11002) to the Universal ID scanner. This allows you to scan UK driver’s licenses that have been issued post-Brexit.

Changed

  • [Breaking] On Android, we’ve made changes to the package structure by moving several classes from the old io.anyline package to the new io.anyline2 package. This includes:

    • io.anyline.cameraio.anyline2.camera

      • AbstractZoomHandler

      • CameraConfig

      • CameraController

      • CameraOpenListener

      • CameraFeatures

      • CameraFeatures1

      • CameraPermissionHelper

      • CameraSize

      • CameraUtil

      • CameraView

      • FlashConfig

      • FlashControl

      • HighResolutionImageListener

      • HighResolutionImageProvider

      • ImageHolder

      • ImageListener

      • ImageReceiver

      • SimpleZoomHandler

      • SimpleZoomHandlerBuilder

      • ZoomEventHandler

    • io.anyline.modelsio.anyline2.model

      • AnylineImage

      • AnylineYuvImage

    • io.anyline.modulesio.anyline2.modules

      • LicenseExpirationHelper

    • io.anyline.utilio.anyline2.util

      • DimensUtil

      • ImageUtil

      • SoundUtil

Removed

  • The camera.CameraView.enableBarcodeDetection method has been removed. Please use camera.CameraView.addNativeBarcodeReceivedEventListener instead.

  • The camera.CameraView.disableBarcodeDetection method has been removed. Please use camera.CameraView.removeNativeBarcodeReceivedEventListener instead.

Fixed

  • Fixed a bug that prevented auto flash (Flash.MODE: AUTO) from working with the Advanced Barcode scanner.

[51.1.0] - 2023-10-10

Changed

  • [Tire] Improved support for wide space TINs

  • [Commercial Tire ID] Improved accuracy

[51.0.0] - 2023-09-20

Changed

  • [Tire] Changed tireAgeInYearsRoundedDown type from string to int

  • Improved network connection handling in low bandwidth environments

Fixed

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

[50.1.0] - 2023-09-07

Changed

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

  • Improved support for damaged CODE-128 barcodes

[50.0.3] - 2023-08-30

Fixed

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

[50.0.2] - 2023-08-08

Fixed

  • Fixed crashes on Samsung A13 and potentially other phones in Universal Serial Number, Container, and other scanners.

[50.0.0] - 2023-07-31

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

  • Improved HTTP/SSL connection handling

Removed

  • Removed old unused files

  • Removed camera 2 API

[49.0.0] - 2023-07-07

Changed

  • [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.

  • [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

  • Wrong alignment of the Cutout when ScanView did not fill the whole device screen.

Added

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

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

[48.0.0] - 2023-06-22

Added

  • [Odometer] Added new Odometer scanner

  • [Meter] Added validation regex interface

[47.1.0] - 2023-06-16

Added

  • Added overloaded method for initialising SDK with additional parameter for custom asset path

  • OCR custom assets can be added to a subdirectory inside of assets now

Fixed

  • [Barcode] Crash if no barcodes found

  • [License Plate] fix for brightness controlled auto-flash mode

Deprecated

  • The feedback styles contour_line and contour_point of scanFeedbackConfig.style have been deprecated and fall back to contour_rect

[47.0.0] - 2023-06-01

Fixed

  • Flash turns off when zooming in or out.

  • After reinitialising the ScanView with a ScanPlugin with a different id, the cutout of the old ScanPlugin would remain visible.

  • Wrong position of visual feedback in some screen resolutions.

  • Render skewed barcodes correctly.

  • [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

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

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

  • [ID] Improved lower-case field recognition

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

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

[46.1.0] - 2023-04-25

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

Fixed

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

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

Removed

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

[44.1.1] - 2023-04-07

Fixed

  • When calling ScanView.init() to apply new view configs with a running ScanViewPlugin (simple or composite), the old ScanViewPlugin kept receiving and processing images what could lead to an unexpected result.

[44.1.0] - 2023-03-28

Fixed

  • Wrong position of the CameraView and Cutout when ScanView did not fill the whole device screen.

  • 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.

Changed

  • [Tire] Validation regex is now configurable from pluginConfig

[44.0.0] - 2023-03-23

Breaking Changes

io.anyline.plugin.result.Barcode - results encoded in base64 are now automatically decoded and returned in the value() method. The isBase64() check function has been removed and a new method getBase64value() was added to return base64 encoded results.

Added

  • New composite processing mode: parallelFirstScan which works like parallel but stops after the first result.

  • [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

Fixed

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

Changed

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

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

  • [ID] Improved the performance for ID scanning

  • [ID] Improved the accuracy of Turkish IDs

Removed

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

[43.1.0] - 2023-02-20

Added

  • New event ScanView.onCutoutChanged that notifies the client when the cutout changed

  • Support for full frame scanning

  • ID results also return face image, if one is available

Fixed

  • Watermark is displayed in the corner when using composite plugins

  • Watermark is now correctly shown below the cutout when not using composite plugins

  • Feedback style animated_rect also supports center alignment for the cutout

  • Corrected wrong position of cutout for animated_rect

  • When reducing SDK size, the assets are now copied correctly to internal storage

[43.0.0] - 2023-02-03

Breaking Changes

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

Document Scanner Support Dropped

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

Added

  • Added PluginResult for describing result data

    • 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 SDK architecture from one using inheritance & generics to a composition-based approach

    • Instead of distinctive subclasses such as MeterScanViewPlugin, IDScanViewPlugin, etc. the SDK offers an ScanViewPlugin class regardless of the scanning use case

  • 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

Deprecated

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