Elect new IC/GuestOS revision (commit dea4a9a)
#143904 · Adopted and executed · proposed Sep 11, 2026
Summary
Discussion linkRelease Notes for release-2026-09-10_03-28-base (dea4a9afe8bb2a6c324eb661e52204c6054d8e91) This release is based on changes since release-2026-09-03_04-41-base (7360f8f35bda2e4754bb7f2258d6852feec268e8).
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:
5acc0700bCore Protocol: Restrict XNet pulls to the caller's own subnet (#11498)16a19fc06Core Protocol: Record in-progress ingress messages after a subnet merge (#11365)9beec40d7Core Protocol: Do not execute canister messages nor queries while cooling down (#11495)d6e80d7fcCore Protocol(state_tool): assemble the merged state of a subnet merge (#11469)7df41498fCore Protocol: Prefer more useful XNet slices (#11474)5a7458bfdCore Protocol: Introduce separate replica version (#11401)a03f3e08dCore Protocol: Add a monotonicconsumed_cyclestotal toCanisterMetrics(#11465)6f1d945c7Core Protocol: Larger XNet pool (#11343)85472b865Core Protocol: Track unhealthy nodes in XNet payload builder (#11357)86e292867Core Protocol(consensus): report at info level that a halted subnet delivers no batches (#11466)0fcbceac0Core Protocol: drop warp (#11448)9c3435c9fCore Protocol: replace 'cached' crate with 'lru' (#11392)bee44d8cdCore Protocol: drop 'thousands' crate (#11395)6dd980b88Core Protocol: drop wsl crate (#11429)
Bugfixes:
dea4a9afeCore Protocol: Reliably garbage collect reject signals (#11263)8a0978ebcCore Protocol: Relax the condition on routing refunds into streams (#11511)1e9df5957Core Protocol(ic-heap-bytes): account for the ArcInner allocation in Arc<T> (#11513)57a303805Core Protocol(EXC): Time out stop_canister requests without a call ID (#11430)e25b7c37cCore Protocol(replicated_state): truncate canister log records when log capacity shrinks (#11396)476e4ff5cCore Protocol: correctly map canister error calls (#11171)0f341f655Core Protocol: Refund the prepayment of aninstall_codedropped by a subnet split (#11464)b7d8c2b01Core Protocol: use given registry version when making registry CUPs (#11433)
Performance improvements:
066f4e22dCore Protocol: Reduce CertifiedSlicePool lock contention (#11456)065e28175Core Protocol: Validate HTTPS outcall signatures in parallel (#11450)
Chores:
a99988578Core Protocol(dkg): remove summary's transcripts for remote subnets (2/4) (#11221)f2910a834Core Protocol(crypto): remove stale unused_assignments allow (#11472)dc8695c52Core Protocol: Usevalidate_response_sharefor divergence and non-flexible responses (#11447)3a5aff3adCore Protocol: update UVM and P8s images that now have daemonize and python3 in scope (#11444)560f51cb1Core Protocol,Node: Limit port 19522 (SEV key exchange server) to be called by the peer VM only (#11440)fe38094d0Node: Update Base Image Refs [2026-09-03-0806] (#11426)efcac2e01Node(sysimage): use itertools.batched now that toolchain is on Python 3.12 (#11475)feec8dfeaNode: One more pass at guest_disk simplification (#11394)288ea2b2dNode: Update Base Image Refs [2026-09-03-0139] (#11424)
Refactoring:
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/dea4a9afe8bb2a6c324eb661e52204c6054d8e91/ci/scripts/repro-check | python3 - -c dea4a9afe8bb2a6c324eb661e52204c6054d8e91 --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/143904