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!

Find the release on GitHub!


Release Date: 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 43.0.0, check out the migration guide.


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


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


  • 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