There are lots of exciting new features and bugfixes. Here is a more complete list of changes:
* Consensus: Add canister http metrics * Consensus: Canister Http Delivery Fix * Consensus: Do a size check in `validate_ingress` * Consensus: Ensure ecdsa payload is empty when upgrading * Consensus: Fix ecdsa response delivery to not depend on state * Consensus: Fix small bug found in batch.rs * Consensus: Remove evaludate_max_rps from workload generator * Crypto: Add bls12_381 to MIRACL conversion functions * Crypto: Add support for G2Prepared and multipairings in bls12_381 wrapper * Crypto: Add support for comparison of BLS12-381 Scalars * Crypto: Create corruption functions for Threshold ECDSA types * Crypto: Remove obsolete potential error from multi-sig sign()-API * Crypto: Remove unnecessary `mut` in CSP key generation API * Crypto: Switch to using zkcrypto for hash to curve G2 * Crypto: Upgrade zkcrypto/bls12_381 to 0.7.0 to benefit from performance improvements * Execution: Provisional apis should refund cycles correctly * Execution: Reject queries to frozen canisters * Execution: propagate subnet size to execution * Message Routing: Incrementally compute manifest for WASM binaries * Message Routing: Make checkpoint deletion more robust * Message Routing: Persist wasm module hash in checkpoint * Networking: Acquire the RwLock of the peer_map before on_connect_setup * Networking: Add IntGaugeResource for keeping track of tokio tasks * Networking: Add reasoning why we won't remove enforce_https for now * Networking: Block replica ports that are used byto prevent users from accessing the replica * Networking: Fix the broken gauges for read and write task tracking * Networking: Improve btc test * Networking: Improve logging and introduce tcp_accepts_total and tcp_connects_total metrics * Networking: Make flow_write_task and flow_read_task be &self instead of associated functions * Networking: Make some of the FlowState data members private * Networking: Remove the logic for the "sender error" bit in the header * Networking: Small refactoring of transport code * Networking: Update the ConnectionState on_disconnect only after we send the event via the the event_handler * Node: Revert DNS based NNS_URL until boundary-nodes fully support IPv6 * Node: Slow down node registration to give HSM time * Node: Update build sha for snp image * Node: Use DNS based NNS_URL instead of hard-coded node addresses * Node: Use new baseimages in build * Orchestrator: Better logs for replica * Orchestrator: Fetch CUPs from more peers until one is successful ... * Orchestrator: Simplify the polling delay between registry fetches * Orchestrator: Update NNS URLs at each iteration of node registration * Runtime: Add a config for slice instruction limit * Runtime: Add metrics for module deserialization * Runtime: Add wasm deserialization benchmarks * Runtime: Enable module sharing * Runtime: Fix DTS instruction bookkeeping in Wasm executor * Runtime: Improve DTS out-of-instructions handler * Runtime: Make ExecuteMessageResult an enum for DTS * Runtime: Move round instruction limit to `RoundLimits` * Runtime: Propagate slice executed instructions from Wasm * Runtime: Refactor instruction limits in `ExecutionParameters` * Runtime: Remove cycles u128 flag * Runtime: Remove support for changing compute allocation during install * Runtime: Remove unneeded return in stable-structures * Runtime: Resolves TODOs in `SandboxedExecutionController` * Runtime: Simplify DTS for install code * Runtime: Track compiled canisters in ReplicatedState * Runtime: Use the `CompilationCostHandling` when adjusting round limits * 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.