|
| 1 | +Release Notes for [**release-2026-04-24\_04-21-base**](https://github.com/dfinity/ic/tree/release-2026-04-24_04-21-base) (920df8055260f443ac3335cc0f2b06e285a688b4) |
| 2 | +=================================================================================================================================================================== |
| 3 | + |
| 4 | +This release is based on changes since [release-2026-04-16\_04-20-base](https://dashboard.internetcomputer.org/release/719ff387aab462ce5759c4c20c30de959fe9538c) (719ff387aab462ce5759c4c20c30de959fe9538c). |
| 5 | + |
| 6 | +Please note that some commits may be excluded from this release if they're not relevant, or not modifying the HostOS image. Additionally, descriptions of some changes might have been slightly modified to fit the release notes format. |
| 7 | + |
| 8 | +To see a full list of commits added since last release, compare the revisions on [GitHub](https://github.com/dfinity/ic/compare/release-2026-04-16_04-20-base...release-2026-04-24_04-21-base). |
| 9 | + |
| 10 | +Features: |
| 11 | +--------- |
| 12 | + |
| 13 | +* [`904f4dde6`](https://github.com/dfinity/ic/commit/904f4dde6) Consensus: add node reward types type4.1 through type4.5 for cloud engines ([#9954](https://github.com/dfinity/ic/pull/9954)) |
| 14 | + |
| 15 | +Bugfixes: |
| 16 | +--------- |
| 17 | + |
| 18 | +* [`7bfc38f6c`](https://github.com/dfinity/ic/commit/7bfc38f6c) Node: revert "chore: Update Base Image Refs [2026-04-17-2049] ([#9931](https://github.com/dfinity/ic/pull/9931))" ([#9951](https://github.com/dfinity/ic/pull/9951)) |
| 19 | + |
| 20 | +Chores: |
| 21 | +------- |
| 22 | + |
| 23 | +* [`1c16bab5a`](https://github.com/dfinity/ic/commit/1c16bab5a) Node: Update Base Image Refs [2026-04-17-2049] ([#9931](https://github.com/dfinity/ic/pull/9931)) |
| 24 | + |
| 25 | +------------------------------------------ |
| 26 | + |
| 27 | +## Excluded Changes |
| 28 | + |
| 29 | +### Excluded by authors |
| 30 | +* [`1354e5d62`](https://github.com/dfinity/ic/commit/1354e5d62) Consensus(flexible-outcalls): deliver flexible errors to execution ([#9925](https://github.com/dfinity/ic/pull/9925)) |
| 31 | +* [`32a9bc65b`](https://github.com/dfinity/ic/commit/32a9bc65b) Consensus(flexible-outcalls): extend ResponsesTooLarge error for good error message ([#9908](https://github.com/dfinity/ic/pull/9908)) |
| 32 | +* [`cdc89c17e`](https://github.com/dfinity/ic/commit/cdc89c17e) Consensus(flexible-outcalls): harden ResponsesTooLarge validation with all-seen-shares proof ([#9860](https://github.com/dfinity/ic/pull/9860)) |
| 33 | +* [`20c64cb87`](https://github.com/dfinity/ic/commit/20c64cb87) Node: Improve open\_rootfs logging ([#9909](https://github.com/dfinity/ic/pull/9909)) |
| 34 | +* [`a95a31edd`](https://github.com/dfinity/ic/commit/a95a31edd) DSM: Allow SetupInitialDkg requests to be answered by subnets other than NNS ([#9782](https://github.com/dfinity/ic/pull/9782)) |
| 35 | +* [`09a5f7d51`](https://github.com/dfinity/ic/commit/09a5f7d51) DSM: add canister\_log\_retention\_seconds metric ([#9952](https://github.com/dfinity/ic/pull/9952)) |
| 36 | +* [`d28780e61`](https://github.com/dfinity/ic/commit/d28780e61) DSM: Asynchronous hashing ([#8464](https://github.com/dfinity/ic/pull/8464)) |
| 37 | +* [`987cf4428`](https://github.com/dfinity/ic/commit/987cf4428) DSM: calibrate fetch\_canister\_logs fee and add benchmarks ([#9911](https://github.com/dfinity/ic/pull/9911)) |
| 38 | +* [`c297176a1`](https://github.com/dfinity/ic/commit/c297176a1) DSM: Store prepayment for call transmission ([#9859](https://github.com/dfinity/ic/pull/9859)) |
| 39 | +* [`227397cc7`](https://github.com/dfinity/ic/commit/227397cc7) DSM: charge cycles for log memory resize in update\_settings ([#9883](https://github.com/dfinity/ic/pull/9883)) |
| 40 | +* [`ccf75a06b`](https://github.com/dfinity/ic/commit/ccf75a06b) Consensus: revert "perf(crypto): Use Rayon in NIDKG ([#9007](https://github.com/dfinity/ic/pull/9007))" ([#9968](https://github.com/dfinity/ic/pull/9968)) |
| 41 | +* [`ebfe8f011`](https://github.com/dfinity/ic/commit/ebfe8f011) DSM: Revert async hashing ([#10001](https://github.com/dfinity/ic/pull/10001)) |
| 42 | +* [`bbca16b00`](https://github.com/dfinity/ic/commit/bbca16b00) DSM: notify sync update call HTTP handler with correct state height ([#9938](https://github.com/dfinity/ic/pull/9938)) |
| 43 | +* [`6a31f4c29`](https://github.com/dfinity/ic/commit/6a31f4c29) Consensus(idkg): reduce the number of signature share validations ([#9907](https://github.com/dfinity/ic/pull/9907)) |
| 44 | +* [`dd1ef70ce`](https://github.com/dfinity/ic/commit/dd1ef70ce) Consensus(crypto): Use Rayon in NIDKG ([#9007](https://github.com/dfinity/ic/pull/9007)) |
| 45 | +* [`ed57a4648`](https://github.com/dfinity/ic/commit/ed57a4648) Consensus,DSM: Reject missing subnet type when checking canister sig delegations ([#9928](https://github.com/dfinity/ic/pull/9928)) |
| 46 | +* [`e899b4a23`](https://github.com/dfinity/ic/commit/e899b4a23) DSM: add flag const and tune buckets for canister log metrics ([#9971](https://github.com/dfinity/ic/pull/9971)) |
| 47 | +* [`9a172ceed`](https://github.com/dfinity/ic/commit/9a172ceed) DSM: sort derive traits in Rust files for team-dsm ([#9902](https://github.com/dfinity/ic/pull/9902)) |
| 48 | +* [`474a744e6`](https://github.com/dfinity/ic/commit/474a744e6) Consensus(flexible-outcalls): rename TooManyRequestErrors to TooManyRejects ([#9927](https://github.com/dfinity/ic/pull/9927)) |
| 49 | + |
| 50 | +### Not modifying HostOS |
| 51 | +* [`920df8055`](https://github.com/dfinity/ic/commit/920df8055) Consensus: enable asynchronous canister creation with subnet ID in the URL ([#9982](https://github.com/dfinity/ic/pull/9982)) |
| 52 | +* [`a8beefd1a`](https://github.com/dfinity/ic/commit/a8beefd1a) Consensus: enable listing canisters via query call with subnet ID in the URL ([#9977](https://github.com/dfinity/ic/pull/9977)) |
| 53 | +* [`aef1670e2`](https://github.com/dfinity/ic/commit/aef1670e2) Consensus(recovery): allow to override what state height to download ([#9707](https://github.com/dfinity/ic/pull/9707)) |
| 54 | +* [`22853ca24`](https://github.com/dfinity/ic/commit/22853ca24) Consensus: Helper functions to create NiDkgConfigs from request contexts ([#9926](https://github.com/dfinity/ic/pull/9926)) |
| 55 | +* [`6ab9da34e`](https://github.com/dfinity/ic/commit/6ab9da34e) Consensus: enable canister creation with subnet ID in the URL ([#9919](https://github.com/dfinity/ic/pull/9919)) |
| 56 | +* [`8a6cf4ebe`](https://github.com/dfinity/ic/commit/8a6cf4ebe) Consensus(subnet-splitting): [,,] add a python script for finding a good subnet split ([#9800](https://github.com/dfinity/ic/pull/9800)) |
| 57 | +* [`2a7237e73`](https://github.com/dfinity/ic/commit/2a7237e73) Consensus: Include NiDKG dealings into blocks based on priority ([#9766](https://github.com/dfinity/ic/pull/9766)) |
| 58 | +* [`d3b3351fa`](https://github.com/dfinity/ic/commit/d3b3351fa) Defi(icrc1): implement/152 with ledger endpoints, index-ng, and Rosetta support ([#9586](https://github.com/dfinity/ic/pull/9586)) |
| 59 | +* [`b35dfed55`](https://github.com/dfinity/ic/commit/b35dfed55) Defi(icrc-ledger-types): Gate ic-stable-structures dependency behind storable feature flag ([#7520](https://github.com/dfinity/ic/pull/7520)) |
| 60 | +* [`234f0ca9c`](https://github.com/dfinity/ic/commit/234f0ca9c) Governance(ic-admin): add --canister-cycles-cost-schedule option to propose-to-create-subnet ([#9950](https://github.com/dfinity/ic/pull/9950)) |
| 61 | +* [`c858e784a`](https://github.com/dfinity/ic/commit/c858e784a) Governance(ic-admin): Added canister snapshot commands to ic-admin. ([#9836](https://github.com/dfinity/ic/pull/9836)) |
| 62 | +* [`0c93fe2f1`](https://github.com/dfinity/ic/commit/0c93fe2f1) Governance(nns): apply 8 Year Gang 10% bonus to voting power calculation ([#9896](https://github.com/dfinity/ic/pull/9896)) |
| 63 | +* [`a234a29c7`](https://github.com/dfinity/ic/commit/a234a29c7) Governance: Enable Mission 70 voting rewards changes. ([#9923](https://github.com/dfinity/ic/pull/9923)) |
| 64 | +* [`0cc0fbd97`](https://github.com/dfinity/ic/commit/0cc0fbd97) Governance: add propose-to-delete-subnet command to ic-admin ([#9897](https://github.com/dfinity/ic/pull/9897)) |
| 65 | +* [`c9933d724`](https://github.com/dfinity/ic/commit/c9933d724) Governance: decouple minimum dissolve delay to vote from propose ([#9880](https://github.com/dfinity/ic/pull/9880)) |
| 66 | +* [`decbf226a`](https://github.com/dfinity/ic/commit/decbf226a) Governance,IDX(ic-admin): support creation of cloud engines in ic-admin ([#9822](https://github.com/dfinity/ic/pull/9822)) |
| 67 | +* [`82ca1ae86`](https://github.com/dfinity/ic/commit/82ca1ae86) IDX(githubstats): add --exclude-commit filter to query ([#9970](https://github.com/dfinity/ic/pull/9970)) |
| 68 | +* [`d7f0b4808`](https://github.com/dfinity/ic/commit/d7f0b4808) Node: add Xen modules to GuestOS initramfs ([#9957](https://github.com/dfinity/ic/pull/9957)) |
| 69 | +* [`d5a4e1e43`](https://github.com/dfinity/ic/commit/d5a4e1e43) Node: Bump max image sizes for new kernel ([#9914](https://github.com/dfinity/ic/pull/9914)) |
| 70 | +* [`9f2aba1ef`](https://github.com/dfinity/ic/commit/9f2aba1ef) DSM: add canister\_log\_resize\_duration\_seconds metric ([#9948](https://github.com/dfinity/ic/pull/9948)) |
| 71 | +* [`7a01420d2`](https://github.com/dfinity/ic/commit/7a01420d2) DSM: ExecutionEnvironment::execute\_mgmt\_operation\_on\_canister ([#9840](https://github.com/dfinity/ic/pull/9840)) |
| 72 | +* [`d9eb0ed67`](https://github.com/dfinity/ic/commit/d9eb0ed67) Consensus: deflake //rs/tests/networking:canister\_http\_time\_out\_test\_head\_nns ([#9942](https://github.com/dfinity/ic/pull/9942)) |
| 73 | +* [`b19b2fea8`](https://github.com/dfinity/ic/commit/b19b2fea8) Consensus: deflake //rs/tests/consensus/orchestrator:ssh\_access\_to\_nodes\_test\_head\_nns ([#9936](https://github.com/dfinity/ic/pull/9936)) |
| 74 | +* [`36ec4b71c`](https://github.com/dfinity/ic/commit/36ec4b71c) Consensus: deflake //rs/tests/crypto:canister\_sig\_verification\_cache\_test ([#9937](https://github.com/dfinity/ic/pull/9937)) |
| 75 | +* [`81554a30b`](https://github.com/dfinity/ic/commit/81554a30b) Consensus: deflake //rs/tests/consensus/upgrade:upgrade\_downgrade\_nns\_subnet\_test ([#9934](https://github.com/dfinity/ic/pull/9934)) |
| 76 | +* [`1a389f9a7`](https://github.com/dfinity/ic/commit/1a389f9a7) Consensus,DSM: move certified height channel for HTTP handler to StateManagerImpl ([#9850](https://github.com/dfinity/ic/pull/9850)) |
| 77 | +* [`e822267d1`](https://github.com/dfinity/ic/commit/e822267d1) Governance(ic-admin): include missing SubnetRecord fields in get-subnet output ([#9974](https://github.com/dfinity/ic/pull/9974)) |
| 78 | +* [`d210e440b`](https://github.com/dfinity/ic/commit/d210e440b) Governance: Do not let snapshot proposal execution deadlock when the target is Governance ([#9811](https://github.com/dfinity/ic/pull/9811)) |
| 79 | +* [`5bb214b6a`](https://github.com/dfinity/ic/commit/5bb214b6a) Node: deflake //rs/tests/networking:canister\_http\_flexible\_test ([#9857](https://github.com/dfinity/ic/pull/9857)) |
| 80 | +* [`64a9695c3`](https://github.com/dfinity/ic/commit/64a9695c3) DSM: Test expects a nondeterministic error condition. ([#9964](https://github.com/dfinity/ic/pull/9964)) |
| 81 | +* [`f48e8e2c9`](https://github.com/dfinity/ic/commit/f48e8e2c9) DSM: disable the //rs/tests/message\_routing:rejoin\_test\_long\_rounds ([#9962](https://github.com/dfinity/ic/pull/9962)) |
| 82 | +* [`dd6e1e09e`](https://github.com/dfinity/ic/commit/dd6e1e09e) DSM: relax expectations in system test for nodes catching up ([#9932](https://github.com/dfinity/ic/pull/9932)) |
| 83 | +* [`441bcf18d`](https://github.com/dfinity/ic/commit/441bcf18d) DSM: SyncMessageRouting::expected\_batch\_height ([#9917](https://github.com/dfinity/ic/pull/9917)) |
| 84 | +* [`cafe032cd`](https://github.com/dfinity/ic/commit/cafe032cd) DSM: Pin the Store in WasmtimeInstance ([#9892](https://github.com/dfinity/ic/pull/9892)) |
| 85 | +* [`f017c8dad`](https://github.com/dfinity/ic/commit/f017c8dad) DSM: Use async-signal-safe mutex in SIGSEGV handler ([#9893](https://github.com/dfinity/ic/pull/9893)) |
| 86 | +* [`db546199b`](https://github.com/dfinity/ic/commit/db546199b) DSM(state-machine-tests): Register non-local subnets from routing table in registry ([#9891](https://github.com/dfinity/ic/pull/9891)) |
| 87 | +* [`31a57369d`](https://github.com/dfinity/ic/commit/31a57369d) Consensus: error log if the status of call is unknown in sync call handler certificate ([#9975](https://github.com/dfinity/ic/pull/9975)) |
| 88 | +* [`26aa522de`](https://github.com/dfinity/ic/commit/26aa522de) Consensus: Use StateReader instead of StateManager where possible ([#9899](https://github.com/dfinity/ic/pull/9899)) |
| 89 | +* [`2d1bd5cf3`](https://github.com/dfinity/ic/commit/2d1bd5cf3) Consensus: Report more error metrics during IDKG payload building ([#9885](https://github.com/dfinity/ic/pull/9885)) |
| 90 | +* [`cb185ed64`](https://github.com/dfinity/ic/commit/cb185ed64) Defi(proposal-cli): add word canister(s) to forum post title and description ([#9916](https://github.com/dfinity/ic/pull/9916)) |
| 91 | +* [`3fe742eeb`](https://github.com/dfinity/ic/commit/3fe742eeb) Defi: Release icrc-ledger-types 0.2.0 and dependents ([#9898](https://github.com/dfinity/ic/pull/9898)) |
| 92 | +* [`a2a7dc0ec`](https://github.com/dfinity/ic/commit/a2a7dc0ec) Governance: move pretty\_assertions to dev-dependencies ([#9983](https://github.com/dfinity/ic/pull/9983)) |
| 93 | +* [`4881f66b1`](https://github.com/dfinity/ic/commit/4881f66b1) Owners: Update Mainnet IC revisions canisters file ([#9999](https://github.com/dfinity/ic/pull/9999)) |
| 94 | +* [`d50baaac0`](https://github.com/dfinity/ic/commit/d50baaac0) Owners: Update Mainnet IC revisions canisters file ([#9949](https://github.com/dfinity/ic/pull/9949)) |
| 95 | +* [`81c0b13d5`](https://github.com/dfinity/ic/commit/81c0b13d5) Owners: Update Mainnet ICOS revisions file ([#9939](https://github.com/dfinity/ic/pull/9939)) |
| 96 | +* [`5351d017c`](https://github.com/dfinity/ic/commit/5351d017c) Owners: Update Mainnet IC revisions canisters file ([#9940](https://github.com/dfinity/ic/pull/9940)) |
| 97 | +* [`dc7af393d`](https://github.com/dfinity/ic/commit/dc7af393d) Owners: Update Mainnet ICOS revisions file ([#9935](https://github.com/dfinity/ic/pull/9935)) |
| 98 | +* [`10552b567`](https://github.com/dfinity/ic/commit/10552b567) Owners: Update Mainnet IC revisions canisters file ([#9918](https://github.com/dfinity/ic/pull/9918)) |
| 99 | +* [`454846458`](https://github.com/dfinity/ic/commit/454846458) Owners: sort dependencies alphabetically in Cargo.toml for team-dsm ([#9903](https://github.com/dfinity/ic/pull/9903)) |
| 100 | +* [`ecc77be86`](https://github.com/dfinity/ic/commit/ecc77be86) IDX(fuzzing): remove the weekly fuzzing upload job ([#9961](https://github.com/dfinity/ic/pull/9961)) |
| 101 | +* [`c70fde9d5`](https://github.com/dfinity/ic/commit/c70fde9d5) IDX(githubstats): gate download progress logs behind --verbose ([#9930](https://github.com/dfinity/ic/pull/9930)) |
| 102 | +* [`607599cc8`](https://github.com/dfinity/ic/commit/607599cc8) Node: also echo init-console logs to console ([#9995](https://github.com/dfinity/ic/pull/9995)) |
| 103 | +* [`b14cf758a`](https://github.com/dfinity/ic/commit/b14cf758a) Node: Remove broken var catch ([#9943](https://github.com/dfinity/ic/pull/9943)) |
| 104 | +* [`14eb53f6d`](https://github.com/dfinity/ic/commit/14eb53f6d) DSM: use debug\_assert\_eq instead of assert\_eq in production code ([#9997](https://github.com/dfinity/ic/pull/9997)) |
| 105 | +* [`88b89ed28`](https://github.com/dfinity/ic/commit/88b89ed28) DSM: more detailed logs for the rejoin\_test\_long\_rounds test ([#9960](https://github.com/dfinity/ic/pull/9960)) |
| 106 | +* [`c458c8caa`](https://github.com/dfinity/ic/commit/c458c8caa) DSM(rejoin\_test\_lib): improved logging for creating many canisters ([#9945](https://github.com/dfinity/ic/pull/9945)) |
| 107 | +* [`ba8c15256`](https://github.com/dfinity/ic/commit/ba8c15256) DSM: replace CanisterSnapshotNotEnoughCycles by NotEnoughCycles ([#9921](https://github.com/dfinity/ic/pull/9921)) |
| 108 | +* [`28477268f`](https://github.com/dfinity/ic/commit/28477268f) DSM: track subnet query message response size in metrics ([#9875](https://github.com/dfinity/ic/pull/9875)) |
| 109 | +* [`3640fe381`](https://github.com/dfinity/ic/commit/3640fe381) Consensus: merge canister and subnet read state endpoint code ([#9941](https://github.com/dfinity/ic/pull/9941)) |
| 110 | +* [`53b79780f`](https://github.com/dfinity/ic/commit/53b79780f) Consensus(mainnet-nns): fix regressions on testnet with mainnet state + refactor NNS recovery testnet ([#9721](https://github.com/dfinity/ic/pull/9721)) |
| 111 | +* [`feb61fd72`](https://github.com/dfinity/ic/commit/feb61fd72) DSM: CanisterManager::cycles\_and\_memory\_usage\_checks\_and\_updates ([#9912](https://github.com/dfinity/ic/pull/9912)) |
| 112 | +* [`58d493f60`](https://github.com/dfinity/ic/commit/58d493f60) Consensus,Node(recovery): Mainnet NNS Recovery system test and testnet ([#9580](https://github.com/dfinity/ic/pull/9580)) |
| 113 | +* [`08cf8f0e8`](https://github.com/dfinity/ic/commit/08cf8f0e8) DSM: Speed up compilation bench tests ([#9946](https://github.com/dfinity/ic/pull/9946)) |
| 114 | +* [`a6f255c68`](https://github.com/dfinity/ic/commit/a6f255c68) DSM: Update tests to pass with or without tracker charging ([#9944](https://github.com/dfinity/ic/pull/9944)) |
| 115 | +* [`b33c43392`](https://github.com/dfinity/ic/commit/b33c43392) DSM: restructure canister logging metrics tests ([#9924](https://github.com/dfinity/ic/pull/9924)) |
| 116 | +* [`f4653a19d`](https://github.com/dfinity/ic/commit/f4653a19d) DSM: add baseline for resize\_canister\_log benchmarks ([#9910](https://github.com/dfinity/ic/pull/9910)) |
| 117 | +* [`b07f3c885`](https://github.com/dfinity/ic/commit/b07f3c885) DSM: Update tests to pass with or without deterministic tracker… ([#9894](https://github.com/dfinity/ic/pull/9894)) |
| 118 | +* [`625a5bafd`](https://github.com/dfinity/ic/commit/625a5bafd) Governance: Update Governance changelog(s) for 2026-04-17. ([#9969](https://github.com/dfinity/ic/pull/9969)) |
0 commit comments