There are lots of exciting new features and bugfixes. Here is a more complete list of changes:
* Consensus: Check membership when verifying signatures in canister http pool manager * Consensus: ECDSA pool improvements * Consensus: Hard limit for Bitcoin network * Consensus: Remove unused argument * Crypto: Add sum-of-products operations for BLS12_381 G1 * Crypto: Avoid panic in impl Ord for Scalar * Crypto: Convert NI-DKG Proof of Possession implementation away from MIRACL * Crypto: Convert verify_ciphertext_integrity away from MIRACL * Crypto: Fix bitrot in the tECDSA fuzzers * Crypto: Fix risky panics in threshold code * Crypto: Add ECC point negation for IDKG * Crypto: Add EccPoint negate function for IDKG, tests and a seeded PRG function in test_utils * Crypto: Improve error messages where CspSecretKey::algorithm_id() was called * Execution: Bitcoin: Fix bug in `get_utxos` that returns spent UTXOs. * Execution: Extract and store effective canister id from ingress * Execution: Move max_number_of_canisters_pot from legacy to upgraded pot * Execution: Scheduling subnet messages for DTS * Execution: add `reference_subnet_size` for scaling the cycles cost * Execution: add `subnet_size` to `canister_creation_fee` * Message Routing: Allow rerouting back in case of migration rollback * Message Routing: Available canister IDs metric * Message Routing: Canister deletion respects canister migrations entry * Message Routing: Runbooks for checkpoints/files accumulating on disk * Message Routing: Switch canister ID generation to allocation ranges * Networking: Add a new connection duration metric * Networking: Change testing proxy canister interface * Networking: Check for existing peer connection before we do the TLS handshake. * Networking: Disable btc balance test * Networking: Hold exclusive lock for on peer_map only when we add/remove peer. For connection state transition we don't need exclusive lock. * Networking: Make spawn_(write|read)_task associated function and delete try_transition_to_connected * Networking: Mixed workload documentation. * Networking: Use tokio sync primitives * Node: Limit traffic through `ic-canister-http-adapter` * Orchestrator: Improve the probing for a non-functional subnet * Orchestrator: proper validate replay * Runtime: Allow to change compute allocation during install * Runtime: Cache failed compilations * Runtime: Compilation cost for failed compilations * Runtime: Unify applying of execution and system state changes * Runtime: Use 0 instructions when compilation fails * Runtime: Use the unzipped module size for compilation cost * 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.