Skip to content
Open
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
2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ package.repository = "https://github.com/juspay/superposition"
package.readme = "README.md"
package.authors = ["superposition@juspay.in"]
package.version = "0.89.0"
package.rust-version = "1.82.0"
package.edition = "2021"

members = [
"crates/service_utils",
Expand Down
5 changes: 3 additions & 2 deletions crates/cac_client/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[package]
name = "cac_client"
version.workspace = true
edition = "2021"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
build = "build.rs"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
Expand Down
5 changes: 3 additions & 2 deletions crates/cac_toml/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[package]
name = "cac_toml"
version.workspace = true
edition = "2021"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
5 changes: 3 additions & 2 deletions crates/context_aware_config/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[package]
name = "context_aware_config"
version.workspace = true
edition = "2021"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
5 changes: 3 additions & 2 deletions crates/experimentation_client/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[package]
name = "experimentation_client"
version.workspace = true
edition = "2021"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }

[dependencies]
cfg-if = { workspace = true }
Expand Down
5 changes: 3 additions & 2 deletions crates/experimentation_platform/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[package]
name = "experimentation_platform"
version.workspace = true
edition = "2021"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
5 changes: 3 additions & 2 deletions crates/frontend/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[package]
name = "frontend"
version.workspace = true
edition = "2021"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
include = ["src/**/*", "src-js/**/*"]

[lib]
Expand Down
5 changes: 3 additions & 2 deletions crates/service_utils/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[package]
name = "service_utils"
version.workspace = true
edition = "2021"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
5 changes: 3 additions & 2 deletions crates/superposition/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[package]
name = "superposition"
version.workspace = true
edition = "2021"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
5 changes: 3 additions & 2 deletions crates/superposition_core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[package]
name = "superposition_core"
version.workspace = true
edition = "2021"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
description = "Core native library for Superposition FFI bindings"
license = { workspace = true }
homepage = { workspace = true }
Expand Down
5 changes: 3 additions & 2 deletions crates/superposition_derives/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[package]
name = "superposition_derives"
version.workspace = true
edition = "2021"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
license = { workspace = true }
homepage = { workspace = true }
repository = { workspace = true }
Expand Down
5 changes: 3 additions & 2 deletions crates/superposition_macros/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[package]
name = "superposition_macros"
version.workspace = true
edition = "2021"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
5 changes: 3 additions & 2 deletions crates/superposition_provider/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[package]
name = "superposition_provider"
version.workspace = true
edition = "2021"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
license = { workspace = true }
homepage = { workspace = true }
repository = { workspace = true }
Expand Down
5 changes: 3 additions & 2 deletions crates/superposition_sdk/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
[package]
name = "superposition_sdk"
version.workspace = true
version = { workspace = true }
authors = ["superposition@juspay.in"]
description = "Rust SDK to work with Superposition"
edition = "2021"
edition = { workspace = true }
rust-version = { workspace = true }
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if I am not wrong, this would get reverted in smithy generation
and I suppose we should use a different value just for the provider, so that we can have a higher inclusion percent

the server can be at a high MSRV like 1.82.0 but the sdk and the provider should not be dependent on this high of a number

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was based on @SanchithHegde's comment using the cargo msrv command (I think uniffi forces it). Running it currently. Will add the output to the PR.

Can we configure smithy to generate this the way we want it? cc: @ShubhranshuSanjeev @ShreyBana

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@knutties
smithy-build.json takes minimumSupportedRustVersion as config

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

➜  superposition git:(fix-msrv) ✗ cargo msrv verify --rust-version 1.81
  [Meta]   cargo-msrv 0.18.4  

Compatibility Check #1: Rust 1.81.0
◝ Rust 1.81.0      Elapsed 2s                                                                                                                                                                                                                                 ◞ Rust 1.81.0      Elapsed 3s                                                                                                                                                                                                                                 ◡ Rust 1.81.0      Elapsed 3s                                                                                                   ◜ Rust 1.81.0      Elapsed 4s                                                                                                         [FAIL]   Is incompatible 

...

uniffi errors

One option is to skip uniffi in rust builds via feature flag (which is actually a good idea by @SanchithHegde). I will do this as well in this PR.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@knutties you would need to check the MSRV for the crate individually I guess
also, uniffi would be needed for the provider only (from the import point of view)

I was thinking something:
sdk and provider to have their respective MSRVs
and all other crates can use a common one from workspace (if at all a common MSRV is needed)

Copy link
Collaborator Author

@knutties knutties Sep 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes - that is the plan. For crates that wider people have to use - we can lower the msrv - but we will need to remove uniffi dependency in Rust SDKs as it is not needed. uniffi is not needed for the Rust provider - it is needed only in the other language bindings.

We might need some additional CI checks to ensure we compile with some lower msrv as well. I will do that in this PR.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But the rust sdk does not include uniffi

license = { workspace = true }
homepage = { workspace = true }
repository = "https://github.com/juspay/superposition"
Expand Down
5 changes: 3 additions & 2 deletions crates/superposition_types/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
[package]
name = "superposition_types"
version.workspace = true
edition = "2021"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
license = { workspace = true }
homepage = { workspace = true }
repository = { workspace = true }
Expand Down
Loading