Releases: typedb/typedb-protocol
Protocol 1.0.5
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 sinceprotocol
is a Maven artifact.
Protocol 1.0.4
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 updatedbuild-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
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 theConceptMap
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:
AConceptMap
always contains apattern
and a boolean flaghasExplanation
. If theConceptMap
has an explanation, a call can be made using message typeExplanation.Req
, returning a list ofConceptMap
that correspond to to a single layer of the explanation tree.
UnusedExplanation
messages have been removed from answers other thanConceptMap
. -
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 adaptsprotocol
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 typeConceptSingle
that contains a single concept ID. This means deleted concept IDs can now be streamed rather than be returned in one batch as aConceptSet
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
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
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 withusername
/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 containedkeyspace
andsession
packages — which have pretty generic names to be put into user's directory with installed Python packages. This PR moves them undergrakn_protocol
root package.
Protocol 1.0.0
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 beartifact-id-version.jar
, without thegroup-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 withgrakn-
to solve this problem.