Apache Arrow ADBC 22 (Libraries) Release
Published
09 Jan 2026
By
The Apache Arrow PMC (pmc)
The Apache Arrow team is pleased to announce the version 22 release of the Apache Arrow ADBC libraries. This release includes 14 resolved issues from 16 distinct contributors.
This is a release of the libraries, which are at version 22. The API specification is versioned separately and is at version 1.1.0.
The subcomponents are versioned independently:
- C/C++/GLib/Go/Python/Ruby: 1.10.0
- C#: 0.22.0
- Java: 0.22.0
- R: 0.22.0
- Rust: 0.22.0
The release notes below are not exhaustive and only expose selected highlights of the release. Many other bugfixes and improvements have been made: we refer you to the complete changelog.
Release Highlights
In the C++ driver manager and packages using it (such as the driver managers for Go and Python), now it is possible to open a connection with only a URI (the driver name will be assumed to be the URI scheme) (#3694, #3790).
For Windows users, C++ builds now generate import LIBs so DLLs can be properly linked to (#2858).
The C# Databricks driver has reduced memory usage (#3654, #3683). Also, token exchange was fixed (#3715), and a deadlock was fixed (#3756).
The DataFusion driver allows setting the async runtime (#3712).
The Arrow Flight SQL driver supports bulk ingestion with compatible servers (#3808). The Python package also exposes constants for OAuth (#3849).
The Go database/sql adapter now closes resources properly
(#3731). All drivers built
with Go were updated to a newer Go and arrow-go to resolve CVEs reported
against Go itself (although we believe they do not affect the drivers) and to
resolve a crash when used with Polars
(#3758).
The PostgreSQL driver supports setting the transaction isolation level (#3760), and a bug with the GetObjects filter options was fixed (#3855).
The Python driver manager will now close unclosed cursors for you when a connection is closed (#3810).
Driver shared libraries built with Rust will now catch panics and error
gracefully instead of terminating the entire process (although we do not
currently distribute any driver libraries built this way)
(#3819). Also, the Rust
driver manager will no longer dlclose driver libraries as drivers built with
Go would hang if this was done on some platforms
(#3844).
The SQLite driver supports more info keys (#3843).
Contributors
$ git shortlog --perl-regexp --author='^((?!dependabot\[bot\]).*)$' -sn apache-arrow-adbc-21..apache-arrow-adbc-22
19 David Li
7 eric-wang-1990
6 eitsupi
5 Mandukhai Alimaa
4 Bryce Mecum
3 davidhcoe
2 Matt Topol
2 Pavel Agafonov
2 Philip Moore
1 Ali Alamiri
1 Curt Hagenlocher
1 Hélder Gregório
1 Matt Corley
1 Pranav Joglekar
1 Sudhir Reddy Emmadi
1 msrathore-db
Roadmap
We are working on the next revision of the API standard. After some discussion, we will likely put aside async APIs to focus on addressing other API gaps that users have reported. However, we may still define langauge-specific async APIs for ecosystems that expect them (like Rust).
Getting Involved
We welcome questions and contributions from all interested. Issues can be filed on GitHub, and questions can be directed to GitHub or the Arrow mailing lists.