Voting is open for a new IC release - 28b13ef

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 118023.

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

Release Notes:

  • [011f4cb2b] Consensus: Update height of uid_generator when creating summary payloads
  • [aa45d5e9b] Consensus: chore(consensus): Move dkg error type
  • [a92ec5989] Consensus: chore(consensus): Move payload builder trait to interfaces
  • [271b367d7] Consensus: chore(consensus): Remove
  • [89977991c] Consensus: chore(consensus): Use ProxyDecodeError for deserialization (RandomBeacon)
  • [b95a6ed3d] Consensus: chore(recovery): Stop printing step title twice during recovery
  • [5d2640f94] Consensus: feat(): Purge finalization and notarization shares below finalized height
  • [00876c4a8] Consensus: feat(consensus): Add protobuf definition for RandomBeaconShare
  • [fcf27d4fb] Consensus: feat(consensus): Invalidate cup shares for data blocks
  • [2dfdcec0b] Consensus: fix(consensus): Account for the size of divergences inside of CanisterHttpPayload
  • [0472cf2cc] Consensus: fix(consensus): Remove unwrap from DkgMessage conversion
  • [a954c934c] Crypto: chore(crypto): Change return type of EccScalar::invert
  • [3d0b06919] Crypto: chore(crypto): remove idkg_dealing_encryption_pubkeys_count method from KeyManager trait
  • [484a41b91] Crypto: chore(crypto): upgrade tarpc library to 0.32.0
  • [446bd3de0] Crypto: doc(crypto): document IDKG key generation protocol with 4 nodes
  • [865bcfab4] Crypto: feat(crypto): Add umask for crypto-csp process
  • [b2805e0a9] Crypto: fix(crypto): forbid cycles in delegations
  • [ef3dd0f2f] Crypto: fix(crypto): limit the number of targets per delegation in HTTP requests
  • [078de6d2b] Execution: feat: add proposals to set Bitcoin config
  • [54f4378df] Execution: fix: Check if the requested_subnet is enabled to sign with given ECDSA key in route_ecdsa_message
  • [0e2bc9d3e] Execution: fix: Fix error with cycle charge per use case
  • [0206bbb86] Execution: fix: Originating subnet should be checked before decoding Candid payload in Ic00Method::ComputeInitialEcdsaDealings
  • [ec8a8d813] Financial Integrations/Message Routing: chore(): bump supported certification version
  • [ab78b1c8b] Financial Integrations/Message Routing: fix(canister_profiler): build non-cumulative histograms
  • [4cd3a2cf0] Financial Integrations/Message Routing: fix(kyt): restrict max HTTP response size
  • [d1cd6c86a] Financial Integrations/Message Routing: spec(dsm): add trivial specs for Consensus and DSM
  • [5454c9924] Message Routing: Add metrics for chunk ID space usage
  • [6d718164f] Message Routing: Do not reflink copy protobuf files
  • [96f3a05fd] Message Routing: Panic on chunk ID conflicts in state sync
  • [344a710e6] Message Routing: improvement: Backwards and forwards compatibility for ingress_history.pbuf
  • [0fa28fdc4] Networking/Node: Fix sevctl so that it works on linux.
  • [03e4c1908] Networking: [Onchain Observability] Add adapter metrics registry and a few metrics
  • [ad9ebeb52] Networking: [Onchain Observability] Separate user group for adapter
  • [1e9317580] Networking: chore: Bump rustls to 0.21
  • [146d0e218] Networking: chore: Remove unused code
  • [4ba15d22b] Networking: chore: Use the StateReader interface in the canister http component in consensus. Move out the consensus pool caches from the ArtifactPools struct.
  • [083703f82] Networking: chore: update the range buckets for some public endpoint metrics
  • [f3ef776a4] Networking: docs: Update
  • [3095b1f21] Networking: feat: implement the priority fn as the other clients
  • [241ad2c2e] Networking: fix: no point in extra bincode serialization and deserialization for a bunch of bytes that we can just pass in the protobuf
  • [d4a543331] Node: Assorted tools around Bazel images
  • [c3190182c] Node: Fix registry for podman docker images
  • [87ee16cdb] Node: Switch chmod strategy to fix docker builds
  • [dca3091bc] Node: Update IC-OS documentation
  • [b06f5eb46] Runtime: Add LRU cache with memory capacity
  • [e1228657a] Runtime: Add query caching feature flag
  • [735e1903c] Runtime: Composite query: limit walltime
  • [1233077fe] Runtime: Implement replica-side query caching
  • [3b1e62d3d] Runtime: Increment canister version after updates
  • [9b1474621] Runtime: Remove deallocate_pages API
  • [e03a67359] Runtime: Stable read through API on first access
  • 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 28b13ef800046c4c7befc0a936411ba70b8f908e
if ./gitlab-ci/container/ -i ; then
    curl -LO
    shasum -a 256 artifacts/icos/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.


The reviewers for the CodeGov project have completed their review and have voted to adopt this proposal. Our reviews can be found on the CodeGov portal of DSCVR (you must join the portal to view). If you are interested in being a reviewer for the CodeGov project, then please apply at

1 Like