Skip to content

Commit 1320f82

Browse files
committed
Update version to 3.0.2 and prepare release notes
1 parent ada8319 commit 1320f82

File tree

3 files changed

+22
-107
lines changed

3 files changed

+22
-107
lines changed

RELEASE_NOTES_LATEST.md

+20-105
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 [email protected].0
12+
cargo add [email protected].2
1313
```
1414

1515

1616
### Java driver
1717

18-
Available through https://repo.typedb.com
18+
Available through [https://repo.typedb.com](https://cloudsmith.io/~typedb/repos/public-release/packages/detail/maven/typedb-driver/3.0.2/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.0</version>
32+
<version>3.0.2</version>
3333
</dependency>
3434
</dependencies>
3535
```
@@ -42,125 +42,40 @@ Documentation: https://typedb.com/docs/drivers/python/overview
4242
Available through https://pypi.org
4343

4444
```
45-
pip install typedb-driver==3.0.0
45+
pip install typedb-driver==3.0.2
4646
```
4747

4848
## New Features
4949

50-
- **Introduce 3.0 Rust, Java, and Python drivers**
51-
52-
We introduce the updated Rust, Java, and Python drivers compatible with TypeDB 3.0.
53-
These updates bring significant opportunities and UX improvements, including:
54-
- **Simplified querying workflow**: The `Concept API` has been removed, offering a single `tx.query()` entry point.
55-
- **Streamlined transactions**: Sessions and transactions are now consolidated into standalone transactions.
56-
- **Expanded attribute value types**: Added support for `decimal`, `date`, `datetime-tz`, and `duration`.
57-
- **Unified authentication**: The updated authentication mechanism is shared across all drivers.
58-
- **New query result formats**: Introducing `Concept Row`s for table-like outputs and `Concept Document`s for structured outputs used in `fetch` queries.
59-
60-
Some features are currently disabled due to limitations on the TypeDB Server side:
61-
- Options.
62-
- Replicas information.
63-
64-
For examples and usage of the new drivers, see the `README` files in their respective language packages. Explore all the exciting features of TypeDB 3.0 [here](https://github.com/typedb/typedb/releases).
65-
66-
67-
- **Add Python 3.13 support**
68-
69-
We introduce support for Python 3.13. With this update, support for Python 3.8 has been discontinued, as it reached end-of-life ([details](https://devguide.python.org/versions/)). This change ensures consistent implementation of the `datetime-tz` value type introduced in TypeDB 3.0 across all supported Python versions.
70-
7150

7251
## Bugs Fixed
73-
- **Optimise driver dispatch loop**
74-
75-
We optimise the driver dispatch loop: previously, we could dispatch at most 1000 serial messages per second, though in practice tokio would sometimes sleep longer than expected and the query and transaction latencies increased. This stems from Tokio's approximately millisecond resolution. By moving the collect-dispatch loop to a dedicated thread, we can now dispatch messages after microseconds of batching, improving overall driver performance significantly.
52+
- **Introduce 3.0 cloud driver tests**
53+
We fix cloud drivers creation interfaces and introduce integration and behavior tests to cover these public methods.
54+
55+
- **BUGFIX python-3.0.0: remove extra argument in call to internal _Driver.cloud**
7656

7757

7858
## Code Refactors
79-
- **Rename long to integer**
80-
Renamed the TypeQL `long` value tpe to `integer`
81-
82-
59+
- **Add version filter for maven packages for Java release notes**
60+
Add version filter for maven packages for Java release notes.
8361

84-
## Other Improvements
85-
- **Speed up transaction opening and fix parallel**
86-
* We fix transaction opening for all the supported drivers, speeding up the operation by 2x.
87-
* We eliminate database-related errors happening during concurrent database management (create and delete operations) by multiple drivers due to cache mismatches.
88-
* We make transaction opening requests immediately return errors instead of waiting for additional transaction operations to be performed (e.g. commit or query).
89-
90-
91-
- **Refactor concepts APIs to quickly access optional instances and values properties**
92-
We generalize the approach to getting concepts properties in TypeDB Drivers, introducing a set of new APIs for fetching optional values related to instances of `Concept` classes in Java and Python.
93-
94-
Now, all subclasses of `Concept` have a set of new interfaces starting with `try` to access IIDs, labels, value types, and values without a need to cast to a specific `Instance` or `Value`. These methods can be useful if:
95-
* you have an established workflow with constant queries and always expect these properties to exist;
96-
* you want to implement a custom handling of cases where the expected values are missing shorter (without exceptions).
97-
98-
Additionally, value type checks like `is_boolean`/`isBoolean` are also declared on the top-level `Concept`.
99-
100-
Note that casting is still possible, and its benefits are, as usual:
101-
* static type checking for your programs using TypeDB Driver;
102-
* access to the non-optional `get` interfaces for specific subclasses of `Concept` like `get_iid`/`getIID` for `Entity` and `Relation`.
62+
- **Update Java APIs with marker throwing runtime TypeDBDriverExceptions**
10363

104-
Also note that some of the interfaces have changed (e.g., `asBoolean` -> `getBoolean` for `Attribute` and `Value` to separate value retrieval and concept casting), but their functioning has not.
105-
106-
107-
- **Remove promises resolves in destructors to eliminate redundant exceptions. Cleanup Python exceptions formatting**
108-
We remove the feature of `Promise`s to call `resolve` in destructors in languages like Java and Python. Now, if a promise is destroyed, it's not resolved, and, thus, not awaited. This helps the driver to remove the excessive duplicated errors printing in destructors of promises, although the error is already returned from a commit operation.
109-
110-
Now, if you just run queries and close the transaction, nothing will be awaited and persisted. However, if you commit your transaction, all the ongoing operations on the server side will finish before the actual commit. This lets you speed up the query execution (in case these queries don't collide with each other):
111-
```py
112-
for query in queries:
113-
tx.query(query)
114-
tx.commit()
115-
```
116-
If one of the `queries` contains an error and it's not `resolve`d, it will be returned from the `commit` call, and no excessive errors will be printed on resource release.
117-
118-
Detailed examples for each language supported are presented in `README`s.
119-
120-
Additionally, Python Driver's `TypeDBDriverError` exceptions no longer show the excessive traceback of its implementation, and only the short informative version for your executed code is presented.
121-
122-
123-
- **Update final reference of git org to @typedb**
124-
125-
- **Update typedb-runner maven coordinate to com.typedb**
126-
127-
- **Rename typedb-cloud workspace to @typedb_cloud**
12864

129-
- **Renamed workspace to typedb-driver**
130-
131-
- **Update dependant repositories: @typedb_dependencies, @typedb_protocol, and @typedb_behaviour**
132-
133-
- **Rename /dependencies/vaticle to /typedb**
134-
135-
- **Replaced Vaticle with TypeDB in strings and copyrights**
136-
137-
- **Update CI images to 'typedb-ubuntu'**
65+
## Other Improvements
66+
- **Regenerate docs**
13867

139-
- **Unify transaction cleanup in driver BDDs when opening new transactions**
140-
141-
- **Add handler for initial TransactionOpen response instead of erroring**
68+
- **Fix rust format**
14269

143-
- **Fix CircleCI jobs for Maven installation and python builds**
144-
We fix two CircleCI issues:
145-
* `brew install maven` [has been failing](https://app.circleci.com/pipelines/github/typedb/typedb-driver/911/workflows/9571978a-e2c7-40cc-afd6-372356f267f7/jobs/7072) for Rosetta configuration;
146-
* python installation for Linux machines required a different process after we updated from `python3.8` to `python3.9` as a minimal version.
70+
- **Update logback to a non-vulnerable version**
14771

148-
- **Bumped API version in antora config**
72+
- **Remove debug println**
14973

150-
- **Rename maven groupId "com.vaticle" -> "com.typedb". Return a part of Java driver's CI tests**
151-
We completely clean `com.vaticle` mentions in the `typedb-driver` repo:
152-
* generated `pom` files for the Java driver now contain `com.typedb` instead of `com.vaticle.typedb`;
153-
* docs for the Java driver are regenerated so it doesn't reference outdated `com.vaticle.typedb` package (other issues in these docs will be addressed in the following prs).
154-
155-
- **Fix native object ownership checks in python driver**
156-
Fixes native object ownership checks in python driver
74+
- **Update typedb behavior dependency and typedb server artifact to test the unblocked server features**
75+
Update typedb behavior dependency and typedb server artifact to test the unblocked server features of rollback and write query fetches.
15776

158-
159-
- **Rename Java package com.vaticle.typedb to com.typedb and remove typeql dependencies.**
160-
We rename the Java driver's package from `com.vaticle.typedb` to `com.typedb`.
161-
We remove dependencies on `typeql` as it's no more needed.
77+
- **Remove transaction pop from java tests on rollback**
16278

163-
- **Add typedb 3 roadmap link to the release notes**
79+
- **Update examples to fix their build**
16480

165-
- **Apply fix that allows connecting to servers listening on 0.0.0.0**
16681

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.0.0
1+
3.0.2

dependencies/typedb/repositories.bzl

+1-1
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 = "e5665f85b98a3862c5afe7468055bc48447fab3a", # sync-marker: do not remove this comment, this is used for sync-dependencies by @typedb_behaviour
38+
commit = "7a0693ef7142480fb29acc42248f2166d0903d09", # sync-marker: do not remove this comment, this is used for sync-dependencies by @typedb_behaviour
3939
)

0 commit comments

Comments
 (0)