<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://arrow.apache.org/feed.xml" rel="self" type="application/atom+xml" /><link href="https://arrow.apache.org/" rel="alternate" type="text/html" /><updated>2026-04-22T04:41:20-04:00</updated><id>https://arrow.apache.org/feed.xml</id><title type="html">Apache Arrow</title><subtitle>Apache Arrow is the universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics. It specifies a standardized language-independent column-oriented memory format for flat and nested data, organized for efficient analytic operations on modern hardware. It also provides computational libraries and zero-copy streaming messaging and interprocess communication. Languages currently supported include C, C++, C#, Go, Java, JavaScript, MATLAB, Python, R, Ruby, and Rust.</subtitle><entry><title type="html">Apache Arrow 24.0.0 Release</title><link href="https://arrow.apache.org/blog/2026/04/21/24.0.0-release/" rel="alternate" type="text/html" title="Apache Arrow 24.0.0 Release" /><published>2026-04-21T00:00:00-04:00</published><updated>2026-04-21T00:00:00-04:00</updated><id>https://arrow.apache.org/blog/2026/04/21/24.0.0-release</id><content type="html" xml:base="https://arrow.apache.org/blog/2026/04/21/24.0.0-release/"><![CDATA[<!--

-->
<p>The Apache Arrow team is pleased to announce the 24.0.0 release. This release
covers over 3 months of development work and includes <a href="https://github.com/apache/arrow/milestone/72?closed=1"><strong>259 resolved
issues</strong></a> on <a href="/release/24.0.0.html#contributors"><strong>325 distinct commits</strong></a> from <a href="/release/24.0.0.html#contributors"><strong>57 distinct
contributors</strong></a>. See the <a href="https://arrow.apache.org/install/">Install Page</a> to
learn how to get the libraries for your platform.</p>
<p>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 <a href="/release/24.0.0.html#changelog">complete changelog</a>.</p>
<h2>Community</h2>
<p>We recently published our <a href="https://arrow.apache.org/blog/2026/03/19/arrow-2025-highlights/">Community Highlights for 2025</a>, check those out.</p>
<p>Thanks everyone for your contributions and participation in the project!</p>
<h2>Format Notes</h2>
<p>We have written a project-wide <a href="https://arrow.apache.org/docs/dev/format/Security.html">Security Model</a>
outlining what users should expect when dealing with Arrow data, especially coming
from untrusted sources <a href="https://github.com/apache/arrow/issues/48868">GH-48868</a>.</p>
<h2>Arrow Flight RPC Notes</h2>
<p>The ODBC driver is still a work-in-progress. The driver now builds on Linux, but currently no builds are distributed (for any platform) (<a href="https://github.com/apache/arrow/issues/49463">GH-49463</a>).</p>
<p>In C++, we have refactored serialization/deserialization to make low-level functionality accessible for advanced usage (<a href="https://github.com/apache/arrow/issues/49548">GH-49548</a>).</p>
<h2>C++ Notes</h2>
<p>In addition to the aforementioned project-wide Security Model, we have written
a specific <a href="https://arrow.apache.org/docs/dev/cpp/security.html">Security Model for Arrow C++</a>
covering more concrete topics such as API usage and parameter validity <a href="https://github.com/apache/arrow/issues/49274">GH-49274</a>.</p>
<h3>Compute</h3>
<h3>Extension Types</h3>
<p>The canonical type <a href="https://arrow.apache.org/docs/format/CanonicalExtensions.html#variable-shape-tensor">VariableShapeTensor</a>
was finally implemented <a href="https://github.com/apache/arrow/issues/38007">GH-38007</a>.</p>
<h3>Parquet</h3>
<p><strong>Breaking change:</strong> The Arrow extension type name for Parquet Variant columns
used to be <code>parquet.variant</code> but has been changed to <code>arrow.parquet.variant</code> <a href="https://github.com/apache/arrow/issues/49081">GH-49081</a>.</p>
<p>While Parquet C++ could only read unencrypted bloom filters, it now supports
reading encrypted bloom filters as well <a href="https://github.com/apache/arrow/issues/48334">GH-48334</a>. In addition, it can also
write bloom filters, though only unencrypted <a href="https://github.com/apache/arrow/issues/34785">GH-34785</a>.</p>
<p>An ambitious rewrite of the bit-unpacking utilities and optimizations has led to
significant performance improvements on reading some Parquet columns, up to 50%
faster in some cases <a href="https://github.com/apache/arrow/issues/48277">GH-48277</a>. This rewrite is described in more detail
in an <a href="https://medium.com/@AntoineProuvost/faster-reads-for-apache-parquet-improving-integer-unpacking-f6e21ce49a85">accompanying blog post</a>.</p>
<p>The performance of reading DELTA_BINARY_PACKED-encoded integers has been improved
in some favorable cases <a href="https://github.com/apache/arrow/issues/49266">GH-49266</a>.</p>
<h3>Miscellaneous C++ changes</h3>
<p>We have migrated to C++20 <code>std::span</code>, removing our home-grown implementation
in <code>arrow::util::span</code> <a href="https://github.com/apache/arrow/issues/48588">GH-48588</a>.</p>
<p>A bunch of previously deprecated APIs have been removed <a href="https://github.com/apache/arrow/issues/49356">GH-49356</a>.</p>
<h2>Linux Packaging Notes</h2>
<p>Added support for Ubuntu 26.04, the next LTS <a href="https://github.com/apache/arrow/issues/49341">GH-49341</a></p>
<h2>MATLAB Notes</h2>
<p>No major notes for this release on MATLAB.</p>
<h2>Python Notes</h2>
<h2>Compatibility notes</h2>
<ul>
<li><code>pyarrow.gandiva</code> is deprecated and will be removed in a future version <a href="https://github.com/apache/arrow/issues/49227">GH-49227</a></li>
</ul>
<h2>New features</h2>
<ul>
<li>Type annotations work is starting to be included (<a href="https://github.com/apache/arrow/issues/49102">GH-49102</a> and
<a href="https://github.com/apache/arrow/issues/49452">GH-49452</a>)</li>
<li>Basic arithmetic on arrays and scalars is now supported <a href="https://github.com/apache/arrow/issues/32007">GH-32007</a></li>
<li>Options to control writing of Parquet Bloom filters are added to <code>parquet.write_table</code> <a href="https://github.com/apache/arrow/issues/49376">GH-49376</a></li>
<li>OpenTelemetry is enabled in PyArrow wheels <a href="https://github.com/apache/arrow/issues/49382">GH-49382</a></li>
<li>AzureFileSystem is now included in the Windows wheels <a href="https://github.com/apache/arrow/issues/44655">GH-44655</a></li>
</ul>
<h2>Other improvements</h2>
<ul>
<li>Scikit-build-core is now used as the PyArrow build system <a href="https://github.com/apache/arrow/issues/36411">GH-36411</a></li>
<li><code>UUID</code> objects are now inferred automatically in <code>pa.scalar()</code> and <code>pa.array()</code> without the need to
specify the type explicitly <a href="https://github.com/apache/arrow/issues/48241">GH-48241</a></li>
<li>Constructing an extension array via <code>pa.array()</code> from a list of extension-type scalars is now supported
<a href="https://github.com/apache/arrow/issues/48470">GH-48470</a></li>
<li>There have been some improvements in the documentation (<a href="https://github.com/apache/arrow/issues/49278">GH-49278</a>,
<a href="https://github.com/apache/arrow/issues/49269">GH-49269</a> and <a href="https://github.com/apache/arrow/issues/28859">GH-28859</a>)</li>
<li>CSV and JSON options have improved repr/str methods <a href="https://github.com/apache/arrow/issues/47389">GH-47389</a></li>
</ul>
<h2>Relevant bug fixes</h2>
<ul>
<li><code>SparseCOOTensor.__repr__</code> missing f-string prefix is now fixed <a href="https://github.com/apache/arrow/issues/49108">GH-49108</a></li>
<li>Pickling <code>SubTreeFileSystem(base_path, AzureFileSystem(...))</code> is fixed <a href="https://github.com/apache/arrow/issues/49078">GH-49078</a></li>
<li>Casting from <code>StringArray</code> to pandas 3.* when element is <code>None</code> is fixed <a href="https://github.com/apache/arrow/issues/49002">GH-49002</a></li>
<li>Dictionary key order is now preserved when inferring struct type <a href="https://github.com/apache/arrow/issues/40053">GH-40053</a></li>
<li>Duplicate csv header when table batches start with empty is now fixed <a href="https://github.com/apache/arrow/issues/36889">GH-36889</a></li>
</ul>
<h2>R Notes</h2>
<h3>New Features</h3>
<ul>
<li>A number of new <code>dplyr</code> bindings <a href="https://github.com/apache/arrow/issues/49533">GH-49533</a>, <a href="https://github.com/apache/arrow/issues/49256">GH-49256</a>, <a href="https://github.com/apache/arrow/issues/49535">GH-49535</a> and <a href="https://github.com/apache/arrow/issues/49534">GH-49534</a></li>
</ul>
<h3>Compatibility notes</h3>
<ul>
<li>Arrow no longer builds with GCS enabled on CRAN to avoid failures in their build systems. If you would like a full-featured build of Arrow, we recommend installing from R-universe; see <a href="https://arrow.apache.org/docs/r/articles/fs.html">the Using cloud storage article in the docs</a> for more information. <a href="https://github.com/apache/arrow/issues/49067">GH-49067</a></li>
</ul>
<h3>Relevant bug fixes</h3>
<ul>
<li><code>to_arrow()</code> now retains grouping <a href="https://github.com/apache/arrow/issues/40640">GH-40640</a></li>
</ul>
<h2>Ruby and C GLib Notes</h2>
<ul>
<li>Fixed GC related problems.</li>
<li><code>GArrowListArray</code>: Added support for returning offset buffer.</li>
<li><code>GArrowLargeListArray</code>: Added support for returning offset buffer.</li>
<li><code>GArrowUnionArray</code>: Added support for returning fields.</li>
<li>Deprecated Feather features.</li>
</ul>
<h3>Ruby</h3>
<p>We've added pure Ruby Apache Arrow writer implementation to the
<code>red-arrow-format</code> gem.</p>
<p>We've marked pure Ruby Apache Arrow reader implementation in the
<code>red-arrow-format</code>gem as stable because it passes integration tests
with other implementations. But it still has some missing features.</p>
<p>The <code>red-arrow</code> gem:</p>
<ul>
<li>Add support for converting to raw Ruby objects of the following arrays:
<ul>
<li><code>Arrow::LargeBinaryArray</code></li>
<li><code>Arrow::LargeUTF8Array</code></li>
<li><code>Arrow::LargeListArray</code></li>
<li><code>Arrow::FixedSizeListArray</code></li>
<li><code>Arrow::DurationArray</code></li>
<li><code>Arrow::DictionaryArray</code> with <code>Arrow::LargeBinaryArray</code> or
<code>Arrow::LargeUTF8Array</code></li>
</ul>
</li>
</ul>
<h3>C GLib</h3>
<p>No C GLib only notes.</p>
<h2>Java, JavaScript, Go, .NET, Swift and Rust Notes</h2>
<p>The Java, JavaScript, Go, .NET, Swift and Rust projects have moved to separate
repositories outside the main Arrow <a href="https://github.com/apache/arrow">monorepo</a>.</p>
<ul>
<li>For notes on the latest release of the <a href="https://github.com/apache/arrow-java">Java
implementation</a>, see the latest <a href="https://github.com/apache/arrow-java/releases">Arrow
Java changelog</a>.</li>
<li>For notes on the latest release of the <a href="https://github.com/apache/arrow-js">JavaScript
implementation</a>, see the latest <a href="https://github.com/apache/arrow-js/releases">Arrow
JavaScript changelog</a>.</li>
<li>For notes on the latest release of the <a href="https://github.com/apache/arrow-rs">Rust
implementation</a> see the latest <a href="https://github.com/apache/arrow-rs/blob/main/CHANGELOG.md">Arrow Rust
changelog</a>.</li>
<li>For notes on the latest release of the <a href="https://github.com/apache/arrow-go">Go
implementation</a>, see the latest <a href="https://github.com/apache/arrow-go/releases">Arrow Go
changelog</a>.</li>
<li>For notes on the latest release of the <a href="https://github.com/apache/arrow-dotnet">.NET
implementation</a>, see the latest <a href="https://github.com/apache/arrow-dotnet/releases">Arrow  .NET changelog</a>.</li>
<li>For notes on the latest release of the <a href="https://github.com/apache/arrow-swift">Swift implementation</a>, see the latest <a href="https://github.com/apache/arrow-swift/releases">Arrow Swift changelog</a>.</li>
</ul>]]></content><author><name>pmc</name></author><category term="release" /><summary type="html"><![CDATA[The Apache Arrow team is pleased to announce the 24.0.0 release. This release covers over 3 months of development work and includes 259 resolved issues on 325 distinct commits from 57 distinct contributors. See the Install Page to learn how to get the libraries for your platform. 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. Community We recently published our Community Highlights for 2025, check those out. Thanks everyone for your contributions and participation in the project! Format Notes We have written a project-wide Security Model outlining what users should expect when dealing with Arrow data, especially coming from untrusted sources GH-48868. Arrow Flight RPC Notes The ODBC driver is still a work-in-progress. The driver now builds on Linux, but currently no builds are distributed (for any platform) (GH-49463). In C++, we have refactored serialization/deserialization to make low-level functionality accessible for advanced usage (GH-49548). C++ Notes In addition to the aforementioned project-wide Security Model, we have written a specific Security Model for Arrow C++ covering more concrete topics such as API usage and parameter validity GH-49274. Compute Extension Types The canonical type VariableShapeTensor was finally implemented GH-38007. Parquet Breaking change: The Arrow extension type name for Parquet Variant columns used to be parquet.variant but has been changed to arrow.parquet.variant GH-49081. While Parquet C++ could only read unencrypted bloom filters, it now supports reading encrypted bloom filters as well GH-48334. In addition, it can also write bloom filters, though only unencrypted GH-34785. An ambitious rewrite of the bit-unpacking utilities and optimizations has led to significant performance improvements on reading some Parquet columns, up to 50% faster in some cases GH-48277. This rewrite is described in more detail in an accompanying blog post. The performance of reading DELTA_BINARY_PACKED-encoded integers has been improved in some favorable cases GH-49266. Miscellaneous C++ changes We have migrated to C++20 std::span, removing our home-grown implementation in arrow::util::span GH-48588. A bunch of previously deprecated APIs have been removed GH-49356. Linux Packaging Notes Added support for Ubuntu 26.04, the next LTS GH-49341 MATLAB Notes No major notes for this release on MATLAB. Python Notes Compatibility notes pyarrow.gandiva is deprecated and will be removed in a future version GH-49227 New features Type annotations work is starting to be included (GH-49102 and GH-49452) Basic arithmetic on arrays and scalars is now supported GH-32007 Options to control writing of Parquet Bloom filters are added to parquet.write_table GH-49376 OpenTelemetry is enabled in PyArrow wheels GH-49382 AzureFileSystem is now included in the Windows wheels GH-44655 Other improvements Scikit-build-core is now used as the PyArrow build system GH-36411 UUID objects are now inferred automatically in pa.scalar() and pa.array() without the need to specify the type explicitly GH-48241 Constructing an extension array via pa.array() from a list of extension-type scalars is now supported GH-48470 There have been some improvements in the documentation (GH-49278, GH-49269 and GH-28859) CSV and JSON options have improved repr/str methods GH-47389 Relevant bug fixes SparseCOOTensor.__repr__ missing f-string prefix is now fixed GH-49108 Pickling SubTreeFileSystem(base_path, AzureFileSystem(...)) is fixed GH-49078 Casting from StringArray to pandas 3.* when element is None is fixed GH-49002 Dictionary key order is now preserved when inferring struct type GH-40053 Duplicate csv header when table batches start with empty is now fixed GH-36889 R Notes New Features A number of new dplyr bindings GH-49533, GH-49256, GH-49535 and GH-49534 Compatibility notes Arrow no longer builds with GCS enabled on CRAN to avoid failures in their build systems. If you would like a full-featured build of Arrow, we recommend installing from R-universe; see the Using cloud storage article in the docs for more information. GH-49067 Relevant bug fixes to_arrow() now retains grouping GH-40640 Ruby and C GLib Notes Fixed GC related problems. GArrowListArray: Added support for returning offset buffer. GArrowLargeListArray: Added support for returning offset buffer. GArrowUnionArray: Added support for returning fields. Deprecated Feather features. Ruby We've added pure Ruby Apache Arrow writer implementation to the red-arrow-format gem. We've marked pure Ruby Apache Arrow reader implementation in the red-arrow-formatgem as stable because it passes integration tests with other implementations. But it still has some missing features. The red-arrow gem: Add support for converting to raw Ruby objects of the following arrays: Arrow::LargeBinaryArray Arrow::LargeUTF8Array Arrow::LargeListArray Arrow::FixedSizeListArray Arrow::DurationArray Arrow::DictionaryArray with Arrow::LargeBinaryArray or Arrow::LargeUTF8Array C GLib No C GLib only notes. Java, JavaScript, Go, .NET, Swift and Rust Notes The Java, JavaScript, Go, .NET, Swift and Rust projects have moved to separate repositories outside the main Arrow monorepo. For notes on the latest release of the Java implementation, see the latest Arrow Java changelog. For notes on the latest release of the JavaScript implementation, see the latest Arrow JavaScript changelog. For notes on the latest release of the Rust implementation see the latest Arrow Rust changelog. For notes on the latest release of the Go implementation, see the latest Arrow Go changelog. For notes on the latest release of the .NET implementation, see the latest Arrow .NET changelog. For notes on the latest release of the Swift implementation, see the latest Arrow Swift changelog.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" /><media:content medium="image" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Apache Arrow ADBC 23 (Libraries) Release</title><link href="https://arrow.apache.org/blog/2026/04/07/adbc-23-release/" rel="alternate" type="text/html" title="Apache Arrow ADBC 23 (Libraries) Release" /><published>2026-04-07T00:00:00-04:00</published><updated>2026-04-07T00:00:00-04:00</updated><id>https://arrow.apache.org/blog/2026/04/07/adbc-23-release</id><content type="html" xml:base="https://arrow.apache.org/blog/2026/04/07/adbc-23-release/"><![CDATA[<!--

-->
<p>The Apache Arrow team is pleased to announce the version 23 release of
the Apache Arrow ADBC libraries. This release includes <a href="https://github.com/apache/arrow-adbc/milestone/27"><strong>41
resolved issues</strong></a> from <a href="#contributors"><strong>20 distinct contributors</strong></a>.</p>
<p>This is a release of the <strong>libraries</strong>, which are at version 23.  The
<a href="https://arrow.apache.org/adbc/23/format/specification.html"><strong>API specification</strong></a> is versioned separately and is at
version 1.1.0.</p>
<p>The subcomponents are versioned independently:</p>
<ul>
<li>C/C++/GLib/Go/Python/Ruby: 1.11.0</li>
<li>C#: 0.23.0</li>
<li>Java: 0.23.0</li>
<li>R: 0.23.0</li>
<li>Rust: 0.23.0</li>
</ul>
<p>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 <a href="https://github.com/apache/arrow-adbc/blob/apache-arrow-adbc-23/CHANGELOG.md">complete changelog</a>.</p>
<h2>Release Highlights</h2>
<p>A breaking change has been made to the Rust APIs (pre-1.0): returned
<code>RecordBatchReader</code>s are now type-erased and boxed for caller flexibility;
this also fixes the returned reader lifetime accidentally being tied to input
argument lifetimes (<a href="https://github.com/apache/arrow-adbc/pull/3904">#3904</a>).</p>
<p>A driver manager for Node.js is now available from NPM
(<a href="https://github.com/apache/arrow-adbc/pull/4046">#4046</a>,
<a href="https://github.com/apache/arrow-adbc/pull/4091">#4091</a>,
<a href="https://github.com/apache/arrow-adbc/pull/4116">#4116</a>,
<a href="https://github.com/apache/arrow-adbc/pull/4125">#4125</a>, etc.).</p>
<p>The C++ and Rust driver managers now support <a href="https://arrow.apache.org/adbc/current/format/connection_profiles.html">connection
profiles</a>
(<a href="https://github.com/apache/arrow-adbc/pull/3876">#3876</a>,
<a href="https://github.com/apache/arrow-adbc/pull/3973">#3973</a>,
<a href="https://github.com/apache/arrow-adbc/pull/4080">#4080</a>,
<a href="https://github.com/apache/arrow-adbc/pull/4083">#4083</a> etc.). (Note that
other bindings that use the C++ driver manager, including GLib/Ruby, Go, Java,
Python, R, and so on, inherit this support.)</p>
<p>The Go APIs have added interfaces that always take a <code>context.Context</code> for
consistency, and to make sure context like telemetry traces propagate properly
(<a href="https://github.com/apache/arrow-adbc/pull/4009">#4009</a>).</p>
<p>The Python driver manager has added specific parameters for using <a href="https://arrow.apache.org/adbc/current/format/connection_profiles.html">connection
profiles</a>
as well (<a href="https://github.com/apache/arrow-adbc/pull/4078">#4078</a>,
<a href="https://github.com/apache/arrow-adbc/pull/4118">#4118</a>). Also, non-string
option values are directly accepted for convenience
(<a href="https://github.com/apache/arrow-adbc/pull/4088">#4088</a>). <code>adbc_get_statistics</code>
has been added (<a href="https://github.com/apache/arrow-adbc/pull/4129">#4129</a>).</p>
<p>The JNI bindings (allowing use of C/C++/Go/Rust/etc. drivers from Java) now
support more functions (GetObjects, GetInfo, ExecuteSchema, etc.)
(<a href="https://github.com/apache/arrow-adbc/pull/3966">#3966</a>,
<a href="https://github.com/apache/arrow-adbc/pull/3972">#3972</a>,
<a href="https://github.com/apache/arrow-adbc/pull/4056">#4056</a>).</p>
<p>Packages are now being uploaded to
<a href="https://formulae.brew.sh/formula/apache-arrow-adbc">Homebrew</a>
(<a href="https://github.com/apache/arrow-adbc/pull/4131">#4131</a>).</p>
<p>Python wheels now require <code>manylinux_2_28</code>, up from <code>manylinux2010</code>, following
PyArrow (<a href="https://github.com/apache/arrow-adbc/pull/4146">#4146</a>).  On macOS,
macOS 12 is now the minimum version due to upgrading to Go 1.25+ (including on
conda-forge, where the packages previously pinned Go 1.24 to avoid this).</p>
<p>The PostgreSQL driver tries to reconcile Arrow NA arrays with PostgreSQL types
when binding (<a href="https://github.com/apache/arrow-adbc/pull/4098">#4098</a>). Also,
a bug in conversion from Arrow decimals to PostgreSQL numerics has been fixed
(<a href="https://github.com/apache/arrow-adbc/pull/3787">#3787</a>).</p>
<p>The SQLite driver now enables various optional features, like math functions
(<a href="https://github.com/apache/arrow-adbc/pull/4147">#4147</a>).</p>
<h2>Contributors</h2>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ git shortlog --perl-regexp --author='^((?!dependabot\[bot\]).*)$' -sn apache-arrow-adbc-22..apache-arrow-adbc-23
    35	David Li
    12	Kent Wu
    10	Matt Topol
     8	eitsupi
     6	Bryce Mecum
     5	Bruce Irschick
     4	Mandukhai Alimaa
     3	Emil Sadek
     3	Tornike Gurgenidze
     2	Dewey Dunnington
     2	Felipe Oliveira Carvalho
     2	eric-wang-1990
     1	Curt Hagenlocher
     1	Ian Cook
     1	Madhavendra Rathore
     1	Mila Page
     1	Pavel Agafonov
     1	Roshan Banisetti
     1	davidhcoe
     1	oglego
</code></pre></div></div>
<h2>Roadmap</h2>
<p>We are working on the next revision of the API standard, focusing on missing
features (primarily metadata/catalog data). We welcome anyone interested in
contributing. Current progress can be found in the <a href="https://github.com/apache/arrow-adbc/milestone/9">1.2.0 specification
milestone</a>.</p>
<h2>Getting Involved</h2>
<p>We welcome questions and contributions from all interested.  Issues
can be filed on <a href="https://github.com/apache/arrow-adbc/issues">GitHub</a>, and questions can be directed to GitHub
or the <a href="/community/">Arrow mailing lists</a>.</p>]]></content><author><name>pmc</name></author><category term="release" /><summary type="html"><![CDATA[The Apache Arrow team is pleased to announce the version 23 release of the Apache Arrow ADBC libraries. This release includes 41 resolved issues from 20 distinct contributors. This is a release of the libraries, which are at version 23. 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.11.0 C#: 0.23.0 Java: 0.23.0 R: 0.23.0 Rust: 0.23.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 A breaking change has been made to the Rust APIs (pre-1.0): returned RecordBatchReaders are now type-erased and boxed for caller flexibility; this also fixes the returned reader lifetime accidentally being tied to input argument lifetimes (#3904). A driver manager for Node.js is now available from NPM (#4046, #4091, #4116, #4125, etc.). The C++ and Rust driver managers now support connection profiles (#3876, #3973, #4080, #4083 etc.). (Note that other bindings that use the C++ driver manager, including GLib/Ruby, Go, Java, Python, R, and so on, inherit this support.) The Go APIs have added interfaces that always take a context.Context for consistency, and to make sure context like telemetry traces propagate properly (#4009). The Python driver manager has added specific parameters for using connection profiles as well (#4078, #4118). Also, non-string option values are directly accepted for convenience (#4088). adbc_get_statistics has been added (#4129). The JNI bindings (allowing use of C/C++/Go/Rust/etc. drivers from Java) now support more functions (GetObjects, GetInfo, ExecuteSchema, etc.) (#3966, #3972, #4056). Packages are now being uploaded to Homebrew (#4131). Python wheels now require manylinux_2_28, up from manylinux2010, following PyArrow (#4146). On macOS, macOS 12 is now the minimum version due to upgrading to Go 1.25+ (including on conda-forge, where the packages previously pinned Go 1.24 to avoid this). The PostgreSQL driver tries to reconcile Arrow NA arrays with PostgreSQL types when binding (#4098). Also, a bug in conversion from Arrow decimals to PostgreSQL numerics has been fixed (#3787). The SQLite driver now enables various optional features, like math functions (#4147). Contributors $ git shortlog --perl-regexp --author='^((?!dependabot\[bot\]).*)$' -sn apache-arrow-adbc-22..apache-arrow-adbc-23 35 David Li 12 Kent Wu 10 Matt Topol 8 eitsupi 6 Bryce Mecum 5 Bruce Irschick 4 Mandukhai Alimaa 3 Emil Sadek 3 Tornike Gurgenidze 2 Dewey Dunnington 2 Felipe Oliveira Carvalho 2 eric-wang-1990 1 Curt Hagenlocher 1 Ian Cook 1 Madhavendra Rathore 1 Mila Page 1 Pavel Agafonov 1 Roshan Banisetti 1 davidhcoe 1 oglego Roadmap We are working on the next revision of the API standard, focusing on missing features (primarily metadata/catalog data). We welcome anyone interested in contributing. Current progress can be found in the 1.2.0 specification milestone. 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.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" /><media:content medium="image" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Community Highlights 2025</title><link href="https://arrow.apache.org/blog/2026/03/19/arrow-2025-highlights/" rel="alternate" type="text/html" title="Community Highlights 2025" /><published>2026-03-19T00:00:00-04:00</published><updated>2026-03-19T00:00:00-04:00</updated><id>https://arrow.apache.org/blog/2026/03/19/arrow-2025-highlights</id><content type="html" xml:base="https://arrow.apache.org/blog/2026/03/19/arrow-2025-highlights/"><![CDATA[<!--

-->
<p>As you may have read in a previous blog post <sup class="footnote-ref"><a href="#fn1" id="fnref1">1</a></sup>, the Apache Arrow project
recently turned 10 years old. We are grateful to everyone who helped us
achieve this milestone, and we wanted to celebrate the community's
accomplishments, by publishing our community highlights from 2025.</p>
<p>We were inspired by the research by Dr Cat Hicks et al <sup class="footnote-ref"><a href="#fn2" id="fnref2">2</a></sup>, who found
that concrete evidence of progress and accomplishments is instrumental
to motivation and collaboration in developer teams. We think the same
should hold for open source.</p>
<hr />
<h2>New contributors</h2>
<p>It has been great to see many new contributors joining the project
in the past year, with over 300 such individuals observed across the main
Apache Arrow language implementations.</p>
<table class="table">
  <caption>Number of new contributors per repository.</caption>
  <thead style="background-color: #e9ecef">
    <tr>
      <th>Repository/Implementation</th>
      <th>Number of new contributors</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>arrow</td>
      <td>125</td>
    </tr>
    <tr>
      <td>arrow-rs</td>
      <td>132</td>
    </tr>
    <tr>
      <td>arrow-java</td>
      <td>28</td>
    </tr>
    <tr>
      <td>arrow-go</td>
      <td>35</td>
    </tr>
  </tbody>
</table>
<p>Worth highlighting is <a href="https://github.com/alinaliBQ">alinaliBQ</a> who
has been very active on the C++ Flight SQL ODBC Driver work together
with <a href="https://github.com/justing-bq">justing-bq</a>.</p>
<p><a href="https://github.com/AntoinePrv">AntoinePrv</a> has done a huge amount of
work on the C++ Parquet implementation and <a href="https://github.com/andishgar">andishgar</a>
in the C++ Statistics area.</p>
<p><a href="https://github.com/rmnskb">rmnskb</a> got involved with PyArrow in
EuroPython sprints and has contributed multiple PRs since then. On the
same event <a href="https://github.com/paddyroddy">paddyroddy</a> also started with
his first contribution and helped on the Python packaging side further on.</p>
<p><a href="https://github.com/sdf-jkl">sdf-jkl</a>, <a href="https://github.com/liamzwbao">liamzwbao</a>,
<a href="https://github.com/friendlymatthew">friendlymatthew</a>, and
<a href="https://github.com/klion26">klion26</a> helped drive early Variant
functionality in the Rust Parquet implementation and contributed a number
of follow-up improvements.</p>
<p><a href="https://github.com/jecsand838">jecsand838</a> drove major improvements to the
Rust <code>arrow-avro</code> crate, work highlighted in the
<a href="https://arrow.apache.org/blog/2025/10/23/introducing-arrow-avro/">Introducing Arrow Avro</a>
blog post.</p>
<table class="table">
  <caption>Notable New Contributors in apache/arrow for 2025.</caption>
  <thead style="background-color: #e9ecef">
    <tr>
      <th>Author</th>
      <th>Number of prs</th>
      <th>Number of line changes (+ and -)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>alinaliBQ</td>
      <td>36</td>
      <td>15754</td>
    </tr>
    <tr>
      <td>andishgar</td>
      <td>19</td>
      <td>2926</td>
    </tr>
    <tr>
      <td>AntoinePrv</td>
      <td>8</td>
      <td>79257</td>
    </tr>
    <tr>
      <td>rmnskb</td>
      <td>7</td>
      <td>550</td>
    </tr>
    <tr>
      <td>justing-bq</td>
      <td>4</td>
      <td>12607</td>
    </tr>
  </tbody>
</table>
<table class="table">
  <caption>Notable New Contributors in apache/arrow-rs for 2025.</caption>
  <thead style="background-color: #e9ecef">
    <tr>
      <th>Author</th>
      <th>Number of prs</th>
      <th>Number of line changes (+ and -)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>scovich</td>
      <td>50</td>
      <td>21006</td>
    </tr>
    <tr>
      <td>jecsand838</td>
      <td>38</td>
      <td>26753</td>
    </tr>
    <tr>
      <td>friendlymatthew</td>
      <td>33</td>
      <td>7203</td>
    </tr>
    <tr>
      <td>sdf-jkl</td>
      <td>4</td>
      <td>388</td>
    </tr>
    <tr>
      <td>rambleraptor</td>
      <td>4</td>
      <td>333</td>
    </tr>
  </tbody>
</table>
<table class="table">
  <caption>Notable New Contributors in apache/arrow-go for 2025.</caption>
  <thead style="background-color: #e9ecef">
    <tr>
      <th>Author</th>
      <th>Number of prs</th>
      <th>Number of line changes (+ and -)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Mandukhai-Alimaa</td>
      <td>6</td>
      <td>1392</td>
    </tr>
    <tr>
      <td>hamilton-earthscope</td>
      <td>5</td>
      <td>2998</td>
    </tr>
  </tbody>
</table>
<h2>Release, Packaging and CI</h2>
<p>A lot of work has been done around the Continuous Integration and
Developer Tools area. Ensuring a project with the reach of Arrow is properly working
requires validation on a huge matrix of operating systems, architectures, libraries,
versions. Needless to say that maintenance work has tremendous importance for the
health of the project and the positive contributor experience.</p>
<p>The most active contributors in the main repository are the ones contributing
heavily on those areas while also providing the most review capacity. Shout out
to <a href="https://github.com/kou">kou</a> and <a href="https://github.com/raulcd">raulcd</a> for
taking such good care of the project and devoting countless hours so that everything
runs smoothly.</p>
<p>Notable contributions worth mentioning are enhanced release automation and
reproducible builds for sources, migrating remaining AppVeyor and Azure jobs
to GitHub actions, improving dev experience with more pre-commit checks instead
of custom made linting tools.</p>
<p>Moving some implementations out of the main repository (apache/arrow on GitHub)
helped with easier releases and maintenance of the main repository and also of
separate language implementations. The current apache/arrow repo now holds the format
specification, C++ implementation together with all the bindings to it (Python, R, Ruby
and C GLib). Other languages now live in their own apache/ repos namely
<a href="https://github.com/apache/arrow-java">apache/arrow-java</a>,
<a href="https://github.com/apache/arrow-js">apache/arrow-js</a>,
<a href="https://github.com/apache/arrow-rs">apache/arrow-rs</a>,
<a href="https://github.com/apache/arrow-go">apache/arrow-go</a>,
<a href="https://github.com/apache/arrow-nanoarrow">apache/arrow-nanoarrow</a>,
<a href="https://github.com/apache/arrow-dotnet">apache/arrow-dotnet</a> and
<a href="https://github.com/apache/arrow-swift">apache/arrow-swift</a>.</p>
<table class="table">
  <caption>Notable Contributors in apache/arrow for 2025.</caption>
  <thead style="background-color: #e9ecef">
    <tr>
      <th>Author</th>
      <th>Number of prs</th>
      <th>Number of line changes (+ and -)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>kou</td>
      <td>221</td>
      <td>141015</td>
    </tr>
    <tr>
      <td>AntoinePrv</td>
      <td>8</td>
      <td>79257</td>
    </tr>
    <tr>
      <td>raulcd</td>
      <td>110</td>
      <td>46645</td>
    </tr>
    <tr>
      <td>pitrou</td>
      <td>101</td>
      <td>36585</td>
    </tr>
    <tr>
      <td>jbonofre</td>
      <td>1</td>
      <td>20061</td>
    </tr>
  </tbody>
</table>
<table class="table">
  <caption>Notable Components in apache/arrow for 2025.</caption>
  <thead style="background-color: #e9ecef">
    <tr>
      <th>Component label</th>
      <th>Number of merged prs</th>
      <th>Number of line changes (+ and -)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Parquet</td>
      <td>100</td>
      <td>103828</td>
    </tr>
    <tr>
      <td>C++</td>
      <td>387</td>
      <td>82744</td>
    </tr>
    <tr>
      <td>FlightRPC</td>
      <td>43</td>
      <td>52659</td>
    </tr>
    <tr>
      <td>CI</td>
      <td>237</td>
      <td>42249</td>
    </tr>
    <tr>
      <td>Ruby</td>
      <td>74</td>
      <td>20676</td>
    </tr>
  </tbody>
</table>
<h2>Migration of infrastructure from Voltron Data</h2>
<p>As Voltron Data has wound down its operations in 2025, the Arrow project
had to migrate benchmarking infrastructure and nightly report from
Voltron-managed services to an Arrow-managed AWS account. This work has been
driven by <a href="https://github.com/rok">rok</a>.</p>
<h2>Closing of Stale issues</h2>
<p><a href="https://github.com/thisisnic">thisisnic</a> was working on closing of stale
issues in the apache/arrow repository which helped surfacing important
issues that were overlooked or forgotten.</p>
<h2>Code contributions</h2>
<h3>C++ implementation</h3>
<p>Community support for maintenance and development of the Acero C++
is continuing with multiple bigger contributions in 2025 done by
<a href="https://github.com/pitrou">pitrou</a> and <a href="https://github.com/zanmato1984">zanmato1984</a>.</p>
<p>Many kernels have been moved from the integrated compute module into
a separate, optional package for improvement of modularity and distribution
size when optional compute functionality is not being used. The work has
been done by <a href="https://github.com/raulcd">raulcd</a>.</p>
<h3>Arrow C++ Parquet implementation</h3>
<p>There have been multiple contributions to fix and improve fuzzing
support for Parquet. Fuzzing work is led by <a href="https://github.com/pitrou">pitrou</a>
who is also one of the most active members of the community guiding other
developers and supporting us with abundant review capacity.</p>
<p>Multiple newer types have also been supported in the last year,
namely: VARIANT, UUID, GEOMETRY and GEOGRAPHY contributed
by <a href="https://github.com/neilechao">neilechao</a> and
<a href="https://github.com/paleolimbot">paleolimbot</a>.</p>
<p>An important feature added has also been Content-Defined Chunking
which improves deduplication of Parquet files with mostly identical
contents, by choosing data page boundaries based on actual contents
rather than a number of values <sup class="footnote-ref"><a href="#fn3" id="fnref3">3</a></sup>. This work has been done by
<a href="https://github.com/kszucs">kszucs</a>.</p>
<p>There have been improvements in the Parquet encryption support for
most of the releases in the last year. These efforts have been
driven mostly by <a href="https://github.com/EnricoMi">EnricoMi</a>,
<a href="https://github.com/pitrou">pitrou</a>, <a href="https://github.com/adamreeve">adamreeve</a>
and <a href="https://github.com/kapoisu">kapoisu</a>.</p>
<h3>PyArrow</h3>
<p>A lot of work has been put into adding type annotations. It all
started in July at EuroPython sprints and the code is now ready to be
reviewed and merged. Some more review capacity will be needed to get
this over the finish line. The work has been championed by
<a href="https://github.com/rok">rok</a>.</p>
<h3>Rust</h3>
<p>Arrow Rust community invested heavily in the Rust parquet reader for
which they created several blog posts <sup class="footnote-ref"><a href="#fn4" id="fnref4">4</a></sup>, <sup class="footnote-ref"><a href="#fn5" id="fnref5">5</a></sup>. The work has been
championed by <a href="https://github.com/alamb">alamb</a> and
<a href="https://github.com/etseidl">etseidl</a>.</p>
<table class="table">
  <caption>Notable Components in apache/arrow-rs for 2025.</caption>
  <thead style="background-color: #e9ecef">
    <tr>
      <th>component</th>
      <th>merged_prs</th>
      <th>line_changes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>parquet</td>
      <td>333</td>
      <td>140958</td>
    </tr>
    <tr>
      <td>arrow</td>
      <td>436</td>
      <td>76590</td>
    </tr>
    <tr>
      <td>parquet-variant</td>
      <td>125</td>
      <td>41832</td>
    </tr>
    <tr>
      <td>api-change</td>
      <td>59</td>
      <td>33938</td>
    </tr>
    <tr>
      <td>arrow-avro</td>
      <td>48</td>
      <td>29487</td>
    </tr>
  </tbody>
</table>
<h3>Java</h3>
<p>The biggest changes in apache/arrow-java for 2025 have been connected
to Flight and Avro components plus Sphinx support due to the Java
implementation being moved into a separate Apache repository.
Contributors involved in the above are <a href="https://github.com/lidavidm">lidavidm</a>
and <a href="https://github.com/martin-traverse">martin-traverse</a>.</p>
<h3>Go</h3>
<p>There has been a lot of work related to new variant type in the
Parquet implementation done in apache/arrow-go all by
<a href="https://github.com/zeroshade">zeroshade</a>.</p>
<p>Noticeable emphasis was also visible on performance-focused PRs leading to
the addition of row seeking, bloom filter reading/writing, and reduction of
allocations in the Parquet library along with significant optimization work
in the <code>compute.Take</code> kernels. Shout out to <a href="https://github.com/pixelherodev">pixelherodev</a>
and <a href="https://github.com/hamilton-earthscope">hamilton-earthscope</a> for the
emphasis they placed on improving performance.</p>
<table class="table">
  <caption>Notable Components in apache/arrow-go for 2025.</caption>
  <thead style="background-color: #e9ecef">
    <tr>
      <th>component</th>
      <th>merged_prs</th>
      <th>line_changes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>parquet</td>
      <td>34</td>
      <td>27056</td>
    </tr>
    <tr>
      <td>arrow</td>
      <td>33</td>
      <td>14235</td>
    </tr>
  </tbody>
</table>
<h3>Nanoarrow</h3>
<p>Bigger work in nanoarrow include Decimal32/64 and ListView/LargeListView support,
LZ4 and ZSTD decompression in the IPC reader, and broader packaging via Conan, Homebrew,
and vcpkg. Contributors driving most above are <a href="https://github.com/paleolimbot">paleolimbot</a>
and <a href="https://github.com/WillAyd">WillAyd</a>.</p>
<hr />
<h2>Arrow Summit 25</h2>
<p>One last thing to highlight would be our first Arrow Summit 25 that
was held in Paris in October 2025. The event was a great success and
it brought users, contributors and maintainers together. It
definitely was a highlight of the year for many of us. Thanks to
<a href="https://github.com/raulcd">raulcd</a> and <a href="https://github.com/pitrou">pitrou</a>
for organizing the event.</p>
<img src="/img/arrow_summit.jpeg" alt="Arrow Summit 25 group picture" width="100%">
<hr />
<h2>Thank you!</h2>
<p>We would like to thank every single contributor to Apache Arrow for
being a part of this great community and project! Hope this blog
post helps to validate all the work you have done and motivates us
to continue collaborating and growing together!</p>
<hr />
<br>
<p>The Notebooks with the analysis for this blog post can be found
in <sup class="footnote-ref"><a href="#fn6" id="fnref6">6</a></sup>.</p>
<p>Note not all language implementations are mentioned. Some due to being
moved into a separate repository in 2025 resulting in missing information
for large amount of merged pull requests. Others due to having lower
number of bigger contributions in the past year.</p>
<hr />
<section class="footnotes">
<ol>
<li id="fn1">
<p><a href="https://arrow.apache.org/blog/2026/02/12/arrow-anniversary/">Apache Arrow is 10 years old 🎉</a> <a href="#fnref1" class="footnote-backref">↩</a></p>
</li>
<li id="fn2">
<p><a href="https://ieeexplore.ieee.org/abstract/document/10491133">Developer Thriving: Four Sociocognitive Factors That Create Resilient Productivity on Software Teams</a> <a href="#fnref2" class="footnote-backref">↩</a></p>
</li>
<li id="fn3">
<p><a href="https://huggingface.co/blog/parquet-cdc">Parquet Content-Defined Chunking</a> <a href="#fnref3" class="footnote-backref">↩</a></p>
</li>
<li id="fn4">
<p><a href="https://arrow.apache.org/blog/2025/12/11/parquet-late-materialization-deep-dive/">A Practical Dive Into Late Materialization in arrow-rs Parquet Reads</a> <a href="#fnref4" class="footnote-backref">↩</a></p>
</li>
<li id="fn5">
<p><a href="https://arrow.apache.org/blog/2025/10/23/rust-parquet-metadata/">3x-9x Faster Apache Parquet Footer Metadata Using a Custom Thrift Parser in Rust</a> <a href="#fnref5" class="footnote-backref">↩</a></p>
</li>
<li id="fn6">
<p><a href="https://github.com/arrow-maintenance/explorations/tree/main/yearly_highlights">arrow-maintenance/explorations</a> <a href="#fnref6" class="footnote-backref">↩</a></p>
</li>
</ol>
</section>]]></content><author><name>pmc</name></author><category term="arrow" /><summary type="html"><![CDATA[As you may have read in a previous blog post 1, the Apache Arrow project recently turned 10 years old. We are grateful to everyone who helped us achieve this milestone, and we wanted to celebrate the community's accomplishments, by publishing our community highlights from 2025. We were inspired by the research by Dr Cat Hicks et al 2, who found that concrete evidence of progress and accomplishments is instrumental to motivation and collaboration in developer teams. We think the same should hold for open source. New contributors It has been great to see many new contributors joining the project in the past year, with over 300 such individuals observed across the main Apache Arrow language implementations. Number of new contributors per repository. Repository/Implementation Number of new contributors arrow 125 arrow-rs 132 arrow-java 28 arrow-go 35 Worth highlighting is alinaliBQ who has been very active on the C++ Flight SQL ODBC Driver work together with justing-bq. AntoinePrv has done a huge amount of work on the C++ Parquet implementation and andishgar in the C++ Statistics area. rmnskb got involved with PyArrow in EuroPython sprints and has contributed multiple PRs since then. On the same event paddyroddy also started with his first contribution and helped on the Python packaging side further on. sdf-jkl, liamzwbao, friendlymatthew, and klion26 helped drive early Variant functionality in the Rust Parquet implementation and contributed a number of follow-up improvements. jecsand838 drove major improvements to the Rust arrow-avro crate, work highlighted in the Introducing Arrow Avro blog post. Notable New Contributors in apache/arrow for 2025. Author Number of prs Number of line changes (+ and -) alinaliBQ 36 15754 andishgar 19 2926 AntoinePrv 8 79257 rmnskb 7 550 justing-bq 4 12607 Notable New Contributors in apache/arrow-rs for 2025. Author Number of prs Number of line changes (+ and -) scovich 50 21006 jecsand838 38 26753 friendlymatthew 33 7203 sdf-jkl 4 388 rambleraptor 4 333 Notable New Contributors in apache/arrow-go for 2025. Author Number of prs Number of line changes (+ and -) Mandukhai-Alimaa 6 1392 hamilton-earthscope 5 2998 Release, Packaging and CI A lot of work has been done around the Continuous Integration and Developer Tools area. Ensuring a project with the reach of Arrow is properly working requires validation on a huge matrix of operating systems, architectures, libraries, versions. Needless to say that maintenance work has tremendous importance for the health of the project and the positive contributor experience. The most active contributors in the main repository are the ones contributing heavily on those areas while also providing the most review capacity. Shout out to kou and raulcd for taking such good care of the project and devoting countless hours so that everything runs smoothly. Notable contributions worth mentioning are enhanced release automation and reproducible builds for sources, migrating remaining AppVeyor and Azure jobs to GitHub actions, improving dev experience with more pre-commit checks instead of custom made linting tools. Moving some implementations out of the main repository (apache/arrow on GitHub) helped with easier releases and maintenance of the main repository and also of separate language implementations. The current apache/arrow repo now holds the format specification, C++ implementation together with all the bindings to it (Python, R, Ruby and C GLib). Other languages now live in their own apache/ repos namely apache/arrow-java, apache/arrow-js, apache/arrow-rs, apache/arrow-go, apache/arrow-nanoarrow, apache/arrow-dotnet and apache/arrow-swift. Notable Contributors in apache/arrow for 2025. Author Number of prs Number of line changes (+ and -) kou 221 141015 AntoinePrv 8 79257 raulcd 110 46645 pitrou 101 36585 jbonofre 1 20061 Notable Components in apache/arrow for 2025. Component label Number of merged prs Number of line changes (+ and -) Parquet 100 103828 C++ 387 82744 FlightRPC 43 52659 CI 237 42249 Ruby 74 20676 Migration of infrastructure from Voltron Data As Voltron Data has wound down its operations in 2025, the Arrow project had to migrate benchmarking infrastructure and nightly report from Voltron-managed services to an Arrow-managed AWS account. This work has been driven by rok. Closing of Stale issues thisisnic was working on closing of stale issues in the apache/arrow repository which helped surfacing important issues that were overlooked or forgotten. Code contributions C++ implementation Community support for maintenance and development of the Acero C++ is continuing with multiple bigger contributions in 2025 done by pitrou and zanmato1984. Many kernels have been moved from the integrated compute module into a separate, optional package for improvement of modularity and distribution size when optional compute functionality is not being used. The work has been done by raulcd. Arrow C++ Parquet implementation There have been multiple contributions to fix and improve fuzzing support for Parquet. Fuzzing work is led by pitrou who is also one of the most active members of the community guiding other developers and supporting us with abundant review capacity. Multiple newer types have also been supported in the last year, namely: VARIANT, UUID, GEOMETRY and GEOGRAPHY contributed by neilechao and paleolimbot. An important feature added has also been Content-Defined Chunking which improves deduplication of Parquet files with mostly identical contents, by choosing data page boundaries based on actual contents rather than a number of values 3. This work has been done by kszucs. There have been improvements in the Parquet encryption support for most of the releases in the last year. These efforts have been driven mostly by EnricoMi, pitrou, adamreeve and kapoisu. PyArrow A lot of work has been put into adding type annotations. It all started in July at EuroPython sprints and the code is now ready to be reviewed and merged. Some more review capacity will be needed to get this over the finish line. The work has been championed by rok. Rust Arrow Rust community invested heavily in the Rust parquet reader for which they created several blog posts 4, 5. The work has been championed by alamb and etseidl. Notable Components in apache/arrow-rs for 2025. component merged_prs line_changes parquet 333 140958 arrow 436 76590 parquet-variant 125 41832 api-change 59 33938 arrow-avro 48 29487 Java The biggest changes in apache/arrow-java for 2025 have been connected to Flight and Avro components plus Sphinx support due to the Java implementation being moved into a separate Apache repository. Contributors involved in the above are lidavidm and martin-traverse. Go There has been a lot of work related to new variant type in the Parquet implementation done in apache/arrow-go all by zeroshade. Noticeable emphasis was also visible on performance-focused PRs leading to the addition of row seeking, bloom filter reading/writing, and reduction of allocations in the Parquet library along with significant optimization work in the compute.Take kernels. Shout out to pixelherodev and hamilton-earthscope for the emphasis they placed on improving performance. Notable Components in apache/arrow-go for 2025. component merged_prs line_changes parquet 34 27056 arrow 33 14235 Nanoarrow Bigger work in nanoarrow include Decimal32/64 and ListView/LargeListView support, LZ4 and ZSTD decompression in the IPC reader, and broader packaging via Conan, Homebrew, and vcpkg. Contributors driving most above are paleolimbot and WillAyd. Arrow Summit 25 One last thing to highlight would be our first Arrow Summit 25 that was held in Paris in October 2025. The event was a great success and it brought users, contributors and maintainers together. It definitely was a highlight of the year for many of us. Thanks to raulcd and pitrou for organizing the event. Thank you! We would like to thank every single contributor to Apache Arrow for being a part of this great community and project! Hope this blog post helps to validate all the work you have done and motivates us to continue collaborating and growing together! The Notebooks with the analysis for this blog post can be found in 6. Note not all language implementations are mentioned. Some due to being moved into a separate repository in 2025 resulting in missing information for large amount of merged pull requests. Others due to having lower number of bigger contributions in the past year. Apache Arrow is 10 years old 🎉 ↩ Developer Thriving: Four Sociocognitive Factors That Create Resilient Productivity on Software Teams ↩ Parquet Content-Defined Chunking ↩ A Practical Dive Into Late Materialization in arrow-rs Parquet Reads ↩ 3x-9x Faster Apache Parquet Footer Metadata Using a Custom Thrift Parser in Rust ↩ arrow-maintenance/explorations ↩]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" /><media:content medium="image" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Apache Arrow Java 19.0.0 Release</title><link href="https://arrow.apache.org/blog/2026/03/16/arrow-java-19.0.0/" rel="alternate" type="text/html" title="Apache Arrow Java 19.0.0 Release" /><published>2026-03-16T00:00:00-04:00</published><updated>2026-03-16T00:00:00-04:00</updated><id>https://arrow.apache.org/blog/2026/03/16/arrow-java-19.0.0</id><content type="html" xml:base="https://arrow.apache.org/blog/2026/03/16/arrow-java-19.0.0/"><![CDATA[<!--

-->
<p>The Apache Arrow team is pleased to announce the <a href="https://github.com/apache/arrow-java/releases/tag/v19.0.0">v19.0.0</a> release of Apache Arrow Java.</p>
<h2>Changelog</h2>
<h3>What's Changed</h3>
<h4>Breaking Changes</h4>
<ul>
<li>GH-774: Consoliate BitVectorHelper.getValidityBufferSize and BaseValueVector.getValidityBufferSizeFromCount by @rtadepalli in <a href="https://github.com/apache/arrow-java/pull/775">#775</a></li>
<li>GH-586: Override fixedSizeBinary method for UnionMapWriter by @axreldable in <a href="https://github.com/apache/arrow-java/pull/885">#885</a></li>
<li>GH-891: Add ExtensionTypeWriterFactory to TransferPair by @jhrotko in <a href="https://github.com/apache/arrow-java/pull/892">#892</a></li>
<li>GH-948: Use buffer indexing for UUID vector by @jhrotko in <a href="https://github.com/apache/arrow-java/pull/949">#949</a></li>
<li>GH-139: [Flight] Stop return null from MetadataAdapter.getAll(String) and getAllByte(String) by @axreldable in <a href="https://github.com/apache/arrow-java/pull/1016">#1016</a></li>
</ul>
<h4>New Features and Enhancements</h4>
<ul>
<li>GH-52: Make RangeEqualsVisitor of RunEndEncodedVector more efficient by @ViggoC in <a href="https://github.com/apache/arrow-java/pull/761">#761</a></li>
<li>GH-765: Do not close/free imported BaseStruct objects by @pepijnve in <a href="https://github.com/apache/arrow-java/pull/766">#766</a></li>
<li>GH-79: Move splitAndTransferValidityBuffer to BaseValueVector by @rtadepalli in <a href="https://github.com/apache/arrow-java/pull/777">#777</a></li>
<li>GH-731: Avro adapter, output dictionary-encoded fields as enums by @martin-traverse in <a href="https://github.com/apache/arrow-java/pull/779">#779</a></li>
<li>GH-725: Added ExtensionReader by @xxlaykxx in <a href="https://github.com/apache/arrow-java/pull/726">#726</a></li>
<li>GH-882: Add support for loading native library from a user specified location by @pepijnve in <a href="https://github.com/apache/arrow-java/pull/883">#883</a></li>
<li>GH-109: Implement Vector Validators for StringView by @ViggoC in <a href="https://github.com/apache/arrow-java/pull/886">#886</a></li>
<li>GH-900: Fix gandiva groupId in arrow-bom by @XN137 in <a href="https://github.com/apache/arrow-java/pull/901">#901</a></li>
<li>GH-762: Implement VectorAppender for RunEndEncodedVector by @ViggoC in <a href="https://github.com/apache/arrow-java/pull/884">#884</a></li>
<li>GH-825: Add UUID canonical extension type by @jhrotko in <a href="https://github.com/apache/arrow-java/pull/903">#903</a></li>
<li>GH-110: Flight SQL JDBC related StringView components implementation by @ViggoC in <a href="https://github.com/apache/arrow-java/pull/905">#905</a></li>
<li>GH-863: [JDBC] Suppress benign exceptions from gRPC layer on ArrowFlightSqlClientHandler#close by @ennuite in <a href="https://github.com/apache/arrow-java/pull/910">#910</a></li>
<li>GH-929: Add UUID support in JDBC driver by @xborder in <a href="https://github.com/apache/arrow-java/pull/930">#930</a></li>
<li>GH-952: Add OAuth support by @xborder in <a href="https://github.com/apache/arrow-java/pull/953">#953</a></li>
<li>GH-946: Add Variant extension type support by @tmater in <a href="https://github.com/apache/arrow-java/pull/947">#947</a></li>
<li>GH-130: Fix AutoCloseables to work with @nullable structures by @axreldable in <a href="https://github.com/apache/arrow-java/pull/1017">#1017</a></li>
<li>GH-1038: Trim object memory for ArrowBuf by @lriggs in <a href="https://github.com/apache/arrow-java/pull/1044">#1044</a></li>
<li>GH-1061: Add codegen classifier jar for arrow-vector. by @lriggs in <a href="https://github.com/apache/arrow-java/pull/1062">#1062</a></li>
<li>GH-301: [Vector] Allow adding a vector at the end of VectorSchemaRoot by @axreldable in <a href="https://github.com/apache/arrow-java/pull/1013">#1013</a></li>
<li>GH-552: [Vector] Add absent methods to the UnionFixedSizeListWriter by @axreldable in <a href="https://github.com/apache/arrow-java/pull/1052">#1052</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/apache/arrow-java/commits/v19.0.0">changelog</a></p>]]></content><author><name>pmc</name></author><category term="release" /><summary type="html"><![CDATA[The Apache Arrow team is pleased to announce the v19.0.0 release of Apache Arrow Java. Changelog What's Changed Breaking Changes GH-774: Consoliate BitVectorHelper.getValidityBufferSize and BaseValueVector.getValidityBufferSizeFromCount by @rtadepalli in #775 GH-586: Override fixedSizeBinary method for UnionMapWriter by @axreldable in #885 GH-891: Add ExtensionTypeWriterFactory to TransferPair by @jhrotko in #892 GH-948: Use buffer indexing for UUID vector by @jhrotko in #949 GH-139: [Flight] Stop return null from MetadataAdapter.getAll(String) and getAllByte(String) by @axreldable in #1016 New Features and Enhancements GH-52: Make RangeEqualsVisitor of RunEndEncodedVector more efficient by @ViggoC in #761 GH-765: Do not close/free imported BaseStruct objects by @pepijnve in #766 GH-79: Move splitAndTransferValidityBuffer to BaseValueVector by @rtadepalli in #777 GH-731: Avro adapter, output dictionary-encoded fields as enums by @martin-traverse in #779 GH-725: Added ExtensionReader by @xxlaykxx in #726 GH-882: Add support for loading native library from a user specified location by @pepijnve in #883 GH-109: Implement Vector Validators for StringView by @ViggoC in #886 GH-900: Fix gandiva groupId in arrow-bom by @XN137 in #901 GH-762: Implement VectorAppender for RunEndEncodedVector by @ViggoC in #884 GH-825: Add UUID canonical extension type by @jhrotko in #903 GH-110: Flight SQL JDBC related StringView components implementation by @ViggoC in #905 GH-863: [JDBC] Suppress benign exceptions from gRPC layer on ArrowFlightSqlClientHandler#close by @ennuite in #910 GH-929: Add UUID support in JDBC driver by @xborder in #930 GH-952: Add OAuth support by @xborder in #953 GH-946: Add Variant extension type support by @tmater in #947 GH-130: Fix AutoCloseables to work with @nullable structures by @axreldable in #1017 GH-1038: Trim object memory for ArrowBuf by @lriggs in #1044 GH-1061: Add codegen classifier jar for arrow-vector. by @lriggs in #1062 GH-301: [Vector] Allow adding a vector at the end of VectorSchemaRoot by @axreldable in #1013 GH-552: [Vector] Add absent methods to the UnionFixedSizeListWriter by @axreldable in #1052 Full Changelog: changelog]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" /><media:content medium="image" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Apache Arrow Go 18.5.2 Release</title><link href="https://arrow.apache.org/blog/2026/03/04/arrow-go-18.5.2/" rel="alternate" type="text/html" title="Apache Arrow Go 18.5.2 Release" /><published>2026-03-04T00:00:00-05:00</published><updated>2026-03-04T00:00:00-05:00</updated><id>https://arrow.apache.org/blog/2026/03/04/arrow-go-18.5.2</id><content type="html" xml:base="https://arrow.apache.org/blog/2026/03/04/arrow-go-18.5.2/"><![CDATA[<!--

-->
<p>The Apache Arrow team is pleased to announce the v18.5.2 release of Apache Arrow Go.
This patch release covers 16 commits from 6 distinct contributors.</p>
<h2>Contributors</h2>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code data-lang="console"><span class="gp">$</span><span class="w"> </span>git shortlog <span class="nt">-sn</span> v18.5.1..v18.5.2
<span class="go">    11	Matt Topol
     2	daniel-adam-tfs
     1	Evan Todd
     1	Rusty Conover
     1	Stas Spiridonov
     1	William
</span></code></pre></div></div>
<h2>Changelog</h2>
<h3>What's Changed</h3>
<ul>
<li>chore: bump parquet-testing submodule by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/633">#633</a></li>
<li>fix(arrow/array): handle empty binary values correctly in BinaryBuilder by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/634">#634</a></li>
<li>test(arrow/array): add test to binary builder by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/636">#636</a></li>
<li>fix(parquet): decryption of V2 data pages by @daniel-adam-tfs in <a href="https://github.com/apache/arrow-go/pull/596">#596</a></li>
<li>perf(arrow): Reduce the amount of allocated objects by @spiridonov in <a href="https://github.com/apache/arrow-go/pull/645">#645</a></li>
<li>fix(parquet/file): regression with decompressing data by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/652">#652</a></li>
<li>fix(arrow/compute): take on record/array with nested struct by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/653">#653</a></li>
<li>fix(parquet/file): write large string values by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/655">#655</a></li>
<li>ci: ensure extra GC cycle for flaky tests by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/661">#661</a></li>
<li>fix(arrow/array): handle exponent notation for unmarshal int by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/662">#662</a></li>
<li>fix(flight/flightsql/driver): fix <code>time.Time</code> params by @etodd in <a href="https://github.com/apache/arrow-go/pull/666">#666</a></li>
<li>fix(parquet): bss encoding and tests on big endian systems by @daniel-adam-tfs in <a href="https://github.com/apache/arrow-go/pull/663">#663</a></li>
<li>fix(parquet/pqarrow): selective column reading of complex map column by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/668">#668</a></li>
<li>feat(arrow/ipc): support custom_metadata on RecordBatch messages by @rustyconover in <a href="https://github.com/apache/arrow-go/pull/669">#669</a></li>
<li>feat: Support setting IPC options in FlightSQL call options by @peasee in <a href="https://github.com/apache/arrow-go/pull/674">#674</a></li>
<li>chore(dev/release): embed hash of source tarball into email by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/675">#675</a></li>
<li>chore(arrow): bump PkgVersion to 18.5.2 by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/676">#676</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li>@spiridonov made their first contribution in <a href="https://github.com/apache/arrow-go/pull/645">#645</a></li>
<li>@etodd made their first contribution in <a href="https://github.com/apache/arrow-go/pull/666">#666</a></li>
<li>@rustyconover made their first contribution in <a href="https://github.com/apache/arrow-go/pull/669">#669</a></li>
<li>@peasee made their first contribution in <a href="https://github.com/apache/arrow-go/pull/674">#674</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/apache/arrow-go/compare/v18.5.1...v18.5.2">https://github.com/apache/arrow-go/compare/v18.5.1...v18.5.2</a></p>]]></content><author><name>pmc</name></author><category term="release" /><summary type="html"><![CDATA[The Apache Arrow team is pleased to announce the v18.5.2 release of Apache Arrow Go. This patch release covers 16 commits from 6 distinct contributors. Contributors $ git shortlog -sn v18.5.1..v18.5.2 11 Matt Topol 2 daniel-adam-tfs 1 Evan Todd 1 Rusty Conover 1 Stas Spiridonov 1 William Changelog What's Changed chore: bump parquet-testing submodule by @zeroshade in #633 fix(arrow/array): handle empty binary values correctly in BinaryBuilder by @zeroshade in #634 test(arrow/array): add test to binary builder by @zeroshade in #636 fix(parquet): decryption of V2 data pages by @daniel-adam-tfs in #596 perf(arrow): Reduce the amount of allocated objects by @spiridonov in #645 fix(parquet/file): regression with decompressing data by @zeroshade in #652 fix(arrow/compute): take on record/array with nested struct by @zeroshade in #653 fix(parquet/file): write large string values by @zeroshade in #655 ci: ensure extra GC cycle for flaky tests by @zeroshade in #661 fix(arrow/array): handle exponent notation for unmarshal int by @zeroshade in #662 fix(flight/flightsql/driver): fix time.Time params by @etodd in #666 fix(parquet): bss encoding and tests on big endian systems by @daniel-adam-tfs in #663 fix(parquet/pqarrow): selective column reading of complex map column by @zeroshade in #668 feat(arrow/ipc): support custom_metadata on RecordBatch messages by @rustyconover in #669 feat: Support setting IPC options in FlightSQL call options by @peasee in #674 chore(dev/release): embed hash of source tarball into email by @zeroshade in #675 chore(arrow): bump PkgVersion to 18.5.2 by @zeroshade in #676 New Contributors @spiridonov made their first contribution in #645 @etodd made their first contribution in #666 @rustyconover made their first contribution in #669 @peasee made their first contribution in #674 Full Changelog: https://github.com/apache/arrow-go/compare/v18.5.1...v18.5.2]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" /><media:content medium="image" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Apache Arrow nanoarrow 0.8.0 Release</title><link href="https://arrow.apache.org/blog/2026/02/24/nanoarrow-0.8.0-release/" rel="alternate" type="text/html" title="Apache Arrow nanoarrow 0.8.0 Release" /><published>2026-02-24T00:00:00-05:00</published><updated>2026-02-24T00:00:00-05:00</updated><id>https://arrow.apache.org/blog/2026/02/24/nanoarrow-0.8.0-release</id><content type="html" xml:base="https://arrow.apache.org/blog/2026/02/24/nanoarrow-0.8.0-release/"><![CDATA[<!--

-->
<p>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.</p>
<h2>Release Highlights</h2>
<ul>
<li>Support for building String View arrays by buffer</li>
<li>LZ4 decompression support in IPC reader</li>
<li>Support for Conan</li>
<li>Support for Hombrew</li>
</ul>
<p>See the
<a href="https://github.com/apache/arrow-nanoarrow/blob/apache-arrow-nanoarrow-0.8.0/CHANGELOG.md">Changelog</a>
for a detailed list of contributions to this release.</p>
<h2>Features</h2>
<h3>String Views By Buffer</h3>
<p>The C library in general supports two methods for producing or consuming arrays: most
users use the builder pattern (e.g., <code>ArrowArrayAppendString()</code>); however, the &quot;build
by buffer&quot; 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 <code>ArrowArraySetBuffer()</code>; 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.</p>
<h3>LZ4 Decompression Support</h3>
<p>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.</p>
<p>Users of the C library will need to configure CMake with <code>-DNANOARROW_IPC_WITH_LZ4=ON</code>
and <code>-DNANOARROW_IPC=ON</code> 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.</p>
<h3>nanoarrow on Conan</h3>
<p>The nanoarrow C library can now be installed using the
<a href="https://conan.io/center/recipes/nanoarrow">Conan</a> C/C++ Package Manager!
CMake projects can now use <code>find_package(nanoarrow)</code> when using a Conan-enabled
toolchain after adding the nanoarrow dependency to <code>conanfile.txt</code>.</p>
<p>Thanks to <a href="https://github.com/wgtmac">@wgtmac</a> for contributing the recipe!</p>
<h3>nanoarrow on Homebrew</h3>
<p>The nanoarrow C library can now be installed using
<a href="https://formulae.brew.sh/formula/nanoarrow">Homebrew</a>!</p>
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code data-lang="shell">brew <span class="nb">install </span>nanoarrow
</code></pre></div></div>
<p>CMake projects can then use <code>find_package(nanoarrow)</code> when using Homebrew-provided
cmake and allows other vcpkg ports to use nanoarrow as a dependency.</p>
<p>Thanks to <a href="https://github.com/ankane">@ankane</a> for contributing the formula!</p>
<h2>Contributors</h2>
<p>This release consists of contributions from 12 contributors in addition
to the invaluable advice and support of the Apache Arrow community.</p>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code data-lang="console"><span class="gp">$</span><span class="w"> </span>git shortlog <span class="nt">-sn</span> apache-arrow-nanoarrow-0.8.0.dev..apache-arrow-nanoarrow-0.8.0-rc0
<span class="go">    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
</span></code></pre></div></div>]]></content><author><name>pmc</name></author><category term="release" /><summary type="html"><![CDATA[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 &quot;build by buffer&quot; 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]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" /><media:content medium="image" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Apache Arrow 23.0.1 Release</title><link href="https://arrow.apache.org/blog/2026/02/16/23.0.1-release/" rel="alternate" type="text/html" title="Apache Arrow 23.0.1 Release" /><published>2026-02-16T00:00:00-05:00</published><updated>2026-02-16T00:00:00-05:00</updated><id>https://arrow.apache.org/blog/2026/02/16/23.0.1-release</id><content type="html" xml:base="https://arrow.apache.org/blog/2026/02/16/23.0.1-release/"><![CDATA[<!--

-->
<p>The Apache Arrow team is pleased to announce the 23.0.1 release.
It includes <strong>a security fix for the C++ IPC file reader</strong>, so be sure to
read the relevant details below to see if you are affected.</p>
<p>Apart from that, 23.0.1 is mostly a bugfix release that includes <a href="https://github.com/apache/arrow/milestone/73?closed=1"><strong>28 resolved issues</strong></a>
on <a href="/release/23.0.1.html#contributors"><strong>29 distinct commits</strong></a> from <a href="/release/23.0.1.html#contributors"><strong>12 distinct contributors</strong></a>.</p>
<p>See the <a href="https://arrow.apache.org/install/">Install Page</a> to
learn how to get the libraries for your platform.</p>
<p>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 <a href="/release/23.0.1.html#changelog">complete changelog</a>.</p>
<h2>C++ notes</h2>
<ul>
<li>Fix possible OOB write in buffered IO (<a href="https://github.com/apache/arrow/issues/48311">GH-48311</a>).</li>
</ul>
<h3>IPC</h3>
<h4>CVE-2026-25087: Use After Free vulnerability in IPC file reader</h4>
<p>Fix a security issue can be triggered when reading an Arrow IPC file (but <em>not</em>
an IPC stream) with pre-buffering enabled, if the IPC file contains data with
variadic buffers (such as Binary View and String View data).</p>
<p>Pre-buffering is disabled by default, so your code is vulnerable only if it
enables it explicitly by calling <code>RecordBatchFileReader::PreBufferMetadata</code>.
Affected Arrow C++ versions are 15.0.0 through 23.0.0. The fix integrated
in 23.0.1 can also be separately viewed at
<a href="https://github.com/apache/arrow/pull/48925">GH-48925</a>.</p>
<p>See our <a href="https://lists.apache.org/thread/mpm4ld1qony30tchfpjtk5b11tcyvmwh">separate announcement</a>
for further detail.</p>
<h4>Other fixes</h4>
<ul>
<li>Avoid memory blowup with excessive variadic buffer count in IPC (<a href="https://github.com/apache/arrow/issues/48900">GH-48900</a>).</li>
</ul>
<h3>Gandiva</h3>
<ul>
<li>Fix passing CPU attributes to LLVM (<a href="https://github.com/apache/arrow/issues/48160">GH-48160</a>).</li>
<li>Detect overflow in <code>repeat()</code> (<a href="https://github.com/apache/arrow/issues/49159">GH-49159</a>).</li>
</ul>
<h3>Parquet</h3>
<ul>
<li>Avoid re-serializing footer for signature verification (<a href="https://github.com/apache/arrow/issues/48858">GH-48858</a>).</li>
</ul>
<h2>Python notes</h2>
<ul>
<li>Added missing NOTICE.txt and LICENSE.txt to wheels (<a href="https://github.com/apache/arrow/issues/48983">GH-48983</a>).</li>
<li>Some fixes for compatibility with newer Cython versions like (<a href="https://github.com/apache/arrow/issues/48965">GH-48965</a>),
(<a href="https://github.com/apache/arrow/issues/49156">GH-49156</a>) and (<a href="https://github.com/apache/arrow/issues/49138">GH-49138</a>).</li>
</ul>
<h2>Ruby notes</h2>
<ul>
<li>Fix a bug where <code>Arrow::ExecutePlan</code> nodes may be Garbage Collected (<a href="https://github.com/apache/arrow/issues/48880">GH-48880</a>).</li>
</ul>
<h2>R notes</h2>
<ul>
<li>Bump C++20 for R build infrastructure (<a href="https://github.com/apache/arrow/issues/48817">GH-48817</a>)
and fix some C++ 20 related compilation issues (<a href="https://github.com/apache/arrow/issues/48973">GH-48973</a>).</li>
</ul>
<h2>Other modules and languages</h2>
<p>No general changes were made to the other libraries or languages.</p>]]></content><author><name>pmc</name></author><category term="release" /><summary type="html"><![CDATA[The Apache Arrow team is pleased to announce the 23.0.1 release. It includes a security fix for the C++ IPC file reader, so be sure to read the relevant details below to see if you are affected. Apart from that, 23.0.1 is mostly a bugfix release that includes 28 resolved issues on 29 distinct commits from 12 distinct contributors. See the Install Page to learn how to get the libraries for your platform. 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. C++ notes Fix possible OOB write in buffered IO (GH-48311). IPC CVE-2026-25087: Use After Free vulnerability in IPC file reader Fix a security issue can be triggered when reading an Arrow IPC file (but not an IPC stream) with pre-buffering enabled, if the IPC file contains data with variadic buffers (such as Binary View and String View data). Pre-buffering is disabled by default, so your code is vulnerable only if it enables it explicitly by calling RecordBatchFileReader::PreBufferMetadata. Affected Arrow C++ versions are 15.0.0 through 23.0.0. The fix integrated in 23.0.1 can also be separately viewed at GH-48925. See our separate announcement for further detail. Other fixes Avoid memory blowup with excessive variadic buffer count in IPC (GH-48900). Gandiva Fix passing CPU attributes to LLVM (GH-48160). Detect overflow in repeat() (GH-49159). Parquet Avoid re-serializing footer for signature verification (GH-48858). Python notes Added missing NOTICE.txt and LICENSE.txt to wheels (GH-48983). Some fixes for compatibility with newer Cython versions like (GH-48965), (GH-49156) and (GH-49138). Ruby notes Fix a bug where Arrow::ExecutePlan nodes may be Garbage Collected (GH-48880). R notes Bump C++20 for R build infrastructure (GH-48817) and fix some C++ 20 related compilation issues (GH-48973). Other modules and languages No general changes were made to the other libraries or languages.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" /><media:content medium="image" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Apache Arrow is 10 years old 🎉</title><link href="https://arrow.apache.org/blog/2026/02/12/arrow-anniversary/" rel="alternate" type="text/html" title="Apache Arrow is 10 years old 🎉" /><published>2026-02-12T00:00:00-05:00</published><updated>2026-02-12T00:00:00-05:00</updated><id>https://arrow.apache.org/blog/2026/02/12/arrow-anniversary</id><content type="html" xml:base="https://arrow.apache.org/blog/2026/02/12/arrow-anniversary/"><![CDATA[<!--

-->
<p>The Apache Arrow project was officially established and had its
<a href="https://github.com/apache/arrow/commit/d5aa7c46692474376a3c31704cfc4783c86338f2">first git commit</a>
on February 5th 2016, and we are therefore enthusiastic to announce its 10-year
anniversary!</p>
<p>Looking back over these 10 years, the project has developed in many unforeseen
ways and we believe to have delivered on our objective of providing agnostic,
efficient, durable standards for the exchange of columnar data.</p>
<h2>How it started</h2>
<p>From the start, Arrow has been a joint effort between practitioners of various
horizons looking to build common grounds to efficiently exchange columnar data
between different libraries and systems.
In <a href="https://sympathetic.ink/2024/02/06/Chapter-2-From-Parquet-to-Arrow.html">this blog post</a>,
Julien Le Dem recalls how some of the founders of the <a href="https://parquet.apache.org/">Apache Parquet</a>
project participated in the early days of the Arrow design phase. The idea of Arrow
as an in-memory format was meant to address the other half of the interoperability
problem, the natural complement to Parquet as a persistent storage format.</p>
<h2>Apache Arrow 0.1.0</h2>
<p>The first Arrow release, numbered 0.1.0, was tagged on October 7th 2016. It already
featured the main data types that are still the bread-and-butter of most Arrow datasets,
as evidenced in this <a href="https://github.com/apache/arrow/blob/e7080ef9f1bd91505996edd4e4b7643cc54f6b5f/format/Message.fbs#L96-L115">Flatbuffers declaration</a>:</p>
<div class="language-flatbuffers highlighter-rouge"><div class="highlight"><pre class="highlight"><code data-lang="flatbuffers">
/// ----------------------------------------------------------------------
/// Top-level Type value, enabling extensible type-specific metadata. We can
/// add new logical types to Type without breaking backwards compatibility

union Type {
  Null,
  Int,
  FloatingPoint,
  Binary,
  Utf8,
  Bool,
  Decimal,
  Date,
  Time,
  Timestamp,
  Interval,
  List,
  Struct_,
  Union
}
</code></pre></div></div>
<p>The <a href="https://lists.apache.org/thread/6ow4r2kq1qw1rxp36nql8gokgoczozgw">release announcement</a>
made the bold claim that <strong>&quot;the metadata and physical data representation should
be fairly stable as we have spent time finalizing the details&quot;</strong>. Does that promise
hold? The short answer is: yes, almost! But let us analyse that in a bit more detail:</p>
<ul>
<li>
<p>the <a href="https://arrow.apache.org/docs/format/Columnar.html">Columnar format</a>, for
the most part, has only seen additions of new datatypes since 2016.
<strong>One single breaking change</strong> occurred: Union types cannot have a
top-level validity bitmap anymore.</p>
</li>
<li>
<p>the <a href="https://arrow.apache.org/docs/format/Columnar.html#serialization-and-interprocess-communication-ipc">IPC format</a>
has seen several minor evolutions of its framing and metadata format; these
evolutions are encoded in the <code>MetadataVersion</code> field which ensures that new
readers can read data produced by old writers. The single breaking change is
related to the same Union validity change mentioned above.</p>
</li>
</ul>
<h2>First cross-language integration tests</h2>
<p>Arrow 0.1.0 had two implementations: C++ and Java, with bindings of the former
to Python. There were also no integration tests to speak of, that is, no automated
assessment that the two implementations were in sync (what could go wrong?).</p>
<p>Integration tests had to wait for <a href="https://issues.apache.org/jira/browse/ARROW-372">November 2016</a>
to be designed, and the first <a href="https://github.com/apache/arrow/commit/45ed7e7a36fb2a69de468c41132b6b3bbd270c92">automated CI run</a>
probably occurred in December of the same year. Its results cannot be fetched anymore,
so we can only assume the tests passed successfully. 🙂</p>
<p>From that moment, integration tests have grown to follow additions to the Arrow format,
while ensuring that older data can still be read successfully.  For example, the
integration tests that are routinely checked against multiple implementations of
Arrow have data files <a href="https://github.com/apache/arrow-testing/tree/master/data/arrow-ipc-stream/integration/0.14.1">generated in 2019 by Arrow 0.14.1</a>.</p>
<h2>No breaking changes... almost</h2>
<p>As mentioned above, at some point the Union type lost its top-level validity bitmap,
breaking compatibility for the workloads that made use of this feature.</p>
<p>This change was <a href="https://lists.apache.org/thread/przo99rtpv4rp66g1h4gn0zyxdq56m27">proposed back in June 2020</a>
and enacted shortly thereafter. It elicited no controversy and doesn't seem to have
caused any significant discontent among users, signaling that the feature was
probably not widely used (if at all).</p>
<p>Since then, there has been precisely zero breaking change in the Arrow Columnar and IPC
formats.</p>
<h2>Apache Arrow 1.0.0</h2>
<p>We have been extremely cautious with version numbering and waited
<a href="https://arrow.apache.org/blog/2020/07/24/1.0.0-release/">until July 2020</a>
before finally switching away from 0.x version numbers. This was signalling
to the world that Arrow had reached its &quot;adult phase&quot; of making formal compatibility
promises, and that the Arrow formats were ready for wide consumption amongst
the data ecosystem.</p>
<h2>Apache Arrow, today</h2>
<p>Describing the breadth of the Arrow ecosystem today would take a full-fledged
article of its own, or perhaps even multiple Wikipedia pages. Our
<a href="https://arrow.apache.org/powered_by/">&quot;powered by&quot;</a> page can give a small taste.</p>
<p>As for the Arrow project, we will merely refer you to our official documentation:</p>
<ol>
<li>
<p><a href="https://arrow.apache.org/docs/format/index.html#">The various specifications</a>
that cater to multiple aspects of sharing Arrow data, such as
<a href="https://arrow.apache.org/docs/format/CDataInterface.html">in-process zero-copy sharing</a>
between producers and consumers that know nothing about each other, or
<a href="https://arrow.apache.org/docs/format/ADBC.html">executing database queries</a>
that efficiently return their results in the Arrow format.</p>
</li>
<li>
<p><a href="https://arrow.apache.org/docs/status.html">The implementation status page</a>
that lists the implementations developed officially under the Apache Arrow
umbrella (native software libraries for C, C++, C#, Go, Java, JavaScript,
Julia, MATLAB, Python, R, Ruby, and Rust). But keep in mind that multiple
third-party implementations exist in non-Apache projects, either open source
or proprietary.</p>
</li>
</ol>
<p>However, that is only a small part of the landscape. The Arrow project hosts
several official subprojects, such as <a href="https://arrow.apache.org/adbc">ADBC</a>
and <a href="https://arrow.apache.org/nanoarrow">nanoarrow</a>. A notable success story is
<a href="https://datafusion.apache.org/">Apache DataFusion</a>, which began as an Arrow
subproject and later <a href="https://arrow.apache.org/blog/2024/05/07/datafusion-tlp">graduated to become an independent top-level project</a>
in the Apache Software Foundation, reflecting the maturity and impact of the technology.</p>
<p>Beyond these subprojects, many third-party efforts have adopted the Arrow formats
for efficient interoperability. <a href="https://geoarrow.org/">GeoArrow</a> is an impressive
example of how building on top of existing Arrow formats and implementations can
enable groundbreaking efficiency improvements in a very non-trivial problem space.</p>
<p>It should also be noted that Arrow, as an in-memory columnar format, is often used
hand in hand with Parquet for persistent storage; as a matter of fact, most official
Parquet implementations are nowadays being developed within Arrow repositories
(C++, Rust, Go).</p>
<h2>Tomorrow</h2>
<p>The Apache Arrow community is primarily driven by consensus, and the project does
not have a formal roadmap. We will continue to welcome everyone who wishes to
participate constructively. While the specifications are stable, they still
welcome additions to cater for new use cases, as they have done in the past.</p>
<p>The Arrow implementations are actively maintained, gaining new features, bug fixes,
and performance improvements. We encourage people to contribute to their implementation
of choice, and to <a href="https://arrow.apache.org/community/">engage with us and the community</a>.</p>
<p>Now and going forward, a large amount of Arrow-related progress is happening
in the broader ecosystem of third-party tools and libraries. It is no longer
possible for us to keep track of all the work being done in those areas, but
we are proud to see that they are building on the same stable foundations that
have been laid 10 years ago.</p>]]></content><author><name>pmc</name></author><category term="arrow" /><summary type="html"><![CDATA[The Apache Arrow project was officially established and had its first git commit on February 5th 2016, and we are therefore enthusiastic to announce its 10-year anniversary! Looking back over these 10 years, the project has developed in many unforeseen ways and we believe to have delivered on our objective of providing agnostic, efficient, durable standards for the exchange of columnar data. How it started From the start, Arrow has been a joint effort between practitioners of various horizons looking to build common grounds to efficiently exchange columnar data between different libraries and systems. In this blog post, Julien Le Dem recalls how some of the founders of the Apache Parquet project participated in the early days of the Arrow design phase. The idea of Arrow as an in-memory format was meant to address the other half of the interoperability problem, the natural complement to Parquet as a persistent storage format. Apache Arrow 0.1.0 The first Arrow release, numbered 0.1.0, was tagged on October 7th 2016. It already featured the main data types that are still the bread-and-butter of most Arrow datasets, as evidenced in this Flatbuffers declaration: /// ---------------------------------------------------------------------- /// Top-level Type value, enabling extensible type-specific metadata. We can /// add new logical types to Type without breaking backwards compatibility union Type { Null, Int, FloatingPoint, Binary, Utf8, Bool, Decimal, Date, Time, Timestamp, Interval, List, Struct_, Union } The release announcement made the bold claim that &quot;the metadata and physical data representation should be fairly stable as we have spent time finalizing the details&quot;. Does that promise hold? The short answer is: yes, almost! But let us analyse that in a bit more detail: the Columnar format, for the most part, has only seen additions of new datatypes since 2016. One single breaking change occurred: Union types cannot have a top-level validity bitmap anymore. the IPC format has seen several minor evolutions of its framing and metadata format; these evolutions are encoded in the MetadataVersion field which ensures that new readers can read data produced by old writers. The single breaking change is related to the same Union validity change mentioned above. First cross-language integration tests Arrow 0.1.0 had two implementations: C++ and Java, with bindings of the former to Python. There were also no integration tests to speak of, that is, no automated assessment that the two implementations were in sync (what could go wrong?). Integration tests had to wait for November 2016 to be designed, and the first automated CI run probably occurred in December of the same year. Its results cannot be fetched anymore, so we can only assume the tests passed successfully. 🙂 From that moment, integration tests have grown to follow additions to the Arrow format, while ensuring that older data can still be read successfully. For example, the integration tests that are routinely checked against multiple implementations of Arrow have data files generated in 2019 by Arrow 0.14.1. No breaking changes... almost As mentioned above, at some point the Union type lost its top-level validity bitmap, breaking compatibility for the workloads that made use of this feature. This change was proposed back in June 2020 and enacted shortly thereafter. It elicited no controversy and doesn't seem to have caused any significant discontent among users, signaling that the feature was probably not widely used (if at all). Since then, there has been precisely zero breaking change in the Arrow Columnar and IPC formats. Apache Arrow 1.0.0 We have been extremely cautious with version numbering and waited until July 2020 before finally switching away from 0.x version numbers. This was signalling to the world that Arrow had reached its &quot;adult phase&quot; of making formal compatibility promises, and that the Arrow formats were ready for wide consumption amongst the data ecosystem. Apache Arrow, today Describing the breadth of the Arrow ecosystem today would take a full-fledged article of its own, or perhaps even multiple Wikipedia pages. Our &quot;powered by&quot; page can give a small taste. As for the Arrow project, we will merely refer you to our official documentation: The various specifications that cater to multiple aspects of sharing Arrow data, such as in-process zero-copy sharing between producers and consumers that know nothing about each other, or executing database queries that efficiently return their results in the Arrow format. The implementation status page that lists the implementations developed officially under the Apache Arrow umbrella (native software libraries for C, C++, C#, Go, Java, JavaScript, Julia, MATLAB, Python, R, Ruby, and Rust). But keep in mind that multiple third-party implementations exist in non-Apache projects, either open source or proprietary. However, that is only a small part of the landscape. The Arrow project hosts several official subprojects, such as ADBC and nanoarrow. A notable success story is Apache DataFusion, which began as an Arrow subproject and later graduated to become an independent top-level project in the Apache Software Foundation, reflecting the maturity and impact of the technology. Beyond these subprojects, many third-party efforts have adopted the Arrow formats for efficient interoperability. GeoArrow is an impressive example of how building on top of existing Arrow formats and implementations can enable groundbreaking efficiency improvements in a very non-trivial problem space. It should also be noted that Arrow, as an in-memory columnar format, is often used hand in hand with Parquet for persistent storage; as a matter of fact, most official Parquet implementations are nowadays being developed within Arrow repositories (C++, Rust, Go). Tomorrow The Apache Arrow community is primarily driven by consensus, and the project does not have a formal roadmap. We will continue to welcome everyone who wishes to participate constructively. While the specifications are stable, they still welcome additions to cater for new use cases, as they have done in the past. The Arrow implementations are actively maintained, gaining new features, bug fixes, and performance improvements. We encourage people to contribute to their implementation of choice, and to engage with us and the community. Now and going forward, a large amount of Arrow-related progress is happening in the broader ecosystem of third-party tools and libraries. It is no longer possible for us to keep track of all the work being done in those areas, but we are proud to see that they are building on the same stable foundations that have been laid 10 years ago.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" /><media:content medium="image" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Introducing a Security Model for Arrow</title><link href="https://arrow.apache.org/blog/2026/02/09/arrow-security-model/" rel="alternate" type="text/html" title="Introducing a Security Model for Arrow" /><published>2026-02-09T00:00:00-05:00</published><updated>2026-02-09T00:00:00-05:00</updated><id>https://arrow.apache.org/blog/2026/02/09/arrow-security-model</id><content type="html" xml:base="https://arrow.apache.org/blog/2026/02/09/arrow-security-model/"><![CDATA[<!--

-->
<p>We are thrilled to announce the official publication of a
<a href="https://arrow.apache.org/docs/dev/format/Security.html">Security Model</a> for Apache Arrow.</p>
<p>The Arrow security model covers a core subset of the Arrow specifications:
the <a href="https://arrow.apache.org/docs/dev/format/Columnar.html">Arrow Columnar Format</a>,
the <a href="https://arrow.apache.org/docs/dev/format/CDataInterface.html">Arrow C Data Interface</a> and the
<a href="https://arrow.apache.org/docs/dev/format/Columnar.html#serialization-and-interprocess-communication-ipc">Arrow IPC Format</a>.
It sets expectations and gives guidelines for handling data coming from
untrusted sources.</p>
<p>The specifications covered by the Arrow security model are building blocks for
all the other Arrow specifications, such as Flight and ADBC.</p>
<p>The ideas underlying the Arrow security model were informally shared between
Arrow maintainers and have informed decisions for years, but they were left
undocumented until now.</p>
<p>Implementation-specific security considerations, such as proper API usage and
runtime safety guarantees, will later be covered in the documentation of the
respective implementations.</p>]]></content><author><name>pmc</name></author><category term="arrow" /><category term="security" /><summary type="html"><![CDATA[We are thrilled to announce the official publication of a Security Model for Apache Arrow. The Arrow security model covers a core subset of the Arrow specifications: the Arrow Columnar Format, the Arrow C Data Interface and the Arrow IPC Format. It sets expectations and gives guidelines for handling data coming from untrusted sources. The specifications covered by the Arrow security model are building blocks for all the other Arrow specifications, such as Flight and ADBC. The ideas underlying the Arrow security model were informally shared between Arrow maintainers and have informed decisions for years, but they were left undocumented until now. Implementation-specific security considerations, such as proper API usage and runtime safety guarantees, will later be covered in the documentation of the respective implementations.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" /><media:content medium="image" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Apache Arrow Go 18.5.1 Release</title><link href="https://arrow.apache.org/blog/2026/01/26/arrow-go-18.5.1/" rel="alternate" type="text/html" title="Apache Arrow Go 18.5.1 Release" /><published>2026-01-26T00:00:00-05:00</published><updated>2026-01-26T00:00:00-05:00</updated><id>https://arrow.apache.org/blog/2026/01/26/arrow-go-18.5.1</id><content type="html" xml:base="https://arrow.apache.org/blog/2026/01/26/arrow-go-18.5.1/"><![CDATA[<!--

-->
<p>The Apache Arrow team is pleased to announce the v18.5.1 release of Apache Arrow Go.
This patch release covers 10 commits from 6 distinct contributors.</p>
<h2>Contributors</h2>
<div class="language-console highlighter-rouge"><div class="highlight"><pre class="highlight"><code data-lang="console"><span class="gp">$</span><span class="w"> </span>git shortlog <span class="nt">-sn</span> v18.5.0..v18.5.1
<span class="go">     6	Matt Topol
     1	Alfonso Subiotto Marqués
     1	Arnold Wakim
     1	Bryce Mecum
     1	Rok Mihevc
     1	cai.zhang
</span></code></pre></div></div>
<h2>Changelog</h2>
<h3>What's Changed</h3>
<ul>
<li>fix(internal): fix assertion on undefined behavior by @amoeba in <a href="https://github.com/apache/arrow-go/pull/602">#602</a></li>
<li>ci(benchmark): switch to new conbench instance by @rok in <a href="https://github.com/apache/arrow-go/pull/593">#593</a></li>
<li>fix(flight): make StreamChunksFromReader ctx aware and cancellation-safe by @arnoldwakim in <a href="https://github.com/apache/arrow-go/pull/615">#615</a></li>
<li>fix(parquet/variant): fix basic stringify by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/624">#624</a></li>
<li>fix(parquet/pqarrow): fix partial struct panic by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/630">#630</a></li>
<li>Flaky test fixes by @zeroshade in <a href="https://github.com/apache/arrow-go/pull/629">#629</a></li>
<li>ipc: clear variadicCounts in recordEncoder.reset() by @asubiotto in <a href="https://github.com/apache/arrow-go/pull/631">#631</a></li>
<li>fix(arrow/cdata): Handle errors to prevent panic by @xiaocai2333 in <a href="https://github.com/apache/arrow-go/pull/614">#614</a></li>
</ul>
<h3>New Contributors</h3>
<ul>
<li>@rok made their first contribution in <a href="https://github.com/apache/arrow-go/pull/593">#593</a></li>
<li>@asubiotto made their first contribution in <a href="https://github.com/apache/arrow-go/pull/631">#631</a></li>
<li>@xiaocai2333 made their first contribution in <a href="https://github.com/apache/arrow-go/pull/614">#614</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/apache/arrow-go/compare/v18.5.0...v18.5.1">https://github.com/apache/arrow-go/compare/v18.5.0...v18.5.1</a></p>]]></content><author><name>pmc</name></author><category term="release" /><summary type="html"><![CDATA[The Apache Arrow team is pleased to announce the v18.5.1 release of Apache Arrow Go. This patch release covers 10 commits from 6 distinct contributors. Contributors $ git shortlog -sn v18.5.0..v18.5.1 6 Matt Topol 1 Alfonso Subiotto Marqués 1 Arnold Wakim 1 Bryce Mecum 1 Rok Mihevc 1 cai.zhang Changelog What's Changed fix(internal): fix assertion on undefined behavior by @amoeba in #602 ci(benchmark): switch to new conbench instance by @rok in #593 fix(flight): make StreamChunksFromReader ctx aware and cancellation-safe by @arnoldwakim in #615 fix(parquet/variant): fix basic stringify by @zeroshade in #624 fix(parquet/pqarrow): fix partial struct panic by @zeroshade in #630 Flaky test fixes by @zeroshade in #629 ipc: clear variadicCounts in recordEncoder.reset() by @asubiotto in #631 fix(arrow/cdata): Handle errors to prevent panic by @xiaocai2333 in #614 New Contributors @rok made their first contribution in #593 @asubiotto made their first contribution in #631 @xiaocai2333 made their first contribution in #614 Full Changelog: https://github.com/apache/arrow-go/compare/v18.5.0...v18.5.1]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" /><media:content medium="image" url="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>