Libindy 1.9 to 1.10 migration Guide

This document is written for developers using Libindy to provide necessary information and to simplify their transition to Libindy 1.10 from Libindy 1.9. If you are using older Libindy version you can check migration guides history:

Notes

Migration information is organized in tables, there are mappings for each Libindy API part of how older version functionality maps to a newer one. Functions from older version are listed in the left column, and the equivalent newer version function is placed in the right column:

  • If some function had been added, the word ‘NEW’ would be placed in the left column.
  • If some function had been deleted, the word ‘DELETED’ would be placed in the right column.
  • If some function had been deprecated, the word ‘DEPRECATED’ would be placed in the right column.
  • If some function had been changed, the current format would be placed in the right column.
  • If some function had not been changed, the symbol ‘=’ would be placed in the right column.
  • To get more details about current format of a function click on the description above it.
  • Bellow are signatures of functions in Libindy C API. The params of cb (except command_handle and err) will be result values of the similar function in any Libindy wrapper.

Libindy 1.9 to 1.10 migration Guide

Ledger API

Changes

v1.9.0 - Ledger API v1.10.0 - Ledger API
Builds a AUTH_RULES request. Request to change multiple authentication rules for a ledger transaction.
NEW
indy_build_auth_rules_request(command_handle: CommandHandle,
                              submitter_did: *const c_char,
                              rules: *const c_char,
                              cb: fn(command_handle_: CommandHandle,
                                     err: ErrorCode,
                                     request_json: *const c_char))
      

Anoncreds API

The main idea of changes performed in Anoncreds API is to provide a way to configure what tags to build on credential storage in prover wallet, tailoring data profile in storage to application search needs. So, Two new Experimental functions were added to Libindy API to achieve this goal.

v1.9.0 - Cache API v1.10.0 - Cache API
Set credential attribute tagging policy.
Writes a non-secret record marking attributes to tag, and optionally
updates tags on existing credentials on the credential definition to match.
NEW
indy_prover_set_credential_attr_tag_policy(command_handle: i32,
                                           wallet_handle: WalletHandle,
                                           cred_def_id: *const c_char,
                                           tag_attrs_json: *const c_char,
                                           retroactive: bool,
                                           cb: Option)
          
Get credential attribute tagging policy by credential definition id
NEW
indy_prover_get_credential_attr_tag_policy(command_handle: i32,
                                           wallet_handle: WalletHandle,
                                           cred_def_id: *const c_char,
                                           cb: Option)
          

Libindy 1.10.0 to 1.10.1 migration Guide

The Libindy 1.10.1 release contains fixes that don’t affect API functions.