Releases: hyperledger-indy/indy-sdk
1.16.0
1.16.0 - 2020-11-17
- Removed 32-bit iOS targets
- Update Rust version to 1.46.0
- Various documentation updates, including release acceptance testing
- Add support for metrics to libindy and wrappers
- Add support for attribute value resrictions to presentation predicate restrictions
- Add support for custom loggers to libindy
- Performance improvements when ssearching wallets with large number of DIDs
- Added test_zmq tool
- LibVCX:
- Added
protocol_type:4.0implying that all inputs and outputs are expected to be in the Aries message format. - Added a new function
vcx_delete_credentialto delete credential from the wallet. - Changed behavior of
vcx_*_update_state_with_messagefunctions to not update the status of messages on the Agency. Instead, the application using VCX should care about changing of message status. - Bugfixes
- Added
- Bugfixes
1.15.0
1.15.0 - 2020-03-25
- Correction for
Fix proof verification in case of credential attribute encoded value contains leading zeros(IS-1491).
Indy 1.14.3 changes "0" to "" which leads to proof rejection. - LibVCX: Supported
protocol_version:3.0which actually is an alternative to combination of settings:protocol_version:2.0andcommunication_method:aries. - LibVCX: Fixed compatibility between proprietary (
protocol_version:2.0/1.0) and aries communication protocols (protocol_version:3.0). - Bugfixes
1.14.3 - 2020-03-04
- LibVCX:
- Removed
connection_handlefrom functions to get protocol messages. - Added ability to accept a duplicate connection by redirecting to the already existing one instead of forming a duplicate connection.
- Added a new function
vcx_disclosed_proof_decline_presentation_requestto explicitly reject a presentation request. - Added a new function
vcx_connection_infoto get information about connection.
- Removed
- Bugfixes
- Fix proof verification in case of credential attribute encoded value contains leading zeros (IS-1491).
- Fix artifacts at repo.sovrin.org for Ubuntu 18.04
- others minor bugfixes
1.14.2
- LibVCX Aries support:
- Implemented Basic Message RFC (IS-1189)
- Indy-CLI changes:
- Added new command
pool set-protocol-versionto set a protocol version that will be used for ledger requests (IS-1391). - Added new command
payment-address newthat does exactly the same work as the existingpayment-address createcommand.
The new command was added to match the naming ofdid newcommand. Thepayment-address createcommand will be removed in future releases (IS-1415).
- Added new command
- Bugfixes
- Updated behavior of
indy_store_their_didfunction to allow updating of existingtheirDIDrecord`. It can be used to rotate a pairwise key (IS-1166). - Enhanced validation of
schema_json: added check thatidis consistent withnameandversionvalues (IS-1430). - Updated Vcx library to support "names" parameter in Proof Request Revealed Attributes (IS-1381)
- Added support of the additional format of
rev_states_jsonwhich is used for proof creation. Bothrev_reg_def_idandcredential_idcan be used as map keys.
credential_idmust be used in case of proving that two credentials matching the samerev_reg_def_idare not revoked at the same timestamp (IS-1447). - others minor bugfixes
- Updated behavior of
1.14.1
1.14.0
- LibVCX Aries support:
- Implemented Trust Ping RFC (IS-1435)
- Implemented Discover Features RFC (IS-1155)
- Implemented Service Decorator RFC (IS-1449)
- Transaction author agreement changes (IS-1427):
- Extended the definition of
indy_build_txn_author_agreement_requestfunction to accept new parameters:ratification_ts- the date (timestamp) of TAA ratification by network government.retirement_ts- the date (timestamp) of TAA retirement.
- Added a new function
indy_build_disable_all_txn_author_agreements_requestto disable all Transaction Author Agreement on the ledger. - new Indy-CLI commands:
ledger disable-all-txn-author-agreements- to disable All Transaction Author Agreements on the ledger.ledger get-acceptance-mechanisms- to get a list of acceptance mechanisms set on the ledger.
- Extended the definition of
- Bugfixes
- Added validation for
noncefield in the proof request message. Now it must be a decimal number only represented as a string. It is highly recommended to useindy_generate_noncefunction to generate a correct nonce. - others minor bugfixes
- Added validation for
1.13.0
- LibVCX Aries support:
- Implemented Connection RFC (IS-1180)
- Implemented Credential Issuance RFC (IS-1393)
- Implemented Credential Presentation RFC (IS-1394)
- Integrated Connection Protocol into Dummy Cloud Agent (IS-1392)
- Added "names" parameter to Proof Request Revealed Attributes (IS-1381)
- Bugfixes:
- Fixed bool representation in Java wrapper (IS-1368)
1.12.0
- Minimal EXPERIMENTAL support of Fully-Qualified identifiers:
-
general format of fully-qualified identifier is
<prefix>:<method>:<value>. -
extended
did_infoparameter ofindy_create_and_store_my_didfunction to accepts optionalmethod_namefiled. This field should be used to create fully qualified DID. -
all functions can work with fully-qualified identifiers (new way) as well as with unqualified.
-
added a new function --
indy_to_unqualified-- that gets unqualified form of a fully qualified identifier. -
proof requests now support versioning (
verfield) -- now it specifies whether restrictions are full qualified or not.- omit or set "1.0" to use unqualified identifiers.
- set "2.0" to use fully qualified identifiers.
The same format of identifiers will be used in generated proof and must be used for proof verification.
-
added a new function --
indy_qualify_did-- that updates DID stored in the wallet to make it fully qualified, or to do other DID maintenance.- added correspondent
did qualifycommand to Indy-CLI.
- added correspondent
-
all functions in Ledger API can accept fully-qualified identifiers but always return results in an unqualified form.
-
extended VCX provisioning config to accept optional
did_methodfiled. This field should be used to create fully qualified DIDs.
-
- Migrated Android onto the API v21 and NDK 20.
- Supported MacOS builds for Indy CLI.
- Bugfixes
- Fixed
attr::{}::valueandattr::{}::markerWQL tags (IS-1363) - Fixed
attr::{}::valueverification (IS-1380, thanks @nrempel for reporting the vulnerability) - others minor bugfixes
- Fixed
1.11.1
- Supported endorsing of transactions in Indy-CLI and Libvcx.
- CLI:
- added
endorserparameter intonym,attrib,ledger,cred defcommands to set endorser for transaction. - added
ledger endorsecommand to endorse a transaction to the ledger.
- added
- Libvcx:
- added
vcx_*_prepare_for_endorser- functions forschemaandcredentialdefwhich build transaction and crete internal object in differed state. - added
vcx_*_update_state- functions to update state ofschema/credentialdefinternal object (checks if it is published on the ledger). - added
vcx_*_get_state- functions to get state ofschema/credentialdefinternal object. - added
vcx_endorse_transaction- function to endorse a transaction to the ledger.
- added
- CLI:
- Added new functions to Anoncreds API to rotate credential definition:
indy_issuer_rotate_credential_def_start- to generate temporary keys for an existing Credential Definition.
indy_issuer_rotate_credential_def_apply- to apply temporary keys as the main for an existing Credential Definition in the wallet. - Added sign/verify with payment address functions to Libvcx.
- Supported state proof verification for GET_TXN request.
- Extended
configparameter ofindy_open_pool_ledgerfunction to acceptnumber_read_nodesvalue. This value set the number of nodes to send read requests. - Extended Libvcx initialization config to accept pool configuration.
- Supported new platforms Ubuntu 18.04 and Centos:
- Updated CI pipeline to run tests.
- Updated CD pipeline to build and to publish artifacts.
- Bugfixes
1.11.0
-
Updated
indy_append_txn_author_agreement_acceptance_to_requestLibindy function to discard the time portion ofacceptance timeon appending TAA metadata into request.
It was done cause too much time precision can lead to privacy risk.NOTE that if the following points are met:
- Indy Pool consists of nodes with version less 1.9.2
- Transaction Author Agreement is set on the Pool
Requests to the Pool will fail during the day TAA was set.
-
Added new Libindy Payment API functions (
indy_build_get_payment_sources_with_from_requestandindy_parse_get_payment_sources_with_from_response) to get payment sources with pagination support.
Oldindy_build_get_payment_sources_requestandindy_parse_get_payment_sources_responsewere marked as Deprecated.NOTE that
indy_register_payment_methodAPI function was updated to accept callbacks correspondent to the new functions instead of deprecated. -
Added new Libindy Payment API functions (
indy_sign_with_addressandindy_verify_with_address) to sign/verify a message with a payment address.NOTE that
indy_register_payment_methodAPI function was updated to accept additional callbacks correspondent to the new functions.Added correspondent
payment-address sign/verifycommands to Indy CLI. -
Added new EXPEREMENTAL functions to get requirements and price for a ledger request.
- Libindy
indy_get_request_info- returns request requirements (with minimal price) correspondent to specific auth rule in case the requester can perform this action. - Libvcx
vcx_get_request_price- returns request minimal request price for performing an action in case the requester can do it.
- Libindy
-
Added a set of new Libvcx APIs around credentials and proofs that work with messages that should be exchanged without handling the transport of those messages.
This removes the dependency on an agency/cloud-agent and allows the user of the SDK to transport those messages themselves.
There are three types of functions:vcx_*_get_request_msg- gets a message that can be sent to the specified connection.vcx_*_update_state_with_message- checks for any state change from the given message and updates the the state attribute.vcx_init_minimal- initialize vcx with the minimal configuration.
-
Added new Libindy API function
indy_append_request_endorserto append Endorser to an existing request.
It allows writing transactions to the ledger with preserving an original author but by different Endorser.
An example flow can be found here -
Updated Indy CLI behavior to complete values for the following parameters: wallet names, pool names, dids, payment addresses.
-
Updated Indy CLI behavior to work with payment addresses for
ledger paymentcommand and commands providing the ability to set fees for a request. -
Added new Libindy API function
indy_generate_nonceto generate a nonce of the size recommended for usage within a proof request. -
Updated behavior of
indy_prover_create_proofto create revocation proof based onnon_revokedtimestamps within a proof request. Now onlyprimaryproof can be built ifnon_revokedintervals were not requested by a verifier. -
Updated
constraintparameter ofindy_build_auth_rule_requestLibindy Ledger API function to accept new optionaloff_ledger_signaturefield that specifies if a signature of unknown ledgerDIDis allowed for an action performing (false by default). -
Updated Indy-SDK CI/CD pipelines to test, to build and to publish Android artifacts for Libvcx.
-
Improved state proof verification to support pagination.
-
Bugfixes:
- CLI to build transactions without adding a signature.
- CLI to handle exit signals proper way.
- CLI to persist both successes and failed commands.
- Android Crash upon logging
- others minor bugfixes