NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4759 most downloaded on crates.io
Canister Developer Kit for the Internet Computer.
Last release 22 days ago
15 Sep 2026
Release timing varies
gaps range from 8 days to 4 months
Most releases are documented
notes for 31 of 42 stable releases
49 versions withdrawn
withdrawn after publishing
6 years old
98 releases · first in 2020
One column per quarter.
ic0.is_controller as a public function.
ic0.is_controller as a public function. (#383)TransformContext::new has been replaced with dedicated functions that accept closures. (#385)CallFuture only makes an inter-canister call if it is awaited. (#391)Nothing published for this version
WASM_PAGE_SIZE_IN_BYTES made pub.
WASM_PAGE_SIZE_IN_BYTES made pub. (#380)http_request_with_cycles. (#381)Addressed a compatibility error in the signature of the call family of functions.
call family of functions. (#379)Fix type name in error message when a deserialization error occurs after making a canister-to-canister call.
Update document for http_request.
The timers API is not a feature anymore, it moved into a separate library, ic-cdk-timers.
ic-cdk-timers. (#368)Added ic0.canister_version as a public function.
ic0.canister_version as a public function. (#350)Allow timers to cancel themselves.
join_all. (#357)Added composite queries via #[query(composite = true)].
Added composite queries via #[query(composite = true)]. (#344)
Composite queries cannot be run as update calls, but can make inter-canister calls to other query functions.
Implemented the canister timers API, located in module ic_cdk::timer. (#342)
Improve error message on trap while decoding arguments.
Added StableIO to implement both io::Write and io::Read for stable memory.
StableIO to implement both io::Write and io::Read for stable memory. (#335)io::Write and io::Read via StableIO.io::Seek for stable storage.StableWriter and StableReader are now wrappers around StableIO.BREAKING CHANGE of experimental API:
BREAKING CHANGE of experimental API:
http_request to support context field in callback function. (#326)Expose offset of StableReader and StableWriter.
offset of StableReader and StableWriter. (#330)### Fixed - Doc can build on docs.rs.
Separate ic0 crate for system API.
ic0 crate for system API. (#324)create_canister_with_extra_cycles to specify cycles when create canister
create_canister_with_extra_cycles to specify cycles when create canister (#322)create_canister should charge 0.1T cycles (#322)### Changed - Upgrade candid to 0.8.0
candid to 0.8.0 (#321)Overhaul management canister, especially transform type in http_request
transform type in http_request (#312)New ic_cdk::management_canister module for calling the IC management canister
ic_cdk::api::management_canister module for calling the IC management canister (#295)RejectionCode (#294)ManualReply::reject function (#297)ic_cdk::call does not trap anymore (#301)Derive CandidType and Deserialize for RejectionCode (#291, #293)
CandidType and Deserialize for RejectionCode (#291, #293)Nothing published for this version
BREAKING CHANGE: move performance_counter from the ic_cdk::call to ic_cdk::api module
instruction_counter function as a shorthand for performance_counter(0) (#283)CanisterStableMemory public (#281)ic_cdk::api::call to ic_cdk::api module (#283)ManualReply (#286)arg_data_raw_size for checking the size of the arg-data-raw before copying to a vector or deserializing
arg_data_raw_size for checking the size of the arg-data-raw before copying to a vector or deserializing (#263)performance_counter for getting the value of specified performance counter (#277)reply_raw avoid writing empty repliesBufferedStableReader for efficient reading from stable memory
BufferedStableReader for efficient reading from stable memory (#247)BufferedStableWriter for efficient writing to stable memory (#245)reply_raw and publish arg_data_raw for serialization-agnostic arguments fetching and replies (#256)notify and notify_raw functions) (#261).await does not leak resources anymore (#232, #250)Remove out-of-bounds vulnerability
Deprecate block_on in favour of the new spawn function
candid is required to be included in [dependencies] to use the #[import] macro (#190)Update system API for 128 bit cycles
Add support for 64 bit stable memory
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →