ADBC Libraries 20 (2025-09-09)
Versions
- C/C++/GLib/Go/Python/Ruby: 1.8.0
- C#: 0.20.0
- Java: 0.20.0
- R: 0.20.0
- Rust: 0.20.0
Breaking Changes
- ⚠️ rust: not to mark some enums as
non_exhaustive
(#3245) - ⚠️ rust/core: move the driver_manager feature to the new adbc_driver_manager package (#3197)
- ⚠️ rust/core: move the ffi related stuff to the new adbc_ffi package (#3381)
- ⚠️ rust/driver/datafusion: update to datafusion 48 (#3167)
New Features
- c/driver/postgresql: bind arrow.json to JSON (#3333)
- c/driver/sqlite, python/adbc_driver_manager: bind params by name (#3362)
- c/driver_manager: don't ignore invalid manifests (#3399)
- c/driver_manager: improve error reporting for manifests (#3386)
- c/driver_manager, rust/driver_manager: add manifest version check (#3393)
- c/driver_manager, rust/driver_manager: handle virtual environments in driver manager (#3320)
- csharp/src: Add support for adding and configuring OTel exporters (#2949)
- csharp/src/Apache.Arrow.Adbc/Tracing: allow ActivitySource tags to be set from TracingConnection (#3218)
- csharp/src/Drivers: update drivers to .NET 8 (#3120)
- csharp/src/Drivers/Apache: Add compression support for Spark, Impala & Hive Http Connection (#3127)
- csharp/src/Drivers/Apache: Enabled Standard protocol for Spark and used SASL transport with basic auth (#3380)
- csharp/src/Drivers/Apache: Implement protocol fallback mechanism to support old server version of Spark & Hive (#3312)
- csharp/src/Drivers/Apache: Implement self signed ssl certificate validation for Spark, Impala & Hive (#3224)
- csharp/src/Drivers/Apache: add env variable config override for databricks (#3304)
- csharp/src/Drivers/Apache: add support for Statement.Cancel (#3302)
- csharp/src/Drivers/BigQuery: Enhanced tracing and large resultset improvements (#3022)
- csharp/src/Drivers/Databricks: Add W3C trace context (#3082)
- csharp/src/Drivers/Databricks: Fix EnablePkFk (#3098)
- csharp/src/Drivers/Databricks: Fix StatementTimeoutTest (#3133)
- csharp/src/Drivers/Databricks: Move DescribeTableExtended to version negotiator (#3137)
- csharp/src/Drivers/Databricks: Remove redundant CloseOperation for GetColumnsAsync (#3132)
- csharp/src/Drivers/Databricks: Remove redundant closeoperation (#3093)
- csharp/src/Drivers/Databricks: Use ArrowSchema for Response Schema (#3140)
- csharp/test/Drivers/Databricks: Add mandatory token exchange (#3192)
- csharp/test/Drivers/Databricks: Enable RunAsync option in TExecuteStatementReq (#3171)
- csharp/test/Drivers/Databricks: Support token refresh to extend connection lifetime (#3177)
- glib: add AdbcStatementGetParameterSchema() bindings (#3118)
- go/adbc: add GetDriverInfo helper (#3239)
- go/adbc: add IngestStream helper for one-call ingestion and add TestIngestStream (#3150)
- go/adbc/driver/bigquery: Add "adbc.bigquery.sql.location" param (#3280)
- go/adbc/driver/bigquery: error if we lack readSessionUser (#3297)
- go/adbc/driver/bigquery: support service account impersonation (#3174)
- go/adbc/driver/snowflake: Enable PAT and WIF auth (#3366)
- go/adbc/sqldriver: handle timestamp/time.Time values for input (#3109)
- java/driver/jni: enable new load flags (#3373)
- java/driver/jni: implement parameter binding (#3370)
- java/driver/jni: pass through all initial params (#3372)
- ruby: don't use adbc-arrow-glib (#3221)
- rust/core: add function to load driver manifests (#3099)
- rust/driver/snowflake: add
pat
andwif
auth types (#3376)
Bugfixes
- c/driver_manager: add
drivers
subdir in search paths (#3375) - c/driver_manager: fix expected
;
for musl arch (#3105) - c/driver_manager: modify SYSTEM path behavior on macOS (#3250)
- c/driver_manager: rename
ADBC_CONFIG_PATH
toADBC_DRIVER_PATH
(#3379) - c/driver_manager: use Driver.entrypoint as per docs (#3242)
- c/driver_manager, rust/driver_manager: establish standard platform tuples (#3313)
- csharp/src/Apache.Arrow.Adbc/C: Stop trying to unload dynamic libraries (#3291)
- csharp/src/Drivers: Fix cloud fetch cancel/timeout mechnism (#3285)
- csharp/src/Drivers/Apache: generate type-consistent empty result for GetColumnsExtended query (#3096)
- csharp/src/Drivers/Apache/Hive2: Remove unnecessary CloseOperation in Statement.Dispose when query is metadata query (#3189)
- csharp/src/Drivers/Apache/Hive2: add check to see if operation is already closed (#3301)
- csharp/src/Drivers/Apache/Spark: fix column metadata index offset for Spark standard (#3392)
- csharp/src/Drivers/BigQuery: Adjust default dataset id (#3187)
- csharp/src/Drivers/BigQuery: Include try/catch for InvalidOperationException in ReadRowsStream (#3361)
- csharp/src/Drivers/BigQuery: Modify ReadChunk behavior (#3323)
- csharp/src/Drivers/BigQuery: add details for retried error message (#3244)
- csharp/src/Drivers/Databricks: Add another fallback check of GetColumnsExtendedAsync (#3219)
- csharp/src/Drivers/Databricks: Add instructions about driver config setup (#3367)
- csharp/src/Drivers/Databricks: Change fallback check of Databricks.GetColumnsExtendedAsync (#3121)
- csharp/src/Drivers/Databricks: Correct DatabricksCompositeReader and StatusPoller to Stop/Dispose Appropriately (#3217)
- csharp/src/Drivers/Databricks: DatabricksCompositeReader unit tests (#3265)
- csharp/src/Drivers/Databricks: Fix Databricks readme (#3365)
- csharp/src/Drivers/Databricks: Fix null pointer exception (#3261)
- csharp/src/Drivers/Databricks: PECO-2562 Use "default" schema in open session request (#3359)
- csharp/src/Drivers/Databricks: Reader Refactors (#3254)
- csharp/src/Drivers/Databricks: Set GetObjectsPatternsRequireLowerCase true (#3131)
- csharp/src/Drivers/Databricks: Set enable_run_async_thrift default true (#3232)
- csharp/src/Drivers/Databricks: Set the SqlState of the exception in RetryHttpHandler (#3092)
- csharp/src/Drivers/Databricks: Use default result persistence mode (#3203)
- csharp/src/Drivers/Databricks: [PECO-2396] Fix timestamp for dbr 6.6 - Set timestamp configuration on OpenSessionReq (#3327)
- csharp/src/Drivers/Databricks: correct tracing instrumentation for assembly name and version (#3170)
- csharp/src/Drivers/Databricks: fix CloudFetchResultFetcher initial results processing logic (#3097)
- csharp/test/Drivers: Fix databricks tests (#3358)
- csharp/test/Drivers/Databricks: Change the default QueryTimeoutSeconds to 3 hours (#3175)
- csharp/test/Drivers/Databricks: Enrich RetryHttpHandler with other status codes (#3186)
- csharp/test/Drivers/Databricks: Fix Pkfk Testcase (#3193)
- csharp/test/Drivers/Databricks: Run token exchange in a background task (#3188)
- go/adbc: Forward SQLSTATE and vendor code (#2801)
- go/adbc: changing the location of FlightSQLDriverInit function (#3079)
- go/adbc/driver/bigquery: accept old auth option value (#3317)
- go/adbc/driver/bigquery: fix parsing repeated records with nested fields (#3240)
- go/adbc/driver/bigquery: fix timestamp arrow type to use micro seconds (#3364)
- go/adbc/driver/snowflake: fix unit tests (#3377)
- go/adbc/drivermgr: properly vendor toml++ (#3138)
- go/adbc/pkg: Run make regenerate to keep generated code in sync with templates (#3202)
- go/adbc/pkg: add PowerShell option to run when executing in a Windows-based ADO pipeline (#3124)
- java/driver/jni: update AdbcDriverFactory metadata (#3348)
- python/adbc_driver_bigquery: correct string value of credential enum (#3091)
- python/adbc_driver_manager: handle empty params in executemany (#3332)
- python/adbc_driver_manager: mark calls with nogil (#3321)
- rust/core: fix build errror on windows and enable ci for windows (#3148)
- rust/driver_manager: modify SYSTEM path behavior on macOS (#3252)
Documentation Improvements
- Fix pip install command for arrow-adbc-nightlies (#3222)
- add Snowflake and BigQuery drivers to Python API reference (#3088)
- add docs for driver manifests (#3176)
- clarify relationship specification.rst to adbc.h (#3226)
- consistent use of
pushd
instead ofcd
in the contributing guide (#3089) - fix invalid link in snowflake docs (#3246)
- fix safari rendering in manifest_load.mmd diagram (#3391)
- fix typo in python/adbc_driver_postgresql/README.md (#3194)
- generate driver status from README badges (#2890)
- improve go docs by adding a readme (#3204)
- link to AdbcDriverInitFunc in how_manager.rst (#3227)
- minor edits for first version of driver manager docs (#3180)
- minor improvements to driver_manifests.rst (#3394)
- organize Documentation steps of CONTRIBUTING.md (#3100)
- rework driver manager references across docs (#3388)
- rust/core: add simple usage of Driver Manager (#3086)