Proposal to elect new release rc--2025-01-16_16-18

Proposal 134900 | Tim - CodeGov

Vote: Adopt

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

@sat @marko Some of our team have found the build has failed since commit 4bd2abd was pushed about 2 weeks ago. It might be that the build only works if the folder into which the repo is cloned is named dfinity rather than some other name. If this is the case would you consider changing this line accordingly or modifying the instructions in the proposal text template?

Review

Features:

[572afbcdb]
Adds fields last_duration_milliseconds_datadir, last_run_success_datadir and total_runs_datadir to FsTrimMetrics, utilised in fstrim_tool, plus associated tests.

[c16efb073]
Adds the ability for the LRU (least-recently used) cache to limit space used on disk as well as in memory. Within LruCache struct, splits capacity and size into memory_capacity, disk_capacity, memory_size and disk_size, and uses these throughout the code. Similarly splits count_bytes into memory_bytes and disk_bytes.

[fb3fc37ae]
Adds new mapping functions principal_to_subaccount and subaccount_to_principal to packages/icrc-ledger-types/src/icrc1/account.rs.

Bugfixes:

[80c6776c1]
Within impl BatchPayload, adds additional conditions to return is_empty as true, specifically xnet.stream_slices.is_empty() (replacing xnet.is_empty()) and query_stats.is_empty(). Modifies count_bytes method in impl CountBytes for CanisterHttpResponse to include additional items. This and other CountBytes impls are modified to deconstruct self first so as to enable easier error spotting in future.

[cf2f2cc97]
Replaces send_advert with outbound_tx and inbound_rx in run_artifact_processor, create_ingress_handlers and create_artifact_handler functions. Related changes in the consensus manager API code including renaming of some types.

[f9f2491d3]
Several changes to PocketIC matching the description. Renames PocketXNetSlicePoolImpl struct and impl to PocketXNetImpl and adds new logic for storing stream indices and the byte limit used for refilling subnet stream slices.

Chores:

[5cce4f5cb]
Modifies the artifact processor thread loop to use a generic stream for artifact events so that event input is not limited to the UnboundedReceiver type. Removes UnboundedSender from the output of abortable_broadcast_channel. Further changes matching description.

[4a7957ba6]
Adds the full body of an HTTP request to logging on signature verification failure, rather than just the message ID, to assist with debugging of a current issue.

[111bac358]
Adds command copy to state_tool as explained in the commit notes. Removes copy_recursively from commands/import_state.rs as this is presumably now redundant.

[dce918ac8]
Version update for rules_rust, allowing for removal of bazel/rules_rust.patch.

Refactoring:

[f491f848c]
Converts IngressPayload into a map of serialised ingress messages rather than a single buffer of bytes, as explained further in the description.

[6da5c715e]
Moves pub fn serve_journal from rs/nervous_system/common/src/lib.rs to rs/sns/governance/src/upgrade_journal.rs in order to prevent it from being called incorrectly.

Tests:

[df2145592]
Moves test_ingress_payload_deserialization from test_utilities/types to types/types.

[6b7b92b24]
Adds a test check_archive_and_ledger_block_equality to check that the ICRC1 ledger.did and archive.did agree on the block format.

[d6bb598cf]
Changes to ICRC1 ledger canbench benchmarks, as per description.

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, Node Admin, and Participant Management. The CodeGov NNS known neuron is configured to follow our reviewers on these topics and Synapse on most other 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 and KongSwap with a known neuron and credible Followees.

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

2 Likes