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.0.5/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.1.0-rc0/a=noarch;xg=com.typedb/)
[//]: #(TODO: Python's RC/Alpha/Beta versions are formatted differently. Don't foget to update manually until we make an automation)
44
45
```
45
-
pip install typedb-driver==3.0.5
46
+
pip install typedb-driver==3.1.0rc0
46
47
```
47
48
49
+
[//]: #(TODO: Please remove the unreleased drivers manually. Commenting them out in Markdown looks scary)
50
+
51
+
48
52
## New Features
49
-
-**Introduce optional concepts to Concept Rows**
50
53
51
-
`get()` and `get_index()` interfaces of Concept Rows always return optional Concepts (previously, the Java and Python drivers used to return non-optional `Concept` instances). If the requested variable name or index exists in the column names of a row, but the actual value for this variable is empty, an empty optional value is returned. This is a natural behavior for optionals (coming to TypeDB soon!) and is already useful for queries like (where the variable `$empty` won't have values):
54
+
-**Add Python 3.13 release jobs**
55
+
TypeDB Driver for Python 3.13 is now officially published.
56
+
57
+
58
+
-**Introduce a single driver creation endpoint for all editions of TypeDB**
59
+
Introduce a single driver creation endpoint for all editions of TypeDB: all `new_core`, `new_cloud`, `TypeDB.core`, `TypeDB.cloud`, and other alternatives in TypeDB drivers now have a single `new` / `driver` method that accepts a single string as an address.
60
+
61
+
Use it for any edition of TypeDB 3.x (Community Edition, Cloud, Enterprise) the following way (check out `README` or driver documentation for full usage examples):
62
+
Rust:
63
+
```rust
64
+
letdriver=TypeDBDriver::new(
65
+
TypeDBDriver::DEFAULT_ADDRESS,
66
+
Credentials::new("admin", "password"),
67
+
DriverOptions::new(false, None).unwrap(),
68
+
)
69
+
.await
70
+
.unwrap();
52
71
```
53
-
match not {$empty isa user;}; insert $u isa user, has username "Hi";
Currently, TypeDB 3.x supports only a single server address, so the list-based method overloading is unnecessary. We plan to preserve the same simplified API after introducing multi-node servers, extending the accepted formats of the input address string instead. Stay tuned for details!
60
84
61
85
## Bugs Fixed
62
-
-**Mark query answer accessors as allocating for SWIG to prevent memory leaks in the Python driver**
63
-
64
-
We mark `query_answer_into_rows` and `query_answer_into_documents` as creating a new allocation that needs to be freed by SWIG. Previously, the iterators extracted from the `QueryAnswer` would have been ignored by SWIG and not deallocated when the wrapper is freed.
86
+
87
+
88
+
## Code Refactors
65
89
66
90
67
91
68
-
## Code Refactors
92
+
## Other Improvements
69
93
70
-
-**Cleanup driver errors**
94
+
-**Fix python example build**
71
95
72
-
Query errors are dissolved in the Java and Python drivers.
73
-
All the arguments passed to the external interfaces are validated to be non-null and of the correct format (e.g., non-negative for `concept_row.get_index(column_index)`).
96
+
-**Update dependencies for the 3.0.1 release**
97
+
Update dependencies.
74
98
99
+
-**RustFmt**
75
100
76
-
## Other Improvements
101
+
-**Clean up Driver field, update core artifact to 3.0.6**
102
+
103
+
-**Fix checkstyle**
77
104
78
-
-**Automate README examples updates**
105
+
-**Check in Cargo.toml files**
79
106
80
-
Cloud driver usage examples are added to all the available READMEs. Additionally, these examples are officially available in the repo as separate files.
107
+
-**Update Rust version to 1.81.0**
81
108
82
-
The process of README examples updating is automated by unifying all language updates in a single script. A new CI job is introduced to verify that the README examples are up to date.
0 commit comments