Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog. This project adheres to Semantic Versioning with the following exceptions:
- on breaking change, even if API is not changed the major version is increased.
- when dependency increase major then we increase major too
- when dependency increase minor then we increase minor, or major when we make major API change
[v28.2.0] - 2026-05-28
Fixed
Added
- [BSDK-606] - New iris detector modes IrisDetector::Config::Type::ACCURATE (previously default) and IrisDetector::Config::Type::FAST.
- [BSDK-606] - New iris extraction mode IrisExtractorConfig::Type::FAST.
- [BSDK-606] - Manual SDK initialization with explicit OpenCV and ONNX Runtime thread configuration. Set INNO_ENROLLMENT_SDK_MANUAL_INITIALIZATION=1 before loading the library, then call inno::Initialize(InitializerConfig) to fine-control license, models path, and threading before library starts up.
- [BSDK-606] - inno::DefaultModelsDirectory() returning the default IFace models path (iface/models next to the loaded library) for manual initialization. For more information see the Initialization section in the documentation.
- [BSDK-601] - Added HardwareIdMethod::ARM_ANDROID_MAC_ADDR enum value to support generating a MAC-address-based licensing ID via the HardwareID() function (ARM Linux and Android including x86/x86_64 simulators only).
Changed
- Java samples are now maven project
Dependencies
- iface v6.27.0 (balanced 53.1, fast 52.1, accurate 54.1, iris-accurate 10.1, iris-fast 8.1)
- iseglib v4.3.3
- iengine v3.16.3 (ics 2.3)
- ifinger v1.44.0 (embedding 1735835209.1)
[v28.1.0] - 2026-05-11
Fixed
- Fixed documentation errors and typos
Changed
- Onnxruntime is updated from 1.13.1 to 1.18.1 version (BSDK-256)
- OFIQ v1.1.2 is used via IFace to have one implementation with known thresholds (BSDK-513)
Dependencies
- iface v6.27.0 (balanced 53.1, fast 52.1, accurate 54.1, iris 10.1)
- iseglib v4.3.3
- iengine v3.16.3 (ics 2.3)
- ifinger v1.44.0 (embedding 1735835209.1)
[v28.0.0] - 2026-03-26
Breaking Change
- Enum value TiffImageEncoder::Compression::JBIG has been removed due to a licensing issue. TIFF images with jbig compression are no longer supported. (BSDK-482)
Changed
- Solver references now use full type names for improved clarity.
- Restricted eigen to MPL-2.0-only modules to avoid LGPL-3.0 obligations (BSDK-482)
Dependencies
- iface v6.24.0 (balanced 53.1, fast 52.1, accurate 54.1, iris 10.1)
- iseglib v4.3.2
- iengine v3.16.3 (ics 2.3)
- ifinger v1.44.0 (embedding 1735835209.1)
[v27.5.0] - 2026-03-06
Fixed
- Added missing JavaDoc for SWIG-generated Java container classes (std::vector wrappers).
- If a Java object is used after it has been closed, the JVM will not crash. Instead, a NullPointerException or RuntimeException will be thrown.
- Added third party licenses into package (BSDK-481)
Added
- Integrated Face Image Quality assessment using OFIQ open source library (BSDK-425)
Changed
Dependencies
- iface v6.24.0 (balanced 53.1, fast 52.1, accurate 54.1, iris 10.1)
- iseglib v4.3.2
- iengine v3.16.3 (ics 2.3)
- ifinger v1.44.0 (embedding 1735835209.1)
[v27.4.1] - 2026-01-26
Changed
- Documentation layout is improved
- Automatically upload Enrollment SDK to the Customer Portal on release (BSDK-18)
Dependencies
- iface v6.22.2 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.2
- iengine v3.16.3 (ics 2.3)
- ifinger v1.44.0 (embedding 1735835209.1)
[v27.4.0] - 2025-12-15
Fixed
Changed
Dependencies
- iface v6.22.2 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.2
- iengine v3.16.3 (ics 2.3)
- ifinger v1.44.0 (embedding 1735835209.1)
[v27.3.0] - 2025-11-25
Added
Fixed
Changed
- Swig is updated to version 4.4.0.
- A single dependency tree is managed by Conan. ISeglib is included as a dependency due to an extension introduced in IEngine 3.16.3.
Dependencies
- iface v6.18.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.2
- iengine v3.16.3 (ics 2.3)
- ifinger v1.44.0 (embedding 1735835209.1)
[v27.2.1] - 2025-09-30
Changed
- The Java Bytes class constructor (for byte[]) and its getter are now faster, as data is copied between Java and native memory in a single operation.
- Documentation layout is improved
- Android sample is updated (BSDK-280)
- target API level 36
- use gradle 8.14.3
- split APK according to architectures
Dependencies
- iface v6.18.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.10.2 (ics 2.3)
- ifinger v1.44.0 (embedding 1735835209.1)
[v27.2.0] - 2025-08-12
Changed
- All android libraries now use 16 kB page sizes, as mandated by Google for architectures x86_64 and arm64-v8a (BSDK-220)
Dependencies
- iface v6.18.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.10.2 (ics 2.3)
- ifinger v1.44.0 (embedding 1735835209.1)
[v27.1.0] - 2025-07-29
Added
Changed
- Android libraries except IFace now use 16 kB page sizes, as mandated by Google for architectures x86_64 and arm64-v8a. The Android NDK has been upgraded to version r28b, which produces binaries with a 16 kB page size by default.
- The matching algorithm for ICS Identification was changed from the previously used fastest algorithm (now obsolete) to the default one
Dependencies
- iface v6.14.1 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.10.2 (ics 2.3)
- ifinger v1.44.0 (embedding 1735835209.1)
[v27.0.1] - 2025-06-11
Fixed
- Identification now correctly accepts a maximum candidate count that is bigger than the gallery size without throwing an exception (BSDK-176)
Dependencies
- iface v6.14.1 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.7.0 (ics 2.3)
- ifinger v1.35.1 (embedding 1735835209.1)
[v27.0.0] - 2025-05-16
Breaking Change
- The passive liveness type Face::PassiveLivenessType::COMBINED has been replaced by a single model offering better accuracy and similar performance (BSDK-93)
Removed
- Class SelfieCombinedPassiveLivenessDetector, as it is no longer required for accurate passive liveness calculation (BSDK-93)
- Enum Face::PassiveLivenessType, replaced by Face::PassiveLivenessMode (BSDK-93)
Fixed
- Exceptions thrown by functions returning enums are now correctly propagated to Java without causing a segmentation fault
Dependencies
- iface v6.14.1 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.7.0 (ics 2.3)
- ifinger v1.35.1 (embedding 1735835209.1)
[v26.4.0] - 2025-05-16
Fixed
- Transparency is now correctly preserved during image decoding (BSDK-69)
Added
Dependencies
- iface v6.12.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.7.0 (ics 2.3)
- ifinger v1.35.1 (embedding 1735835209.1)
[v26.3.1] - 2025-05-12
Fixed
- Fixed a crash in the PRO and PRINT variants on Windows machines with CPUs supporting the VNNI instruction set.
Changed
- Binary size reduced by omitting unused NN models
Dependencies
- iface v6.12.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.7.0 (ics 2.3)
- ifinger v1.35.1 (embedding 1735835209.1)
[v26.3.0] - 2025-05-02
Added
Changed
- String representation of enrollment exceptions now includes the full location of the function, file, and line where the error occurred (BSDK-12)
- IFace version is upgraded to 6.12.0 to provide age/gender accuracy modes (BSDK-84)
- SDK provides same universal passive liveness scores as DIS 1.46.1.
Dependencies
- iface v6.12.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.1.0 (ics 2.3)
- ifinger v1.22.1 (embedding 1678264171.1)
[v26.2.1] - 2025-03-21
Fixed
- Fixed an issue where an exception was thrown when the probe used for identification was missing a face, iris, or print embedding. Now, instead of throwing an exception, identification returns an empty candidate list for missing modalities. (BSDK-81)
Dependencies
- iface v6.9.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.1.0 (ics 2.3)
- ifinger v1.22.1 (embedding 1678264171.1)
[v26.2.0] - 2025-03-20
Fixed
- Minor documentation and changelog fixes
- An exception is thrown in the ModalitiesTemplate constructor, in case of an incorrect input data format (BSDK-70)
- An exception is thrown in the ICSTemplate constructor, in case of an incorrect input data format (BSDK-70)
- An exception is thrown in the ModalitiesICSTemplate constructor, in case of an incorrect input data format (BSDK-70)
Added
Dependencies
- iface v6.9.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.1.0 (ics 2.3)
- ifinger v1.22.1 (embedding 1678264171.1)
[v26.1.0] - 2025-03-10
Added
Dependencies
- iface v6.9.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.1.0 (ics 2.3)
- ifinger v1.22.1 (embedding 1678264171.1)
[v26.0.0] - 2025-03-06
Breaking Change
Split Face Detection and Cropping (BSDK-62)
Previously, cropping was always performed when a Face object was created. This was unnecessary for use cases where only the given face capture needed to be examined (e.g., when only attributes should be checked). Additionally, it was unclear whether attribute values belonged to the cropped image or the original capture where the face was detected. To address these issues, we have modified the API to separate face detection from cropping.
Changes to Face Detection:
Changes to Face Cropping:
- Fixed Cropping Issues (BSDK-11)
Fixed
- Fixed missing C# documentation for several language elements (BSDK-56)
- Fixed missing ACCURATE_SERVER detector in the PRO variant
- Fixed incorrect cropping behavior for the TOKEN, FULL, and TOKEN_NOT_FRONTAL FaceCrop methods (BSDK-11)
Added
Removed
- Removed the FaceSegment class (BSDK-62)
- Removed the CropableFace interface (BSDK-62)
- Removed the Face::image member variable (BSDK-62)
- Removed the Face::captureImage member variable (BSDK-62)
- Removed the Face::faceAttributes member variable (BSDK-62)
- Removed the functions FaceCropConfiguration::SetAligned, FaceCropConfiguration::GetAligned, FaceDetector::Config::SetAligned, FaceDetector::Config::GetAligned (BSDK-11)
- Removed the functions FaceDetector::Config::SetCropBackground, FaceDetector::Config::GetCropBackground, FaceDetector::Config::SetCropMethod, FaceDetector::Config::GetCropMethod FaceDetector::Config::SetCropScale, FaceDetector::Config::GetCropScale, FaceDetector::Config::GetCrop (BSDK-62)
Dependencies
- iface v6.9.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.1.0 (ics 2.3)
- ifinger v1.22.1 (embedding 1678264171.1)
[v25.0.0] - 2025-02-12
Breaking Change
Fixed
- Improved performance when adding a large number of references to the gallery in C#. The slowdown was due to SWIG director overhead (ABIS-10819)
- The ModalitiesGallery.Consolidate function no longer uses data from ModalitiesGallery that might change between identification and consolidation in Java, C#, Ruby, and Python (ABIS-10819)
Added
Removed
- Removed the ModalitiesGalleryIndexedReference class (ABIS-10819)
Dependencies
- iface v6.9.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.1.0 (ics 2.3)
- ifinger v1.22.1 (embedding 1678264171.1)
[v24.2.0] - 2025-02-05
Added
- Added Dongle licensing support (ABIS-10618)
Changed
- ISeglib is updated to version 4.3.0 to support dongle license (ABIS-10618)
- IFace version is upgraded to 6.9.0 to support dongle license (ABIS-10618)
- SDK provides same combined (via SelfieCombinedPassiveLivenessDetector) and universal passive liveness scores as DIS 1.46.1.
Dependencies
- iface v6.9.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.3.0
- iengine v3.1.0 (ics 2.3)
- ifinger v1.22.1 (embedding 1678264171.1)
[v24.1.0] - 2025-01-22
Fixed
- Fixed memory leak in face segmentation (ABIS-7062)
- Minor documentation fixes such as trim left source code in examples
- Thread sanitizer observations fixed by upgrading BS::thread_pool to version 5.0.0
Added
- Documentation of C# and java garbage collector tuning for enrollment-sdk (ABIS-7062)
- Java classes now implement AutoClosable
Changed
- IFace version is upgraded to 6.8.0 (ABIS-7062)
- SDK provides same combined (via SelfieCombinedPassiveLivenessDetector) and universal passive liveness scores as DIS 1.46.1.
Dependencies
- iface v6.8.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.2.1
- iengine v3.1.0 (ics 2.3)
- ifinger v1.22.1 (embedding 1678264171.1)
[v24.0.0] - 2024-12-12
Changed
- Compacting iris templates by position to samples in iris gallery to improve Identify performance (ABIS-10329)
- NFIQ2 version is upgraded to v2.3.0 (ABIS-10030)
Dependencies
- iface v6.5.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.2.0
- iengine v3.1.0 (ics 2.3)
- ifinger v1.22.1 (embedding 1678264171.1)
[v23.0.1] - 2024-11-26
Changed
- Face and iris identification now respects the thread settings specified in ModalitiesGalleryConfig (ABIS-10033, ABIS-10031, ABIS-10049)
Dependencies
- iface v6.5.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171.1)
[v23.0.0] - 2024-11-18
Added
- Face and iris templates protection (ABIS-10051)
Breaking Change
- Removed face accurate server extractor (ABIS-10075)
- Removed face accurate-server detector from enrollment-sdk standard variant (ABIS-10077)
- The format of FaceTemplate and IrisTemplate has changed. Templates from previous versions of the enrollment SDK are not compatible with this version. Additionally, FaceTemplate and IrisTemplate provided by this SDK will not work with older versions. (ABIS-10051)
Changed
Dependencies
- iface v6.5.0 (balanced 48.1, fast 47.1, accurate 49.1, iris 10.1)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171.1)
[v22.0.2] - 2024-11-08
Changed
- Fully automated release process of Enrollment SDK (ABIS-9123, ABIS-9125, ABIS-9127)
Dependencies
- iface v6.5.0 (balanced 48, fast 47, accurate 49, accurate-server 44, iris 10)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171.1)
[v22.0.1] - 2024-10-30
Fixed
- Added support for processors without AVX2/SSE4.1 instruction set (ABIS-9948)
Dependencies
- iface v6.5.0 (balanced 48, fast 47, accurate 49, accurate-server 44, iris 10)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171.1)
[v22.0.0] - 2024-10-29
Breaking Change
- Removed function Face::ToIsoRawImage that produces non-compliant ISO 19794-5 2011 face ISO image with raw image data (ABIS-9829)
Fixed
- Removed magic numbers in Face, FaceCapture, Iris, IrisCapture, Print that was used to create ISO images (ABIS-9698)
- Fixed encode/decode of ISO Images. The encoded ISO images pass BioCTS for ISO/IEC.
- Print ISO image encode/decode (ABIS-9829)
- Iris ISO image encode/decode (ABIS-9829)
- Face ISO image decode (ABIS-9829)
- Python Logger error when it is not set twice (ABIS-9574)
Added
Dependencies
- iface v6.5.0 (balanced 48, fast 47, accurate 49, accurate-server 44, iris 10)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171.1)
[v21.0.1] - 2024-10-22
Added
- C# documentation (ABIS-9777)
Changed
- Swig is updated to version 4.3.0 (ABIS-9777)
Dependencies
- iface v6.5.0 (balanced 48, fast 47, accurate 49, accurate-server 44, iris 10)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171.1)
[v21.0.0] - 2024-10-21
Breaking Change
- Removed function Face::Roll, Face::Yaw, Face::Pitch because they are not supported by IFace anymore. (ABIS-8017)
- Removed ModalitiesICSMatcher and ModalitiesICSVerifyMatcher because verification of multi modal ModalitiesICSTemplate is not supported due to template format change in IFace. (ABIS-8017)
- Removed function ModalitiesICSTemplate::SimilarWith because multi modality verification of ICS templates is not supported due to template format change in IFace. (ABIS-8017)
Fixed
- Concurrent detection and extraction of faces and irises (ABIS-8017)
Changed
- IFace version is upgraded to 6.5.0 (ABIS-8017)
- SDK provides same combined (via SelfieCombinedPassiveLivenessDetector) and universal passive liveness scores as DIS 1.42.2.
Added
Dependencies
- iface v6.5.0 (balanced 48, fast 47, accurate 49, accurate-server 44, iris 10)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171.1)
[v20.0.1] - 2024-10-16
Fixed
- Wrong values in Quality blocks and Landmark Point blocks. They are removed from ISO 19794-5 facial images produced by Face::ToIsoRawImage and Face::ToIsoImage (ABIS-9502)
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171.1)
[v20.0.0] - 2024-10-15
Breaking Change
Changed
- It is possible to add only embedding templates to ModalitiesGallery (without ICS) (ABIS-9273)
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171.1)
[v19.1.2] - 2024-10-03
Fixed
- Wrong calculation of iris and face embeddings distance that can result to lower identification accuracy.
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171.1)
[v19.1.1] - 2024-10-01
Fixed
- Embeddings comparison count is calculated only for same positions in partition. (ABIS-9461)
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171.1)
[v19.1.0] - 2024-09-27
Added
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171.1)
[v19.0.0] - 2024-09-20
Added
- variant PRINT that has only print features (ABIS-9268)
- license feature multithreaded-galleries (ABIS-9270)
- print embedding protection (ABIS-9269)
Breaking Change
- The format of the EmbeddingTemplate has changed. Templates from previous versions of the enrollment SDK are not compatible with this version. Additionally, the EmbeddingTemplate provided by this SDK will not work with older versions. (ABIS-9269)
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171.1)
[v18.0.2] - 2024-09-17
Added
- Added license to the documentation (ABIS-8746)
- Added list of third-party dependencies to the documentation and to the package (ABIS-8746)
Changed
Fixed
- The lifespan of SDK interface implementation BinaryFileAccess/Logger/BytesWriterStrategy/ImageEncoder instantiated in Python is kept while it is in use by SDK. (ABIS-9074) Till now the user has to maintain lifespan of objects while they are used in SDK.
- Fixed cropped Rectangle/AlignedRectangle/Circle when input image has different number of channels as cropped one (ABIS-9220)
- Fixed template conversion in samples
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.5
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171)
[v18.0.1] - 2024-09-04
Fixed
- Python documentation is fixed
- Run of C# sample on Windows x86 (ABIS-9075)
Changed
- IEngine version is upgraded to 2.96.2
- IFinger version is upgraded to 1.16.0
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.4
- iengine v2.96.2 (ics 2.3)
- ifinger v1.16.0 (embedding 1678264171)
[v18.0.0] - 2024-09-03
Fixed
- The lifespan of SDK interface implementation BinaryFileAccess/Logger/BytesWriterStrategy/ImageEncoder instantiated in Java/C# is kept while it is in use by SDK. Till now the user has to maintain lifespan of objects while they are used in SDK.
Added
- Python wrapper contains HTML documentation (ABIS-9001)
- Detailed exceptions (ABIS-8358)
Breaking Change
- Exception types are changed (ABIS-8358)
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.4
- iengine v2.95.3 (ics 2.3)
- ifinger v1.12.2 (embedding 1678264171)
[v17.6.2] - 2024-08-20
Added
- Python wrapper contains HTML documentation (ABIS-9001)
Fixed
- Identification results no longer contain face or iris modality templates when these modalities are absent in the gallery or probe (ABIS-8890)
- Print verification score range is in correct range <0,1000>. The wrong score was provided from version v17.5.1 to v17.6.1 (ABIS-8910)
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.4
- iengine v2.95.3 (ics 2.3)
- ifinger v1.12.2 (embedding 1678264171)
[v17.6.1] - 2024-08-14
Added
- FPIR at zero FNIR characteristic in the accuracy test report (ABIS-8370)
Changed
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.4
- iengine v2.95.3 (ics 2.3)
- ifinger v1.12.2 (embedding 1678264171)
[v17.6.0] - 2024-08-12
Added
- Added cross-referenced solver list to each respective feature / function in the documentation (ABIS-8366)
- Minimal background ratio parameter for background uniformity calculation (ABIS-8361)
- NewWsqImageEncoder's methods SetBitrate and GetBitrate for adjusting quality and size of output WSQ images (ABIS-8448)
- New root page in HTML documentation hiding excessive content of html/ folder (ABIS-8366)
- New C# constructor Bytes(byte[]) for faster memory copy (ABIS-8438)
Changed
- ResizeImage function now uses bicubic interpolation strategy instead of the exact bilinear interpolation and the pixel area relation strategies.
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.4
- iengine v2.95.3 (ics 2.3)
- ifinger v1.12.2 (embedding 1678264171)
[v17.5.1] - 2024-08-01
Fixed
- angles table for face detectors in documentation
Added
- Templates conversion from ICS and to/from ISO/ANSI/ILO SID/ISO CC/ISO v30/ISO NC templates (ABIS-8354)
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.4
- iengine v2.95.3 (ics 2.3)
- ifinger v1.12.2 (embedding 1678264171)
[v17.4.2] - 2024-07-01
Added
- Class ModalitiesGalleryIndexedTemplate to simplify use cases that prefer usage of indexes instead of object references.
- Identification accuracy test (ABIS-7281)
- Added identification accuracy test (ABIS-7356)
- Identification accuracy report provided with each version in the release notes (ABIS-7357)
- Table of sdk versions and corresponding extracted template versions into documentation (ABIS-7360)
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.4
- iengine v2.89.0 (ics 2.3)
- ifinger v1.12.2 (embedding 1678264171)
[v17.4.1] - 2024-06-24
Added
- Identification accuracy test (ABIS-7281)
- Added extractor application to extract templates for accuracy tests (ABIS-7354, ABIS-7353)
- IFace version is upgraded to 5.16.0 (ABIS-7596)
- SDK provides same combined/universal passive liveness scores as DIS 1.37.1 via SelfieCombinedPassiveLivenessDetector.
Fixed
- IFace version 5.16.0 recognize default hardware id on Windows (Hashed HDD ID) and allows licensed functionality (ABIS-7596)
Dependencies
- iface v5.16.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.4
- iengine v2.89.0 (ics 2.3)
- ifinger v1.12.2 (embedding 1678264171)
[v17.4.0] - 2024-06-12
Warning
- When client generates default hardware id on Windows (Hashed HDD ID) then licensed face functionality fails because iface do not recognize new hardware id.
Added
Fixed
- Fix crash of NFIQ2 quality calculation on Windows for images where NFIQ2 minutia extractor found less then 6 minutiae (ABIS-7697)
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.4
- iengine v2.89.0 (ics 2.3)
- ifinger v1.12.2 (embedding 1678264171)
[v17.3.1] - 2024-06-06
Warning
- When client generates default hardware id on Windows (Hashed HDD ID) then licensed face functionality fails because iface do not recognize new hardware id.
Changed
- Optimized memory utilization during wsq image manipulation (ABIS-6549)
- Single multi-architecture package for Android in Standard and PRO variant (ABIS-6997)
- ILicense is upgraded to 3.2.24 to use Hashed HDD ID as default license hardware ID HardwareId() on windows (ABIS-7609)
Fixed
- Fix missing Writer class documentation
- Fix missing text in diagrams in pdf documentation on windows due to missing helvetica font in windows docker
- Missing documentation for Minutia::quality (ABIS-7890)
- Identification in ModalitiesGallery of ICS templates works also without print templates. It is possible to identify also probes with only face/iris templates. (ADEL-6505)
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.3
- iengine v2.89.0 (ics 2.3)
- ifinger v1.12.2 (embedding 1678264171)
[v17.3.0] - 2024-05-15
Changed
- ILicense is upgraded to 3.2.23 to mitigate probability of calculation of same HWID for different HDD on Windows (ABIS-7216)
- ISeglib is upgraded to 4.1.2 to mitigate probability of calculation of same HWID for different HDD on Windows (ABIS-7216)
- More descriptive exception is thrown when NFIQ2 is calculated for image with different DPI as 500 (ABIS-7543)
Added
- ChangeDpiTo function into classes Image, PrintCapture, Print (ABIS-7543)
- Content check during creation of Android packages (ABIS-6997)
Fixed
- Clang tidy (18.1.4) observations (ABIS-7439)
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.2
- iengine v2.89.0 (ics 2.3)
- ifinger v1.12.2 (embedding 1678264171)
[v17.2.2] - 2024-05-03
Changed
- Undefined behavior is analyzed (ABIS-6484)
- Clang upgraded to 18.1.4 to enable UB sanitizer suppression, for external libraries
- iseglib is updated to version 4.0.2 with support for Clang 18.1.4
Fixed
- Thread sanitizer observations
- Abseil updated to 20240116.2 for Linux and Android, not possible to compile with MSVC 2019 (ABIS-7305)
- Logging in cpp sample
- Logging in service tests (ABIS-7304)
- Fixed segmenting of images with other resolution than 500 DPI (ABIS-7420)
- Updated iseglib to 4.1.1 supporting arbitrary dimensions of output cropped segments
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.1.1
- iengine v2.89.0 (ics 2.3)
- ifinger v1.12.2 (embedding 1678264171)
[v17.2.1] - 2024-04-20
Added
- Clang thread sanitizer check (ABIS-7251)
Changed
- Added rolled print image into the extraction sample to better visualize fingerprint critical points (ABIS-7049)
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.0.0
- iengine v2.89.0 (ics 2.3)
- ifinger v1.12.2 (embedding 1678264171)
[v17.2.0] - 2024-04-11
Fixed
- Iris iso image quality, Image type, Image format, Representation count (ABIS-7116)
- Create IrisCapture from iso image with raw data (ABIS-7116)
Added
- It is possible to get facial keypoints using Face::GetKeypoints functions (ABIS-7093)
- Individual keypoints are provided by Face::Keypoints class via functions:
- RightEyeOuterCorner, RightEyeCentre, RightEyeInnerCorner, LeftEyeInnerCorner, LeftEyeCentre, LeftEyeOuterCorner, NoseRoot, NoseRightBottom, NoseTip, NoseLeftBottom, NoseBottom, MouthRightCorner, MouthCenter, MouthLeftCorner, MouthUpperEdge, MouthLowerEdge, RightEyebrowOuterEnd, RightEyebrowInnerEnd, LeftEyebrowInnerEnd, LeftEyebrowOuterEnd, RightEdge, ChinTip, LeftEdge
- Set iris image type in IrisAttributes (ABIS-7116)
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.0.0
- iengine v2.88.4 (ics 2.3)
- ifinger v1.7.4 (embedding 1678264171)
[v17.1.1] - 2024-04-10
Fixed
- Raw images are same from local and server implementation (ABIS-7100)
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.0.0
- iengine v2.88.4 (ics 2.3)
- ifinger v1.7.4 (embedding 1678264171)
[v17.1.0] - 2024-04-04
Added
- It is possible to set DPI in Image::Decode function (ABIS-7140)
- Pro variant of Enrollment SDK for Android
Changed
- iseglib is updated to version 4.0.0
- segmentation input supports bigger images than 4000x4000, proportionally to higher DPI than 500 (ABIS-7141)
- segmentation output is preserving original resolution (ABIS-7069)
Fixed
- The rounding boxes have correct dimensions for images with DPI different as 500 when algorithmic segmentation is used (ABIS-7069)
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v4.0.0
- iengine v2.88.4 (ics 2.3)
- ifinger v1.7.4 (embedding 1678264171)
[v17.0.1] - 2024-03-26
Fixed
- Uninitialized memory issues found by clang memory sanitizer
- libjpeg-turbo is updated to version 2.1.5 (ABIS-6483)
- iseglib is updated to version 3.2.16 to fix NN segmentation (ABIS-6482)
- ilicense is updated to version 3.2.22 to fix hwid calculation (ABIS-6482)
- iengine is updated to version 2.88.4 to fix placement quality calculation (ABIS-6482)
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.16
- iengine v2.88.4 (ics 2.3)
- ifinger v1.7.4 (embedding 1678264171)
[v17.0.0] - 2024-03-15
Added
- Identification based on ICSTemplate only, no EmbeddingTemplate is needed (ABIS-6910)
- New masking interface provided by ImageMask. (ABIS-6619)
- It is possible to mask image by circle or polygon.
- It is possible to blur image by circle or polygon.
- For detail see documentation in Image topic.
Breaking Change
Changed
- Swig is updated to version 4.2.1
Fixed
- Transition blurring of cropped and masked iris image is compliant with ISO 19794-6 2011. (ABIS-6619)
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.13
- iengine v2.84.4 (ics 2.3)
- ifinger v1.7.4 (embedding 1678264171)
[v16.0.0] - 2024-03-01
Warning
- The blurring of masked and cropped Iris image is not according to standard ISO 19794-6.
Added
Breaking Change
- To separate enrollment phase from operation phase the names of classes have been changed
Changed
- OpenCV exceptions are propagated to client to get better info in case of error (ABIS-6552)
- License exception are more detailed
Fixed
- The compiler optimizations for speed are turned on in Release configuration
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.13
- iengine v2.84.4 (ics 2.3)
- ifinger v1.7.4 (embedding 1678264171)
[v15.0.0] - 2024-02-01
Added
Changed
- The member variables in rectangle class are changed to functions (ABIS-5534)
- Dimension class is renamed to ImageDimension (ABIS-5534)
- Image::CropAlignedRectangle behavior is changed to always align top-left vertex to [0,0] coordinate in new image (ABIS-5534)
- Swig is updated to version 4.2.0 (ABIS-6487)
Fixed
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.13
- iengine v2.84.4 (ics 2.3)
- ifinger v1.7.4 (embedding 1678264171)
[v14.1.0] - 2024-01-18
Added
- IFinger library (ABIS-5860)
- Embedding extraction of Print (ABIS-5861)
- clang sanitizer checks
- windows docker for build
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.13
- iengine v2.84.4 (ics 2.3)
- ifinger v1.7.4 (embedding 1678264171)
[v14.0.0] - 2023-12-06
Added
- Universal passive liveness calculation (ABIS-5991)
Changed
- IFace version is upgraded to 5.12.0 (ABIS-5991)
- SDK provides same combined/universal passive liveness scores as DIS 1.29.0 (DIS: 1.29.0-SNAPSHOT SAM: 1.35.5 IFace: 5.10.0) via SelfieCombinedPassiveLivenessDetector.
- age gender model is improved (balanced in used)
- SelfiePassiveLivenessDetector is renamed to SelfieCombinedPassiveLivenessDetector (ABIS-5991)
- In the Face::PassiveLiveness function, the default calculation for passive liveness has been updated from the old Combined method to the new Universal approach. (ABIS-5991)
Dependencies
- iface v5.12.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.13
- iengine v2.83.12 (ics 2.3)
[v13.0.0] - 2023-11-24
Added
- Applicant vs Applicant verification (ABIS-5391)
- Verify applicants
- Store/Load Applicant template
- Can be executed on server via MultiModalityExecutor
- Add angle to print segment and possibility to calculate global angle (ABIS-5389)
- Add hand position estimation after slap segmentation (ABIS-5390)
Changed
- Add iface for android x86 simulator
- ISegLib is updated to 3.2.13 with extended rectangle info
- Default maximal rotation in ICSVerifyMatcher is changed from 100 to 180.
- Extracted print will throw when given print to constructor is null
Fixed
- Fix accepting maximal rotation in ICSVerifyMatcher up to 180.
- ICSTemplate::data renamed to ICSTemplate::icsTemplateData (ABIS-5548)
- Fixed sporadic crash/exception in java caused by RawImage that can be not referenced in java, therefore GC can deleted it any time. The Data() could then return reference to deleted object. (ABIS-5687)
Dependencies
- iface v5.9.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.13
- iengine v2.83.12 (ics 2.3)
[v12.1.0] - 2023-10-25
Changed
- ISegLib is updated to 3.2.12 to upgrade NFIQ2 to version 2.2.0 (ABIS-4137)
- IFace version is upgraded to 5.9.0
- SDK provides same passive liveness scores as DIS 1.26.0 (DIS: 1.26.0 SAM: 1.36.0 IFace: 5.8.0) via SelfiePassiveLivenessDetector.
Added
- Critical points (Core/Delta) from template (ABIS-2204)
- It is possible to use hardware id ANDROID_ID on Android platform
- Obtain license hardware ID by specific method
- License is necessary to use passive liveness and adjudicator features (ABIS-5507)
Fixed
- Fix left hand finger positions in slap segmentation (ABIS-5556)
- clang address sanitizer observations
- wsq image encode
- server shutdown
- minutia shape is based on type
- ridge bifurcation - square
- ridge ending - circle
Dependencies
- iface v5.9.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.12
- iengine v2.79.9 (ics 2.3)
[v12.0.0] - 2023-10-03
Added
- Face, Iris, Print can be stored as iso image (ABIS-2001).
- FaceCapture, IrisCapture, Print can be loaded from iso image (ABIS-2001).
- Conversion from ICS to ANSI template (ABIS-2199).
- ILicense SDK is integrated.
Changed
Fixed
Dependencies
- iface v5.7.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.9
- iengine v2.79.9 (ics 2.3)
[v11.1.1] - 2023-08-04
Added
- Note about not supported transparency decoding for image formats PNG, WEBP, TIFF is added into documentation.
Fixed
- IFace transparent segmentation is shown as transparent image in Android sample
Dependencies
- iface v5.7.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.9
- iengine v2.79.9 (ics 2.3)
[v11.1.0] - 2023-08-03
Added
- More descriptive face documentation
- Function HardwareID to get hardware ID for PC/Mobile/device from application (ABIS-4891)
Fixed
- OpenCV is built without filesystem support on Android
- Disable lint of ExpiredTargetSdkVersion on Android
- Install native libraries under architecture folder on Android
- Removed jp2 encoding from cpp Android sample due to OpenCV is compiled without filesystem support on Android
- Message compose do not join messages on subsequent compose calls
Dependencies
- iface v5.7.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.9
- iengine v2.79.9 (ics 2.3)
[v11.0.1] - 2023-08-01
Added
- Android samples
- BinaryFileAccess interface to allow user to modify SDK access to filesystem
Dependencies
- iface v5.7.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.9
- iengine v2.79.9 (ics 2.3)
[v11.0.0] - 2023-07-31
The major version is increased because Image is now used as shared_ptr in c++ due to seg.fault in bindings. However the API of bindings is not affected.
Fixed
- Wrong JNI method in ImageException
- Sporadic seg. fault in bindings cased by bad JNI implementation of Image. The garbage collector deletes Image twice.
Dependencies
- iface v5.7.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.9
- iengine v2.79.9 (ics 2.3)
[v10.1.1] - 2023-07-28
Changed
- IFace version is upgraded to 5.7.0
Fixed
- IFace attributes nose shadow and red eye are available on android
Dependencies
- iface v5.7.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.9
- iengine v2.79.9 (ics 2.3)
[v10.1.0] - 2023-07-26
Warning
- IFace attributes nose shadow and red eye are not available on android
Removed
- License file iengine.lic is not used when it is besides SDK library (ABIS-4870)
Added
- Function Initialize to initialize SDK when license file or models path are not accessible via file system (ABIS-4870)
Dependencies
- iface v5.6.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.9
- iengine v2.79.9 (ics 2.3)
[v10.0.0] - 2023-07-24
Warning
- IFace attributes nose shadow and red eye are not available on android
Added
- It is possible to read iengine.lic file that is stored side by side with SDK library (ABIS-4870)
- ImageShapeAttributes class that holds attributes for drawing shapes
- RBG and RBGA class instead of Color class
Changed
- IFace version is upgraded to 5.6.0
- SDK provides same passive liveness scores as DIS 1.22.0 via SelfiePassiveLivenessDetector.
- IEngine version is upgraded to 2.79.9
- Image
- Shapes have more attributes when drawing. Added transparency and thickness.
- It is possible to use transparency while cropping image
Fixed
Removed
- Not used IFace solvers (passive liveness distance, accurate server wild)
Dependencies
- iface v5.6.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.10)
- iseglib v3.2.9
- iengine v2.79.9 (ics 2.3)
[v9.1.0] - 2023-06-27
Warning
- IFace seg. fault on Android platform for iris detection
- IFace attributes nose shadow and red eye are not available on android
Changed
- IEngine version is upgraded to 2.75.0
- IFace version is upgraded to 5.4.0
Added
- Skeleton, binarized, filtered intermediate images (ABIS-4586)
- Minutiae from template (ABIS-4586)
- Matching minutiae (ABIS-4586)
- SelfiePassiveLivenessDetector - detector for conform passive liveness calculation with precalculated thresholds. It provides same passive liveness scores as DIS 1.21.0.
- DrawMinutiae function into Print class (ABIS-4586)
- Resize function into Image class
- ResizeToMaxDimension function into Image class
- Convert image class to different color models due to Minutiae drawings
- ResizeToMaxDimension function into FaceCapture class
Fixed
- Minor documentation fixes
- SDK provides same passive liveness scores as DIS 1.21.0 via SelfiePassiveLivenessDetector.
Dependencies
- iface v5.4.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.7)
- iseglib v3.2.9
- iengine v2.75.0 (ics 2.3)
[v9.0.3] - 2023-05-15
Warning
- IFace seg. fault on Android platform for iris detection
- IFace attributes nose shadow and red eye are not available on android
Fixed
- Fixed passive liveness to be same as in DIS (ABIS-4257)
Dependencies
- iface v5.2.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.7)
- iseglib v3.2.9
- iengine v2.61.30 (ics 2.3)
[v9.0.2] - 2023-05-12
Warning
- IFace seg. fault on Android platform for iris detection
- IFace attributes nose shadow and red eye are not available on android
Fixed
- EXIF orientation is taken into account on jpeg decode (ABIS-4254)
Dependencies
- iface v5.2.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.7)
- iseglib v3.2.9
- iengine v2.61.30 (ics 2.3)
[v9.0.1] - 2023-05-09
Warning
- IFace seg. fault on Android platform for iris detection
- IFace attributes nose shadow and red eye are not available on android
Changed
- IFace version is upgraded to 5.2.0
- with an improved model for Passive Liveness (threshold change is needed)
- with onnxruntime 1.13.1
- ISegLib version is upgraded to 3.2.9
- .NET standard is changed from 2.1 to 2.0 to be compatible with more .NET frameworks
Fixed
- Enrollment on Android architecture (ABIS-4156)
Dependencies
- iface v5.2.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.44, iris 3.7)
- iseglib v3.2.9
- iengine v2.61.30 (ics 2.3)
[v9.0.0] - 2023-05-04
Added
- Passive liveness (ABIS-4088)
Dependencies
- iface v5.0.3 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.7)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v8.0.0] - 2023-04-26
Changed
- ExtractedPrint/ExtractedFace/ExtractedIris replace ICSTemplate/FaceTemplate/IrisTemplate (ABIS-2880)
- Function CreateTemplate is renamed to Extract in modality extractors (ABIS-2880)
- ICSTemplate/FaceTemplate/IrisTemplate hold only template related data and operations (ABIS-2880)
- Applicant function AddValidPrint is renamed to AddUniquePrint (ABIS-1988)
- Applicant function AddFace accepts only ExtractedFace (ABIS-1988)
Added
- It is possible to instantiate ICSTemplate/FaceTemplate/IrisTemplate with previously created templates those do not have associated images (ABIS-2876)
- Face attributes reliability checks (ABIS-1988)
- Applicant is extended with AddValidFace function (ABIS-1988)
Fixed
- Documentation formatting
- RPM for variants. The variant is part of RPM name
- All exceptions from CPP are translated to binding language
- All exceptions from binding language (in case of interface implementation in binding language) are translated to CPP exceptions
Removed
- KSA variant from build is removed
Dependencies
- iface v5.0.3 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.7)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v7.0.2] - 2023-01-19
Fixed
- JP2000 with grayscale content are correctly decoded without exception (ABIS-3041)
Dependencies
- iface v5.0.3 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.7)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v7.0.1] - 2023-01-11
Changed
Fixed
- Fix samples output
- Add similarity score to modality documentation
Dependencies
- iface v5.0.3 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.7)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v7.0.0] - 2023-01-10
Changed
- Change PrintPosition to be compatible with ISO print position (ABIS-2970)
- Face and Iris similarity score is now in range <0,100> (ABIS-2970)
- Change Iris detection confidence to float with range <0,1> (ABIS-2970)
Removed
- Removed iris extractor P1 and P2 because they are not intent to be used by clients. They are partials extractor for Accurate extractor. (ABIS-2970)
- Removed face Mask attribute because iface does not provides same result for face handler and serialized face handler (ABIS-2970)
Dependencies
- iface v5.0.2 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.7)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v6.0.0] - 2023-01-09
Changed
- Replaced Get in GetRectangle, GetCircle, GetAlignedRectangle to Crop
Added
- Default prototype for configuration classes (ABIS-2875)
Dependencies
- iface v5.0.2 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.7)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v5.0.0] - 2023-01-03
Added
- SaveAs method into Image (ABIS-2872)
- To/From ISO positions conversion functions (ABIS-2873)
Changed
- Renamed Thumbs to ThumbsCapture (ABIS-2879)
- Renamed Slap to SlapCapture (ABIS-2879)
- Change iris detection confidence threshold to 6000 in documentation (ABIS-2870)
- Renamed File to BinaryFile (ABIS-2877)
Fixed
- Fixed print position in ICS to ISO template conversion
Dependencies
- iface v5.0.2 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.7)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v4.0.0] - 2022-12-29
Added
- Iris in service (ABIS-2870)
Changed
- The Logger can be set ONLY globally
- IFace version is 5.0.2 (ABIS-2870)
Fixed
- throw on null Logger and executors
Dependencies
- iface v5.0.2 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.7)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v3.4.0] - 2022-12-19
Added
Dependencies
- iface v4.20.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v3.3.6] - 2022-12-09
Fixed
- RPM installation - added missing .so files for bindings (ABIS-2776)
Dependencies
- iface v4.20.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v3.3.5] - 2022-12-09
Fixed
- RPM installation (ABIS-2776)
Added
- RPM installation adds installed library into ldconfig
Dependencies
- iface v4.20.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v3.3.4] - 2022-12-07
Added
- license and readme into nupkg is added
Dependencies
- iface v4.20.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v3.3.3] - 2022-12-06
Added
- nupkg is stored at nuget.org for public usage
Dependencies
- iface v4.20.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v3.3.2] - 2022-12-06
Changed
- CSharp DLL binding name is changed to Innovatrics.Enrollment.dll
Added
- nupkg is stored into nexus3.ba.innovatrics.net
Dependencies
- iface v4.20.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v3.3.1] - 2022-12-06
Fixed
- Print matching in service
Dependencies
- iface v4.20.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v3.3.0] - 2022-12-05
Added
- Service for print (ABIS-2737)
- Global executors for print, face and image
Dependencies
- iface v4.20.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v3.2.0] - 2022-12-01
Added
- Service for face:
- segmentation masks
- re-cropping of detected face
- Face extraction and verification (ABIS-1987)
Dependencies
- iface v4.20.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v3.1.2] - 2022-11-14
Fixed
- background color when cropping aligned rectangle
Dependencies
- iface v4.20.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v3.1.1] - 2022-11-14
Added
- possibility to crop aligned face
- documentation for env. variables provided by installation
Changed
- Java bindings are published on public maven
- GRPC message size limits are set to maximum
Dependencies
- iface v4.20.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v3.0.1] - 2022-11-10
Added
- INNO_ENROLLMENT_HOME,INNO_ENROLLMENT_32_HOME during windows installation
Changed
- 32bit installation is not added to PATH on windows
Fixed
- 32bit runtime linkage on windows
Dependencies
- iface v4.20.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v3.0.0] - 2022-11-09
Added
- Service for image
- Service for face except:
- mask attribute
- segmentation masks
- re-cropping of detected face
Dependencies
- iface v4.20.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.61.30 (ics 2.3)
[v2.0.0] - 2022-09-20
Added
- Image
- Raw, Jpg, Tiff, Jpg2000, WebP image encoder/decoder
- Version info (ABIS-1993)
Fix
- Image can be used after passing into FaceCapture, Slap, Thumbs in bindings (ABIS-1997)
- Small fixes in documentation (ABIS-1995, ABIS-1994)
Dependencies
- iface v4.15.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.53.6 (ics 2.3)
[v1.0.0] - 2022-09-05
Added
- Image processing based on opencv and iwsqlib (for wsq images) (SDK-3642)
- Encode/Decode (bmp, png, wsq)
- Draw shapes (all with lines, such as rectangles e.g. rounding boxes)
- Get rectangle (to get print images from slap also with rotation to horizontal position)
- Logging (customizable by client code also for bindings) (SDK-3642)
- Serialization (customizable by client code also for bindings) (SDK-3642)
- JSON serialization is provided by library. It supports base64 encoding for bytes (SDK-3642)
- Slap/Thumbs segmentation via iseglib library (both segmentation algorithms are supported) (SDK-3642, SDK-3675, ABIS-1642)
- Linux Windows installers (SDK-3667)
- Binding
- Java on Windows, Linux, Android
- CSharp on Windows, Linux
- Ruby on Linux
- Python on Linux
- Iris
- detection (ABIS-1635, ABIS-1644)
- extraction (ABIS-1643)
- template quality (ABIS-1643)
- Face
- detection (SDK-3691, ABIS-1639)
- attributes (ABIS-1640) Sharpness, Brightness, Contrast, Unique Intensity Levels, Shadow, Nose Shadow, Specularity, Right Red Eye, Left Red Eye, Roll, Eye Distance, Roll Angle, Pitch Angle, Yaw Angle, Face Size, Mask, Face Relative Area, Face Relative Area In Image, Tinted Glasses, Gender, Pitch, Yaw, Eye Gaze, Right Eye Status, Left Eye Status, Glass Status, Heavy Frame, Mouth Status, Background Uniformity, Age, Passive Liveness (Moire, Frames, Nearby, Distant)
- re-crop of already detected face segment (ABIS-1645)
- detection if face segment is inside image (ABIS-1645)
- background elimination (ABIS-1645)
- Print
- Print extraction, 1:1 verification (SDK-3678)
- Print extraction based on Neural Network (SDK-3745)
- Print flattening (SDK-3741, SDK-3736, SDK-3746)
- Print quality (SDK-3698)
- Finger and palm positions (ABIS-1636)
- Impression and capture technology (ABIS-1638)
- Conversion from ICS to ISO template (ABIS-1641)
Dependencies
- iface v4.15.0 (balanced 1.39, fast 1.36, accurate 1.33, accurate-server 1.37, iris 3.2)
- iseglib v3.2.5
- iengine v2.53.6 (ics 2.3)
License Agreement
LICENSE AGREEMENT FOR THE INNOVATRICS ENROLLMENT SDK
ATTENTION: CAREFULLY READ THIS AGREEMENT.
This Innovatrics Enrollment SDK License Agreement ("Agreement") is made by and between Innovatrics, s.r.o., a Slovak company, having its offices at Pri vinohradoch 82, 831 06 Bratislava, Slovakia, hereinafter "Innovatrics" and you, hereinafter as "Company" for the Innovatrics software products identified above (hereinafter "Products").
By installing, copying, downloading, accessing, or otherwise using any of the Products, you agree to be bound by the terms of this Agreement.
IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT INSTALL OR USE ANY OF THE PRODUCTS.
1. Definitions
(a) "Software" means the source code, libraries, and documentation included in the Products identified above and provided to assist the Company in building product(s) that work closely with the IEngine print recognition software.
(b) "Application" means software product(s) built by the Company through the use of the Software, which bundle the elements of the Software and connect to a database for print storage ("Print Database").
(c) "Deployment of Application" means any and all copies of the Application installed, used, distributed, leased, or sold by the Company and any of its customers, employees, distributors, resellers, affiliates, or other channel partners.
(d) "Deployment License" means the Server and, if applicable, the Client license required for each Application installation.
(e) "Client" means a workstation using the Software/Products to extract print templates from print images and/or connect to the Matching Station.
(f) "Matching Station" means a computer that uses the Software/Product to search prints in the Print Database of an Application.
(g) "User" means one user record, with one up to ten (1-10) registered prints, included in the Print Database of an Application.
(h) "Customer" means an end-user customer of the Company that licenses Applications for use in its operations and/or a reseller or other distributor of the Company’s Application that is granted rights to sublicense the Application directly or indirectly to an end-user customer.
2. Grant Of 14-Day Evaluation License
Subject to the terms and conditions of this Agreement, Innovatrics grants the Company a personal, non-exclusive, non-transferable, limited license for testing purposes only for a period of fourteen (14) days following the initial installation of the Software/Product ("Trial Period"), with the following rights and limitations:
(a) Company may install one (1) copy of the Software on up to one (1) computer to test the Software Product only.
(b) Company may not copy, redistribute, or sell the Application using the Software Product. Before the end of the Trial Period, the Company must purchase the Software Product. Otherwise, the Company must refrain from using or testing the Software Product, remove the Software from its system, and erase, delete, or destroy any notes, documents, magnetic media, or other computer storage that contains the Software.
(c) Support and maintenance services are not provided during the Trial Period.
3. Grant Of Software License And Permitted Uses
In consideration of the license fees paid and subject to the terms and conditions of this Agreement, Innovatrics grants the Company a personal, worldwide, non-exclusive, non-transferable, limited license with the following rights:
(a) Company may install and use one (1) copy of the Software/Product on up to one (1) computer to design, develop, and test Applications that use the Software/Product.
(b) Solely with respect to the portions of the Software identified as sample code ("Sample Code"), Innovatrics also grants the Company the right to modify the source code version of the Sample Code only for the sole purposes of designing, developing, and testing Applications, and to reproduce and distribute the Sample Code along with any modifications thereof, in object code form only.
(c) Company may copy and redistribute the Applications, provided that:
i. The Company has purchased a sufficient number of Deployment Licenses;
ii. The Application adds significant and primary functionality to the Software; and
iii. The Company satisfies Innovatrics' branding requirements ("Branding Requirements") and includes a valid copyright notice on the Application.
(d) Innovatrics also grants the Company the right to use the documentation that accompanies the Software for internal, non-commercial reference purposes only.
4. Limitations Or Restrictions
Company agrees not to:
(a) SUBLICENSE THE SOFTWARE ON A STAND-ALONE BASIS (I.E., OTHER THAN AS PART OF AN APPLICATION);
(b) Design, develop, license, and/or distribute derivative software products;
(c) Translate, reverse engineer, decompile, disassemble, or modify the Software;
(d) Share the license, install the Software/Product, or use it concurrently on different computers;
(e) Distribute or publish all or substantially all of the Software/Product;
(f) Sell, resell, rent, lease, lend, or otherwise transfer the Software/Product, in whole or in part; or
(g) Remove any proprietary notices or labels from the Software/Product.
If the Software/Product includes recognition component(s), Company should understand that recognition is an inherently statistical process, that recognition errors are inherent in the process, and that it is Company's responsibility to handle such errors, monitor the recognition processes, and correct any errors. Neither Innovatrics nor its suppliers shall be liable for any damages arising out of errors in the recognition processes.
5. Branding Requirements
Applications must display a non-obscured bitmap of an icon provided in the Innovatrics logo program current at the time of development, in the command line or on the Application's graphical user interface. Should Innovatrics notify the Company of any amendment(s) to the logo program, the Company agrees to modify the Application immediately so that it is in compliance with the amended Innovatrics logo program. The current logo program is accessible on the website http://www.innovatrics.com/company/logo-program/.
6. Intellectual Property
Innovatrics retains all rights, title, and interest to the Software. All rights not expressly and unambiguously granted herein are reserved by Innovatrics. The Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The Software is licensed, not sold. In order to protect Innovatrics' intellectual property rights in the Software, the Company must reproduce on each copy of the Application a copyright notice that clearly states:
"Copyright (c) Innovatrics 2004-2024. All Rights Reserved."
In addition, the Company must distribute the Application only on the basis of a valid agreement that is at least as protective of Innovatrics' rights in the Software as this Agreement.
7. Deployment Licenses
The Company shall purchase a sufficient number of Deployment licenses for each Deployment of the Application. For each Deployment of the Application, the required quantities of Deployment Licenses are calculated as follows:
(a) ONE (1) SERVER DEPLOYMENT LICENSE PER MATCHING STATION. THE NUMBER OF USERS IN THE SERVER DEPLOYMENT LICENSE MUST BE GREATER THAN OR EQUAL TO THE NUMBER OF USERS IN THE FINGERPRINT DATABASE. The Company agrees not to use, and agrees to ensure its Customers do not use, the same Server Deployment License on two Matching Stations.
(b) ONE (1) CLIENT DEPLOYMENT LICENSE PER WORKSTATION ON WHICH THE CLIENT PART OF THE SOFTWARE IS INSTALLED.
Deployment licenses have to be ordered from Innovatrics and paid for before the Company makes any transaction involving the Deployment of the Application. Innovatrics agrees to use its best efforts to make the Deployment Licenses available to the Company on a timely basis.
8. Price And Ordering
The price of Server Deployment licenses and the price of Client Deployment licenses ordered by the Company from Innovatrics shall be in accordance with Innovatrics’ Price List in effect at the time of order placement.
The Company must order and pay for Deployment Licenses prior to the Deployment of the Application. Payment for the Deployment Licenses ordered from Innovatrics, as well as support and maintenance fees and shipping costs, if any, shall be due at the time of order placement.
Deployment Licenses are available to the Company upon request at http://customerportal.innovatrics.com or at sales@innovatrics.com.
All payments made to Innovatrics shall be in Euros or the then equivalent amount in United States dollars. The Company's obligation to pay Innovatrics under this Agreement shall not be affected by its ability to collect payment from its Customers. In addition, the Company shall pay all charges reasonably incurred in the handling and/or shipment of the Software/Product to Customers, including transportation charges, insurance premiums, taxes, duties, and other applicable government assessments.
9. Support, Upgrades, Consulting
Innovatrics provides the Company with support services ("Support Services") related to the Software for an initial period of sixty (60) days ("Warranty Period") from the date of original purchase or download as shown on the Company’s receipt or similar proof of payment. The Company may purchase additional Support Services for a period ("Additional Period") beyond the Warranty Period under a separate agreement. Software upgrades and enhancements ("Upgrades") and professional consulting services ("Consulting Services") are not provided as part of this Agreement but can be contracted under a separate agreement. Use of Support Services, as well as use of Upgrades and Consulting Services, is governed by the standard Innovatrics support, upgrades, and consulting policies available upon request to Innovatrics at sales@innovatrics.com.
10. Termination
All rights granted under this Agreement will automatically terminate if the Company breaches any of the terms and conditions of this Agreement. In addition, either Innovatrics or the Company may terminate this Agreement at any time upon notice to the other party, for convenience. Upon any termination of this Agreement, all licenses hereunder shall terminate, other than end-user Deployment Licenses previously entered into in accordance with the provisions and during the term of this Agreement. Upon the termination of this Agreement, the Company will promptly erase all copies of the Software in its possession and shall discontinue all reproduction and distribution of Applications developed that reference elements of the Software. The limitations of intellectual property, confidentiality, warranties, liability, and indemnity set forth in this Agreement shall continue in force even after termination.
11. Confidentiality
The Software and any information contained within, related to, or about the Software/Products, including performance and test results, are confidential and proprietary to, and trade secrets of, Innovatrics and its affiliates and suppliers. The Company agrees not to disclose such information to any third party without Innovatrics' prior written consent.
The Company consents to written and oral disclosure by Innovatrics of its name as an end user of the Software/Product and/or services in a factual listing of Innovatrics customers to be published within marketing and promotional materials, in presentations, on trade show signs and materials, on its external website, and to financial industry analysts. Innovatrics will seek the Company's prior written authorization for use of the Company's name for promotional activities beyond the above-mentioned, which may include press releases and brochures, or descriptions of the specific Software and/or services provided by Innovatrics.
12. Disclaimer Of Warranty
Innovatrics declares that the Software, in the form originally purchased or downloaded by the Company, will materially conform with the applicable accompanying documentation, and its media will be free from defects in material and workmanship, for the Warranty Period. HOWEVER, INNOVATRICS DOES NOT AND CANNOT WARRANT THE ACCURACY, SPEED, PERFORMANCE, OR RESULTS THE COMPANY MAY OBTAIN BY USING THE SOFTWARE/PRODUCTS OR DOCUMENTATION.
INNOVATRICS DISCLAIMS ALL OTHER WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE SOFTWARE/PRODUCTS AND THE ACCOMPANYING WRITTEN MATERIALS.
13. Limitation Of Liability; Exclusion Of Damages
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL INNOVATRICS AND ITS DISTRIBUTORS OR RESELLERS BE LIABLE TO THE COMPANY OR ANY THIRD PARTY FOR ANY SPECIAL, INCIDENTAL, INDIRECT, PUNITIVE, OR CONSEQUENTIAL DAMAGES WHATSOEVER, WHETHER IN TORT, PRODUCT LIABILITY, AND/OR NEGLIGENCE (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, GOODWILL, ANTICIPATED SAVINGS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, LOSS OF DATA, PRIVACY OR CONFIDENTIALITY, BREACH OF SECURITY SYSTEMS, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF OR RELATING IN ANY WAY TO THE USE OF, OR INABILITY TO USE, THE SOFTWARE, EVEN IF INNOVATRICS AND ITS DISTRIBUTORS OR RESELLERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR LOSSES. THE SOFTWARE IS SUPPLIED "AS IS," AND THE ENTIRE RISK OF ACCURACY, SPEED, AND SATISFACTORY PERFORMANCE IS WITH THE COMPANY. INNOVATRICS AND ITS DISTRIBUTORS OR RESELLERS DO NOT GUARANTEE THAT THE SOFTWARE WILL MEET THE COMPANY’S REQUIREMENTS OR ALL REQUIREMENTS OF THE SOFTWARE OR HARDWARE WITH WHICH IT INTERACTS. IN ANY CASE, INNOVATRICS’ ENTIRE LIABILITY UNDER ANY PROVISION OF THIS AGREEMENT SHALL BE LIMITED TO THE AMOUNT ACTUALLY PAID BY THE COMPANY FOR THIS SOFTWARE.
14. Indemnity
The Company agrees to indemnify, hold harmless, and defend Innovatrics from and against any claims or lawsuits, including attorneys' fees, that arise from or result from the use of the Software or the distribution of the Application.
15. Company Warranty Of Authority
The Company warrants that the person who has agreed to the terms of this Agreement has full authority to bind the Company.
16. Governing Law
All matters arising from or in connection with this Agreement, its validity, existence, or termination shall be governed by the federal laws of Switzerland published in the official legal bulletin “Bundesblatt/Feuille fédérale/Foglio federale.” All disputes arising out of or in connection with the present contract and not amicably settled within a period of three (3) months starting from the date the dispute arose shall be finally settled under the Rules of Arbitration of the International Chamber of Commerce by one or more arbitrators appointed in accordance with the said Rules, and shall be held in the English language and take place in Vienna (Austria).
17. Entire Agreement
This Agreement is the entire agreement between Innovatrics and the Company and supersedes any other agreement, oral or written, and may not be changed except by a written, signed agreement.
18. General
Neither party shall be responsible for delays or failure of performance resulting from acts beyond the reasonable control of such party. Should any provision or part of any provision of this Agreement be found void or unenforceable by a court of competent jurisdiction, such provision or part thereof shall be deemed severed, and the remainder of this Agreement shall remain in full force and effect. The English version of this Agreement shall be the version used when interpreting or construing this Agreement.
19. Trademarks
Innovatrics™, IEngine™, IDKIT™, ANSI-Kit™, ExpressID™, ANSI&ISO™
Third-Party Software
The table below lists third party software that is incorporated into the Enrollment SDK, along with the license associated with the software.
- Note
- The xz_utils entry lists multiple licenses (Unlicense, LGPL-2.1+, GPL-2.0+, GPL-3.0+). The LGPL-2.1+, GPL-2.0+ and GPL-3.0+ portions apply exclusively to the xz command-line tools and test scripts, which are not included in or linked by the SDK.