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 134336.
Here is a summary of the changes since the last release:
Release Notes for release-2024-11-28_03-15-base (2d8611eb4efa8e69c4dd567546c1c353a545e0a6)
This release is based on changes since release-2024-11-21_03-11-base (a3478d571670053ebd09b9771bec489ef69425fa).
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.
This release diverges from the latest release. Merge base is 0dc55e08ab70c0f561e3617a3d6f41c58d7b2b38. Changes were removed from this release.
Features:
925acaec1
Consensus,Interface(orchestrator): Call sync and fstrim during node unassignment (#2720)e3540ad62
Consensus,Interface: Introduce new context type for VetKD requests (#2629)fd4d35f4a
Consensus,Interface,Node: SOCKS proxy on the API BNs (#2191)fd6561a04
Crypto,Interface(crypto): Add sig support to secp256k1 utility crate (#2756)3a9f843de
Execution,Interface: Implement Ic00Method::VetKdPublicKey (#2693)8bf9965c2
Execution,Interface: Store compiled Wasms on disk (#2673)6a725785d
Execution,Interface: Evict sandbox cache of all idle candidates (#2744)003c70ac1
Execution,Interface: Evict sandboxes based on the available memory (#2651)13006ee4d
Execution,Interface,Message Routing: Time out messages in subnet queues (#2708)7d8134765
Interface(ckbtc): re-evaluate discarded UTXOs (#2674)f68da752b
Interface(ICRC-Rosetta): updated rosetta to support icrc3 standard (#2607)e3ee0072c
Interface,Message Routing: Unify checkpointed_state and state in commit_and_certify (#2827)90c56a39f
Interface,Networking: enable the hashes-in-blocks feature everywhere (#2854)260f1cc09
Interface,Node: Upgrade build container to 24.04 (#1946)245e13ebd
Interface,Node: Replace mac_address with deterministic_ips (#2757)e9f61b877
Interface,Node(IDX): don’t rely on bazel cache for large test deps (#2752)a0be7baf6
Node: Allow local network to access metrics through firewall (#2703)
Bugfixes:
052b85232
Consensus,Interface(node): onboarding log typo (#2869)a55ac1812
Consensus,Interface(recovery): Clear recovery directory instead of deleting it (#2823)c1d7c5ec6
Execution,Interface,Message Routing: Drop duplicate responses in induct_messages_to_self (#2725)e7ce87bf2
Interface,Networking: remove the app handshake (#2790)e9a0f1894
Interface,Networking(quic-transport): Correct the error code sent for reset stream frames. (#2761)8869fff65
Interface,Node: Revert "feat: Replace mac_address with deterministic_ips (#2785)0210728ba
Node: Depend on //:bazel-timestamp instead of //:.git/index when calculating commit_timestamp_txt (#2765)
Chores:
cdf85cbaf
Consensus,Interface(node): update onboarding log (#2830)32cf9b0f8
Consensus,Interface(consensus): remove unnecessary variable in ingress selector (#2683)bef38d077
Crypto,Interface: upgrade thiserror and anyhow (#2732)5f4e13e98
Execution,Interface(EXC): Remove IPC calls for compilation in canister sandbox (#2853)9d768e5d8
Execution,Interface: Make request metadata non optional (#2622)e636d3f34
Execution,Interface: Drop redundant CanisterQueuesTesting::output_message_count() (#2737)ac6341599
Interface: upgrade crates (#2788)385cf07ae
Interface,Message Routing(fuzzing): Allow no_op_logger in StateMachine (#2736)0cdfbb49f
Interface,Networking: add a logging layer for tracing (#2650)bbae0dd15
Interface,Networking: upgrade crates (#2742)647fec3b1
Node: bump ic-bn-lib & ic-gateway (#2767)27e7499a7
Node: Add docs on nightly benchmarking (#2755)acdbe1f72
Node: Update Base Image Refs [2024-11-21-0808] (#2731)2202c3f93
Node(IDX): clarify launch-remote-vm script (#2745)
Refactoring:
ccd5e2921
Consensus,Interface: Deprecate pb::TaggedNiDkgTranscript and implement new deserialization (#2838)cf2727ce9
Consensus,Interface(CON): Rename dkg::Dealings to dkg::DataPayload (#2793)7d5f65756
Crypto,Interface(crypto): rename VetKdArgs::encryption_key to encryption_public_key (#2789)2f4c1fca1
Interface,Node: Replace mac_address with deterministic_ips (#2810)
Tests:
e6f76957a
Execution,Interface: Precompile universal canister (#2816)ac64a1d95
Execution,Interface: Move long execution tests (#2814)627fae2f7
Execution,Interface,Message Routing: Nicer SystemState tests (#2748)e16e7f255
Interface,Networking(quic-transport): Add assertion for reset reason in drop handle test (#2764)
Documentation:
7fb898bdf
Execution,Interface,Message Routing: Improve documentation around message and callback expiry (#2763)ef0c2e44c
Interface,Networking: improve error names and track other errors via metrics (#2797)b2a094f7e
Interface,Networking: improve some comments and remove infallible condition from metrics (#2773)
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, run:
# From https://github.com/dfinity/ic#verifying-releases
sudo apt-get install -y curl && curl --proto '=https' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/2d8611eb4efa8e69c4dd567546c1c353a545e0a6/ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 2d8611eb4efa8e69c4dd567546c1c353a545e0a6 --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
.