0.5.3 (2024-05-01)
- allow did document for didcomm without authentication or keyAgreement (#1848) (5d986f0)
- anoncreds: migration script credential id (#1849) (e58ec5b)
- cheqd create from did document (#1850) (dcd028e)
- store recipient keys by default (#1847) (e9238cf)
0.5.2 (2024-04-26)
- access token can only be used for offer (#1828) (f54b90b)
- anoncreds: credential exchange record migration (#1844) (93b3986)
- anoncreds: unqualified revocation registry processing (#1833) (edc5735)
- close tenant session after migration (#1835) (eb2c513)
- node-ffi-napi compatibility (#1821) (81d351b)
- oid4vp can be used separate from idtoken (#1827) (ca383c2)
- openid4vc: update verified state for more states (#1831) (958bf64)
- remove mediation keys after hangup (#1843) (9c3b950)
- udpate cheqd deps (#1830) (6b4b71b)
- update cheqd to 2.4.2 (#1817) (8154df4)
- add disclosures so you know which fields are disclosed (#1834) (6ec43eb)
- apply new version of SD JWT package (#1787) (b41e158)
- did rotate event (#1840) (d16bebb)
- openid4vc issued state per credential (#1829) (229c621)
- queued messages reception time (#1824) (0b4b8dd)
- sort requested credentials (#1839) (b46c7fa)
- support invitationDid when creating an invitation (#1811) (e5c6698)
- tenants: return value from withTenatnAgent (#1832) (8371d87)
0.5.1 (2024-03-28)
- anoncreds w3c migration metadata (#1803) (069c9c4)
- cheqd: do not crash agent if cheqd down (#1808) (842efd4)
- import of websocket (#1804) (48b31ae)
- openid4vc: several fixes and improvements (#1795) (b83c517)
- remove strict w3c subjectId uri validation (#1805) (65f7611)
- unsubscribe from emitter after pickup completion (#1806) (9fb6ae0)
- anoncreds: expose methods and metadata (#1797) (5992c57)
- credentials api decline offer report (#1800) (15c62a8)
0.5.0 (2024-03-13)
-
abandon proof protocol if presentation fails (#1610) (b2ba7c7)
-
anoncreds: allow for zero idx to be used for revocation (#1742) (a1b9901)
-
anoncreds: only store the revocation registry definition when the state is finished (#1735) (f7785c5)
-
anoncreds: pass along options for registry and status list (#1734) (e4b99a8)
-
core: allow string for did document controller (#1644) (ed874ce)
-
core: query credential and proof records by correct DIDComm role (#1780) (add7e09)
-
query the record by credential and proof role (#1784) (d2b5cd9)
-
remove check for DifPresentationExchangeService dependency (#1702) (93d9d8b)
-
stopped recvRequest from receiving outbound messages (#1786) (2005566)
-
feat(indy-vdr)!: include config in getAllPoolTransactions (#1770) (29c589d), closes #1770
- add credo logo (#1717) (c7886cb)
- add goal codes to v2 protocols (#1739) (c5c5b85)
- add Multikey as supported vm type (#1720) (5562cb1)
- add secp256k1 diddoc and verification method (#1736) (f245386)
- add some default contexts (#1741) (0bec03c)
- add support for key type k256 (#1722) (22d5bff)
- anoncreds w3c migration (#1744) (d7c2bbb)
- anoncreds: issue revocable credentials (#1427) (c59ad59)
- bump indy-vdr version (#1637) (a641a96)
- did rotate (#1699) (adc7d4e)
- did:peer:2 and did:peer:4 support in DID Exchange (#1550) (edf493d)
- indy-vdr: ability to refresh the pool manually (#1623) (0865ea5)
- indy-vdr: register revocation registry definitions and status list (#1693) (ee34fe7)
- mesage-pickup: option for awaiting completion (#1755) (faa390f)
- New developer quality of life updates (#1766) (3c58ae0)
- openid4vc: persistance and events (#1793) (f4c386a)
- optional backup on storage migration (#1745) (81ff63c)
- present-proof: add support for aries RFC 510 (#1676) (40c9bb6)
- presentation-exchange: added PresentationExchangeService (#1672) (50db5c7)
- sd-jwt-vc: Module for Issuer, Holder and verifier (#1607) (ec3182d)
- sped up lookup for revocation registries (#1605) (32ef8c5)
- support DRPC protocol (#1753) (4f58925)
- support short legacy connectionless invitations (#1705) (34a6c9f)
- tenants: expose get all tenants on public API (#1731) (f11f8fd)
- tenants: support for tenant storage migration (#1747) (12c617e)
- update dockerfile to node 18 and sample mediator to askar (#1622) (1785479)
IndyVdrApi.getAllPoolTransactions()
now returns an array of objects containing transactions and config of each pool
{
config: IndyVdrPoolConfig;
transactions: Transactions;
}
0.4.2 (2023-10-05)
- askar: throw error if imported wallet exists (#1593) (c2bb2a5)
- cheqd: changed the name formatting to a encoded hex value (#1574) (d299f55)
- core: remove node-fetch dependency (#1578) (9ee2ce7)
- do not send package via outdated session (#1559) (de6a735)
- duplicate service ids in connections protocol (#1589) (dd75be8)
- implicit invitation to specific service (#1592) (4071dc9)
- log and throw on WebSocket sending errors (#1573) (11050af)
- oob: support oob with connection and messages (#1558) (9732ce4)
- service validation in OOB invitation objects (#1575) (91a9434)
- update tsyringe for ts 5 support (#1588) (296955b)
0.4.1 (2023-08-28)
- anoncreds: wrong key name for predicates in proof object (#1517) (d895c78)
- askar: in memory wallet creation (#1498) (4a158e6)
- check if URL already encoded (#1485) (38a0578)
- cheqd: make cosmos payer seed optional (#1547) (9377378)
- create message subscription first (#1549) (93276de)
- encode tails url (#1479) (fd190b9)
- force did:key resolver/registrar presence (#1535) (aaa13dc)
- indy-vdr: role property not included in nym request (#1488) (002be4f)
- listen to incoming messages on agent initialize not constructor (#1542) (8f2d593)
- priority sorting for didcomm services (#1555) (80c37b3)
- race condition singleton records (#1495) (6c2dda5)
- samples: mediator wallet and http transport (#1508) (04a8058)
- transport: Use connection in WebSocket ID (#1551) (8d2057f)
- anoncreds: auto create link secret (#1521) (c6f03e4)
- oob without handhsake improvements and routing (#1511) (9e69cf4)
- support askar profiles for multi-tenancy (#1538) (e448a2a)
- w3c: add convenience methods to vc and vp (#1477) (83cbfe3)
0.4.0 (2023-06-03)
-
anoncreds-rs: revocation status list as JSON (#1422) (ec5c233)
-
anoncreds-rs: save revocation registry index (#1351) (1bda3f0)
-
anoncreds: include prover_did for legacy indy (#1342) (d38ecb1)
-
anoncreds: make revocation status list inline with the spec (#1421) (644e860)
-
askar: generate nonce suitable for anoncreds (#1295) (ecce0a7)
-
connection id in sessions for new connections (#1383) (0351eec)
-
connections: store imageUrl when using DIDExchange (#1433) (66afda2)
-
core: repository event when calling deleteById (#1356) (953069a)
-
create new socket if socket state is 'closing' (#1337) (da8f2ad)
-
Emit RoutingCreated event for mediator routing record (#1445) (4145957)
-
expose indy pool configs and action menu messages (#1333) (518e5e4)
-
indy-vdr: export relevant packages from root (#1291) (b570e0f)
-
jsonld credential format identifier version (#1412) (c46a6b8)
-
reference to indyLedgers in IndyXXXNotConfiguredError (#1397) (d6e2ea2)
-
registered connection problem report message handler (#1462) (d2d8ee0)
-
remove
deleteOnFinish
and added documentation (#1418) (c8b16a6) -
return HTTP 415 if unsupported content type (#1313) (122cdde)
-
samples: dummy module response message type (#1321) (64a5da9)
-
seed and private key validation and return type in registrars (#1324) (c0e5339)
-
set updateAt on records when updating a record (#1272) (2669d7d)
-
tenant: Correctly configure storage for multi tenant agents (#1359) (7795975), closes hyperledger#1353
-
refactor!: remove Dispatcher.registerMessageHandler (#1354) (78ecf1e), closes #1354
-
refactor!: set default outbound content type to didcomm v1 (#1314) (4ab3b54), closes #1314
-
feat!: add data, cache and temp dirs to FileSystem (#1306) (ff5596d), closes #1306
- 0.4.0 migration script (#1392) (bc5455f)
- add anoncreds-rs package (#1275) (efe0271)
- Add cheqd demo and localnet for tests (#1435) (1ffb011)
- Add cheqd-sdk module (#1334) (b38525f)
- add devcontainer support (#1282) (4ac5332)
- add fetch indy schema method (#1290) (1d782f5)
- add initial askar package (#1211) (f18d189)
- add message pickup module (#1413) (a8439db)
- added endpoint setter to agent InitConfig (#1278) (1d487b1)
- allow sending problem report when declining a proof request (#1408) (b35fec4)
- anoncreds-rs: use new API methods for json conversion (#1373) (dd6c020)
- anoncreds: add anoncreds API (#1232) (3a4c5ec)
- anoncreds: add AnonCreds format services (#1385) (5f71dc2)
- anoncreds: add getCredential(s) methods (#1386) (2efc009)
- anoncreds: add legacy indy credential format (#1220) (13f3740)
- anoncreds: legacy indy proof format service (#1283) (c72fd74)
- anoncreds: store method name in records (#1387) (47636b4)
- anoncreds: support credential attribute value and marker (#1369) (5559996)
- anoncreds: use legacy prover did (#1374) (c17013c)
- askar: import/export wallet support for SQLite (#1377) (19cefa5)
- basic message pthid/thid support (#1381) (f27fb99)
- cache: add caching interface (#1229) (25b2bcf)
- core: add W3cCredentialsApi (c888736)
- default return route (#1327) (dbfebb4)
- indy sdk aries askar migration script (#1289) (4a6b99c)
- indy-vdr: add indy-vdr package and indy vdr pool (#1160) (e8d6ac3)
- indy-vdr: add IndyVdrAnonCredsRegistry (#1270) (d056316)
- indy-vdr: did:sov resolver (#1247) (b5eb08e)
- indy-vdr: module registration (#1285) (51030d4)
- indy-vdr: resolver and registrar for did:indy (#1253) (efab8dd)
- indy-vdr: schema + credential definition endorsement (#1451) (25b981b)
- indy-vdr: use @hyperledger packages (#1252) (acdb20a)
- IndyVdrAnonCredsRegistry revocation methods (#1328) (fb7ee50)
- oob: implicit invitations (#1348) (fd13bb8)
- openid4vc-client: openid authorization flow (#1384) (996c08f)
- openid4vc-client: pre-authorized (#1243) (3d86e78)
- openid4vc: jwt format and more crypto (#1472) (bd4932d)
- optional routing for legacy connectionless invitation (#1271) (7f65ba9)
- outbound message send via session (#1335) (582c711)
- proofs: sort credentials based on revocation (#1225) (0f6d231)
- support for did:jwk and p-256, p-384, p-512 (#1446) (700d3f8)
- support more key types in jws service (#1453) (8a3f03e)
Dispatcher.registerMessageHandler
has been removed in favour ofMessageHandlerRegistry.registerMessageHandler
. If you want to register message handlers in an extension module, you can use directlyagentContext.dependencyManager.registerMessageHandlers
.
Signed-off-by: Ariel Gentile [email protected]
- Agent default outbound content type has been changed to DIDComm V1. If you want to use former behaviour, you can do it so by manually setting
didcommMimeType
inAgent
's init config:
const agent = new Agent({ config: {
...
didCommMimeType: DidCommMimeType.V0
}, ... })
- Agent-produced files will now be divided in different system paths depending on their nature: data, temp and cache. Previously, they were located at a single location, defaulting to a temporary directory.
If you specified a custom path in FileSystem
object constructor, you now must provide an object containing baseDataPath
, baseTempPath
and baseCachePath
. They can point to the same path, although it's recommended to specify different path to avoid future file clashes.
0.3.3 (2023-01-18)
- fix typing issues with typescript 4.9 (#1214) (087980f)
- openid4vc-client: set package to private (#1210) (c697716)
- add anoncreds package (#1118) (adba83d)
- add minimal oidc-client package (#1197) (b6f89f9)
- adding trust ping events and trust ping command (#1182) (fd006f2)
- anoncreds: add anoncreds registry service (#1204) (86647e7)
- indy-sdk: add indy-sdk package (#1200) (9933b35)
0.3.2 (2023-01-04)
0.3.1 (2022-12-27)
0.3.0 (2022-12-22)
-
connections: do not log AgentContext object (#1085) (ef20f1e)
-
connections: use new did for each connection from reusable invitation (#1174) (c0569b8)
-
expose AttachmentData and DiscoverFeaturesEvents (#1146) (e48f481)
-
invalid injection symbols in W3cCredService (#786) (38cb106)
-
problem-report: proper string interpolation (#1120) (c4e9679)
-
proofs: await shouldAutoRespond to correctly handle the check (#1116) (f294129)
-
remove sensitive information from agent config toJSON() method (#1112) (427a80f)
-
routing: add connection type on mediation grant (#1147) (979c695)
-
unable to resolve nodejs document loader in react native environment (#1003) (5cdcfa2)
-
use custom document loader in jsonld.frame (#1119) (36d4656)
-
vc: change pubKey input from Buffer to Uint8Array (#935) (80c3740)
-
refactor!: rename Handler to MessageHandler (#1161) (5e48696), closes #1161
-
feat!: use did:key in protocols by default (#1149) (9f10da8), closes #1149
-
feat(action-menu)!: move to separate package (#1049) (e0df0d8), closes #1049
-
feat(question-answer)!: separate logic to a new module (#1040) (97d3073), closes #1040
-
feat!: agent module registration api (#955) (82a17a3), closes #955
-
refactor!: module to api and module config (#943) (7cbccb1), closes #943
- add agent context provider (#921) (a1b1e5a)
- add base agent class (#922) (113a575)
- add dynamic suite and signing provider (#949) (ab8b8ef)
- add indynamespace for ledger id for anoncreds (#965) (df3777e)
- add present proof v2 (#979) (f38ac05)
- bbs createKey, sign and verify (#684) (5f91738)
- bbs: extract bbs logic into separate module (#1035) (991151b)
- dids: add did registrar (#953) (93f3c93)
- fetch verification method types by proof type (#913) (ed69dac)
- issue credentials v2 (W3C/JSON-LD) (#1092) (574e6a6)
- jsonld-credential support (#718) (ea34c47)
- ledger: smart schema and credential definition registration (#900) (1e708e9)
- oob: receive Invitation with timeout (#1156) (9352fa5)
- proofs: add getRequestedCredentialsForProofRequest (#1028) (26bb9c9)
- proofs: delete associated didcomm messages (#1021) (dba46c3)
- proofs: proof negotiation (#1131) (c752461)
- proofs: proofs module migration script for 0.3.0 (#1020) (5e9e0fc)
- remove keys on mediator when deleting connections (#1143) (1af57fd)
- routing: add reconnection parameters to RecipientModuleConfig (#1070) (d4fd1ae)
- specify httpinboundtransport path (#1115) (03cdf39)
- tenants: initial tenants module (#932) (7cbd08c)
- tenants: tenant lifecycle (#942) (adfa65b)
- vc: delete w3c credential record (#886) (be37011)
- w3c: add custom document loader option (#1159) (ff6abdf)
- Handler has been renamed to MessageHandler to be more descriptive, along with related types and methods. This means:
Handler is now MessageHandler HandlerInboundMessage is now MessageHandlerInboundMessage Dispatcher.registerHandler is now Dispatcher.registerMessageHandlers
useDidKeyInProtocols
configuration parameter is now enabled by default. If your agent only interacts with modern agents (e.g. AFJ 0.2.5 and newer) this will not represent any issue. Otherwise it is safer to explicitly set it tofalse
. However, keep in mind that we expect this setting to be deprecated in the future, so we encourage you to update all your agents to use did:key.- action-menu module has been removed from the core and moved to a separate package. To integrate it in an Agent instance, it can be injected in constructor like this:
const agent = new Agent({
config: {
/* config */
},
dependencies: agentDependencies,
modules: {
actionMenu: new ActionMenuModule(),
/* other custom modules */
},
})
Then, module API can be accessed in agent.modules.actionMenu
.
- question-answer module has been removed from the core and moved to a separate package. To integrate it in an Agent instance, it can be injected in constructor like this:
const agent = new Agent({
config: {
/* config */
},
dependencies: agentDependencies,
modules: {
questionAnswer: new QuestionAnswerModule(),
/* other custom modules */
},
})
Then, module API can be accessed in agent.modules.questionAnswer
.
- custom modules have been moved to the .modules namespace. In addition the agent constructor has been updated to a single options object that contains the
config
anddependencies
properties. Instead of constructing the agent like this:
const agent = new Agent(
{
/* config */
},
agentDependencies
)
You should now construct it like this:
const agent = new Agent({
config: {
/* config */
},
dependencies: agentDependencies,
})
This allows for the new custom modules to be defined in the agent constructor.
-
queryFeatures
method parameters have been unified to a singleQueryFeaturesOptions
object that requires specification of Discover Features protocol to be used.
isProtocolSupported
has been replaced by the more general synchronous mode ofqueryFeatures
, which works whenawaitDisclosures
in options is set. Instead of returning a boolean, it returns an object with matching features- Custom modules implementing protocols must register them in Feature Registry in order to let them be discovered by other agents (this can be done in module
register(dependencyManager, featureRegistry)
method)
- All module api classes have been renamed from
XXXModule
toXXXApi
. A module now represents a module plugin, and is separate from the API of a module. If you previously imported e.g. theCredentialsModule
class, you should now import theCredentialsApi
class - To make AFJ multi-tenancy ready, all services and repositories have been made stateless. A new
AgentContext
is introduced that holds the current context, which is passed to each method call. The public API hasn't been affected, but due to the large impact of this change it is marked as breaking.
0.2.5 (2022-10-13)
- oob: allow encoding in content type header (#1037) (e1d6592)
- oob: set connection alias when creating invitation (#1047) (7be979a)
- connection type (#994) (0d14a71)
- expose findAllByQuery method in modules and services (#1044) (9dd95e8)
- improve sending error handling (#1045) (a230841)
- possibility to set masterSecretId inside of WalletConfig (#1043) (8a89ad2)
- use did:key flag (#1029) (8efade5)
0.2.4 (2022-09-10)
- avoid crash when an unexpected message arrives (#1019) (2cfadd9)
- ledger: check taa version instad of aml version (#1013) (4ca56f6)
- ledger: remove poolConnected on pool close (#1011) (f0ca8b6)
- question-answer: question answer protocol state/role check (#1001) (4b90e87)
- Action Menu protocol (Aries RFC 0509) implementation (#974) (60a8091)
- routing: add settings to control back off strategy on mediator reconnection (#1017) (543437c)
0.2.3 (2022-08-30)
- export the KeyDerivationMethod (#958) (04ab1cc)
- expose oob domain (#990) (dad975d)
- generic-records: support custom id property (#964) (0f690a0)
- always initialize mediator (#985) (b699977)
- delete by record id (#983) (d8a30d9)
- ledger: handle REQNACK response for write request (#967) (6468a93)
- OOB public did (#930) (c99f3c9)
- proofs: present proof as nested protocol (#972) (52247d9)
- routing: manual mediator pickup lifecycle management (#989) (69d4906)
- routing: pickup v2 mediator role basic implementation (#975) (a989556)
- routing: support promise in message repo (#959) (79c5d8d)
0.2.2 (2022-07-15)
- oob: support fetching shortened invitation urls (#840) (60ee0e5)
- routing: support did:key in RFC0211 (#950) (dc45c01)
0.2.1 (2022-07-08)
- clone record before emitting event (#938) (f907fe9)
- missing module exports (#927) (95f90a5)
- oob: support legacy prefix in attachments (#931) (82863f3)
- credentials: added credential sendProblemReport method (#906) (90dc7bb)
- initial plugin api (#907) (6d88aa4)
- oob: allow to append attachments to invitations (#926) (4800700)
- routing: add routing service (#909) (6e51e90)
0.2.0 (2022-06-24)
- add BBS context to DidDoc (#789) (c8ca091)
- add oob state and role check (#777) (1c74618)
- agent isinitialized on shutdown (#665) (d1049e0)
- allow agent without inbound endpoint to connect when using multi-use invitation (#712) (01c5bb3), closes #483
- basic-message: assert connection is ready (#657) (9f9156c)
- check for "REQNACK" response from indy ledger (#626) (ce66f07)
- check proof request group names do not overlap (#638) (0731ccd)
- clone record before emitting event (#833) (8192861)
- close session early if no return route (#715) (2e65408)
- connections: allow ; to convert legacy did (#882) (448a29d)
- connections: didexchange to connection state (#823) (dda1bd3)
- connections: fix log of object in string (#904) (95d893e)
- connections: set image url in create request (#896) (8396965)
- core: allow JSON as input for indy attributes (#813) (478fda3)
- core: error if unpacked message does not match JWE structure (#639) (c43cfaa)
- core: expose CredentialPreviewAttribute (#796) (65d7f15)
- core: set tags in MediationRecord constructor (#686) (1b01bce)
- credential preview attributes mismatch schema attributes (#625) (c0095b8)
- credentials: add missing issue credential v1 proposal attributes (#798) (966cc3d)
- credentials: default for credentials in exchange record (#816) (df1a00b)
- credentials: do not store offer attributes (#892) (39c4c0d)
- credentials: indy cred attachment format (#862) (16935e2)
- credentials: miscellaneous typing issues (#880) (ad35b08)
- credentials: parse and validate preview @type (#861) (1cc8f46)
- credentials: proposal preview attribute (#855) (3022bd2)
- credentials: store revocation identifiers (#864) (7374799)
- credentials: use interface in module api (#856) (58e6603)
- delete credentials (#766) (cbdff28)
- delete credentials (#770) (f1e0412)
- did sov service type resolving (#689) (dbcd8c4)
- disallow floating promises (#704) (549647d)
- disallow usage of global buffer (#601) (87ecd8c)
- do not import from src dir (#748) (1dfa32e)
- do not import test logger in src (#746) (5c80004)
- do not use basic message id as record id (#677) (3713398)
- extract indy did from peer did in indy credential request (#790) (09e5557)
- incorrect encoding of services for did:peer (#610) (28b1715)
- indy: async ledger connection issues on iOS (#803) (8055652)
- issue where attributes and predicates match (#640) (15a5e6b)
- leading zeros in credential value encoding (#632) (0d478a7)
- mediation record checks for pickup v2 (#736) (2ad600c)
- miscellaneous issue credential v2 fixes (#769) (537b51e)
- node: allow to import node package without postgres (#757) (59e1058)
- node: only send 500 if no headers sent yet (#857) (4be8f82)
- oob: allow legacy did sov prefix (#889) (c7766d0)
- oob: check service is string instance (#814) (bd1e677)
- oob: export messages to public (#828) (10cf74d)
- oob: expose oob record (#839) (c297dfd)
- oob: expose parseInvitation publicly (#834) (5767500)
- oob: legacy invitation with multiple endpoint (#825) (8dd7f80)
- optional fields in did document (#726) (2da845d)
- process ws return route messages serially (#826) (2831a8e)
- proofs: allow duplicates in proof attributes (#848) (ca6c1ce)
- propose payload attachment in in snake_case JSON format (#775) (6c2dfdb)
- relax validation of thread id in revocation notification (#768) (020e6ef)
- remove deprecated multibase and multihash (#674) (3411f1d)
- remove unqualified did from out of band record (#782) (0c1423d)
- remove usage of const enum (#888) (a7754bd)
- routing: also use pickup strategy from config (#808) (fd08ae3)
- routing: mediation recipient role for recipient (#661) (88ad790)
- routing: remove sentTime from request message (#670) (1e9715b)
- routing: sending of trustping in pickup v2 (#787) (45b024d)
- send message to service (#838) (270c347)
- support pre-aip2 please ack decorator (#835) (a4bc215)
- update inbound message validation (#678) (e383343)
- verify jws contains at least 1 signature (#600) (9c96518)
-
delete credentials by default when deleting exchange (#767) (656ed73)
-
do not add ~service in createOOBOffer method (#772) (a541949)
-
chore!: update indy-sdk-react-native version to 0.2.0 (#754) (4146778), closes #754
- 0.2.0 migration script for connections (#773) (0831b9b)
- ability to add generic records (#702) (e617496), closes #688
- add didcomm message record (#593) (e547fb1)
- add find and save/update methods to DidCommMessageRepository (#620) (beff6b0)
- add generic did resolver (#554) (8e03f35)
- add issue credential v2 (#745) (245223a)
- add out-of-band and did exchange (#717) (16c6d60)
- add question answer protocol (#557) (b5a2536)
- add role and method to did record tags (#692) (3b6504b)
- add support for did:peer (#608) (c5c4172)
- add support for signed attachments (#595) (eb49374)
- add update assistant for storage migrations (#690) (c9bff93)
- add validation to JSON transformer (#830) (5b9efe3)
- add wallet key derivation method option (#650) (8386506)
- add wallet module with import export (#652) (6cf5a7b)
- core: add support for postgres wallet type (#699) (83ff0f3)
- core: added timeOut to the module level (#603) (09950c7)
- core: allow to set auto accept connetion exchange when accepting invitation (#589) (2d95dce)
- core: generic repository events (#842) (74dd289)
- credentials: add get format data method (#877) (521d489)
- credentials: delete associated didCommMessages (#870) (1f8b6ab)
- credentials: find didcomm message methods (#887) (dc12427)
- delete credential from wallet (#691) (abec3a2)
- extension module creation (#688) (2b6441a)
- filter retrieved credential by revocation state (#641) (5912c0c)
- indy revocation (prover & verifier) (#592) (fb19ff5)
- indy: add choice for taa mechanism (#849) (ba03fa0)
- ledger connections happen on agent init in background (#580) (61695ce)
- pickup v2 protocol (#711) (b281673)
- regex for schemaVersion, issuerDid, credDefId, schemaId, schemaIssuerDid (#679) (36b9d46)
- routing: allow to discover mediator pickup strategy (#669) (5966da1)
- support advanced wallet query (#831) (28e0ffa)
- support handling messages with different minor version (#714) (ad12360)
- support new did document in didcomm message exchange (#609) (a1a3b7d)
- support revocation notification messages (#579) (9f04375)
- support wallet key rotation (#672) (5cd1598)
- update recursive backoff & trust ping record updates (#631) (f64a9da)
- indy: the transaction author agreement acceptance mechanism was previously automatically the first acceptance mechanism from the acceptance mechanism list. With this addition, the framework never automatically selects the acceptance mechanism anymore and it needs to be specified in the transactionAuthorAgreement in the indyLedgers agent config array.
- the credentials associated with a credential exchange record are now deleted by default when deleting a credential exchange record. If you only want to delete the credential exchange record and not the associated credentials, you can pass the deleteAssociatedCredentials to the deleteById method:
await agent.credentials.deleteById('credentialExchangeId', {
deleteAssociatedCredentials: false,
})
- with the addition of the out of band module
credentials.createOutOfBandOffer
is renamed tocredentials.createOffer
and no longer adds the~service
decorator to the message. You need to calloob.createLegacyConnectionlessInvitation
afterwards to use it for AIP-1 style connectionless exchanges. See Migrating from AFJ 0.1.0 to 0.2.x for detailed migration instructions. - the connections module has been extended with an out of band module and support for the DID Exchange protocol. Some methods have been moved to the out of band module, see Migrating from AFJ 0.1.0 to 0.2.x for detailed migration instructions.
- indy-sdk-react-native has been updated to 0.2.0. The new version now depends on libindy version 1.16 and requires you to update the binaries in your react-native application. See the indy-sdk-react-native repository for instructions on how to get the latest binaries for both iOS and Android.
- The mediator pickup strategy enum value
MediatorPickupStrategy.Explicit
has been renamed toMediatorPickupStrategy.PickUpV1
to better align with the naming of the newMediatorPickupStrategy.PickUpV2
- attachment method
getDataAsJson
is now located one level up. So instead ofattachment.data.getDataAsJson()
you should now callattachment.getDataAsJson()
- add details to connection signing error (#484) (e24eafd)
- add error message to log (#342) (a79e4f4)
- add option check to attribute constructor (#450) (8aad3e9)
- Add samples folder as test root (#215) (b6a3c1c)
- added ariesframeworkerror to httpoutboundtransport (#438) (ee1a229)
- alter mediation recipient websocket transport priority (#434) (52c7897)
- check instance types of record properties (#163) (cc61c80)
- connection record type was BaseRecord (#278) (515395d)
- convert from buffer now also accepts uint8Array (#283) (dae123b)
- core: convert legacy prefix for inner msgs (#479) (a2b655a)
- core: do not throw error on timeout in http (#512) (4e73a7b)
- core: do not use did-communication service (#402) (cdf2edd)
- core: export AgentMessage (#480) (af39ad5)
- core: expose record metadata types (#556) (68995d7)
- core: fix empty error log in console logger (#524) (7d9c541)
- core: improve wallet not initialized error (#513) (b948d4c)
- core: improved present-proof tests (#482) (41d9282)
- core: log errors if message is undeliverable (#528) (20b586d)
- core: remove isPositive validation decorators (#477) (e316e04)
- core: remove unused url import (#466) (0f1323f)
- core: requested predicates transform type (#393) (69684bc)
- core: send messages now takes a connection id (#491) (ed9db11)
- core: using query-string to parse URLs (#457) (78e5057)
- Correctly persist createdAt attribute (#119) (797a112), closes #118
- date parsing (#426) (2d31b87)
- export indy pool config (#504) (b1e2b8c)
- export module classes from framework root (#315) (a41cc75)
- export ProofsModule to public API (#325) (f2e3a06)
- handle receive message promise rejection (#318) (ca6fb13)
- include error when message cannot be handled (#533) (febfb05)
- incorrect recip key with multi routing keys (#446) (db76823)
- legacy did:sov prefix on invitation (#216) (dce3081)
- make presentation proposal optional (#197) (1c5bfbd)
- make records serializable (#448) (7e2946e)
- mediator transports (#419) (87bc589)
- mediator updates (#432) (163cda1)
- monorepo release issues (#386) (89a628f)
- node: node v12 support for is-indy-installed (#542) (17e9157)
- proof configurable on proofRecord (#397) (8e83c03)
- redux-store: add reducers to initializeStore (#413) (d9aeabf)
- redux-store: credential and proof selector by id (#407) (fd8933d)
- Remove apostrophe from connection request message type (#364) (ee81d01)
- remove dependency on global types (#327) (fb28935)
- removed check for senderkey for connectionless exchange (#555) (ba3f17e)
- return valid schema in create schema method (#193) (4ca020b)
- revert target back to es2017 (#319) (9859db1)
- revert to ES2017 to fix function generator issues in react native (#226) (6078324)
- support mediation for connectionless exchange (#577) (3dadfc7)
- test failing because of moved import (#282) (e5efce0)
- their did doc not ours (#436) (0226609)
- use both thread id and connection id (#299) (3366a55)
- Use custom make-error with cause that works in RN (#285) (799b6c8)
- websocket and fetch fix for browser (#291) (84e570d)
- make a connection with mediator asynchronously (#231) (bafa839)
- fix(core)!: Improved typing on metadata api (#585) (4ab8d73), closes #585
- fix(core)!: update class transformer library (#547) (dee03e3), closes #547
- fix(core)!: prefixed internal metadata with _internal/ (#535) (aa1b320), closes #535
- feat(core)!: metadata on records (#505) (c92393a), closes #505
- fix(core)!: do not request ping res for connection (#527) (3db5519), closes #527
- refactor(core)!: simplify get creds for proof api (#523) (ba9698d), closes #523
- fix(core)!: improve proof request validation (#525) (1b4d8d6), closes #525
- feat(core)!: added basic message sent event (#507) (d2c04c3), closes #507
- Add assertions for credential state transitions (#130) (00d2b1f), closes #123
- add credential info to access attributes (#254) (2fef3aa)
- add delete methods to services and modules (#447) (e7ed602)
- add dependency injection (#257) (1965bfe)
- add from record method to cred preview (#428) (895f7d0)
- add inbound message queue (#339) (93893b7)
- add internal http outbound transporter (#255) (4dd950e)
- add internal polling inbound transporter (#323) (6dd273b)
- add internal ws outbound transporter (#267) (2933207)
- add isInitialized agent property (#293) (deb5554)
- add multiple inbound transports (#433) (56cb9f2)
- add problem report protocol (#560) (baee5db)
- add support for Multibase, Multihash and Hashlinks (#263) (36ceaea)
- add support for RFC 0211 mediator coordination (2465d4d)
- Add support for WebSocket transports (#256) (07b479f)
- add toJson method to BaseRecord (#455) (f3790c9)
- Added attachment extension (#266) (e8ab5fa)
- added decline credential offer method (#416) (d9ac141)
- added declined proof state and decline method for presentations (e5aedd0)
- added their label to the connection record (#370) (353e1d8)
- adds support for linked attachments (#320) (ea91559)
- allow for lazy wallet initialization (#331) (46918a1)
- allow to use legacy did sov prefix (#442) (c41526f)
- auto accept proofs (#367) (735d578)
- automatic transformation of record classes (#253) (e07b90e)
- break out indy wallet, better indy handling (#396) (9f1a4a7)
- core: add discover features protocol (#390) (3347424)
- core: add support for multi use inviations (#460) (540ad7b)
- core: connection-less issuance and verification (#359) (fb46ade)
- core: d_m invitation parameter and invitation image (#456) (f92c322)
- core: ledger module registerPublicDid implementation (#398) (5f2d512)
- core: store mediator id in connection record (#503) (da51f2e)
- core: support image url in invitations (#463) (9fda24e)
- core: support multiple indy ledgers (#474) (47149bc)
- core: update agent label and imageUrl plus per connection label and imageUrl (#516) (5e9a641)
- core: validate outbound messages (#526) (9c3910f)
- expose wallet API (#566) (4027fc9)
- generic attachment handler (#578) (4d7d3c1)
- method to retrieve credentials for proof request (#329) (012afa6)
- negotiation and auto accept credentials (#336) (55e8697)
- node: add http and ws inbound transport (#392) (34a6ff2)
- node: add is-indy-installed command (#510) (e50b821)
- only connect to ledger when needed (#273) (a9c261e)
- Pack and send a message based on DidDoc services (#304) (6a26337)
- redux-store: add mediation store (#424) (03e4341)
- redux-store: move from mobile agent repo (#388) (d84acc7)
- redux: delete credentialRecord and proofRecord (#421) (9fa6c6d)
- support newer did-communication service type (#233) (cf29d8f)
- support node v12+ (#294) (6ec201b)
- use computed tags for records (#313) (4e9a48b)
- Use session to send outbound message (#362) (7366ca7)
- removed the getAll() function.
- The agent’s
shutdown
method does not delete the wallet anymore. If you want to delete the wallet, you can do it via exposed wallet API. - class-transformer released a breaking change in a patch version, causing AFJ to break. I updated to the newer version and pinned the version exactly as this is the second time this has happened now.
- internal metadata is now prefixed with _internal to avoid clashing and accidental overwriting of internal data.
- fix(core): added _internal/ prefix on metadata
- credentialRecord.credentialMetadata has been replaced by credentialRecord.metadata.
- a trust ping response will not be requested anymore after completing a connection. This is not required, and also non-standard behaviour. It was also causing some tests to be flaky as response messages were stil being sent after one of the agents had already shut down.
- The
ProofsModule.getRequestedCredentialsForProofRequest
expected some low level message objects as input. This is not in line with the public API of the rest of the framework and has been simplified to only require a proof record id and optionally a boolean whether the retrieved credentials should be filtered based on the proof proposal (if available). - Proof request requestedAttributes and requestedPredicates are now a map instead of record. This is needed to have proper validation using class-validator.
BasicMessageReceivedEvent
has been replaced by the more generalBasicMessageStateChanged
event which triggers when a basic message is received or sent.- Tags on a record can now be accessed using the
getTags()
method. Records should be updated with this method and return the properties from the record to include in the tags. - extracts outbound transporter from Agent's constructor.