Proposal to elect new release rc--2024-08-29_01-30

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 132222.

Here is a summary of the changes since the last release:

Release Notes for release-2024-08-29_01-30-base (35bfcadd0f2a474057e42393917b8b3ac269627a)

This release is based on changes since release-2024-08-21_15-36-base (b0ade55f7e8999e2842fe3f49df163ba224b71a2).

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 7b3981ca032bd5d3c6be349bace7ad2da799baaa. Changes were removed from this release.

Features:

  • d37a6a16b Consensus,Interface(consensus): Make validator create equivocation proofs and ignore equivocating blocks (#852)
  • 35bfcadd0 Execution,Interface: Set the default Wasm memory limit (#1040)
  • a63138ab5 Execution,Interface,Message Routing: Check SystemState invariants on checkpoint loading (#1165)
  • d436a526d Interface(ic-admin): Print hashes rather than entire blobs when submitting InstallCode proposals (#1093)
  • 99c86c9e0 Interface,Message Routing: Raise a critical error if ReplicatedState gets altered during checkpointing (#1079)
  • 60432db15 Interface,Networking: Enable synchronous endpoint for snjp subnet (#1194)
  • cd153b5b7 Interface,Networking: Create asynchronous handler for v3 call endpoint by default (#1151)

Bugfixes:

  • 124957f40 Consensus,Interface,Networking(IDX): remove links to unknown rustdoc refs (#1145)

Chores:

  • 1c02246bb Consensus,Interface(consensus): add more checks to the dkg payload validator (#1078)
  • 232964087 Consensus,Interface(consensus): small clean-ups in Ingress Pool (#1066)
  • a3e2dac1b Crypto,Interface: upgrade deps and use workspace version (#1077)
  • 3c66cc522 Execution,Interface: Remove obsolete LogVisibility v1 type (#1139)
  • 7dbc6d425 Execution,Interface: Minor changes in canister snapshotting (#1021)
  • 9a84997c0 Execution,Interface: Reserve cycles just for the increase of canister snapshot size (#960)
  • 46e1372d2 Execution,Interface(ic): Unify wasm-tools dependency versions (#1125)
  • 0331e769f Execution,Interface,Message Routing: Remove logic for deprecated reject signals. (#1037)
  • a4fefd9c7 Interface: upgrade hyper in test driver (#1106)
  • 62c2ed16a Interface: Some typos in ValidateEq. (#1177)
  • d71e09e83 Interface: add decoding quota to http_request in SNS and ICRC1 canisters (#1101)
  • 4e5d6322b Interface: add decoding quota to http_request in NNS canisters (#1060)
  • c6e64a7e3 Interface(crypto): Rename ic_crypto_ecdsa_secp256k1 crate (#999)
  • 1e38e12c7 Interface,Message Routing: simplify further the hyper/xnet code (#1107)
  • 07f4e545b Interface,Message Routing: upgrade hyper in xnet (#758)
  • 1e96fa09e Interface,Message Routing: Bump certification version to v19 (#1035)
  • cb388ee94 Interface,Message Routing,Networking: delete unused threads backtrace debug http endpoint (#947)
  • 77405f50d Interface,Networking: crate the https outcalls adapter only by passing a config (#1076)
  • a5f59cf3f Interface,Networking: update ingress watcher cancellation log level (#1133)
  • a5595edf2 Interface,Networking: https outcalls hyper upgrade (#1017)
  • 3c9aaf594 Interface,Networking(http-handler): Track execution + certification time for all ingress messages (#1022)
  • a8b1a1912 Interface,Networking(http-metrics): Increase number of buckets for certification time of messages (#1026)
  • 45e3038eb Interface,Networking: remove the advert PB (#1036)
  • 6fd620f4a Node: Move the setup/teardown of temporary build directories to a process wrapper (#1142)
  • 8a5c77e48 Node: Update Base Image Refs [2024-08-22-0808] (#1059)
  • 3d83a4d2e Owners(reprocheck): use zst in reprocheck for all images (#1136)

Refactoring:

  • c890f067f Consensus,Interface: clarify the priority fn semantics (#1042)
  • 8520bf65d Crypto,Interface(crypto): remove CspSigVerifier (#653)
  • 5c02bc65d Interface(nervous_system): Add a Request trait to simplify interacting with our canisters (#1091)
  • 5b7ebe284 Interface(nns): Put TimeWarp in API crate to remove dependency (#1122)
  • 211fa36d1 Interface,Networking(http-handler): Return a concrete type in the call v2 handler (#1049)

Documentation:

  • 2ac785b95 Interface,Networking: update the quic transport docs and use thiserror (#1192)
  • 7809eee25 Node: update configuration documentation (#1089)

Other changes:

  • d0719bf22 Interface,Message Routing: last two xnet commits due to flakiness (#1169)

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/35bfcadd0f2a474057e42393917b8b3ac269627a/ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 35bfcadd0f2a474057e42393917b8b3ac269627a

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.

3 Likes

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 132223.

Here is a summary of the changes since the last release:

Release Notes for release-2024-08-29_01-30-canister-snapshots (9c42c7c0cdc44dc95a4a2d7685d512786c3fb0e2)

This release is based on changes since release-2024-08-29_01-30-base (35bfcadd0f2a474057e42393917b8b3ac269627a).

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 the last release, compare the revisions on GitHub.

Features:

  • 9c42c7c0c Execution,Interface,Networking: Enable canister snapshots

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/9c42c7c0cdc44dc95a4a2d7685d512786c3fb0e2/ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 9c42c7c0cdc44dc95a4a2d7685d512786c3fb0e2

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.

3 Likes

Thanks for this release DFINITY!

:point_up:
I wanted to make sure that I understood what was happening here, as it’s unusual and really not obvious. I filtered my git client to show only the two relevant branches to cut down on all the noise, and then produced this modified screenshot to illustrate the situation (highlighting the ‘merge base’ commit that’s referred to in the proposal summary, along with the previous release and this proposal’s release).

You can see that the previous release is left out on a limb and is never merged (effectively discarding that commit with respect to this release). The discarded commit isn’t actually a GuestOS commit (what a distraction :pensive:).

Just a final comment on the matter - the commit is actually cherry picked back into this release branch (so actually the changes aren’t really discarded after all, they are included in this release… :neutral_face:). Not only that but the commit includes a few subtle additional changes this time around.

The point I’m emphasising is that the IC repo uses git in an unconventional way that makes it very difficult to get a handle on what’s going on. There’s no reason the original commit couldn’t have been merged into the new release branch, and an additional commit made for the updated changes. This approach would have:

I’d expect these to be goals for any Web3 project that’s serious about governance decentralisation. Is there any chance of introducing best practice policy to improve matters here @basvandijk?

Hey @pakhomov-dfinity1, I found this commit particularly interesting :slight_smile: Are you able to share some further information about why there can be a divergence when a checkpoint is loaded? Presumably this can be an issue when nodes are newly added to a subnet? Other than raising a critical error, would you be able to elaborate on what the consequences of this are? Presumably a node in this situation would be considered degraded (or down)? Thanks in advance :pray:

1 Like

The communication around this change has been great! Thanks @ulanPSA: Upcoming Wasm memory limit may break your canisters - Developers - Internet Computer Developer Forum (dfinity.org)

It’ll be interesting to see how many devs didn’t get the memo though (hopefully none) :crossed_fingers:

2 Likes

I don’t think this commit should have been included in the change log. It’s not a GuestOS change.

2 Likes

Hi @Lorimer, thanks for your question!

  1. Any divergence in this context means a bug in the replica code, which we want to catch as soon as possible, which is the goal of this PR
  2. Some fields are benign and don’t matter, others could lead to a more usual definition of divergence: divergence of Manifest. In this case the node crashes, restarts and does state sync. If more than 1/3 of nodes diverge, the subnet stalls.
2 Likes

Thanks for clarifying @pakhomov-dfinity1, it’s much appreciated :+1:

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 132416.

Here is a summary of the changes since the last release:

Release Notes for release-2024-08-29_01-30-base-hotfix-https-outcalls (99ab7f03700ba6cf832eb18ffd55228f56ae927a)

This release is based on changes since release-2024-08-29_01-30-base (35bfcadd0f2a474057e42393917b8b3ac269627a).

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.

Other changes:

  • 7d81b536b Interface,Networking: fix: revert the old error string when outcall response is bigger than the limit

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/99ab7f03700ba6cf832eb18ffd55228f56ae927a/ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 99ab7f03700ba6cf832eb18ffd55228f56ae927a

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.

2 Likes

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 132414.

Here is a summary of the changes since the last release:

Release Notes for release-2024-08-29_01-30-canister-snapshots-hotfix-https-outcalls (4bda9fb480129ebe83f83743aab6866d27b27113)

This release is based on changes since release-2024-08-29_01-30-canister-snapshots (9c42c7c0cdc44dc95a4a2d7685d512786c3fb0e2).

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.

Other changes:

  • 7e136416c Interface,Networking: fix: revert the old error string when outcall response is bigger than the limit

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/4bda9fb480129ebe83f83743aab6866d27b27113/ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c 4bda9fb480129ebe83f83743aab6866d27b27113

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.

2 Likes