Voting is open for a new IC release - dcbf401

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

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

* Crypto: Add support for batch normalization of BLS12-381 points
* Crypto: Avoid multiplying by the projective BLS12-381 generator
* Crypto: Change ValidNodePublicKeys::try_from to take CurrentNodePublicKeys
* Crypto: Define public key store API
* Crypto: Faster BLS12-381 point multiplication using offline precomputation
* Crypto: In BLS12-381 windowed mul table setup, use doubling where possible
* Crypto: Read node's keys from crypto_root only
* Execution: chore: Add replica changes for http transform context
* Execution: fix: [Bitcoin] Allow returning multiple blocks at any height for bitcoin testnet.
* Execution: fix: remove the dependency of `ic-btc-canister` on `prost`.
* Message Routing: Explicit synchronisation scheme for manifest computation
* Message Routing: group `canister.pbuf` files into chunks during state sync
* Message Routing: Keep latest checkpoint with manifest
* Message Routing: Metric for manifest size
* Message Routing: Metric for states_metadata.pbuf size
* Message Routing: Reimplement tip_to_checkpoint as rename & mark_readonly
* Message Routing: Report diverged non-checkpoint heights
* Message Routing: Set canister_root consistently
* Networking: Canister http adapter metrics
* Networking: feat: [H2 Transport Migration] Added transport api label to existing data plane metrics
* Networking: feat: Basic bitcoin adapter metrics
* Node: Setup cgi scripts for mutual attestation protocol
* Orchestrator: After replicator initialization: Try config URLs once after 3 consecutive failures of registry URLs
* Orchestrator: Download NNS pubkey and init local store using registry replicator in ic-recovery
* Orchestrator: Remove governance post-upgrade
* Runtime: Add a `composite_query` query type
* Runtime: Adjust the scheduler invariant for DTS
* Runtime: Cleanup execution complexity
* Runtime: Composite query total instruction limit
* Runtime: Enable global timer functionality
* Runtime: Reimplement canister validation with `parity-wasm` replacement
* Runtime: Run wasm-transform against Wasm spec testsuite
* Runtime: Simplify validate_compute_allocation()
* Runtime: Use `set_time()` in all the scheduler tests
* Various tech-debt management: code refactoring, docs, bug fixes, test updates

And a complete list of changes can of course be found on GitHub.
Please reply to this message if you have any questions or comments.


Hi everybody!

Small change of plans. We recently introduced a new field release_package_urls (note the plural) in “bless replica version” proposals, which should replace field release_package_url, such that we can include multiple download URLs instead of relying on a single download url.

Proposal 90008 was submitted without setting release_package_urls.

So we will submit a “retire replica version” proposal for this version, and resubmit an equivalent bless replica version proposal, using the same commit hash and release package hash, but now with this new field release_package_urls also set.

For anybody that verified this proposal (eg by building from source and checking the release package hash, or by inspecting the source code): since the new proposal will use exactly the same commit hash and release package hash, your verification should still be valid and convince you that this replica version is safe to use.

Please ask here if anything is unclear!


First follow-up proposal (retire replica versions): Proposal 90481

Second follow-up proposal (re-bless the latest replica version): Proposal 90485