Release Notes

This page documents notable changes for each release.

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

[51.4.0] - 2024-03-29

With is release, all of our scanning capabilities (with the exception of TIN UI Feedback & advanced Barcode scanning) are aligned with the version 51.4.0 of our iOS & Android SDK. Therefore, this release contains multiple improvements and fixes to our Tire, ID, License Plate, Meter and Barcode scanners as well as network stability fixes, as described in the following section.

Added

  • [ID]

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

  • [Meter]

    • Added the Odometer scanner.

    • Added the possibility to set validation regex for scanning meters.

Changed

  • [General]

    • Improved network connection handling in low bandwidth environments.

  • [Tire]

    • Changed tireAgeInYearsRoundedDown type from string to int.

    • Improved support for wide space TINs.

    • Improved the accuracy for Commercial Tire IDs.

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

    • Changed the default upsideDown option to AUTO for all Tire Scanners (Tire Identification Number, Tire Size, Tire Make, Commercial Tire ID).

  • [Barcode]

    • Remapped DCT (customerGivenNames) keyword to firstName and middleName fields in the AAMVA PDF417 result.

  • [ID]

    • Changed the configuration property scanOption in universalIdConfig, japaneseLandingPermissionConfig and vehicleRegistrationCertificateConfig from `int to string.

    • The default minimum confidence for fields is now set to 60 for Universal ID fields.

    • Improved lower-case field recognition for Universal ID.

    • Improved scan robustness for AT and DE Driving License layouts.

  • [License Plate]

    • Removed the list of European countries from the license plate result.

Fixed

  • [General]

    • Fixed a bug that occasionally lead to crashes on Universal Serial Number, Container and other scanners.

    • Fixed a bug that occasionally lead to crashes when using parallel scanning.

  • [Meter]

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

  • [License Plate]

    • Fixed a bug that prevented validationRegex to work for European License Plates.

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

    • Fixed a bug that prevented license plates from Ireland from scanning

  • [Barcode]

    • Fixed a bug where barcode was not able to handle certain unicode symbols

As of version 51.4.0, it is also required to add JsonSchema.Net via Nuget. For more information, please check out the Getting Started guide.

Please note that there is a known limitation using dial meter scan mode with version 51.4.0.

[46.1.0] - 2023-04-28

Added

  • [Tire] Added validationRegex to tinConfig, tireSizeConfig & commercialTireIdConfig

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

  • [Barcode] Fixed a bug where barcode was not able to handle special Unicode characters

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.0.0] - 2023-03-23

Added

  • Added new mode parallelFirstScan for composite scanning

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

  • Fixed a bug where startScanDelay would not be applied correctly

Changed

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

Removed

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

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

[43.0.0] - 2022-02-06

Breaking Changes

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

Added

  • Added Anyline.SDK.PluginConfigs for describing configuration data

    • Added a type of configuration for each scanning capability

  • Added Anyline.SDK.PluginResults.PluginResult for describing result data

    • Added a type of plugin result for each scanning capability

  • Added ScanPlugin EventHandlers for subscribing to events

    • Added ScanPlugin.ErrorReceived to receive errors during runs

    • Added ScanPlugin.VisualFeedbackReceived to receive visual feedback

    • Added ScanPlugin.ScanInfoReceived to receive intrinsic run information

    • Added ScanPlugin.ScanRunSkipped to receive info for unsuccessful runs

    • Added ScanPlugin.ResultReceived to receive scan results

    • Added ViewPluginComposite.AllResultsReceived to receive all scan results when using composite 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

Changed

  • Changed the SDK architecture from inheritance & generics to a composition approach with event-driven input-& output logic

    • Instead of distinctive subclasses like MeterScanViewPlugin, IDScanViewPlugin, etc. the SDK offers a ScanViewPlugin regardless of the type

    • Instead of listening to results through specified generics of IScanResultListener<T>, results are now pushed through the ScanPlugin.ResultReceived event regardless of the type

  • 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

  • Changed JSON framework from System.Text.Json to Newtonsoft.Json

  • Changed the way the Camera provides new frames to the scanner

Deprecated

  • Because of the fundamental nature of changes, there is no deprecation in this version

Removed

  • Removed most prior components in the Anyline.SDK.Plugins and Anyline.SDK.ViewPlugins namespace due to the architectural changes

    • Removed the Anyline.SDK.Plugins.Barcode namespace and all its classes

    • Removed the Anyline.SDK.Plugins.Composite namespace and all its classes

    • Removed the Anyline.SDK.Plugins.ID namespace and all its classes

    • Removed the Anyline.SDK.Plugins.LicensePlate namespace and all its classes

    • Removed the Anyline.SDK.Plugins.Meter namespace and all its classes

    • Removed the Anyline.SDK.Plugins.OCR namespace and all its classes

    • Removed the Anyline.SDK.Plugins.Tire namespace and all its classes

    • Removed the Anyline.SDK.Core.Exceptions namespace and all its classes

  • Removed the previous ImageProvider

  • Removed the previous ScanController