Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .factory/automation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ build:
quality:
filter:
owner: typedb
branch: master
branch: master, cluster-support-feature-branch
dependency-analysis:
image: typedb-ubuntu-22.04
command: |
Expand All @@ -34,7 +34,7 @@ build:
deploy-crate-snapshot:
filter:
owner: typedb
branch: [master]
branch: [master, cluster-support-feature-branch]
dependencies: [build, build-dependency]
image: typedb-ubuntu-22.04
command: |
Expand Down Expand Up @@ -68,7 +68,7 @@ build:
release:
filter:
owner: typedb
branch: [master]
branch: [master, cluster-support-feature-branch]
validation:
validate-release-notes:
image: typedb-ubuntu-22.04
Expand Down
17 changes: 8 additions & 9 deletions RELEASE_NOTES_LATEST.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
Documentation: https://typedb.com/docs/drivers/

**This is an alpha release for CLUSTERED TypeDB 3.x. Do not use this as a stable version of TypeDB.**
**Instead, reference a non-alpha release of the same major and minor versions.**

### Distribution

#### For Rust through crates.io

Available from https://crates.io/crates/typedb-protocol

```sh
cargo add [email protected]
cargo add [email protected]-alpha-0
```

#### For Node.js through npm

Available from https://www.npmjs.com/package/typedb-protocol

```sh
npm install [email protected]
npm install [email protected]-alpha-0
```
or
```sh
yarn add [email protected]
yarn add [email protected]-alpha-0
```


## New Features
- **Introduce version extension**
We introduce the "extension" field into the protocol. This introduces a finer notion of "compatibility" and makes the protocol aware of it.
A driver-server pair is compatible if they are on the same protocol version, and the server extension version is atleast that of the client.

