Rust SDK:
- env::executor_id() for fetching the runtime identity (no arbitrary signing, however.
- env::context_id() for fetching the context ID.
- calimero_storage::collections::{Unordered{Map,Set},Vector} for conflict-free operations
- Self::external() for external (blockchain) operations
Node:
- Removed the coordinator
- All messages sent between peers are now end-to-end encrypted
- Peers can share the application blob between one another, in case one of them doesn't have it installed
- The node has been split up into 2 binaries
- merod retains node-specific commands, init, run, config
- meroctl hosts client commands like context create, etc..
- merod config now has a generic & more flexible interface
- query & mutate in the API have now been merged into just execute
- interactive CLI now uses clap, making it more robust (merod)
- Added --output-format json for machine-readable output (meroctl)
Integrations:
- NEAR: expanded implementation to include a deployment of a proxy contract for every created context, which facilitates context representation on the network
- Starknet: reached feature parity with the NEAR implementation, allowing contexts to be created in association with the Starknet protocol.