Apache Arrow nanoarrow 0.8.0 Release
Published
24 Feb 2026
By
The Apache Arrow PMC (pmc)
The Apache Arrow team is pleased to announce the 0.8.0 release of Apache Arrow nanoarrow. This release consists of 28 resolved GitHub issues from 10 contributors.
Release Highlights
- Support for building String View arrays by buffer
- LZ4 decompression support in IPC reader
- Support for Conan
- Support for Hombrew
See the Changelog for a detailed list of contributions to this release.
Features
String Views By Buffer
The C library in general supports two methods for producing or consuming arrays: most
users use the builder pattern (e.g., ArrowArrayAppendString()); however, the "build
by buffer" pattern can be effective when using nanoarrow with a higher level runtime
like C++, Rust, Python, or R, all of which have mechanisms to build buffers already.
The C library supports this with ArrowArraySetBuffer(); however, there was no way
to reserve and/or set variadic buffers for string view arrays. In nanoarrow 0.8.0,
the array builder API fully supports both mechanisms for building string view arrays.
LZ4 Decompression Support
The Arrow IPC reader included in the nanoarrow C library supports most features of the Arrow IPC format; however, decompression support for the LZ4 codec was missing which made the library and its bindings unusable for some common use cases. In 0.8.0, decompression for the LZ4 codec was added to the C library.
Users of the C library will need to configure CMake with -DNANOARROW_IPC_WITH_LZ4=ON
and -DNANOARROW_IPC=ON to use CMake-resolved LZ4; however, client libraries
can also use an existing ZSTD or LZ4 implementation using callbacks just like in 0.7.0.
nanoarrow on Conan
The nanoarrow C library can now be installed using the
Conan C/C++ Package Manager!
CMake projects can now use find_package(nanoarrow) when using a Conan-enabled
toolchain after adding the nanoarrow dependency to conanfile.txt.
Thanks to @wgtmac for contributing the recipe!
nanoarrow on Homebrew
The nanoarrow C library can now be installed using Homebrew!
brew install nanoarrow
CMake projects can then use find_package(nanoarrow) when using Homebrew-provided
cmake and allows other vcpkg ports to use nanoarrow as a dependency.
Thanks to @ankane for contributing the formula!
Contributors
This release consists of contributions from 12 contributors in addition to the invaluable advice and support of the Apache Arrow community.
$ git shortlog -sn apache-arrow-nanoarrow-0.8.0.dev..apache-arrow-nanoarrow-0.8.0-rc0
23 Dewey Dunnington
2 Bryce Mecum
2 Dirk Eddelbuettel
1 Even Rouault
1 Kevin Liu
1 Michael Chirico
1 Namit Kewat
1 Nyall Dawson
1 Sutou Kouhei
1 William Ayd