From f924887c64273425a24aba09597af89a172ddd25 Mon Sep 17 00:00:00 2001 From: Georgii Novoselov Date: Fri, 20 Dec 2024 12:18:17 +0000 Subject: [PATCH] Update version to 3.0.0. Updated release notes --- RELEASE_NOTES_LATEST.md | 60 ++++++++++++++++++++++++++-- VERSION | 2 +- dependencies/typedb/repositories.bzl | 4 +- 3 files changed, 59 insertions(+), 7 deletions(-) diff --git a/RELEASE_NOTES_LATEST.md b/RELEASE_NOTES_LATEST.md index 65b3b2bc6..f30bcbee3 100644 --- a/RELEASE_NOTES_LATEST.md +++ b/RELEASE_NOTES_LATEST.md @@ -9,7 +9,7 @@ Documentation: https://typedb.com/docs/drivers/rust/overview ```sh -cargo add typedb-driver@3.0.0-alpha-9 +cargo add typedb-driver@3.0.0 ``` @@ -29,7 +29,7 @@ Documentation: https://typedb.com/docs/drivers/java/overview com.typedb typedb-driver - 3.0.0-alpha-9 + 3.0.0 ``` @@ -42,17 +42,44 @@ Documentation: https://typedb.com/docs/drivers/python/overview Available through https://pypi.org ``` -pip install typedb-driver==3.0.0-alpha-9 +pip install typedb-driver==3.0.0 ``` ## New Features +- **Introduce 3.0 Rust, Java, and Python drivers** + + We introduce the updated Rust, Java, and Python drivers compatible with TypeDB 3.0. + These updates bring significant opportunities and UX improvements, including: + - **Simplified querying workflow**: The `Concept API` has been removed, offering a single `tx.query()` entry point. + - **Streamlined transactions**: Sessions and transactions are now consolidated into standalone transactions. + - **Expanded attribute value types**: Added support for `decimal`, `date`, `datetime-tz`, and `duration`. + - **Unified authentication**: The updated authentication mechanism is shared across all drivers. + - **New query result formats**: Introducing `Concept Row`s for table-like outputs and `Concept Document`s for structured outputs used in `fetch` queries. + + Some features are currently disabled due to limitations on the TypeDB Server side: + - Options. + - Replicas information. + + 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). + + +- **Add Python 3.13 support** + + 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. + ## Bugs Fixed +- **Optimise driver dispatch loop** + + 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. ## Code Refactors - +- **Rename long to integer** + Renamed the TypeQL `long` value tpe to `integer` + + ## Other Improvements - **Speed up transaction opening and fix parallel** @@ -111,4 +138,29 @@ pip install typedb-driver==3.0.0-alpha-9 - **Unify transaction cleanup in driver BDDs when opening new transactions** +- **Add handler for initial TransactionOpen response instead of erroring** + +- **Fix CircleCI jobs for Maven installation and python builds** + We fix two CircleCI issues: + * `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; + * python installation for Linux machines required a different process after we updated from `python3.8` to `python3.9` as a minimal version. + +- **Bumped API version in antora config** + +- **Rename maven groupId "com.vaticle" -> "com.typedb". Return a part of Java driver's CI tests** + We completely clean `com.vaticle` mentions in the `typedb-driver` repo: + * generated `pom` files for the Java driver now contain `com.typedb` instead of `com.vaticle.typedb`; + * 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). + +- **Fix native object ownership checks in python driver** + Fixes native object ownership checks in python driver + + +- **Rename Java package com.vaticle.typedb to com.typedb and remove typeql dependencies.** + We rename the Java driver's package from `com.vaticle.typedb` to `com.typedb`. + We remove dependencies on `typeql` as it's no more needed. + +- **Add typedb 3 roadmap link to the release notes** + +- **Apply fix that allows connecting to servers listening on 0.0.0.0** diff --git a/VERSION b/VERSION index f5fcac907..56fea8a08 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.0.0-alpha-9 +3.0.0 \ No newline at end of file diff --git a/dependencies/typedb/repositories.bzl b/dependencies/typedb/repositories.bzl index 45e668994..2d0b8fa40 100644 --- a/dependencies/typedb/repositories.bzl +++ b/dependencies/typedb/repositories.bzl @@ -21,14 +21,14 @@ def typedb_dependencies(): git_repository( name = "typedb_dependencies", remote = "https://github.com/typedb/typedb-dependencies", - commit = "33d71e44027e502f9bd9a788a3bb4948cebddc9f", # sync-marker: do not remove this comment, this is used for sync-dependencies by @typedb_dependencies + commit = "52191031bb1231c714a2f2017571d61c81b4a890", # sync-marker: do not remove this comment, this is used for sync-dependencies by @typedb_dependencies ) def typedb_protocol(): git_repository( name = "typedb_protocol", remote = "https://github.com/typedb/typedb-protocol", - commit = "3ead863d3a4b15a35178ea9212bc70d0a489bbea", # sync-marker: do not remove this comment, this is used for sync-dependencies by @typedb_protocol + tag = "3.0.0", # sync-marker: do not remove this comment, this is used for sync-dependencies by @typedb_protocol ) def typedb_behaviour():