Proposal to elect new release rc--2024-10-17_03-07

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

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

Release Notes for release-2024-10-17_03-07-base (e54d3fa34ded227c885d04e64505fa4b5d564743)

This release is based on changes since release-2024-10-11_14-35-base (6fb2fd1f0512c81578ea0d1984c48851e6c08b0d).

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 0a6d829cddc1534c29e0d2c3c3ebd1024bff8d1a. Changes removed from this release were cherry-picked from the master branch (reintroduced as commits dbc1f3066, 634ed31f6, 0bcb6573e).

Features:

  • 9fc5ab4e9 Interface(registry): Add node_reward_type to NodeRecord (#1608)

Bugfixes:

  • 79248a522 Consensus,Interface: Always fallback to default values instead of panicing (#1872)
  • e9f2b0bd8 Crypto,Interface: return BAD_REQUEST for all validation errors (#1846)
  • 0bcb6573e Interface,Message Routing,Networking: Fix the regression in XNET (#1992)

Performance improvements:

  • 082b736d0 Node: Don’t recursively fix permissions of the backup directory after reboots (#1906)
    • author: Leo Eich | b3951f5f4 Node: revert “perf: Don’t recursively fix permissions of the backup directory after reboots” (#2031)

Chores:

  • 31013be6b Consensus,Interface: Rename transcripts_for_new_subnets_with_callback_ids (#2071)
  • 23c544f4b Crypto,Interface(crypto): Rename clib tecdsa (#1903)
  • 38b6d6ed0 Interface(crypto): Use k256 instead of schnorr_fun (#2066)
  • db693c889 Interface: Remove the INITIAL_NOTARY_DELAY_NNS_SUBNET constant (#2050)
  • 0de811a69 Interface,Networking: Introduce a hashes-in-blocks feature flag (#2058)
  • 7dec05681 Interface,Networking: Track how often the call v3 handler gets an ingress message already in the certified state (#1907)
  • 8e9e9620e Owners(crypto): Bump k256 to 0.13.4 (#2064)
  • e54d3fa34 Node: Update Base Image Refs [2024-10-17-0144] (#2089)
  • 0501f7b07 Node: remove BUILD_TAR_ONLY conditional (#2029)
  • efe8dfc96 Node: Update Base Image Refs [2024-10-10-0808] (#1949)

Refactoring:


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

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

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

Release Notes for release-2024-10-17_03-07-scheduler-changes (33aa325148fafc77492010a9b3da54f214c9b602)

This release is based on changes since release-2024-10-17_03-07-base (e54d3fa34ded227c885d04e64505fa4b5d564743).

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.

Features:

  • 3b0965416 Execution,Interface: Charge idle canisters for full execution (#1806)
  • 67c29aed7 Execution,Interface: Charge canisters for full execution (#1782)
  • 33aa32514 Execution,Interface,Networking: Increase max sandbox count

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

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

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

Release Notes for release-2024-10-17_03-07-scheduler-changes-guestos-revert (3c76b9142f67da01393d9280c705f88b6e522a93)

This release is based on changes since release-2024-10-17_03-07-scheduler-changes (33aa325148fafc77492010a9b3da54f214c9b602).

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:

  • 3c76b9142 Node: Revert “feat: Upgrade GuestOS to 24.04 (#938)”

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

3 Likes

I have reviewed all commits listed in proposal 133443 and in my opinion they all look fine, I have also run the build verification script which completed successfully, so I have voted to adopt the proposal.

Full review:

Features:

9fc5ab4e9 Interface(registry): Add node_reward_type to NodeRecord (#1608)
Review: Looks fine + matches description
Notes: Adds the node_reward_type field to each NodeRecord and ensures that each new node has it set to a valid value otherwise the “Add node” request will be rejected.

Bugfixes:

79248a522 Consensus,Interface: Always fallback to default values instead of panicing (#1872)
Review: Looks fine + matches description
Notes: Logs an error but then returns the default settings from get_notarization_delay_settings if no settings are found, rather than panicking.

e9f2b0bd8 Crypto,Interface: return BAD_REQUEST for all validation errors (#1846)
Review: Looks fine + matches description
Notes: Returns BAD_REQUEST for all requests into the IC for which a validation error occurs, whereas previously in some cases it would return FORBIDDEN.

0bcb6573e Interface,Message Routing,Networking: Fix the regression in XNET (#1992)
Review: Looks fine + matches description
Notes: Spawns the task to handle TLS requests as soon as the request is received rather than only after the TLS handshake + adds metrics to count number of connections opened and closed.

Performance improvements:

082b736d0 Node: Don’t recursively fix permissions of the backup directory after reboots (#1906)
Review: Looks fine + matches description
Notes: Speeds up subnet upgrades by only setting the permissions of top level files within the backup directory, whereas before it would recursively iterate over all child files and set their permissions.

author: Leo Eich | b3951f5f4 Node: revert “perf: Don’t recursively fix permissions of the backup directory after reboots” (#2031)
Review: Looks fine + matches description
Notes: Simply reverts 082b736d0 since it turns out the permissions of child files in the backup directory do in fact need to be updated.

Chores:

31013be6b Consensus,Interface: Rename transcripts_for_new_subnets_with_callback_ids (#2071)
Review: Looks fine + matches description
Notes: Simply renames some fields and variables.

23c544f4b Crypto,Interface(crypto): Rename clib tecdsa (#1903)
Review: Looks fine + matches description
Notes: Renames rs/crypto/internal/threshold_sig/tecdsa to rs/crypto/internal/threshold_sig/canister_threshold_sig because it now handles tECDSA and tSchnorr. Also renames the corresponding test utils package.

38b6d6ed0 Interface(crypto): Use k256 instead of schnorr_fun (#2066)
Review: Looks fine + matches description
Notes: Drops all usages of schnorr_fun and replaces them with k256 now that k256 has been updated to support BIP340 signatures for messages that are not exactly 32 bytes.

db693c889 Interface: Remove the INITIAL_NOTARY_DELAY_NNS_SUBNET constant (#2050)
Review: Looks fine + matches description
Notes: Removes the INITIAL_NOTARY_DELAY_NNS_SUBNET now that all subnets use the same value (INITIAL_NOTARY_DELAY).

0de811a69 Interface,Networking: Introduce a hashes-in-blocks feature flag (#2058)
Review: Looks fine + matches description
Notes: Adds the HASHES_IN_BLOCKS_FEATURE_ENABLED feature flag (currently set to false), which going forward will allow enabling the feature which will strip ingress messages from block proposals and replace them with the message hashes.

7dec05681 Interface,Networking: Track how often the call v3 handler gets an ingress message already in the certified state (#1907)
Review: Looks fine + matches description
Notes: Increments the metric which counts early responses from the v3 endpoint, using the new CALL_V3_EARLY_RESPONSE_MESSAGE_ALREADY_IN_CERTIFIED_STATE label if ever the response is already in the certified state.

8e9e9620e Owners(crypto): Bump k256 to 0.13.4 (#2064)
Review: Looks fine + matches description
Notes: Bumps k256 from 0.13.3 to 0.13.4.

e54d3fa34 Node: Update Base Image Refs [2024-10-17-0144] (#2089)
Review: Looks fine + matches description
Notes: Updates the base IC-OS image references.

0501f7b07 Node: remove BUILD_TAR_ONLY conditional (#2029)
Review: Looks fine + matches description
Notes: Removes the unused BUILD_TAR_ONLY option from build-bootstrap-config-image.sh.

efe8dfc96 Node: Update Base Image Refs [2024-10-10-0808] (#1949)
Review: Looks fine + matches description
Notes: Updates the base IC-OS image references again.

Refactoring:

1c0bd6862 Node: Rename nns_url nns_urls (#1970)
Review: Looks fine + matches description
Notes: Renames nns_url to nns_urls in a few build scripts since it can contain multiple.

2109b3f10 Node: Remove default query_stats_aggregation field (#1945)
Review: Looks fine + matches description
Notes: Removes the query_stats_aggregation field from a few build scripts and sets it in ic.json.template since it is now hardcoded to “Enabled”.

I have also successfully run the build verification scripts for 33aa325148fafc77492010a9b3da54f214c9b602 and 3c76b9142f67da01393d9280c705f88b6e522a93 so have voted to adopt their proposals too.

2 Likes

proposal - 133443

Hash: MATCH

Vote: ADOPT

Feedback: NONE

Features:

[9fc5ab4e9]
node_reward_type field

Bugfixes:

[79248a522]
ic-limits module as a dependency across multiple components

initial_notary_delay_millis is now sourced from the INITIAL_NOTARY_DELAY constant across the project, replacing hardcoded values in several configurations and tests

[e9f2b0bd8]
code400 handling in tests and refactoring error responses from 403 (Forbidden) to 400 (Bad Request) in several test cases.

error types such as InvalidIngressExpiry have been renamed to InvalidRequestExpiry for more general use across various request validation checks

[0bcb6573e]
metrics (connections_total and closed_connections_total) allows tracking of total accepted and closed TCP connections.

Performance improvements:

[082b736d0]
Updates script argument (-R) to the make_group_owned_and_sticky function, allowing recursive permission setting to be optional, whereas the original script always applied permissions recursively.

Chores:

[31013be6b]
renaming the term transcripts_for_new_subnets to transcripts_for_remote_subnets across several modules, improving the clarity of the transcript’s purpose for remote subnets.

[23c544f4b]
Renaming ic-crypto-internal-threshold-sig-ecdsa to ic-crypto-internal-threshold-sig-canister-threshold-sig across various files

[38b6d6ed0]
Remove the schnorr_fun and secp256kfun dependencies along with their associated test utilities and replacing them with the k256 library for handling BIP-340 Schnorr signatures

[db693c889]
Remove INITIAL_NOTARY_DELAY_NNS_SUBNET

[0de811a69]
Feature flag HASHES_IN_BLOCKS_FEATURE_ENABLED

[7dec05681]
New metric CALL_V3_EARLY_RESPONSE_MESSAGE_ALREADY_IN_CERTIFIED_STATE

[8e9e9620e]
Update k256

[e54d3fa34]
Update base image.

[0501f7b07]
removes the option to build a tar file only (i.e., the -t or --tar flag)

[efe8dfc96]
Update base image.

Refactoring:

[1c0bd6862]
Rename the --nns_url parameter to --nns_urls throughout various scripts and configuration files.

[2109b3f10]
Remove the query_stats_aggregation configuration option

The default value of "Enabled" for query stats aggregation is now hardcoded directly in the configuration template instead of being dynamically set.

proposal - 133450

Hash: MATCH

Vote: ADOPT

Feedback: GuestOS gave no err

Features:

[3b0965416]
charge_idle_canisters, to mark idle canisters as fully executed

[67c29aed7]
track canisters that have completed a full execution round by adding the round_fully_executed_canister_ids mechanism.

finish_canister_execution, is added to mark canisters as fully executed based on their execution state, helping ensure canisters are charged for their full execution.

[33aa32514]
Increase DEFAULT_MAX_SANDBOX_COUNT

proposal - 133457

Hash: MATCH

Vote: ADOPT

Feedback: GuestOS gave no err

Features:

[3c76b9142]
remove the use of systemd-machine-id-setup --commit from multiple scripts

removing unnecessary permissions for filebeat and systemd-related modules

1 Like

Proposal 133443

Hashes Match
Voting to adopt

Features

[9fc5ab4e9]
Adds node_reward_type to NodeRecord and AddNodePayload. In AddNodePayload it is added as string and in NodeRecord it is added as enum with validation.

Bugfixes

[79248a522]
With this change if a registry value is missing it fall back to default values.

[e9f2b0bd8]
If there are validation errors it returns BAD_REQUEST error message and also logs all validation errors.

[0bcb6573e]
spins up tasks and detaches them as soon as new connection arrives not only after TLS handshake.

Performance improvements

[082b736d0]
This change updates the setup-permissions.sh script so that it only sets the permissions of the top level directory instead of all the files in the ic directory. Since it lead to longer downtime of node during upgrades. This change is safe since files inside the the backup directory are only written and removed by the replicas itself.

Chores

[31013be6b]
This change renames field transcripts_for_new_subnets_with_callback_ids with transcripts_for_remote_subnets

[23c544f4b]
renames tecdsa to canister_threshold_sig in rs/crypto/internal/threshold_sig/ since it also contains threshold Schnorr code.

[38b6d6ed0]
removes schnorr_fun as dependency in monorepo and uses k256 instead.

[db693c889]
renames INITIAL_NOTARY_DELAY_NNS_SUBNET to INITIAL_NOTARY_DELAY

[0de811a69]
Introduces HASHES_IN_BLOCKS_FEATURE_ENABLED feature flag.

[7dec05681]
Adds metrics on number of times v3 handler call gets the ingress message

[8e9e9620e]
upgrades k256 from 0.13.3 to 0.13.4

[e54d3fa34]
updates base container image references

[0501f7b07]
removes unused BUILD_TAR_ONLY condition from build-bootstrap-config-image.sh file.

[efe8dfc96]
updates base container image references

Refactoring

[1c0bd6862]
renames nns_url to nns_urls

[2109b3f10]
moves query_stats_aggregation field from generate-replica-config.sh to ic.json.template

Proposal 133450

Features

Hashes Match
Voting to adopt

[3b0965416]
charges idle canisters for full execution in front of the round schedule.

[67c29aed7]
charges canister for full execution. The total points charged are distributed evenly across the canisters.

[33aa32514]
increased DEFAULT_MAX_SANDBOX_COUNT from 1_000 to 2_000

Proposal 133457

Hashes Match
Voting to adopt

Other changes

[3c76b9142]
revert of commit 87ed927

Proposal 133443

Hashes match.
ADOPTED.
Review:
For the Execution and Runtime layers, this release doesn’t introduce any changes.


Proposal 133450

Hashes match.
ADOPTED.
Review:
This release is the same as the one in 133443 with the addition of the following commits:

3b0965416:
Introduces the charge_idle_canisters method in the RoundSchedule struct. This function is called in the inner_round method of the SchedulerImpl, right after taking out the canister states from the ReplicatedState. Internally, charge_idle_canisters executes the finish_canister_execution, which puts the canister id into the round_fully_executed_canister_ids BTreeSet.
Changes the type of fully_executed_canister_ids in the ExecutionThreadResult struct from Vec to BTreeSet.

67c29aed7:
Changes the inner_round method of the SchedulerImpl to return a BTreeSet containing all canister ids that have been fully executed. This includes also the idle canisters, due to the changes introduced in the previous commit.
Introduces the finish_canister_execution and finish_round methods in the ExecutionThreadResult. The former is called in the execute_canisters_on_thread function, the latter is called at the end of the execute_round method of the SchedulerImpl.

33aa32514:
Matches description.

All reviewed commits match their description.


Proposal 133457

Hashes match.
ADOPTED.
Review:
This release is the same as the one in 133450 with the addition of the commit 3c76b9142, which matches its description.

1 Like

Proposal 133443 - release-2024-10-17_03-07-base . Voted to adopt.


Builds fine and all three hashes match and the commits match as well.

Features:
9fc5ab4e9 Interface(registry):
Adds the node_reward_type to NodeRecord and to AddNodePayload.
The node_is_not_created_with_invalid_type test verifies that a node is not created with an invalid type.

Bugfixes:
79248a522 Consensus,Interface:
Adds ic_limits::INITIAL_NOTARY_DELAY and in case of missing values from get_notarization_delay_settings it logs an error and returns the defaults instead of panicking.
e9f2b0bd8 Crypto,Interface:
Adds code400 to be used instead of FORBIDDEN (403) and it returns BAD_REQUEST for all validation errors.
0bcb6573e Interface,Message Routing,Networking:
Adds METRIC_CONNECTIONS as “Total number of accepted XNet TCP connections.”, and METRIC_CLOSED_CONNECTIONS, as “Total number XNet closed connections.”.
Spawning tasks even before the TLS handshake as soon as a new connection arrives should fix regression.

Performance improvements:
082b736d0 Node:
By making the setup-permissions.sh script (that recursively iterates over all files in the ic directory and applies the correct permissions) to only set the permissions of the top level backup directory.
This is done by adding RECURSIVE_FLAG to make_group_owned_and_sticky and a check to see if the RECURSIVE_FLAG environment variable is set to -R. If it is, it recursively changes the ownership and permissions of the TARGET_DIR directory and its contents. If not, it only changes the ownership and permissions of the TARGET_DIR itself.

Chores:
31013be6b Consensus,Interface:
Simple renaming of transcripts_for_new_subnets_with_callback_ids to transcripts_for_remote_subnets.
23c544f4b Crypto,Interface(crypto):
Renames tecdsa to canister_threshold_sig since it now contains threshold Schnorr code.
38b6d6ed0 Interface(crypto):
Uses k256 0.13.4 instead of schnorr_fun that gets removed.
db693c889 Interface:
The INITIAL_NOTARY_DELAY_NNS_SUBNET constant used only in tests is removed.
0de811a69 Interface,Networking:
Adds HASHES_IN_BLOCKS_FEATURE_ENABLED feature flag set to false by default.
Added code to the start_consensus function conditionally adds a client to the new_p2p_consensus , depending on whether the HASHES_IN_BLOCKS_FEATURE_ENABLED feature is enabled.
7dec05681 Interface,Networking:
Adds CALL_V3_EARLY_RESPONSE_MESSAGE_ALREADY_IN_CERTIFIED_STATE metric in order to count how many times the call v3 handler gets an ingress message already in the certified state.
8e9e9620e Owners(crypto):
Upgrade k256 version to 0.13.4 from version 0.13.3
e54d3fa34 Node: and efe8dfc96 Node: both update the IC-OS base image references
0501f7b07 Node:
Removes BUILD_TAR_ONLY from ic-os/components/hostos-scripts/build-bootstrap-config-image.sh since it was never used to build just the tar file.

Refactoring:
1c0bd6862 Node:
nns_url get renamed to nns_urls
2109b3f10 Node:
This description is as clear as can be actually the default query_stats_aggregation field is MOVED from the generate-replica-config.sh script to ic.json.template hardcoding it to “Enabled”.

Proposal 133450 - release-2024-10-17_03-07-scheduler-changes . Voted to adopt.


Builds fine and Guest OS is a match.

Features:
3b0965416 Execution,Interface:
The charge_idle_canisters function marks idle canisters in the schedule as fully executed. It iterates through the ordered list of new execution canisters, checks their next execution status, and finishes those that are idle.
The charge_idle_canisters_for_full_execution_round test verifies the behavior of the scheduler in terms of charging idle canisters and applying priority credits during a full execution round.
67c29aed7 Execution,Interface:
The finish_canister_execution function marks a canister as fully executed for a round, updates its scheduler state, and adds it to the list of fully executed canisters.
While the finish_round function processes the results of a completed round, charging canisters for full executions and updating their scheduler states.
33aa32514 Execution,Interface,Networking:
Doubles DEFAULT_MAX_SANDBOX_COUNT.

Proposal 133457 - release-2024-10-17_03-07-scheduler-changes-guestos-revert . Voted to adopt.


Builds fine and Guest OS is a match.
The only change reverts the GuestOS upgrade to 24.04.

Proposal: 133443

Summary:

  1. Build has from local build, from CDN and in the proposal matches
  2. Voting to adopt yes

Features:

9fc5ab4e9

Verified that the node_reward_type has been added to NodeRecord. It is defined as an enum for various generation of nodes.

Bugfixes:

79248a522

Verified that the panic was changed to error! With default values being returned for NotarizationDelaySettings::default()

E9f2b0bd8

Bad request code 400 is introduced in the code changes. Now in case of bad request ( due to validation errors ) HttpError with proper code is returned.

0bcb6573e

Verified that changes has been made to xne http_endpoints and couple of more metrics have been added. METRIC_CONNECTIONS and METRIC_CLOSED_CONNECTIONS.

Performance improvements:

082b736d0

Verified performance fix around subnet upgrade where now the correct permissions are just set on the parent directory, rather than recursively.

Chores:

31013be6b

Verified that the two variables are just renamed. Transcripts_for_new_subnets_with_callback_ids and transcripts_for_new_subnets to transcripts_for_remote_subnets

23c544f4b

Verified that the tecdsa has been renamed to canister_threshold_sig as it now contains threshold schnorr code.

Db693c889

Verified that the INITIAL_NODETARY_DELAY_NNS_SUBNET is now replaced with more generic INITIAL_NOTARY_DELAY.

0de811a69

This change matches the release notes and a new flag has been introduced called HASHES_IN_BLOCKS_FEATURE_ENABLED which if set then all the ingress messages will be stripped from the blocks before sending to the peers.

7dec05681

A new metric is added to track v3 handler calls when it gets an ingress message in certified state.

8e9e9620e

Verified k256 is upgraded from 0.13.3 to 0.13.4

E54d3fa34

Verified that the Baes image refs are being updated in this commit.

0501f7b07

TAR_ONLY conditional for build script has been removed.

Efe8dfc96

Verified that the based image refs have been updated.

Refactoring:

1c0bd6862

Verified that the Nns_url has been renamed to nns_urls for consistency.

2109b3f10

Verified that the default query_stats_agreegation field has been removed now.

Proposal: 133450

Summary:

  1. Build has from local build, from CDN and in the proposal matches
  2. Voting to adopt yes

Features:

3b0965416

Verified that the code changes matches the release notes and charge idle canisters for full execution. Function round_schedule.charge_idle_canisters() has been added.

67c29aed7

Verified that some modification has been done to charge canisters for full execution.

33aa32514
MAX_SANDBOX_COUNT has been increased from 1_000 to 2_000.

Proposal: 133457

Summary:

  1. Build has from local build, from CDN and in the proposal matches
  2. Voting to adopt yes

Other changes:

3c76b9142

Verified that this change is a revert of feat: Upgrade GuestOS to 24.04 (#938)

Proposal 133443

Summary

  1. Vote to adopt yes.
  2. Build hash matches

Features:

  • 9fc5ab4e9 Added node_reward_type enum as an enum to NodeRecord and as a string to AddNodePayload.

Bugfixes:

  • 79248a522 Fallback to defaults if registry value is missing.
  • e9f2b0bd8 Handle validation errors and return BAD_REQUEST.
  • 0bcb6573e Verified that tasks are spawned and detached when a new connection arrives.

Performance improvements:

  • 082b736d0 Improve performance of the setup-permissions.sh script by setting the permissions of the top level directory only.

Chores:

  • 31013be6b Rename transcripts_for_new_subnets_with_callback_ids to transcripts_for_remote_subnets as this field also being used to store existing subnets that are being recovered.
  • 23c544f4b Renamed rs/crypto/internal/threshold_sig/tecdsa to rs/crypto/internal/threshold_sig/canister_threshold_sig as it also includes the threshold Schnorr code.
  • 38b6d6ed0 Verified that since k256 0.13.4 is being used, k256 can be used and schnorr_fun can be removed.
  • db693c889 Replace INITIAL_NOTARY_DELAY_NNS_SUBNET constant with INITIAL_NOTARY_DELAY since INITIAL_NOTARY_DELAY_NNS_SUBNET is mainly used for system tests only.
  • 0de811a69 Added a new flag HASHES_IN_BLOCKS_FEATURE_ENABLED .
  • 7dec05681 Monitor the number of ingress message received by the call v3 handler when already in the certified state.
  • 8e9e9620e Updated k256 library version to 0.13.4.
  • e54d3fa34 Updated base container image references.
  • 0501f7b07 Removed BUILD_TAR_ONLY conditional as it is unused.
  • efe8dfc96 Updated base container image references.

Refactoring:

  • 1c0bd6862 Renamed nns_url to nns_urls to improve code readability and accuracy.
  • 2109b3f10 Moved query_stats_aggregation field from generate-replica-config.sh to ic.json.template where constants are stored.

Proposal 133450

Summary

  1. Vote to adopt yes.
  2. Build hash matches

Features:

  • 3b0965416 Verified that for better performance, the idle canisters in the front of the queue must be marked as fully executed.
  • 67c29aed7 Calculate new execution cores for each fully executed canister.
  • 33aa32514 Increase DEFAULT_MAX_SANDBOX_COUNT from 1_000 to 2_000

Proposal 133457

Summary

  1. Vote to adopt yes.
  2. Build hash matches

Other changes:

  • 3c76b9142 revert of commit 87ed927

Proposal 133443

Hashes and commit match. Adopted.

Features:

[9fc5ab4e9] Added node_reward_type optional field to NodeRecord and AddNodePayload, it is defined a variant for the former and in string form for the latter. When processing an add node request the string is validated and if correct mapped in numeric form, otherwise the request fails and an Invalid node type error is returned.

Bugfixes:

[79248a522] Modified get_notarization_delay_settings method to log an error and return default notarization delay settings instead of panicking when none are provided by the registry.

[e9f2b0bd8] Modified validation_error_to_http_error method to return BAD_REQUEST status code for all validation errors. The specification and tests have also been updated to reflect this change.

[0bcb6573e] Added 2 new metrics to XNetEndpointMetrics to track number of opened and closed connections. Modified start_server function in rs/http_endpoints/xnet/src/lib.rs to spawn tasks as soon as the request is received instead of after TLS handshake.

Performance improvements:

[082b736d0] Changed make_group_owned_and_sticky function in setup-permissions script to take in an additional parameter used to determine whether permissions to directories should be applied recursively, for the var/lib/ic/backup path permissions are only set to the top level directory.

[b3951f5f4] Reverts 082b736d0

Chores:

[31013be6b] Renamed transcripts_for_new_subnets_with_callback_ids to transcripts_for_remote_subnets.

[23c544f4b] Renamed tecdsa lib to canister_threshold_sig and updated imports.

[38b6d6ed0] Replaced schnorr_fun dependency with k256 since it can now support BIP340 signatures for messages with a size of 32 bytes.

[db693c889] Removed INITIAL_NOTARY_DELAY_NNS_SUBNET since all subnets will be standardized to use INITIAL_NOTARY_DELAY

[0de811a69] Added HASHES_IN_BLOCKS_FEATURE_ENABLED feature flag and use it to determine whether ingress messages should be stripped from blocks. It is currently set to false.

[7dec05681] Added CALL_V3_EARLY_RESPONSE_MESSAGE_ALREADY_IN_CERTIFIED_STATE label to track how many times v3 endpoint receives an ingress message already present in certified state.

[8e9e9620e] Updated k256 crate to 0.13.4

[e54d3fa34], [efe8dfc96] Updated ICOS image references.

[0501f7b07] Delete unused BUILD_TAR_ONLY option from build_ic_bootstrap_diskimage function in build-bootstrap-config-image script.

Refactoring:

[1c0bd6862] Renamed nns_url to nns_urls to better reflect the argument’s usage.

[2109b3f10] Since query_stats_aggregation field is always set to Enabled, it has been removed from ic-os/components/ic/generate-replica-config.sh and the its value has been hardcoded into ic-os/components/ic/ic.json5.template

Proposal 133450

Hashes and commit match. Adopted.

All commits were already validated as part of previews releases, one of them being 133396.

Proposal 133457

Hashes and commit match. Adopted.

This release contains all the changes from proposal 133450, but it reverts commit 87ed927.

1 Like