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