Skip to content

Commit 7b5fc6b

Browse files
committed
Update release notes and prepare for release 3.1.0-rc0
1 parent d94aa60 commit 7b5fc6b

File tree

5 files changed

+55
-25
lines changed

5 files changed

+55
-25
lines changed

RELEASE_NOTES_LATEST.md

Lines changed: 49 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ Documentation: https://typedb.com/docs/drivers/rust/overview
99

1010

1111
```sh
12-
cargo add typedb-driver@3.0.5
12+
cargo add typedb-driver@3.1.0-rc0
1313
```
1414

1515

1616
### Java driver
1717

18-
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/)
1919
Documentation: https://typedb.com/docs/drivers/java/overview
2020

2121
```xml
@@ -29,7 +29,7 @@ Documentation: https://typedb.com/docs/drivers/java/overview
2929
<dependency>
3030
<groupid>com.typedb</groupid>
3131
<artifactid>typedb-driver</artifactid>
32-
<version>3.0.5</version>
32+
<version>3.1.0-rc0</version>
3333
</dependency>
3434
</dependencies>
3535
```
@@ -41,42 +41,69 @@ Documentation: https://typedb.com/docs/drivers/python/overview
4141

4242
Available through https://pypi.org
4343

44+
[//]: # (TODO: Python's RC/Alpha/Beta versions are formatted differently. Don't foget to update manually until we make an automation)
4445
```
45-
pip install typedb-driver==3.0.5
46+
pip install typedb-driver==3.1.0rc0
4647
```
4748

49+
[//]: # (TODO: Please remove the unreleased drivers manually. Commenting them out in Markdown looks scary)
50+
51+
4852
## New Features
49-
- **Introduce optional concepts to Concept Rows**
5053

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+
let driver = TypeDBDriver::new(
65+
TypeDBDriver::DEFAULT_ADDRESS,
66+
Credentials::new("admin", "password"),
67+
DriverOptions::new(false, None).unwrap(),
68+
)
69+
.await
70+
.unwrap();
5271
```
53-
match not {$empty isa user;}; insert $u isa user, has username "Hi";
72+
73+
Python:
74+
```py
75+
driver = TypeDB.driver(TypeDB.DEFAULT_ADDRESS, Credentials("admin", "password"), DriverOptions())
5476
```
55-
56-
If the requested variable name or index does not exist in the column names of a row, an error is returned.
5777

58-
59-
78+
Java:
79+
```java
80+
Driver driver = TypeDB.driver(TypeDB.DEFAULT_ADDRESS, new Credentials("admin", "password"), new DriverOptions(false, null));
81+
```
82+
83+
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!
6084

6185
## 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
6589

6690

6791

68-
## Code Refactors
92+
## Other Improvements
6993

70-
- **Cleanup driver errors**
94+
- **Fix python example build**
7195

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.
7498

99+
- **RustFmt**
75100

76-
## Other Improvements
101+
- **Clean up Driver field, update core artifact to 3.0.6**
102+
103+
- **Fix checkstyle**
77104

78-
- **Automate README examples updates**
105+
- **Check in Cargo.toml files**
79106

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**
81108

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.
109+

RELEASE_TEMPLATE.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,13 @@ Documentation: https://typedb.com/docs/drivers/python/overview
4141

4242
Available through https://pypi.org
4343

44+
[//]: # (TODO: Python's RC/Alpha/Beta versions are formatted differently. Don't foget to update manually until we make an automation)
4445
```
4546
pip install typedb-driver=={version}
4647
```
4748

49+
[//]: # (TODO: Please remove the unreleased drivers manually. Commenting them out in Markdown looks scary)
50+
4851
### NodeJS driver
4952

5053
NPM package: https://www.npmjs.com/package/typedb-driver

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.0.5
1+
3.1.0-rc0

dependencies/typedb/artifacts.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def typedb_artifact():
2525
artifact_name = "typedb-all-{platform}-{version}.{ext}",
2626
tag_source = deployment["artifact"]["release"]["download"],
2727
commit_source = deployment["artifact"]["snapshot"]["download"],
28-
commit = "32ecbf8be7f5ad7c797dd91fa2bd0399136b1bac"
28+
commit = "4859d4f8d7b965028c6dbea332ba2a779b97da66"
2929
)
3030

3131
#def typedb_cloud_artifact():

dependencies/typedb/repositories.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,5 @@ def typedb_behaviour():
3535
git_repository(
3636
name = "typedb_behaviour",
3737
remote = "https://github.com/typedb/typedb-behaviour",
38-
commit = "17488d012682574b8969e503a2f4ea5618491413", # sync-marker: do not remove this comment, this is used for sync-dependencies by @typedb_behaviour
38+
commit = "a5ca738d691e7e7abec0a69e68f6b06310ac2168", # sync-marker: do not remove this comment, this is used for sync-dependencies by @typedb_behaviour
3939
)

0 commit comments

Comments
 (0)