- **Introduce analyze options & add structure to GRPC row answers (#235)**
- **Introduce Raft and clustering protocols for TypeDB Cluster**


## Bugs Fixed

Expand All @@ -37,4 +37,3 @@ yarn add [email protected]


## Other Improvements

3 changes: 3 additions & 0 deletions RELEASE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
Documentation: https://typedb.com/docs/drivers/

**This is an alpha release for CLUSTERED TypeDB 3.x. Do not use this as a stable version of TypeDB.**
**Instead, reference a non-alpha release of the same major and minor versions.**

### Distribution

#### For Rust through crates.io
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.7.0
3.7.0-alpha-0
38 changes: 22 additions & 16 deletions grpc/java/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,42 @@
# file, You can obtain one at https://mozilla.org/MPL/2.0/.

package(default_visibility = ["//visibility:public"])

load("@typedb_dependencies//tool/checkstyle:rules.bzl", "checkstyle_test")
load("@rules_proto_grpc//java:defs.bzl", "java_grpc_library")

java_grpc_library(
name = "typedb-protocol",
protos = [
"//proto:typedb-service",
"//proto:server-proto",
"//proto:user-proto",
"//proto:database-proto",
"//proto:migration-proto",
"//proto:error-proto",
"//proto:answer-proto",
"//proto:concept-proto",
"//proto:connection-proto",
"//proto:authentication-proto",
"//proto:options-proto",
"//proto:query-proto",
"//proto:transaction-proto",
"//proto:analyze-proto",
"//proto:analyzed-conjunction-proto",
"//proto:version-proto",
"//proto/raft_service:raft-service",
"//proto/raft_service:replication-proto",
"//proto/raft_service:request-proto",
"//proto/typedb_clustering_service:typedb-clustering-proto",
"//proto/typedb_clustering_service:typedb-clustering-service",
"//proto/typedb_service:analyze-proto",
"//proto/typedb_service:analyzed-conjunction-proto",
"//proto/typedb_service:answer-proto",
"//proto/typedb_service:authentication-proto",
"//proto/typedb_service:concept-proto",
"//proto/typedb_service:connection-proto",
"//proto/typedb_service:database-proto",
"//proto/typedb_service:error-proto",
"//proto/typedb_service:migration-proto",
"//proto/typedb_service:options-proto",
"//proto/typedb_service:query-proto",
"//proto/typedb_service:server-proto",
"//proto/typedb_service:transaction-proto",
"//proto/typedb_service:typedb-service",
"//proto/typedb_service:user-proto",
],
# TypeDB Core bundles JARs by maven coordinate, we can remove this when Core is rewritten in Rust
tags = ["maven_coordinates=com.typedb:typedb-protocol:{pom_version}"],
)

checkstyle_test(
name = "checkstyle",
size = "small",
include = glob(["*"]),
license_type = "mpl-header",
size = "small",
)
66 changes: 39 additions & 27 deletions grpc/nodejs/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# file, You can obtain one at https://mozilla.org/MPL/2.0/.

package(default_visibility = ["//visibility:public"])

load("@typedb_dependencies//tool/checkstyle:rules.bzl", "checkstyle_test")
load("@typedb_bazel_distribution//npm:rules.bzl", "assemble_npm", "deploy_npm")
load("@typedb_dependencies//distribution:deployment.bzl", "deployment")
Expand All @@ -14,7 +15,10 @@ load("//grpc/nodejs:rules.bzl", "ts_grpc_compile")

npm_link_all_packages(name = "node_modules")

exports_files(["package.json", "pnpm-lock.yaml"])
exports_files([
"package.json",
"pnpm-lock.yaml",
])

load("@typedb_protocol_npm//grpc/nodejs:protoc-gen-ts/package_json.bzl", protoc_gen_ts_bin = "bin")

Expand All @@ -25,28 +29,35 @@ protoc_gen_ts_bin.protoc_gen_ts_binary(
ts_grpc_compile(
name = "typedb-protocol-src",
deps = [
"//proto:typedb-service",
"//proto:server-proto",
"//proto:user-proto",
"//proto:database-proto",
"//proto:migration-proto",
"//proto:error-proto",
"//proto:answer-proto",
"//proto:concept-proto",
"//proto:connection-proto",
"//proto:authentication-proto",
"//proto:options-proto",
"//proto:query-proto",
"//proto:transaction-proto",
"//proto:analyze-proto",
"//proto:analyzed-conjunction-proto",
"//proto:version-proto",
]
"//proto/raft_service:raft-service",
"//proto/raft_service:replication-proto",
"//proto/raft_service:request-proto",
"//proto/typedb_clustering_service:typedb-clustering-proto",
"//proto/typedb_clustering_service:typedb-clustering-service",
"//proto/typedb_service:analyze-proto",
"//proto/typedb_service:analyzed-conjunction-proto",
"//proto/typedb_service:answer-proto",
"//proto/typedb_service:authentication-proto",
"//proto/typedb_service:concept-proto",
"//proto/typedb_service:connection-proto",
"//proto/typedb_service:database-proto",
"//proto/typedb_service:error-proto",
"//proto/typedb_service:migration-proto",
"//proto/typedb_service:options-proto",
"//proto/typedb_service:query-proto",
"//proto/typedb_service:server-proto",
"//proto/typedb_service:transaction-proto",
"//proto/typedb_service:typedb-service",
"//proto/typedb_service:user-proto",
],
)

ts_project(
name = "typedb-protocol",
srcs = [":typedb-protocol-src"],
declaration = True,
transpiler = "tsc",
tsconfig = {
"compilerOptions": {
"target": "es2019",
Expand All @@ -56,26 +67,27 @@ ts_project(
},
"include": [
"proto",
]
],
},
declaration = True,
visibility = ["//visibility:public"],
deps = [
":node_modules/@grpc/grpc-js",
":node_modules/google-protobuf",
":node_modules/@types/google-protobuf",
":node_modules/@types/node",
":node_modules/google-protobuf",
":node_modules/typescript",
],
transpiler = "tsc",
visibility = ["//visibility:public"],
)

npm_package(
name = "typedb-protocol-package",
srcs = [":typedb-protocol", "package.json"],
srcs = [
"package.json",
":typedb-protocol",
],
include_external_repositories = ["typedb_protocol"],
include_runfiles = False,
package = "typedb-protocol",
include_external_repositories = ["typedb_protocol"],
visibility = ["//visibility:public"],
)

Expand All @@ -86,18 +98,18 @@ assemble_npm(

deploy_npm(
name = "deploy-npm",
target = ":assemble-npm",
snapshot = deployment["npm"]["snapshot"],
release = deployment["npm"]["release"],
snapshot = deployment["npm"]["snapshot"],
target = ":assemble-npm",
)

checkstyle_test(
name = "checkstyle",
size = "small",
include = glob(["*"]),
exclude = [
"package.json",
"pnpm-lock.yaml",
],
license_type = "mpl-header",
size = "small",
)
59 changes: 32 additions & 27 deletions grpc/rust/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -10,64 +10,69 @@ load("@typedb_dependencies//builder/proto_grpc/rust:compile.bzl", "rust_tonic_co

rust_tonic_compile(
name = "typedb_protocol_src",
packages = ["typedb.protocol"],
srcs = [
"//proto:typedb-service",
"//proto:server-proto",
"//proto:user-proto",
"//proto:database-proto",
"//proto:migration-proto",
"//proto:error-proto",
"//proto:answer-proto",
"//proto:concept-proto",
"//proto:connection-proto",
"//proto:authentication-proto",
"//proto:options-proto",
"//proto:query-proto",
"//proto:transaction-proto",
"//proto:analyze-proto",
"//proto:analyzed-conjunction-proto",
"//proto:version-proto",
]
"//proto/raft_service:raft-service",
"//proto/raft_service:replication-proto",
"//proto/raft_service:request-proto",
"//proto/typedb_clustering_service:typedb-clustering-proto",
"//proto/typedb_clustering_service:typedb-clustering-service",
"//proto/typedb_service:analyze-proto",
"//proto/typedb_service:analyzed-conjunction-proto",
"//proto/typedb_service:answer-proto",
"//proto/typedb_service:authentication-proto",
"//proto/typedb_service:concept-proto",
"//proto/typedb_service:connection-proto",
"//proto/typedb_service:database-proto",
"//proto/typedb_service:error-proto",
"//proto/typedb_service:migration-proto",
"//proto/typedb_service:options-proto",
"//proto/typedb_service:query-proto",
"//proto/typedb_service:server-proto",
"//proto/typedb_service:transaction-proto",
"//proto/typedb_service:typedb-service",
"//proto/typedb_service:user-proto",
],
packages = ["typedb.protocol"],
)

rust_library(
name = "typedb_protocol",
crate_root = ":typedb_protocol_src",
srcs = [
":typedb_protocol_src",
],
deps = [
"@crates//:tonic",
"@crates//:prost",
],
crate_root = ":typedb_protocol_src",
tags = [
"crate-name=typedb-protocol",
],
visibility = ["//visibility:public"],
deps = [
"@crates//:prost",
"@crates//:tonic",
],
)

assemble_crate(
name = "assemble_crate",
target = ":typedb_protocol",
description = "TypeDB Protocol",
homepage = "https://github.com/typedb/typedb-protocol",
readme_file = "//:README.md",
license = "MPL-2.0",
license_file = "//:LICENSE",
readme_file = "//:README.md",
repository = "https://github.com/typedb/typedb-protocol",
target = ":typedb_protocol",
)

deploy_crate(
name = "deploy_crate",
target = ":assemble_crate",
release = deployment["crate"]["release"],
snapshot = deployment["crate"]["snapshot"],
release = deployment["crate"]["release"]
target = ":assemble_crate",
)

checkstyle_test(
name = "checkstyle",
size = "small",
include = glob(["*"]),
license_type = "mpl-header",
size = "small",
)
Loading