Changelog
All notable changes to the IDKit SDK are documented here, most recent release at the top.
[9.2.3] - 2025-09-25
Changed
- All android libraries of IDKit Standard variant now use 16 kB page sizes, as mandated by Google for architectures
x86_64andarm64-v8a(BSDK-218)
[9.2.2] - 2025-07-16
Changed
- ILicense is upgraded to 3.4.2 (BSDK-154)
Fixed
- Enabled setting of CFG_IFACE_DETECT_FORCED on ARM (BSDK-209)
[9.2.1] - 2025-05-22
Fixed
- (Multi) Added missing IFace symbol library and CMake scripts in the Windows installation. (BSDK-139)
[9.2.0] - 2025-05-02
Breaking Change
- The default mode
EXTRACTOR_SPEED_NORMALis now the most accurate and the slowest mode The previous "normal" mode is now accessible via the parameterEXTRACTOR_SPEED_FAST
The previous "fast" mode is now accessible via the parameterEXTRACTOR_SPEED_FASTEST(BSDK-100)
Changed
- IEngine updated to version 3.6.2 (BSDK-100)
Added
- A more accurate fingerprint extractor based on ONNX is now available under
EXTRACTOR_SPEED_NORMAL(BSDK-100)
[9.1.13] - 2025-01-30
Fixed
- IEngine is updated to 3.2.3 to return corresponding score for MatchUsers and MatchFaces for user that contains only faces (ABIS-10486)
[9.1.12] - 2024-09-13
Added
- Added list of third-party dependencies to the package as licenses.json (ABIS-8512)
[9.1.10] - 2024-07-26
Changed
- Updated iengine to 2.95.3 to ignore negative or misplaced minutiae points (ABIS-8512)
[9.1.9] - 2024-07-01
Added
- It is possible to choose iris detection mode (accurate/fast) via parameter
CFG_IFACE_DETECTION_MODE(ABIS-7968) - It is possible to choose iris extraction mode (accurate/fast) via parameter
CFG_IFACE_EXTRACTION_MODE(ABIS-7968)
Changed
- ILicense is upgraded to 3.2.24 to mitigate probability of calculation of same HWID for different HDD on Windows (ABIS-7216)
- Updated IFace v5.16.0 (ABIS-7968, ABIS-7216)
Removed
- Removed Intel OMP libs from the package as Intel support was removed (ABIS-7720)
[9.1.8] - 2024-03-18
Removed
- The identification performance table is removed from documentation (ABIS-5773)
- Global parameter CFG_MAX_IENGINE_THREAD_COUNT for setting IEngine's thread limit is removed because it has no effect (ABIS-5952)
Fixed
- Documentation of identification speed (ABIS-6052)
[9.1.7] - 2023-10-18
Changed
- Updated IFace v5.9.0 (ABIS-5558)
- Added ANDROID ID licensing
[9.1.6] - 2023-08-07
Changed
- Updated IFace v5.7.0 (ABIS-4918)
- ILicense is upgraded to 3.2.17 due to AndroidID support (ABIS-5042)
[9.1.5] - 2023-07-26
Added
- It is possible to set PLAIN_EXTRACTOR and PLAIN_LIGHT_EXTRACTOR (ABIS-4616)
[9.1.4] - 2023-07-17
Added
- IFace logging configuration follows IDKit configuration (ABIS-4104)
[9.1.3] - 2023-07-14
Changed
- Updated IFace v5.6.0 (ABIS-4633)
[9.1.2] - 2023-05-26
Changed
- Updated IFace v5.4.0 (ABIS-3951)
[9.1.1] - 2023-04-27
Fixed
- Fixed missing c++ pre-requisites (ABIS-4071)
[9.1.0] - 2023-03-27
Changed
- Updated IEngine to 2.69.2
- to speed up extraction on ARM with NEON instructions (ABIS-3596)
- to integrate IFace 5.1.1 (ABIS-3790)
- Updated IFace v5.1.1 (ABIS-3790)
[9.0.4] - 2023-03-10
Fixed
- Updated IEngine to 2.66.2 to fix seg. fault in IEngine during extraction of prints with many minutiae (ABIS-3596)
[9.0.3] - 2023-01-12
Changed
- Updated IFace v5.0.3 (ABIS-2974)
- leak and segfault fixes
- Parallel access to iris resources improved
[9.0.2] - 2022-11-29
Changed
- Updated IEngine 2.61.40 (ABIS-2422)
- Normalisation table for new iris template for iface 5.0
- Fix non 500 DPI image ridge distance normalization
- AVX-512 optimalisation
- Updated IFace v5.0.2 (ABIS-2422)
- new iris solvers
[9.0.1] - 2022-10-07
Changed
- Updated IEngine 2.61.29 (ABIS-2180)
- Maximum achievable matching score is changed so all self matches have the maximum matching score
- Fixed unconditional jump
- Fixed bug with memory overflow in quality association
- Add AVX-512 support
[9.0.0] - 2022-09-06
Changed
- Updated IEngine 2.61.22 (ABIS-1863)
Fixed
- Strip libc++_shared.so on Android
- Fix redistributable installation on windows
[8.3.6] - 2022-07-13
Added
- Parameter CFG_IFACE_ONNXRT_INTER_THREADS is added to control number of threads used to parallelize the execution of the graph for onnx (ABIS-1410)
- Parameter CFG_IFACE_ONNXRT_INTRA_THREADS is added to control the number of threads to use to run the solver for onnx (ABIS-1410)
Fixed
- Fix verify crash when template contains minutiae with negative coordinates (ABIS-1112)
- Fix export ANSI template
[8.3.5] - 2022-06-30
Changed
- Updated IFace v4.17.0 (ABIS-791)
Fixed
- licensing performance issue (SDK-3766)
Removed
- obsolete logs from android build
[8.3.4.0] - 2021-10-07
Fixed
- Fixed HWID generation method for docker running in virtual environment (SDK-3589)
[8.3.3.0] - 2021-09-17
Added
- Added faceSize definition in documentation (SDK-3462)
Changed
- Iris verification score calculation for users with more irises (SDK-3602)
Fixed
- Improved palm quality calculation also if AFIS extraction algo is used (SDK-3601)
[8.3.2.0] - 2021-08-25
Changed
- Improved palm quality calculation (SDK-3323)
- Updated IFace v4.11.0 (SDK-3584)
Fixed
- DPI value is not considered in size check if AFIS extraction algo is used (SDK-3578)
- Fixed issue template extractin from some images of low quality (SDK-3579)
[8.3.1.0] - 2021-07-20
Added
- Support for SYS HWID based licenses (SDK-3513)
Fixed
- Long lasting license check on AWS
[8.3.0.0] - 2021-06-14
Added
- Support for MAC address based HWID range licenses (SDK-3472)
Fixed
- Fixed handling of empty minutiae points array in java wrapper (SDK-3523)
- (Internal) Fixed crash in IEngine_AddFingerprintRAWWithMinutiaePoints with AFIS extractor algorithm (SDK-3504)
- (Internal) Return BADPARAM error in IEngine_AddFingerprintRAWWithMinutiaePoints with AFIS extractor algorithm and CFG_EXTRACT_MULTISCALE
[8.2.0.0] - 2021-04-07
Fixed
- Multiscaling can exceed acceptable image size (SDK-3453)
- (Multi) IFace dependency missing in rpm (SDK-3459)
[8.1.0.0] - 2021-02-11
Added
- (Internal, Multi) Added accurate mask face extractor (SDK-3416)
Changed
- (Multi) Updated IFace to v4.4.0 (SDK-3416)
- (Multi) New BALANCED face extractor, that is more accurate with masked faces
[8.0.1.0] - 2021-01-18
Added
- Portable .NET wrapper (SDK-3388)
- (internal) Added new parameter CFG_EXTRACT_MULTISCALE (SDK-3398)
- (internal) Added new API function IEngine_GetFingerprintResizeRatio (SDK-3398)
Changed
- .NET wrapper changes (SDK-3388) :
- .NET wrapper contains multimodal functionality for all IDKit variants
- Calling multimodal functionality from .NET wrapper while linking IDKit standard library returns an error
Fixed
- Fixed size check for images with DPI other than the default (500) (SDK-3327)
- Embedded licenses (v1.2) can be used for IDKit initialization on Android devices (SDK-3421)
- Fixed incorrect dynamic linking of IDKit dependencies (SDK-3422)
[8.0.0.0] - 2020-12-08
Added
- Added IEngine_SetStringParameter and IEngine_GetStringParameter (SDK-3372)
- (Multi) Added global paremeter CFG_IFACE_MODELS_PATH for setting path to the directory containing IFace solvers/models (SDK-3372)
- configurable via IEngine_SetStringParameter, idkit.properties file or environment variable IFACE_MODELS_PATH
- (Multi) Added warning message when IFace detects more faces with CFG_IFACE_IGNORE_MULTIPLE_FACES enabled (SDK-3376)
Changed
- (Multi) Updated IFace to v4.0.0 (SDK-3344)
- Functionality of IFace has been split to "solvers" making the IFace library significantly smaller and allows users to select desired functionality. Due to these changes the path to a directory containing the solvers has to be set before IDKit Multi initialization using global parameter CFG_IFACE_MODELS_PATH.
- (Multi) IDKit Multi PC SDK supports fast, balanced and accurate face detection and extraction modes only
- (Multi) IDKit Multi Android/Embedded SDK supports fast face detection and extraction modes only
- Removed template XORing and increased minor versions of templates
- Updated error codes - removed unused ones and renamed according to the current naming conventions
- Renamed IEngine_MatchUserEx and IEngine_MatchUsersEx functions to IEngine_MatchUser and IEngine_MatchUsers, replacing original deprecated functions (SDK-3127)
- IEngine_ConvertRawImage2Bmp replaced by IEngine_ConvertRawToImage (SDK-2327)
- IEngine_ConvertBmp2RawImage replaced by IEngine_ConvertImageToRaw (SDK-2327)
- (Multi) Iris position can be set via IEngine_SetIrisPosition, even after iris template extraction (SDK-3373)
- (Multi) Added iris position argument to IEngine_AddIrisTemplate and IEngine_SetIrisTemplate (SDK-3373)
- (Internal, Multi) Added accurate server mask face extractor (SDK-3370)
- updated .NET/JAVA to reflect changes in IDKit API (IEngine_MatchUser, IEngine_MatchUsers, IEngine_ConvertRawToImage, IEngine_ConvertImageToRaw, IEngine_AddIrisTemplate and IEngine_SetIrisTemplate)
- Documentation updated (SDK-3380)
- License Manager updated to version 3.1.5 (SDK-3302)
- .NET wrapper changes (SDK-3136) :
- Extraction related functions, such as AddFingerprint*, SetFingerprint*, AddFace*, SetFace*, AddIris*, SetIris* are moved to Connection class
- Image conversion related functions, such as ConvertImage, ConvertImageToRaw, ConvertRawToImage are moved to Connection class
Fixed
- CPP samples CMake is fixed not to link iface library as public dependency, run scripts improved to also build the samples using CMake (SDK-3386)
- .NET - All API functions affected by ConnectionParameter are members of Connection class (SDK-3136)
Removed
- removed deprecated API funtions (SDK-3127):
- (internal) plugin related functions (IEngine_RegisterPlugin, IEngine_UnregisterPlugin, IEngine_GetPluginInfo, IEngine_ExtractPluginTemplate, IEngine_AddPluginTemplate, IEngine_SetPluginTemplate, IEngine_GetPluginTemplate, IEngine_RemovePluginTemplate, IEngine_GetPluginTemplateCount) (SDK-3127)
- (internal) false match elimination (SDK-3358)
- parameters CFG_ENABLE_FP_FALSE_MATCH_ELIMINATION, CFG_FP_FALSE_MATCH_ELIMINATION_THRESHOLD, CFG_FP_FALSE_MATCH_CHECK_THRESHOLD
- face detection mode IFACE_FACEDET_SPEED_ACCURACY_MODE_FAST_E1 (SDK-3208)
- IEngine_GetVersion, IENGINE_VERSION struct and IEngine_GetVersionInfo (SDK-3127)
- removed parameter CFG_SCANNER_TYPE and IENGINE_SCANNER_TYPE enum (SDK-3127)
- related functions, enums. structs removed also from .NET/JAVA connectors (SDK-3127)
- (internal )removed EafisC related functions and error codes (SDK-3387):
- IEngine_InitClient, IEngine_ReloadConfig, IEngine_GetServiceState, IEngine_GetAccessMode, IEngine_ReloadLicense, IEngine_SetPrtParameter
- IENGINE_E_SRVFAILED, IENGINE_E_MAXCLIENTS, IENGINE_E_TEMPORARY, IENGINE_E_PROTOCOL, IENGINE_E_SOAPFAILED
- removed IDKit PRO functionality (SDK-3387):
- IDKit (Multi)PRO is no longer available
- removed possibility to connect to a database using JDBC or ODBC
- removed possibility to connect IDKit as a client to EafisC IDispatcher
- IDKit Multi SDK is based on IDKit Standard SDK
[7.8.3.0] - 2020-11-03
Fixed
- Fixed issue in IEngine_ExportCompactTemplate with smaller max template sizes (SDK-3367)
[7.8.2.0] - 2020-10-30
Added
- Added parameter for setting Iris detection threshold - CFG_IFACE_IRIS_DETECTION_THRESHOLD (SDK-3365)
Fixed
- Values 0 and 1 can be set as expectedIrisRadius in IEngine_AddIris* functions with no impact on iris detection and extraction (SDK-3360)
[7.8.1.0] - 2020-10-23
Deprecated
- PRO functionality (JDBC, ODBC, IDispatcher service connection, EXTRACTOR_SPEED_AFIS FP extraction algorithm) is deprecated and will be removed since next major release - version 8
- IDKit PRO SDK (Windows 32/64-bit, Linux 32/64-bit) will not be released and available on CRM anymore
- IDKit Multi SDK (Windows 64-bit, Linux 64-bit) available on CRM will be based on IDKit PC SDK (no PRO functionality) - see section "1.2 Product Differences" in documentation
- IDKit Multi PRO SDK for internal purposes only
Changed
- ridge frequency value calculation is skipping background cells when low pass filter is applied (SDK-3355)
Added
- (Internal) Added support for Compact Template in IDKit (SDK-3250)
[7.8.0.0] - 2020-08-31
Changed
- Updated IFace to v3.13.1 (SDK-3329)
- New face extraction model for accurate_server_visa mode
- New iris extraction model and matching score normalization
- Iris normalization is now in range 0-100 as for faces
Fixed
- Fixed memory leaks in IDKit (SDK-3317)
- in closing of JDBC-based database connection
- in database load in case of invalid templates
[7.7.6.0] - 2020-08-28
Added
- (Internal) Added new ModalityScores structure (SDK-3309)
- (Internal) Functions IEngine_MatchUsersWithIntermediates, IEngine_MatchUsersModalitiesWithIntermediates now return also modality scores (SDK-3309)
[7.7.5.0] - 2020-08-24
Changed
- Improved performance of JPEG2000 image conversion (SDK-3291)
[7.7.4.0] - 2020-08-03
- no changes
[7.7.3.0] - 2020-07-31
- FIX: Fingerprint score is maximum of its partial scores in case the combined fingerprint score is lower than 20 and greater than maximum partial score. (SDK-3299)
[7.7.2.0] - 2020-07-29
Fixed
- Idenification returns all requested best candidates. Fingerprint score is maximum of its partial scores. (SDK-3299)
[7.7.1.0] - 2020-07-08
Added
- (Internal) Functions (IEngine_MatchUsersWithIntermediates, IEngine_MatchUsersModalitiesWithIntermediates) that return informations about intermediate matches. (SDK-3294)
[7.7.0.0] - 2020-07-03
Changed
- Parameter CFG_IFACE_EXTRACTION_MODE default value is IDKIT_IFACE_FACETMPLEXT_SPEED_ACCURACY_MODE_ACCURATE in PC version (SDK-3269)
- Updated IFace to v3.11.0 (SDK-3269)
- New face extraction models for fast, balanced, accurate, accurate_server modes. (IMAGE-2008)
- Backward compatibility of templates is not kept.
[7.6.7.0] - 2020-06-09
Changed
- Improved fingerprint template extractor accuracy and performance
- Updated background elimination algorithm (SDK-3279)
Fixed
- Identification always returns a candidate (even with zero score) (SDK-3279)
- Android - Removed OpenMP support (added in v7.6.2) due to NDK bug causing sigabort crashes (SDK-3280)
- Memory leak in extraction in IEngine (SDK-3202)
[7.6.6.0] - 2020-05-25
Changed
- Update JNA to 5.5.0
- Updated IFace to v3.10.0
- All solvers (except for red eyes and nose shadow) are lazy-allocated.
[7.6.5.0] - 2020-04-28
Added
- JdbcAfisClient- Log filtering according to CFG_LOG_LEVEL (SDK-3126)
Fixed
- JdbcAfisClient - SQL query is not retried if connection is closed (SDK-3125)
- Fixed hazardous comparisons and implicit casts in code (SDK-3125)
- Fixed wrong symbol visibility (introduced in 7.6.2.0) (SDK-3252)
[7.6.4.0] - 2020-04-17
Changed
- Minimum and maximum accepted fingerprint image size are 90 and 4000 pixels, resp. (SDK-3242)
- Improved error propagation in fingerprint extraction (SDK-3242)
- Env option CFG_TRACING_ENABLED changed to TRACING_ENABLED; also values 1/0 change to true/false (SDK-3196)
Fixed
- RPM - Added installation of missing libraries in /opt/innovatrics/idkit/dependencies (SDK-3246)
[7.6.3.0] - 2020-04-06
Changed
- FACEDET_SPEED_ACCURACY_MODE_FAST_E1 is alias to FACEDET_SPEED_ACCURACY_MODE_FAST and will be removed in next release (SDK-3207)
- .NET - run.sh and run.bat scripts now build wrapper's samples (SDK-3111)
- Improved fingerprint template extractor accuracy - new background elimination (SDK-3199)
[7.6.2.0] - 2020-03-13
Removed
- (Internal) Removed Cassandra support (SDK-3019)
- (Internal) Removed Windows StackWalker feature (SDK-3019)
[7.6.1.0] - 2020-03-12
Fixed
- IEngine_GetLicenseInformation now returns error instead of crashing when IDKit was not initialized (SDK-3188)
- Irises with non-corresponding positions are not matched (SDK-1549)
- CFG_TRACING_ENABLED set by env is ignored without idkit.properties file (SDK-3195)
[7.6.0.0] - 2020-02-20
Added
- .NET - Added SetCryptKey method in Connection class (SDK-3101)
- Tracing - Added a config parameter CFG_TRACING_ENABLED for turning the tracing on (SDK-3154)
- Tracing - Added an option to set value of parameter CFG_TRACING_ENABLED by environment variable (SDK-3155)
- (Multi): It is possible to set IFace Detection threshold in local IDKit per detection mode (SDK-3159)
Changed
- Updated IFace to v3.8.1
- 'accurate' detector is updated
- 'accurate_server' detector is updated
- 'balanced' detector is updated
- 'accurate' extraction mode updated (~2x faster than 'accurate_server', slightly less accurate). Backward compatibility of templates is not kept.
- 'balanced' extraction mode is added (~2x faster than 'accurate' mode, less accurate). Backward compatibility of templates is not kept.
- 'fast' extraction mode updated (~3x faster than 'balanced', less accurate). Backward compatibility of templates is not kept.
Deprecated
- .NET - IDKit.SetCryptKey static method will be removed in next major release. Use SetCryptKey instance method of Connection class (SDK-3101)
Fixed
- .NET - Improved thread-safe access to User instance (SMAR-1087)
- Occasional crash when database was not connected is fixed. (SDK-3124)
Removed
- Removed support for Android MIPS and ARMv5 architectures (SDK-2938)
[7.5.0.0] - 2020-01-02
Added
- Tracing - Added tracing for GetUser and GetUserIfExists methods (SDK-2760)
- Tracing - Added tracing for function IEngine_ReloadUsers (SDK-2759)
- (Internal): Added parameter CFG_SOAP_TIMEOUT to configure timeouts of functions IEngine_Connect and IEngine_InitClient when type=service (SDK-3108)
- Tracing - Added an error code and message 'Tracing not configured' for tracing not initially configured (SDK-3151)
Changed
- Tracing - Added a config parameter CFG_TRACING_ENABLED for turning the tracing on (SDK-3154)
- Updated IFace to v3.7.2-FRVT (SDK-3095)
- accurate_server face extraction model replaced with FRVT11_006 model, can be set via parameter CFG_IFACE_EXTRACTION_MODE = 2 (default on desktop/server platforms) - templates are incompatible with older versions
- accurate_server detector default threshold set to 9700
- balanced detector regression fixed
- forced detection uses central mode as default one
Fixed
- IEngine_MatchUserEx and IEngine_MatchUsersEx return a correct matching fingers count (SDK-3061)
- Quality of minutiae points passed to IEngine_*WithMinutiaePoints is not dropped (SDK-3060)
- Maximum allowed value of CFG_SIMILARITY_THRESHOLD is 1000. (SDK-3060)
- (Multi, PRO): Socket native properties and jdbcafisclient properties was not read (SDK-3143)
- (Multi, PRO): It was not possible to connect to databaze when c3p0 properties are used because username and password from xml configuration was cleared when properties was loaded (SDK-3141)
- Tracing - Added tracing to all IEngine_Init* functions (SDK-3151)
[7.4.0.0] - 2019-11-29
Added
- Added API to select method for generating hardware id - IEngine_GetHardwareIdByMethod (Java getHardwareId(HardwareIdMethod) / .NET GetHardwareIdByMethod) (SDK-3070)
- Added PerfTest (v1.1.0) for Windows (SDK-2801)
- .NET connector is compatible with .NET Standard 2.0 (SDK-2674)
- Added .NET connector and samples for Linux x64 SDKs (SDK-2674)
Changed
- (Multi): Updated IFace to v3.7.0 (SDK-3096)
- accurate_server face detection model replaced with faster one - can be set via parameter CFG_IFACE_DETECTION_MODE = 3
Fixed
- Added missing permissions to manifests of Android samples (SDK-3093)
[7.3.2.0] - 2019-11-08
Added
- License Manager improvements (SDK-2723)
- New License Manager GUI, available also in for Linux
- License Manager CLI refactored, renamed to license_manager_cli on Linux
- When environment variable EAFISC_CONFIGS_DIR is set then all property files are read from provided path instead of working directory. (SDK-2971)
- Tracing - Added opentracing context propagation to registration requests (IEngine_RegisterUser*) (SDK-2758)
- (Internal): Tracing - New internal parameter CFG_OPENTRACING_ENABLED for enabling tracing and CFG_OPENTRACING_TRACER for setting custom tracer (SDK-2758)
Changed
- Documentation improvements (SDK-2083)
- readme files and installation pdf improvements
- template compatibility, supported platforms, basic features, template formats, image formats
- improved documentation of face and iris modality, image quality, templates, score consolidation
Fixed
- IEngine_GetErrorMsg now returns the correct error message for error code IENGINE_E_BADMASK (SDK-3057)
- (Multi, PRO): Fixed segfault in IEngine_InitClient when NULL or empty string is provided (SDK-3055)
[7.3.1.0] - 2019-09-25
Added
- Configurable retry mechanism in JDBC SQL query executor (SDK-2981)
Fixed
- Get user step is skipped when FME is turned off (SDK-3005)
- Fixed segfault in IEngine_Find*InMemory calls (SDK-2949)
- (Multi): memory leak caused by early return in iface plugin is fixed (SDK-2986)
- Fixed segmentation fault in License Manager on Linux Debian (SDK-2994)
[7.3.0.0] - 2019-08-14
Added
- (Multi): New API calls IEngine_*Relative for face extraction based on relative face size (SDK-2769)
- (Multi): Face extraction API calls taking face size parameter instead of eye distance (SDK-2769)
- (PRO,Multi): Added API for EAfisC config params reload from properties files - IEngine_ReloadConfig() (reloadConfig() in Java) (SDK-2712, SDK-2810, SDK-2817)
- License manager in [3.0.2] shows a warning if another license is already installed in one of the predefined paths (SDK-2834)
- Added support for Android x86 and x86_64 architecture (SDK-2838) - WARNING: Support for ARM5 (armeabi), MIPS, and MIPS64 architecture will be removed in next release as it is not supported since NDK r17.
- Added new API call IEngine_CheckLicense (.NET/JAVA equivalents CheckLicense/checkLicense) (SDK-2876)
Changed
- (Multi): Updated IFace to v3.6.0 (SDK-2769)
- (Multi, PRO): Internal hibernate connection pool (hard coded c3p0) is replaced by one used also for not hibernate SQL commands. (SDK-2882)
- JAVA: ConfigParameter changed to InstanceParameter and GlobalParameter (SDK-2844)
- Android samples require runtime permissions on Android <= Marshmallow (SDK-2944)
Fixed
- Adjusting output WSQ bitrate according to CFG_RESOLUTION_DPI parameter (SDK-2739)
- Fixed error with missing admin rights during license deployment in license manager [3.0.2] (SDK-2773)
- Fixed invalid image error returned by AddFingerprintWithMinutiaePoints (SDK-2780)
- .NET: Fixed wrong values in GlobalParameter enum (SDK-2844)
- Position compatibility check is fixed in IEngine_MatchFingerprintsEx and IEngine_MatchFingerprint_transformation functions (SDK-2931)
- Added IENGINE_CONFIG enum fixing signature mismatch error (SDK-2781)
[7.2.19.0] - 2019-06-25
- no changes (fixes in EafisC)
[7.2.18.0] - 2019-04-05
- no changes (fixes in EafisC)
[7.2.17.0] - 2020-02-11
- no changes (fixes in EafisC)
[7.2.16.0] - 2020-01-27
- no changes (fixes in EafisC)
[7.2.15.0] - 2019-09-25
Fixed
- (Multi): memory leak caused by early return in iface plugin in IDKit is fixed (SDK-2986)
[7.2.15.0] - 2019-09-25
Fixed
- (Multi): memory leak caused by early return in iface plugin is fixed (SDK-2986)
[7.2.14.0] - 2019-04-21
Added
- Configurable retry mechanism in JDBC SQL query executor (SDK-2981)
[7.2.13.0] - 2019-07-03
Added
- Get recently modified users does't contain deleted users (SDK-2888)
Fixed
- Internal hibernate connection pool (hard coded c3p0) is replaced by one used also for not hibernate SQL commands. (SDK-2882)
[7.2.12.0] - 2019-06-18
Fixed
- Memory leaks discovered by clang sanitizer are fixed. (SDK-2787)
[7.2.11.0] - 2019-06-04
Changed
- (Multi): CFG_IFACE_EXTRACTION_MODE and CFG_IFACE_DETECTION_MODE are now connection-local parameters (SDK-2841)
[7.2.10.0] - 2019-05-24
Added
- Added CMake exports (SDK-2710)
- All CFG_* parameters are settable via idkit.properties file (SDK-2797)
Changed
- Java and Android samples migrated to Gradle (SDK-2310)
Removed
- Removed backward compatibility with template format <= ICRS22. The only supported template format is ICRS23 (SDK-2738)
Fixed
- Fixed Windows build issues with C++ samples (SDK-2710)
- License problem when registration and clear sequence is used repeatedly. (SDK-2788)
- (Multi): Fixed setting of CFG_IFACE_DETECTION_MODE (SDK-2797)
- Added missing SDK version in the installer pop-up window (SDK-2774)
[7.2.9.0] - 2019-05-07
Added
- (Multi): Face template extraction mode can be set via parameter CFG_IFACE_EXTRACTION_MODE. Face templates extracted on Android can be matched against face templates extracted on PC. The templates have to be compatible (extracted using the same extraction mode) in order to perform matching. (SDK-2661)
- (Internal): Android: New benchmarking tool IDKit PerfTest APK (SDK-2730)
- (PRO, Multi): Added possibility to use HikariCP instead of C3P0. It is configurable in jdbcafisclient.properties (SDK-2742)
Fixed
- (Internal): .NET method MatchFingerprintsEx returns correct indexes of matching minutiae (SDK-2744)
- (PRO, Multi): More robust palmprint extraction when EXTRACTOR_SPEED_AFIS is set due to better limiting of maximum template size (SDK-2734)
- (Internal): ACCESS_MODE renamed to IENGINE_ACCESS_MODE due to a conflict in acccrtrl.h (SDK-2715)
- Palmprints with matching minutiae points should have matching score greater than zero (SDK-2707)
[7.2.8.0] - 2019-04-08
Added
- New global parameter CFG_MAX_IENGINE_THREAD_COUNT for setting IEngine's thread limit (SDK-2719)
[7.2.7.0] - 2019-04-02
Added
- New internal API function IEngine_GetLicenseValue (SDK-2393)
- (PRO, Multi): Added JDBC support for SQLite databases (SDK-2411)
Changed
- Updated IFace to v3.5.3
- New JSON license file [2.1], old licencies (v1.2, v1.3, v2.0) are still supported (SDK-2408, SDK-2504)
- Compilers were updated: Windows to VS2017, Android to Clang 5.0 (SDK-2658, SDK-2352)
- Updated Visual C++ Redistributable Package to [2017] in Windows installer
- Updated Android arm toolchain to NDK r15c (SDK-2352)
- for 32-bit Android architectures (arm, armv7a, mips, x86) we support API 14 and newer - Android [4] and newer
- for 64-bit Android architectures (arm64-v8a) we support API 21 and newer - Android [5] and newer
Fixed
- (PRO, Multi): Fixed inconsistency in DB timestamps caused by changing timezones (SDK-2411)
- (Multi): Fixed error message when minEyeDistance is below the limit (SDK-2645)
- Elimination of false matching users is disabled by default (SDK-2668)
- (Internal): JAVA: Fixed wrong values of assocProbeMinutiae, assocGalleryMinutiae and assocQuality array (SDK-2706)
- (Internal): RPM dependencies now avoid linking to exact version, instead major version symlink is used (SDK-2680)
[7.2.6.0] - 2019-03-22
Added
- Latents and palmprints templates are trimmed during IEngine_ExportUserTemplate to ANSI/ISO formats (SDK-2665)
Fixed
- Fixed failing extraction (AFIS mode) caused by wrong MAX_ICS_TEMPLATE_SIZE setup, MAX_ICS_TEMPLATE_SIZE is now 65500 B (SDK-2687)
- Mitigated high identification FTF rate in few-minutiae fingerprints (SDK-2694)
- Finger view size correctly complies with CFG_MAX_TEMPLATE_SIZE limit (SDK-2673)
[7.2.5.0] - 2019-03-20
Fixed
- (PRO, Multi): Connection to SQL databases updated to [1.6] works correctly (SDK-2705)
- (PRO, Multi): SQL ODBC connection-related errors fixed. Soft delete is used instead of hard delete. See documentation of IEngine_RemoveUser function for details. (SDK-2705)
[7.2.4.0] - 2019-02-27
Fixed
- (Multi): Fixed Android iris identification inconsistencies caused by platform-dependent code (SDK-2675)
[7.2.3.0] - 2019-02-11
Changed
- (Multi): Updated IFace to v3.5.2
- (Internal): RPM packages now do not contain "int" and version in name. The install path is also without version (SDK-2380)
[7.2.2.0] - 2019-02-08
Changed
- Order of found users should be consistent across multiple search request (SDK-2583)
Fixed
- (PRO): Fix in JdbAfisClient. Each 1000th row in iengine_tags table was not loaded. (SDK-2650)
[7.2.1.0] - 2019-01-18
Fixed
- Fixed Android licensing description in readme (SDK-2528)
- Fixed Java identify sample - DB is created as part of sample (SDK-2528)
[7.2.0.0] - 2019-01-17
Added
- Matching score of false matched users is decreased, false matchings are suppressed (SDK-2486)
- Added new palm print support (SDK-2144)
- new internal API function IEngine_GetIntermediateImages (Java: getIntermediateImages / .NET: GetIntermediateImages) (SDK-2144)
- IEngine_GetMinutiae can now return more than 256 minutiae points. It implements two-phase buffer retrieval. (SDK-2144)
- Removed possibility to downgrade user record version. Configuration CFG_ICS_TEMPLATE_VERSION is removed. (SDK-2144)
- new internal API function IEngine_MatchFingerprintsEx (Java: matchFingerprintsEx / .NET: MatchFingerprintsEx) (SDK-2485)
- New API function IEngine_RescaleImage (SDK-2593)
- Disabled support of Compact templates (SDK-2521)
- License check is moved to a separate thread, no-more throttling performance (SDK-2459)
- License-checker interval set to 30 sec instead of random (SDK-2612)
- API call IEngine_ReloadLicense and IEngine_IDispatcherReloadLicense (SDK-2382)
- IDKit loads DB password from enviroment var AFIS_DB_PW and overrides password in connection string (SDK-2497)
- Added all possible error codes to API documentation (SDK-2109)
- (Multi): Added new parameters (SDK-2464):
- CFG_IFACE_IGNORE_MULTIPLE_FACES, default value is 0 - multi-faces images are not allowed. If value 1 is set, face with maximum score is captured and IENGINE_E_NOERROR (instead of IENGINE_E_TOOMANYFACES) is returned even if multiple faces are present in input image.
- CFG_IFACE_DETECTION_MODE, default value is 1.
- Value 0 means that IFace parameter IFACE_PARAMETER_FACEDET_SPEED_ACCURACY_MODE is set to IFACE_FACEDET_SPEED_ACCURACY_MODE_FAST
- Value 1 means that IFace parameter IFACE_PARAMETER_FACEDET_SPEED_ACCURACY_MODE is set to IFACE_FACEDET_SPEED_ACCURACY_MODE_BALANCED
- Value 2 means that IFace parameter IFACE_PARAMETER_FACEDET_SPEED_ACCURACY_MODE is set to IFACE_FACEDET_SPEED_ACCURACY_MODE_ACCURATE
- Value 3 means that IFace parameter IFACE_PARAMETER_FACEDET_SPEED_ACCURACY_MODE is set to IFACE_FACEDET_SPEED_ACCURACY_MODE_ACCURATE_SERVER
- Value 4 means that IFace parameter IFACE_PARAMETER_FACEDET_SPEED_ACCURACY_MODE is set to IFACE_FACEDET_SPEED_ACCURACY_MODE_FAST_E1
Changed
- (Multi): Updated IFace to [3.5.0] (SDK-2464)
- New face extraction model. Backward compatibility of templates is not kept.
- New face matching score normalization. Score is now within range <0,100> where 0 is for totally nonmatching faces and 100 for the same face with good quality.
- New IRIS detection NN-based algorithm. Detection is now more robust and precise.
- New IRIS recognition more accurate algorithm. Recogition accuracy is many times better. Backward compatibility of templates is not kept.
Fixed
- (Multi): Fixed handling of CFG_IFACE_DETECT_FORCED parameter in case of processing of non-RAW images. Default value changed to 0. (SDK-2464)
- (PRO): SQL JDBC driver updated from sqljdbc4-4.0 to mssql-jdbc-6.2.2.jre8 because of DB timeouts (SDK-2638)
- IEngine_SetFingerprintFromUser with same fingerprint is not causing infinite loop (SDK-2317)
- IDKit .NET: ConfigParameter replaced by ConnectionParameter and GlobalParameter (SDK-2590)
- Fixed DB user limit reloading (SDK-1894)
[7.1.0.0] - 2018-11-05
Added
- Added support for HWID generation based on physical addresses (SDK-2383)
- ./license_manager_server -p 8
- license with HWID based on physical addresses works also if teaming interface is present
- (Multi): Face and Iris identification is now much faster on ARM platform (SDK-2377)
- types of IDKit enum IENGINE_IMAGE_FORMAT renamed from FORMAT_* to IENGINE_FORMAT_*(SDK-752)
Changed
- (Multi): Updated IFace to [3.4.5]
- (Multi): Linux: Intel MKL dependencies are statically linked into libiface.so (SDK-2311)
Fixed
- Fixed occassional error "pure virtual method called without an active exception" (SDK-2484)
- Functions IEngine_*MinutiaePoints accepts only 8-bit monochrome imageMask (binarized array of 0s and 255s) (SDK-2440)
[7.0.2.0] - 2018-09-28
- no changes
[7.0.1.0] - 2018-09-18
Changed
- (Multi): Updated IFace to [3.4.4]
[7.0.0.0] - 2018-09-17
Fixed
- License manager returns HWID on Amazon instances when custom DNS is used (SDK-2182)
[6.4.2.0] - 2019-02-01
Added
- Order of found users should be consistent across multiple search requests (SDK-2583)
Fixed
- (PRO): Fix in JdbAfisClient. Each 1000th row in iengine_tags table was not loaded. (SDK-2650)
[6.4.1.0] - 2019-01-17
Fixed
- (PRO): SQL JDBC driver updated from sqljdbc4-4.0 to mssql-jdbc-6.2.2.jre8 because of DB timeouts (SDK-2638)
[6.4.0.0] - 2019-01-09
Added
- (Multi): Added new parameters (SDK-2464):
- CFG_IFACE_IGNORE_MULTIPLE_FACES, default value is 0 - multi-faces images are not allowed. If value 1 is set, face with maximum score is captured and IENGINE_E_NOERROR (instead of IENGINE_E_TOOMANYFACES) is returned even if multiple faces are present in input image.
- CFG_IFACE_DETECTION_MODE, default value is 1.
- Value 0 means that IFace parameter IFACE_PARAMETER_FACEDET_SPEED_ACCURACY_MODE is set to IFACE_FACEDET_SPEED_ACCURACY_MODE_FAST
- Value 1 means that IFace parameter IFACE_PARAMETER_FACEDET_SPEED_ACCURACY_MODE is set to IFACE_FACEDET_SPEED_ACCURACY_MODE_BALANCED
- Value 2 means that IFace parameter IFACE_PARAMETER_FACEDET_SPEED_ACCURACY_MODE is set to IFACE_FACEDET_SPEED_ACCURACY_MODE_ACCURATE
- Value 3 means that IFace parameter IFACE_PARAMETER_FACEDET_SPEED_ACCURACY_MODE is set to IFACE_FACEDET_SPEED_ACCURACY_MODE_ACCURATE_SERVER
- Value 4 means that IFace parameter IFACE_PARAMETER_FACEDET_SPEED_ACCURACY_MODE is set to IFACE_FACEDET_SPEED_ACCURACY_MODE_FAST_E1
Changed
- (Multi): Updated IFace to [3.5.0] (SDK-2464)
- New face extraction model. Backward compatibility of templates is not kept.
- New face matching score normalization. Score is now within range <0,100> where 0 is for totally nonmatching faces and 100 for the same face with good quality.
- New IRIS detection NN-based algorithm. Detection is now more robust and precise.
- New IRIS recognition more accurate algorithm. Recogition accuracy is many times better. Backward compatibility of templates is not kept.
Fixed
- (Multi): Fixed handling of CFG_IFACE_DETECT_FORCED parameter in case of processing of non-RAW images. Default value changed to 0. (SDK-2464)
[6.3.11.0] - 2019-03-28
Fixed
- Finger view size correctly complies with CFG_MAX_TEMPLATE_SIZE limit (SDK-2673)
- Fixed failing extraction (AFIS mode) caused by wrong MAX_ICS_TEMPLATE_SIZE setup, MAX_ICS_TEMPLATE_SIZE is now 65500 B (SDK-2687)
[6.3.10.0] - 2019-03-12
Fixed
- Elimination of false matching users is disabled by default (SDK-2668)
[6.3.9.0] - 2019-02-18
Added
- (PRO): Parameter SO_RCVTIMEO set to 120000 in jdbc_socket_native_extensions.properties (SDK-2672)
[6.3.8.0] - 2019-02-07
Fixed
- (PRO): Fix in JdbAfisClient. Each 1000th row in iengine_tags table was not loaded. (SDK-2650)
[6.3.7.0] - 2019-01-17
Fixed
- (PRO): SQL JDBC driver updated from sqljdbc4-4.0 to mssql-jdbc-6.2.2.jre8 because of DB timeouts (SDK-2638)
[6.3.6.0] - 2019-01-03
Added
- IDKit loads DB password from enviroment var AFIS_DB_PW and overrides password in connection string (SDK-2497)
- IEngine_RescaleImage added to Java (IDKit.rescaleImage) and .NET (IDKit.RescaleImage) connector (SDK-2593)
- License-checker interval set to 30 sec instead of random (SDK-2612)
Fixed
- Fixed occasional log message "LicenseChecker::queryLicense - license-check result: 1129" (SDK-2612)
- Fixed LicenseChecker concurrency issues (SDK-2619)
- IDKit .NET: ConfigParameter replaced by ConnectionParameter and GlobalParameter (SDK-2590)
- Fixed segfault in IEngine_GetIntermediateImages using DPI different than 500 DPI (SDK-2581)
- Fingerprint image with DPI different than 500 has now correct minutiae points (SDK-2582)
[6.3.5.0] - 2018-12-06
Added
- IEngine_GetIntermediateImages returns also block fingerprint mask (SDK-2534)
- New API function IEngine_RescaleImage (SDK-2593)
Fixed
- Fixed omitting false match elimination of the first candidate (SDK-2578)
- fixed issue with false minutiae points at fingerprint boundary area (SDK-2529)
- fixed confusion of filtered and binarized images (SDK-2529)
[6.3.4.0] - 2018-11-30
Removed
- Disabled support of Compact templates (SDK-2521)
Fixed
- Fixed IEngine_MatchFingerprint with different positions (SDK-2575)
[6.3.3.0] - 2018-11-27
Changed
- IEngine_GetIntermediateImages returns also binarized fingerprint mask (SDK-2534)
Fixed
- user created via export/import is consistent with original user (SDK-2530)
[6.3.2.0] - 2018-11-22
Added
- Matching score of false matched users is decreased, false matchings are suppressed (SDK-2486)
- License check is moved to a separate thread, no-more throttling performance (SDK-2459)
- API call IEngine_ReloadLicense and IEngine_IDispatcherReloadLicense (SDK-2382)
Fixed
- Fixed license expiration checking (SDK-1894)
- Fixed DB user limit reloading (SDK-1894)
[6.3.1.0] - 2018-11-20
Fixed
- Fingerprint template is correctly exported from user. (SDK-2519)
- Wrong mapping of fingerprint position in idkit-java-connector is fixed. (SDK-2524)
[6.3.0.0] - 2018-11-13
Added
- new internal API function IEngine_GetIntermediateImages (Java: getIntermediateImages / .NET: GetIntermediateImages) (SDK-2144)
- Added new palm positions to IDKit (SDK-2144)
- new internal API function IEngine_MatchFingerprintsEx (Java: matchFingerprintsEx / .NET: MatchFingerprintsEx) (SDK-2485)
Changed
- IEngine_GetMinutiae can now return more than 256 minutiae points. It implements two-phase buffer retrieval. (SDK-2144)
Removed
- Removed possibility to downgrade user record version. Configuration CFG_ICS_TEMPLATE_VERSION is removed. (SDK-2144)
[6.1.8.0] - 2019-01-17
Fixed
- (PRO): SQL JDBC driver updated from sqljdbc4-4.0 to mssql-jdbc-6.2.2.jre8 because of DB timeouts (SDK-2638)
[6.1.7.0] - 2019-01-02
Added
- IDKit loads DB password from enviroment var AFIS_DB_PW and overrides password in connection string (SDK-2497)
[6.1.6.0] - 2018-12-07
- no changes
[6.1.5.0] - 2018-11-06
- no changes
[6.1.4.0] - 2018-10-25
Fixed
- Fixed occassional error "pure virtual method called without an active exception" (SDK-2484)
[6.1.3.0] - 2018-10-19
Added
- (Multi): Face and Iris identification is now much faster on ARM platform (SDK-2377)
Changed
- (Multi): Updated vcredist to [2015] in Windows installer
[6.1.2.0] - 2018-10-03
Added
- Added support for HWID generation based on physical addresses (SDK-2383)
- ./license_manager_server -p 8
- license with HWID based on physical addresses works also if teaming interface is present
Changed
- (Multi): Intel MKL dependencies are statically linked into libiface.so (SDK-2311)
Fixed
- License manager returns HWID on Amazon instances when custom DNS is used (SDK-2182)
[6.1.1.0] - 2018-09-13
- no changes
[6.1.0.0] - 2018-09-07
- no changes
[6.0.9.0] - 2018-11-23
Removed
- removed DB password logging in JdbcAfisClient (SDK-2497)
[6.0.8.0] - 2018-11-21
Added
- IDKit loads DB password from enviroment var AFIS_DB_PW and overrides password in connection string (SDK-2497)
[6.0.7.0] - 2018-11-05
- no changes
[6.0.6.0] - 2018-10-02
Added
- Added support for HWID generation based on physical addresses (SDK-2383)
- ./license_manager_server -p 8
- license with HWID based on physical addresses works also if teaming interface is present
Changed
- (Multi): Intel MKL dependencies are statically linked into libiface.so (SDK-2311)
Fixed
- License manager returns HWID on Amazon instances when custom DNS is used (SDK-2182)
[6.0.5.0] - 2018-08-27
- no changes
[6.0.4.0] - 2018-08-23
Changed
- Updated EULA (SDK-1291)
- (Multi): Updated IFace SDK to [3.4.2]
- IRIS detector tunning
[6.0.3.0] - 2018-08-10
- no changes
[6.0.2.0] - 2018-08-08
Fixed
- (Multi): Iris identification omitting IDs>candidatesCount fixed (SDK-2347)
- fingerpint identification is improved (SDK-1881)
- Updated CFG_SIMILARITY_THRESHOLD documentation (SDK-2340)
[6.0.1.0] - 2018-07-30
Changed
- (Multi): IFace updated to [3.4.1]
- Improved iris detection, NN-based approach
Fixed
- Fixed IRIS extraction (IMAGE-1341, SDK-2329)
[6.0.0.0] - 2018-07-04
Added
- Add App ID licenses for Android samples into package (SDK-2290)
- C++ SDKs samples refactoring (SDK-2163)
Changed
- (Multi): IFace updated to [3.4.0] (SDK-2237)
- Documentation does now distinguish global and per-connection parameters (SDK-2107)
Fixed
- IDKit cannot connect to IDispatcher (SDK-2288)
- IEngine_ConvertBMP rejects image created by IEngine_ConvertImage (SDK-2158)
- DB user limit is not freed after terminate (SDK-2068)
- Candidates count is not cleared when calling terminate module (SDK-2118)
- .NET wrapper DLLs are not strong-named (SDK-2245)
- IEngine_SetParameter cannot set certain values (SDK-2241)
[5.3.6.0] - 2018-06-07
Fixed
- Fixed backward compatibilty with IMEI-based license on Android
[5.3.5.0] - 2018-06-05
- no changes
[5.3.4.0] - 2018-05-29
Added
- Installer and uninstaller are now signed (SDK-1732)
- SDK's Windows assemblies are now signed (SDK-2224)
- (Internal): RPM package is created in CI (SDK-2029, SDK-2221)
Changed
- Application ID-based HWID starts with "A" and ends with "ID" (SDK-2233)
- Documentation improvements and fixes
- improved IEngine_ExportCompactTemplate documentation (SDK-868)
- 3rd party SW credits documentation - section Open source SW credits (SDK-1683)
- BMP should be used as output image format for IEngine_SaveMinutiaeImage and IEngine_GetMinutiaeImage in order to get colorized image (SDK-2064)
Fixed
- IEngine_AddFingerprintRAW now working with EXTRACTOR_SPEED_AFIS (SDK-2222)
- License expiration fixed (SDK-1917)
- MAC-based license is working with disabled or disconnected WiFi (SDK-2174)
- MAC-based licensing works on every version of Android OS (SDK-2214)
- Fixed not showing version of Java wrapper on Android (SDK-2202)
- API functions correctly handle NULL IENGINE_COLLECTION param (SDK-2034)
- Android native shared libraries have correct SONAME (SDK-2024)
[5.3.3.0] - 2018-05-23
Fixed
- Wrong identification results when user contains more fp templates with the same fp position (SDK-2178)
[5.3.2.0] - 2018-04-17
Added
- new windows installer
- new package structure
- new .NET connector with documentation in doc/NET directory of Windows installation directory (SDK-1836)
- .NET API is now very similar to C++ API
- added run scripts for samples added (SDK-1780)
- Windows License Manager is available also as a console application
- Android version of library uses the same extraction algorithm as PC versions
- Updated Android arm, mips and x86 toolchain to API 14 NDK r12b (SDK-2046)
- for 32-bit Android architectures (arm, armv7a, mips, x86) we support API 14 and newer - Android [4] and newer
- for 64-bit Android architectures (arm64-v8a) we support API 21 and newer - Android [5] and newer
- Added new function IEngine_GetFingerprintPresenceRAW (SDK-2010)
- (Multi): PerfTest utility upgraded to face and iris modalities, comparison test added (SDK-2153)
- Added Application ID-based licensing for Android devices, please see also readme.txt included in IDKit Android SDK packages (SDK-2027)
Changed
- (Multi): IFace updated to [3.2.4]
- NBIS library upgraded to [5.0.0]
Fixed
- On Android, WSQ image is created with WSQ header
- Fixed occasional memory segmentation faults in IEngine_ImportCompactTemplate (SDK-2007)
- Disabled pure-number or IP address connection string (SDK-2047)
- (Multi): Fixed not working facial identification on mobile devices (SDK-2122)
- (Multi): Setting of CFG_IFACE_DETECT_FORCED returned invalid configuration parameter error (SDK-2130)
- IEngine_GetHardwareId now returns HWID on embedded devices (SDK-1911)
- Documentation improvements and fixes (SDK-1789)
- added new Innovatrics logos
- Java wrapper:
- IDKit dynamic shared library is not loaded until first API call performed (SDK-1326)
[5.3.1.0] - 2018-02-28
Fixed
- (PRO): Invalid CRC32 checksum in ODBC connection (SDK-1846)
- Internal locking fix (SDK-617)
- Error reporting improved in case of insufficient memory (SDK-677)
- Buffer overflow in IEngine_ImportCompactTemplate and IEngine_ExportCompactTemplate (SDK-740, SDK-1636)
- License related error message propagation in IDKit (SDK-1533)
- 1 fingerprint pair verification (1:1 matching) is faster and doesn't waste multiple CPU cores utilization. Verification of 1 fingerprint pair utilizes just one CPU core. If user record contains multiple corresponding fingerprint pairs, multiple CPU cores are utilized for verification (IEngine_MatchUsers). (SDK-1787)
- Error reporting improved in case of invalid connection string (SDK-1839)
- IEngine_InitUser failed when initialized connection was closed before (SDK-1849)
- now every connection can be closed except global (implicit)
- (Multi): IFace related errors propagaton fixed (SDK-1856)
- (Multi): Added matchIris and matchIrises method to Java connector (SDK-2022)
- IEngine_GetHwid now returns correct errors (SDK-1180, SDK-1313)
- Windows License Manager now returns same HWID, even if USB drive attached (SDK-1875)
- Linux License Manager shows license info even if license file is corrupted (SDK-530)
- User included more times in findUserByQuery and findUser results (SDK-1277)
- (Multi): IDKit Multi not initialized without IFace flag in license (SDK-1936)
- Documentation improvements and fixes (SDK-1945, SDK-1914)
- fixed error names in doc and header
- added information that matching functions are not commutative
- (Multi) IEngine_SetIrisPosition not implemented
- (Multi) documentation of IENGINE_MATCHING_MODALITY
- (Internal): IEngine_AddFingerprintWithMinutiaePoints - no effect when different DPI parameter is set (SDK-768)
- (Internal): IEngine_AddFingerprintWithMinutiaePoints does not autodetect minutiae points in case of no minutiae points on input (SDK-1754)
[5.3.0.0] - 2018-01-25
Added
- (Multi): Iris identification added (SDK-1976)
- (Multi): Iris position and quality added (SDK-1923)
- (Multi): Added parameter CFG_IFACE_DETECT_FORCED (SDK-1920)
- by default true in PC version
- by default false in Android version - forced detection is not implemented in Android version of SDK
Changed
- (Multi): IFace library upgraded to [3.2.2]
Fixed
- Function IEngine_FindUser returns error 1160 (SDK-1838)
- Java method IDKit.findUserInSelection returns empty SearchResult if input selection array si empty (SDK-238)
- Java method IDKit.findUserInMemory is able to find first record (SDK-1789)
- (Multi): Iris extration returns error if expectedIrisRadius=1 (SDK-2018)
- Locking fixes in Java connector (SDK-157)
- (Multi): Face matching functions do not ignore similarity threshold (SDK-1828)
- Deadlock in IEngine_AddFingerprintFromUser if the same user is added (SDK-242)
[5.2.3.0] - 2018-03-28
- no changes
[5.2.2.0] - 2018-03-01
Added
- (Internal): new API for Minutiae quality - struct IENGINE_MINUTIAE contains quality of minutiae point (SDK-1679)
Fixed
- User included more times in findUserByQuery and findUser results (SDK-1277)
[5.2.1.0] - 2017-12-07 (Multi)
Fixed
- Fixed ODBC connection error in loadDatabaseTags (SDK-1937)
[5.2.0.0] - 2017-10-26 - not released in this IDKit variant
Changed
- (Multi): IFace library upgraded to [3.2.1] (SDK-1915)
- (Multi): New IRIS functionality integration - IFace SDK includes this functionality instead of Mirlin SDK (SDK-1915)
- IRIS position and quality is not implemented in this version
- API for Minutiae quality - struct IENGINE_MINUTIAE contains quality of minutiae point (SDK-1679)
Removed
- (Multi): Windows 32-bit is not supported
Fixed
- IEngine_ExportCompactTemplate throws exception when maxTemplateSize < 380 (SDK-710)
- Persistent cache growth over expected size (SDK-1765)
- IEngine_GetFingerprintPresence caused internal error (SDK-1788)
- added errors for too small and too big input image
- segfault in fingerprint template extraction (SDK-1413, SDK-1776)
- Android samples and package fixes (SDK-274)
- Linux installer script fixed (SDK-795)
- Documentation fixes and improvements (SDK-1821, SDK-1599, SDK-77, SDK-291)
- JDBC documentation fix
- Java method initClient documentation fix
[5.1.0.0] - 2017-09-07 (Multi)
Changed
- (Multi): IFace upgraded to [3.2.0]
- changed face template extraction mode for PC version (SDK-1745)
Fixed
- Windows LM: fixed failed to start error (SDK-1721)
- both Windows LM and SDK generate same Hardware ID on Windows 8 and higher (SDK-1721)
[5.0.1.0] - 2017-05-24 (Multi, PC)
- no changes
[5.0.0.0] - 2017-05-10 (Multi)
Changed
- (Multi): IFace upgraded to [3.1.0] (SDK-1561)
- LicenseManager downgraded to [2.6] on Windows (SDK-1724)
Fixed
- instalation pdf (SDK-1699)
[4.5.6.0] - 2017-04-18
Added
- (Multi): Faster facial modality identification implementation (optimizations) (SDK-1621, SDK-1671)
- identification is multi-threaded (diff vs [4.5.4])
[4.5.5.0] - 2017-04-06
Changed
- fingerprint background elimination changed for CFG_SCANNER_TYPE=MODE_ROLLED (SDK-1669)
[4.5.4.0] - 2017-03-11
Fixed
- (Multi): Performance issue in IDKit Multi (SDK-1621)
[4.5.3.0] - 2017-03-03
Fixed
- Empty user can be registered into the database (SDK-1608)
[4.5.2.0] - 2017-02-24
Fixed
- (Multi): Face identification was slowed down (SDK-1592)
- deprecated gethwid tool is not part of linux package anymore (SDK-1595)
- use linux_license_manager with option -I to generate the Hardware ID
[4.5.1.0] - 2017-02-15
Fixed
- (Multi): IEngine_AddFaceTemplate does not accept invalid template (SDK-1472)
- (Multi): IEngine_MatchFaces works correctly if Face template is added using function IEngine_AddFaceTemplate (SDK-1577)
- (Multi): Identification using faces works correctly (SDK-1565, SDK-1459)
- Linux LM accepts also em* and bond* network interfaces for HWID generation (SDK-1535)
- Linux LM shows IFace SDK in license info (SDK-1538)
[4.5.0.0] - 2017-02-
Added
- extraction algorithm improvements, more robust background elimination
- (Multi): new C API:
- IEngine_GetFaceQuality (SDK-1475)
- IEngine_MatchUsersModalities
- updated .NET and Java connector
- updated documentation
- updated samples
- fixed Java samples
Changed
- new similarity score normalization
- updated ICS template size, valid range is from 1024 B to 8192 B (SDK-1473)
Changed
- NOTE (Multi): face templates are not backward compatible
Fixed
- identification was crashing if CFG_CANDIDATES_COUNT > 1 (SDK-1513, SDK-1508)
- all samples print HWID at the beginning (SDK-1332)
- speed 4 is default identification speed (SDK-1507)
- (Multi): fixed premature IFACE_Terminate() call when using multiple IDKit connections/contexts (SDK-1498)
- (Multi): IFace DLL is installed correctly (SDK-1521)
- (Multi): All IFace plugin errors are translated correctly (SDK-1472)
- (Multi): If no face is detected during extraction IENGINE_E_BLANKIMAGE error is returned (SDK-1458)
- (Multi): Initialization does not crash if IFace is already initialized (SDK-1482)
- (Multi): Java method addFace does not ignore input parameters minEyeDist and maxEyeDist (SDK-1534)
- (Multi): IEngine_AddFaceTemplate accepted invalid template (SDK-1472)
- LicenseManager was returning different HWID than HWID expected by SDK on Windows (SDK-1281)
[4.3.2.0] - 2016-12-09
Added
- (Multi): Multimodal support (Face, Iris, LargePrint)
- Face identification using IFace v2.11.1 (1 CPU utilization only)
- Support of multimodal ICS templates (Face, Iris, LargePrint)
- Possibility to set modalitity mask of initial DB load via CFG_DB_LOAD_MODALITY_MASK property (idkit.properties)
Fixed
- There was a bug reproducible only when multiple IDKit connections are used (IEngine_InitConnection). If one connection was closed with IEngine_CloseConnection() all rest connections were not able to perform Face and Fingerprint modality operations anymore. (SDK-1498, SDK-1499)
- (Multi): IENGINE_E_BLANKIMAGE image is returned from IEngine_AddFace* operations if no face is detected on input image instead of silent addition of invalid face template (random data) into user record (SDK-1458)
- LicenseManager was returning different HWID than HWID expected by SDK on Windows (SDK-1281)
[4.1.1.0] - 2016-10-24
Fixed
- (Multi): fixed IEngine_SerializeUser API method - if face templates were present in IDKit user record during serialization, serialized data were corrupted.
28.9.2016 - [4.1.0.0]
Added
- (Multi): first IDKit Multi SDK version
- new C API for face biometry: IEngine_AddFace IEngine_AddFaceFromFile IEngine_AddFaceRAW IEngine_AddFaceTemplate IEngine_SetFace IEngine_SetFaceRAW IEngine_SetFaceTemplate IEngine_GetFaceTemplate IEngine_RemoveFace IEngine_GetFaceCount IEngine_MatchFace IEngine_MatchFaces
- Java and .NET connector with facial API
- new documentation for facial API
- new face samples
[3.1.1.0] - 2017-11-23
- no changes
[3.1.0.0] - 2017-11-22
Fixed
- (PRO): Fixed ODBC connection error in loadDatabaseTags (SDK-1937)
[3.0.16.1] - 2017-10-19
Changed
- improved identification algorithm
[3.0.16.0] - 2017-09-21
Changed
- faster fingerprint matching algorithm
[3.0.15.0] - 2017-09-11
Changed
- updated ICS template size, valid range is from 1024 B to 8192 B (SDK-1473)
Fixed
- Windows LM: fixed failed to start error (SDK-1721)
- both Windows LM and SDK generate same Hardware ID on Windows 8 and higher (SDK-1721)
- on Linux license was not found in /etc/innovatrics/ (SDK-1489)
- fixed identification paralelism - identification utilized only 1 CPU core since [2.72] (SDK-1352)
- (PRO): IEngine_GetCustomData failed when JDBC was used (SDK-1751)
- 1 fingerprint pair verification (1:1 matching) is faster and doesn't waste multiple CPU cores utilization. Verification of 1 fingerprint pair utilizes just one CPU core. If user record contains multiple corresponding fingerprint pairs, multiple CPU cores are utilized for verification (IEngine_MatchUsers). (SDK-1787)
[3.0.14.0] - 2017-05-08
Fixed
- Linux LM accepts also em* and bond* network interfaces for HWID generation (SDK-1535)
- deprecated gethwid tool is not part of linux package anymore (SDK-1595)
- use linux_license_manager with option -I to generate the Hardware ID
[3.0.13.0] - 2017-05-08
Changed
- internal changes due to Innovatrics internal release of ExpressID AFIS Government v3.0.13.0
Fixed
- ExportUserTemplate returned error IENGINE_E_NOFINGERPRINT in case of User record without any fingerprint template in it. Now it's possible to export user template without fingerprint templates (SDK-1719)
[3.0.12.1] - 2017-01-17
Fixed
- fixed identification paralelism - identification utilized only 1 CPU core since [2.72] (SDK-1352)
- this bug was not present if you were connected to ExpressID AFIS Government with IDKit
[3.0.11.0] - 2016-12-19
Added
- .NET connector: added method SaveMinutiaeImage (SDK-1396)
- all samples print HWID at the beginning (SDK-1332)
Fixed
- LicenseManager was returning different HWID than HWID expected by SDK on Windows (SDK-1281)
- fixed Java samples (SDK-1371, SDK-1433)
[3.0.10.2] - 2016-09-06
Changed
- Documentation improvements
- neater connection strings samples (SDK-1230)
Fixed
- (PRO): fixed identification paralelism - identification utilized only 1 CPU core since [2.72] (SDK-1352)
- this bug was not present if you were connected to ExpressID AFIS Government with IDKit
[3.0.9.0] - 2016-07-13
Added
- Android: added support for native image conversions in IDKit (WSQ, JPEG2K) (SDK-1209)
Changed
- Internal: CFG_IDENTIFICATION_MINUTIAE_FEATURE_MAP_BUFFER is not global parameter anymore
Fixed
- (PRO): fixed bug where loading of a very large database via JDBC would fail with 'out of memory' error (SDK-1263)
[3.0.8.0] - 2016-05-30
Changed
- Documentation improvements
- added Verification and Identification Threshold tables (SDK-1178)
- improved USB dongle Linux script help (SDK-1189)
- improved IEngine_FindUserInMemory documentation
Fixed
- (PRO): fixed tag loading in backward compatible way (SDK-1002)
- tags stored in DB by older SW versions are supported (JDBC)
[3.0.7.1] - 2016-05-13
Changed
- similarity score interval changed to <0,1000> (SDK-1070)
- improved documentation
Fixed
- fixed bug in quality calculation (function IEngine_GetFingerprintQuality) when CFG_EXTRACTOR_ALGORITHM is set to EXTRACTOR_SPEED_FAST and EXTRACTOR_SPEED_FASTEST (SDK-1133)
- (PRO) fixed problem with tag string encoding when loading user tags from DB via JDBC (SDK-1002)
- fixes error 1133 in IEngine_GetUser for user records with tags (SDK-1161)
- fixes all tag query related IDKit API. Tags were not loaded properly so tag queries were not working correctly (SDK-1161)
[3.0.6] - 2016-03-16
Added
- new version numbering MAJOR.MINOR.PATCH
- new IDKit Java wrapper ([2.10.0])
- the new Java wrapper reflects better an usage of IDKit context (IDKit connection
in C/C++ API), what leads to less programming failures (User object encapsulates IDKit object)
- old IDKit java wrapper is still available ([1.20])
- the new Java wrapper reflects better an usage of IDKit context (IDKit connection
in C/C++ API), what leads to less programming failures (User object encapsulates IDKit object)
- ISO fingerprint template extraction with improved interoperability (NIST MINEX III test)
- improved extraction, verification and identification with Innovatrics proprietary fingerprint templates (FORMAT_ICS)
- improvement calculation of fingerprint quality (IEngine_GetFingerprintQuality)
- new similarity score normalization, normalization formula is: similarity score = -10 * log10(FAR)
- new similarity score consolidation (see "4.15 Score Consolidation" in IDKit Documentation)
- added method for fast fingerprint image quality indication (IEngine_GetFingerprintPresence)
- this method is equal to IEngine_GetImageQuality in ANSI&ISO SDK and to ISegLib_GetImageQuality method in Segmentation SDK
- new identification speed (CFG_IDENTIFICATION_SPEED) levels
- level 1-4 is available in IDKit PC and IDKit PRO
- (PRO) level 5-10 is available with PREMIUM license only in ExpressID AFIS, it can be set via IDKit PRO SDK which has to be connected to ExpressID AFIS ("type=service ..." connection string)
- (PRO) new extraction algorithm EXTRACTOR_SPEED_AFIS configuration parameter (IDKit.ExtractorAlgorithm.EXTRACTOR_SPEED_AFIS property in.NET) suitable for large scale AFIS projects
- License check and information API improvements:
- New HWID for Cloud-based platforms (Amazon and Azure). Requires License Manager Server Edition, which is available for Server SDK.
- New HWID on Android (doesn't require WIFI)
- IEngine_GetLicenseInformation now returns HWID which is in license and not HWID of machine as IEngine_GetHardwareId.
- new license check related error codes which are greater than or equal to 50000. You can get license related error messages using standard IEngine_GetErrorMsg API.
- license is not automatically reloaded during operation
- Documentation improvements
Changed
- IDKit C/C++ API has changed
- added image buffer size function argument into IEngine_AddFingerprint, IEngine_SetFingerprint and IEngine_ConvertBmp2RawImage C/C++ API function (all *Ex functions were removed, e.g., IEngine_AddFingerprintEx)
- all input buffer API function argument types changed to const (e.g., "unsigned char*" changed to "const unsigned char*")
- IEngine_CharacterizeScore function was removed (including Java and .NET wrappers)
- see new similarity score normalization below
- usage of CFG_MIN_MATCHING_FINGERPRINTS is disabled
- see new score consolidation below
Fixed
- fixed memory leak in IEngine_GetFingerprintClass (SDK-1038)
[2.90] - 2016-01-12
- fixed bug in reading of UserTag when DB encryption is enabled (SDK-959)
- added check for NULL connection in IEngine_CloseConnection (SDK-854)
- (PRO) updated JDBC client
- jdbcafisclient.properties (SDK-799)
- configurable row fetch size (SDK-705)
- fixed occasional JVM crashes because of JdbAfisClient unloading after longer inactivity (SDK-781)
- fixed incorrect UserTag storage in the DB (SDK-880)
- Documentation improvements
- improved IEngine_FindUserInMemory documentation
- improvements in logging
[2.81] - 2015-05-18
- improved image conversion, all available image formats support parallel image conversions (no global locks) from now (SDK-645, SDK-215)
- added parallelism into the identification initialization phase which results into higher identification throughput
- (PRO) updated JDBC client
- updated hibernate library (supports Oracle 12c) (SDK-697)
- Windows installer now asks whether a target installation folder should be overwritten if previous/older installation is present (SDK-635)
- fixed a bug in the score consolidation (see IDKit documentation) which has been present since v2.70 and takes place only if a gallery user template contains multiple fingerprints with same position (SDK-664)
[2.75] - 2015-02-11
- fixed a bug in ICS template export (IEngine_ExportUserTemplate) when CFG_ICS_TEMPLATE_VERSION is set to [21] (ICS templates with ICRS21 in header). Invalid templates were produced which were causing failures in old IDKit versions.
[2.74] - 2015-01-07
- fixed the missing User.exportCompactTemplate, User.importCompactTemplate functions in the Java wrapper (SDK-272)
- (PRO) fixed possible inconsistency of loaded template cache when invalid/corrupted user record is in DB accessed via JDBC (SDK-391)
[2.73] - 2014-12-04
- new API calls: IEngine_ImportCompactTemplate and IEngine_ExportCompactTemplate for Innovatrics proprietary compact template support with corresponding (IDKIT-272)
- fixed possible invalid unlock failure in internal IDKit's health monitor (IDKIT-268)
- IDKit dll is now installed in windows\system32 and windows\syswow64 (PATH is not edited) (IDKIT-338)
- fixed HWID generation issue on Windows 7 and newer (IEngine_GetHardwareId returned differing HWIDs under administrator privileded account and standard user account) (IENGN-77)
- (PRO) updated JDBC client
- improved network failure detection in DB connections (EAFS-94)
- fixed a possible java out of memory error when user records load from DB is faster than their insertion into INode's template cache (EAFS-100)
- improved documentation
[2.72] - 2014-06-17
- improved samples (print HWID and version)
- updated IDKit Java wrapper (idkit.jar)
- new: minimal template size was increased from 600 to 808 bytes
- fixed: Linux: [2.70] and 2.71 failed with Illegal instruction error on machines without SSE4.2 (now IDKit doesn't require SSE4.2 strictly)
[2.71] - 2014-05-15
- (PRO) updated JDBC client (Java Database Connectivity)
- new (PRO): configurable java.library.path property in jdbc connectionString
- new: IEngine_CharacterizeScore - databaseSize and fingersCount parameter is now implemented
- new (PRO): error code 1212 (SOAP communication failed) - applied when connection string is "type=service;..."
- new: CFG_EXTRACTOR_ALGORITHM configuration parameter (IDKit.ExtractorAlgorithm property in.NET), allows to manage speed-accuracy level for extraction algorithm
- Windows: Intel OpenMp library is now linked dynamically into IDKit.dll (libiomp5md.dll is installed with IDKit.dll)
- Documentation updates
- fixed (PRO): IEngine_DeleteUser: if DB (in case of ODBC or JDBC DB connection) was down user was deleted only from user template cache (not permanently from DB)
- fixed (PRO): IEngine_UpdateUser: if DB (in case of ODBC or JDBC DB connection) was down user was deleted from user template cache and was not updated
- fixed: IEngine_ClearDatabase for Android platform (IDKit Embedded SDK for Android)
[2.70] - 2013-12-16
- new command line license manager for Linux
- new API calls: IEngine_MatchFingerprints_transformation
- new similarity score normalization, valid values are now from 0 - 10000
- new similarity score consolidation (see "4.15 Score Consolidation" in IDKit Documentation)
- default similarity threshold changed to 34 (see "4.8 Far and Threshold" in IDKit Documentation)
- (PRO) it's not recommended to connect to older ExpressID AFIS instances than [2.70] using this IDKit due to above mentioned changes in similarity score
- improved accuracy and speed of identification algorithm
[2.61] - 2013-09-30
- fixed possible crash of User record, which was created in context of IDKit connection (instance in Java or .NET) which was already freed.
- added possibility to register user with 0 fingerprints
- (PRO) added support for JDBC (Java database connectivity)
- .NET IDKit.Match now returns matching fingers count in MatchResult
- new API calls : IEngine_MatchUsersEx, IEngineMatchUserEx with matching fingers count as out param
- new API calls : IEngine_UserExists, IEngine_GetUserIfExists, IEngine_FingerprintImageExists( with Java and .NET)
- fixed update of templates ICRS22 to ICRS23 even in deserialization
[2.60] - 2013-07-16
- improved accuracy and speed of identification algorithm
- improved fingerprint template extractor accuracy
- new user template version ICRS23 (affects: IEngine_ExportUserTemplate - ICS format and internal user template)
- ODBC (PRO): default schema for PostgreSQL now uses BYTEA for binary data
- Linux: removed some shared library dependencies via static linking (sqlite, ssl, crypto)
- fixed possible bug in template cache management
- fixed Java wrapper - don't permit any operation on closed User (throws exception) and improved locking in User operations
- fixed locking of user record when freeing (IEngine_FreeUser in C/C++, User.close() in Java and User.Dispose() in .NET)
- (PRO) fixed possible timeout of clear database operation (IEngine_ClearDatabase) when large database is being cleared (in case of ODBC). Now implemented using TRUNCATE TABLE SQL statement (DDL operation).
- fixed memory access violation in case of wrong connection type in connection string (IEngine_Connect, IEngine_InitClient)
[2.54] - 2013-03-11
- new API call: IEngine_GetFingerprintClass (with .NET and Java connector)
[2.53] - 2013-02-01
- improved fingerprint template extractor accuracy
- (PRO) upgraded internal SOAP library (Linux only)
- upgraded internal image conversion library (formats: BMP, PNG, JPG, GIF, TIF)
- new functions addFingerprintEx, setFingerprintEx and convertBmp2RawImageEx with size of input image buffer as parameter (old functions are deprecated as they are unsafe)
- new CFG_EXTRACT_CRITICAL_POINTS configuration parameter (IDKit.ExtractCriticalPoints property in.NET), now ciritical point extraction is available also in IDKit Mobile and IDKit Embedded SDKs
- improved IDKit Java documentation
- new JNA library in IDKit Java wrapper
- fixed critical points extraction (core and deltas)
- fixed memory leak in FindByQuery and FindInSelection API methods
- fixed bug in verification and identification in case too many unknown fingerprints are in one user record (~ 100-160 unknown fingerprint templates per user record)
- fixed bug in IDKit Java wrapper in multi-thread context of methods getAllUserIDs, getUserIDsByQuery, findFingerprintByQuery and findUserByQuery.
[2.51] - 2012-07-31
- SQL: new DB structure with modification timestamp and CRC32 checksum for user records (please check SQL scripts)
- new error/exception IENGINE_E_USERFULL/UserFull (code 1142) - "Maximum fingerprint count in one user record is 255." It is returned instead of IENGINE_E_BADINDEX (1119) when adding additional fingerprint into user record with 255 fingerprints.
- added USB dongle license support on GNU/Linux
- improved Java connector: support for IDKit user TAGs, added find*ByQuery methods for TAG queries, user collection class, SearchResult class and new methods in RawImage
- improved logging of license check from debug level 3 (IEngine_SetParameter(CFG_LOG_LEVEL,...))
- (PRO) fixed bug in identification algorithm (speed 8-10) which could cause invalid memory access
- fixed system resource leak on MS Windows platform - thread handles were not closed in identification process (this bug was present only in previous release v2.50)
- fixed bug from release 2.50: long-lasting clear of database (IEngine_ClearDatabase) when connected to SQLite or ODBC database (PRO)
- (PRO) fixed license issue when connecting to ExpressID AFIS ("type=service; ..."), so no local license is needed when connecting to service
- (PRO) fixed bug in IEngine_GetUserCount function ( and its twins in .NET and Java connector): in case of ExpressID AFIS connection ("type=service; server=...") no error/exception was retuned/thrown by GetUserCount function/method in case of connection failure, but the error code was returned as user count.
[2.50] - 2012-02-03
- improved identification performance on multi-core CPUs
- improved accuracy and speed of identification algorithm
- added support for cores and deltas extraction, cores and deltas positions and angles are stored in ICS template (feature not implemented on embedded platforms)
- new API call: IEngine_GetDeltasAndCores (and their twins in .NET and Java connector)
- added region memory allocator for template cache on Linux (using MMAP)
- fixed user record TAGs decryption when AES encryption of database is used
- added IDKitException.getErrorCode() method in Java connector
- fixed race condition and "static initialization order fiasco in C++" in IDKit initialization (issue mainly on embedded cross-compilers).
- fixed MinutiaePoint.getAngle360() in IDKit Java connector
- improved IDKit installation script on Linux
[2.26] - 2011-10-24
- fixed bug in fingerprint template matching (verification) algorithm (division by zero)
- AddFingerprint, AddFingerprintRAW, AddFingerprintFromFile API methods enable multi-threaded execution with one user record (no internal user record lock)
- new CFG_ICS_TEMPLATE_VERSION configuration parameter
- new API method: IEngine_GetProductString
- better error message for IENGINE_E_CONTYPE
- "License is not valid for this product type" error message logged only in suitable situations
[2.25] - 2011-08-05
- new API calls: IEngine_AddFingerprintRAW, IEngine_AddFingerprintFromUser, IEngine_SetFingerprintRAW, IEngine_SetFingerprintFromUser and IEngine_ConvertImage (and their twins in .NET and Java connector)
- new CFG_MAX_ODBC_LOADING_THREADS configuration parameter
- new getLicenseInformationStatic method in Java and .NET connector
- added CFG_MIN_MATCHING_FINGERPRINTS configuration parameter documentation (+ support in Java connector)
- improved documentation of CFG_LOAD_IMAGES
- fixed memory leak in IEngine_ExportUserTemplate and related leak in IEngine_Match*, IEngine_Find*
- fix in IEngine_GetLicenseInformation when connection type is service
- fixed "two-phase buffer retrieval" in IEngine_ExportUserTemplate, IEngine_SerializeUser, IEngine_GetFingerprintImage, IEngine_GetStringTag methods (BUG: if input length > required buffer length then length parameter is not modified on output)
- Documented ODBC DSN (Data Source Name) configuration
- Java connector, Java DOC and Java samples in IDKit Linux packages
[2.24] - 2010-12-27
- removed consistent dimensions of fingerprint images within user record restriction
- new CFG_LOAD_IMAGES configuration parameter
- new CFG_DB_IMAGE_FORMAT configuration parameter
- fixed automatic SQLite database schema upgrade
- Java connector: added initWithLicense() method
- Java connector: fixed multiple connection support (initClient() method now uses default IDKit instance, which can be obtained via )
- fixed .NET and Java connector: GetHardwareId() method is now static
[2.23] - 2010-10-15
- fixed user record serialization in IDKit Mobile
- improved logging of unhandled C++ exceptions in API calls
- support for x86_64 Linux in Linux package installer script
- Windows 2000 support added
- CFG_MAX_TEMPLATE_SIZE fixed (wrong behavior in previous version)
- new API functions: IEngine_CopyUser, IEngine_GetMemoryUsage, IEngine_CharacterizeScore (also in .NET and Java connector)
- added support of multiple connections in Java connector
[2.22] - 2010-07-28
- fixed TAG bug (when users had different tags sets it was not possible to get user from DB via IEngine_GetUser(...))
- fixed USB dongle license validation
[2.21] - 2010-07-14
- new format of serialized user record (affects output of IEngine_serializeUser), which is not compatible with older one. Older version of IDKit cannot process this new format, but IDKit 2.21 processes the older format also. IEngine_SerializeUser is used also in transfer between IDKit PRO/Mobile <-> ExpressID AFIS. Older ExpressID AFIS versions do not process this new format! If you want to upgrade you have to replace all components (IDKit PRO, Dispatcher, Node) at once.
- new API functions: IEngine_GetHardwareId and IEngine_GetLicenseInformation
- JPEG2K image format support
- CFG_JPEG2K_COMPRESSION_RATIO parameter
- CFG_WSQ_BITRATE parameter
- all image formats supported on Linux 32/64bit
[2.11] - 2010-02-05
- in .NET new method is provided: IDKit.UnloadLibrary() for IDKit library unloading
- WSQ images are now exported with specified DPI and DEPTH
[2.10] - 2009-11-27
- ported to Linux, specifically Debian 5.0 32-bit/64-bit, other distributions on request
- prevented occasional crashes in FindUser caused by bogus templates
- database is not queried if the required data is already in cache; this change should improve performance of database operations like RegisterUser and GetUser
- more fine-grained locks in .NET Connector to support parallel applications
- Fingerprint constructor (.NET) accepts serialized images as byte arrays; this is useful in server environment where Image class might not be available
- fixed crash in parallel WSQ decompression
- fixed invalid index exception in User.RemoveAt in .NET
- (PRO) ODBC connection is cached so that TCP ports are not exhausted under heavy load
- removed unused IMAGEID column from table IENGINE_IDKIT_IMAGES; SQLite databases are upgraded automatically when opened; (PRO) upgrade scripts for ODBC databases are in installation folder
- removed some rarely used and deprecated functions, mostly in .NET Connector
[2.00] - 2009-06-29
- improved identification performance by 10-20% on multi-core processors
- all fingerprints in user record are used for verification and identification; previously there was a limit of 8 fingerprints actually used for matching
- improved accuracy for bitonal (black and white) images
- added connection API
- in C++, functions IEngine_InitConnection, IEngine_SelectConnection, and IEngine_CloseConnection
- in .NET, public constructor of IDKit class; the instance returned from IDKit.GetInstance() is now merely a default connection
- (PRO) it is now possible to open multiple databases or multiple connections to ExpressID AFIS (including multiple connections to the same server)
- every connection has its own set of global settings which makes it easier to write multi-threaded applications; it is also possible to create separate settings set without the need to open new connection/database
- most API calls can run concurrently to improve performance and responsiveness
- API is thread-safe and user objects can be moved between connections
- configurable maximum template size
- export/import of ANSI+ and ISO+ templates (extended ANSI and ISO templates) that contain proprietary extensions while maintaining standards-compliance
- (PRO) documented SSL/TLS encryption of client-server communication
[1.80] - 2009-04-22
- fixed incompatibility with older licenses
- fixed race condition in Java Connector
[1.79] - 2009-03-26
- fixed bug that caused occasional crashes when updating large numbers of records
[1.78] - 2009-03-18
- added tag API
- persistent string or integer tags can be attached to user records
- small subset of SQL can be used to find user records by tag values
- identification functions can be applied to tag-dependent subsets of the database (binning)
- tag queries are evaluated extremely quickly
- templates cached in memory are now protected from inadvertent random writes caused by application bugs and IDKit bugs; exception is raised in case of inadvertent write to template area
- templates are densely packed in memory, up to 90% of physical memory can be used for templates
- added functions that control logging behaviour
- IEngine_SetLogFile and CFG_LOG_LEVEL in C++
- IDKit.LogLevel and IDKit.LogFile in .NET
[1.77] - 2009-02-18
- fixed performance bug that limited identification to only one core
[1.76] - 2009-01-23
- compatibility with 64-bit operating systems
- added idkit64.dll which is a 64-bit version of idkit.dll that can be used in 64-bit applications
- .NET Connector automatically switches between idkit.dll and idkit64.dll depending on its environment
- compatibility with User Account Control (UAC) in Windows Vista
- fixed indexing of table IENGINE_IDKIT_IMAGES
- affected database types: SQLite and Oracle
- (PRO) Oracle users with old schema should run upgrade_oracle.sql
- SQLite databases are upgraded automatically
- this change considerably improves performance when retrieving images from database
- added function IEngine_InitWithLicense (C++) and method IDKit.GetInstance(byte[] license) (.NET)
- Documented relationship between similarity score and FAR
- improved performance of database transactions through use of index on table IENGINE_IDKIT_IMAGES
[1.75] - 2008-11-10
- .NET Connector is available for both .NET Framework 1.1 and 2.0 (which includes 3.0 and 3.5)
- strings passed to Connect method may contain unicode characters
- fixed installer bug affecting uninstallation
[1.74] - 2008-10-31
- added sample for Visual Basic .NET
- several changes intended to improve stability in presence of corrupted memory (large databases, application bugs, IDKit bugs)
[1.73] - 2008-09-16
- integrated database functionality is optional; added support for external database
- .NET Connector: redesigned Find/Match methods in IDKit class, added external DB support
[1.72] - 2008-08-25
- added Java Connector
[1.71] - 2008-08-08
- export function for ISO/IEC 19794-2 templates
- changed defaults for similarity threshold, maximum rotation, and identification speed
- identification speed can be selected automatically depending on database size
[1.70] - 2008-07-29
- improved documentation, especially .NET Connector documentation
- about 30 new and 10 updated methods and properties in .NET Connector intended to improve compatibility with C# and VB, ease of use, and resource usage
- about 15 deprecated methods and properties in .NET Connector, most importantly User.get/set_Item() was replaced with User.Fingerprints[]
- faster template extraction, improved accuracy of matching algorithm
- in-memory objects always keep images even if images are not stored in database
- samples have project files for both VS2003 and VS2005
- fixed: IEngine_MatchFingerprints (and IDKit.MatchFingerprints) didn't respect similarity threshold settings
- fixed: unpredictable failures caused by .NET garbage collector thread
- fixed: race rules in .NET Connector if used from multiple threads
- fixed: division by zero error in user record with high numbers of fingerprints
- fixed (PRO): MySQL script created too small BLOB columns
- fixed: C++.NET sample failed under VS2005
- fixed: several minor bugs visible under error conditions
[1.67] - 2008-05-16
- fixed bug in IEngine_GetMinutiaeImage
[1.66] - 2008-05-14
- support for rolled fingerprints
- added IEngine_GetVersionInfo that is easier to call from other languages than IEngine_GetVersion
- IEngine_FindFingerprint returns only one fingerprint per matching user
[1.65] - 2008-04-28
- fixed bug in User.Add and Fingerprint.Quality that caused exceptions related to Dispose()
- fixed function User.set_Item
[1.64] - 2008-04-17
- fixed bug in IEngine_AddFingerprint that caused occassional access violation exceptions
- fixed bug in .NET Connector that caused occassional access violation exceptions
[1.63] - 2008-04-08
- fixed bug in .NET connector relative to multi-threaded call of AddFingerprint function
- slightly increased fingerprint template extraction speed
- fixed bug in LicenseManager causing system restarts under some circumstances
[1.62] - 2008-02-14
- fixed bug introduced in [1.60] that prevented use of older templates
- LicenseManager is now compatible with Windows Vista
- fixed bug that caused multiple IDKit functions to randomly fail on some templates
- IEngine_Connect returns IENGINE_E_BADCRYPTKEY when attempting to open database with incorrect encryption key
- optimized IEngine_GetUserIDs, user IDs are cached in memory
- support for 32bpp BMP images
- .NET Connector API: constructor of User class doesn't require pointer to IDKit class
- fixed locking issues that rarely appeared in multi-threaded applications
- access denied error is now reported when creating SQLite database without sufficient privileges
[1.61] - 2008-01-16
- fixed problem with USB dongles
- compression of network traffic can be enabled from .NET Connector
- constructor of class User in .NET Connector no longer requires IDKit instance as a parameter
- fixed error reporting when trying to open encrypted database with incorrect key
[1.60] - 2007-12-20
- (ExpressID AFIS) Innovatrics Matcher was removed from IDKit PRO and it is now a core component of Innovatrics ExpressID AFIS Enterprise
[1.57] - 2007-12-19
- enhanced extraction & matching performance
- copy of idkit.dll in C:\Windows\System32\ is now upgraded automatically
- (ExpressID AFIS) Matcher automatically retries database connection after 15 seconds if the first attempt fails (useful for slowly starting database servers)
[1.56] - 2007-12-10
- fixed bug in .NET Connector function Fingerprint.GetMinutiaeImage()
[1.55] - 2007-12-05
- fixed bug in identification algorithm that reduced matching precision; this bug was introduced in [1.50]
- fixed bug in .NET Connector that caused loss of finger position information under some circumstances
[1.54] - 2007-11-15
- fixed bug in IDKit .NET connector causing multiple template extractions to be called for the same image
- fixed bug in IDKit .NET related to template import
- reduced size of ANSI templates, proprietary data is not stored in ANSI template anymore
- .NET Connector is no longer registered in Global Assembly Cache
[1.53] - 2007-10-31
- (PRO) Fixed a problem in client-server communication which caused IDKit to fail temporarily after 2 hours of inactivity
- (PRO) added support for running several clients on one PC
[1.52] - 2007-10-12
- (ExpressID AFIS) support for HTTP keep-alive in SOAP: no limit on number of requests served by IMatcher per second
[1.51] - 2007-09-25
- fixed bug in GetFingerprintQuality function. This bug was introduced in [1.50], quality scores were re-normalized, quality information is less dependent on the scanner type (50-100 indicates good fingerprint quality, 0-25 poor quality, 25-50 average quality)
[1.50] - 2007-09-10
- new identification algorithm: improved matching speed & accuracy
- smaller fingerprint templates, the average size of fingerprint template is now less than 1 kilobyte
- new memory database supports identification without storing fingerprints on disk
[1.28] - 2007-08-10
- faster image extraction (function IEngine_AddFingerprint)
- fixed several memory leaks
- enabled 3GB virtual memory mode
[1.27] - 2007-07-17
- removed popup window mentioning IDE21201.VXD that showed up in some versions of Windows
[1.26] - 2007-07-12
- (ExpressID AFIS) fixed handling of parameter CFG_STORE_IMAGES in IMatcher
[1.25] - 2007-07-11
- removed memory leak which affected most functions that communicate with IMatcher
- (ExpressID AFIS) IDKitService.exe renamed to IMatcher.exe
[1.24] - 2007-06-21
- matching scores of improved matcher introduced in 1.23 correspond better to older matching scores (matching thresholds don't need to be modified)
- (PRO) added SSL support to IDKit Server
- (PRO) fixed bug in ODBC connector for Oracle database
- fixed bug in .NET connector when creating native .NET images from scratch
[1.23] - 2007-06-12
- improved accuracy of fingerprint matcher
- possibility to call multiple add/set Fingerprint functions in parallel, these functions were made reentrant
[1.22] - 2007-04-19
- removed dependency to iwsqlib.dll (this dll is no longer needed and was removed from the project)
- introduced new functions for image conversion: IEngine_ConvertRawImage2Bmp, IEngine_ConvertBmp2RawImage
- fixed bug in IEngine_TerminateModule function
- modified idkit.lib and idkit.h file for enhanced compatibility with building tools
[1.21] - 2007-03-21
- (PRO) fixed bug in RegisterUser function. This bug concerned RegisterUser function only when working with ODBC connector connected to MSSQL server
- (ExpressID AFIS) idkitsvr.dll was removed, it is now statically linked into IDKitService.exe
[1.20] - 2007-03-08
- Better support of multiple processors and processors with multiple cores. Matching algorithm now uses optimally all available processors and cores, which results in 2x speed improvement on 2 cores processors (like Intel Core Duo) and even more on systems with more processors/cores.
- Introduced new functions:
- Possibility to save/retrieve application related data, such as user name, address, email, etc. through function IEngine_SetCustomData and IEngine_GetCustomData
- Fixed bug in IEngine_FindUserInSelection and IEngine_FindFingerprintInSelection
[1.10] - 2006-12-22
- Introduced new IDKit functions:
- Verification functions: IEngine_MatchUsers, IEngine_MatchFingerprints,
- Identification functions: IEngine_FindUserInSelection, IEngine_FindFingerprintInSelection
- Database encryption support: IEngine_SetCryptKey
- User structure serialization/deserialization: IEngine_SerializeUser, IEngine_DeserializeUser
- Templates manipulation functions: IEngine_GetMinutiaePoints, IEngine_GetMinutiaeImage, IEngine_SaveMinutiaeImage
[1.03] - 2006-12-12
- Corrected bug in IEngine_AddFingerprint, IEngine_SetFingerprint function. These functions were returning IENGINE_E_INCONSISTENTSIZE when adding multiple images to the same user with MODE_AUTHENTEC_250DPI mode set on.
[1.02] - 2006-10-28
- modified prototype of MatchUser and MatchFingerprint in Innovatrics.IEngine.dll in order to make them better compatible with C# (removed pointers from declaration)
[1.01] - 2006-06-20
- Corrected bug in IEngine_ExportUserTemplate function concerning returned length parameter when NULL template is provided on input
- Corrected bug in IEngine_RemoveUser function: the function was not removing images from database, only templates