June 2026
28 active days · 994 commits · 101 PRs · 17 issues · 49 replies
Effort
avg 7Commits
994Monthly Recap
June 2026 was an extraordinary month of expansion for Rusty's VGI (Vector Gateway Interface) ecosystem, featuring the launch of 30+ specialized DuckDB workers, three coordinated SDK releases, and systematic quality infrastructure buildout. With 994 commits across 28 active days, the month saw the evolution from core RPC transport layers to a production-ready extension portfolio spanning security analysis, document processing, machine learning, and geospatial operations.
- Launched a comprehensive worker portfolio including
vgi-yara,vgi-tika,vgi-chart,vgi-secretscan,vgi-lightgbm,vgi-fixedformat,vgi-image,vgi-netflow, and 20+ others—each with full documentation, multi-transport testing, and signed binary releases. - Built vgi-lint-check from scratch as an LLM-powered metadata quality framework with 15+ lint rules, simulate mode for agent-suitability testing, and coverage-driven function discovery—achieving lint-clean status across the entire portfolio.
- Shipped cross-platform RPC improvements including Windows shared-memory support, TCP socket transport, HTTP state serialization, and intelligent batch-size gating—with coordinated releases across Java (0.9.0), Rust (0.10.0), Go (0.8.0), and Python (0.9.0) SDKs.
- Conducted a systematic DuckDB community extension audit for WebAssembly compatibility, opening 25+ issues identifying architectural gaps in filesystem abstraction, HTTP handling, and dependency linking—plus 10 extension update PRs.
- Advanced the Haybarn engine ecosystem with PostgreSQL wire-protocol compliance fixes for pg_catalog, cross-platform CI hardening, rebranding from DuckDB to Haybarn across Rust crates, and resolution of critical WASM build issues.
Daily Log
A major coordinated release day across the vgi ecosystem, with 62 commits touching 30 repositories. Rusty orchestrated version bumps and feature rollouts while addressing critical transport improvements in the RPC layer.
Core Version Bumps
Most repositories received updates to vgi 0.10.0 or vgi-python 0.9.0, including vgi-bgp, vgi-mask, vgi-image, vgi-ioc, vgi-compress, vgi-yara, vgi-netflow, vgi-tiktoken, vgi-iso20022, vgi-cbor, vgi-mft, vgi-code, vgi-x12, and vgi-fixedformat. Go-based extensions like vgi-elasticsearch and vgi-secretscan bumped the vgi-go dependency to v0.8.0. Python-heavy modules including vgi-conform, vgi-sigma, vgi-causal, vgi-xslt, vgi-scholar, vgi-docgen, vgi-libpostal, and vgi-statsmodels all migrated to vgi-python 0.9.0.
RPC Layer Enhancements
vgi-rpc-rust received significant work focused on shared-memory transport optimization. Rusty added Windows shared-memory transport support, raised the POSIX shm size-gate default to 128 KiB, and implemented intelligent batch-size gating to route small batches over pipes instead of shared memory—reducing overhead for low-throughput operations. Code was formatted with rustfmt and the crate released as version 0.8.0. Parallel improvements landed in vgi-rpc-go with identical Windows shm support, size-gate tuning, and batch gating logic, plus staticcheck silencing for Windows-only members.
Core vgi-rust Evolution
vgi-rust underwent version bumps (0.9.5 → 0.10.0) and feature development around secret credential forwarding in COPY operations. The secret-bind hook now allows CREATE SECRET credentials to be forwarded to COPY TO/FROM workers—a critical capability for secure data pipeline operations. Integration with the new vgi-rpc 0.8.0 shared-memory features was attempted, reverted to address a known table-in-out streaming bug, then carefully re-enabled with version tracking in the doc-example harness.
Linting and Documentation
vgi-lint-check gained substantial new features: first-class category support, LLM-in-lint scoring, and quality escalations—expanding the linting system's capability for structured quality assessment. Separately, vgi-mft received enriched lint metadata including expanded documentation, field descriptions, and usage examples.
Private repository activity (16 commits across 6 repos) proceeded in parallel with the public release cycle.
A marathon day across the VGI ecosystem, with 103 commits touching 28 repositories. The work spanned catalog enrichment, SDK upgrades, new worker implementations, and compatibility fixes.
Catalog and SDK Updates
Rusty systematically enriched SEO metadata and bumped the VGI SDK across the portfolio: vgi-chart, vgi-jolt, vgi-elasticsearch, vgi-mask, vgi-tika, vgi-image, vgi-conform, vgi-ioc, vgi-yara, vgi-sigma, vgi-secretscan, vgi-causal, vgi-tiktoken, vgi-xslt, vgi-scholar, vgi-docgen, vgi-libpostal, vgi-statsmodels, vgi-code, and vgi-audio all received catalog doc enrichment and SDK upgrades. Many of these also received official library logos added to their catalog documentation.
VGI SDK and Core Libraries
The vgi-java library was bumped from version 0.8.0 to 0.9.0, while vgi-rust advanced from 0.9.4 to 0.9.5. Several repositories needed compatibility adjustments for the 0.9.5 release: vgi-mask integrated the new copy_from field in ProcessParams and fixed E2E tests; vgi-tika updated its test driver for the new TableInitParams component; vgi-tiktoken and vgi-code added the copy_from field to ProcessParams initializers; and vgi-yara received the same field addition.
New Worker Implementations
Three new VGI workers were initialized with full vgi-lint metadata enrichment:
vgi-bgp: An MRT routing-dump decoder for BGP datavgi-netflow: NetFlow v5/v9, IPFIX, and sFlow v5 decodervgi-cbor: CBOR serialization supportvgi-x12: X12 / EDIFACT EDI parser for DuckDB over Arrow
Each received comprehensive documentation, descriptions, and examples in their vgi-lint metadata.
Advanced Features in vgi-fixedformat
The vgi-fixedformat worker received significant enhancements: nested JSON specs, describe_fixed introspection, and OCCURS DEPENDING ON support. Additional changes included transparent gzip/zstd decompression on the read path, binary release workflow setup, and v0.5.0 release preparation with multi-record, date/time, edited PICs, projection, and SYNC functionality. Test assertions were relaxed and documentation tags added to copy functions.
Image Processing and Other Specialized Workers
vgi-image saw a test fix allowing phash_distance to accept in-range 64-bit literals alongside the copy_from field addition. vgi-iso20022 and vgi-cbor received vgi-lint metadata enrichment. Minor style fixes were applied across several workers (vgi-sigma, vgi-causal) for code formatting compliance.
Private Activity
Additional work occurred across 3 private repositories with 8 commits.
A high-velocity day focused on release infrastructure standardization and core feature work across the VGI extension ecosystem.
Release Pipeline Consolidation
Rusty standardized the release workflows across multiple repositories by adopting shared CI templates. Java-based projects—vgi-chart, vgi-jolt, and vgi-tika—now use the centralized java-release.yml@v1 for signed jar releases. Go extensions vgi-elasticsearch and vgi-secretscan moved to go-release.yml@v1, while a broader set of Rust projects—vgi-mask, vgi-image, vgi-ioc, vgi-yara, vgi-tiktoken, and vgi-code—adopted rust-release.yml@v1 for consistent signed binary releases. This consolidation reduces maintenance overhead and ensures uniform release semantics across the portfolio.
Core Java Extension Work
In vgi-java, Rusty ported the multi_secret_demo table function to expand the secret scanning capabilities. He also fixed critical CI issues: the HTTP worker now starts in the $STAGE environment so COPY paths resolve correctly, and integration tests now resolve the latest haybarn release at runtime rather than relying on pinned versions.
Rust Extension Polish
vgi-rust received substantial attention with multiple fixes and features. The HTTP bearer token authentication logic was simplified to key solely off VGI_BEARER_TOKENS for cleaner credential handling. The multi_secret_demo table function was ported here as well, with fixes to secret field and echo metadata. CI improvements include skipping the multi_branch_join_optimizer test on Windows (due to POSIX /tmp path incompatibilities), satisfying fmt and clippy checks on copy-from/copy-to changes, tracking vgi-rpc 0.7 in the doc-examples crate, and aligning with the latest vgi main branch plus haybarn releases. The HTTP worker startup issue was also corrected in this repo.
Fixed-Width Format Export
vgi-fixedformat gained a new feature: COPY ... TO (FORMAT 'fixed.fixed_out') now writes a relation directly to a fixed-width file, expanding data export options for users working with legacy systems.
Private repositories also saw 9 commits across 3 separate projects.
Rusty focused on extending custom format support for the COPY ... TO operation across both the Java and Rust implementations of the vgi project.
Work on vgi-java centered on adding worker-side COPY ... TO custom format support, enabling distributed processing of custom output formats. Alongside the feature implementation, he added test fixtures for header_repeat and fail_on_value parameters to the example_lines_out test case, ensuring the new functionality handles edge cases properly.
Parallel effort in vgi-rust mirrored the Java work: implementing the same worker-side COPY ... TO custom format support feature and adding matching test fixtures for header_repeat and fail_on_value to maintain parity between implementations.
Additional work occurred in private repositories, with 3 commits across 2 separate projects, though details remain undisclosed.
A productive day of incremental feature work and release management across the VGI ecosystem.
vgi-java saw significant expansion with scope- and type-aware Secrets accessors, enabling table-buffering functions to request DuckDB secrets during two-phase binding. Support for union-typed table varargs was added via a new fixture, and worker-side COPY ... FROM custom format support landed to enable flexible data loading. These changes culminated in a version bump from 0.7.0 to 0.8.0.
vgi-rust received parallel updates mirroring the Java work—the same Secrets, union_varargs, and COPY FROM features were implemented in the Rust SDK. Additionally, wasm-buildable worker support was added, allowing the SDK to compile and run in WebAssembly environments. Two releases followed: 0.9.3 (which upgraded to vgi-rpc 0.7.0 and dropped a local patch) and 0.9.4 (which brought wasm buildability to the worker SDK).
vgi-rpc-rust achieved wasm compatibility through a stream-codec feature flag and process::id fallbacks for WASI environments, supporting the broader wasm initiative. This was released as 0.7.0.
vgi-lint-check underwent more substantial evolution with multiple simulation and coverage enhancements bumped to 0.48.0. Coverage tracking now counts both functions and tables, and execution-based FK and CHECK data sampling was added for constraint validation. The ReAct loop can now be driven over Claude sessions with --resume support, coverage-driven suggestions were implemented with batched execution, and a --verify-references gate was introduced. Function calling convention metadata is now surfaced in describe_function output.
vgi-fixedformat expanded the agent_test_tasks suite to achieve full function coverage (5/5) and formally declared the vgi.agent_test_tasks suite with template field naming documentation.
Significant private repository activity (17 commits across 5 repos) was also recorded alongside the public work.
A prolific day spanning 29 repositories with 66 commits, focused on linting compliance, RPC transport enhancements, and documentation standardization.
Linting and Quality Gates
Rusty drove a major wave of vgi-lint conformance across the portfolio. Version 0.37.0 lint-clean commits landed on vgi-chart, vgi-jolt, vgi-elasticsearch, vgi-mask, vgi-tika, vgi-conform, vgi-image, vgi-ioc, vgi-yara, vgi-secretscan, vgi-sigma, vgi-causal, vgi-tiktoken, vgi-xslt, vgi-scholar, vgi-docgen, vgi-libpostal, vgi-statsmodels, vgi-code, and vgi-audio. Additionally, vgi-lightgbm and vgi-fixedformat adopted the 0.38.0 lint standards with runnable examples and improved metadata quality.
Linting Infrastructure (vgi-lint-check)
Significant evolution of the linting framework itself, shipping multiple feature releases:
- VGI312/313: Per-argument description enforcement (error) and warnings when descriptions restate data types
- VGI901: Tighter failure classification—bind failures now errors, runtime/data failures warnings
- VGI908: Detection of slow executable examples
- VGI404: Warning on unknown vgi.* tag keys (likely typos)
- VGI124: Title requirement scoped to catalogs and schemas only
- Simulate mode (0.44-0.46): Agent-suitability testing via fixed analyst tasks, tool-mediated discovery, and strict result grading
- Reporting: Results grouped by rule to collapse repeated noise
- Spatial extension: Now loaded by default
Also refined fix for simulate result grading to evaluate VALUES directly, ignoring column names. Documentation updated with README refresh and new CLAUDE.md guide.
RPC Transport (Java, Rust, Go)
Raw-TCP socket transport rolled out across the RPC ecosystem. vgi-java shipped version 0.7.0 with TcpSocketTransport and per-parameter macro documentation (vgi_multiply, vgi_clamp, vgi_range_table). vgi-rpc-rust released 0.6.0 with TcpTransport, serve_tcp, and tcp_connect primitives. vgi-rust (0.9.1 → 0.9.2) added TCP worker support and standardized macros with parameter docs. vgi-rpc-go implemented RunTcp / TransportKindTcp and updated CI to source vgi-rpc from the default branch rather than PyPI.
Community and Open Source
Opened PR #2137 on duckdb/community-extensions updating adbc_scanner to latest commits. Replied to issue #5 on tributary regarding Kafka support.
Private Work
12 commits across 4 private repositories.
Effort Assessment
Massive breadth—66 commits touching linting, RPC transport, and portfolio hygiene. The linting framework alone received substantial feature work and documentation investment.
A massive day of infrastructure modernization and quality tooling across the VGI worker ecosystem. Rusty pushed 132 commits across 58 repositories, with a focus on metadata conformance, linting standards, and SDK upgrades.
vgi-lint-check saw substantial development, establishing itself as the metadata-quality linter for VGI workers. Key additions include:
- New lint rules: VGI809 (shared key-shaped columns signaling missing relationships), VGI117 (schemas exceeding 50 objects), VGI311 (parameterless table functions), VGI103 (detailed catalog/schema descriptions), and VGI907 (canonical result row-object form)
- Parallel execution support and keywords-as-array handling
- LLM-as-judge documentation quality review via the new
vgi reviewcommand - Reusable composite GitHub Action (PR #1) and floor versions at 0.26.0 and 0.23.0 (PRs #8, #7, #6)
- Catalog-only metadata like
source_url, field renames (description_llm/_md→doc_llm/doc_md,columns_md→result_columns_md), and the newvgi.category_tagsandvgi.doc_linksfields - Executable examples with self-describing hints and per-query timeouts
vgi-java reached 0.5.0, shipping worker-settable per-schema and per-function tags, per-argument documentation as vgi_doc field metadata, and sensible defaults (batch_size to 2048). Examples now include category/type tags and improved argument documentation.
Multiple workers achieved vgi-lint-clean status at strict profiles across versions. vgi-chart and vgi-jolt bumped to SDK 0.5.0 and wired CI lint gates. vgi-lightgbm reached vgi-lint 0.32 conformance, added multi-arch signed image publishing via shared workflow, and switched CI lint checks to execute via venv python. vgi-mask bumped SDK to 0.9.0 and received SEO-optimized README changes. vgi-tika and vgi-elasticsearch similarly reached conformance; the latter made examples backend-independent and bumped vgi-go to v0.3.0.
Active development also touched vgi-conform, vgi-image, vgi-ioc, vgi-yara, vgi-secretscan, vgi-sigma, vgi-causal, vgi-tiktoken, vgi-xslt, vgi-scholar, vgi-docgen, vgi-libpostal, vgi-rust, vgi-statsmodels, vgi-code, vgi-audio, vgi-pdf, vgi-vision, vgi-recommender, vgi-survival, vgi-google, vgi-news, vgi-match, vgi-sympy, vgi-tantivy, vgi-threatintel, vgi-wikipedia, vgi-evtx, vgi-feed, vgi-proj, vgi-geocode, vgi-pii, vgi-quant, vgi-translate, vgi-media, vgi-explain, vgi-fhir, vgi-pe, vgi-embed, vgi-charset, vgi-search, vgi-x509, vgi-color, vgi-rerank, vgi-nlp, vgi-odata, vgi-cve, vgi-units, and a5, with a comment on a community repository. Private repository work also included 4 commits.
A major effort across the VGI ecosystem today, with 206 commits touching 34 repositories. Much of the work focused on standardizing documentation, CI configuration, and dependency updates across the vgi-* extension suite.
Documentation & Branding Standardization
Rusty rolled out consistent documentation improvements across multiple repositories. This included adding VGI logos (referenced via absolute public URLs for reliability), normalizing copyright headers, and simplifying authorship lines. README headers were SEO-optimized with capability headlines and repository-name subtitles across vgi-chart, vgi-jolt, vgi-elasticsearch, vgi-mask, and vgi-tika. The work ensures a cohesive presentation across the Query.Farm extension portfolio.
CI Infrastructure Enhancement
A significant thread involved upgrading the CI/CD matrix across multiple repos. The vgi-chart, vgi-jolt, vgi-mask, and vgi-tika repositories received multi-transport SQL end-to-end test matrices covering subprocess, HTTP, and Unix socket transports. Integration with standalone haybarn and signed VGI community extensions was added to these workflows, improving test coverage and reliability.
vgi-lightgbm: New Machine Learning Worker
The new vgi-lightgbm extension received comprehensive development work. Rusty implemented permutation importance and partial dependence analysis (with ranking and multiclass support), along with a typed discriminated-union grid search and new randomized search functionality. The extension includes decoded string/categorical label handling, multiple predict output modes, and unified schemas. Documentation was refreshed in CLAUDE.md to cover the ergonomics overhaul, and the package was locked to vgi-python ≥0.8.3.
vgi-elasticsearch & vgi-tika Debugged
vgi-elasticsearch received its initial setup with branding, documentation, and CI configuration. For vgi-tika, a subtle HTTP transport issue with the MAP column in table functions was traced and fixed — the state serialization for extract_all was made HTTP-compatible, enabling the full test suite to run across all three transports.
Dependency & Maintenance Updates
vgi-mask and vgi-image had dependency bumps (vgi 0.5→0.6, vgi-rpc 0.2→0.4, MSRV 1.86→1.90). vgi-mask also gated on rustdoc warnings (-D warnings), aligned with vgi-rust standards, and applied a clippy fix using is_multiple_of in the Luhn test. Dependabot PRs for GitHub Actions were merged across multiple repos.
Private Work
4 commits were made across 2 private repositories.
Daily Activity Summary — June 22, 2026
VGI Worker Ecosystem Expansion
Rusty launched a major wave of new VGI (Vectorized General Integration) workers — modular DuckDB extensions covering specialized domains. Initial commits went in across 15 new worker repositories:
vgi-chart: JFreeChart integration for PNG chart generationvgi-jolt: JSON-to-JSON transformation via Joltvgi-image: Image processing with Arrow boundary testing and SQL E2E suitevgi-tika: Apache Tika document extraction (PDF, Office, archives) with self-contained Maven build and hardened E2E SQL testsvgi-conform: Structured field validation and normalizationvgi-ioc: Indicators of Compromise extraction with defang/refang utilitiesvgi-yara: YARA-X malware scanning integrationvgi-sigma: Sigma detection-rule evaluationvgi-secretscan: Secrets detection workervgi-causal: Causal treatment-effect estimationvgi-tiktoken: Token counting for LLM workflowsvgi-xslt: XSLT 3.0 / XQuery 3.1 / XPath 3.1 transformationsvgi-docgen: Documentation generationvgi-libpostal: libpostal address parsing and normalizationvgi-statsmodels: Regression and inference via statsmodelsvgi-code: tree-sitter source code structure extractionvgi-audio: librosa audio feature extraction
Notable highlights: vgi-tika received extensive hardening with E2E SQL testing, real PDF page-by-page extraction, error case coverage, and CI automation. vgi-image similarly got a full SQL E2E suite, Arrow boundary tests, and Makefile-driven builds. Several workers received CLAUDE.md contributor/agent documentation.
Core VGI Runtime Fixes
In vgi-rust, two precision fixes landed: argument handling now correctly accepts Int8-encoded BOOLEAN values in named_bool/const_bool contexts, and overload resolution now scores constant arguments by dense ordinal rather than declared position—addressing subtle dispatch bugs in the VGI function call chain.
Python RPC Dependency Hardening
Rusty opened three PRs on vgi-rpc-python to resolve a cascading dependency crisis:
PR #22 migrates test mocking from the unmaintained aioresponses 0.7.8 to the maintained aiointercept library, unblocking an upgrade to aiohttp ≥3.14.1 (which fixes 11 Dependabot security alerts including CVE-2026-34993, -47265, and the -502xx/-542xx series). The old aioresponses library broke on aiohttp 3.14's new required ClientResponse.stream_writer keyword argument.
PR #21 isolates pydoclint to the end of the dependency graph to prevent ImportError collisions with docstring-parser-fork, which surfaces when cryptography or other transitive deps force docstring-parser version conflicts.
PR #20 (fallback strategy) keeps the aiohttp <3.14 cap in place while ignoring 3.14+ in Dependabot, providing a short-term stability lane if PR #22 encounters integration issues.
He also triaged incoming Dependabot PRs (#14, #17, #18, #19) and provided decision context on dependency paths.
Community & Private Work
Rusty replied to a pull request on haybarn-community-extensions regarding rawduck extension integration, contributing to DuckDB ecosystem stewardship. Private repositories received 13 commits across 3 separate projects.
Rusty focused on maintenance and release work across the VGI library ecosystem today.
Over in vgi-java, he synced upstream changes related to enum validation and narrow-bind batching, while also fixing an issue with order preservation in wire strings. These updates set the stage for a version bump to 0.4.0, which he released immediately after.
Meanwhile, vgi-rust received attention for its 0.5.0 release. He resolved a sanity gate issue affecting the coverage feature, ensuring the release pipeline would complete successfully. The focus here was on release quality and CI/CD reliability rather than feature additions.
A productive day across the VGI ecosystem and Haybarn CI infrastructure, with 19 commits and 3 PRs opened.
Haybarn CI Tools saw targeted fixes for nested submodule handling. PR #4 and PR #3 address issues where extensions vendor duckdb and extension-ci-tools at non-root paths. The work includes handling empty placeholder resolution in mirror steps and proper Docker path remapping, resolving build failures that occurred when running the conformance dispatch workflow against gaggle, infera, and onager.
VGI RPC C++ integration advanced with conformance testing infrastructure. New commits installed the jsonschema validation tool and configured the official vgi-rpc conformance suite to run over both pipe and HTTP transports. Additionally, the installed package config was fixed to properly declare the httplib dependency, ensuring downstream consumers can link correctly.
VGI RPC Rust received substantial updates centered around v0.3.0 release work. A new vgi-rpc-client crate was added alongside cross-language conformance testing and CI integration. The HTTP handler now isolates panics into the Arrow error envelope for safer error propagation, and HTTP-only CallContext helpers are now gated behind a feature flag. A critical wire protocol fix rejects schema messages with missing fields vectors (addressing a fuzz crash). The release commit brings all changes together under version 0.3.0.
VGI Java moved to v0.3.0 with fixture improvements. Typed probe, filtered columns echo, and secret field fixtures were ported from the reference implementation. CI dependencies were bumped to track main and test against Haybarn v1.5.4-rc1.
VGI Rust focused on protocol correctness and fixture expansion. Overload resolution was fixed to match nested column_typed arguments structurally, and wire protocol enums were corrected to use uppercase values for order, distinct, and null_handling fields. Test fixtures porting continued with query_seed, overlapping partitions, and narrow_bind cases. The pinned suite and Haybarn binary were updated to account for the new fixtures.
Haybarn Community Extensions addressed platform-specific build issues via PR #7, excluding faiss from Windows builds and duck_hunt from windows_amd64, with corresponding KNOWN_ISSUES.md entries for triage classification.
Private repo activity included 2 commits.
A productive day spanning multiple interconnected projects across the VGI ecosystem and DuckDB extensions.
haybarn-extension-ci-tools received support for extensions that vendor duckdb/ci-tools under a subdirectory, addressing a configuration challenge for downstream extension builds.
vgi-rpc-cpp saw substantial progress bringing the C++ worker up to feature parity with the Rust RPC implementation. Work included full pipe conformance validation and access logging, along with a new HTTP transport layer that enables full conformance testing over --url endpoints.
vgi-rust dominated the day's effort with a major three-phase storage migration initiative:
- Phase 1 introduced a pluggable FunctionStorage trait with a SQLite backend, allowing flexible function persistence strategies
- Phase 2 added an HTTP storage backend and standalone
vgi-storage-server, enabling distributed storage topology - Phase 3 implemented fly.io multi-instance deployment with configurable HTTP bind addresses
Beyond the storage work, the SDK received hardening improvements: cross-process store access now enforces 0o700 permissions with orphan garbage collection, and wire/store decoders were fortified against malformed input. The example-worker gained a new typed_probe table function, switched to deriving schema from actual data rather than side-stores, and received separate CI builds to avoid coverage-FFI link failures. Documentation was also cleaned up, including a stale intra-doc link reference to the retired BufferingStore. Coverage bumped VGI_REF to upstream HEAD and pinned haybarn-cli to 1.5.3-rc7 for integration testing.
vgi-easter-rust and the haybarn ecosystem (haybarn-rust and haybarn-wasm) received routine maintenance, rolling to engine v1.5.4 and switching vgi-easter-rust to the published vgi 0.1.3 from crates.io after dropping a temporary git pin.
Community support included a reply on duckdb/duckdb PR #23273 regarding support for empty STRUCT types, contributing to the broader DuckDB ecosystem.
In addition, 11 commits across 5 private repositories reflect ongoing parallel work on related infrastructure.
Test coverage and infrastructure improvements dominated the day across multiple projects. On vgi-rust, Rusty committed work focused on coverage-driven worker fixtures and two-lane coverage CI, refining how test coverage is measured and validated in continuous integration pipelines.
Over on a5-rs, he provided community feedback on PR #50, which adds support for holes in polygons — a notable feature enhancement for geometric operations. This contribution reflects ongoing engagement with the broader geospatial and geometry-processing ecosystem.
Beyond the public work, he maintained momentum across three private repositories with five additional commits, keeping internal projects progressing in parallel.
A prolific day across the VGI ecosystem, with significant progress on Java and Rust ports, release hardening, and crates.io publication preparation.
vgi-java received multiple enhancements: HTTP lane CI now runs attach_options_echo, and function metadata was enriched to advertise per-function examples via FunctionInfo. The repository also synced with upstream after a rename batch by bumping VGI_REF to HEAD.
vgi-easter-java saw the initial Java port of the vgi-easter worker, expanding the multi-language support strategy.
vgi-rpc-rust shipped version 0.2.0, a production-hardening release that introduces transport_options and a unix launcher. CI tooling was tightened by ensuring rustfmt and clippy components are installed on the pinned toolchain.
vgi-rpc-go had a busy release cycle: version 0.9.3 was released to escape sumdb conflicts from a re-pointed v0.9.0 entry. This involved pinning intra-repo hashes in go.sum, fixing conformance command imports, and correcting HTTP batch counting logic so annotated data batches properly increment the producer batch limit.
vgi-rust underwent comprehensive publication preparation for crates.io. The work included fixing intra-doc links, applying rustfmt workspace-wide and making the crate clippy-clean, adding CI and crates.io release workflows, and preparing rich documentation. New features added fixture catalog accumulation and multi-catalog support. Platform-specific fixes ensure Windows compilation by gating the AF_UNIX launcher transport. CI was overhauled to run the full VGI integration suite across subprocess/launcher/http transports on Linux, macOS, and Windows, with coverage measurement and strategic lane optimizations. Documentation received a major overhaul with a README featuring the VGI logo and verified examples, along with CI safeguards that execute code samples. Version 0.1.1 was released with richer README and crate description; version 0.1.3 followed with expanded rustdoc and onboarding improvements.
vgi-easter-rust had the initial Rust port of the vgi-easter worker, with a fix to depend on a Windows-compatible vgi-rust commit.
Rusty also provided community support on shellfs by replying to PR #10 regarding non-seekable file handle limitations.
Private repository activity included 25 commits across 6 private repos.
Rusty kicked off a new testing initiative with the initial commit to haybarn-extension-wasm-tester, establishing infrastructure for validating WebAssembly-based extensions in the haybarn ecosystem.
On the DuckDB community extensions front, he opened a comprehensive batch of ten PRs updating multiple extensions to their latest commits:
textplot(PR #2071)tera(PR #2070)stochastic(PR #2069)quickjs(PR #2068)minijinja(PR #2067)marisa(PR #2066)jsonata(PR #2065)json_schema(PR #2064)hashfuncs(PR #2063)datasketches(PR #2062)
These updates ensure the community extension ecosystem stays current with upstream development.
Over on the main duckdb repository, he engaged in open-source stewardship by replying to PR #21197, which proposes allowing extensibility of dot commands to the DuckDB CLI — a feature that would unlock greater customization potential for the command-line interface.
Private development also continued with seven commits across a private repository.
Query-farm Projects
Rusty made significant progress on vgi-java, focusing on HTTP transport support and state serialization across multiple components. A release of version 0.2.0 pinned vgi-rpc to 0.10.2, while several commits ensured that FilterApplier and source producers (buffering/tensor/accumulate) became HTTP-state-serializable. The CI matrix expanded to include shm and http transport lanes, with new integration tests for versioned_tables_http and gzip fallback scenarios. Documentation was added to record the HTTP table-function state-serialization sweep, reducing fixture counts from 48 down to 5. Additionally, he automated Maven Central releases to eliminate manual Portal clicks and streamlined the process documentation.
Work on vgi-rpc-go addressed critical fixes for DictionaryBatch messaging in shared-memory transport for nested-dictionary schemas, and cached segments per connection while exempting shm pointer batches from row-count checks. The module path was renamed to github.com/Query-farm/vgi-rpc-go and released as v0.9.0 with a publishable module graph (dropping local replaces).
haybarn-wasm received a fix to cache loadable extensions under ~/.haybarn instead of the default ~/.duckdb location.
Community Extension Audits for WASM Compatibility
Rusty conducted a systematic audit of DuckDB community extensions for WebAssembly build compatibility, opening 15 issues across the ecosystem. The issues identified common architectural gaps:
- External dependency linking problems:
duck_rdf,duckdb_webbed, andduckdb_yamlall fail to load because dependencies (Serd, LibXml2, yaml-cpp) aren't included inLINKED_LIBS— a known limitation wheretarget_link_libraries()is ignored for SIDE_MODULE linking. - Raw I/O operations:
duckdb-fit-extension,duckdb-read-stat,duckdb-dta, andduckdb-osmiumuse standard file operations (std::fstream,fopen(), libosmium Reader) instead of routing through DuckDB's FileSystem abstraction. - HTTP without abstraction:
quack-oauth,fire_duck_ext,duckdb-eurostat,duckdb-sistat, andspxlsxmake direct HTTP calls via httplib or raw OpenSSL instead of DuckDB's HTTPUtil. - Platform exclusion candidates:
delta_classicandanndata-duckdb-extensionhave hard dependencies on extensions or libraries without wasm builds and should be marked withexcluded_platforms. - Runtime linking gaps:
duckdb-lualoads but fails at runtime ("TypeError: … is not a function") because liblua isn't linked into the loadable extension.
Community Review
Rusty replied to PR #11 on adbc_scanner regarding a re-land of bounded queue + max_batches changes, and provided feedback on PR #22021 in the main duckdb repository addressing COMMENT ON COLUMN support for STRUCT type fields.
vgi-java received several maintenance and infrastructure updates. Rusty branded the published Javadoc with the Query.Farm theme, logo, and overview page, improving the library's documentation presentation. He bumped the vgirpc dependency from 0.9.0 to 0.9.1 to pick up the latest improvements. On the CI front, he enhanced the test suite by configuring the vgi integration tests to run on every push, including expression-filter pushdown verification. He also excluded the bool_in_union.test case from CI runs due to a pre-existing platform-dependent union-bool bug that affects the test reliability.
The vgi-rpc-go repository was synced to version 0.20.0, incorporating updates to the conformance test fixtures and fixing null handling in the is_exchange logic.
Rusty also contributed to open-source stewardship by replying to PR #10075 on apache/arrow-rs, providing feedback on a proposal to use a Metadata struct instead of HashMap<String, String> for metadata handling, with benefits around ordering and cheap cloning.
Significant progress on vgi-java with a focus on storage layer improvements and documentation refinement. Rusty ported the evolved storage layer from vgi-python, implementing BoundStorage, counters, ranged operations, and queue support — core infrastructure for handling distributed data operations. He also completed a fixture catalog port with MetaWorker-style multi-catalog serving, expanding the framework's ability to manage multiple data sources simultaneously.
Documentation received considerable attention across several commits. The README was enhanced with a VGI logo (shipped in-repo with relative path references for private repo rendering), JVM flag requirements for Arrow interop (--add-opens), and repositioning of Haybarn as the client engine within the architecture. The test suite reached full green status, with schema reconciliation tests properly gated by upstream environment requirements.
Maintenance included a dependency bump (vgirpc 0.8.0 → 0.9.0) and pre-release hardening following a senior review pass, suggesting the project is moving toward a release milestone.
On the open-source front, Rusty opened issue #506 on arro3, requesting support for incremental IPC stream writing — identifying a capability gap in the Arrow Python library that would enhance streaming efficiency.
Additional private repository work (24 commits) progressed in parallel throughout the day.
Rusty put in focused work across the DuckDB ecosystem today, with activity split between community extensions and private projects.
On duckdb/community-extensions, he opened PR #2043 to update the a5 extension to its latest commits. This maintenance work ensures the extension stays current with upstream changes and integrates smoothly with the broader DuckDB community extension ecosystem. The PR represents an important part of keeping community-maintained extensions in sync with their source repositories.
haybarn-wasm saw a pair of release-related updates. Rusty bumped the workspace version to 1.5.3-rc14 and synchronized the engine submodule to haybarn-v1.5.3-rc10, keeping the release candidates aligned across the build system.
On the DuckDB front, he provided feedback on PR #23134, which reworks aggregate states to leverage extension type information and deprecates the legacy aggregate state system. This represents important infrastructure work in the DuckDB ecosystem, and Rusty's input helps guide the community effort toward a cleaner aggregation model.
Rusty focused on PostgreSQL wire protocol compliance work across two repositories in the haybarn project.
On haybarn-rust, he bumped the engine version to 1.10503.1-rc.12, incorporating haybarn-v1.5.3-rc9 changes. This version update reflects progress on the underlying engine layer.
The main effort landed in haybarn with PR #3, which addresses critical pg_catalog compliance gaps that were breaking strict PostgreSQL wire-protocol clients. The fix targets non-compliance issues affecting popular database drivers and tools — specifically Npgsql versions 4.0.12, 4.1.12, and 8.0.6 (the .NET driver powering PowerBI) as well as BI tools like DBeaver and pgAdmin. By resolving these pg_catalog gaps, the system becomes compatible with stricter protocol implementations that rely on accurate system catalog responses.
Beyond the public repositories, Rusty also made 15 commits across a private repository, indicating parallel progress on related infrastructure or internal tooling.
Rusty focused on PostgreSQL compatibility improvements across the haybarn ecosystem today.
Over in haybarn-rust, a release candidate version 1.10503.1-rc.11 was tagged, advancing the project toward a stable release.
Meanwhile, the main work centered on haybarn, where he opened PR #2 to address a critical pg_catalog type-OID consistency issue. The problem was that pg_catalog compatibility views and functions were storing DuckDB's internal LogicalTypeId values instead of the real PostgreSQL type OIDs that wire protocol clients expect. This fundamental mismatch broke the universal pg_attribute.atttypid = pg_type.oid join that PostgreSQL clients rely on—affecting everything from JDBC drivers to psql introspection commands like \d, plus array and schema resolution. This fix ensures that any PG-protocol client can properly interpret type information when querying the catalog.
Beyond the public repositories, additional development work continued on a private repository.
Rusty spent the day focused on private repository work, pushing 16 commits across a single private codebase. While details of the private work aren't visible, the volume of commits suggests sustained development effort on an internal project.
Rusty put in a focused effort across multiple repositories, with the bulk of work concentrated on releasing and rebranding the Haybarn engine.
In vgi-java and vgi-rust, he synced test fixtures to support new time travel bind semantics and native record format features. The vgi-java commit brought in 5 new fixtures from the Python test suite covering time travel on bind, native RFF (record format), and wide batch buffering. The vgi-rust work extended the bind request mechanism to carry AT (TIMESTAMP/VERSION) metadata, enabling temporal query capabilities at bind time.
The bulk of the day's work landed in haybarn-rust, where Rusty executed a major rebranding initiative and release cycle. Key accomplishments include:
- Fixed a critical GEOMETRY-with-CRS Arrow export crash and released version 1.10503.1-rc.10
- Renamed core crates from their original names to
haybarn,libhaybarn-sys, andhaybarn-loadable-macrosas part of the rebranding effort - Updated documentation: added NOTICE, CLAUDE.md, and example code; rebranded the README
- Re-pointed duckdb-sources to the Haybarn engine and regenerated the amalgamation
- CI/infrastructure improvements: set up Trusted Publishing for crates.io, added cross-platform smoke tests (skipping the full suite on Windows), pinned the crates-io-auth-action to Node 24, and made the publish workflow idempotent
- Stamped engine version v1.5.3 in the bundled amalgamation
- Released through multiple RC iterations (rc.7 through rc.10), resolving Windows linking issues with Rstrtmgr and version numbering along the way
On the DuckDB community front, Rusty opened issue #480 on duckdb-python requesting surface-level support for WARNING-level log messages in the Python client, bringing feature parity with the CLI's logging capabilities.
Additionally, 13 commits across private repositories indicate ongoing work on related initiatives.
Rusty worked across two WebAssembly and HTTP filesystem projects today, addressing release preparation and CI infrastructure issues.
Over in haybarn-wasm, he bumped the workspace version to 1.5.3-rc13, marking progress toward an upcoming release candidate.
The more involved work landed on haybarn-httpfs, where Rusty opened PR #1 to fix a critical submodule configuration issue. The problem stemmed from a recent DuckDB submodule bump to commit f6004601 — a commit that exists only on the haybarn fork of DuckDB, not in the upstream repository. However, .gitmodules was still pointing at duckdb/duckdb.git, which meant CI would fail trying to fetch the pinned commit. The fix redirects the submodule to Query-farm-haybarn/haybarn so that the CI pipeline can successfully resolve the dependency. This kind of coordination between forked dependencies and CI systems is critical for maintaining build reliability in multi-repo setups.
Additionally, six commits across two private repositories indicate ongoing work on related infrastructure or feature development.
June 3rd was focused on infrastructure updates and community engagement across multiple projects.
In haybarn-wasm, Rusty tackled a couple of CI/build adjustments. He raised the npm tarball size cap from 150 MB to 200 MB to accommodate larger build artifacts, and bumped the engine submodule to haybarn-v1.5.3-rc7, which includes an updated httpfs component (commit 2f99b6d). These changes keep the build pipeline aligned with the growing package footprint.
On the DuckDB front, Rusty engaged with two active PRs as a community reviewer. He provided feedback on PR #23018 regarding max execution time scope, and on PR #22941 discussing the unification of named arguments and default arguments across scalar, aggregate, and window functions. This work supports DuckDB's ongoing refinement of its function API.
In the vgi-injector repo, he replied to issue #1 addressing proxy support requirements. Over in haybarn-community-extensions, Rusty reviewed PR #4, which adds the QuackScale extension to the community collection.
Additionally, 12 commits were made to a private repository, indicating parallel work on other initiatives.
Rusty spent the day addressing documentation and dependency maintenance across two active repositories, while also preparing vgi-java for public distribution.
Over on vgi-java, he prepared the vgi module for Maven Central publishing with a focused commit. This is a significant step toward making the library available through the standard Java package repository.
The bulk of the work landed in vgi-rpc-typescript. He opened PR #22 to refresh the project's documentation site, which had drifted significantly since early March. The audit covered approximately 20 pages, correcting inaccuracies against the current codebase and adding guides for features shipped since the last update. The refresh also swaps in the new "Vector Gateway Interface" logo.
In parallel, Rusty consolidated multiple Dependabot PRs into a single bump PR (#21) to reduce CI noise and coordinate updates across the docs stack. This included bumps to astro (5.17.3 → 5.18.2), @astrojs/starlight (0.32.x → 0.33.2), vite (6.4.1 → 6.4.3), postcss (8.5.6 → 8.5.15), h3 (1.15.5 → 1.15.11), devalue (5.6.3 → 5.8.1), defu (6.1.4 → 6.1.7), and others.
He also reviewed and replied to eight existing dependency upgrade PRs on vgi-rpc-typescript, providing feedback as part of the consolidation effort. Additional private repository work (12 commits across 2 repos) rounded out the day.
Rusty made steady progress across multiple repositories today, with a focus on data serialization, WebAssembly builds, and ADBC database integration.
In vgi-java, he synced the Table.required_field_filter_paths wire field and updated related fixtures, maintaining alignment with evolving data model requirements.
The haybarn-wasm repository saw two commits: a build optimization to preserve the WebAssembly name section in Release builds (using the -g2 flag for better debugging support in production), followed by a workspace version bump to 1.5.3-rc12.
adbc_scanner received active community support. Rusty opened PR #1998 on duckdb/community-extensions to update the scanner to the latest commits, keeping the integration current with upstream changes. He also reviewed two important feature PRs on the main repo: PR #10 addressing bounded queue and concurrent ExecuteUpdate for flat-RSS streaming in ADBC inserts, and PR #9 implementing write support with INSERT INTO and CREATE TABLE AS for attached ADBC databases. His feedback on these PRs helps shape critical functionality for streaming and database write operations.
Additionally, Rusty completed 10 commits across 3 private repositories, continuing focused work on internal projects.