v3.3.0-0.12.1
v3.3.0 Release Summary
Our latest release brings several enhancements, including an upgrade to the latest ACA-Py release, improvements in credential revocation, expanded documentation, and some important deprecations and model changes.
Below are the detailed changes, with recommended actions at the end:
⬆️ Upgrade to latest ACA-Py release (0.12.1)
- Includes latest improvements and security updates.
- The latest features, such as anoncreds support, will be implemented in a future release.
✨ Revoking a credential now asserts successful publishing
Revoking a credential with auto_publish_to_ledger=True
, or publishing pending revocations, now includes a wait to assert that revocations are successfully published to the ledger.
📝 Documentation
Our Swagger/OpenAPI documentation has seen significant improvements, with more detailed descriptions and examples to clarify the functionality of different endpoints. More documentation improvements are coming soon! In the meantime, we welcome any requests for more specific examples, use cases, or further improvements. Feel free to let us know and we can be of assistance.
⚠️ Deprecations
- Endpoint:
/v1/issuer/credentials/{credential_exchange_id}/store
- Credentials are auto-stored after being accepted, and so this endpoint is no longer needed, and marked as deprecated.
- The model
CredentialExchange
contains acredential_id
field, which is now renamed tocredential_exchange_id
, for clarity.- The old name
credential_id
is preserved for backward compatibility, and marked as deprecated.
- The old name
Note: This deprecation notice will be followed by a sunset notice in an upcoming release, after which the relevant features will be removed in subsequent release. There will be at least 1 month before removal.
🎨 Changes to our request and response models
These are mostly minor changes that may have impact on integrations.
Request Models:
CreateCredentialDefinition
request body forPOST /v1/definitions/credentials
no longer takes arevocation_registry_size
option (the maximum possible size is now always used, as this is recommended to minimise ledger write operations).RevokeCredential
request body for/v1/issuer/credentials/revoke
endpoint no longer takes acredential_definition_id
field.CreateOobInvitation
request body for/v1/oob/create-invitation
no longer takes ahandshake_protocols
field.- The
trace
field has been removed from the create and send proof request models, as this only had internal usage. - The
Credential
model used in sending LD Proof credentials now accepts an optionalcredentialStatus
. - Options when sending an LD Proof now accept a new field:
verificationMethod
.
Response Models:
DELETE /v1/connections/{connection_id}
now returns a 204 status code, instead of a 200 with an empty response.OobRecord
, the response when accepting an OOB invitation, now includes amulti_use
field, indicating if it allows for multiple uses.InvitationResult
, the response when creating a connection invitation, now has all fields required, guaranteeing they are populated in our responses.- The
DID
model, returned in our wallet-dids API, now guarantees required fields:did
,key_type
,method
,posture
,verkey
.
❗ Action Required
With regards to the deprecations:
- Ensure that the
/store
endpoint is no longer needed in your applications. - Update any usage of
credential_id
tocredential_exchange_id
when working with credential exchange records.
The following is related to fields removed from our requests. They can still be passed, but will now have no effect. We recommend:
- Remove
revocation_registry_size
when creating revocable credential definitions. - Remove
credential_definition_id
when revoking a credential. - Remove
handshake_protocols
when creating OOB invitations - Remove
trace
when creating proof requests.
With regards to changes to our response models:
- If you are asserting that a 200 status code is returned when deleting a connection record, instead of a general success response, it should now expect a 204.
For those working closely with the Swagger/OpenAPI specification:
- We recommend that users of OpenAPI autogenerated clients should regenerate the client using the latest specifications, in order to reflect all the latest updates.
If you have any questions about these changes, please feel free to contact us!
What's Changed
- 🧪 skip ledger-related tests when in regression mode by @ff137 in #807
- 🎨 Update trust registry models by @ff137 in #808
- ⬆️ Update pylint requirement from ~=3.1.0 to ~=3.2.0 by @dependabot in #809
- ⬆️ Bump helmfile/helmfile-action from 1.9.0 to 1.9.1 by @dependabot in #810
- Definitions swagger update by @cl0ete in #793
- ✨ Speed up tests by adjusting fixture scope by @ff137 in #813
- ✅ test coverage for connection routes by @ff137 in #816
- ⬆️ Update setuptools requirement from ~=69.5.1 to ~=70.0.0 by @dependabot in #819
- ⬆️ Update typing-extensions requirement from ~=4.11.0 to ~=4.12.0 by @dependabot in #822
- ⬆️ Bump SonarSource/sonarcloud-github-action from 2.1.1 to 2.2.0 by @dependabot in #823
- ⬆️ Update pylint requirement from ~=3.2.0 to ~=3.2.2 by @dependabot in #821
- ⬆️ Update uvicorn[standard] requirement from ~=0.29.0 to ~=0.30.0 by @dependabot in #828
- ⬆️ Update anyio requirement from ~=4.3.0 to ~=4.4.0 by @dependabot in #830
- ➖ Remove unused dependency:
watchfiles
by @dependabot in #829 - Add regression test logic to pipeline by @wdbasson in #806
- Swagger updates message oob by @cl0ete in #804
- Predicate proof tests by @cl0ete in #827
- ⬆️ Upgrade ACA-Py version to 0.12.1 by @ff137 in #758
- ✅ test coverage for wallet-dids routes by @ff137 in #841
- Update verifier endpoints swagger docs by @cl0ete in #781
- ✅ test coverage for issuer routes by @ff137 in #843
- 📝 Update openapi specs by @ff137 in #844
- Only comment test coverage on Pull Request by @rblaine95 in #845
- Only comment test coverage on Pull Request (Take 2) by @rblaine95 in #846
- ⬆️ Update setuptools requirement from ~=70.0.0 to ~=70.1.0 by @dependabot in #848
- ⬆️ Bump SonarSource/sonarcloud-github-action from 2.2.0 to 2.3.0 by @dependabot in #840
Full Changelog: v3.2.5-0.11.0...v3.3.0-0.12.1