Hello there!
We are happy to announce that voting is now open for a new GuestOS release.
The NNS proposal is here: IC NNS Proposal 136789.
Here is a summary of the changes since the last GuestOS release:
Release Notes for release-2025-05-30_03-21-base (ed3650da85f390130dedf55806da9337d796b799)
This release is based on changes since release-2025-05-23_03-21-base (16825c5cbff83a51983d849b60c9d26b3268bbb6).
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:
241fe2bb8
Consensus,Interface(orchestrator): Include latest CUP time in orchestrator’s dashboard (#5328)398efca66
Execution,Interface: Implement snapshot data upload (#4837)ea88bf355
Execution,Interface: system API ic0.root_key_{size, copy} (#4470)a8289b351
Interface,Message Routing: Canister renaming in the state manager (#5273)4a7a911a8
Interface,Message Routing: Shuffle streams in XNet payload builder (#5300)06bdd95d1
Interface,Node(node): Add a new option in config.ini to enable Trusted Execution Environment (#5333)
Bugfixes:
d12013bb2
Execution,Interface: do not include See documentation without doc link (#5285)790a466b0
Execution,Interface: use saturating arithmetics for validating module chunk upload (#5287)b9c23dd08
Interface,Node: Fix hostname validation and remove guest- prefix in bootstrap.rs (#5330)
Chores:
17c6b29e6
Consensus,Interface(networking): add canister_http_payload_size histogram metric (#5192)7b4e27b3a
Consensus,Interface: bump ic-agent to v0.40.1 (#5162)7e2c79b15
Execution,Interface: Remove compute and memory allocation from InstallCodeArgs (#5190)b8cc778f5
Interface: deprecate some redundant Haskell tests (#5314)def34c889
Interface: use ic-gateway in PocketIC (#5298)2cc5b2479
Interface(ICRC_Ledger): Use test_strategy instead of proptest macro for ICRC1 ledger suite tests (#5039)0c1e945dc
Interface,Message Routing: Remove defrag_canisters_map step (#5313)831f9bce4
Owners(IDX): Extract artifact upload from build (#5274)
Refactoring:
b898b3ba0
Consensus,Interface(replay): Remove dependency to canister_client in ic-replay (#5240)01a663320
Consensus,Interface: Move DkgPayloadBuidler error types into ic-types (#4960)2e5678e0e
Interface,Node: Pass GuestOS config as a rust struct and consolidate test bootstrapping (#5294)a87bc0bc0
Interface,Node: Add new generate-guestos-vm-config feature to ic-os config tool which replaces generate-guestos-config.sh (#5264)93bd45938
Interface,Node: Replace usages of the build-bootstrap-config-image.sh script with a new Rust-based implementation for generating bootstrap configuration images (#5248)6482c5b5c
Interface,Node: Use Paths in metrics_tool instead of Strings (#5265)697e96bfc
Node: Remove build-bootstrap-config-image.sh script which has been migrated to config::guest_vm_config (#5349)
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/master/ci/tools/repro-check | python3 - -c ed3650da85f390130dedf55806da9337d796b799 --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
.