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 136066.
Here is a summary of the changes since the last release:
Release Notes for release-2025-04-03_03-15-base (68fc31a141b25f842f078c600168d8211339f422)
This release is based on changes since release-2025-03-27_03-14-base (3ae3649a2366aaca83404b692fc58e4c6e604a25).
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:
7f009d854
Execution,Interface: Read canister snapshot metadata (#4514)77dfd0cc3
Execution,Interface: Add canister snapshot metadata fields to types (#4431)2c64388af
Execution,Interface: Introduce low bound for canister’s freezing threshold (#4401)810dddeb8
Node: Build with hermetic cc toolchains (#3508)
Bugfixes:
8936943a6
Consensus,Interface: increment divergence_responses stat for each divergent response (#4559)1bb75e45a
Execution,Interface: Use default value for SnapshotSource instead of failing. (#4596)c766779a7
Execution,Interface: Improve documentation and error message of wasm chunk store (#4589)
Chores:
4fab827a3
Execution,Interface: log composite and expensive canister http transforms (#4623)0a0e235f3
Execution,Interface: Safer ellipsize (#4549)3d73f0af2
Execution,Interface: Remove wasm_native_stable_memory feature flag (#4524)a2f4c702c
Execution,Interface: Remove legacy inter-canister query calls (#592)6f3739270
Interface,Message Routing: Change new canister snapshot fields to be optional (#4632)9ac3bfbcf
Interface,Message Routing: Log if manifest computation is incremental (#4581)b5f63841a
Interface,Message Routing: Clarify state sync logs (#4542)3b9db1908
Node: Remove execmem permissions (Redo) (#4539)8a97b5580
Node: Update Base Image Refs [2025-03-27-0808] (#4546)
Refactoring:
f366b62d0
Consensus,Interface(consensus): Create an IDKG crate (#4526)9662ae275
Execution,Interface: Move system_api inside embedders crate (#4591)2de3fbec2
Execution,Interface: Rename embedders/system_api.rs to embedders/linker.rs (#4611)722fb4ad0
Interface,Message Routing: Use generics and impl trait instead of dyn trait (#4527)
Other changes:
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 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 68fc31a141b25f842f078c600168d8211339f422 --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
.