Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ opt-level = 'z'

[workspace.dependencies]
ic0 = { path = "ic0", version = "1.0.1" }
ic-cdk = { path = "ic-cdk", version = "0.19.0-beta.3" }
ic-cdk = { path = "ic-cdk", version = "0.19.0" }
ic-cdk-bindgen = { path = "ic-cdk-bindgen", version = "0.2.0-alpha.2" }
ic-cdk-timers = { path = "ic-cdk-timers", version = "1.0.0-beta.1" }
ic-cdk-executor = { path = "ic-cdk-executor", version = "2.0.0-beta.1" }
ic-cdk-timers = { path = "ic-cdk-timers", version = "1.0.0" }
ic-cdk-executor = { path = "ic-cdk-executor", version = "2.0.0" }
ic-management-canister-types = { path = "ic-management-canister-types", version = "0.4.1" }

candid = "0.10.18" # sync with the doc comment in ic-cdk/README.md
Expand Down
6 changes: 3 additions & 3 deletions TROUBLESHOOTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ Only one package in the dependency graph may specify the same links value. This
failed to select a version for `ic-cdk-executor` which could resolve this conflict
```

You have two incompatible versions of `ic-cdk` in your dependency tree. There are two common reasons for this.
You have two incompatible versions of `ic-cdk` (or `ic-cdk-timers`) in your dependency tree. There are two common reasons for this.

First, a dependency may be using an older (or newer) version of the CDK. Many versions are compatible with each other, but versions 0.17 and earlier are incompatible with version 0.18, and 0.18 is incompatible with 0.19 or later. You will have to wait for those dependencies to update, or patch them yourself.
First, a dependency may be using an older (or newer) version of the CDK. Many versions of `ic-cdk` are compatible with each other, but versions 0.17 and earlier are incompatible with version 0.18, and 0.18 is incompatible with 0.19 or later. `ic-cdk-timers` does not have non-semver compatibility and any two versions are incompatible. In either case you will have to wait for those dependencies to update, or patch them yourself.

Second, a dependency may be using a nominally compatible version of the CDK, but you are using a GitHub prerelease of the CDK with `ic-cdk = { git =`. Git dependencies are automatically incompatible with everything, even if nothing changed. You will need to create a [patch table](https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html) that replaces `ic-cdk` with a Git dependency at the same commit (you may also need to replace `ic-cdk-executor`).
Second, a dependency may be using a nominally compatible version of the CDK, but you are using a GitHub prerelease of the CDK with `ic-cdk = { git =`. Git dependencies are automatically incompatible with everything, even if nothing changed. You will need to create a [patch table](https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html) that replaces all CDK dependencies with a Git dependency at the same commit.

You can find the dependencies responsible with the command `cargo tree -i ic-cdk`.
2 changes: 1 addition & 1 deletion ic-cdk-executor/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Unreleased

## [2.0.0-beta.1] - 2025-10-09
## [2.0.0] - 2025-10-16

### Changed

Expand Down
2 changes: 1 addition & 1 deletion ic-cdk-executor/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ic-cdk-executor"
version = "2.0.0-beta.1"
version = "2.0.0"
authors.workspace = true
edition.workspace = true
repository.workspace = true
Expand Down
2 changes: 1 addition & 1 deletion ic-cdk-macros/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ic-cdk-macros"
version = "0.19.0-beta.3" # sync with ic-cdk
version = "0.19.0" # sync with ic-cdk
authors.workspace = true
edition.workspace = true
license.workspace = true
Expand Down
2 changes: 1 addition & 1 deletion ic-cdk-timers/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [unreleased]

## [1.0.0-beta.1] - 2025-10-09
## [1.0.0] - 2025-10-16

- `ic-cdk-timers` no longer has a dependency on `ic-cdk` and no longer needs to be upgraded when `ic-cdk` is upgraded.
- Breaking: Timer bodies have been changed from `FnOnce`/`FnMut` to `Future`/`AsyncFnMut`, so `spawn` is no longer required to enter an async context from a timer. For `set_timer`, `|| {}` should be changed to `async {}`, and for `set_timer_interval`, `|| {}` should be changed to `async || {}`.
Expand Down
5 changes: 4 additions & 1 deletion ic-cdk-timers/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ic-cdk-timers"
version = "1.0.0-beta.1"
version = "1.0.0"
authors.workspace = true
edition.workspace = true
license.workspace = true
Expand All @@ -13,6 +13,9 @@ readme = "README.md"
categories = ["api-bindings", "data-structures", "no-std", "development-tools::ffi"]
keywords = ["internet-computer", "dfinity", "canister", "cdk"]
include = ["src", "Cargo.toml", "LICENSE", "README.md"]
# DO NOT change this field, not even to update the link, unless you are updating every existing version of the package.
# Update the link by updating the links-pin tag.
links = "ic-cdk-timers (canister_global_timer), see https://github.com/dfinity/cdk-rs/blob/links-pin/TROUBLESHOOTING.md"

[dependencies]
ic0.workspace = true
Expand Down
3 changes: 3 additions & 0 deletions ic-cdk-timers/build.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
fn main() {
// dummy build script, required by `package.links`
}
2 changes: 1 addition & 1 deletion ic-cdk/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [unreleased]

## [0.19.0-beta.3] - 2025-10-09
## [0.19.0] - 2025-10-16

### Added

Expand Down
4 changes: 2 additions & 2 deletions ic-cdk/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ic-cdk"
version = "0.19.0-beta.3" # sync with ic-cdk-macros and the doc comment in README.md
version = "0.19.0" # sync with ic-cdk-macros and the doc comment in README.md
authors.workspace = true
edition.workspace = true
license.workspace = true
Expand All @@ -23,7 +23,7 @@ ic-cdk-executor.workspace = true
# Dependents won't accidentaly upgrading ic-cdk-macros only but not ic-cdk.
# ic-cdk-macros is a hidden dependency, re-exported by ic-cdk.
# It should not be included by users direcly.
ic-cdk-macros = { path = "../ic-cdk-macros", version = "=0.19.0-beta.3" }
ic-cdk-macros = { path = "../ic-cdk-macros", version = "=0.19.0" }
ic-error-types = "0.2.0"
ic-management-canister-types.workspace = true
pin-project-lite = "0.2.16"
Expand Down
Loading