Abstract
The MDIP (Multi Dimensional Identity Protocol) DID method specification conforms to the requirements specified in the DID specification currently published by the W3C Credentials Community Group. For more information about DIDs and DID method specifications, please see the DID Primer.
The MDIP DID method (did:mdip) is designed to support a P2P identity layer with secure decentralized verifiable credentials. MDIP DIDs are used for agents (DID Documents containing a public key) and assets (DID Documents controlled by an Agent DID).
This open-source software is provided as-is with no guarantees. Please refer to our license for details.
Major changes and improvements in this release:
- Version 1 wallet:
- No private / public key
- Mnemonic encrypted with keymaster passphrase
- Wallet data encrypted with keys generated from mnemonic
- Adds Bitcoin Inscription mediator
- Adds credential notices
- Update Satoshi mediators to be prunable
- Make IPFS optional
- Add IPFS ClusterClient for IPFS cluster support
- Add Java implementation of the MDIP packages
- Add level-logging (debug, info, warn, error)
- Clear event queue on signature hash rather than whole operations
Note that the changes to the wallet makes starting keymaster with a passphrase mandatory, existing wallets will be automatically updated to version 1 and encrypted using the password set via KC_ENCRYPTED_PASSPHRASE.
This release is fully backward compatible with prior releases. There is no requirement to update from MDIP 1.2 unless the new features are desired. For additional information, please see the README files throughout the repository or visit our website at keychain.org.
Let us know if you're using MDIP. We welcome issues and PRs from the community.
What's Changed
- chore: keymaster export AbstractBase by @Bushstar in #1042
- feat: Enables wallet metadata by @macterra in #1046
- fix: improve layout on android by @Bushstar in #1048
- MDIP 1.3 documentation update for keychain.org website by @Flaxscrip in #1043
- chore: move snackbar into its own context by @Bushstar in #1050
- doc: Updating webui docs to MDIP 1.3 by @Flaxscrip in #1051
- chore: android cap form widths on tablet and landscape view by @Bushstar in #1053
- chore: Pinned db images by @macterra in #1055
- chore: improve dmail ui/ux by @Bushstar in #1057
- feat: Added support for notices including credentials by @macterra in #1061
- ci: add workflow for building android apk when we make a tag by @Edgeman-SelfID in #1063
- feat: Adds ability to send credential by @macterra in #1064
- fix: coveralls workflow fix permission by @Bushstar in #1069
- chore: Replaced compose dmail icon by @macterra in #1070
- chore: downloaded mobile/ext wallets should be encrypted by @Bushstar in #1072
- refactor(inscription): use Buffer in createTxs. add any Buffer to chain by @Bushstar in #1085
- feat: encrypt mnemonic with passphrase and rest of wallet with hd keys by @Bushstar in #1077
- chore: Update versions to 1.4.0-beta by @macterra in #1090
- chore: add react-wallet to services / update for desktop view by @Bushstar in #1091
- docs: Credential verification process by @macterra in #1093
- chore: fix bugs and refactor by @Bushstar in #1094
- chore: Updated architecture diagram by @macterra in #1099
- chore: reload app on service change by @Bushstar in #1100
- refactor!: Changed metadata version to string by @macterra in #1101
- refactor: Restored id to deactivated DID resolution by @macterra in #1102
- refactor: Standardize metadata datetimes by @macterra in #1103
- feat: Added didResolutionMetadata by @macterra in #1104
- chore: restore previous behaviour on reimport by @Bushstar in #1110
- refactor: Added DID resolution errors to didResolutionMetadata by @macterra in #1106
- feat(issue-1107): Return Valid MDIP Operation by @jahatch512 in #1108
- ci: add lerna for package publishing by @Edgeman-SelfID in #1111
- chore: Release 1.4-beta.1 by @macterra in #1115
- refactor!: Standardized DID resolution parameters by @macterra in #1113
- chore: Satoshi mediators remove txindex requirement by @Bushstar in #1119
- feat: add bitcoin-inscription mainnet mediator by @Bushstar in #1120
- feat: add flag to toggle keymaster/gatekeeper service clients by @Bushstar in #1121
- feat: plaintext inscription support by @Bushstar in #1127
- chore: remove node-forge by @Bushstar in #1123
- chore: make mediator read-only when export loop disabled by @Bushstar in #1125
- chore: Release 1.4-beta.2 by @Bushstar in #1129
- fix: patch bitcoin-core in mediator to not fail on undefined error by @Bushstar in #1132
- chore: return binary data in getimage by @Bushstar in #1136
- chore: improve search-server query endpoint by @Bushstar in #1135
- chore: add generateDID to the GatekeeperInterface by @Bushstar in #1138
- fix: change ordering of API calls by @Bushstar in #1140
- chore: add lerna json for building by @Edgeman-SelfID in #1130
- ci: use independent versions for packages vs. from lerna by @Edgeman-SelfID in #1141
- ci: fix flag to pass to npm by @Edgeman-SelfID in #1142
- feat(sapp858): add gereateDID and return it from createIdOperation by @jahatch512 in #1144
- chore: release 1.4.0 beta.4 by @hankbrigham in #1145
- chore(858): roll back change by @jahatch512 in #1146
- chore: 1.4.0-beta.5 by @hankbrigham in #1147
- chore: mediators reorg handling by @Bushstar in #1149
- chore: make API JSON limit configurable by @Bushstar in #1152
- chore: make maxOpBytes configurable on the server by @Bushstar in #1154
- feat: create Keymaster Java implementation by @Bushstar in #1157
- chore: prepare for publishing Java packages by @Bushstar in #1162
- chore: remove temp files by @Bushstar in #1163
- feat: IPFS ClusterClient by @Bushstar in #1160
- chore: make IPFS optional when running Gatekeeper / Hyperswarm by @Bushstar in #1166
- chore: clear queue on signature hash by @Bushstar in #1168
- chore: add level-logger by @Bushstar in #1164
- v1.4.0 by @Bushstar in #1169
New Contributors
- @jahatch512 made their first contribution in #1108
Full Changelog: v1.3.0...v1.4.0