Releases: typedb/typedb-driver
TypeDB Driver 3.0.0
Documentation: https://typedb.com/docs/drivers/overview
Distribution
Rust driver
Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview
cargo add [email protected]
Java driver
Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview
<repositories>
<repository>
<id>repo.typedb.com</id>
<url>https://repo.typedb.com/public/public-release/maven/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupid>com.typedb</groupid>
<artifactid>typedb-driver</artifactid>
<version>3.0.0</version>
</dependency>
</dependencies>
Python driver
PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview
Available through https://pypi.org
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 singletx.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
, andduration
. - Unified authentication: The updated authentication mechanism is shared across all drivers.
- New query result formats: Introducing
Concept Row
s for table-like outputs andConcept Document
s for structured outputs used infetch
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. - Simplified querying workflow: The
-
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). 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 TypeQLlong
value tpe tointeger
Other Improvements
-
Speed up transaction opening and fix parallel
- We fix transaction opening for all the supported drivers, speeding up the operation by 2x.
- We eliminate database-related errors happening during concurrent database management (create and delete operations) by multiple drivers due to cache mismatches.
- We make transaction opening requests immediately return errors instead of waiting for additional transaction operations to be performed (e.g. commit or query).
-
Refactor concepts APIs to quickly access optional instances and values properties
We generalize the approach to getting concepts properties in TypeDB Drivers, introducing a set of new APIs for fetching optional values related to instances ofConcept
classes in Java and Python.Now, all subclasses of
Concept
have a set of new interfaces starting withtry
to access IIDs, labels, value types, and values without a need to cast to a specificInstance
orValue
. These methods can be useful if:- you have an established workflow with constant queries and always expect these properties to exist;
- you want to implement a custom handling of cases where the expected values are missing shorter (without exceptions).
Additionally, value type checks like
is_boolean
/isBoolean
are also declared on the top-levelConcept
.Note that casting is still possible, and its benefits are, as usual:
- static type checking for your programs using TypeDB Driver;
- access to the non-optional
get
interfaces for specific subclasses ofConcept
likeget_iid
/getIID
forEntity
andRelation
.
Also note that some of the interfaces have changed (e.g.,
asBoolean
->getBoolean
forAttribute
andValue
to separate value retrieval and concept casting), but their functioning has not. -
Remove promises resolves in destructors to eliminate redundant exceptions. Cleanup Python exceptions formatting
We remove the feature ofPromise
s to callresolve
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.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):
for query in queries: tx.query(query) tx.commit()
If one of the
queries
contains an error and it's notresolve
d, it will be returned from thecommit
call, and no excessive errors will be printed on resource release.Detailed examples for each language supported are presented in
README
s.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. -
Update final reference of git org to @typedb
-
Update typedb-runner maven coordinate to com.typedb
-
Rename typedb-cloud workspace to @typedb_cloud
-
Renamed workspace to typedb-driver
-
Update dependant repositories: @typedb_dependencies, @typedb_protocol, and @typedb_behaviour
-
Rename /dependencies/vaticle to /typedb
-
Replaced Vaticle with TypeDB in strings and copyrights
-
Update CI images to 'typedb-ubuntu'
-
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 for Rosetta configuration;- python installation for Linux machines required a different process after we updated from
python3.8
topython3.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 cleancom.vaticle
mentions in thetypedb-driver
repo:- generated
pom
files for the Java driver now containcom.typedb
instead ofcom.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).
- generated
-
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 fromcom.vaticle.typedb
tocom.typedb
.
We remove dependencies ontypeql
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
TypeDB Driver 2.29.2
Documentation: https://typedb.com/docs/drivers/overview
Distribution
Rust driver
Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview
cargo add [email protected]
Java driver
Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview
<repositories>
<repository>
<id>repo.typedb.com</id>
<url>https://repo.typedb.com/public/public-release/maven/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupid>com.vaticle.typedb</groupid>
<artifactid>typedb-driver</artifactid>
<version>2.29.2</version>
</dependency>
</dependencies>
Python driver
PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview
Available through https://pypi.org
pip install typedb-driver==2.29.2
NodeJS driver
NPM package: https://www.npmjs.com/package/typedb-driver
Documentation: https://typedb.com/docs/drivers/nodejs/overview
npm install [email protected]
C# driver
NuGet package: https://www.nuget.org/packages/TypeDB.Driver
Documentation: https://typedb.com/docs/drivers/csharp/overview
<ItemGroup>
<PackageReference Include="TypeDB.Driver" Version="2.29.2" />
<PackageReference Include="TypeDB.Driver.Pinvoke.osx-x64" Version="2.29.2" />
<PackageReference Include="TypeDB.Driver.Pinvoke.linux-x64" Version="2.29.2" />
<PackageReference Include="TypeDB.Driver.Pinvoke.win-x64" Version="2.29.2" />
<PackageReference Include="TypeDB.Driver.Pinvoke.osx-arm64" Version="2.29.2" />
<PackageReference Include="TypeDB.Driver.Pinvoke.linux-arm64" Version="2.29.2" />
</ItemGroup>
C++ driver
Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-cpp+version:2.29.2
Documentation: https://typedb.com/docs/drivers/cpp/overview
C driver
Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-clib+version:2.29.2
New Features
Bugs Fixed
Code Refactors
Other Improvements
- Native library names now include platform
Native library names now include platform. This avoids the case where flattening a java project causes libraries for from one architecture for a given os clobbers the other.
TypeDB Driver 3.0.0-alpha-9
Documentation: https://typedb.com/docs/drivers/overview
Distribution
Rust driver
Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview
cargo add [email protected]
Java driver
Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview
<repositories>
<repository>
<id>repo.typedb.com</id>
<url>https://repo.typedb.com/public/public-release/maven/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupid>com.typedb</groupid>
<artifactid>typedb-driver</artifactid>
<version>3.0.0-alpha-9</version>
</dependency>
</dependencies>
Python driver
PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview
Available through https://pypi.org
pip install typedb-driver==3.0.0-alpha-9
New Features
Bugs Fixed
Code Refactors
Other Improvements
-
Speed up transaction opening and fix parallel database operations
- We fix transaction opening for all the supported drivers, speeding up the operation by 2x.
- We eliminate database-related errors happening during concurrent database management (create and delete operations) by multiple drivers due to cache mismatches.
- We make transaction opening requests immediately return errors instead of waiting for additional transaction operations to be performed (e.g. commit or query).
-
Refactor concepts APIs to quickly access optional instances and values properties
We generalize the approach to getting concepts properties in TypeDB Drivers, introducing a set of new APIs for fetching optional values related to instances ofConcept
classes in Java and Python.Now, all subclasses of
Concept
have a set of new interfaces starting withtry
to access IIDs, labels, value types, and values without a need to cast to a specificInstance
orValue
. These methods can be useful if:- you have an established workflow with constant queries and always expect these properties to exist;
- you want to implement a custom handling of cases where the expected values are missing shorter (without exceptions).
Additionally, value type checks like
is_boolean
/isBoolean
are also declared on the top-levelConcept
.Note that casting is still possible, and its benefits are, as usual:
- static type checking for your programs using TypeDB Driver;
- access to the non-optional
get
interfaces for specific subclasses ofConcept
likeget_iid
/getIID
forEntity
andRelation
.
Also note that some of the interfaces have changed (e.g.,
asBoolean
->getBoolean
forAttribute
andValue
to separate value retrieval and concept casting), but their functioning has not. -
Remove promises resolves in destructors to eliminate redundant exceptions. Cleanup Python exceptions formatting
We remove the feature ofPromise
s to callresolve
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.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):
for query in queries: tx.query(query) tx.commit()
If one of the
queries
contains an error and it's notresolve
d, it will be returned from thecommit
call, and no excessive errors will be printed on resource release.Detailed examples for each language supported are presented in
README
s.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. -
Update final reference of git org to @typedb
-
Update typedb-runner maven coordinate to com.typedb
-
Rename typedb-cloud workspace to @typedb_cloud
-
Renamed workspace to typedb-driver
-
Update dependant repositories: @typedb_dependencies, @typedb_protocol, and @typedb_behaviour
-
Rename /dependencies/vaticle to /typedb
-
Replaced Vaticle with TypeDB in strings and copyrights
-
Update CI images to 'typedb-ubuntu'
-
Unify transaction cleanup in driver BDDs when opening new transactions
TypeDB Driver 2.29.2-rc0
Documentation: https://typedb.com/docs/drivers/overview
Distribution
Rust driver
Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview
cargo add [email protected]
Java driver
Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview
<repositories>
<repository>
<id>repo.typedb.com</id>
<url>https://repo.typedb.com/public/public-release/maven/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupid>com.vaticle.typedb</groupid>
<artifactid>typedb-driver</artifactid>
<version>2.29.2</version>
</dependency>
</dependencies>
Python driver
PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview
Available through https://pypi.org
pip install typedb-driver==2.29.2
NodeJS driver
NPM package: https://www.npmjs.com/package/typedb-driver
Documentation: https://typedb.com/docs/drivers/nodejs/overview
npm install [email protected]
C# driver
NuGet package: https://www.nuget.org/packages/TypeDB.Driver
Documentation: https://typedb.com/docs/drivers/csharp/overview
<ItemGroup>
<PackageReference Include="TypeDB.Driver" Version="2.29.2" />
<PackageReference Include="TypeDB.Driver.Pinvoke.osx-x64" Version="2.29.2" />
<PackageReference Include="TypeDB.Driver.Pinvoke.linux-x64" Version="2.29.2" />
<PackageReference Include="TypeDB.Driver.Pinvoke.win-x64" Version="2.29.2" />
<PackageReference Include="TypeDB.Driver.Pinvoke.osx-arm64" Version="2.29.2" />
<PackageReference Include="TypeDB.Driver.Pinvoke.linux-arm64" Version="2.29.2" />
</ItemGroup>
C++ driver
Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-cpp+version:2.29.2
Documentation: https://typedb.com/docs/drivers/cpp/overview
C driver
Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-clib+version:2.29.2
New Features
Bugs Fixed
Code Refactors
Other Improvements
- Native library names now include platform
Native library names now include platform. This avoids the case where flattening a java project causes libraries for from one architecture for a given os clobbers the other.
TypeDB Driver 3.0.0-alpha-7
Documentation: https://typedb.com/docs/drivers/overview
Distribution
Rust driver
Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview
cargo add [email protected]
Java driver
Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview
<repositories>
<repository>
<id>repo.typedb.com</id>
<url>https://repo.typedb.com/public/public-release/maven/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupid>com.typedb</groupid>
<artifactid>typedb-driver</artifactid>
<version>3.0.0-alpha-7</version>
</dependency>
</dependencies>
Python driver
PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview
Available through https://pypi.org
pip install typedb-driver==3.0.0-alpha-7
New Features
Bugs Fixed
-
Add handler for initial TransactionOpen response instead of erroring
We eliminate the wrong error shown in logs when opening a transaction for all the 3.0 drivers.
Code Refactors
-
Receive
QueryAnswer
'sQueryType
from the server for all answer typesThe protocol has been updated, and
Ok
QueryAnswer
s receive correctQueryType
s from the server instead of the client-side hardcode usage.
Other Improvements
-
Introduce 3.0 Java driver docs and tests. Implement new fetch BDD steps in 3.0 drivers
We introduce updated documentation, usage examples, and automated tests for the Java driver, to cover all the existing driver's APIs by sustainable validations.
Additionally, we implement additional BDD steps to check concept documents in BDDs for other 3.0 drivers: Rust and Python.
TypeDB Driver 3.0.0-alpha-6
Documentation: https://typedb.com/docs/drivers/overview
Distribution
Rust driver
Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview
cargo add [email protected]
Java driver
Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview
<repositories>
<repository>
<id>repo.typedb.com</id>
<url>https://repo.typedb.com/public/public-release/maven/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupid>com.typedb</groupid>
<artifactid>typedb-driver</artifactid>
<version>3.0.0-alpha-6</version>
</dependency>
</dependencies>
Python driver
PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview
Available through https://pypi.org
pip install typedb-driver==3.0.0-alpha-6
New Features
-
Add concept documents for fetch queries.
We add concept documents to support the results of the reintroducedfetch
queries.In Rust, results of
fetch
are streams ofConceptDocument
s. It is possible to work with the structured document as a Ruststruct
, but it's also possible to convert it to aJSON
document and/or itsString
representation.In Java, these results are presented as iterators over custom
JSON
class instances. A respectivetoString
method is available.In Python, these results are presented as iterators over standard
dict
instances (able to be printed).Additionally, we add
QueryType
getters for generalQueryAnswer
s, so it's possible to check its type without collection.Usage examples are shown in
README
for the Rust and the Python drivers. Example integration tests are also available for all 3 drivers. -
Introduce 3.0 datetime-tz offsets and Rust driver documentation and tests.
We introduce the second version of the Rust driver, adding TimeZone offsets fordatetime-tz
value types, fixing minor bugs and presenting the updated documentation and automated tests.Rust driver changes:
- Add
datetime-tz
offsets; - Refactor test structure to separate integration and behaviour tests using Bazel, not Cargo flags;
- Introduce example integration test for Rust and update README with the formatted code sample;
- Introduce updated 3.0 bdds for
connection
anddriver
; - Introduce flags to run Rust bdds in
core
orcloud
modes when TypeDB Cloud 3.x is implemented; - Fix Rust driver docs parser and update generated docs.
Java and Python drivers changes:
- Add
datetime-tz
offsets; - Rename
Thing
toInstance
; - Remove
ThingType
, - Added
getLabel
/get_label
for allConcept
classes. Previously, it was only available forType
s.
Python driver changes:
- Add bdd steps to match the updated declarations.
- Add
-
Introduce 3.0 Python driver docs and tests.
We introduce the second version of the Python driver, fixing a number of minor bugs from the first version, enhancing existing APIs, and presenting the updated documentation and automated tests.
Bugs Fixed
Code Refactors
Other Improvements
TypeDB Driver 2.29.0
Documentation: https://typedb.com/docs/drivers/overview
Distribution
Rust driver
Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview
cargo add [email protected]
Java driver
Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview
<repositories>
<repository>
<id>repo.typedb.com</id>
<url>https://repo.typedb.com/public/public-release/maven/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupid>com.vaticle.typedb</groupid>
<artifactid>typedb-driver</artifactid>
<version>2.29.0</version>
</dependency>
</dependencies>
Python driver
PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview
Available through https://pypi.org
pip install typedb-driver==2.29.0
NodeJS driver
NPM package: https://www.npmjs.com/package/typedb-driver
Documentation: https://typedb.com/docs/drivers/nodejs/overview
npm install [email protected]
C# driver
NuGet package: https://www.nuget.org/packages/TypeDB.Driver
Documentation: https://typedb.com/docs/drivers/csharp/overview
<ItemGroup>
<PackageReference Include="TypeDB.Driver" Version="2.29.0" />
<PackageReference Include="TypeDB.Driver.Pinvoke.osx-x64" Version="2.29.0" />
<PackageReference Include="TypeDB.Driver.Pinvoke.linux-x64" Version="2.29.0" />
<PackageReference Include="TypeDB.Driver.Pinvoke.win-x64" Version="2.29.0" />
<PackageReference Include="TypeDB.Driver.Pinvoke.osx-arm64" Version="2.29.0" />
<PackageReference Include="TypeDB.Driver.Pinvoke.linux-arm64" Version="2.29.0" />
</ItemGroup>
C++ driver
Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-cpp+version:2.29.0
Documentation: https://typedb.com/docs/drivers/cpp/overview
C driver
Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-clib+version:2.29.0
New Features
Bugs Fixed
- Python. Fix driver.close(). Add integration tests for connection closing for both core and cloud
We fix the issue #669, where the Python Driver didn't close the connection when callingTypeDBDriver.close()
.
Code Refactors
-
Invert address translation table: map public addresses to private
NOTE: The address translation table now represents mapping from the desired connection addresses to the addresses the cloud servers are configured with. This change does not impact users of TypeDB Core or TypeDB Cloud through the TypeDB Cloud Platform (https://cloud.typedb.com/)
Other Improvements
-
Hermetic npm deployment
-
Build and deploy for Python 3.12
We enable support for python 3.12 driver build.
-
Partial go driver implementation
Implement Basic core driver functionality of creating and closing a database. -
Make the author of the NodeJS and Python drivers "TypeDB Community"
The
author
field of our NodeJS and Python drivers (package.json
and PyPi configuration) is now TypeDB Community with the email being [email protected]. -
Fix CI builds with updated error messages from typedb and typedb-cloud artifacts
We updatetypedb
andtypedb-cloud
artifacts references to matchTypeDB***Runner
s used in most of the languages withtypeql
versions used in Rust and Java drivers in CI.Previously, the versions were mismatched, which caused errors in CI because of the different error messages received from drivers (Rust
typeql
for Rust, Javatypeql
for Java, and direct values from the server for all the other drivers).
TypeDB Driver 3.0.0-alpha-5
Documentation: https://typedb.com/docs/drivers/overview
Distribution
Rust driver
Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview
cargo add [email protected]
Java driver
Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview
<repositories>
<repository>
<id>repo.typedb.com</id>
<url>https://repo.typedb.com/public/public-release/maven/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupid>com.typedb</groupid>
<artifactid>typedb-driver</artifactid>
<version>3.0.0-alpha-5</version>
</dependency>
</dependencies>
Python driver
PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview
Available through https://pypi.org
pip install typedb-driver==3.0.0-alpha-5
New Features
-
Introduce TypeDB 3.0 Python driver
We introduce the updated Python driver for the upcoming 3.0 release. To align with the updated Rust driver, we removedConcept API
(so you could simplify your querying workflow with a singletx.query()
entry point), squeezed sessions and transactions to standalone transactions, and remodeled messaging with the server.As it's an alpha release, some of the features are temporarily disabled both on the server and the driver's side:
- Options;
- User management;
- Cloud connection with replicas information.
Moreover, we no longer support Python 3.8 as its support comes to an end and we want to offer the full support of our newly introduced timezones with the standard library equally for all the versions of the language.
Bugs Fixed
- Fix native object ownership checks in python driver
Multiple rarely used features of the python driver used to be broken because of the native object misuse.
Code Refactors
Other Improvements
-
Bumped API version in antora config
-
Rename Maven groupId from "com.vaticle" to "com.typedb" to match the package path
-
Fix CircleCI jobs for Maven installation and Python builds
TypeDB Driver 3.0.0-alpha-4
Documentation: https://typedb.com/docs/drivers/overview
Distribution
Rust driver
Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview
cargo add [email protected]
Java driver
Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview
<repositories>
<repository>
<id>repo.typedb.com</id>
<url>https://repo.typedb.com/public/public-release/maven/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupid>com.typedb</groupid>
<artifactid>typedb-driver</artifactid>
<version>3.0.0-alpha-4</version>
</dependency>
</dependencies>
New Features
- Introduce 3.0 Java driver
We introduce the updated Java driver for the upcoming 3.0 release, featuring all the Rust driver's features in another language.
Learn more about TypeDB 3.0 incoming features here: https://typedb.com/blog/typedb-3-roadmap
Bugs Fixed
-
Rust driver refinements
We fix major issues:- correctly passing the driver version string into the driver via the build system, instead of hard-coding it into the sources. This use a Cargo environment variable, which will always be available in released versions and is provided from the crate's Cargo.toml. During development, we just set the version to
0.0.0
because we don't particularly care about it! - correctly request more answers from the query stream once a BatchContinue flag has been read by the user, as they consume the query answer stream. Previously, we immediately request more answers from the server as soon as we see the StreamContinue signal, in the network layer, which meant the whole stream was actually not lazy at all!
- correctly passing the driver version string into the driver via the build system, instead of hard-coding it into the sources. This use a Cargo environment variable, which will always be available in released versions and is provided from the crate's Cargo.toml. During development, we just set the version to
-
Fix decimal, datetime, datetime-tz value types processing
Code Refactors
- Rename Java package com.vaticle.typedb to com.typedb and remove typeql dependencies.
We rename the Java driver's package fromcom.vaticle.typedb
tocom.typedb
.
We remove excessive dependencies ontypeql
.
Other Improvements
TypeDB Driver 3.0.0-alpha-3
Documentation: https://typedb.com/docs/drivers/overview
Distribution
Rust driver
Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview
cargo add [email protected]
Java driver
Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview
<repositories>
<repository>
<id>repo.typedb.com</id>
<url>https://repo.typedb.com/public/public-release/maven/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupid>com.vaticle.typedb</groupid>
<artifactid>typedb-driver</artifactid>
<version>3.0.0-alpha-3</version>
</dependency>
</dependencies>
New Features
- Introduce 3.0 Java driver
We introduce the updated Java driver for the upcoming 3.0 release, featuring all the Rust driver's features in another language.
Learn more about TypeDB 3.0 incoming features here: https://typedb.com/blog/typedb-3-roadmap
Bugs Fixed
-
Rust driver refinements
We fix major issues:- correctly passing the driver version string into the driver via the build system, instead of hard-coding it into the sources. This use a Cargo environment variable, which will always be available in released versions and is provided from the crate's Cargo.toml. During development, we just set the version to
0.0.0
because we don't particularly care about it! - correctly request more answers from the query stream once a BatchContinue flag has been read by the user, as they consume the query answer stream. Previously, we immediately request more answers from the server as soon as we see the StreamContinue signal, in the network layer, which meant the whole stream was actually not lazy at all!
- correctly passing the driver version string into the driver via the build system, instead of hard-coding it into the sources. This use a Cargo environment variable, which will always be available in released versions and is provided from the crate's Cargo.toml. During development, we just set the version to
-
Fix decimal, datetime, datetime-tz value types processing