Release 0.4.1
New
clifeature flag — Embeddable interactive CLI flows for 3rd-party applications. Addsdialoguer,console, andaffinidi-tdkas optional dependencies. Not included in WASM builds.interactive_create_did()(cli_createmodule) — 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_updatemodule) — Interactive DID update flow supporting modify (document/parameters), migrate (domain move), and deactivate operations.update_did()(updatemodule) — Programmatic DID update API complementingcreate_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()andupdate_did()APIs with doc comments
Test Coverage
- 441 tests total
- 15 new
update_didintegration 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