Proposal to elect new release rc--2024-06-19_23-01

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

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

Release Notes for release-2024-06-19_23-01-base (e3fca54d11e19dc7134e374d9f472c5929f755f9)

Changelog since git revision 246d0ce0784d9990c06904809722ce5c2c816269

Features:

  • 5bc360724 Consensus: Add equivocation message type and validation logic
  • 3cb9653ac Consensus: Transmit the highest certified height in CertifierImpl
  • e7ac71254 Execution,Message Routing: CanisterQueues forward compatibility
  • 8ba09973d Execution,Message Routing: Forward compatibility for CanisterQueue
  • 992599297 Execution,Runtime: Enable DTS on system subnets
  • 6dd6a07bd Message Routing,Execution: Introduce RejectSignal type
  • f582dc2fc Networking(starter): Enable tSchnorr keys in ic-starter

Bugfixes:

  • 125f6d1b6 Execution,Runtime: Implement smooth heap delta rate limiting
  • 3187bd90a Execution,Runtime: Enforce Wasm memory limit for binaries with static memory
  • 88a27dd33 Networking: don’t set the peer_id as extension on the request
  • 9079d0e6f Node: Fix parsing of deployment.json
  • ea343de87 Node: Fix log persistence

Performance improvements:

  • 844d03b47 Execution,Interface: optimize CanisterLog memory usage and cleanup
  • fc66531ab Interface: optimize CanisterLog not to count its size linearly

Chores:

  • 416058ebe Boundary Nodes,Runtime,Node,IDX: upgrade flate2, rayon, threadpool, regex
  • aa0da7951 Consensus: fix typo in signer.rs
  • a05f9cd87 Consensus(schnorr): Improve some metrics for tSchnorr
  • efc05cfd2 Consensus,Interface(ecdsa): Remove unused proto definitions
  • da6271c35 Crypto: Fix copy-pasta in parameter size metrics
  • 39055707b Execution: move DataSize structure to a dedicated file
  • 76a0c26dc Execution,Message Routing: Add README in replicated state
  • 32206b34c Execution,NNS,Interface: Bump rust version to 1.79
  • 1457e2419 Execution,Runtime: Adjust grammar of canister manager errors
  • e8b72d13c Execution,Runtime: Improve comment on clearing expected_compiled_wasms
  • 8eb288cae Interface: Remove serializable / deserializable from StreamHeader.
  • 9f2c01ce7 Message Routing,Crypto,Runtime: mockall and criterion upgrade
  • 396f516e0 Message Routing,Interface: Clean up uses of arb_stream_with_config
  • 2468bda2f Networking(http-handler): Add metrics for early return triggers for /v3/…/call endpoint
  • 369f5cf8b Networking(http-handler): Add metrics for read state results for /v3/…/call endpoint
  • ed4e1f589 Networking(http-endpoint): Move the IngresThrottler::exceed_threshold() call as first step in call handler.
  • d27395498 Networking,IDX(p2p-benchmark): Add latency and packet loss configuration for canary subnet IO67-
  • 4227bcf59 NNS,Interface: remove legacy gossip config
  • 1dc9e0901 Node: Delete excessive vsock logging
  • 823ce7468 Node: Update container base images refs [2024-06-14-0622]
  • 18cee3d1f Node: update the node_exporter version on the guest and host OS
  • 55d5ecd7b Runtime: Reorganize Validation errors
  • 62ab8eeb6 Runtime: Fix a typo
  • 446265f12 Runtime,Execution,Message Routing: Put chunk store max size in config

Refactoring:

  • 9d8373bda Message Routing,Interface: Implement RequestOrResponse to CanisterMessage conversion
  • a0b6c5e95 Networking(bitcoin-adapter): Remove dead code in the bitcoin adapter
  • 0b761c300 Networking,Interface: Move the adapters metrics code under a single directory

