Proto commits in dgraph-io/dgraph4j

These 24 commits are when the Protocol Buffers files have changed:

Commit:b538569
Author:Michael Welles
Committer:GitHub

feat: v25 upgrade (#284) ## Summary Upgrades dgraph4j from v24.2.0 to v25.0.0, bringing full parity with the Dgraph v25 API. ### New APIs - **RunDQL** — run DQL queries and mutations directly without managing transactions - **ID Allocation** — `allocateUIDs()`, `allocateTimestamps()`, `allocateNamespaces()` - **Namespace Management** — `createNamespace()`, `dropNamespace()`, `listNamespaces()` - **Convenience Methods** — `dropAll()`, `dropData()`, `dropPredicate()`, `dropType()`, `setSchema()` All methods available on both `DgraphAsyncClient` (returning `CompletableFuture<T>`) and `DgraphClient` (sync wrapper). ### Typed Exception Hierarchy All exceptions now extend `DgraphException` (which extends `StatusRuntimeException`), with `isRetryable()` on every subclass. Existing `catch (StatusRuntimeException e)` blocks continue to work. ``` DgraphException (extends StatusRuntimeException) ├── AlphaException [retryable] — server reachable but temporarily unable to serve │ ├── AlphaNotReadyException — startup, indexing, Raft init │ ├── AlphaShutdownException — draining mode, try a different node │ └── AlphaOverloadedException — too many pending requests ├── ConnectionException [retryable] — network-level, server unreachable ├── DeadlineExceededException [retryable] — operation timed out ├── TxnException │ ├── TxnConflictException [retryable] — transaction conflict │ ├── TxnFinishedException — transaction already committed/discarded │ └── TxnReadOnlyException — mutation on read-only transaction ├── ResourceExhaustedException — e.g., gRPC message size limit ├── QueryException — invalid query/mutation syntax ├── DisallowedOperationException — server config blocks the operation └── AuthException — authentication or authorization failure ``` `Exceptions` utility class centralizes translation from gRPC status codes to typed exceptions. `ExceptionUtil` retained as deprecated alias for backward compatibility. ### Automatic Retry `withRetry()` on both `DgraphClient` and `DgraphAsyncClient` provides managed transaction retry with exponential backoff: ```java Response resp = client.withRetry(txn -> { txn.mutate(mutation); txn.commit(); return txn.query(query); }); ``` Configurable via `RetryPolicy` with support for read-only and best-effort transactions: ```java client.withRetry(RetryPolicy.bestEffort(), txn -> txn.query(query)); client.withRetry(RetryPolicy.builder() .maxRetries(10) .baseDelay(Duration.ofMillis(200)) .build(), txn -> { ... }); ``` Async variant uses non-blocking backoff via `CompletableFuture.delayedExecutor`. ### Internal Refactoring - **`CompletableFutures` utility class** — extracted `runWithRetries` (JWT-refresh retry) and `attemptAsync` (managed transaction retry with backoff) from `DgraphAsyncClient` into a stateless static utility class, keeping the async client focused on the Dgraph API surface - Updated CODEOWNERS from `@rarvikar` to `@mlwelles` ### Other Changes - Updated proto definitions to Dgraph v25 (8 new RPCs) - Updated copyright from Hypermode Inc. to Istari Digital, Inc. - Updated GitHub org references from `hypermodeinc` to `dgraph-io` - Deprecated `clientStubFromSlashEndpoint` / `clientStubFromCloudEndpoint` (now throw `UnsupportedOperationException` with migration guidance) - Fixed `isJwtExpired()` to handle `UNKNOWN` status code - Fixed 5 broken `docs.dgraph.io` links to match new site structure - Updated README with new API documentation sections - Updated CHANGELOG, samples, and CI workflows ### Deprecated - `clientStubFromSlashEndpoint()` — throws `UnsupportedOperationException`, use `clientStub()` instead - `clientStubFromCloudEndpoint()` — throws `UnsupportedOperationException`, use `clientStub()` instead - `ExceptionUtil` — use `Exceptions` instead ### Removed - Cloud-related documentation section from README ## Test plan - [x] Integration tests pass against a 3-alpha + 1-zero Dgraph cluster with ACL enabled - [x] 3 new unit test classes: `ExceptionHierarchyTest`, `ExceptionMappingTest`, `RetryPolicyTest` - [x] All pre-existing tests continue to pass - [x] `./gradlew clean generateProto compileJava` succeeds - [x] Trunk linter passes - [x] `testDropType` fixed — added `dropAll()` for clean schema state before type creation --- Closes #283

Commit:e1c6511
Author:Matthew McNeely

Commit new proto file

Commit:ecc2fbf
Author:Ryan Fox-Tyler
Committer:GitHub

chore: normalize copyrights (#265) **Description** Normalize copyrights across repo. **Checklist** - [X] Code compiles correctly and linting passes locally

The documentation is generated from this commit.

Commit:881f14c
Author:Aman Mangal
Committer:GitHub

add support for big float and fix tests (#246)

Commit:eed1fcd
Author:ShivajiKharse
Committer:GitHub

add vector support (#220)

Commit:1aeb49d
Author:Abhimanyu Singh Gaur
Committer:GitHub

chore: Sync dgo + deprecate Slash endpoint method (GRAPHQL-1141) (#167) This PR does following things: * Make transaction context more robust (Ref: https://github.com/dgraph-io/dgo/pull/146) * Deprecate `DgraphClient.clientStubfromSlashEndpoint` (Ref: https://discuss.dgraph.io/t/regarding-slash-cloud-dgraph-endpoints-in-the-clients/13492) * Fix a test to work with dgraph v21.03 * Fix typo in CHANGELOG.md

Commit:72ce458
Author:Abhimanyu Singh Gaur
Committer:GitHub

feat: add loginIntoNamespace API on clients (GRAPHQL-1058) (#166) This PR does the following things: * sync `api.proto` with `dgo` * add `loginIntoNamespace` api on `DgraphClient` and `DgraphAsyncClient` * fix a documentation issue in README.md and also add docs about this feature.

Commit:f858602
Author:Abhimanyu Singh Gaur
Committer:GitHub

feat: Add support for RDF response (DGRAPH-2659) (#160) This PR updates `api.proto` to reflect the latest gRPC API. In addition, it also adds client methods to query RDF in a transaction.

Commit:1324663
Author:Aman Mangal
Committer:Aman Mangal

Add docs for background indexing, update api.proto

Commit:d7ba735
Author:Aman Mangal
Committer:GitHub

Sync proto files with dgo (#121)

Commit:589cb9b
Author:Aman Mangal
Committer:GitHub

Update grpc API to support Multiple Mutations in future (#101)

Commit:1e35cb2
Author:Animesh Chandra Pathak
Committer:GitHub

Add support for upsert block (#88)

Commit:577260c
Author:Lucas Wang

Addeng best effort flag, shorten ACL test timing to match changes in dgraph

Commit:b4bf3bf
Author:Lucas Wang
Committer:GitHub

added logic for ACL and upgraded the code to be usable with java 11 (#80)

Commit:cab0eed
Author:Lucas Wang
Committer:Daniel Mai

Readonly support, separating integration tests and unit tests etc (#71) * Added a gradle task to refresh the api.proto file from dgo, separated the integration tests from the unit tests, switching to use the port 7180 for testing * Added support for read only transactions * Rewording the doc for setting up dgraph alpha server * Added one more test * Changing the copyright notice to 2018 only

Commit:25bc26a
Author:Deepak Jois

Releasing dgraph4j 1.5.0

Commit:6c3d3c8
Author:Deepak Jois
Committer:Deepak Jois

Update api.proto

Commit:382c8e1
Author:Janardhan Reddy

update

Commit:a274803
Author:Janardhan Reddy
Committer:Janardhan Reddy

add option to choose client/server side linerizability

Commit:a5293c2
Author:Deepak Jois
Committer:Deepak Jois

Incorporate protobuf changes in Dgraph v1.2.0

Commit:7978fed
Author:Deepak Jois

Update to latest api.proto

Commit:7aa77ad
Author:Deepak Jois

Update to latest protocol buffers

Commit:d614c75
Author:Deepak Jois
Committer:Deepak Jois

Update task.proto

Commit:5b458ec
Author:Deepak Jois

Working client for Dgraph w/ transactions