Releases: datafusion-contrib/datafusion-go
Releases · datafusion-contrib/datafusion-go
Release list
v0.550000.3
- Updated
golang.org/x/systo v0.48.0, raising the minimum supported Go version to 1.26. The recommended toolchain remains Go 1.27.1. - Updated Tokio to 1.53.1 and the Futures crates to 0.3.34.
- Updated all workflows to use SHA-pinned
actions/checkoutv7.0.1 andactions/setup-gov7.0.0.
v0.550000.2
- Consolidated query and statement execution and simplified native ownership and cleanup across Go and Rust.
- Fixed statement preparation to honor the configured SQL dialect and preserve parameters owned by SQL
PREPAREandCREATE FUNCTIONstatements, including underEXPLAIN. - Upgraded Arrow Go to v18.8.0 for correct fractional-hour timezone offsets.
- Added the pinned DataFusion SQLLogicTest corpus, SQL documentation coverage reports, reproducible datasets, and CI runs on Linux, macOS, and Windows. Replaced platform-dependent trigonometric snapshots with portable assertions. Two zero-length fixed-size-list assertions remain disabled pending Arrow Go support, and parallel spill stress tests run as nonblocking diagnostics.
- Expanded lifecycle, installation, conformance, fuzzing, and native ABI checks, and clarified setup and usage documentation.
v0.550000.1
- Fixed Arrow reader callback panics leaking imported buffers, premature reader finalization during active reads, and native connection access racing with close or session reset.
- Hardened automatic native library loading with canonical path, ownership, permission, and platform ACL checks. Explicit library paths must now be absolute; downloads and redirects require HTTPS, and native asset sizes are bounded. Restricted Windows DLL dependency searches and disabled runtime loading for privileged processes.
- Rejected embedded NULs before C-string conversion and oversized parameter ordinals before allocation. Sanitized NULs in streamed execution errors to prevent native process aborts.
- Added memory, concurrency, callback, and loader security regression tests, and documented process isolation requirements for untrusted SQL and native providers.
v0.550000.0
- Upgraded bundled Apache DataFusion to 55.0.0 and Arrow Rust to 59.3.0. Foreign table providers must be built with
datafusion-ffi55.0.0; the exact version handshake rejects older providers before dereferencing their pointers. - Fixed parameterized
CREATE TABLEandCREATE VIEWstatements by binding their logical plans before executing DDL, preserving existing tables when parameter validation fails. - Fixed cached prepared statements retaining and querying old isolated sessions, failed session initialization exposing previous session state, and native runtimes leaking after direct
Driver.Open/Closecalls. - Made Arrow reader cancellation interrupt active reads and made DDL and shared-initialization waits honor context deadlines. Added native lifetime and allocation regression tests.
- Removed an unnecessary full IPC buffer copy during safe Arrow registration. Documented query memory budgets and the complete foreign-provider/library lifetime contract, including pooled connections and retained batches.
- Updated vulnerable dependencies and added Go/Rust advisory scans and dependency monitoring. The module now requires Go 1.25+, recommends the patched Go 1.27.1 toolchain, and requires Rust 1.94+ for source builds.
v0.540100.0
- Upgraded the bundled Apache DataFusion to 54.1.0. No driver API changed.
datafusion-ffi54 builds its stable ABI onstabbyinstead ofabi_stable, so foreign table providers passed toRegisterFFITableProvidermust come fromdatafusion-ffi54.1.0. The exactDataFusionVersionhandshake rejects providers built against any other version before their pointer is dereferenced.
v0.530100.2
- Added foreign FFI table provider support: register a
datafusion-ffiFFI_TableProviderproduced by another library withRegisterFFITableProviderand query it with projection and filter pushdown reaching the provider. Returns a*RegisteredTablehandle for explicitDeregister, with an exactDataFusionVersionhandshake checked before the provider pointer is dereferenced. - Restructured the README in Apache DataFusion style.
v0.530100.1
Initial release for Apache DataFusion 53.1.0.
- Added a
database/sqldriver backed by an in-process DataFusionSessionContext. - Added bundled native static-library build and release automation for darwin-amd64, darwin-arm64, linux-amd64, linux-arm64, and windows-amd64.
- Added source, bundled, static-library, and no-cgo link-mode test coverage.
- Added SQL parameter binding for common scalar, temporal, decimal, binary, and typed-null values.
- Added Arrow-native query streaming through
QueryArrowContext. - Added Arrow record-reader table registration through safe IPC copy and native zero-copy materialized registration.
- Added shared-session and isolated-session connection modes.
- Added native cancellation, native error kinds, and panic containment across the Rust/C/Go boundary.