IcOsVersionElection(143568): Elect new IC/GuestOS revision (commit 59c4249)
Release Notes for release-2026-08-13_03-55-base (59c42492cd6ee3ef5e60cd35d7b766e7bfd085da)
This release is based on changes since release-2026-08-06_04-21-base (fffab354a5cf76bf40ea3e0742de29e293277ff3).
Please note that some commits may be excluded from this release if they're not relevant, or not modifying the GuestOS image. Additionally, descriptions of some changes might have been slightly modified to fit the release notes format.
To see a full list of commits added since last release, compare the revisions on GitHub.
Features:
1b07ffa84Core Protocol: Add acooling_downflag toSubnetTopology(#11117)0d9f2327eCore Protocol(subnet-splitting): do not validate certifications of other subnet (#10970)690482359Core Protocol: IntroduceOutOfCycleserror for flexible outcalls (#11040)a60297197Core Protocol(delegations): reactively fetch delegations on new public key and/or canister ranges (#10699)288f40087Core Protocol: move metrics-proxy to IC repo (#11053)06d6a7bbeCore Protocol(subnet-splitting): freeze registry version until summary is reached (#10938)b9eac647cCore Protocol: Consensus cost of flexible HTTP outcalls must be covered by allowance (#10966)777dc537aCore Protocol,Node: migrate remaining ic-cdk ::call to Call (#11055)
Bugfixes:
143126322Core Protocol: Enforce limit on claimed HTTP outcalls response size (#11080)25a1dd311Core Protocol(test-utils): drop Discretionary Access Control (DAC) capabilities instead of forking tonobody(#11063)ba39adf74Node: Use unique locks for each podman invocation (#11041)
Performance improvements:
Chores:
42f67fefaCore Protocol: Better error messages for invalid pubkeys (#11114)b175b4b97Core Protocol(subnet-splitting): set summary's subnet splitting status (#11070)328df600dOwners: bump rustls-acme (#11103)59c42492cNode: Update Base Image Refs [2026-08-12-0143] (#11109)5fd1191bfNode: Update Base Image Refs [2026-08-06-0855] (#11043)abfe20051Node: deduplicate some crates (#11098)0d6f19860Node(bazel): move C++ libraries from rustdepstolink_deps(#11074)
Refactoring:
506a0bc1aCore Protocol(consensus): introduce a builder pattern for dependencies in consensus' unit tests (#11064)b5c69fc3dCore Protocol: decodeCyclesfrom little-endian bytes viaTryFrom(#11102)
Tests:
Full list of changes (including the ones that are not relevant to GuestOS) can be found on GitHub.
IC-OS Verification
To build and verify the IC-OS GuestOS disk image, after installing curl if necessary (sudo apt install curl), run:
# From https://github.com/dfinity/ic#verifying-releases
curl -fsSL https://raw.githubusercontent.com/dfinity/ic/59c42492cd6ee3ef5e60cd35d7b766e7bfd085da/ci/scripts/repro-check | python3 - -c 59c42492cd6ee3ef5e60cd35d7b766e7bfd085da --guestos
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.
While not required for this NNS proposal, as we are only electing a new GuestOS version here, you have the option to verify the build reproducibility of the HostOS by passing --hostos to the script above instead of --guestos, or the SetupOS by passing --setupos.
Proposal to execute nervous system function:
Nervous system function:
NervousSystemFunction { id: 1000, name: "Vote on NNS proposal", description: Some( "Vote yes to a given NNS proposal. If there is no strict majority, vote for the majority outcome.", ), function_type: Some( GenericNervousSystemFunction( GenericNervousSystemFunction { target_canister_id: Some( tsbvt-pyaaa-aaaar-qafva-cai, ), target_method_name: Some( "approve_proposal", ), validator_canister_id: Some( tsbvt-pyaaa-aaaar-qafva-cai, ), validator_method_name: Some( "approve_proposal_validate", ), topic: Some( ApplicationBusinessLogic, ), }, ), ), }
Payload sha256:
5be39e86cce5a14f95c61d6826f257198215c277fe51c3247dc19bbcbd9dc119
Payload:
143568