Voting is open for a new IC release - 149b620

Hello there!

we are happy to announce that voting is now open for a new IC release.
The NNS proposal is here: IC NNS Proposal 123007.

Here is a summary of the changes since the last release:

  • [4497886e6] Consensus: chore(ic-recovery): extract the checkpoints removal logic to a function so it can be reused
  • [76d51caf3] Consensus: chore(ic-recovery): move deserialization of the recovery state to a common place so that it can be reused
  • [8a2bcf34d] Consensus: chore(ic-recovery): reduce wait for CUP timeout
  • [0f226e302] Consensus: chores(, consensus): backup only finalized block proposals
  • [b93653676] Consensus: feat(consensus): create DKG configs based on block registry version
  • [a0ab4ae05] Consensus: feat(ecdsa): Do not relay ECDSA dealings
  • [9884cc8df] Consensus: feat(ic-recovery): add a skeleton of a subnet_splitting_tool
  • [29ba5c981] Consensus: feat(ic-recovery): add relevant ic-admin commands as steps to the subnet-splitting-tool
  • [0f5e38552] Consensus: feat(ic-recovery): add state splitting steps to the state-split-tool
  • [4639aac99] Consensus: feat(ic-recovery): reuse some of the steps from ic-recovery in subnet-splitting-tool
  • [3340e9da9] Consensus: fix(consensus): Don’t increment random beacon & tape share counter for invalid shares
  • [a37356f7d] Message Routing: feature: Use syncfs to fsync checkpoint
  • [638946bce] Message Routing: Remove the panic from deserialize_registry_value() and return an error instead.
  • [470098780] Message Routing: Remove the panic from get_canister_migrations() and return an error instead.
  • [38aa9657e] Message Routing: Remove the panic from get_initial_dkg_transcripts() and return an error instead.
  • [822e2db7e] Message Routing: Remove the panic from get_node_ids_from_subnet_record() and return an error instead.
  • [fceb0808a] Message Routing: Remove the panic from get_provisional_whitelist() and return an error instead.
  • [4cad19b55] Message Routing: Remove the panic from get_root_subnet_id() and return an error instead.
  • [5eede20fa] Message Routing: Remove the panic from get_routing_table() and return an error instead.
  • [010d1d5b1] Message Routing: Remove the panic from get_subnet_ids() and return an error instead.
  • [378f062a1] Networking: Add TlsConfig interface that exposes rustls server/client config
  • [cf973f3a9] Networking: chore: Remove old code for limiting total TCP connections.
  • [ced97ef0a] Networking: chore: remove the unused Consensus config from rs/config
  • [d6e80448a] Networking: feature: Implement spec change
  • [4e82d0f9c] Networking: fix: Bitcoin adapter failing connections now time out after 5 seconds
  • [e0e5249d1] Networking: fix: Tolerate invalid registry values in peer manager
  • [3436ee7fd] Node: Add support for SEV in hostos base image
  • [23bdd4b90] Node: Auto-login as root on SetupOS
  • [8d51e1af6] Node: Vsock upgrade
  • [d58e8afd8] Runtime: [hotfix] Fix QueryCache::push() crash
  • Various tech-debt management: code refactoring, docs, bug fixes, test updates

IC-OS Verification

To build and verify the IC-OS disk image, run:

# From
# This process requires Mac/Linux/WSL2, Git and Podman on your machine.
git clone
cd ic
git fetch origin
git checkout 149b6208cbbb61e8142a069dd7a046d349beaf7a
if ./gitlab-ci/container/ -i ; then
    curl -LO
    shasum -a 256 artifacts/icos/guestos/update-img.tar.gz update-img.tar.gz
    echo "IC-OS build failed. Verification unsuccessful." >&2

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.


And there is another feature build in this release cycle.

  • Enable Wasm-native stable memory

This is an experimental build with a performance improvement. It will be rolled out only to a few subnets in this release cycle.

Forum post that explains the feature: Proposal: Wasm-Native Stable Memory

NNS motion proposal of the feature: Proposal: 123008 - IC Dashboard


I think there might be an error with the commit hash provided in the verification script for 123008, hash 0764026f1105813ad807976a46ea37815e41a63f doesn’t exist in the repo, the right one should be: b314222935b7d06c70036b0b54aa80a33252d79c

1 Like

Looks like @zane is correct. I was unable to build the replica in proposal 123008 from commit 0764026f… due to “fatal: reference is not a tree…” The script performed the build based on the previous commit 149b6208… which I ran from proposal 123007 immediately before running the build in proposal 123008. No errors were flagged and the hashes do not match. I’ll vote no on proposal 123008 due to this issue since it can’t be validated. I had no issues with proposal 123007, so I voted yes on it.

1 Like

Reviewers for the CodeGov project have completed our review of these replica updates and our findings from these reviews can be viewed in this post for proposal 123007 and in this post for proposal 123008 in the CodeGov portal on DSCVR. The CodeGov neuron 2649066124191664356 has voted to adopt proposal 123007 and voted to reject proposal 123008 for the reasons outlined above by @Zane and @wpb.

At the time of this comment on the forum, there are still 2 days left in the voting period. We encourage NNS voters to review the replica update proposal and vote manually. Of course, you always have the choice to follow another person or another organization who is voting independently. At this time, I am aware of (neuron ID 2649066124191664356) and Taggr Network (neuron ID 16737374299031693047) who are performing this work, both of which are registered known neurons. You can learn more about the CodeGov project at and you can learn more about Taggr Network in the NNS-GOV realm on

NOTE: The CodeGov project would like to find additional reviewers to help with this work. Since there is a 0.5 - 2 hour time commitment on the weekend for each proposal and our reviews require technical skills, we offer a bounty for every review that you perform that is competitive with typical developer contract work. You are not required to review every proposal, but we encourage as much participation as your time allows. Anyone who has the technical skill to perform the IC-OS verification and who is willing to perform a sanity check on the Release Notes is welcome to be a reviewer. If you are interested, then please Apply at The current bounty for this work can always be found in this post in the CodeGov portal.


Thanks for raising the issue !

Here is the proposal for the correct version Proposal: 123008 - IC Dashboard

1 Like

Looks like the corrected version that replaces proposal 123008 is proposal 123021. Is that correct?

1 Like

Indeed, 123008 was rejected and the corrected proposal is 123021.

The CodeGov neuron has voted to adopt proposal 123021 after several people confirmed the hashes match the proposal payload. Our reviews can be found here.