Skip to content

Releases: typedb/typedb-protocol

TypeDB Protocol 2.1.1

04 Jun 19:48
Compare
Choose a tag to compare

Documentation: http://docs.vaticle.com/docs/client-api/java

Distribution

For Java through Maven

Available through https://repo.vaticle.com

<repositories>
    <repository>
        <id>repo.vaticle.com</id>
        <url>https://repo.vaticle.com/repository/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>com.vaticle.typedb</groupid>
        <artifactid>typedb-protocol</artifactid>
        <version>2.1.1</version>
    </dependency>
</dependencies>

New Features

  • Added user management protocol for TypeDB Cluster
    We have added the user management protocol for TypeDB Cluster. It will allow TypeDB clients to perform user management operations such as adding and deleting a user.

Bugs Fixed

Code Refactors

Other Improvements

TypeDB Protocol 2.1.0

20 May 10:18
Compare
Choose a tag to compare

Documentation: http://docs.vaticle.com/docs/client-api/java

Distribution

For Java through Maven

Available through https://repo.vaticle.com

<repositories>
    <repository>
        <id>repo.vaticle.com</id>
        <url>https://repo.vaticle.com/repository/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>com.vaticle.typedb</groupid>
        <artifactid>typedb-protocol</artifactid>
        <version>2.1.0</version>
    </dependency>
</dependencies>

New Features

Bugs Fixed

Code Refactors

Other Improvements

Protocol 2.0.1

13 Apr 18:02
03d581a
Compare
Choose a tag to compare

Documentation: http://dev.grakn.ai/docs/client-api/java

Distribution

For Java through Maven

Available through https://repo.grakn.ai

<repositories>
    <repository>
        <id>repo.grakn.ai</id>
        <url>https://repo.grakn.ai/repository/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-session</artifactid>
        <version>2.0.1</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>2.0.1</version>
    </dependency>
</dependencies>

New Features

  • Store request IDs as bytes; add 'inferred' to Thing
    Previously the field req_id of a transaction request was stored as a string, which is an inefficient representation of a UUID. We've changed it to bytes.
    Also, we deleted IsInferred and added the inferred flag to Thing, allowing clients to check if a Thing is inferred without an additional network roundtrip.

Bugs Fixed

Code Refactors

Other Improvements

Protocol 2.0.0

31 Mar 11:31
Compare
Choose a tag to compare

Documentation: http://dev.grakn.ai/docs/client-api/java

Distribution

For Java through Maven

Available through https://repo.grakn.ai

<repositories>
    <repository>
        <id>repo.grakn.ai</id>
        <url>https://repo.grakn.ai/repository/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-session</artifactid>
        <version>2.0.0</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>2.0.0</version>
    </dependency>
</dependencies>

New Features

  • Implement Explanations in RPC
    We add Explanations, and the explain() query endpoint to the protocol. This enables all clients to retrieve all available explanations for a particular explainable concept map.

  • Introduced transaction request batching
    When sending large amounts of requests from the client to server, it is possible to reach GRPC's maximum throughput of messages per second, on large scale systems. For example, a client with 32 cores, can have 1000 concurrent transactions sending requests to the server. This will easily go beyond what GRPC can handle, and thus becomes the bottleneck in the system. That client will not be sending as many requests it wants per second, and the server may still be able to handle more requests to handle. We have now overcome this problem, by allowing the transaction stream (the predominant GRPC service) to "batch" the transaction requests into one GRPC message to send to the server, within a given time window. In the client-side implementations, we have chosen the time window to be 1 millisecond - small enough to not cause any noticeable performance degradation on individual requests, but big enough to "batch" all requests within that time window into one message and multiply the throughput.
    Additionally, we also refined the messages to control iterators - continue and done - to be replaced with Transaction.Iterate.Req and Transaction.Iterate.Res, and we moved latency_millis into Transaction.Open.Req.

Bugs Fixed

Code Refactors

Other Improvements

Protocol 2.0.0-alpha-12

05 Mar 20:45
aa53efa
Compare
Choose a tag to compare

Documentation: http://dev.grakn.ai/docs/client-api/java

Distribution

For Java through Maven

Available through https://repo.grakn.ai

<repositories>
    <repository>
        <id>repo.grakn.ai</id>
        <url>https://repo.grakn.ai/repository/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-session</artifactid>
        <version>2.0.0-alpha-12</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>2.0.0-alpha-12</version>
    </dependency>
</dependencies>

New Features

  • Add 'type' field to Thing
    The Thing message now contains a new field, type, which holds the concept type. As a result of this change, value_type is now redundant (equivalent to type.value_type) and encoding can be inferred from type.encoding, so both fields have been deleted.

