Removing deprecated System API from the replica

The canister System API calls ic0.call_simple, ic0.controller_size, and ic0.controller_copy are deprecated for a long time and should not be imported by a canister’s WASM. We plan to remove them from the replica and would like to give heads up to canister developers who might still depend on them. They are kindly asked to upgrade their canister with a WASM that does not import any of these System API calls ic0.call_simple, ic0.controller_size, and ic0.controller_copy.

The System API call ic0.call_simple has been removed from the Interface Spec at version 0.13.0 (2020-11-05), from the Rust CDK at version 0.1.1 (2020-10-04), and from the Motoko compiler at version 0.4.5 (2020-10-06).

The System API calls ic0.controller_size and ic0.controller_copy have never been part of the Interface Spec, the Rust CDK, and the Motoko compiler. These System API calls only return a meaningful result for canisters with a single controller (otherwise, they return fixed default values). Instead, the System API call ic0.canister_status should be used.

1 Like