Elect new IC/GuestOS revision (commit e9fd136)
#143734 · Adopted and executed · proposed Aug 28, 2026
Summary
Discussion linkRelease Notes for release-2026-08-27_05-01-base (e9fd136f3fed6cb44625379e056ad63789d52d2c) This release is based on changes since release-2026-08-20_03-30-base (79c01052b5f7f49d3cf53d04d696cb2893294cd3).
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:
e4b5aae90Core Protocol: Respect query walltime limit (#11283)aff3a5e67Core Protocol: Store the canisters' consumed cycles in SubnetMetrics (#11297)cc0e78043Core Protocol(subnet-splitting): implementPostSplitCUPs making & validation (#10980)339d220a8Core Protocol: Do not route refunds to or from a cooling down subnet (#11277)662ae8fe9Core Protocol: Add acooling_downfield toSubnetRecord(#11236)9c02eb9b9Core Protocol: Do not route subnet messages to a cooling down subnet (#11230)beb100a98Core Protocol: introduceUnflushedCheckpointOp::DeleteSnapshotand raise a critical error if snapshots are filtered from tip (#11241)4061dc52dCore Protocol: Raise a critical error if canisters are filtered from tip (#11232)771df0e86Core Protocol: Record canisters dropped by an online subnet split as deleted (#11195)5425f4211Core Protocol: Do not route canister messages from a cooling down subnet (#11193)3f7ae28d2Core Protocol,Node(system-tests): support API boundary node playnets on the local backend (#11208)e9fd136f3Node(system-tests): boot nested VMs on the local backend (#11265)5101fcedbNode: Implement new bazel rules for building SEV recovery GuestOS images (#10571)0199d9aeaNode: Restructure VSOCK code as a starting point for improvements (#11247)
Bugfixes:
1833da795Core Protocol: Do not charge pay-as-you-go base fee on system subnets (#11209)a1919f7f9Core Protocol: Update time of HTTP outcalls contexts when moving them todelivered(#11214)afb9ef909Core Protocol: cap the consumed cycles metrics at the cycles actually charged (#11286)3f9d25bd4Core Protocol: Validate consistency when receiving HTTP outcalls shares with a response body (#11288)0fda806dfCore Protocol: Only observe consumed ECDSA/Schnorr/VetKD cycles after all checks succeeded (#11294)369f5bfe9Core Protocol: lower the consumed cycles gauge on a full refund (#11274)04930eb8aCore Protocol: Verify that a DKG dealing's config exists before checking the cache (#11282)edc827050Core Protocol: Consensus cost is zero for fire-and-forget flexible outcalls (#11281)6a987d643Core Protocol: Reserve enough HTTP outcall cycles for any deliverable result to fund itself (#11200)b834a9ac4Core Protocol: run the outcall cycles migration regardless of subnet activity (#11219)ddf7f349dCore Protocol(registry-helper): get_replica_version_record supports blank replica_version_id. (#11244)1f89cb871Core Protocol,Node: enable mld listener queries, disable multicast snooping (#11246)
Performance improvements:
010d4b3cbCore Protocol: Only deserialize each public key once during basic signature batch verification (#11291)a607c61fdCore Protocol(embedders): avoid a redundant copy in save_log_message (#11227)
Chores:
6887d7dbcCore Protocol(dkg): remove summary's transcripts for remote subnets (1/4) (#11220)910830849Core Protocol: Remove feature flag for DMT (#11180)6d96a60c7Core Protocol: DropNetworkTopology::full_topology(#11216)2990fdf9dCore Protocol(subnet-splitting): mandatory subnet splitting status (#11095)d3fc61343Core Protocol: allow trailing commas in log macros (#11255)b495c4345Core Protocol: Add some HTTP outcalls metrics (#11233)65ec331c2Node: Update Base Image Refs [2026-08-20-0811] (#11229)
Refactoring:
a9ef61047Core Protocol: Remove ReplicaVersion::default() (#11087)804f822e9Core Protocol: Movememory_usageintoIngressHistoryStats(#11211)099c8a92aCore Protocol: cleanupget_replica_version_*methods of registry helpers traits (#11278)dd1e67e02Core Protocol: resolve the canister log TODOs (#11210)
Tests:
Documentation:
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/e9fd136f3fed6cb44625379e056ad63789d52d2c/ci/scripts/repro-check | python3 - -c e9fd136f3fed6cb44625379e056ad63789d52d2c --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.
Official view: dashboard.internetcomputer.org/proposal/143734