Appearance
Changelog
2.13.1
- Fix: NFC session invalidation errors are no longer misclassified as connection-lost errors
2.13.0
- Improved: Compatibility with certain Asian identity documents that don't tolerate redundant application selection
- Improved: Faster error recovery when NFC connection is lost during chip communication
2.12.0
- Fix: Face image parsing for passports with non-standard DG2 encoding
2.11.0
- New: Add
connector(_:didClose:)callback that always fires when a session ends (Connector)- Provides
CloseInfowithtrigger,code,reason, andpostConfirmed - Use
info.postConfirmedto check if the result was posted successfully - Deprecates
connectorDidSuccessfullyPostToServer(useinfo.postConfirmedinstead)
- Provides
2.10.8
- Fix: more robust close handling and NFC logging
2.10.7
- Bugfix: More stable NFC handling
2.10.6
- Optimize MF/CardAccess flow (to avoid CoreNFC timeouts)
- Diagnostics: Log outbound APDU headers (no payload) for diagnostic sessions (Connector)
2.10.5
- Diagnostics: Added detailed APDU monitoring events (Connector)
- Optimize MF/CardAccess flow
2.10.2
- Diagnostics: Added monitoring events (Connector)
- Compatibility: Improving read stability on sensitive IDs (e.g. VNM).
2.10.1
- Fix: Connector: DocVal Server Passive Authentication status now correctly fails when the SOD signature is invalid. (Connector)
2.10.0
- Improve CA handover/handback flow and logging (Connector)
- Reuse DG1 provided by the server after chip authentication instead of re-reading it from the chip in connector flows. (Connector)
- Remove the extra SELECT AID after CA handback to align the connector path with the offline flow and improve compatibility with sensitive passports.
- Refine NFC progress reporting
- Improve error propagation by bridging
EmrtdReaderErrortoNSErrorwith descriptive messages instead of generic "error N". - Build: Simplify framework linking, keep CoreNFC weak-linked and prepare the xcframeworks for iOS 13+ deployment.
2.9.1
- Fix: Chip Authentication on Russian passports
- Fix: Fixes an issue with reading DG1/DG2 on some Chinese passports
- Fix: Increases compatibility with Italian ID cards
- Build: Weak-link
CoreNFCin xcframeworks so integrating apps are not forced into a strong CoreNFC dependency
2.9.0
- This repository now builds and packages both SDKs: Core (
KinegramEmrtd.xcframework) and Connector (KinegramEmrtdConnector.xcframework). - Core release process remains unchanged; Connector is published to the separate distribution repository.
2.8.1
- Fix: Deterministic continuation resumption in startWithHandover; prevent hangs on early NFC invalidation (Connector)
2.8.0
- New Feature: Add
usePACEPollingparameter to support more documents- Required for reading French ID cards (FRA ID), Omani ID cards (OMN ID), etc.
- This is an optional parameter in
readAndVerify(), to not affect existing passport reading functionality - Requires changes to your app's entitlements (add
PACEtocom.apple.developer.nfc.readersession.formats) as described in the Installation guide
- Fixed some problems reading FRA and ITA ID cards
2.7.13
- Proceed when master file selection fails
2.7.12
- Fixed incorrect success checkmark in iOS NFC sheet when passport scan was interrupted and mandatory files (DG1, DG2, SOD) were not fully read
2.7.11
- Add connection confirmation mechanism
2.7.10
- Ensure consistent user feedback for both successful and failed NFC operations
2.7.6
- Fixed progress callback for DG file reading
2.7.5
- Fixed reading problems for some German ID cards
2.7.4
- Renamed KinegramInfo to KinegramEmrtdInfo
2.7.1
- Add Privacy Manifest (PrivacyInfo.xcprivacy) for App Store privacy requirements
- Add support for server-driven Chip Authentication (Connector)
2.5.5
- Fix deployment target
2.5.4
- Improve initialization of Secure Messaging
2.5.3
- Improvements in error handling
2.5.2
- Migration to Swift 5.5 async/await syntax
- Improvements in error handling
2.4.9
- Solved issues with reading some passports
2.4.8
- Improve support for Italian ID cards
2.4.7
- Support reading Italian ID cards
2.4.6
- Fix verifying rsassaPss signatures with parameters
2.4.5
- Optimized build process
2.4.4
- Solved issues with reading images from some national ID cards
2.4.3
- Work around non-standard master file selection. This makes some national ID cards work (e.g. Morocco)
2.4.2
- Further optimizations in framework build process
2.4.1
- Optimized build process to avoid linker collisions
2.4.0
- Solved issues with reading images from some newer passports (Spain/Portugal)
- The build method has been changed so that only one
*.xcframeworkis required and the dependencies to OpenSSL and OpenJPEG are compiled into the framework. - Add Swift Package Manager (SPM) support
2.2.7
- Update podspec, specify git sources using SSH instead of HTTPS
2.2.6
- Also try SHA1 for Active Authentication ECDSA Signature verification if DG14 includes no ActiveAuthenticationInfo and SHA256 failed (Ukraine passports)
2.2.5
- Parse JPEG-2000 images (face-photo, signature) with incorrect "Capture Resolution Box" values
2.2.4
- Fix verifying SODs with inaccurate CMS SignerInfo Signer-ID (Ukraine passports)
- Add details to log in case AA fails
2.2.3
- Default to SHA256 for Active Authentication ECDSA Signature verification if DG14 includes no ActiveAuthenticationInfo
2.2.2
- Fix verifying the SOD signature
2.2.1
- Fix CA Bug where keyID is 0x00 and Parameters are ambiguous
2.2.0
- Rename library module from
emrtd-sdktoKinegramEmrtd! Update your import statements accordingly. - Update CSCA master list