Skip to content

Releases: openwallet-foundation/acapy

0.6.0

25 Feb 23:08
b8f28df
Compare
Choose a tag to compare

This is a significant release of ACA-Py with several new features, as well as changes to the internal architecture in order to set the groundwork for using the new shared component libraries: indy-vdr, indy-credx, and aries-askar.

Mediator support

While ACA-Py had previous support for a basic routing protocol, this was never fully developed or used in practice. Starting with this release, inbound and outbound connections can be established through a mediator agent using the Aries (Mediator Coordination Protocol)[https://github.com/hyperledger/aries-rfcs/tree/master/features/0211-route-coordination]. This work was initially contributed by Adam Burdett and Daniel Bluhm of Indicio on behalf of SICPA. Read more about mediation support.

Multi-Tenancy support

Started by BMW and completed by Animo Solutions and Anon Solutions on behalf of SICPA, this feature allows for a single ACA-Py instance to host multiple wallet instances. This can greatly reduce the resources required when many identities are being handled. Read more about multi-tenancy support.

New connection protocol(s)

In addition to the Aries 0160 Connections RFC, ACA-Py now supports the Aries DID Exchange Protocol for connection establishment and reuse, as well as the Aries Out-of-Band Protocol for representing connection invitations and other pre-connection requests.

Issue-Credential v2

This release includes an initial implementation of the Aries Issue Credential v2 protocol.

Notable changes for administrators

  • There are several new endpoints available for controllers as well as new startup parameters related to the multi-tenancy and mediator features, see the feature description pages above in order to make use of these features. Additional admin endpoints are introduced for the DID Exchange, Issue Credential v2, and Out-of-Band protocols.

  • When running aca-py start, a new wallet will no longer be created unless the --auto-provision argument is provided. It is recommended to always use aca-py provision to initialize the wallet rather than relying on automatic behaviour, as this removes the need for repeatedly providing the wallet seed value (if any). This is a breaking change from previous versions.

  • When running aca-py provision, an existing wallet will not be removed and re-created unless the --recreate-wallet argument is provided. This is a breaking change from previous versions.

  • The logic around revocation intervals has been tightened up in accordance with Present Proof Best Practices.

Notable changes for plugin writers

The following are breaking changes to the internal APIs which may impact Python code extensions.

  • Manager classes generally accept a Profile instance, where previously they accepted a RequestContext.

  • Admin request handlers now receive an AdminRequestContext as app["context"]. The current profile is available as app["context"].profile. The admin server now generates a unique context instance per request in order to facilitate multi-tenancy, rather than reusing the same instance for each handler.

  • In order to inject the BaseStorage or BaseWallet interfaces, a ProfileSession must be used. Other interfaces can be injected at the Profile or ProfileSession level. This is obtained by awaiting profile.session() for the current Profile instance, or (preferably) using it as an async context manager:

async with profile.session() as session:
   storage = session.inject(BaseStorage)
  • The inject method of a context is no longer async.

0.6.0-rc1

22 Feb 20:31
1d3903b
Compare
Choose a tag to compare
0.6.0-rc1 Pre-release
Pre-release
Merge pull request #989 from andrewwhitehead/pre-release-0.6rc1

Update version to 0.6.0-rc1

0.6.0-rc0

12 Feb 21:39
8b947be
Compare
Choose a tag to compare
0.6.0-rc0 Pre-release
Pre-release
Merge pull request #960 from andrewwhitehead/0.6-rc0

Adjust version to 0.6.0-rc0

0.5.6

19 Oct 21:59
caa306e
Compare
Choose a tag to compare
  • Fix an attempt to update the agent endpoint when configured with a read-only ledger #758

0.5.5

15 Oct 21:44
8d5e89a
Compare
Choose a tag to compare
  • Support interactions using the new https://didcomm.org message type prefix (currently opt-in via the --emit-new-didcomm-prefix flag) #705, #713
  • Updates to application startup arguments, adding support for YAML configuration #739, #746, #748
  • Add a new endpoint to check the revocation status of a stored credential #735
  • Clean up API documentation and OpenAPI definition, minor API adjustments #712, #726, #732, #734, #738, #741, #747
  • Add configurable support for unencrypted record tags #723
  • Retain more limited records on issued credentials #718
  • Fix handling of custom endpoint in connections accept-request API method #715,
    #716
  • Add restrictions around revocation registry sizes #727
  • Allow the state for revocation registry records to be set manually #708
  • Handle multiple matching credentials when satisfying a presentation request using names #706
  • Additional handling for a missing local tails file, tails file rollover process #702, #717
  • Handle unknown credential ID in create-proof API method #700
  • Improvements to revocation interval handling in presentation requests #699, #703
  • Clean up warnings on API redirects #692
  • Extensions to DID publicity status #691
  • Support Unicode text in JSON-LD credential handling #687

0.5.4

25 Aug 18:19
3ff24d5
Compare
Choose a tag to compare
  • Improvements to schema, cred def registration procedure #682, #683
  • Updates to align admin API output with documented interface #674, #681
  • Fix provisioning issue when ledger is configured as read-only #673
  • Add get-nym-role action #671
  • Basic support for w3c profile endpoint #667, #669
  • Improve handling of non-revocation interval #648, #680
  • Update revocation demo after changes to tails file handling #644
  • Improve handling of fatal ledger errors #643, #659
  • Improve did:key: handling in out-of-band protocol support #639
  • Fix crash when no public DID is configured #637
  • Fix high CPU usage when only messages pending retry are in the outbound queue #636
  • Additional unit tests for config, messaging, revocation, startup, transports #633, #641, #658, #661, #666
  • Allow forwarded messages to use existing connections and the outbound queue #631

0.5.3

25 Jul 01:44
1cc782a
Compare
Choose a tag to compare
  • Store endpoint on provisioned DID records #610
  • More reliable delivery of outbound messages and webhooks #615
  • Improvements for OpenShift pod handling #614
  • Remove support for 'on-demand' revocation registries #605
  • Sort tags in generated swagger JSON for better consistency #602
  • Improve support for multi-credential proofs #601
  • Adjust default settings for tracing and add documentation #598, #597
  • Fix reliance on local copy of revocation tails file #590
  • Improved handling of problem reports #595
  • Remove credential preview parameter from credential issue endpoint #596
  • Looser format restrictions on dates #586
  • Support names and attribute-value specifications in present-proof protocol #587
  • Misc documentation updates and unit test coverage

0.5.2

26 Jun 23:06
02a65b9
Compare
Choose a tag to compare
  • Initial out-of-band protocol support #576
  • Support provisioning a new local-only DID in the wallet, updating a DID endpoint #559, #573
  • Support pagination for holder search operation #558
  • Add raw JSON credential signing and verification admin endpoints #540
  • Catch fatal errors in admin and protocol request handlers #527, #533, #534, #539, #543, #554, #555
  • Add wallet and DID key rotation operations #525
  • Admin API documentation and usability improvements #504, #516, #570
  • Adjust the maximum number of attempts for outbound messages #501
  • Add demo support for tails server #499
  • Various credential and presentation protocol fixes and improvements #491, #494, #498, #526, #561, #563, #564, #577, #579
  • Fixes for multiple agent endpoints #495, #497
  • Additional test coverage #482, #485, #486, #487, #490, #493, #509, #553
  • Update marshmallow dependency #479

0.5.1

23 Apr 17:26
b4ba9ad
Compare
Choose a tag to compare
  • Restore previous response format for the /credential/{id} admin route #474

0.5.0

21 Apr 20:13
715e302
Compare
Choose a tag to compare
  • Add support for credential revocation and revocation registry handling, with thanks to Medici Ventures #306, #417, #425, #429, #432, #435, #441, #455
  • Breaking change Remove previous credential and presentation protocols (0.1 versions) #416
  • Add support for major/minor protocol version routing #443
  • Event tracing and trace reports for message exchanges #440
  • Support additional Indy restriction operators (>, <, <= in addition to >=) #457
  • Support signed attachments according to the updated Aries RFC 0017 #456
  • Increased test coverage #442, #453
  • Updates to demo agents and documentation #402, #403, #411, #415, #422, #423, #449, #450, #452
  • Use Indy generate_nonce method to create proof request nonces #431
  • Make request context available in the outbound transport handler #408
  • Contain indy-anoncreds usage in IndyIssuer, IndyHolder, IndyProver classes #406, #463
  • Fix issue with validation of proof with predicates and revocation support #400