Proposal to elect new release rc--2025-06-12_03-23

Proposals 136982 & 136983 | Tim - CodeGov

Vote: Adopt

Reason: Build is successful, hashes match, commits match descriptions and the reasoning behind the changes is sound. I’ve reviewed commits for Consensus, Interface and Execution as detailed below.

Review

Features:

[e179d8bba]
Adds variants UploadSnapshotMetadata and UploadSnapshotData to enum UnflushedCheckpointOp. These are then used for checkpointing in rs/state_manager/src/checkpoint.rs and rs/state_manager/src/tip.rs. Several new methods (tests and otherwise) are added utilising upload_canister_snapshot_metadata and upload_canister_snapshot_data from the earlier commit 398efca66.

[37fa6264b]
Adds keys containing the canister_ranges_ prefix to the list of key/value pairs (within fn get_transformer) that can be used when editing registry entries.

[8a429f677]
Adds to several code sections so as to enable logging of boundary node websocket data.

[ad4762f2a]
Adds a code section to IcConfig::initialize to write a canister ranges key to the registry.

[02571e821]
Implements the ICRC-106 standard, which allows for the discovery of the index canister from the corresponding ledger canister, for the ICRC ledger. In particular, adds a query function icrc106_get_index_principal.

[89d4e6a21]
Adds a tool to verify the catch-up package (CUP) for key resharing recovery proposals such as this one, as per the documentation shown here. Greatly expands the main function of rs/cup_explorer/src/main.rs to verify the CUP signature, to check that the subnet has been halted and to check that there exists a recovery proposal specifying an appropriate time and height and correct CUP hash value. I’ve added some further discussion here.

Chores:

[65c05992a]
Disables endpoints related to the pprof profiling data analysis and visualisation tool. (Further info here.) The relevant methods now display a page showing a message that these have been temporarily disabled.

[7dc75ea49]
Increases ACCEPTABLE_NOTARIZATION_CUP_GAP from 70 to 130, leaves ACCEPTABLE_NOTARIZATION_CERTIFICATION_GAP at 70 and moves both constants from consensus/notary.rs to consensus.rs. These represent the number of blocks after which notarisation will pause to allow for CUP creation or block certification to catch up. The change is intended to reduce the time that subnets need to stall for these purposes.

[9711ea8bf]
Adapts QueryContext::run method to return an error if a composite query has been called other than by an end user.

[0939e4e4d]
Adapts CanisterManager::validate_specified_id method to require specified_id (of a canister) not to belong to the canister allocation ranges, the concept of which is explained here. The intention is for this validation to be used for canister creation in test environments.

[3671acb49]
Upgrades Rust version from 1.85.1 to 1.86.0 again, as the issue causing test failures the last time this was attempted has now been identified and a workaround put in place (and included within the commit).

[64bc28ba8]
Removes ic-os/boundary-guestos/ and ic-os/components/boundary-guestos/ directories + associated code changes elsewhere.

[502d0fbfe]
Updates Boundary GuestOS, GuestOS, HostOS and SetupOS base image container references.

About CodeGov

CodeGov has a team of developers who review and vote independently on the following proposal topics: IC-OS Version Election, Protocol Canister Management, Subnet Management, API Boundary Node Management, Node Admin, and Participant Management. The CodeGov NNS known neuron is configured to follow our reviewers on these technical topics. We also have a group of Followees who vote independently on the Governance and the SNS & Neurons’ Fund topics. We strive to be a credible and reliable Followee option that votes on every proposal and every proposal topic in the NNS. We also support decentralisation of SNS projects such as WaterNeuron, KongSwap, and Alice with a known neuron and credible Followees.

Learn more about CodeGov and its mission at codegov.org.