Repository navigation
v0.40.0
catalog_contents: VGI protocol 2.1.0
The VGI protocol moves from 2.0.0 to 2.1.0. Workers built on this release speak the protocol the current vgi DuckDB extension uses; releases on 2.0.0 are refused with a protocol_version mismatch.
catalog_contentsRPC. A worker serves its whole catalog (schemas and their tables, functions and other items) in one call, and advertises it with a newsupports_catalog_contentscolumn on the attach result. Rows are typed struct rows (SchemaContents, nested inCatalogContentsResponse).- ETag revalidation.
catalog_contentstakesif_none_match; a catalog that opts in (catalog_contents_etag = "content-hash", or its own etag) answersnot_modifiedinstead of resending the catalog. - Worker cache. Version-frozen, attach-independent catalogs (
ReadOnlyCatalogInterface) are built once per catalog version and served pre-serialized, so a warm call skips the Arrow encode. - Deterministic encoding. Catalog items encode their map columns with keys in sorted order, so equal catalogs produce identical bytes (and ETags).
- Codegen for the other SDKs. New generators emit the protocol records for vgi-go (
go_types), vgi-rust (rust_types), vgi-java (java_types) and vgi-typescript (ts_types, typed builders and codecs), alongside the existing C# targets. - Fixture workers for catalog_contents (probe, broken, legacy and memory catalogs);
contents_*fixtures can opt out of unattached routing.
Also
serve: one server builder for every transport;Worker.hosted_protocolslets a worker host extra protocols;conformance.Secondary.v1in the fixture worker.OutputCollectoris re-exported from the function modules (typing fix).- The filter engine is pinned to the
vgi.duckdb.standard.v1oracle: theduckdb/haybarnextras pin==1.5.5/==1.5.5rc1. Without haybarn, duckdb 1.5.6 made every pushed-down filter fail to bind. - Dependency updates, including pyjwt 2.15.1 and urllib3 2.8.0 (security).