Apache Arrow ADBC 0.5.0 (Libraries) Release


Published 21 Jun 2023
By The Apache Arrow PMC (pmc)

The Apache Arrow team is pleased to announce the 0.5.0 release of the Apache Arrow ADBC libraries. This covers includes 37 resolved issues from 12 distinct contributors.

This is a release of the libraries, which are at version 0.5.0. The API specification is versioned separately and is at version 1.0.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

Experimental C# and Rust codebases were added to the source tree. No packages are released for them yet.

Go-based drivers, when using FFI, will now catch panics at the interface boundary and return them as errors. Afterwards, all calls to the driver will immediately fail. This lets applications handle errors and gracefully terminate instead of immediately aborting.

The JDBC adapter allows customizing the type mapping between JDBC types and Arrow types, using all the information provided by JDBC. This allows proper mappings for certain databases (e.g. the PostgreSQL JDBC driver returns both tz-aware and tz-naive timestamps under the same type code, but differentiates them via the type name).

The PostgreSQL driver has better support for reading and writing different types, including datetime types in particular. More metadata is now returned in GetObjects, including tables, columns, and constraints (primary/foreign keys). The driver also now handles non-SELECT queries in ExecuteQuery.

The Python driver manager lets you choose whether to disable or enable autocommit.

The R driver manager now exposes easy convenience functions for reading/writing data.

Contributors

$ git shortlog --perl-regexp --author='^((?!dependabot\[bot\]).*)$' -sn apache-arrow-adbc-0.4.0..apache-arrow-adbc-0.5.0
    36	David Li
    21	William Ayd
     6	Dewey Dunnington
     4	Matt Topol
     3	Kirill Müller
     2	Sutou Kouhei
     2	vipere
     1	Curt Hagenlocher
     1	Diego Fernández Giraldo
     1	Matthijs Brobbel
     1	Will Jones
     1	davidhcoe

Roadmap

Work for the proposed 1.1.0 API revision is progressing on a branch, with several API proposals merged in and others awaiting review. They will then receive prototype implementations before being submitted for review/voting. This is not currently targeting any release of the ADBC libraries, although we hope to wrap up this effort in the next few months.

A milestone has been created to explore asynchronous APIs, which have been requested for a while now.

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.