Skip to content

Release 0.4.1

Choose a tag to compare

@stormer78 stormer78 released this 02 Apr 08:25
· 8 commits to main since this release
ad863e1

New

  • cli feature flag — Embeddable interactive CLI flows for 3rd-party applications. Adds dialoguer, console, and affinidi-tdk as optional dependencies. Not included in WASM builds.
  • interactive_create_did() (cli_create module) — Interactive DID creation flow with builder-based pre-configuration. Supports full interactivity, partial pre-configuration, or fully automated creation. Includes {DID} placeholder rewriting in services and VM IDs.
  • interactive_update_did() (cli_update module) — Interactive DID update flow supporting modify (document/parameters), migrate (domain move), and deactivate operations.
  • update_did() (update module) — Programmatic DID update API complementing create_did(). Supports document changes, key rotation, parameter updates (witnesses, watchers, TTL, pre-rotation, portability), domain migration, and deactivation with automatic pre-rotation teardown.
  • UpdateSecrets — Secret management type with hash-based and public-key-based lookups, bridging create → update workflows.

Improvements

  • Inline concept explanations in all interactive prompts (witnesses, pre-rotation, controllers, verification relationships, services, portability)
  • Key-type-aware verification relationships — Ed25519 skips keyAgreement (signing only), X25519 auto-assigns keyAgreement (encryption only), P-256/secp256k1/P-384 offer all relationships
  • Robust witness ID handling — Fixed dual-format support for both raw multibase keys and full did:key: DIDs
  • Key type guidance, TTL/threshold recommendations, and format hints in all prompts
  • Wizard example refactored from ~1800 lines (9 files) to ~280 lines (3 files) using library CLI flows
  • All examples updated to use create_did() and update_did() APIs with doc comments

Test Coverage

  • 441 tests total
  • 15 new update_did integration tests
  • 11 new CLI module integration tests
  • Witness tests updated to cover both raw-key and full-DID formats

Full Changelog: https://github.com/decentralized-identity/didwebvh-rs/blob/main/CHANGELOG.md