Releases: hyperledger-archives/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.0
implying that all inputs and outputs are expected to be in the Aries message format. - Added a new function
vcx_delete_credential
to delete credential from the wallet. - Changed behavior of
vcx_*_update_state_with_message
functions 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.0
which actually is an alternative to combination of settings:protocol_version
:2.0
andcommunication_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_handle
from 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_request
to explicitly reject a presentation request. - Added a new function
vcx_connection_info
to 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-version
to set a protocol version that will be used for ledger requests (IS-1391). - Added new command
payment-address new
that does exactly the same work as the existingpayment-address create
command.
The new command was added to match the naming ofdid new
command. Thepayment-address create
command will be removed in future releases (IS-1415).
- Added new command
- Bugfixes
- Updated behavior of
indy_store_their_did
function to allow updating of existingtheirDID
record`. It can be used to rotate a pairwise key (IS-1166). - Enhanced validation of
schema_json
: added check thatid
is consistent withname
andversion
values (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_json
which is used for proof creation. Bothrev_reg_def_id
andcredential_id
can be used as map keys.
credential_id
must be used in case of proving that two credentials matching the samerev_reg_def_id
are 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_request
function 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_request
to 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
nonce
field in the proof request message. Now it must be a decimal number only represented as a string. It is highly recommended to useindy_generate_nonce
function 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_info
parameter ofindy_create_and_store_my_did
function to accepts optionalmethod_name
filed. 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 (
ver
field) -- 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 qualify
command 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_method
filed. 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::{}::value
andattr::{}::marker
WQL tags (IS-1363) - Fixed
attr::{}::value
verification (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
endorser
parameter intonym
,attrib
,ledger
,cred def
commands to set endorser for transaction. - added
ledger endorse
command to endorse a transaction to the ledger.
- added
- Libvcx:
- added
vcx_*_prepare_for_endorser
- functions forschema
andcredentialdef
which build transaction and crete internal object in differed state. - added
vcx_*_update_state
- functions to update state ofschema
/credentialdef
internal object (checks if it is published on the ledger). - added
vcx_*_get_state
- functions to get state ofschema
/credentialdef
internal 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
config
parameter ofindy_open_pool_ledger
function to acceptnumber_read_nodes
value. 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_request
Libindy function to discard the time portion ofacceptance time
on 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_request
andindy_parse_get_payment_sources_with_from_response
) to get payment sources with pagination support.
Oldindy_build_get_payment_sources_request
andindy_parse_get_payment_sources_response
were marked as Deprecated.NOTE that
indy_register_payment_method
API function was updated to accept callbacks correspondent to the new functions instead of deprecated. -
Added new Libindy Payment API functions (
indy_sign_with_address
andindy_verify_with_address
) to sign/verify a message with a payment address.NOTE that
indy_register_payment_method
API function was updated to accept additional callbacks correspondent to the new functions.Added correspondent
payment-address sign/verify
commands 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_endorser
to 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 payment
command and commands providing the ability to set fees for a request. -
Added new Libindy API function
indy_generate_nonce
to generate a nonce of the size recommended for usage within a proof request. -
Updated behavior of
indy_prover_create_proof
to create revocation proof based onnon_revoked
timestamps within a proof request. Now onlyprimary
proof can be built ifnon_revoked
intervals were not requested by a verifier. -
Updated
constraint
parameter ofindy_build_auth_rule_request
Libindy Ledger API function to accept new optionaloff_ledger_signature
field that specifies if a signature of unknown ledgerDID
is 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