Files
SpacetimeDB/Cargo.toml
T
John Detter eb11e2f5c4 Version bump 2.2.0 (#4916)
# Description of Changes

<!-- Please describe your change, mention any related tickets, and so on
here. -->

- Bumps version to 2.2.0

# API and ABI breaking changes

<!-- If this is an API or ABI breaking change, please apply the
corresponding GitHub label. -->

None

# Expected complexity level and risk

- 1 - this is just a version bump

<!--
How complicated do you think these changes are? Grade on a scale from 1
to 5,
where 1 is a trivial change, and 5 is a deep-reaching and complex
change.

This complexity rating applies not only to the complexity apparent in
the diff,
but also to its interactions with existing and future code.

If you answered more than a 2, explain what is complex about the PR,
and what other components it interacts with in potentially concerning
ways. -->

# Testing

<!-- Describe any testing you've done, and any testing you'd like your
reviewers to do,
so that you're confident that all the changes work as expected! -->

- [x] Version number is correct (`2.2.0`)
- [x] BSL license file has been updated with the new date and version
number

---------

Co-authored-by: Zeke Foppa <196249+bfops@users.noreply.github.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
2026-04-30 19:24:41 +00:00

402 lines
13 KiB
TOML

[workspace]
exclude = ["crates/smoketests/modules"]
members = [
"crates/auth",
"crates/bench",
"crates/bindings-sys",
"crates/bindings",
"crates/bindings-macro",
"crates/cli",
"crates/client-api",
"crates/client-api-messages",
"crates/commitlog",
"crates/core",
"crates/data-structures",
"crates/datastore",
"crates/durability",
"crates/execution",
"crates/expr",
"crates/guard",
"crates/fs-utils",
"crates/lib",
"crates/metrics",
"crates/paths",
"crates/pg",
"crates/physical-plan",
"crates/primitives",
"crates/query",
"crates/sats",
"crates/schema",
"crates/smoketests",
"sdks/rust",
"sdks/unreal",
"crates/snapshot",
"crates/sqltest",
"crates/sql-parser",
"crates/standalone",
"crates/subscription",
"crates/table",
"crates/testing",
"crates/update",
"modules/benchmarks",
"modules/keynote-benchmarks",
"modules/perf-test",
"modules/module-test",
"templates/basic-rs/spacetimedb",
"templates/chat-console-rs/spacetimedb",
"modules/sdk-test",
"modules/sdk-test-connect-disconnect",
"modules/sdk-test-procedure",
"modules/sdk-test-view",
"modules/sdk-test-case-conversion",
"modules/sdk-test-view-pk",
"modules/sdk-test-event-table",
"sdks/rust/tests/test-client",
"sdks/rust/tests/test-counter",
"sdks/rust/tests/connect_disconnect_client",
"sdks/rust/tests/procedure-client",
"sdks/rust/tests/view-client",
"sdks/rust/tests/case-conversion-client",
"sdks/rust/tests/view-pk-client",
"sdks/rust/tests/event-table-client",
"tools/ci",
"tools/upgrade-version",
"tools/license-check",
"tools/replace-spacetimedb",
"tools/generate-client-api",
"tools/gen-bindings",
"tools/xtask-llm-benchmark",
"crates/bindings-typescript/test-app/server",
"crates/bindings-typescript/test-react-router-app/server",
"crates/query-builder",
]
default-members = ["crates/cli", "crates/standalone", "crates/update"]
# cargo feature graph resolver. v3 is default in edition2024 but workspace
# manifests don't have editions.
resolver = "3"
[profile.release]
opt-level = 3
debug-assertions = false
overflow-checks = false
lto = "thin"
panic = 'unwind'
incremental = false
codegen-units = 16
rpath = false
[profile.dev]
opt-level = 0
debug = true
debug-assertions = true
overflow-checks = true
lto = false
panic = 'unwind'
incremental = true
codegen-units = 256
rpath = false
[profile.bench]
debug = true
[profile.test]
opt-level = 1
debug = true
[profile.profiling]
inherits = "release"
debug = true
[workspace.package]
version = "2.2.0"
edition = "2024"
# update rust-toolchain.toml too!
rust-version = "1.93.0"
[workspace.dependencies]
spacetimedb = { path = "crates/bindings", version = "=2.2.0" }
spacetimedb-auth = { path = "crates/auth", version = "=2.2.0" }
spacetimedb-bindings-macro = { path = "crates/bindings-macro", version = "=2.2.0" }
spacetimedb-bindings-sys = { path = "crates/bindings-sys", version = "=2.2.0" }
spacetimedb-cli = { path = "crates/cli", version = "=2.2.0" }
spacetimedb-client-api = { path = "crates/client-api", version = "=2.2.0" }
spacetimedb-client-api-messages = { path = "crates/client-api-messages", version = "=2.2.0" }
spacetimedb-codegen = { path = "crates/codegen", version = "=2.2.0" }
spacetimedb-commitlog = { path = "crates/commitlog", version = "=2.2.0" }
spacetimedb-core = { path = "crates/core", version = "=2.2.0" }
spacetimedb-data-structures = { path = "crates/data-structures", version = "=2.2.0" }
spacetimedb-datastore = { path = "crates/datastore", version = "=2.2.0" }
spacetimedb-durability = { path = "crates/durability", version = "=2.2.0" }
spacetimedb-execution = { path = "crates/execution", version = "=2.2.0" }
spacetimedb-expr = { path = "crates/expr", version = "=2.2.0" }
spacetimedb-guard = { path = "crates/guard", version = "=2.2.0" }
spacetimedb-lib = { path = "crates/lib", default-features = false, version = "=2.2.0" }
spacetimedb-memory-usage = { path = "crates/memory-usage", version = "=2.2.0", default-features = false }
spacetimedb-metrics = { path = "crates/metrics", version = "=2.2.0" }
spacetimedb-paths = { path = "crates/paths", version = "=2.2.0" }
spacetimedb-pg = { path = "crates/pg", version = "=2.2.0" }
spacetimedb-physical-plan = { path = "crates/physical-plan", version = "=2.2.0" }
spacetimedb-primitives = { path = "crates/primitives", version = "=2.2.0" }
spacetimedb-query = { path = "crates/query", version = "=2.2.0" }
spacetimedb-sats = { path = "crates/sats", version = "=2.2.0" }
spacetimedb-schema = { path = "crates/schema", version = "=2.2.0" }
spacetimedb-standalone = { path = "crates/standalone", version = "=2.2.0" }
spacetimedb-sql-parser = { path = "crates/sql-parser", version = "=2.2.0" }
spacetimedb-table = { path = "crates/table", version = "=2.2.0" }
spacetimedb-fs-utils = { path = "crates/fs-utils", version = "=2.2.0" }
spacetimedb-snapshot = { path = "crates/snapshot", version = "=2.2.0" }
spacetimedb-subscription = { path = "crates/subscription", version = "=2.2.0" }
spacetimedb-query-builder = { path = "crates/query-builder", version = "=2.2.0" }
# Prevent `ahash` from pulling in `getrandom` by disabling default features.
# Modules use `getrandom02` and we need to prevent an incompatible version
# from appearing in module dependency graphs.
ahash = { version = "0.8", default-features = false, features = ["std"] }
anyhow = "1.0.68"
anymap = "0.12"
arrayvec = "0.7.2"
async-channel = "2.5"
async-stream = "0.3.6"
async-trait = "0.1.68"
axum = { version = "0.7", features = ["tracing"] }
axum-extra = { version = "0.9", features = ["typed-header"] }
backtrace = "0.3.66"
base64 = "0.21.2"
bigdecimal = "0.4.7"
bitflags = "2.3.3"
blake3 = "1.5.1"
brotli = "3.5"
byte-unit = "4.0.18"
bytemuck = { version = "1.16.2", features = ["must_cast"] }
bytes = "1.10.1"
bytestring = { version = "1.2.0", features = ["serde"] }
cargo_metadata = "0.17.0"
chrono = { version = "0.4.24", default-features = false }
clap = { version = "4.2.4", features = ["derive", "wrap_help"] }
clap-markdown = "0.1.4"
colored = "2.0.0"
console = { version = "0.15.6" }
convert_case = "0.6.0"
crc32c = "0.6.4"
criterion = { version = "0.5.1", features = ["async", "async_tokio", "html_reports"] }
crossbeam-channel = "0.5"
crossbeam-queue = "0.3.12"
cursive = { version = "0.20", default-features = false, features = ["crossterm-backend"] }
decorum = { version = "0.3.1", default-features = false, features = ["std"] }
derive_more = "0.99"
dialoguer = { version = "0.11", default-features = false }
dirs = "5.0.1"
duct = "0.13.5"
either = "1.9"
email_address = "0.2.4"
enum-as-inner = "0.6"
enum-map = "2.6.3"
env_logger = "0.10"
ethnum = { version = "1.5.0", features = ["serde"] }
flate2 = "1.0.24"
flume = { version = "0.11", default-features = false, features = ["async"] }
foldhash = "0.2.0"
fs-err = "2.9.0"
fs_extra = "1.3.0"
fs2 = "0.4.3"
futures = "0.3"
futures-channel = "0.3"
futures-util = "0.3"
getrandom02 = { package = "getrandom", version = "0.2" }
git2 = "0.19"
glob = "0.3.1"
hashbrown = { version = "0.16.1", default-features = false, features = ["equivalent", "inline-more", "rayon", "serde"] }
headers = "0.4"
heck = "0.4"
hex = "0.4.3"
home = "0.5"
hostname = "^0.3"
http = "1.0"
http-body-util= "0.1.3"
humantime = "2.3"
hyper = "1.0"
hyper-util = { version = "0.1", features = ["tokio"] }
ignore = "0.4"
imara-diff = "0.1.3"
indexmap = "2.0.0"
indicatif = "0.17"
insta = { version = "1.21.0", features = ["toml", "filters"] }
is-terminal = "0.4"
itertools = "0.12"
itoa = "1"
json5 = "0.4"
jsonwebtoken = { package = "spacetimedb-jsonwebtoken", version = "9.3.0" }
junction = "1"
jwks = { package = "spacetimedb-jwks", version = "0.1.3" }
lazy_static = "1.4.0"
lean_string = "0.5.1"
log = "0.4.17"
memchr = "2"
mimalloc = "0.1.39"
names = "0.14"
netstat2 = "0.11"
nohash-hasher = "0.2"
notify = "7.0"
nix = "0.30"
once_cell = "1.16"
parking_lot = { version = "0.12.1", features = ["send_guard", "arc_lock"] }
parse-size = "1.1.0"
paste = "1.0"
percent-encoding = "2.3"
petgraph = { version = "0.6.5", default-features = false }
pin-project-lite = "0.2.9"
pgwire = { version = "0.37", default-features = false, features = ["server-api", "pg-ext-types"] }
postgres-types = "0.2.5"
pretty_assertions = { version = "1.4", features = ["unstable"] }
proc-macro2 = "1.0"
prometheus = "0.14.0"
proptest = "1.4"
proptest-derive = "0.5"
quick-junit = { version = "0.3.2" }
quick-xml = "0.31"
quote = "1.0.8"
rand08 = { package = "rand", version = "0.8" }
rand = "0.9"
rand_distr = "0.5.1"
rayon = "1.8"
rayon-core = "1.11.0"
regex = "1"
reqwest = { version = "0.12", features = ["stream", "json"] }
rolldown = { git = "https://github.com/rolldown/rolldown.git", tag = "v1.0.0-rc.3" }
rolldown_common = { git = "https://github.com/rolldown/rolldown.git", tag = "v1.0.0-rc.3" }
rolldown_error = { git = "https://github.com/rolldown/rolldown.git", tag = "v1.0.0-rc.3" }
rolldown_utils = { git = "https://github.com/rolldown/rolldown.git", tag = "v1.0.0-rc.3" }
ron = "0.8"
rusqlite = { version = "0.29.0", features = ["bundled", "column_decltype"] }
rust_decimal = { version = "1.29.1", features = ["db-tokio-postgres"] }
rustc-demangle = "0.1.21"
rustc-hash = "2"
rustyline = { version = "12.0.0", features = [] }
scoped-tls = "1.0.1"
scopeguard = "1.1.0"
second-stack = "0.3"
self-replace = "1.5"
semver = "1"
serde = { version = "1.0.136", features = ["derive"] }
serde_json = { version = "1.0.128", features = ["raw_value", "arbitrary_precision"] }
serde_path_to_error = "0.1.9"
serde_with = { version = "3.3.0", features = ["base64", "hex"] }
serial_test = "2.0.0"
sha1 = "0.10.1"
sha3 = "0.10.0"
similar = "2.3"
slab = "0.4.7"
sled = "0.34.7"
smallvec = { version = "1.11", features = ["union", "const_generics"] }
socket2 = "0.5"
sourcemap = "9.3.1"
sqllogictest = "0.17"
sqllogictest-engines = "0.17"
sqlparser = "0.38.0"
strum = { version = "0.25.0", features = ["derive"] }
syn = { version = "2", features = ["full", "extra-traits"] }
syntect = { version = "5.0.0", default-features = false, features = ["default-fancy"] }
tabled = "0.14.0"
tar = "0.4"
tempdir = "0.3.7"
tempfile = "3.20"
termcolor = "1.2.0"
termtree = "0.5.1"
thin-vec = "0.2.13"
thiserror = "1.0.37"
tokio = { version = "1.37", features = ["full"] }
tokio_metrics = { version = "0.4.0" }
tokio-postgres = { version = "0.7.8", features = ["with-chrono-0_4"] }
tokio-stream = "0.1.17"
tokio-tungstenite = { version = "0.27.0", features = ["native-tls", "url"] }
tokio-util = { version = "0.7.4", features = ["time"] }
toml = "0.8"
toml_edit = "0.22.22"
tower-http = { version = "0.5", features = ["cors"] }
tower-layer = "0.3"
tower-service = "0.3"
tracing = "0.1.37"
tracing-appender = "0.2.2"
tracing-core = "0.1.31"
tracing-flame = "0.2.0"
tracing-log = "0.1.3"
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
trybuild = "1"
typed-arena = "2.0"
unicode-ident = "1.0.12"
unicode-normalization = "0.1.23"
url = "2.3.1"
urlencoding = "2.1.2"
uuid = { version = "1.18.1", default-features = false }
# Pinned to a specific version rather than allowing SemVer fuzzy resolution
# because our flake references the specific version of this library.
# See librusty_v8.nix for more details.
# When updating the V8 crate, either update the version and hashes in that file,
# or ping phoebe @gefjon to do so.
v8 = "=145.0.0"
# This version is kept in sync with the version of ICU required by v8.
# When that changes, the `v8::icu::set_common_data_XX()` function is renamed.
deno_core_icudata = "0.77"
walkdir = "2.2.5"
wasmbin = "0.6"
webbrowser = "1.0.2"
windows-sys = "0.59"
xdg = "2.5"
xmltree = "0.11"
tikv-jemallocator = { version = "0.6.0", features = ["profiling", "stats"] }
tikv-jemalloc-ctl = { version = "0.6.0", features = ["stats"] }
jemalloc_pprof = { version = "0.8", features = ["symbolize", "flamegraph"] }
zstd-framed = { version = "0.1.1", features = ["tokio"] }
# Vendor the openssl we rely on, rather than depend on a
# potentially very old system version.
openssl = { version = "0.10", features = ["vendored"] }
[workspace.dependencies.wasmtime]
version = "39"
default-features = false
features = [
"addr2line",
"async",
"cache",
"cranelift",
"demangle",
"parallel-compilation",
"runtime",
"std",
]
[workspace.dependencies.wasmtime-internal-fiber]
version = "39"
default-features = false
features = ["std"]
[workspace.dependencies.tracing-tracy]
version = "0.10.4"
# We use the "ondemand" feature to allow connecting after the start,
# and reconnecting, from the tracy client to the database.
# TODO(George): Need to be able to remove "broadcast" in some build configurations.
features = [
"enable",
"system-tracing",
"context-switch-tracing",
"sampling",
"code-transfer",
"broadcast",
"ondemand",
]
[workspace.lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] }
[workspace.lints.clippy]
# FIXME: we should work on this lint incrementally
result_large_err = "allow"
[workspace.metadata]
# This silences a warning in our Nix flake, which otherwise would be upset that our call to `crateNameFromCargoToml`
# is running against a file that doesn't have a name in it.
crane.name = "spacetimedb"