Tests:

  • 22ade6804 Consensus(schnorr): Add unit test for scheme mismatches when building signature inputs
  • b9a20425f Consensus(schnorr): Generalize remaining unit tests for tSchnorr
  • 330a625f1 Consensus(schnorr): Unit tests for tSchnorr signing phase
  • e002467e6 Consensus,IDX: feat(ecdsa):[,] Add system tests checking several multiple ecdsa keys scenarios & add handle the case when new keys are added to the subnet
  • cd6327c7c Crypto: move tECDSA integration test utils into existing crate
  • cd9eaf3e3 IDX,Consensus(consensus): upload results of tecdsa_performance_test to ES
  • 1a043570f IDX,Consensus(schnorr): Generalize functions to request/verify threshold signatures/public keys in system tests
  • d551b49b4 Interface: mark ic_test_utilities_logger as testonly
  • f5eb0d507 Message Routing: Add change guard for RejectCode
  • 23815c655 Message Routing(github-sync): PR#211 / chore: increase timeout for checkpointing in state manager tests
  • 393f7f09e Networking(http-endpoint): Test call endpoints load shed when ingress pool is full
  • 3685173d4 Networking(http-endpoint): Test call endpoint response when P2P is not running.
  • a28e7115e Networking,IDX(firewall-test): Remove NNS and system subnet from test setup
  • a99f8f159 NNS,Message Routing,Utopia(nns): Update governance_mem_test and install slice settings in tests

Documentation:

  • 8a6f79c30 Node: Add link to icos_build macro in ic-os documentation

Other changes:

  • 97a84fbc0 Consensus,DRE: Update Mainnet IC revisions file
  • 8f1f212ed Execution,Runtime: Move match for InstallChunkedCode
  • 3c5066a35 Node: “Merge branch ‘eero/fix-config-serialization’ into ‘master’”

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

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

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

Release Notes for release-2024-06-19_23-01-storage-layer-disabled (ae3c4f30f198eba9c5b113ec32fdec90713c24a0)

Changelog since git revision e3fca54d11e19dc7134e374d9f472c5929f755f9

Bugfixes:

  • ae3c4f30f Interface: Disable new storage layer

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

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

I can see that now the commits listed in the proposal’s summary are the Merge Requests, which include more details and context on the changes made in that commit.

I think this helps people to better understand the changes made and brings more transparency to the proposals.

More details in this comment and its thread.

Good job, @DRE-Team!

4 Likes

This is awesome. Thank you @DRE-Team and @sat! I believe most of the CodeGov team prefers to see these Merge Requests linked in the proposal summary.

4 Likes

Thanks for this release DFINITY. I gather that enabling deterministic time slicing on system subnets has been motivated by the NNS subnet incident last week. Are @DRE-Team able to share which system subnets DFINITY plan to deploy this replica version to first (if only there was a canary system subnet on mainnet)? Can I ask why DTS was previously disabled for system subnets (is it due to memory overhead)?

On a separate note, I found this commit interesting (and lacking an accessible explanation). It reduces firewall_max_connections test coverage, such that it no longer covers system subnets. Are you able to share more info about the motivations behind this commit?

2 Likes

Reviewers for the CodeGov project have completed our review of these replica updates.

Proposal ID: 130727
Vote: ADOPT
Full report on OpenChat

Proposal ID: 130728
Vote: ADOPT
Full report on OpenChat

At the time of this comment on the forum there are still 2 days left in the voting period, which means there is still plenty of time for others to review the proposal and vote independently.

We had several very good reviews of the Release Notes on these proposals by @Zane, @cyberowl, @ZackDS, @massimoalbarello, @ilbert, and @Lorimer. The IC-OS Verification was also performed by @tiago89. I recommend folks take a look and see the excellent work that was performed on these reviews by the entire CodeGov team. Feel free to comment here or in the thread of each respective proposal in our community on OpenChat if you have any questions or suggestions about these reviews.

2 Likes

@dsharifi seems to be your commit

1 Like

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

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

Release Notes for release-2024-06-19_23-01-cycle-hotfix (9c006a50d364edf1403ef50b24c3be39dba8a5f6)

Changelog since git revision ae3c4f30f198eba9c5b113ec32fdec90713c24a0

Other changes:

  • 9c006a50d Execution,Runtime: [hotfix]: Prevent lowering Cycles reservation limit below existing

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

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.

1 Like

Hi @Lorimer, the commit does not change any coverage for the test. We noticed that we created both a system subnet and an application subnet for the firewall_max_connections system test, but we only tested the connection limit for the application subnet.

This means that the system subnet was redundant for the test, creating extra overhead in setting up and running the test.

2 Likes

Thanks for clarifying @dsharifi - I see what you’re saying. It looks like it’s been that way since the limit was introduced). I’m still a little curious - the test setup had the intention of testing both application and system subnets (because they behave differently?). Why not modify connection_count_test to loop over the two subnets types, instead of removing the system subnet altogether? I’m only asking to get a better handle on things (not because I think anything is wrong) :slight_smile:

1 Like

The reason we don’t loop over both subnet types is that the firewall rule that we are testing, defined here is the same for both Application and System subnets.