eMRTD SDK iOS - Changelog
2.11.0
- New: Add
connector(_:didClose:) callback that always
fires when a session ends
- Provides
CloseInfo with trigger,
code, reason, and
postConfirmed
- Use
info.postConfirmed to check if the result was
posted successfully
- Deprecates
connectorDidSuccessfullyPostToServer (use
info.postConfirmed instead)
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
2.10.5
- Diagnostics: Added detailed APDU monitoring events
- Optimize MF/CardAccess flow
2.10.2
- Diagnostics: Added monitoring events
- Compatibility: Improving read stability on sensitive IDs
(e.g. VNM).
2.10.1
- Fix: Connector: DocVal Passive Authentication status now correctly
fails when the SOD signature is invalid.
2.10.0
- Improve CA handover/handback flow and logging: record
secure‑messaging algorithm and SSC during handover and after handback
for easier cross‑platform diagnostics.
- Reuse DG1 provided by the server after chip authentication instead
of re‑reading it from the chip in connector flows.
- 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
EmrtdReaderError
to NSError with 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
CoreNFC in 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
2.8.0
- New Feature: Add
usePACEPolling
parameter 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()
method, to not affect existing passport reading functionality
- Please be aware, that this requires changes to your app’s
entitlements (add
PACE to
com.apple.developer.nfc.readersession.formats) as described
in the README
- 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
2.5.5
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
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 *.xcframework is
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
incorect “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-sdk to
KinegramEmrtd! Update your import statements
accordingly.
- Update CSCA Master list**