Skip to content

Commit 80d8234

Browse files
chore: Release [email protected], ic-cdk-executor@2, ic-cdk-timers@1 (#676)
1 parent 9c57018 commit 80d8234

File tree

16 files changed

+39
-24
lines changed

16 files changed

+39
-24
lines changed

Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ opt-level = 'z'
3232

3333
[workspace.dependencies]
3434
ic0 = { path = "ic0", version = "1.0.1" }
35-
ic-cdk = { path = "ic-cdk", version = "0.19.0-beta.3" }
35+
ic-cdk = { path = "ic-cdk", version = "0.19.0" }
3636
ic-cdk-bindgen = { path = "ic-cdk-bindgen", version = "0.2.0-alpha.2" }
37-
ic-cdk-timers = { path = "ic-cdk-timers", version = "1.0.0-beta.1" }
38-
ic-cdk-executor = { path = "ic-cdk-executor", version = "2.0.0-beta.1" }
39-
ic-management-canister-types = { path = "ic-management-canister-types", version = "0.4.1" }
37+
ic-cdk-timers = { path = "ic-cdk-timers", version = "1.0.0" }
38+
ic-cdk-executor = { path = "ic-cdk-executor", version = "2.0.0" }
39+
ic-management-canister-types = { path = "ic-management-canister-types", version = "0.5.0" }
4040

4141
candid = "0.10.18" # sync with the doc comment in ic-cdk/README.md
4242
candid_parser = "0.2.1"

TROUBLESHOOTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ Only one package in the dependency graph may specify the same links value. This
1717
failed to select a version for `ic-cdk-executor` which could resolve this conflict
1818
```
1919

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

22-
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.
22+
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.
2323

24-
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`).
24+
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.
2525

2626
You can find the dependencies responsible with the command `cargo tree -i ic-cdk`.

ic-cdk-executor/CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## Unreleased
99

10-
## [2.0.0-beta.1] - 2025-10-09
10+
## [2.0.0] - 2025-11-13
1111

1212
### Changed
1313

1414
- Breaking: The API has been significantly revised.
15-
- `spawn` has been replaced with `spawn_local` and `spawn_migratory`. Local tasks are cancelled when the method ends.
15+
- `spawn` has been replaced with `spawn_protected` and `spawn_migratory`. Protected tasks are cancelled when the method ends.
1616
- Contexts are now 'tracking', meaning that they know when canister methods start and end. Calls to `ic0.call_*` must be accompanied by `extend_current_method_context`; `in_callback_executor_context_for` takes this value.
1717
- Cancellation is no longer done per-task with the waker, but per-method with the function `cancel_all_tasks_attached_to_current_method`.
1818

ic-cdk-executor/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ic-cdk-executor"
3-
version = "2.0.0-beta.1"
3+
version = "2.0.0"
44
authors.workspace = true
55
edition.workspace = true
66
repository.workspace = true

ic-cdk-macros/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ic-cdk-macros"
3-
version = "0.19.0-beta.3" # sync with ic-cdk
3+
version = "0.19.0" # sync with ic-cdk
44
authors.workspace = true
55
edition.workspace = true
66
license.workspace = true

ic-cdk-timers/CHANGELOG.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [unreleased]
88

9-
- Breaking: Interval timer bodies have been changed from `AsyncFnMut()` to `FnMut() -> impl Future`; some code may need to be changed from `async || {` to `|| async {`.
10-
11-
## [1.0.0-beta.1] - 2025-10-09
9+
## [1.0.0] - 2025-11-13
1210

1311
- `ic-cdk-timers` no longer has a dependency on `ic-cdk` and no longer needs to be upgraded when `ic-cdk` is upgraded.
14-
- 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 || {}`.
12+
- Breaking: Timer body function signatures have been updated which eliminating the need for explicit `spawn` calls within timer callbacks.
13+
- `set_timer`: now takes `impl Future<Output = ()>`. `|| {}` should be changed to `async {}`,
14+
- `set_timer_interval`: now takes `FnMut() -> impl Future`. `|| {}` should be changed to `|| async {}`.
15+
- `set_timer_interval_serial`: new function, takes `AsyncFnMut()`.
1516
- If you have any immediate `spawn` calls, you can remove them and run the async code directly. (You do not have to.)
1617

1718
## [0.12.2] - 2025-06-25

ic-cdk-timers/Cargo.toml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ic-cdk-timers"
3-
version = "1.0.0-beta.1"
3+
version = "1.0.0"
44
authors.workspace = true
55
edition.workspace = true
66
license.workspace = true
@@ -12,7 +12,10 @@ documentation = "https://docs.rs/ic-cdk-timers"
1212
readme = "README.md"
1313
categories = ["api-bindings", "data-structures", "no-std", "development-tools::ffi"]
1414
keywords = ["internet-computer", "dfinity", "canister", "cdk"]
15-
include = ["src", "Cargo.toml", "LICENSE", "README.md"]
15+
include = ["src", "Cargo.toml", "LICENSE", "README.md", "build.rs"]
16+
# DO NOT change this field, not even to update the link, unless you are updating every existing version of the package.
17+
# Update the link by updating the links-pin tag.
18+
links = "ic-cdk-timers (canister_global_timer), see https://github.com/dfinity/cdk-rs/blob/links-pin/TROUBLESHOOTING.md"
1619

1720
[dependencies]
1821
ic0.workspace = true

ic-cdk-timers/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ In `Cargo.toml`:
1616

1717
```toml
1818
[dependencies]
19-
ic-cdk-timers = "0.9.0"
19+
ic-cdk-timers = "1.0.0"
2020
```
2121

2222
To schedule a one-shot task to be executed 1s later:

ic-cdk-timers/build.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
fn main() {
2+
// dummy build script, required by `package.links`
3+
}

ic-cdk/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [unreleased]
88

9-
## [0.19.0-beta.3] - 2025-10-09
9+
## [0.19.0] - 2025-11-13
1010

1111
### Added
1212

0 commit comments

Comments
 (0)