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.

Find the API documentation here!

[50.0.3] - 2023-08-30

Fixed

  • Bug preventing validationRegex to work for European License Plate Scanner

[50.0.1] - 2023-08-09

Fixed

  • [OCR] potential crashes with Universal Serial Number, Container, and other scanners

[50.0.0] - 2023-07-28

Please take note of the breaking changes listed below.

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)

Fixed

  • Fixed issues on certain devices with scanning in general

  • Odometer monitoring issue

[49.0.0] - 2023-07-06

Added

  • [ID] plugin config parameter to enable face detection

  • [MRZ] plugin config parameter to enable face detection

[48.0.1] - 2023-06-22

Fixed

  • [Odometer] Functionality being unavailable on some cases

[48.0.0] - 2023-06-22

Added

  • [Odometer] New Odometer scanner

  • [Meter] Validation regex interface

[47.0.1] - 2023-06-14

Changed

  • [Tire] Default upsideDown value set to AUTO (for Tire Identification Number, Tire Size, Tire Make, and Commercial Tire ID)

  • [Universal ID] Default minimum confidence for fields set to 60

Fixed

  • [License Plate] Bug that prevented Ireland license plates from scanning

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

  • [License Plate] Issue with brightness based auto-flash mode

  • [Barcode] Bug where barcode was not able to handle some unicode symbols

  • [Barcode] Fix crash on empty barcode results

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

  • [Universal ID] Improved lower-case field recognition

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

  • Scan feedback config problems when using animated_rect style, and other visual issues when on landscape

  • Issue with custom scripts for OCR not working when copied as a directory reference

Removed

  • [License Plate] List of European countries from result schema

Deprecated

  • Enumeration constants ALScanFeedbackStyleContourUnderline and ALScanFeedbackStyleContourPoint (they will be removed in a future release)

[46.1.0] - 2023-04-25

Added

  • [Universal ID] New template for Latin script: MZ_DVL_O_R500_F

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

Changed

  • [OCR] ALOcrConfig property model (an NSString), to models (an array of NSString)

[45.0.0] - 2023-04-21

Added

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

Fixed

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

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

Changed

  • [Universal ID] 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)

Removed

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

[44.1.0] - 2023-03-27

Changed

  • [Tire] Validation regex is now configurable from pluginConfig

[44.0.0] - 2023-03-23

Added

  • parallelFirstScan processing mode in ALViewPluginComposite

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

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

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

  • [Tire] Option to disable production date validation for TIN

Fixed

  • [ID] Improved performance for ID scanning

  • [ID] Improved accuracy scanning Turkish IDs

  • [ID] Bug where MRZ scanner would not recognize 'H' on mexican IDs

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

  • Crashes while initializing ALViewPluginComposite from ALNFCDetector

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

  • Random crash related to AVCaptureSession when initializing ALScanView

  • Issue using custom flash button images

  • 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

  • [Barcode] Results no longer only shown as base-64-encoded

  • cancelOnResult values in child plugins in composites are now ignored

Removed

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

  • [ID] layoutDefinition, drivingLicenseString & idFrontString in ID result

  • "reportingValues: (null)" console log

  • Redundant class members from public API: (showPopup from ALLicenseUtil, -[initWithDelegate:licenseUtil:error:])

[43.0.0] - 2023-02-06

Breaking Changes

Release 43 introduces fundamental changes & improvements to how the Anyline SDK works. To upgrade from an old SDK version, check out the migration guide. For an up-to-date list of known issues and limitations, please check here.

Document Scanner Support Dropped

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

Added

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

  • [Tire] Tire size specification fields to scan results

  • ALPluginConfig for describing configuration data, including a type of configuration for each scanning capability

  • ALPluginResult for describing result data, including a type of plugin result for each scanning capability

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

Changed

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

  • The SDK architecture is changed 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

  • Structure of how scanning use-cases are constructed through JSON