Hello there!
We are happy to announce that voting is now open for a new IC release and the retirement of old replica version 5c60feaf3d64a745b9a44aa61d44b91d6921541b
.
The NNS proposal is here: IC NNS Proposal 128154 .
Here is a summary of the changes since the last release:
Features:
- [b54aaac06] Boundary Nodes,Node: BN: base image cleanup, update packages
- [985e13b93] Consensus: Add ipv4 and ipv6 hostOS console logging
- [9bffc050d] Consensus: Purge finalization shares at finalized height
- [e7d5a5be2] Consensus: Implement out-of-sync validation
- [45abc4e91] Crypto: bypass CSP for IDkgProtocol except for keygen
- [0b8410045] Crypto: Add BIP340 Schnorr signature implementation
- [b1bf5e4f7] Execution: Limit the size of canister log records buffer during execution
- [31f6a8ebb] Execution,Runtime: Add candid types for
TakeCanisterSnapshot
- [e8ec18b3b] Execution,Runtime: Query Cache: Support query stats
- [e4a6beddc] Message Routing: config for LSMT shard size
- [d41f802ae] Message Routing: Introduce a backpressure flag in
StreamHeader
- [7048be758] Node: Remove unused IC-OS scripts
- [a25581048] Node(crypto): Enable discard for the guest OS VM in host OS QEMU config
- [85d05e7f9] Node(crypto): Add discard option to crypttab for guest OS for fstrim support
- [158b80bc3] Runtime,Execution: populate canister log record index field
Bugfixes:
- [6d5ce6bbf] Consensus(ecdsa): Reject requests matched to non-existent pre-signatures
- [ce049dee8] Consensus: Set default heights in purger to zero
- [49206740e] Execution,Runtime: Update ingress history for in-flight stop_canister requests
- [9d92211e6] Networking(http_endpoint): Add cors header for preflight request
- [46bda0b01] Networking: graceful shutdown for components
- [66d1ee676] Networking: use anyhow as the transport error type
- [aa8bd1f54] Networking: remove the RecvError enum in favour of anyhow
Chores:
- [b942778ce] Consensus: replace
assert!(matches!(...))
withassert_matches!(...)
- [dede4527a] Consensus(ic-replay): dedeprecate
restore_from_backup
subcommand - [c5312de21] Execution: Replace synchronous QueryHandler by QueryExecutionService everywhere except for ic-replay
- [39c0d9dc4] Execution,Message Routing: Cleanups for CanisterSnapshot
- [088c3e0ce] Execution,Runtime: Remove synchronous IngressFilter
- [c7cec4957] Networking(http_endpoints): Migrate public http handler to axum
- [a02692f88] Runtime(RUN): Upgrade
wasmtime
to version 16 - [375236a56] Node: Remove unused ipv6_subnet field from config.ini
Refactoring:
- [7e01ee12e] Crypto: Specialize multiplication by generator and Pedersen computations to curve specific code
- [ed611eeea] Message Routing,Runtime: Split get_memory_instructions into outermost loop and applying individual range
Tests:
- [85ea0e1db] Crypto: add local vault tests for tecdsa sign_share
- [75a0030f9] Crypto: add local vault tests for
idkg_open_dealing
- [f106bfa21] Execution,Runtime: Add test that global timer resumes on unfrozen canisters
- [156467a07] Execution,Runtime: Enable query cache by default in the execution tests
- [82fc36cb6] Message Routing: Remove the reject signals testing flag from
StreamHandlerImpl
. - [8ba588b4a] Networking(p2p-receiver): Added builder pattern for creating ConsensusManagerReceiver in tests
- [d1ad612c4] Node: Fix base image updates breaking nested system tests
Other changes:
- [70c31c3ed] Execution,Message Routing: Add number of wasm pages for memory in the canister snapshot type
- [45241ffd5] Execution,Runtime: Re-classify
canister-out-of-cycles
errors astransient
- [1d9d4bc30] T&V,Cross Chain,Execution,Runtime: bump ic-cdk to 0.12.1
- [03b32b3ab] Message Routing: The TLA+ model of the state manager
- [6384c134d] Message Routing: Add stable and wasm memory size in the protobuf
- [0a0f6e38c] Networking,Boundary Nodes,Message Routing,Crypto,T&V: use workspace version for thiserror crate
- [841d9bf52] Runtime,Execution,Interface: no cycles information in memory grow error messages
IC-OS Verification
To build and verify the IC-OS disk image, run:
# From https://github.com/dfinity/ic#verifying-releases
sudo apt-get install -y curl && curl --proto '=https' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/48da85ee6c03e8c15f3e90b21bf9ccae7b753ee6/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 48da85ee6c03e8c15f3e90b21bf9ccae7b753ee6
The two SHA256 sums printed above from a) the downloaded CDN image and b) the locally built image, must be identical, and must match the SHA256 from the payload of the NNS proposal.