didcomm 2.4.0
didcomm: ^2.4.0 copied to clipboard
A Dart package for implementing secure and private communication on your app using DIDComm v2 Messaging protocol.
2.4.0 #
-
FEAT: add Trust Task support for mediator administration (#88).
- feat: add Trust Task DIDComm transport for mediator administration
Affinidi mediators >= 0.31 are administered only through Trust Tasks; the legacy acl-management protocol is no longer served. Add the Trust Task document, its DIDComm envelope message and MediatorClient.sendTrustTask so clients can talk to current mediators.
Mediators store their Trust Task responses in the inbox, so TrustTaskMessage.fromJson decodes them like other protocol messages, keeping threadId and proof. It rejects a sender that differs from the document issuer, or a recipient other than the document's, since the message takes its addressing from the document. Malformed input is reported as FormatException. Proofs are carried but not verified.
- feat: add mediator access-list and account update Trust Tasks
Replace the bitmask-based acl-management bodies with typed messaging/access-list/update and messaging/account/update tasks. MediatorAcl carries named flags and sends only the ones that are set, since a non-admin DID may only change flags it can self-change.
- feat: deprecate legacy acl-management in favour of Trust Tasks
Affinidi mediators 0.31 and later answer acl-management messages with 501 not implemented. Mark AclManagementMessage, AccessListAddMessage and sendAclManagementMessage as deprecated, and move the ACL example and integration test setup to AccessListUpdateTask via sendTrustTask.
2.3.4 #
-
FIX: new mediator migration (#86).
-
fix: new mediator migration
-
fix: update ssi to 3.9.4 and pin localstack to 4.14.0
-
fix: remove wiz-scan job from CI
-
fix: dedupe messages across WS live delivery and inbox drain
-
2.3.3 #
- FIX: option to enable or disable fetching messages on connect.
2.3.2 #
- FIX: add retry logic for socket reconnection on SocketException.
2.3.1 #
-
FIX: update ServiceType handling for SSI v3 compatibility (#80).
- fix: update ServiceType handling for SSI v3 compatibility
2.3.0 #
- FEAT: deleteOn flags consolidated to deleteOnReceive (#79).
2.2.0 #
-
FEAT: reverting deleteOnMediator to allow keeping msg during live mode (#78).
-
feat: reverting deleteOnMediator to allow ws flexibility
-
feat: example updated, more on delete options added
-
fix: formatting
-
fix: linting
-
fix: doc
-
fix: doc/naming
-
2.1.0 #
- FEAT: reconnect callbacks.
2.0.3 #
- FIX: close connections at the end of each test.
- FIX: allow sequential connections.
2.0.2 #
- FIX: code generation.
- FIX: use compatible syncronized package.
- FIX: add lock to prevent steam closing when messages are still processing.
- FIX: use acl for tests and examples.
2.0.1 #
- FIX: changelog after breaking changes.
2.0.0 #
Note: This release has breaking changes.
1. MediatorClient Refactoring
- Introduced a new
MediatorClient.initfactory for easier and safer instantiation, handling key agreement and signer resolution internally. - All authentication and access token logic is now handled via a new
AuthorizationProviderabstraction. - Methods like
sendMessage,fetchMessages,listInboxMessageIds, etc., no longer require explicit access tokens; tokens are managed automatically. - WebSocket connection management is now handled via a new
Connectionclass and a singletonConnectionPoolfor concurrent connections.
2. AuthorizationProvider Abstraction
- Added
AuthorizationProviderandAffinidiAuthorizationProviderfor pluggable, extensible token management. - Token refresh and challenge-response authentication are now encapsulated and reusable.
- All mediator flows (REST and WebSocket) now support authenticated mediators out of the box.
3. Connection & ConnectionPool
- New
Connectionclass manages a single WebSocket connection and message stream. - New
ConnectionPoolsingleton manages multiple concurrent connections, subscriptions, and lifecycle. - Important: All mediator clients must be registered with the pool before calling
ConnectionPool.startConnections(). Clients added afterstartConnections()will not be managed.
4. API and Example Updates
- All examples and tests updated to use the new
MediatorClient.initandAffinidiAuthorizationProvider.initflows. - Removed legacy extension-based authentication methods.
- Simplified message sending, receiving, and inbox management APIs.
Migration Notes
- Replace direct
MediatorClientconstructors withMediatorClient.init. - Use
AffinidiAuthorizationProviderfor Affinidi mediator authentication. - Use
ConnectionPoolfor managing multiple concurrent WebSocket connections. - Remove any manual access token handling in your code.
1.1.1 #
- FIX: fetch by date and time.
1.1.0 #
- FEAT: pass close code and reason to channel onDone method.
1.0.3 #
- FIX: qeuery message.
1.0.2 #
- FIX: running tests on windows.
1.0.1 #
- FIX: release version.
1.0.0-dev.15 #
- FIX: prevent from header to be non null for anoncrypt.
- FEAT: add packIntoAnoncryptAndAuthcryptMessages. check skid and apu to be null for anoncrypt.
1.0.0-dev.14 #
- FEAT: delete messages on websockets.
1.0.0-dev.13 #
- FEAT: add oob on mediator.
- FEAT: fetch and delete messages.
1.0.0-dev.12 #
-
FEAT: add ping interval option to listenForIncomingMessages method (#59).
-
feat: add ping interval option to listenForIncomingMessages method
-
refactor: move ping interval to web socket options
-
refactor: use web socket options in toWebSocketChannel
-
refactor: remove nullable from pingIntervalInSeconds
-
docs: parameter description webSocketOptions
-
1.0.0-dev.11 #
- FEAT: organize exports.
1.0.0-dev.10 #
- FEAT: organzie package exports.
1.0.0-dev.9 #
- FIX: update to latest dart ssi.
1.0.0-dev.8 #
- FIX: analyzer issues.
1.0.0-dev.7 #
- FIX: formatted.
- FIX: doc added.
- FIX: reverted #2.
- FIX: reverted #1.
- FIX: moved acl mgmt to extensions.
- FIX: logs removed.
- FEAT: test/examples constants updated.
- FEAT: config file renamed.
- FEAT: config file renamed.
- FEAT: test evns vars updated.
- FEAT: TEST_MEDIATOR_WITH_ACL_DID added.
- FEAT: acl example added.
- FEAT: forward message abstracted in mediator client.
1.0.0-dev.6 #
- FIX: package publish.
1.0.0-dev.5 #
- FIX: a256gcp should be used only for ecdh-es.
- FEAT: add disclose message.
- FEAT: add query message.
1.0.0-dev.4 #
- FIX: use a256gcm only for anoncrypt.
1.0.0-dev.3 #
- FEAT: support p384 and p521.
1.0.0-dev.2 #
- FEAT: add problem report message.
1.0.0-dev.1 #
- FEAT: initial release