Skip to content

Commit a0b0f10

Browse files
committed
Release VGI Java 0.45.0 with wire 3.0 and published RPC dependency
1 parent 0789d65 commit a0b0f10

6 files changed

Lines changed: 18 additions & 20 deletions

File tree

‎.github/workflows/integration.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ concurrency:
2020

2121
env:
2222
# Match the test suite to the native runner built from this exact revision.
23-
VGI_REF: fc3e08f7e7fd800165a0edc00313de46fed15329
23+
VGI_REF: a83ff7e8cd46aa840a10e78fe9b31603931824c2
24+
VGI_NATIVE_RUNNER_BRANCH: release/vgi-v3-ci-20261028
2425
# Disable local sibling substitution: validate the released Maven dependency.
2526
VGI_RPC_JAVA_DIR: /nonexistent
2627

‎CLAUDE.md‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,18 +188,18 @@ change to `~/Development/vgi-rpc-java/` doesn't show up, run
188188
## Releasing (Maven Central)
189189

190190
Published: **`farm.query:vgi`** (this repo) and **`farm.query:vgirpc`** /
191-
`vgirpc-oauth` (the sibling). Latest as of 2026-10-23: **vgi 0.44.0 → vgirpc
192-
0.33.1**. To cut a release: bump `version` in `build.gradle.kts`, push, then
191+
`vgirpc-oauth` (the sibling). The VGI 3 release uses **vgi 0.45.0 → vgirpc
192+
0.33.2**. To cut a release: bump `version` in `build.gradle.kts`, push, then
193193
create a GitHub Release whose tag is the version (`v0.2.0` for `0.2.0`). The
194194
`release.yml` workflow (trigger: `release: published`) verifies tag == version,
195195
runs tests, and publishes. Both repos now set
196196
`publishToMavenCentral(automaticRelease = true)`, so a release goes **live on
197197
Maven Central with no manual Portal click** once it passes validation (changed
198198
2026-06-13 — was `false`/click-gated through vgi 0.1.0 + vgirpc 0.10.1).
199199

200-
**VGI 3 preparation (2026-10-27):** this branch now pins the prepared RPC
201-
`0.33.2` candidate for scalar dictionary-field annotations. It is not published
202-
yet. Keep the dependency pin unmerged until RPC 0.33.2 is on Maven Central;
200+
**VGI 3 release (2026-10-28):** RPC `0.33.2` supplies the scalar dictionary-field
201+
annotations required by the successor catalog records. Release qualification must
202+
resolve the published Maven artifacts with the composite source override disabled;
203203
qualification against an isolated local Maven artifact is not publication proof.
204204

205205
**The cross-repo ordering trap.** The `release.yml` build resolves

‎README.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ VGI lets [Haybarn](https://github.com/Query-farm-haybarn/haybarn) — Query Farm
1919

2020
Wire-compatible with the [Python reference implementation](https://github.com/Query-farm/vgi-python) and the [Go port](https://github.com/Query-farm/vgi-go): all three serve the same integration suite against the same C++ extension.
2121

22-
The prepared protocol uses VGI wire 3.0.0 under `vgi.v3` and requires a native VGI client speaking wire 3.0.x. Upgrade clients and workers together; published `vgi.v2` clients are incompatible. See [catalog metadata and publication](docs/catalog_publication.md).
22+
Version 0.45.0 uses VGI wire 3.0.0 under `vgi.v3` and requires a native VGI client speaking wire 3.0.x. Upgrade clients and workers together; `vgi.v2` clients are incompatible. See [catalog metadata and publication](docs/catalog_publication.md).
2323

2424
## What you can serve
2525

@@ -45,7 +45,7 @@ Artifacts are published to Maven Central under the `farm.query` group.
4545

4646
```kotlin
4747
dependencies {
48-
implementation("farm.query:vgi:0.44.0")
48+
implementation("farm.query:vgi:0.45.0")
4949
}
5050
```
5151

@@ -55,7 +55,7 @@ dependencies {
5555
<dependency>
5656
<groupId>farm.query</groupId>
5757
<artifactId>vgi</artifactId>
58-
<version>0.44.0</version>
58+
<version>0.45.0</version>
5959
</dependency>
6060
```
6161

‎build.gradle.kts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ plugins {
88

99
allprojects {
1010
group = "farm.query"
11-
version = "0.44.0"
11+
version = "0.45.0"
1212

1313
repositories {
1414
mavenCentral()

‎docs/catalog_publication.md‎

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Catalog metadata and publication (wire 2.2)
1+
# Catalog metadata and publication (wire 3.0)
22

33
`catalog_contents` returns six nullable Arrow IPC streams: `schemas`, `tables`, `views`, `functions`, `macros`, and `indexes`. A stream can contain multiple rows and record batches spanning multiple schemas. Empty categories are null. Functions and macros retain their subtype fields. Per-schema listing RPCs keep their existing item shapes, except `SchemaInfo` no longer carries attachment bytes; real attach request/result and function state remain intact.
44

@@ -17,12 +17,9 @@ The manager exposes startup warming, trusted manifest import, and conditional in
1717

1818
Java: call `Worker.catalogSnapshot(policy)`. Use `policy.manager.warm`, `importPublication`, and `invalidate`. This implementation requires `farm.query:vgirpc:0.33.2`, including scalar dictionary annotations, its collection row codec and idempotent IPC stream termination.
1919

20-
The prepared protocol requires native clients and workers on wire 3.0.x under `vgi.v3`; published `vgi.v2` peers are incompatible. CI and release builds must resolve RPC 0.33.2 from Maven Central.
20+
Version 0.45.0 requires native clients and workers on wire 3.0.x under `vgi.v3`; `vgi.v2` peers are incompatible. CI and release builds resolve RPC 0.33.2 from Maven Central.
2121

22-
**Release preparation (October 27):** RPC 0.33.2 is a prepared candidate and has
23-
not been published. This branch pins that candidate so it receives the scalar
24-
`DICT_INT16_UTF8` record fix required by macro and constraint metadata. Publish
25-
RPC 0.33.2 before merging this dependency pin or releasing the SDK. Qualification
26-
uses the packaged candidate in an isolated Maven repository with the composite
27-
source override disabled; it does not prove Maven Central availability. No local
28-
repository fallback is part of the SDK build.
22+
RPC 0.33.2 includes the scalar `DICT_INT16_UTF8` record fix required by macro and
23+
constraint metadata. Release qualification disables the composite source override
24+
and resolves that published dependency from Maven Central. No local repository
25+
fallback is part of the SDK build.

‎vgi/build.gradle.kts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55

66
dependencies {
77
// farm.query is the published group (see ../build.gradle.kts allprojects).
8-
// Prepared dependency; publish RPC 0.33.2 before merging this pin (see docs/catalog_publication.md).
8+
// RPC 0.33.2 preserves declared scalar dictionary fields in catalog records.
99
api("farm.query:vgirpc:0.33.2")
1010
implementation("org.slf4j:slf4j-api:2.0.17")
1111
// Cross-process aggregate state store. DuckDB spawns multiple worker

0 commit comments

Comments
 (0)