Bugs Fixed

Code Refactors

Other Improvements

Protocol 2.0.0-alpha-11

03 Mar 17:13
a9a6d23
Compare
Choose a tag to compare

Documentation: http://dev.grakn.ai/docs/client-api/java

Distribution

For Java through Maven

Available through https://repo.grakn.ai

<repositories>
    <repository>
        <id>repo.grakn.ai</id>
        <url>https://repo.grakn.ai/repository/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-session</artifactid>
        <version>2.0.0-alpha-11</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>2.0.0-alpha-11</version>
    </dependency>
</dependencies>

New Features

  • Add parallel option to Options
    To allow clients to disable parallel execution, we add the parallel_opt to `Options.

Bugs Fixed

Code Refactors

Other Improvements

Protocol 2.0.0-alpha-10

23 Feb 16:44
6c47e44
Compare
Choose a tag to compare

Documentation: http://dev.grakn.ai/docs/client-api/java

Distribution

For Java through Maven

Available through https://repo.grakn.ai

<repositories>
    <repository>
        <id>repo.grakn.ai</id>
        <url>https://repo.grakn.ai/repository/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-session</artifactid>
        <version>2.0.0-alpha-10</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>2.0.0-alpha-10</version>
    </dependency>
</dependencies>

New Features

  • Use self-hosted Bazel cache
    Speed up CI by using self-hosted remote Bazel cache

  • Add inference logging option
    Add an option that allows users to turn on or off resolution tracing for reasoner.

  • Add methods to get and list Cluster databases
    We added new service methods to Cluster that retrieve Cluster databases, including their replica info. Although this was possible before with database_replicas, this method was not well aligned with what Core does. Using the terms get and all allows us to establish a more Core-like API.

Bugs Fixed

Code Refactors

Other Improvements

Protocol 2.0.0-alpha-9

14 Feb 13:59
a3b1f02
Compare
Choose a tag to compare

Documentation: http://dev.grakn.ai/docs/client-api/java

Distribution

For Java through Maven

Available through https://repo.grakn.ai

<repositories>
    <repository>
        <id>repo.grakn.ai</id>
        <url>https://repo.grakn.ai/repository/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-session</artifactid>
        <version>2.0.0-alpha-9</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>2.0.0-alpha-9</version>
    </dependency>
</dependencies>

New Features

Bugs Fixed

Code Refactors

Other Improvements

Protocol 2.0.0-alpha-8

04 Feb 12:41
Compare
Choose a tag to compare

Documentation: http://dev.grakn.ai/docs/client-api/java

Distribution

For Java through Maven

Available through https://repo.grakn.ai

<repositories>
    <repository>
        <id>repo.grakn.ai</id>
        <url>https://repo.grakn.ai/repository/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-session</artifactid>
        <version>2.0.0-alpha-8</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>2.0.0-alpha-8</version>
    </dependency>
</dependencies>

New Features

Bugs Fixed

Code Refactors

Other Improvements

  • Fix pip package using wrong Python package names
    The Python package names generated for our Cluster proto files were incorrect. We updated our python_repackage rules to fix it.

  • Add Grakn Cluster messages to pip and npm packages
    Our Grakn Cluster-specific message definitions were included only in our Maven package. We added them to our pip and npm packages for use by our Python and NodeJS clients.

Protocol 2.0.0-alpha-7

28 Jan 10:02
985d4a8
Compare
Choose a tag to compare

Documentation: http://dev.grakn.ai/docs/client-api/java

Distribution

For Java through Maven

Available through https://repo.grakn.ai

<repositories>
    <repository>
        <id>repo.grakn.ai</id>
        <url>https://repo.grakn.ai/repository/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-session</artifactid>
        <version>2.0.0-alpha-7</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>2.0.0-alpha-7</version>
    </dependency>
</dependencies>

New Features

Bugs Fixed

Code Refactors

Other Improvements

  • Rename Python package in pip artifact to grakn_protocol
    Our pip artifact is named grakn-protocol but the Python package used to import Python objects from it was inconsistently named graknprotocol. So we've renamed it to grakn_protocol.

  • Reenable remote build caching
    Speed up builds by utilizing remote caching provided by BuildBuddy.

  • Add prefetch option
    On executing a Graql query, Grakn automatically streams the first batch of responses back to the client. But, for an insert query, they usually don't need those answers. To remedy this, we made prefetch a configurable per-query option.

  • Introduce a new transaction type for reading from secondary replicas
    We've introduced a new Grakn-Cluster-specific transaction type, "read secondary". It is a read-only transaction that may read not only from primary but also from secondary replicas.