diff --git a/RELEASE_NOTES_LATEST.md b/RELEASE_NOTES_LATEST.md
index 2ce76e93bf..d94cea067c 100644
--- a/RELEASE_NOTES_LATEST.md
+++ b/RELEASE_NOTES_LATEST.md
@@ -9,13 +9,13 @@ Documentation: https://typedb.com/docs/drivers/rust/overview
```sh
-cargo add typedb-driver@3.5.0-rc0
+cargo add typedb-driver@3.5.0
```
### Java driver
-Available through [https://repo.typedb.com](https://cloudsmith.io/~typedb/repos/public-release/packages/detail/maven/typedb-driver/3.5.0-rc0/a=noarch;xg=com.typedb/)
+Available through [https://repo.typedb.com](https://cloudsmith.io/~typedb/repos/public-release/packages/detail/maven/typedb-driver/3.5.0/a=noarch;xg=com.typedb/)
Documentation: https://typedb.com/docs/drivers/java/overview
```xml
@@ -29,7 +29,7 @@ Documentation: https://typedb.com/docs/drivers/java/overview
com.typedb
typedb-driver
- 3.5.0-rc0
+ 3.5.0
```
@@ -42,7 +42,7 @@ Documentation: https://typedb.com/docs/drivers/python/overview
Available through https://pypi.org
```
-pip install typedb-driver==3.5.0rc0
+pip install typedb-driver==3.5.0
```
### HTTP Typescript driver
@@ -53,10 +53,17 @@ NPM package: https://www.npmjs.com/package/typedb-driver-http
Documentation: https://typedb.com/docs/drivers/
```
-npm install typedb-driver-http@3.5.0-rc0
+npm install typedb-driver-http@3.5.0
```
## New Features
+- **Implement serde traits for JSON**
+
+ We implement serde's `Serialize` for `ConceptDocument` and our custom `JSON` type. This allows crates like `axum` that rely on `serde` to seamlessly return `Json` from request handlers.
+
+ We also implement `Deserialize` for `JSON` for convenience.
+
+
- **Update the HTTP-TS driver with analyze endpoint response**
Update the HTTP-TS driver with the response structure for the analyze endpoint
diff --git a/VERSION b/VERSION
index b57944e70d..e5b820341f 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.5.0-rc0
\ No newline at end of file
+3.5.0
\ No newline at end of file
diff --git a/dependencies/typedb/artifacts.bzl b/dependencies/typedb/artifacts.bzl
index 9b7469c6a6..1a3db21f7e 100644
--- a/dependencies/typedb/artifacts.bzl
+++ b/dependencies/typedb/artifacts.bzl
@@ -25,7 +25,7 @@ def typedb_artifact():
artifact_name = "typedb-all-{platform}-{version}.{ext}",
tag_source = deployment["artifact"]["release"]["download"],
commit_source = deployment["artifact"]["snapshot"]["download"],
- commit = "ee675e16030aaff1751f5c91cf3afa3b7c1a84ad"
+ tag = "3.5.0-rc0"
)
#def typedb_cloud_artifact():
diff --git a/dependencies/typedb/repositories.bzl b/dependencies/typedb/repositories.bzl
index b1deb51acd..4effd4e362 100644
--- a/dependencies/typedb/repositories.bzl
+++ b/dependencies/typedb/repositories.bzl
@@ -21,7 +21,7 @@ def typedb_dependencies():
git_repository(
name = "typedb_dependencies",
remote = "https://github.com/typedb/typedb-dependencies",
- commit = "fac1121c903b0c9e5924d391a883e4a0749a82a2", # sync-marker: do not remove this comment, this is used for sync-dependencies by @typedb_dependencies
+ commit = "f6e710f9857b1c30ad1764c1c41afce4e4e02981", # sync-marker: do not remove this comment, this is used for sync-dependencies by @typedb_dependencies
)
def typedb_protocol():
@@ -35,5 +35,5 @@ def typedb_behaviour():
git_repository(
name = "typedb_behaviour",
remote = "https://github.com/typedb/typedb-behaviour",
- commit = "913455bf2923f8a6853f513bab9d3dc34d12c254", # sync-marker: do not remove this comment, this is used for sync-dependencies by @typedb_behaviour
+ commit = "85079e8179d8ec9bd189281159ec0661dc6422c5", # sync-marker: do not remove this comment, this is used for sync-dependencies by @typedb_behaviour
)
diff --git a/rust/Cargo.toml b/rust/Cargo.toml
index 4d4c66c059..5503f44ee4 100644
--- a/rust/Cargo.toml
+++ b/rust/Cargo.toml
@@ -33,7 +33,7 @@
[dev-dependencies.async-std]
features = ["alloc", "async-attributes", "async-channel", "async-global-executor", "async-io", "async-lock", "attributes", "crossbeam-utils", "default", "futures-channel", "futures-core", "futures-io", "futures-lite", "gloo-timers", "kv-log-macro", "log", "memchr", "once_cell", "pin-project-lite", "pin-utils", "slab", "std", "wasm-bindgen-futures"]
- version = "1.13.1"
+ version = "1.13.2"
default-features = false
[dev-dependencies.config]
@@ -53,14 +53,14 @@
[dev-dependencies.serde_json]
features = ["alloc", "default", "indexmap", "preserve_order", "raw_value", "std"]
- version = "1.0.140"
+ version = "1.0.143"
default-features = false
[dependencies]
[dependencies.tokio]
features = ["bytes", "default", "fs", "full", "io-std", "io-util", "libc", "macros", "mio", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "signal-hook-registry", "socket2", "sync", "time", "tokio-macros"]
- version = "1.45.0"
+ version = "1.47.1"
default-features = false
[dependencies.typedb-protocol]
@@ -96,7 +96,7 @@
[dependencies.uuid]
features = ["default", "fast-rng", "rng", "serde", "std", "v4"]
- version = "1.16.0"
+ version = "1.18.0"
default-features = false
[dependencies.prost]
diff --git a/rust/src/common/error.rs b/rust/src/common/error.rs
index 60242f2af3..207376352b 100644
--- a/rust/src/common/error.rs
+++ b/rust/src/common/error.rs
@@ -318,9 +318,9 @@ impl Error {
}
}
- fn from_message(message: &str) -> Self {
+ fn from_message(message: String) -> Self {
// TODO: Consider converting some of the messages to connection errors
- Self::Other(message.to_owned())
+ Self::Other(message)
}
fn parse_unavailable(status_message: &str) -> Error {
@@ -406,7 +406,7 @@ impl From for Error {
Self::Server(ServerError::new(code, domain, status.message().to_owned(), stack_trace))
} else {
- Self::from_message(status.message())
+ Self::from_message(concat_source_messages(&status))
}
} else {
if status.code() == Code::Unavailable {
@@ -422,7 +422,7 @@ impl From for Error {
} else if status.code() == Code::Unimplemented {
Self::Connection(ConnectionError::RPCMethodUnavailable { message: status.message().to_owned() })
} else {
- Self::from_message(status.message())
+ Self::from_message(concat_source_messages(&status))
}
}
}
@@ -433,6 +433,18 @@ fn is_rst_stream(status: &Status) -> bool {
status.message().contains("Received Rst Stream")
}
+fn concat_source_messages(status: &Status) -> String {
+ let mut errors = String::new();
+ errors.push_str(status.message());
+ let mut err: Option<&dyn std::error::Error> = status.source();
+ while let Some(e) = err {
+ errors.push_str(": ");
+ errors.push_str(e.to_string().as_str());
+ err = e.source();
+ }
+ errors
+}
+
impl From for Error {
fn from(err: http::uri::InvalidUri) -> Self {
Self::Other(err.to_string())
diff --git a/rust/tests/behaviour/steps/Cargo.toml b/rust/tests/behaviour/steps/Cargo.toml
index f1655d76b1..6e97ec5009 100644
--- a/rust/tests/behaviour/steps/Cargo.toml
+++ b/rust/tests/behaviour/steps/Cargo.toml
@@ -16,7 +16,7 @@ features = {}
[dependencies.tokio]
features = ["bytes", "default", "fs", "full", "io-std", "io-util", "libc", "macros", "mio", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "signal-hook-registry", "socket2", "sync", "time", "tokio-macros"]
- version = "1.45.0"
+ version = "1.47.1"
default-features = false
[dependencies.smol]
@@ -36,12 +36,12 @@ features = {}
[dependencies.async-std]
features = ["alloc", "async-attributes", "async-channel", "async-global-executor", "async-io", "async-lock", "attributes", "crossbeam-utils", "default", "futures-channel", "futures-core", "futures-io", "futures-lite", "gloo-timers", "kv-log-macro", "log", "memchr", "once_cell", "pin-project-lite", "pin-utils", "slab", "std", "wasm-bindgen-futures"]
- version = "1.13.1"
+ version = "1.13.2"
default-features = false
[dependencies.macro_rules_attribute]
features = ["default"]
- version = "0.2.0"
+ version = "0.2.2"
default-features = false
[dependencies.typedb-driver]
@@ -61,7 +61,7 @@ features = {}
[dependencies.uuid]
features = ["default", "fast-rng", "rng", "serde", "std", "v4"]
- version = "1.16.0"
+ version = "1.18.0"
default-features = false
[dependencies.itertools]
@@ -71,6 +71,6 @@ features = {}
[dependencies.serde_json]
features = ["alloc", "default", "indexmap", "preserve_order", "raw_value", "std"]
- version = "1.0.140"
+ version = "1.0.143"
default-features = false
diff --git a/tool/test/start-community-server.sh b/tool/test/start-community-server.sh
index 7d35a7baa3..501db094e0 100755
--- a/tool/test/start-community-server.sh
+++ b/tool/test/start-community-server.sh
@@ -21,7 +21,7 @@ set -e
rm -rf typedb-all
bazel run //tool/test:typedb-extractor -- typedb-all
-./typedb-all/typedb server --development-mode.enabled true --server.authentication.token_ttl_seconds 15 &
+./typedb-all/typedb server --development-mode.enabled true --server.authentication.token-expiration-seconds 15 &
set +e
POLL_INTERVAL_SECS=0.5