From 54ca8246d4bb608a6245ebbf8d25ef32016b1cc6 Mon Sep 17 00:00:00 2001 From: Stuart Harris Date: Mon, 20 May 2024 16:18:16 +0100 Subject: [PATCH] Release crux_core v0.8.0-rc.0 --- Cargo.lock | 2 +- crux_core/CHANGELOG.md | 32 ++++++++++++++++++- crux_core/Cargo.toml | 2 +- crux_http/Cargo.toml | 2 +- crux_kv/Cargo.toml | 2 +- crux_platform/Cargo.toml | 2 +- crux_time/Cargo.toml | 2 +- .../simple_counter/shared_types/Cargo.toml | 2 +- 8 files changed, 38 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d3160cef4..d863105b6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -356,7 +356,7 @@ dependencies = [ [[package]] name = "crux_core" -version = "0.7.6" +version = "0.8.0-rc.0" dependencies = [ "anyhow", "assert_fs", diff --git a/crux_core/CHANGELOG.md b/crux_core/CHANGELOG.md index 2f1ede0f5..00f465873 100644 --- a/crux_core/CHANGELOG.md +++ b/crux_core/CHANGELOG.md @@ -8,15 +8,45 @@ and this project adheres to ## [Unreleased] +## [0.8.0-rc.0](https://github.com/redbadger/crux/compare/crux_core-v0.7.6...crux_core-v0.8.0-rc.0) - 2024-05-20 + +Release candidate for 0.8.0 + +Note: this is a breaking change release. + +There are 2 main changes, both of which are breaking. + +1. Simplify construction of capabilities, so they don't require the app type. + The `Effect` derive macro no longer requires the name of the type that + implements the `App` trait in situations where its name is not also `App`. + This simplifies user code. See https://github.com/redbadger/crux/pull/241 for + more details. + +2. Requests now use `EffectId(u32)` instead of `Uuid`. This is the `id` that is + used to identify the effect in the effect registry in order to match + responses from the shell with their initial request. Ids are serialized as a + plain integer of type `u32` and they can be reused as effects are resolved. + See https://github.com/redbadger/crux/pull/238 for more details. + +### Other + +- update docs, comments and book +- Remove remaining mentions of the app attribute for Effect macro +- Make WithContext generic over Event, not App, enabling App types to be generic +- registry now slab allocated with u32 +- add Clone impl for ComposeContext + ## [0.7.6](https://github.com/redbadger/crux/compare/crux_core-v0.7.5...crux_core-v0.7.6) - 2024-05-15 ### Other + - remove unused deps ## [0.7.5](https://github.com/redbadger/crux/compare/crux_core-v0.7.4...crux_core-v0.7.5) - 2024-05-14 This is a minor maintenance release, with the most interesting change being a -relaxation of the `Fn` trait bound to `FnOnce`/`FnMut` in capability event callbacks. (see https://github.com/redbadger/crux/pull/229 for more info) +relaxation of the `Fn` trait bound to `FnOnce`/`FnMut` in capability event +callbacks. (see https://github.com/redbadger/crux/pull/229 for more info) ### Other diff --git a/crux_core/Cargo.toml b/crux_core/Cargo.toml index 8ab715c77..9e98b29c2 100644 --- a/crux_core/Cargo.toml +++ b/crux_core/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "crux_core" description = "Cross-platform app development in Rust" -version = "0.7.6" +version = "0.8.0-rc.0" readme = "README.md" authors.workspace = true repository.workspace = true diff --git a/crux_http/Cargo.toml b/crux_http/Cargo.toml index 9b8a28aa8..8c4f4aec3 100644 --- a/crux_http/Cargo.toml +++ b/crux_http/Cargo.toml @@ -13,7 +13,7 @@ rust-version.workspace = true [dependencies] anyhow.workspace = true async-trait = "0.1.80" -crux_core = { version = "0.7", path = "../crux_core" } +crux_core = { version = "0.8.0-rc.0", path = "../crux_core" } derive_builder = "0.20.0" futures-util = "0.3" http-types = { package = "http-types-red-badger-temporary-fork", version = "2.12.0", default-features = false } diff --git a/crux_kv/Cargo.toml b/crux_kv/Cargo.toml index 8b8e94d33..78c8893dc 100644 --- a/crux_kv/Cargo.toml +++ b/crux_kv/Cargo.toml @@ -12,6 +12,6 @@ rust-version.workspace = true [dependencies] anyhow.workspace = true -crux_core = { version = "0.7", path = "../crux_core" } +crux_core = { version = "0.8.0-rc.0", path = "../crux_core" } serde = { workspace = true, features = ["derive"] } thiserror = "1.0.60" diff --git a/crux_platform/Cargo.toml b/crux_platform/Cargo.toml index e8fb061f2..1ba71e0c6 100644 --- a/crux_platform/Cargo.toml +++ b/crux_platform/Cargo.toml @@ -11,5 +11,5 @@ keywords.workspace = true rust-version.workspace = true [dependencies] -crux_core = { version = "0.7", path = "../crux_core" } +crux_core = { version = "0.8.0-rc.0", path = "../crux_core" } serde = { workspace = true, features = ["derive"] } diff --git a/crux_time/Cargo.toml b/crux_time/Cargo.toml index e063871e2..8260f7c0a 100644 --- a/crux_time/Cargo.toml +++ b/crux_time/Cargo.toml @@ -11,7 +11,7 @@ keywords.workspace = true rust-version.workspace = true [dependencies] -crux_core = { version = "0.7", path = "../crux_core" } +crux_core = { version = "0.8.0-rc.0", path = "../crux_core" } serde = { workspace = true, features = ["derive"] } chrono = { version = "0.4.38", features = ["serde"], optional = true } thiserror = "1.0.60" diff --git a/templates/simple_counter/shared_types/Cargo.toml b/templates/simple_counter/shared_types/Cargo.toml index d9e175b76..318dfdf9e 100644 --- a/templates/simple_counter/shared_types/Cargo.toml +++ b/templates/simple_counter/shared_types/Cargo.toml @@ -12,5 +12,5 @@ rust-version.workspace = true [build-dependencies] anyhow.workspace = true -crux_core = { version = "0.7", features = ["typegen"] } +crux_core = { version = "0.8.0-rc.0", features = ["typegen"] } shared = { path = "../shared", features = ["typegen"] }