Release Notes

This page documents notable changes for each release.

[8.0.0] - 2024-08-01

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

Build Information

  • Anyline

  • Xcode Version: 14.2

  • .NET SDK: 6.0.402

  • Microsoft.iOS: 16.2.1040

  • NuGet Version: 6.3.3

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.

    • energy_analog_digital_config.json

    • id_config_arabic.json

    • id_config_cyrillic.json

    • id_config_jlp.json

    • id_config_mrz.json

    • id_config_universal.json

    • mro_shipping_container_horizontal_config.json

    • mro_shipping_container_vertical_config.json

    • mro_usnr_config.json

    • vehicle_registration_certificate_config.json

    • workflows_config_parallel_first_scan.json

    • workflows_config_parallel_scanning.json

    • workflows_config_serial_scanning.json

Added

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

[7.0.0] - 2024-06-11

This major release delivers enhanced reliability in poor or no connection scenarios. It improves the reliability and accuracy of the advanced barcode reader and the tire scanner, 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. This release also improves the accuracy of the Tire Identification Number (DOT) scanner.

Build Information

  • Anyline

  • Xcode Version: 14.2

  • .NET SDK: 6.0.402

  • Microsoft.iOS: 16.2.1040

  • NuGet Version: 6.3.3

Changed

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

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

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

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

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

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

  • [iOS] In recent releases the beep sound (when configured) could not be heard after a successful scan. 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.

[6.1.0] - 2024-04-11

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

Build Information

  • Anyline

  • Xcode Version: 14.2

  • .NET SDK: 6.0.402

  • Microsoft.iOS: 16.2.1040

  • NuGet Version: 6.3.3


All platforms

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.

[6.0.0] - 2024-03-25

Build Information

  • Anyline

    • Android SDK: 51.3.1

    • iOS SDK: 51.3.2

  • Xcode Version: 14.2

  • .NET SDK: 6.0.402

  • Microsoft.iOS: 16.2.1040

  • NuGet Version: 6.3.3


Please take note of the breaking changes listed below, requiring some changes on your Android application.

All platforms

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

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

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

Fixed

  • Fixed a bug that prevented auto flash from working with the Advanced Barcode scanner

Android

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. If you are using some of the following classes, please re-import them from the new packages:

    • 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 where the cutout was not drawn during the first use of the scanner.

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

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

iOS

Fixed

  • Previously, errors in PluginConfig were silently overlooked, causing unintended behavior without alerting the integrator. For example, incorrect casing could lead to the selection of an unintended scan mode. In this release, any errors in PluginConfig will raise exceptions, providing integrators with clear error notifications for prompt correction.

  • Under certain circumstances a change to the device orientation might have led to a crash. This is now fixed.

  • An issue where visual scan feedback for the VINs are being shown outside the cutout area has been addressed and resolved.

  • We addressed issues with scanning for some uncommon cases. "Upside-down portrait" orientation support was fixed, as well as scanning with the device’s "front" camera.

[5.0.0] - 2023-10-11

Build Information

  • Anyline

    • Android SDK: 51.1.0

    • iOS SDK: 51.1.0

  • Xcode Version: 14.2

  • .NET SDK: 6.0.402

  • Microsoft.iOS: 16.2.1040

  • NuGet Version: 6.3.3


Please take note of the breaking changes listed below.

All platforms

Changed

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

  • [Barcode] Improved support for damaged CODE-128 barcodes

  • [Tire] Changed tireAgeInYearsRoundedDown type from string to int

  • [Tire] Improved support for wide space TINs

  • [Commercial Tire ID] Improved accuracy

  • Improved network connection handling in low bandwidth environments

Fixed

  • Fixed issues on certain devices with scanning in general

  • [License Plate] 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

  • [Meter] Odometer monitoring issue

Android

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

Fixed

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

The Android SDK is now dependent on the Square.OkHttp3 library. The dependency will be automatically added by the NuGet package.

iOS

Changed

  • ALScanPluginConfig is removed: instead directly access pluginConfig from within ALScanViewPluginConfig rather than through its scanPluginConfig

  • The plugin config properties named scanOption, found in ALUniversalIDField, ALVehicleRegistrationCertificateField, and ALJapaneseLandingPermissionConfigFieldOption are now initialized based on more-intuitive string values (i.e. "mandatory", "optional", "disabled", "default" rather than 0, 1, 2, and 3)

[4.0.0] - 2023-04-27

Build Information

  • Anyline

    • Android SDK: 46.1.0

    • iOS SDK: 46.1.0

  • Microsoft Visual Studio For Mac: 17.5.1

  • Xcode Version: 14.2

  • .NET SDK: 6.0.402

  • NuGet Version: 6.2.2


All platforms

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

Removed

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

Android

Fixed

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

  • Adjust placement of UI Feedback elements for smaller screen devices

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

iOS

Fixed

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

3.0.0 - 2023-03-30

Build Information

  • Anyline

    • Android SDK: 44.1.0

    • iOS SDK: 44.1.0

  • Microsoft Visual Studio For Mac: 17.5.1

  • Xcode Version: 14.2

  • .NET SDK: 6.0.402

  • NuGet Version: 6.2.2

Breaking Changes

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

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

  • [Tire] Validation regex is now configurable from pluginConfig

  • [ID] Improved the performance for ID scanning

  • [ID] Improved the accuracy of Turkish IDs

Fixed

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

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

  • [iOS] Empty date result on ID / MRZ scans when device settings is using 12 hour clock

  • [iOS] Random crash related to AVCaptureSession when initializing ALScanView

  • [iOS] Issue using custom flash button images

Removed

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

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

[2.0.0] - 2023-02-17

Build Information

  • Anyline

    • Android SDK: 43

    • iOS SDK: 43

  • Microsoft Visual Studio For Mac: 17.3.7

  • Xcode Version: 14.2

  • .NET SDK: 6.0.402

  • NuGet Version: 6.2.2


Breaking Changes

This release introduces fundamental changes & improvements to how the Anyline SDK works. To upgrade from a prior SDK version to version 8.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.

Android

Added

  • Added PluginResult for describing result data

    • Added a type of plugin result for each scanning capability

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

  • Support for full frame scanning

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

    • 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

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.

iOS

Added

  • Added ALPluginConfig for describing configuration data

    • Added a type of configuration for each scanning capability

  • Added ALPluginResult 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 ALMeterScanViewPlugin, ALIDScanViewPlugin, etc. the SDK offers an ALScanViewPlugin 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

Improved

  • Added ScanViewFactory class targetting the most common use cases

  • Cleaned up public interface: also, added memberwise initializers to XXXConfig classes

  • Made additional improvements to stability

Deprecated

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