There are lots of exciting new features and bugfixes. Here is a more complete list of changes:
* Consensus: Add --ecdsa-keyid option to ic-starter * Consensus: Add more ECDSA metrics * Consensus: Fix ECDSA dealing dedupe logic * Consensus: Remove height field from ECDSA artifacts * Consensus: ECDSA dealing support does not contain full dealing * Consensus: Use serde_bytes in ecdsa related crypto types * Crypto: Address additional engagement notes from the NCC review * Crypto: Change TlsHandshakeCspVault.gen_tls_key_pair() to return error instead of panic on wrong inputs * Crypto: Change initial DKG dealings to be signed * Crypto: Extract Seed into a separate crate * Crypto: Reduce the size of tECDSA artifacts * Crypto: Switch crypto code from ed25519-dalek to ed25519-consensus * Crypto: Upgrade simple_asn1 from 0.5.4 to 0.6.1 * Crypto: Use Clap v3's declarative Derive API for ic-crypto-csp's command line parsing * Crypto: adding a factory for temporary crypto components. * Execution: Add canister HTTP max_response_bytes field * Execution: Bitcoin: Charge cycles for various bitcoin endpoints * Execution: Bitcoin: Enhancements to get_current_fee_percentiles API * Execution: Bitcoin: Implement a simple measure to cap how many bitcoin requests can be executed per round * Execution: Bitcoin: Implement pagination for `get_utxos` api * Execution: Remove restriction of cycle transfers from Application to Verified Application subnets * Execution: Restore instruction limit for install_code messages on verified subnets * Execution: Resuming mechanism for DTS during execution of response * Execution: StableBTreeMap: Support for generic types * Execution: Track number of canisters with old open call contexts * Execution: Bitcoin: Add `send_transaction` endpoint to management canister * Execution: Bitcoin: Cache responses for `get_current_fee_percentiles` * Execution: Bitcoin: Implement `ic_btc_canister::send_transaction()` * Message Routing: Changed OutputQueue to use Option<RequestOrResponse> * Networking: ActivateNNS-Managed Firewall Configuration * Networking: Add concurrency buffer to catchup package service * Networking: Limit canister http responses v2 * Networking: Support HEAD/POST requests * Node: Add additional HostOS notifications * Node: Add explicit sequencing for LV setup vs use * Node: Document SELinux policy * Node: Enforce security policy in prod build * Node: Include setupos base image building in CI * Node: SetupOS 2 * Node: Use a more compatible regex * Node: Use cargo config to patch webpki * Node: Use published base image for SetupOS * Orchestrator: Add reboot duration to metrics * Orchestrator: Fix a typo in the metric name * Orchestrator: Introduce utility functions ... * Orchestrator: Remove version check of unassigned nodes * Orchestrator: Replay Validation * Orchestrator: Replay certification validation * Orchestrator: remove ic-admin dependency on an admin node * Runtime: Add `ic0.performance_counter()` * Runtime: Allow ECDSA public key requests without signing enabled * Runtime: Allow users to decrease freezing threshold of frozen canisters * Runtime: Bump up the limit for file descriptors * Runtime: Deduplicate IC00 types in Registry * Runtime: Disable Wasmtime optimizations * Runtime: Introduce a parameter for allocatable compute capacity * Runtime: Introduce abstractions for paused executions in EE * Runtime: Introduce per-canister execution task queue * Runtime: Limit WASM function size * Runtime: Pass ECDSA keys to execution * Runtime: Pass ECDSA signature request key to consensus * Runtime: Set ECDSA signature price * Various tech-debt management: code refactoring, docs, bug fixes, test updates
And a complete list of changes can of course be found on GitHub.
Please reply to this message if you have any questions or comments.