You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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/)
18
+
Available through [https://repo.typedb.com](https://cloudsmith.io/~typedb/repos/public-release/packages/detail/maven/typedb-driver/3.5.5/a=noarch;xg=com.typedb/)
-**Fix transaction on_close and Java and Python block on close()**
66
+
67
+
We notice that calling `transaction.close()` does not wait until the server has freed up resource. This makes quick sequences, such as tests where transactions open and are followed by database deletes, unreliable. Further investigation that workarounds using the existing `on_close` callbacks in Python and Java caused segfaults. We fix both:
61
68
62
-
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<ConceptDocument>` from request handlers.
69
+
1)`Transaction.close()` in Python and Java now blocks for 1 round trip. In Rust, this now returns a promise/future. In Java/Python, we pick the most relevant default and resolve the promise from Java/Python.
70
+
2) We fix segfaults that occur when the Rust driver calls into Python/Java once the user attaches `.on_close` callbacks to transactions.
63
71
64
-
We also implement `Deserialize` for `JSON` for convenience.
72
+
We also fix nondeterministic errors:
73
+
1) adding `on_close` callbacks must return a promise, since the implementation injects the callback into our lowest-level listener loop which may register the callback later. Not awaiting the `on_close()` registration will lead to hit or miss execution of the callback when registering on_close callbacks, not awaiting, and then closing the transaction immediately
74
+
2) we add `keepalive` to the channel, without which messages sometimes get "stuck" on the client-side receiving end of responses from the server. No further clues found as to why this happens. See comments for more detail.
75
+
76
+
We also add one major feature enhancement: configurable logging. All logging should now go through the `tracing` crate. We can configure logging levels for just the driver library with the `TYPEDB_DRIVER_LOG` or general `RUST_LOG` environment variables. By default we set it to `info`.
65
77
66
78
67
-
-**Update the HTTP-TS driver with analyze endpoint response**
68
-
Update the HTTP-TS driver with the response structure for the analyze endpoint
69
79
70
-
## Bugs Fixed
71
-
-**Fix database importer decoding error**
72
-
Stabilize the database import function by eliminating rare decoding errors that could occur during the import of large datasets. All the exported files that the import function could not process are still valid and should be correctly imported after the proposed changes.
80
+
## Code Refactors
81
+
73
82
74
83
## Other Improvements
75
-
-**Fix links**
84
+
-**Fix Config**
85
+
86
+
-**Trigger ci**
87
+
88
+
-**Try to fix snapshot tests python 3.9**
76
89
77
-
-**Update READMEs**
90
+
-**Update dependencies after servers relation index fix for CI tests**
91
+
Ensure drivers run new BDD tests for migration written with the core's relation index fix https://github.com/typedb/typedb/pull/7594
92
+
93
+
94
+
-**Correct link in README**
95
+
96
+
Correct a link in the README that linked to `nodejs` instead of `http-ts`
97
+
98
+
99
+
-**HTTP/TS: Don't enforce Node 22 for installing the package**
100
+
101
+
-**HTTP/TS: Fix response type checks throwing on certain inputs**
102
+
103
+
In the HTTP/TS driver, `isApiErrorResponse` and `isOkResponse` should never throw errors anymore for any input.
Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-cpp+version:{version}
Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-clib+version:{version}
0 commit comments