Skip to content

Releases: typedb/typedb-protocol

Protocol 1.0.5

14 Apr 20:37
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>{version}</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>{version}</version>
    </dependency>
</dependencies>

New Features

  • Refactor protocol for faster iterator requests
    The existing protocol made a round-trip to get an iterator ID and then individual round-trips for each result.

    The goal of this PR is to optimise this design to require minimal roundtrips, reducing the effect of latency on queries with many results and the concept API.

  • Added an all option to Transaction.Iter.Req
    We have added the field that would allow the server to continue sending results in batches, improving performance.

  • Add a rule to explanation results.
    When the client requests an explanation for a query, we want to also return the rule that is being explained. Therefore, we add the ability to pass a rule inside an explanation.

Bugs Fixed

Code Refactors

Other Improvements

  • Upgrade to Bazel 3.0.0.
    Upgrade Bazel to latest upstream version

  • Update copyright headers to 2020.
    In order for build not to break after typedb/dependencies#122, copyright headers need to be updated.

  • Update RELEASE_TEMPLATE.md.
    We have removed NodeJS and PyPI installation instruction since protocol is a Maven artifact.

Protocol 1.0.4

17 Jan 11:17
1c019c1
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>{version}</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>{version}</version>
    </dependency>
</dependencies>

New Features

Bugs Fixed

Code Refactors

Other Improvements

  • Update Build Tools.
    We have updated build-tools. It fixes the broken build issue caused by the fact that Maven Central artefacts were no longer accessible as the URLs were all HTTP instead of HTTPS.

  • Upgrade grpc to 1.24.1.
    Update gRPC to a more recent version

Protocol 1.0.3

22 Nov 15:55
5ebc51d
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>{version}</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>{version}</version>
    </dependency>
</dependencies>

For Python through PyPI

Available through https://pypi.org

pip install grakn-protocol

Or you can upgrade your local installation with:

pip install -U grakn-protocol

For Node.js through NPM

Now officially available through https://npmjs.com

npm install grakn-protocol

Or you can upgrade your local installation with:

npm update grakn-protocol

New Features

  • Retrievable explanations, Restrict explanations to ConceptMaps.
    Explanations can exceed the gRPC message size limits. This change allows retrieving explanations separately from the ConceptMap answers themselves, allowing us to break the deep nesting and long messages contained in a single answer.
    The paradigm for retriving an explanation is now as follows:
    A ConceptMap always contains a pattern and a boolean flag hasExplanation. If the ConceptMap has an explanation, a call can be made using message type Explanation.Req, returning a list of ConceptMap that correspond to to a single layer of the explanation tree.
    Unused Explanation messages have been removed from answers other than ConceptMap.

  • Integrate checking for unused Java dependencies.
    Integrate checking for unused Java dependencies

Bugs Fixed

  • Adapt to latest changes in bazel-distribution.
    typedb/bazel-distribution#191 changed the way Maven JARs are built. This PR adapts protocol to latest changes

Code Refactors

  • Add Void Answer Message type.
    With the end goal of streaming deleted concept IDs, we add a backwards-compatible message type ConceptSingle that contains a single concept ID. This means deleted concept IDs can now be streamed rather than be returned in one batch as a ConceptSet
    Related to typedb/typedb#4969

  • Add KGMS console protocol files.
    We try to centralise all required Grakn protocols in one repository. This PR merges the dangling protocol files from KGMS, required by KGMS console for user management, into this repository.

  • Refactor how version is provided to deployment rules.
    Adapt @graknlabs_protocol to latest changes in bazel-distribution (in particular, typedb/bazel-distribution#150)

Other Improvements

Protocol 1.0.2

23 Sep 21:30
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>{version}</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>{version}</version>
    </dependency>
</dependencies>

Protocol 1.0.1

09 Sep 16:29
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>1.0.1</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>1.0.1</version>
    </dependency>
</dependencies>

New Features

  • Authenticate operations in KeyspaceService.
    Operations with keyspaces need to be authenticated with username/password in enterprise version. In order to support that, protocol needs to be changed. Additionally, RPC method to create keyspace is now obsolete and needs to be removed.

Bugs Fixed

Code Refactors

  • Update License to 2019.

  • Repackage Python generated code.
    Previously, generated Python package contained keyspace and session packages — which have pretty generic names to be put into user's directory with installed Python packages. This PR moves them under grakn_protocol root package.

Protocol 1.0.0

18 Jul 12:17
57486d4
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>1.0.0</version>
    </dependency>
    <dependency>
        <groupid>io.grakn.protocol</groupid>
        <artifactid>grakn-keyspace</artifactid>
        <version>1.0.0</version>
    </dependency>
</dependencies>

For Python through PyPI

Available through https://pypi.org

pip install grakn-protocol

Or you can upgrade your local installation with:

pip install -U grakn-protocol

For Node.js through NPM

Now officially available through https://npmjs.com

npm install grakn-protocol

Or you can upgrade your local installation with:

npm update grakn-protocol

New Features

Bugs Fixed

  • Prefixed artifact IDs of Maven packages with 'grakn-'.
    When deploying Maven JARs to Sonatype, the JARs are renamed to be artifact-id-version.jar, without the group-id. This is done in Sonatype because the JARs are organised into folders where the folder names represent the Group IDs. However, in certain build systems, e.g. Gradle, the JARs are collected under one directory, which means the JAR names are not unique enough to disambiguate itself from each other. We have now renamed the artifact ID of our Maven packages to be prefixed with grakn- to solve this problem.