All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Changes since Multipaz 0.97.0 include:
- TODO
Changes since Multipaz 0.96.0 include:
- Export library version in
Platformsingleton. - Use correct COSE algorithm in 18013-5 DeviceRequest.
- Update to Ktor 3.x series.
- Publish JavaScript and WasmJS variants of libraries and start implementing abstractions
for the web platform, including
Cryptobacked by Web Crypto. - Add support for display data in OpenID4VCI.
- Add support for refreshing credentials using OpenID4VCI.
- Add W3C Digital Credentials support on iOS.
- Don't force KMP resources on apps using multipaz-compose.
- Simplify presentment APIs.
- Add multipaz-swift library and Swift test app.
- Update to Longfellow ZK version 0.8.6.
- DocumentCarousel UI enhancements (haptics, reordering).
- Support for creating SD-JWTs without fully recursive disclosures.
- New generic key/value storage ("Tags") for documents and credentials.
- Update Dokka to 1.2.0.
- Bug fixes.
Changes since Multipaz 0.95.0 include:
- Longfellow support for iOS, see https://youtu.be/pJPrjxGb9Ro
- Support for RICAL according to 18013-5 Second Edition drafts.
- Support for 18013-5 Second Edition in
DeviceResponse,MobileSecurityObjectincluding support for encrypted documents. Additional 18013-5 Second Edition features (mainly just the new Query Language) will be added in a future release. - Update PhotoID doctype according to latest 23220-4 draft, in particular change to the lowercase doctype and namespace name.
- OpenID4VCI fixes in response to OpenID interop event.
- ISO 18013-5 fixes in response to ISO SC17 WG10 interop event in New Zealand.
- Support for IETF Status List, Identifier List, and CRLs.
- Multiplatform file and image picker dialogs in multipaz-compose.
- DocumentCarousel composable in multipaz-compose.
- PromptModel improvements.
- DocumentStore optimizations.
- Update to Kotlin 2.2.21 and XCode 26.1.1.
Changes since Multipaz 0.94.0 include:
- Longfellow updates to latest version and compliance with latest 18013-5 Second Edition draft
- Support for Longfellow on MacOS arm64.
- Support for parsing and generating X.509 CRLs
- Merge multipaz-models library into multipaz library.
- Move W3C DC API implementations into multipaz-dcapi library.
- Support for Observe Mode
- New AsymmetricKey abstraction for nicer APIs supporting both local and remote keys.
- OpenID4VCI fixes.
- Age Verification doctype updates.
- SecureArea improvements for unlocking.
- W3C Digital Credentials API app-to-app presentment fixes on Android
- Improved HKDF and HPKE implementations
- Move some code to new Multipaz Extras repository, including multipaz-vision library.
- Support for external NFC readers connected via USB in Multipaz Test App.
- Bug fixes.
Changes since Multipaz 0.93.0 include:
- Improved and standards-compliant DCQL support in OpenID4VP implementation.
- Generalizing of the Multipaz X.509 extension including adding support for using this extension on reader certificates for conveying reader identity.
- OpenID4VCI support with
ProvisioningModelandProvisioningClient. - Support for querying and setting whether Bluetooth is enabled.
- High-level composable for simpler QR mdoc presentment.
- Support for creating AttestKey in Android Keystore Secure Area.
- Native support for W3 Digital Credentials API on Android.
- New
org.multipaz.verificationpackage with utility functions to make it easier to create W3C DC requests and validate W3C DC Responses. - Support for EU Age Verification ISO mdoc document type (
eu.europa.ec.av.1) with support for this in both the issuer, testapp, and verifier. - Support for 18013-5 Second Edition in
DeviceRequestandDeviceEngagement. Additional support 18013-5 Second Edition will appear in future releases. - New
org.multipaz.loyality.1ISO mdoc document type, for use in samples and codelabs. - Update PhotoID document type to latest ISO/IEC 23220-4 draft.
- System of Record and Issuer enhancements.
- NFC Reading enhancements.
Changes since Multipaz 0.92.1 include:
- TrustManager rearchitecture to better support applications allowing the user to add/remove/edit entries, e.g. Multipaz Identity Reader.
- W3C Digital Credential improvements on Android to include the Exchange Protocol, as required.
- Make DeviceRequestGenerator work with keys in a
SecureArea. - New system-of-record server and OpenID4VCI interoperability fixes.
- Allow scanning NFC without a dialog, for platforms that support it (e.g. Android).
- Support for Longfellow ZK and new ZKP plumbing in latest ISO/IEC 18013-5 Second Edition drafts.
- OpenID4VP 1.0 support using URI schemes.
- Support requests with multiple protocols in W3C DC API in verifier.multipaz.org and properly handle it in Multipaz Test App.
- Unit tests for Android Credential Manager Matcher.
- Face matching support in multipaz-vision, using LiteRT and FaceNet.
- Update of all dependencies to latest version, including kotlinx-datetime 0.7.1 which includes
the migration of
InstantandClockfromkotlinx.datetimetokotlin.time. - Bug fixes and other enhancements.
Changes since Multipaz 0.92.1 include:
- Fix BLE GATT on older Android devices.
- Pass the full JWS for OpenID4VCI key attestations, not just the body of the JWT.
Changes since Multipaz 0.91 include:
- Face Detection routines and Selfie detection, using MLKit
- BLE GATT data race fixes.
- Update SD-JWT implementation to properly handle non-top-level disclosures.
- Update JWE, JWS routines to work on Kotlin Multiplatform and drop dependency on Nimbus library.
- Update to latest W3C Digital Credential API.
- OpenID4VP Draft 29 support.
- OpenID4VCI interoperability fixes.
- Removal of BouncyCastle Dependency.
- Consent Prompt enhancements.
- Exporting of Android services/activities to make W3C DC API and NFC Engagement easier to implement.
- Fix for Annex C implementation discovered during interop testing ("Response" -> "response").
- Migration of all server code to use Ktor environment, making it easier to deploy.
- Stand up at https://verifier.multipaz.org, https://issuer.multipaz.org, and https://csa.multipaz.org.
- New "Raw DCQL" box in online verifier code.
- Rework QR code generation and scanning and drop some dependencies.
- Generate and publish Multipaz.xcframework w/ Package.swift file for easy consumption in Swift projects.
Changes since Multipaz 0.90 include
- Fix generated reader auth certificates to contain required extensions from ISO/IEC 18013-5:2021 Annex B.1.7.
- Multiplatform Camera composable in
multipaz-composelibrary. - OpenID4VP draft 24 updates, based on interoperability testing.
- OpenID4VCI updates.
- Preliminary ZKP support.
- Preliminary support for scanning barcodes, using MLKit.
- Updated RPC schema hash calculations to better support with different Kotlin versions.
- Better support for semantic versioning.
- New icons.
- New https://apps.multipaz.org/ website with prebuilt APKs.
This is the first release with the CHANGELOG.md file and also the first release using the new Multipaz name. Main changes since the Identity Credential version 202411.1 include:
- The project has been renamed to Multipaz and all package names have been
changed from
com.android.identitytoorg.multipaz. - New
multipaz-modelsandmultipaz-composelibraries - Removal of
appholdermodule. - Conversion of DocumentStore, Document, Credential to use suspend methods.
- Conversion of SecureArea to use suspend methods.
- Introduction of new PromptModel to handle interaction with the user for asynchronous methods on SecureArea and NFC tag reading.
- New multiplatform ASN.1 and X.509 code.
- New multiplatform ISO/IEC 18013-5 proximity presentment stack.
- New multiplatform NFC stack and NFC tag reader abstraction.
- New multiplatform storage backend.
- New presentment model and composable.
- New HTML/Markdown, Notifications, LockScreen multiplatform composables.