Skip to content

Releases: typedb/typedb-driver

TypeDB Driver 3.0.0

20 Dec 13:11
f924887
Compare
Choose a tag to compare

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

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 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 Rows for table-like outputs and Concept Documents 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.

  • 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 TypeQL long value tpe to integer

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 of Concept classes in Java and Python.

    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:

    • 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-level Concept.

    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 of Concept like get_iid/getIID for Entity and Relation.

    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.

  • Remove promises resolves in destructors to eliminate redundant exceptions. Cleanup Python exceptions formatting
    We remove the feature of Promises 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.

    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 not resolved, it will be returned from the commit call, and no excessive errors will be printed on resource release.

    Detailed examples for each language supported are presented in READMEs.

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

TypeDB Driver 2.29.2

13 Dec 17:55
86083c6
Compare
Choose a tag to compare

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

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

22 Nov 18:12
47375d4
Compare
Choose a tag to compare
Pre-release

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

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 of Concept classes in Java and Python.

    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:

    • 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-level Concept.

    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 of Concept like get_iid/getIID for Entity and Relation.

    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.

  • Remove promises resolves in destructors to eliminate redundant exceptions. Cleanup Python exceptions formatting
    We remove the feature of Promises 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.

    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 not resolved, it will be returned from the commit call, and no excessive errors will be printed on resource release.

    Detailed examples for each language supported are presented in READMEs.

    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

04 Nov 12:56
e861a62
Compare
Choose a tag to compare

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

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

25 Oct 13:03
e38c13f
Compare
Choose a tag to compare
Pre-release

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

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's QueryType from the server for all answer types

    The protocol has been updated, and Ok QueryAnswers receive correct QueryTypes 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

18 Oct 14:34
2cf962a
Compare
Choose a tag to compare
Pre-release

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

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 reintroduced fetch queries.

    In Rust, results of fetch are streams of ConceptDocuments. It is possible to work with the structured document as a Rust struct, but it's also possible to convert it to a JSON document and/or its String representation.

    In Java, these results are presented as iterators over custom JSON class instances. A respective toString 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 general QueryAnswers, 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 for datetime-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 and driver;
    • Introduce flags to run Rust bdds in core or cloud 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 to Instance;
    • Remove ThingType,
    • Added getLabel/get_label for all Concept classes. Previously, it was only available for Types.

    Python driver changes:

    • Add bdd steps to match the updated declarations.
  • 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

06 Oct 23:45
6ab1b41
Compare
Choose a tag to compare

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

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 calling TypeDBDriver.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 update typedb and typedb-cloud artifacts references to match TypeDB***Runners used in most of the languages with typeql 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, Java typeql for Java, and direct values from the server for all the other drivers).

TypeDB Driver 3.0.0-alpha-5

04 Oct 15:52
2374db9
Compare
Choose a tag to compare
Pre-release

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

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 removed Concept API (so you could simplify your querying workflow with a single tx.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

27 Sep 15:38
3efaba3
Compare
Choose a tag to compare
Pre-release

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

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:

    1. 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!
    2. 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!
  • 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 from com.vaticle.typedb to com.typedb.
    We remove excessive dependencies on typeql.

Other Improvements

TypeDB Driver 3.0.0-alpha-3

27 Sep 12:17
3663461
Compare
Choose a tag to compare
Pre-release

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

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:

    1. 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!
    2. 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!
  • Fix decimal, datetime, datetime-tz value types processing

Code Refactors

Other Improvements