Voting for a new IC release - 2024-02-28_23-01

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!(...)) with assert_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 as transient
  • [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.

1 Like

This week we also have a feature build that enables p2p! The proposal link is: Proposal: 128155 - ICP Dashboard

1 Like

The CodeGov neuron has voted to Adopt both proposals 128154 and 128155. Our reviews are still coming in, but here is the link to our reviews for proposal 128154 for anyone who is interested in knowing what our reviewers have to say. I will post a summary later this evening after our review period is complete.

Reviewers for the CodeGov project have completed our review of these replica updates.

Proposal ID: 128154
Vote: ADOPT
Full report: CodeGov community Replica Version Management Reviews channel on OpenChat

Proposal ID: 128155
Vote: ADOPT
Full report: CodeGov community Replica Version Management Reviews channel on OpenChat

At the time of this comment on the forum there are still 2 days left in the voting period, which means there is still plenty of time for others to review the proposal and vote independently.

We had several very good reviews of the Release Notes on these proposals by @Zane, @cyberowl, @ZackDS, @massimoalbarello, @Gekctek, and @hpeebles. The IC-OS Verification was also performed by @ilbert and @tiago89. I recommend folks talk a look and see the excellent work that was performed on these reviews by the entire CodeGov team. Feel free to comment here or in the thread of each respective proposal in our community on OpenChat if you have any questions or suggestions about these reviews.

2 Likes

Hello everybody,

This is Rosti from the networking team.

For this week feature rollout I would suggest electing a new replica version that doesn’t contain [2217c3ed9] (fix(p2p): old p2p thread is pinned if new p2p is fully enabled · dfinity/ic@2217c3e · GitHub) and [224d7c73a86] (fix: ICSUP-3799 keep running the old P2P event loop that is responsi… · dfinity/ic@224d7c7 · GitHub).

In our efforts to have as little interaction between the old and new P2P layer, we ended up in situation where we run both implementations together. This doesn’t introduce any risk at all for the protocol. However, we would prefer to have clean state as soon as possible so we can monitor the new P2P layer for longer period of time.

On my behalf i apologize for the inconvenience.

5 Likes

A new proposal is out, as announced by @rumenov:

It’s fairly short, only contains 2 reverts. So hopefully should be quick and easy for the CodeGov team to review.

2 Likes

The Followees for the CodeGov neuron have reached consensus on this proposal and voted to Adopt.