From aa0781f92db5e2880c9dbff5cf40a84215a20d3d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 02:51:56 +0000 Subject: [PATCH 1/2] Bump version to 21.7.3 --- Cargo.lock | 52 ++++++++++++++++++++++++++-------------------------- Cargo.toml | 14 +++++++------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 720e98a6..9743ffbe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1194,7 +1194,7 @@ dependencies = [ [[package]] name = "soroban-ledger-snapshot" -version = "21.7.2" +version = "21.7.3" dependencies = [ "pretty_assertions", "serde", @@ -1207,7 +1207,7 @@ dependencies = [ [[package]] name = "soroban-sdk" -version = "21.7.2" +version = "21.7.3" dependencies = [ "arbitrary", "bytes-lit", @@ -1231,7 +1231,7 @@ dependencies = [ [[package]] name = "soroban-sdk-macros" -version = "21.7.2" +version = "21.7.3" dependencies = [ "crate-git-revision", "darling", @@ -1249,7 +1249,7 @@ dependencies = [ [[package]] name = "soroban-spec" -version = "21.7.2" +version = "21.7.3" dependencies = [ "base64 0.13.1", "pretty_assertions", @@ -1260,7 +1260,7 @@ dependencies = [ [[package]] name = "soroban-spec-rust" -version = "21.7.2" +version = "21.7.3" dependencies = [ "pretty_assertions", "prettyplease", @@ -1275,7 +1275,7 @@ dependencies = [ [[package]] name = "soroban-token-sdk" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] @@ -1380,133 +1380,133 @@ dependencies = [ [[package]] name = "test_account" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_add_i128" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_add_u128" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_add_u64" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_alloc" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_auth" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_contract_data" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_empty" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_empty2" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_errors" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_events" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_fuzz" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_import_contract" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_invoke_contract" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_logging" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_modular" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_multiimpl" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_udt" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] [[package]] name = "test_workspace_contract" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", "test_workspace_lib", @@ -1514,7 +1514,7 @@ dependencies = [ [[package]] name = "test_workspace_lib" -version = "21.7.2" +version = "21.7.3" dependencies = [ "soroban-sdk", ] diff --git a/Cargo.toml b/Cargo.toml index f9c33995..e07d2c74 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,16 +12,16 @@ members = [ ] [workspace.package] -version = "21.7.2" +version = "21.7.3" rust-version = "1.74.0" [workspace.dependencies] -soroban-sdk = { version = "21.7.2", path = "soroban-sdk" } -soroban-sdk-macros = { version = "21.7.2", path = "soroban-sdk-macros" } -soroban-spec = { version = "21.7.2", path = "soroban-spec" } -soroban-spec-rust = { version = "21.7.2", path = "soroban-spec-rust" } -soroban-ledger-snapshot = { version = "21.7.2", path = "soroban-ledger-snapshot" } -soroban-token-sdk = { version = "21.7.2", path = "soroban-token-sdk" } +soroban-sdk = { version = "21.7.3", path = "soroban-sdk" } +soroban-sdk-macros = { version = "21.7.3", path = "soroban-sdk-macros" } +soroban-spec = { version = "21.7.3", path = "soroban-spec" } +soroban-spec-rust = { version = "21.7.3", path = "soroban-spec-rust" } +soroban-ledger-snapshot = { version = "21.7.3", path = "soroban-ledger-snapshot" } +soroban-token-sdk = { version = "21.7.3", path = "soroban-token-sdk" } [workspace.dependencies.soroban-env-common] version = "=21.2.1" From 1f8101942d52a6a93226df840876e6308808c0f4 Mon Sep 17 00:00:00 2001 From: Leigh McCulloch <351529+leighmcculloch@users.noreply.github.com> Date: Tue, 1 Oct 2024 10:48:13 +1000 Subject: [PATCH 2/2] Add compile errors when built with unsupported wasm features (#1353) ### What Add compile errors when built with unsupported wasm features reference-types and multivalue. ### Why Rust 1.82 is likely to ship with target feature reference-types and multivalue enabled on wasm builds. These target features are not supported by the Soroban Env in the current protocol 21 or next planned protocol 22. It's not trivial for developers to disable target features because of how the rustc compiler only exposes the ability to buildstd with nightly. These compile errors will prevent someone from building .wasm files with the sdk when either of those target features are enabled. A Rust version check is not being done because it's actually easier to do a target feature check, and in the off chain somehow Rust 1.82 shipped without the target features enabled then the sdk could still be used with 1.82. Links: - https://discord.com/channels/897514728459468821/1289090985569026048 - https://github.com/stellar/rs-soroban-env/issues/1469 - https://github.com/WebAssembly/tool-conventions/issues/233 ### Releasing This change will be merged to `main` targeting v22, then should be backported to a v21 patch release immediately following. (cherry picked from commit 6c45fb952d61e5e7f519b3d729c91c667639eda1) --- soroban-sdk/src/lib.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/soroban-sdk/src/lib.rs b/soroban-sdk/src/lib.rs index c032484e..bdca8668 100644 --- a/soroban-sdk/src/lib.rs +++ b/soroban-sdk/src/lib.rs @@ -47,6 +47,12 @@ #[cfg(all(target_family = "wasm", feature = "testutils"))] compile_error!("'testutils' feature is not supported on 'wasm' target"); +#[cfg(all(target_family = "wasm", target_feature = "reference-types"))] +compile_error!("Compiler configuration is unsupported by Soroban Environment, because a Wasm target-feature is enabled that is not yet supported: reference-types. Use Rust 1.81 or older to get a compatible default configuration."); + +#[cfg(all(target_family = "wasm", target_feature = "multivalue"))] +compile_error!("Compiler configuration is unsupported by Soroban Environment, because a Wasm target-feature is enabled that is not yet supported: multivalue. Use Rust 1.81 or older to get a compatible default configuration."); + // When used in a no_std contract, provide a panic handler as one is required. #[cfg(all(not(feature = "alloc"), target_family = "wasm"))] #[panic_handler]