This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 725b79e4490 Updating built site
725b79e4490 is described below
commit 725b79e449007e443498ae0b9bdbf5fd66d9432f
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Sep 8 22:16:14 2026 +0000
Updating built site
---
blog/2026/09/08/arrow-go-18.8.0/index.html | 604 +++++++++++++++++++++++++++++
blog/index.html | 31 ++
feed.xml | 241 ++++++++++--
release/index.html | 6 +-
4 files changed, 840 insertions(+), 42 deletions(-)
diff --git a/blog/2026/09/08/arrow-go-18.8.0/index.html
b/blog/2026/09/08/arrow-go-18.8.0/index.html
new file mode 100644
index 00000000000..2ee4ebe334d
--- /dev/null
+++ b/blog/2026/09/08/arrow-go-18.8.0/index.html
@@ -0,0 +1,604 @@
+<!DOCTYPE html>
+<html lang="en-US">
+ <head>
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <!-- The above meta tags *must* come first in the head; any other head
content must come *after* these tags -->
+
+ <title>Apache Arrow Go 18.8.0 Release | Apache Arrow</title>
+
+
+ <!-- Begin Jekyll SEO tag v2.9.0 -->
+<meta name="generator" content="Jekyll v4.4.1" />
+<meta property="og:title" content="Apache Arrow Go 18.8.0 Release" />
+<meta name="author" content="pmc" />
+<meta property="og:locale" content="en_US" />
+<meta name="description" content="The Apache Arrow team is pleased to announce
the v18.8.0 release of Apache Arrow Go. This minor release covers 283 commits
from 16 distinct contributors. Contributors $ git shortlog -sn v18.7.0..v18.8.0
251 Minh Vu 10 Matt Topol 4 Colton Loftus 4 Digvijay 4 Tom Frank 1 Derek
Perkins 1 Lucas Valente 1 Madan kumar 1 Neelesh Salian 1 Nick Ripley 1 Pedro
Matias 1 Raúl Cumplido 1 Ruihao Chen 1 Tobias Pütz 1 Tomáš Karela Procházka 1
Willem Jan Highlights Arrow [...]
+<meta name="twitter:description" property="og:description" content="The Apache
Arrow team is pleased to announce the v18.8.0 release of Apache Arrow Go. This
minor release covers 283 commits from 16 distinct contributors. Contributors $
git shortlog -sn v18.7.0..v18.8.0 251 Minh Vu 10 Matt Topol 4 Colton Loftus 4
Digvijay 4 Tom Frank 1 Derek Perkins 1 Lucas Valente 1 Madan kumar 1 Neelesh
Salian 1 Nick Ripley 1 Pedro Matias 1 Raúl Cumplido 1 Ruihao Chen 1 Tobias Pütz
1 Tomáš Karela Proch [...]
+<link rel="canonical"
href="https://arrow.apache.org/blog/2026/09/08/arrow-go-18.8.0/" />
+<meta property="og:url"
content="https://arrow.apache.org/blog/2026/09/08/arrow-go-18.8.0/" />
+<meta property="og:site_name" content="Apache Arrow" />
+<meta property="og:image"
content="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png"
/>
+<meta property="og:type" content="article" />
+<meta property="article:published_time" content="2026-09-08T00:00:00-04:00" />
+<meta property="article:modified_time" content="2026-09-08T00:00:00-04:00" />
+<meta name="twitter:card" content="summary_large_image" />
+<meta name="twitter:image"
content="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png"
/>
+<meta name="twitter:title" content="Apache Arrow Go 18.8.0 Release" />
+<script type="application/ld+json">
+{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"pmc"},"dateModified":"2026-09-08T00:00:00-04:00","datePublished":"2026-09-08T00:00:00-04:00","description":"The
Apache Arrow team is pleased to announce the v18.8.0 release of Apache Arrow
Go. This minor release covers 283 commits from 16 distinct contributors.
Contributors $ git shortlog -sn v18.7.0..v18.8.0 251 Minh Vu 10 Matt Topol 4
Colton Loftus 4 Digvijay 4 Tom Frank 1 Derek Perkins 1 Lucas Va [...]
+<!-- End Jekyll SEO tag -->
+
+
+ <!-- favicons -->
+ <link rel="icon" type="image/png" sizes="16x16"
href="/img/favicon-16x16.png" id="light1">
+ <link rel="icon" type="image/png" sizes="32x32"
href="/img/favicon-32x32.png" id="light2">
+ <link rel="apple-touch-icon" type="image/png" sizes="180x180"
href="/img/apple-touch-icon.png" id="light3">
+ <link rel="apple-touch-icon" type="image/png" sizes="120x120"
href="/img/apple-touch-icon-120x120.png" id="light4">
+ <link rel="apple-touch-icon" type="image/png" sizes="76x76"
href="/img/apple-touch-icon-76x76.png" id="light5">
+ <link rel="apple-touch-icon" type="image/png" sizes="60x60"
href="/img/apple-touch-icon-60x60.png" id="light6">
+ <!-- dark mode favicons -->
+ <link rel="icon" type="image/png" sizes="16x16"
href="/img/favicon-16x16-dark.png" id="dark1">
+ <link rel="icon" type="image/png" sizes="32x32"
href="/img/favicon-32x32-dark.png" id="dark2">
+ <link rel="apple-touch-icon" type="image/png" sizes="180x180"
href="/img/apple-touch-icon-dark.png" id="dark3">
+ <link rel="apple-touch-icon" type="image/png" sizes="120x120"
href="/img/apple-touch-icon-120x120-dark.png" id="dark4">
+ <link rel="apple-touch-icon" type="image/png" sizes="76x76"
href="/img/apple-touch-icon-76x76-dark.png" id="dark5">
+ <link rel="apple-touch-icon" type="image/png" sizes="60x60"
href="/img/apple-touch-icon-60x60-dark.png" id="dark6">
+
+ <script>
+ // Switch to the dark-mode favicons if prefers-color-scheme: dark
+ function onUpdate() {
+ light1 = document.querySelector('link#light1');
+ light2 = document.querySelector('link#light2');
+ light3 = document.querySelector('link#light3');
+ light4 = document.querySelector('link#light4');
+ light5 = document.querySelector('link#light5');
+ light6 = document.querySelector('link#light6');
+
+ dark1 = document.querySelector('link#dark1');
+ dark2 = document.querySelector('link#dark2');
+ dark3 = document.querySelector('link#dark3');
+ dark4 = document.querySelector('link#dark4');
+ dark5 = document.querySelector('link#dark5');
+ dark6 = document.querySelector('link#dark6');
+
+ if (matcher.matches) {
+ light1.remove();
+ light2.remove();
+ light3.remove();
+ light4.remove();
+ light5.remove();
+ light6.remove();
+ document.head.append(dark1);
+ document.head.append(dark2);
+ document.head.append(dark3);
+ document.head.append(dark4);
+ document.head.append(dark5);
+ document.head.append(dark6);
+ } else {
+ dark1.remove();
+ dark2.remove();
+ dark3.remove();
+ dark4.remove();
+ dark5.remove();
+ dark6.remove();
+ document.head.append(light1);
+ document.head.append(light2);
+ document.head.append(light3);
+ document.head.append(light4);
+ document.head.append(light5);
+ document.head.append(light6);
+ }
+ }
+ matcher = window.matchMedia('(prefers-color-scheme: dark)');
+ matcher.addListener(onUpdate);
+ onUpdate();
+ </script>
+
+ <link href="/css/main.css" rel="stylesheet">
+ <link href="/css/syntax.css" rel="stylesheet">
+ <script src="/javascript/main.js"></script>
+
+ <!-- Matomo -->
+<script>
+ var _paq = window._paq = window._paq || [];
+ /* tracker methods like "setCustomDimension" should be called before
"trackPageView" */
+ /* We explicitly disable cookie tracking to avoid privacy issues */
+ _paq.push(['disableCookies']);
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+ (function() {
+ var u="https://analytics.apache.org/";
+ _paq.push(['setTrackerUrl', u+'matomo.php']);
+ _paq.push(['setSiteId', '20']);
+ var d=document, g=d.createElement('script'),
s=d.getElementsByTagName('script')[0];
+ g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+ })();
+</script>
+<!-- End Matomo Code -->
+
+
+ <link type="application/atom+xml" rel="alternate"
href="https://arrow.apache.org/feed.xml" title="Apache Arrow" />
+ </head>
+
+
+<body class="wrap">
+ <header>
+ <nav class="navbar navbar-expand-md navbar-dark bg-dark">
+
+ <a class="navbar-brand no-padding" href="/"><img
src="/img/arrow-inverse-300px.png" height="40px"></a>
+
+ <button class="navbar-toggler ml-auto" type="button" data-toggle="collapse"
data-target="#arrow-navbar" aria-controls="arrow-navbar" aria-expanded="false"
aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+
+ <!-- Collect the nav links, forms, and other content for toggling -->
+ <div class="collapse navbar-collapse justify-content-end"
id="arrow-navbar">
+ <ul class="nav navbar-nav">
+ <li class="nav-item"><a class="nav-link" href="/overview/"
role="button" aria-haspopup="true" aria-expanded="false">Overview</a></li>
+ <li class="nav-item"><a class="nav-link" href="/faq/" role="button"
aria-haspopup="true" aria-expanded="false">FAQ</a></li>
+ <li class="nav-item"><a class="nav-link" href="/blog" role="button"
aria-haspopup="true" aria-expanded="false">Blog</a></li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#"
id="navbarDropdownGetArrow" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
+ Get Arrow
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownGetArrow">
+ <a class="dropdown-item" href="/install/">Install</a>
+ <a class="dropdown-item" href="/release/">Releases</a>
+ </div>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#"
id="navbarDropdownDocumentation" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
+ Docs
+ </a>
+ <div class="dropdown-menu"
aria-labelledby="navbarDropdownDocumentation">
+ <a class="dropdown-item" href="/docs">Project Docs</a>
+ <a class="dropdown-item"
href="/docs/format/Columnar.html">Format</a>
+ <hr>
+ <a class="dropdown-item" href="/docs/c_glib">C GLib</a>
+ <a class="dropdown-item" href="/docs/cpp">C++</a>
+ <a class="dropdown-item"
href="https://arrow.apache.org/dotnet/">.NET</a>
+ <a class="dropdown-item"
href="https://godoc.org/github.com/apache/arrow/go/arrow" target="_blank"
rel="noopener">Go</a>
+ <a class="dropdown-item" href="/java/">Java</a>
+ <a class="dropdown-item" href="/js/">JavaScript</a>
+ <a class="dropdown-item" href="/julia/">Julia</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow/blob/main/matlab/README.md"
target="_blank" rel="noopener">MATLAB</a>
+ <a class="dropdown-item" href="/docs/python">Python</a>
+ <a class="dropdown-item" href="/docs/r">R</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow/blob/main/ruby/README.md" target="_blank"
rel="noopener">Ruby</a>
+ <a class="dropdown-item" href="https://docs.rs/arrow/latest"
target="_blank" rel="noopener">Rust</a>
+ <a class="dropdown-item" href="/swift">Swift</a>
+ </div>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#"
id="navbarDropdownSource" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
+ Source
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownSource">
+ <a class="dropdown-item" href="https://github.com/apache/arrow"
target="_blank" rel="noopener">Main Repo</a>
+ <hr>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow/tree/main/c_glib" target="_blank"
rel="noopener">C GLib</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow/tree/main/cpp" target="_blank"
rel="noopener">C++</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow-dotnet" target="_blank"
rel="noopener">.NET</a>
+ <a class="dropdown-item" href="https://github.com/apache/arrow-go"
target="_blank" rel="noopener">Go</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow-java" target="_blank"
rel="noopener">Java</a>
+ <a class="dropdown-item" href="https://github.com/apache/arrow-js"
target="_blank" rel="noopener">JavaScript</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow-julia" target="_blank"
rel="noopener">Julia</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow/tree/main/matlab" target="_blank"
rel="noopener">MATLAB</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow/tree/main/python" target="_blank"
rel="noopener">Python</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow/tree/main/r" target="_blank"
rel="noopener">R</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow/tree/main/ruby" target="_blank"
rel="noopener">Ruby</a>
+ <a class="dropdown-item" href="https://github.com/apache/arrow-rs"
target="_blank" rel="noopener">Rust</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow-swift" target="_blank"
rel="noopener">Swift</a>
+ </div>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#"
id="navbarDropdownSubprojects" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
+ Subprojects
+ </a>
+ <div class="dropdown-menu"
aria-labelledby="navbarDropdownSubprojects">
+ <a class="dropdown-item" href="/adbc">ADBC</a>
+ <a class="dropdown-item" href="/docs/format/Flight.html">Arrow
Flight</a>
+ <a class="dropdown-item" href="/docs/format/FlightSql.html">Arrow
Flight SQL</a>
+ <a class="dropdown-item" href="https://datafusion.apache.org"
target="_blank" rel="noopener">DataFusion</a>
+ <a class="dropdown-item" href="/nanoarrow">nanoarrow</a>
+ </div>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#"
id="navbarDropdownCommunity" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
+ Community
+ </a>
+ <div class="dropdown-menu" aria-labelledby="navbarDropdownCommunity">
+ <a class="dropdown-item" href="/community/">Communication</a>
+ <a class="dropdown-item"
href="/docs/developers/index.html">Contributing</a>
+ <a class="dropdown-item"
href="https://github.com/apache/arrow/issues" target="_blank"
rel="noopener">Issue Tracker</a>
+ <a class="dropdown-item" href="/committers/">Governance</a>
+ <a class="dropdown-item" href="/use_cases/">Use Cases</a>
+ <a class="dropdown-item" href="/powered_by/">Powered By</a>
+ <a class="dropdown-item" href="/visual_identity/">Visual
Identity</a>
+ <a class="dropdown-item" href="/security/">Security</a>
+ <a class="dropdown-item"
href="https://www.apache.org/foundation/policies/conduct.html" target="_blank"
rel="noopener">Code of Conduct</a>
+ </div>
+ </li>
+ <li class="nav-item dropdown">
+ <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownASF"
role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ ASF Links
+ </a>
+ <div class="dropdown-menu dropdown-menu-right"
aria-labelledby="navbarDropdownASF">
+ <a class="dropdown-item" href="https://www.apache.org/"
target="_blank" rel="noopener">ASF Website</a>
+ <a class="dropdown-item" href="https://www.apache.org/licenses/"
target="_blank" rel="noopener">License</a>
+ <a class="dropdown-item"
href="https://www.apache.org/foundation/sponsorship.html" target="_blank"
rel="noopener">Donate</a>
+ <a class="dropdown-item"
href="https://www.apache.org/foundation/thanks.html" target="_blank"
rel="noopener">Thanks</a>
+ <a class="dropdown-item" href="https://www.apache.org/security/"
target="_blank" rel="noopener">Security</a>
+ </div>
+ </li>
+ </ul>
+ </div>
+<!-- /.navbar-collapse -->
+ </nav>
+
+ </header>
+
+ <div class="container p-4 pt-5">
+ <div class="col-md-8 mx-auto">
+ <main role="main" class="pb-5">
+
+<h1>
+ Apache Arrow Go 18.8.0 Release
+</h1>
+<hr class="mt-4 mb-3">
+
+
+
+<p class="mb-4 pb-1">
+ <span class="badge badge-secondary">Published</span>
+ <span class="published mr-3">
+ 08 Sep 2026
+ </span>
+ <br>
+ <span class="badge badge-secondary">By</span>
+
+ <a class="mr-3" href="https://arrow.apache.org">The Apache Arrow PMC (pmc)
</a>
+
+
+
+</p>
+
+
+ <!--
+
+-->
+<p>The Apache Arrow team is pleased to announce the v18.8.0 release of Apache
Arrow Go.
+This minor release covers 283 commits from 16 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.7.0..v18.8.0
+<span class="go"> 251 Minh Vu
+ 10 Matt Topol
+ 4 Colton Loftus
+ 4 Digvijay
+ 4 Tom Frank
+ 1 Derek Perkins
+ 1 Lucas Valente
+ 1 Madan kumar
+ 1 Neelesh Salian
+ 1 Nick Ripley
+ 1 Pedro Matias
+ 1 Raúl Cumplido
+ 1 Ruihao Chen
+ 1 Tobias Pütz
+ 1 Tomáš Karela Procházka
+ 1 Willem Jan
+</span></code></pre></div></div>
+<h2>Highlights</h2>
+<h3>Arrow</h3>
+<h4>Features</h4>
+<ul>
+<li>Added <code>VariantGet</code> for efficient path extraction from variant
arrays <a href="https://github.com/apache/arrow-go/pull/1206" target="_blank"
rel="noopener">#1206</a>
+</li>
+<li>Added <code>list_element</code>, <code>cumulative_sum</code>,
<code>cumulative_sum_checked</code>, and <code>dictionary_encode</code> compute
functions <a href="https://github.com/apache/arrow-go/pull/1138"
target="_blank" rel="noopener">#1138</a>,
+<a href="https://github.com/apache/arrow-go/pull/1139" target="_blank"
rel="noopener">#1139</a>, <a
href="https://github.com/apache/arrow-go/pull/1140" target="_blank"
rel="noopener">#1140</a>
+</li>
+<li>Added <code>ValueAsAny</code> for accessing Arrow array values as native
Go values <a href="https://github.com/apache/arrow-go/pull/1170"
target="_blank" rel="noopener">#1170</a>
+</li>
+<li>Strengthened IPC file validation for malformed block framing and lengths
<a href="https://github.com/apache/arrow-go/pull/1097" target="_blank"
rel="noopener">#1097</a>
+</li>
+</ul>
+<h4>Bug Fixes</h4>
+<ul>
+<li>Fixed a memory leak when calling <code>Resize(0)</code> on non-empty
builders <a href="https://github.com/apache/arrow-go/pull/995" target="_blank"
rel="noopener">#995</a>
+</li>
+<li>Preserved exact precision when casting strings to Decimal128 and
Decimal256 scalars <a href="https://github.com/apache/arrow-go/pull/1107"
target="_blank" rel="noopener">#1107</a>
+</li>
+</ul>
+<h4>Performance Improvements</h4>
+<p>This is a performance-heavy release: 32 of the merged pull requests are
dedicated
+optimizations. Unless noted otherwise, the figures below are the PR-reported
+benchmarks on an Apple M1 Pro, comparing the new path against the scalar
+baseline it replaces.</p>
+<ul>
+<li>Expanded SIMD acceleration for compute arithmetic, comparisons, and
filtering on ARM64 and AMD64. Arithmetic kernels run 4.1-4.4x faster on int64
and float64
+adds, int64 array/array comparisons drop from 313.6us to 29.3us per op
(10.7x), narrow 8- and 16-bit integer comparisons reach 12.8-15.1x, and
null-free
+32-bit fixed-width filters compress up to 11.8x faster on 1M-element inputs <a
href="https://github.com/apache/arrow-go/pull/1265" target="_blank"
rel="noopener">#1265</a>, <a
href="https://github.com/apache/arrow-go/pull/1266" target="_blank"
rel="noopener">#1266</a>,
+<a href="https://github.com/apache/arrow-go/pull/1284" target="_blank"
rel="noopener">#1284</a>, <a
href="https://github.com/apache/arrow-go/pull/1286" target="_blank"
rel="noopener">#1286</a>, <a
href="https://github.com/apache/arrow-go/pull/1287" target="_blank"
rel="noopener">#1287</a>, <a
href="https://github.com/apache/arrow-go/pull/1288" target="_blank"
rel="noopener">#1288</a>
+</li>
+<li>Building take indices from fragmented selection vectors is no longer
quadratic. For a 1M-element alternating filter it drops from 4.31s to 515us,
and a
+serial <code>FilterRecordBatch</code> over the same filter falls from 2.06s to
831us <a href="https://github.com/apache/arrow-go/pull/1287" target="_blank"
rel="noopener">#1287</a>
+</li>
+<li>Added SIMD-accelerated packing of boolean slices and validity data into
Arrow bitmaps: <code>BooleanBuilder</code> packing of 65,536 values improves
roughly 4-5x
+(23.4us to 3.9us), batched validity packing is up to 4.4x faster, and ARM64
NEON bitmap operations gain 2.2-2.9x <a
href="https://github.com/apache/arrow-go/pull/1283" target="_blank"
rel="noopener">#1283</a>,
+<a href="https://github.com/apache/arrow-go/pull/1185" target="_blank"
rel="noopener">#1185</a>, <a
href="https://github.com/apache/arrow-go/pull/1264" target="_blank"
rel="noopener">#1264</a>, <a
href="https://github.com/apache/arrow-go/pull/1090" target="_blank"
rel="noopener">#1090</a>
+</li>
+<li>Batched run-end encoded appends turn a millisecond-scale operation into a
microsecond-scale one for null and empty-value runs, cutting 1.16MB across 55
+allocations per op down to 1.7KB across 19 <a
href="https://github.com/apache/arrow-go/pull/1214" target="_blank"
rel="noopener">#1214</a>
+</li>
+<li>Concatenation avoids temporary buffers and copies bitmaps directly: 65,536
int64 values spread over 8,192 chunks go from 571.7us to 214.5us (-62%) with
+allocations falling from 8,199 to 6 per op <a
href="https://github.com/apache/arrow-go/pull/1194" target="_blank"
rel="noopener">#1194</a>, <a
href="https://github.com/apache/arrow-go/pull/1224" target="_blank"
rel="noopener">#1224</a>
+</li>
+<li>Serial and small-batch execution skips goroutine and span overhead:
single-span kernel dispatch nearly halves latency at length 1 (342.0ns to
189.0ns),
+serial record filtering over 128 columns goes from 709.8us to 420.9us, and
serial <code>Take</code> plus IPC encoder scratch reuse cut per-op allocations
across the
+board <a href="https://github.com/apache/arrow-go/pull/1233" target="_blank"
rel="noopener">#1233</a>, <a
href="https://github.com/apache/arrow-go/pull/1245" target="_blank"
rel="noopener">#1245</a>, <a
href="https://github.com/apache/arrow-go/pull/1226" target="_blank"
rel="noopener">#1226</a>, <a
href="https://github.com/apache/arrow-go/pull/1221" target="_blank"
rel="noopener">#1221</a>
+</li>
+<li>CSV writing no longer materializes rows first, cutting a 1,000-row by
16-column write from 4.78ms to 0.84ms (-82%) and allocated bytes by 81% <a
href="https://github.com/apache/arrow-go/pull/1190" target="_blank"
rel="noopener">#1190</a>
+</li>
+</ul>
+<h3>Parquet</h3>
+<h4>Features</h4>
+<ul>
+<li>Added read and write support for GeoArrow extension types using Parquet
geometry and geography logical types <a
href="https://github.com/apache/arrow-go/pull/960" target="_blank"
rel="noopener">#960</a>,
+<a href="https://github.com/apache/arrow-go/pull/969" target="_blank"
rel="noopener">#969</a>
+</li>
+<li>Added codec-aware dictionary cost fallback and per-column writer controls
<a href="https://github.com/apache/arrow-go/pull/1036" target="_blank"
rel="noopener">#1036</a>
+</li>
+</ul>
+<h4>Bug Fixes</h4>
+<ul>
+<li>Correctly populated Bloom filters from dictionary-encoded values <a
href="https://github.com/apache/arrow-go/pull/1164" target="_blank"
rel="noopener">#1164</a>
+</li>
+<li>Rejected decimal values that overflow Parquet INT32 or INT64 columns
instead of silently narrowing them <a
href="https://github.com/apache/arrow-go/pull/1122" target="_blank"
rel="noopener">#1122</a>,
+<a href="https://github.com/apache/arrow-go/pull/1161" target="_blank"
rel="noopener">#1161</a>
+</li>
+<li>Fixed reading fixed-size lists whose parent values are null <a
href="https://github.com/apache/arrow-go/pull/1099" target="_blank"
rel="noopener">#1099</a>
+</li>
+</ul>
+<h4>Performance Improvements</h4>
+<ul>
+<li>Added SIMD <code>BYTE_STREAM_SPLIT</code> encoding on ARM64 and AMD64:
16.9x faster for 4-byte values (113,877ns to 6,745ns per op) and 7.6x for
8-byte values <a href="https://github.com/apache/arrow-go/pull/1260"
target="_blank" rel="noopener">#1260</a>
+</li>
+<li>Boolean decoding now targets Arrow bitmaps directly. All-true RLE boolean
pages of 1M values decode in 2.45us instead of 2.65ms, and dense boolean column
+reads through pqarrow drop 90% in time and 65% in heap use <a
href="https://github.com/apache/arrow-go/pull/1246" target="_blank"
rel="noopener">#1246</a>, <a
href="https://github.com/apache/arrow-go/pull/1182" target="_blank"
rel="noopener">#1182</a>
+</li>
+<li>Batched encoding and decoding across the core codecs: plain
<code>BYTE_ARRAY</code> encoding is 45-62% faster, RLE level encoding is 79%
faster for all-defined
+levels, and <code>DELTA_BINARY_PACKED</code> decoding is 34-66% faster <a
href="https://github.com/apache/arrow-go/pull/1193" target="_blank"
rel="noopener">#1193</a>, <a
href="https://github.com/apache/arrow-go/pull/1177" target="_blank"
rel="noopener">#1177</a>, <a
href="https://github.com/apache/arrow-go/pull/1169" target="_blank"
rel="noopener">#1169</a>
+</li>
+<li>Dictionary encoding allocates far less: numeric insertion of 65,535
float32 values goes from 64,905 allocations per op to 13, and typed byte-array
memo
+insertion cuts time 24% and allocations 50% (Apple M3 Max). Fixed-width
dictionary materialization is also vectorized on AVX2 systems <a
href="https://github.com/apache/arrow-go/pull/1178" target="_blank"
rel="noopener">#1178</a>,
+<a href="https://github.com/apache/arrow-go/pull/1272" target="_blank"
rel="noopener">#1272</a>, <a
href="https://github.com/apache/arrow-go/pull/1269" target="_blank"
rel="noopener">#1269</a>
+</li>
+<li>Reduced copying when writing binary and fixed-size binary Arrow values to
Parquet: 16-byte <code>FixedSizeBinary</code> writes are 72% faster for
required columns
+with statistics disabled, and 64K String writes go from 1.798ms to 1.260ms <a
href="https://github.com/apache/arrow-go/pull/1262" target="_blank"
rel="noopener">#1262</a>, <a
href="https://github.com/apache/arrow-go/pull/1263" target="_blank"
rel="noopener">#1263</a>
+</li>
+<li>Compressors are reused across pages: random 64KiB gzip page encoding is
6.1x faster (94.7us to 15.6us) with allocations down from 15 to 1 per op, and
+Brotli encoding drops from about 22 allocations per op to 1 <a
href="https://github.com/apache/arrow-go/pull/1238" target="_blank"
rel="noopener">#1238</a>, <a
href="https://github.com/apache/arrow-go/pull/1254" target="_blank"
rel="noopener">#1254</a>
+</li>
+<li>Serial reads skip goroutine orchestration, trimming 18% from single-column
row-group reads <a href="https://github.com/apache/arrow-go/pull/1235"
target="_blank" rel="noopener">#1235</a>
+</li>
+</ul>
+<h2>Changelog</h2>
+<h3>Selected Changes</h3>
+<p>A selection of the user-facing changes in this release. See the full
changelog link
+below for all 285 merged pull requests.</p>
+<h4>Arrow</h4>
+<ul>
+<li>fix: remove superfluous struct field index compare by @Willem-J-an in <a
href="https://github.com/apache/arrow-go/pull/970" target="_blank"
rel="noopener">#970</a>
+</li>
+<li>fix(ipc): reject truncated message frames by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/991" target="_blank"
rel="noopener">#991</a>
+</li>
+<li>fix: Fix arm64 assembly stack frame manipulation by @nsrip-dd in <a
href="https://github.com/apache/arrow-go/pull/984" target="_blank"
rel="noopener">#984</a>
+</li>
+<li>fix(arrow/array): <code>Resize(0)</code> on non-empty builder causes
memory leak by @serramatutu in <a
href="https://github.com/apache/arrow-go/pull/995" target="_blank"
rel="noopener">#995</a>
+</li>
+<li>fix(arrow/csv): preserve decimal precision by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1022" target="_blank"
rel="noopener">#1022</a>
+</li>
+<li>refactor(arrow/avro): migrate from hamba/avro to twmb/avro by @prochac in
<a href="https://github.com/apache/arrow-go/pull/830" target="_blank"
rel="noopener">#830</a>
+</li>
+<li>feat(flightsql): allow configuring the driver memory allocator by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1076"
target="_blank" rel="noopener">#1076</a>
+</li>
+<li>feat(arrow/flight/sql): Add is_update field to
ActionCreatePreparedStatementResult by @ennuite in <a
href="https://github.com/apache/arrow-go/pull/732" target="_blank"
rel="noopener">#732</a>
+</li>
+<li>feat(arrow/array): roll back JSON builder state after failed rows by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1113"
target="_blank" rel="noopener">#1113</a>
+</li>
+<li>feat(arrow/array): add ValueAsAny for native Go values by @dgvj-work in <a
href="https://github.com/apache/arrow-go/pull/1170" target="_blank"
rel="noopener">#1170</a>
+</li>
+<li>feat(extensions): add VariantGet for path extraction from variant arrays
by @nssalian in <a href="https://github.com/apache/arrow-go/pull/1206"
target="_blank" rel="noopener">#1206</a>
+</li>
+<li>fix(arrow/extensions): use canonical Variant extension name by @dgvj-work
in <a href="https://github.com/apache/arrow-go/pull/1241" target="_blank"
rel="noopener">#1241</a>
+</li>
+<li>fix(arrow/extensions): reject Null Variant typed_value by @dgvj-work in <a
href="https://github.com/apache/arrow-go/pull/1243" target="_blank"
rel="noopener">#1243</a>
+</li>
+<li>fix(arrow/ipc): validate file block framing and lengths by @fallintoplace
in <a href="https://github.com/apache/arrow-go/pull/1097" target="_blank"
rel="noopener">#1097</a>
+</li>
+<li>fix(arrow/ipc): avoid deadlock on compression errors by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1142" target="_blank"
rel="noopener">#1142</a>
+</li>
+<li>fix(arrow/scalar): preserve exact decimal string casts by @fallintoplace
in <a href="https://github.com/apache/arrow-go/pull/1107" target="_blank"
rel="noopener">#1107</a>
+</li>
+<li>fix(arrow/scalar): align timestamp timezone parsing by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1109" target="_blank"
rel="noopener">#1109</a>
+</li>
+<li>fix(arrow): validate precision in NewDecimalType by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1162" target="_blank"
rel="noopener">#1162</a>
+</li>
+<li>fix(arrow): reject duplicate union type codes by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1131" target="_blank"
rel="noopener">#1131</a>
+</li>
+<li>fix(arrow/csv): preserve first row during headerless inference by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1145"
target="_blank" rel="noopener">#1145</a>
+</li>
+<li>fix(arrow/csv): append null for later parse failures by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1149" target="_blank"
rel="noopener">#1149</a>
+</li>
+<li>fix(arrow/array): clamp run ends when concatenating a sliced RunEndEncoded
array by @winklemad in <a href="https://github.com/apache/arrow-go/pull/1219"
target="_blank" rel="noopener">#1219</a>
+</li>
+<li>fix(arrow/cdata): validate imported schema topology by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1046" target="_blank"
rel="noopener">#1046</a>
+</li>
+</ul>
+<h4>Compute</h4>
+<ul>
+<li>feat(compute): add list_element by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1138" target="_blank"
rel="noopener">#1138</a>
+</li>
+<li>feat(compute): add cumulative_sum and cumulative_sum_checked by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1139"
target="_blank" rel="noopener">#1139</a>
+</li>
+<li>feat(compute): add dictionary_encode by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1140" target="_blank"
rel="noopener">#1140</a>
+</li>
+<li>fix(compute): round negative HalfToOdd ties correctly by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1094" target="_blank"
rel="noopener">#1094</a>
+</li>
+<li>fix(compute): handle odd temporal multiples by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1119" target="_blank"
rel="noopener">#1119</a>
+</li>
+<li>fix(compute): preserve caller context during execution by @fallintoplace
in <a href="https://github.com/apache/arrow-go/pull/1154" target="_blank"
rel="noopener">#1154</a>
+</li>
+<li>fix(compute): discard results after cancellation by @zeroshade in <a
href="https://github.com/apache/arrow-go/pull/1278" target="_blank"
rel="noopener">#1278</a>
+</li>
+<li>fix(compute/exprs): avoid empty field reference panic by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1130" target="_blank"
rel="noopener">#1130</a>
+</li>
+</ul>
+<h4>Parquet</h4>
+<ul>
+<li>feat(parquet/schema): Wire up logical type functionality for writing geo
types by @C-Loftus in <a href="https://github.com/apache/arrow-go/pull/960"
target="_blank" rel="noopener">#960</a>
+</li>
+<li>feat(parquet/pqarrow): Read support for extension types / geo by @C-Loftus
in <a href="https://github.com/apache/arrow-go/pull/969" target="_blank"
rel="noopener">#969</a>
+</li>
+<li>feat(parquet): add WithDictionaryCostFallback writer property by @tom-eon
in <a href="https://github.com/apache/arrow-go/pull/1036" target="_blank"
rel="noopener">#1036</a>
+</li>
+<li>fix(parquet): wrap DELTA_BINARY_PACKED deltas at the physical type width
by @tom-eon in <a href="https://github.com/apache/arrow-go/pull/1027"
target="_blank" rel="noopener">#1027</a>
+</li>
+<li>fix(parquet/encoding): read ahead in the streaming value buffer by
@joechenrh in <a href="https://github.com/apache/arrow-go/pull/937"
target="_blank" rel="noopener">#937</a>
+</li>
+<li>fix(parquet/pqarrow): prefer stored schema extension type on read by
@twuebi in <a href="https://github.com/apache/arrow-go/pull/1051"
target="_blank" rel="noopener">#1051</a>
+</li>
+<li>fix(parquet/pqarrow): require Variant value field when writing by
@dgvj-work in <a href="https://github.com/apache/arrow-go/pull/1242"
target="_blank" rel="noopener">#1242</a>
+</li>
+<li>fix(parquet): guard byte-stream-split encoder release against
never-flushed buffer by @tom-eon in <a
href="https://github.com/apache/arrow-go/pull/1273" target="_blank"
rel="noopener">#1273</a>
+</li>
+<li>fix(parquet): stop BYTE_STREAM_SPLIT FLBA spaced decode aliasing output by
@zeroshade in <a href="https://github.com/apache/arrow-go/pull/1256"
target="_blank" rel="noopener">#1256</a>
+</li>
+<li>fix(parquet): read null fixed-size-list parents by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1099" target="_blank"
rel="noopener">#1099</a>
+</li>
+<li>fix(parquet/pqarrow): reject decimal overflow in integer columns by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1122"
target="_blank" rel="noopener">#1122</a>
+</li>
+<li>fix(parquet/pqarrow): reject decimal overflow when writing integers by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1161"
target="_blank" rel="noopener">#1161</a>
+</li>
+<li>fix(parquet): build bloom filters from dictionary entries by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1164"
target="_blank" rel="noopener">#1164</a>
+</li>
+<li>fix(parquet): preserve dictionary index types by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1098" target="_blank"
rel="noopener">#1098</a>
+</li>
+<li>fix(parquet): restore Arrow duration units from schema metadata by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1095"
target="_blank" rel="noopener">#1095</a>
+</li>
+<li>fix(parquet/compress): honor LZ4 raw destination contract by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1147"
target="_blank" rel="noopener">#1147</a>
+</li>
+<li>fix(parquet): row-align V1 pages with offset indexes by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1075" target="_blank"
rel="noopener">#1075</a>
+</li>
+<li>fix(parquet/variant): validate metadata offset tables by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1063" target="_blank"
rel="noopener">#1063</a>
+</li>
+</ul>
+<h4>Performance</h4>
+<ul>
+<li>perf(arrow/bitutil): add SetBitSwap/ClearBitSwap, use in builder.SetNull
by @tom-eon in <a href="https://github.com/apache/arrow-go/pull/1090"
target="_blank" rel="noopener">#1090</a>
+</li>
+<li>perf(bitutil): add ARM64 NEON bitmap operations by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1264" target="_blank"
rel="noopener">#1264</a>
+</li>
+<li>perf(arrow/array): pack validity values in batches by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1185" target="_blank"
rel="noopener">#1185</a>
+</li>
+<li>perf(arrow/array): SIMD-pack boolean slices into bitmaps by @fallintoplace
in <a href="https://github.com/apache/arrow-go/pull/1283" target="_blank"
rel="noopener">#1283</a>
+</li>
+<li>perf(arrow/array): batch run-end encoded appends by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1214" target="_blank"
rel="noopener">#1214</a>
+</li>
+<li>perf(arrow/array): avoid temporary buffers when concatenating by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1194"
target="_blank" rel="noopener">#1194</a>
+</li>
+<li>perf(arrow/array): concatenate bitmaps directly by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1224" target="_blank"
rel="noopener">#1224</a>
+</li>
+<li>perf(compute): add ARM64 NEON arithmetic kernels by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1265" target="_blank"
rel="noopener">#1265</a>
+</li>
+<li>perf(compute): add ARM64 NEON comparison kernels by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1266" target="_blank"
rel="noopener">#1266</a>
+</li>
+<li>perf(compute): add ARM64 NEON comparisons for 8- and 16-bit integers by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1288"
target="_blank" rel="noopener">#1288</a>
+</li>
+<li>perf(compute): add ARM64 NEON compression for null-free 32-bit fixed-width
filters by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1286" target="_blank"
rel="noopener">#1286</a>
+</li>
+<li>perf(compute): vectorize mixed int32 filters with AVX2 by @fallintoplace
in <a href="https://github.com/apache/arrow-go/pull/1284" target="_blank"
rel="noopener">#1284</a>
+</li>
+<li>perf(compute): SIMD-compact fragmented filters into take indices by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1287"
target="_blank" rel="noopener">#1287</a>
+</li>
+<li>perf(compute): fast-path single-span execution by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1233" target="_blank"
rel="noopener">#1233</a>
+</li>
+<li>perf(arrow/compute): avoid goroutines for serial record filtering by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1245"
target="_blank" rel="noopener">#1245</a>
+</li>
+<li>perf(arrow/compute): avoid goroutines for serial take by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1226" target="_blank"
rel="noopener">#1226</a>
+</li>
+<li>perf(parquet): SIMD BYTE_STREAM_SPLIT encoding by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1260" target="_blank"
rel="noopener">#1260</a>
+</li>
+<li>perf(parquet): vectorize fixed-width dictionary materialization by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1269"
target="_blank" rel="noopener">#1269</a>
+</li>
+<li>perf(parquet): optimize numeric dictionary insertion by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1178" target="_blank"
rel="noopener">#1178</a>
+</li>
+<li>perf(parquet): use typed memo insertion for byte-array dictionaries by
@derekperkins in <a href="https://github.com/apache/arrow-go/pull/1272"
target="_blank" rel="noopener">#1272</a>
+</li>
+<li>perf(parquet): batch plain BYTE_ARRAY encoding by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1193" target="_blank"
rel="noopener">#1193</a>
+</li>
+<li>perf(parquet): encode RLE levels in batches by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1177" target="_blank"
rel="noopener">#1177</a>
+</li>
+<li>perf(parquet): batch delta binary packed decoding by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1169" target="_blank"
rel="noopener">#1169</a>
+</li>
+<li>perf(parquet): decode RLE booleans into bitmaps by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1246" target="_blank"
rel="noopener">#1246</a>
+</li>
+<li>perf(parquet/pqarrow): decode booleans directly to bitmaps by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1182"
target="_blank" rel="noopener">#1182</a>
+</li>
+<li>perf(parquet/pqarrow): write binary values from Arrow offsets by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1262"
target="_blank" rel="noopener">#1262</a>
+</li>
+<li>perf(parquet/pqarrow): write FixedSizeBinary values directly by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1263"
target="_blank" rel="noopener">#1263</a>
+</li>
+<li>perf(parquet/pqarrow): use synchronous path for serial reads by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1235"
target="_blank" rel="noopener">#1235</a>
+</li>
+<li>perf(parquet/compress): reuse gzip writers by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1238" target="_blank"
rel="noopener">#1238</a>
+</li>
+<li>perf(parquet/compress): reuse Brotli writers across encodes by
@fallintoplace in <a href="https://github.com/apache/arrow-go/pull/1254"
target="_blank" rel="noopener">#1254</a>
+</li>
+<li>perf(arrow/csv): avoid materializing rows before writing by @fallintoplace
in <a href="https://github.com/apache/arrow-go/pull/1190" target="_blank"
rel="noopener">#1190</a>
+</li>
+<li>perf(arrow/ipc): reuse record encoder scratch by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1221" target="_blank"
rel="noopener">#1221</a>
+</li>
+</ul>
+<h3>New Contributors</h3>
+<ul>
+<li>@C-Loftus made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/960" target="_blank"
rel="noopener">#960</a>
+</li>
+<li>@tom-eon made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/1027" target="_blank"
rel="noopener">#1027</a>
+</li>
+<li>@prochac made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/830" target="_blank"
rel="noopener">#830</a>
+</li>
+<li>@dgvj-work made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/1170" target="_blank"
rel="noopener">#1170</a>
+</li>
+<li>@ennuite made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/732" target="_blank"
rel="noopener">#732</a>
+</li>
+<li>@derekperkins made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/1272" target="_blank"
rel="noopener">#1272</a>
+</li>
+<li>@winklemad made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/1219" target="_blank"
rel="noopener">#1219</a>
+</li>
+</ul>
+<p><strong>Full Changelog</strong>: <a
href="https://github.com/apache/arrow-go/compare/v18.7.0...v18.8.0"
target="_blank"
rel="noopener">https://github.com/apache/arrow-go/compare/v18.7.0...v18.8.0</a></p>
+
+ </main>
+ </div>
+
+ <hr>
+<footer class="footer">
+ <div class="row">
+ <div class="col-md-9">
+ <p>Apache Arrow, Arrow, Apache, the Apache logo, and the Apache Arrow
project logo are either registered trademarks or trademarks of The Apache
Software Foundation in the United States and other countries.</p>
+ <p>© 2016-2026 The Apache Software Foundation</p>
+ </div>
+ <div class="col-md-3">
+ <a class="d-sm-none d-md-inline pr-2"
href="https://www.apache.org/events/current-event.html" target="_blank"
rel="noopener">
+ <img src="https://www.apache.org/events/current-event-234x60.png">
+ </a>
+ </div>
+ </div>
+</footer>
+
+ </div>
+</body>
+</html>
diff --git a/blog/index.html b/blog/index.html
index c95250e8b33..43c77beeb9e 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -248,6 +248,37 @@
+ <p>
+ </p>
+<h3>
+ <a href="/blog/2026/09/08/arrow-go-18.8.0/">Apache Arrow Go 18.8.0
Release</a>
+ </h3>
+
+ <p>
+ <span class="blog-list-date">
+ 8 September 2026
+ </span>
+ </p>
+
+The Apache Arrow team is pleased to announce the v18.8.0 release of Apache
Arrow Go.
+This minor release covers 283 commits from 16 distinct contributors.
+Contributors
+$ git shortlog -sn v18.7.0..v18.8.0
+ 251 Minh Vu
+ 10 Matt Topol
+ 4 Colton Loftus
+ 4 Digvijay
+ 4 Tom Frank
+ 1 Derek Perkins
+ 1 Lucas Valente
+ 1 Madan k...
+
+ <a href="/blog/2026/09/08/arrow-go-18.8.0/">Read More →</a>
+
+
+
+
+
<p>
</p>
<h3>
diff --git a/feed.xml b/feed.xml
index 4d0bbaac51e..08431383afd 100644
--- a/feed.xml
+++ b/feed.xml
@@ -1,4 +1,204 @@
-<?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-09-08T03:45:07-04:00</updated><id>https://arrow.apache.org/feed.xml</id><title
type="html">Apache Arrow</title><subtitle>Apache Arrow is the universal
columnar fo [...]
+<?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-09-08T18:02:49-04:00</updated><id>https://arrow.apache.org/feed.xml</id><title
type="html">Apache Arrow</title><subtitle>Apache Arrow is the universal
columnar fo [...]
+
+-->
+<p>The Apache Arrow team is pleased to announce the v18.8.0 release of Apache
Arrow Go.
+This minor release covers 283 commits from 16 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.7.0..v18.8.0
+<span class="go"> 251 Minh Vu
+ 10 Matt Topol
+ 4 Colton Loftus
+ 4 Digvijay
+ 4 Tom Frank
+ 1 Derek Perkins
+ 1 Lucas Valente
+ 1 Madan kumar
+ 1 Neelesh Salian
+ 1 Nick Ripley
+ 1 Pedro Matias
+ 1 Raúl Cumplido
+ 1 Ruihao Chen
+ 1 Tobias Pütz
+ 1 Tomáš Karela Procházka
+ 1 Willem Jan
+</span></code></pre></div></div>
+<h2>Highlights</h2>
+<h3>Arrow</h3>
+<h4>Features</h4>
+<ul>
+<li>Added <code>VariantGet</code> for efficient path extraction from variant
arrays <a href="https://github.com/apache/arrow-go/pull/1206">#1206</a></li>
+<li>Added <code>list_element</code>, <code>cumulative_sum</code>,
<code>cumulative_sum_checked</code>, and <code>dictionary_encode</code> compute
functions <a href="https://github.com/apache/arrow-go/pull/1138">#1138</a>,
+<a href="https://github.com/apache/arrow-go/pull/1139">#1139</a>, <a
href="https://github.com/apache/arrow-go/pull/1140">#1140</a></li>
+<li>Added <code>ValueAsAny</code> for accessing Arrow array values as native
Go values <a href="https://github.com/apache/arrow-go/pull/1170">#1170</a></li>
+<li>Strengthened IPC file validation for malformed block framing and lengths
<a href="https://github.com/apache/arrow-go/pull/1097">#1097</a></li>
+</ul>
+<h4>Bug Fixes</h4>
+<ul>
+<li>Fixed a memory leak when calling <code>Resize(0)</code> on non-empty
builders <a href="https://github.com/apache/arrow-go/pull/995">#995</a></li>
+<li>Preserved exact precision when casting strings to Decimal128 and
Decimal256 scalars <a
href="https://github.com/apache/arrow-go/pull/1107">#1107</a></li>
+</ul>
+<h4>Performance Improvements</h4>
+<p>This is a performance-heavy release: 32 of the merged pull requests are
dedicated
+optimizations. Unless noted otherwise, the figures below are the PR-reported
+benchmarks on an Apple M1 Pro, comparing the new path against the scalar
+baseline it replaces.</p>
+<ul>
+<li>Expanded SIMD acceleration for compute arithmetic, comparisons, and
filtering on ARM64 and AMD64. Arithmetic kernels run 4.1-4.4x faster on int64
and float64
+adds, int64 array/array comparisons drop from 313.6us to 29.3us per op
(10.7x), narrow 8- and 16-bit integer comparisons reach 12.8-15.1x, and
null-free
+32-bit fixed-width filters compress up to 11.8x faster on 1M-element inputs <a
href="https://github.com/apache/arrow-go/pull/1265">#1265</a>, <a
href="https://github.com/apache/arrow-go/pull/1266">#1266</a>,
+<a href="https://github.com/apache/arrow-go/pull/1284">#1284</a>, <a
href="https://github.com/apache/arrow-go/pull/1286">#1286</a>, <a
href="https://github.com/apache/arrow-go/pull/1287">#1287</a>, <a
href="https://github.com/apache/arrow-go/pull/1288">#1288</a></li>
+<li>Building take indices from fragmented selection vectors is no longer
quadratic. For a 1M-element alternating filter it drops from 4.31s to 515us,
and a
+serial <code>FilterRecordBatch</code> over the same filter falls from 2.06s to
831us <a href="https://github.com/apache/arrow-go/pull/1287">#1287</a></li>
+<li>Added SIMD-accelerated packing of boolean slices and validity data into
Arrow bitmaps: <code>BooleanBuilder</code> packing of 65,536 values improves
roughly 4-5x
+(23.4us to 3.9us), batched validity packing is up to 4.4x faster, and ARM64
NEON bitmap operations gain 2.2-2.9x <a
href="https://github.com/apache/arrow-go/pull/1283">#1283</a>,
+<a href="https://github.com/apache/arrow-go/pull/1185">#1185</a>, <a
href="https://github.com/apache/arrow-go/pull/1264">#1264</a>, <a
href="https://github.com/apache/arrow-go/pull/1090">#1090</a></li>
+<li>Batched run-end encoded appends turn a millisecond-scale operation into a
microsecond-scale one for null and empty-value runs, cutting 1.16MB across 55
+allocations per op down to 1.7KB across 19 <a
href="https://github.com/apache/arrow-go/pull/1214">#1214</a></li>
+<li>Concatenation avoids temporary buffers and copies bitmaps directly: 65,536
int64 values spread over 8,192 chunks go from 571.7us to 214.5us (-62%) with
+allocations falling from 8,199 to 6 per op <a
href="https://github.com/apache/arrow-go/pull/1194">#1194</a>, <a
href="https://github.com/apache/arrow-go/pull/1224">#1224</a></li>
+<li>Serial and small-batch execution skips goroutine and span overhead:
single-span kernel dispatch nearly halves latency at length 1 (342.0ns to
189.0ns),
+serial record filtering over 128 columns goes from 709.8us to 420.9us, and
serial <code>Take</code> plus IPC encoder scratch reuse cut per-op allocations
across the
+board <a href="https://github.com/apache/arrow-go/pull/1233">#1233</a>, <a
href="https://github.com/apache/arrow-go/pull/1245">#1245</a>, <a
href="https://github.com/apache/arrow-go/pull/1226">#1226</a>, <a
href="https://github.com/apache/arrow-go/pull/1221">#1221</a></li>
+<li>CSV writing no longer materializes rows first, cutting a 1,000-row by
16-column write from 4.78ms to 0.84ms (-82%) and allocated bytes by 81% <a
href="https://github.com/apache/arrow-go/pull/1190">#1190</a></li>
+</ul>
+<h3>Parquet</h3>
+<h4>Features</h4>
+<ul>
+<li>Added read and write support for GeoArrow extension types using Parquet
geometry and geography logical types <a
href="https://github.com/apache/arrow-go/pull/960">#960</a>,
+<a href="https://github.com/apache/arrow-go/pull/969">#969</a></li>
+<li>Added codec-aware dictionary cost fallback and per-column writer controls
<a href="https://github.com/apache/arrow-go/pull/1036">#1036</a></li>
+</ul>
+<h4>Bug Fixes</h4>
+<ul>
+<li>Correctly populated Bloom filters from dictionary-encoded values <a
href="https://github.com/apache/arrow-go/pull/1164">#1164</a></li>
+<li>Rejected decimal values that overflow Parquet INT32 or INT64 columns
instead of silently narrowing them <a
href="https://github.com/apache/arrow-go/pull/1122">#1122</a>,
+<a href="https://github.com/apache/arrow-go/pull/1161">#1161</a></li>
+<li>Fixed reading fixed-size lists whose parent values are null <a
href="https://github.com/apache/arrow-go/pull/1099">#1099</a></li>
+</ul>
+<h4>Performance Improvements</h4>
+<ul>
+<li>Added SIMD <code>BYTE_STREAM_SPLIT</code> encoding on ARM64 and AMD64:
16.9x faster for 4-byte values (113,877ns to 6,745ns per op) and 7.6x for
8-byte values <a
href="https://github.com/apache/arrow-go/pull/1260">#1260</a></li>
+<li>Boolean decoding now targets Arrow bitmaps directly. All-true RLE boolean
pages of 1M values decode in 2.45us instead of 2.65ms, and dense boolean column
+reads through pqarrow drop 90% in time and 65% in heap use <a
href="https://github.com/apache/arrow-go/pull/1246">#1246</a>, <a
href="https://github.com/apache/arrow-go/pull/1182">#1182</a></li>
+<li>Batched encoding and decoding across the core codecs: plain
<code>BYTE_ARRAY</code> encoding is 45-62% faster, RLE level encoding is 79%
faster for all-defined
+levels, and <code>DELTA_BINARY_PACKED</code> decoding is 34-66% faster <a
href="https://github.com/apache/arrow-go/pull/1193">#1193</a>, <a
href="https://github.com/apache/arrow-go/pull/1177">#1177</a>, <a
href="https://github.com/apache/arrow-go/pull/1169">#1169</a></li>
+<li>Dictionary encoding allocates far less: numeric insertion of 65,535
float32 values goes from 64,905 allocations per op to 13, and typed byte-array
memo
+insertion cuts time 24% and allocations 50% (Apple M3 Max). Fixed-width
dictionary materialization is also vectorized on AVX2 systems <a
href="https://github.com/apache/arrow-go/pull/1178">#1178</a>,
+<a href="https://github.com/apache/arrow-go/pull/1272">#1272</a>, <a
href="https://github.com/apache/arrow-go/pull/1269">#1269</a></li>
+<li>Reduced copying when writing binary and fixed-size binary Arrow values to
Parquet: 16-byte <code>FixedSizeBinary</code> writes are 72% faster for
required columns
+with statistics disabled, and 64K String writes go from 1.798ms to 1.260ms <a
href="https://github.com/apache/arrow-go/pull/1262">#1262</a>, <a
href="https://github.com/apache/arrow-go/pull/1263">#1263</a></li>
+<li>Compressors are reused across pages: random 64KiB gzip page encoding is
6.1x faster (94.7us to 15.6us) with allocations down from 15 to 1 per op, and
+Brotli encoding drops from about 22 allocations per op to 1 <a
href="https://github.com/apache/arrow-go/pull/1238">#1238</a>, <a
href="https://github.com/apache/arrow-go/pull/1254">#1254</a></li>
+<li>Serial reads skip goroutine orchestration, trimming 18% from single-column
row-group reads <a
href="https://github.com/apache/arrow-go/pull/1235">#1235</a></li>
+</ul>
+<h2>Changelog</h2>
+<h3>Selected Changes</h3>
+<p>A selection of the user-facing changes in this release. See the full
changelog link
+below for all 285 merged pull requests.</p>
+<h4>Arrow</h4>
+<ul>
+<li>fix: remove superfluous struct field index compare by @Willem-J-an in <a
href="https://github.com/apache/arrow-go/pull/970">#970</a></li>
+<li>fix(ipc): reject truncated message frames by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/991">#991</a></li>
+<li>fix: Fix arm64 assembly stack frame manipulation by @nsrip-dd in <a
href="https://github.com/apache/arrow-go/pull/984">#984</a></li>
+<li>fix(arrow/array): <code>Resize(0)</code> on non-empty builder causes
memory leak by @serramatutu in <a
href="https://github.com/apache/arrow-go/pull/995">#995</a></li>
+<li>fix(arrow/csv): preserve decimal precision by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1022">#1022</a></li>
+<li>refactor(arrow/avro): migrate from hamba/avro to twmb/avro by @prochac in
<a href="https://github.com/apache/arrow-go/pull/830">#830</a></li>
+<li>feat(flightsql): allow configuring the driver memory allocator by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1076">#1076</a></li>
+<li>feat(arrow/flight/sql): Add is_update field to
ActionCreatePreparedStatementResult by @ennuite in <a
href="https://github.com/apache/arrow-go/pull/732">#732</a></li>
+<li>feat(arrow/array): roll back JSON builder state after failed rows by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1113">#1113</a></li>
+<li>feat(arrow/array): add ValueAsAny for native Go values by @dgvj-work in <a
href="https://github.com/apache/arrow-go/pull/1170">#1170</a></li>
+<li>feat(extensions): add VariantGet for path extraction from variant arrays
by @nssalian in <a
href="https://github.com/apache/arrow-go/pull/1206">#1206</a></li>
+<li>fix(arrow/extensions): use canonical Variant extension name by @dgvj-work
in <a href="https://github.com/apache/arrow-go/pull/1241">#1241</a></li>
+<li>fix(arrow/extensions): reject Null Variant typed_value by @dgvj-work in <a
href="https://github.com/apache/arrow-go/pull/1243">#1243</a></li>
+<li>fix(arrow/ipc): validate file block framing and lengths by @fallintoplace
in <a href="https://github.com/apache/arrow-go/pull/1097">#1097</a></li>
+<li>fix(arrow/ipc): avoid deadlock on compression errors by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1142">#1142</a></li>
+<li>fix(arrow/scalar): preserve exact decimal string casts by @fallintoplace
in <a href="https://github.com/apache/arrow-go/pull/1107">#1107</a></li>
+<li>fix(arrow/scalar): align timestamp timezone parsing by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1109">#1109</a></li>
+<li>fix(arrow): validate precision in NewDecimalType by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1162">#1162</a></li>
+<li>fix(arrow): reject duplicate union type codes by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1131">#1131</a></li>
+<li>fix(arrow/csv): preserve first row during headerless inference by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1145">#1145</a></li>
+<li>fix(arrow/csv): append null for later parse failures by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1149">#1149</a></li>
+<li>fix(arrow/array): clamp run ends when concatenating a sliced RunEndEncoded
array by @winklemad in <a
href="https://github.com/apache/arrow-go/pull/1219">#1219</a></li>
+<li>fix(arrow/cdata): validate imported schema topology by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1046">#1046</a></li>
+</ul>
+<h4>Compute</h4>
+<ul>
+<li>feat(compute): add list_element by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1138">#1138</a></li>
+<li>feat(compute): add cumulative_sum and cumulative_sum_checked by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1139">#1139</a></li>
+<li>feat(compute): add dictionary_encode by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1140">#1140</a></li>
+<li>fix(compute): round negative HalfToOdd ties correctly by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1094">#1094</a></li>
+<li>fix(compute): handle odd temporal multiples by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1119">#1119</a></li>
+<li>fix(compute): preserve caller context during execution by @fallintoplace
in <a href="https://github.com/apache/arrow-go/pull/1154">#1154</a></li>
+<li>fix(compute): discard results after cancellation by @zeroshade in <a
href="https://github.com/apache/arrow-go/pull/1278">#1278</a></li>
+<li>fix(compute/exprs): avoid empty field reference panic by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1130">#1130</a></li>
+</ul>
+<h4>Parquet</h4>
+<ul>
+<li>feat(parquet/schema): Wire up logical type functionality for writing geo
types by @C-Loftus in <a
href="https://github.com/apache/arrow-go/pull/960">#960</a></li>
+<li>feat(parquet/pqarrow): Read support for extension types / geo by @C-Loftus
in <a href="https://github.com/apache/arrow-go/pull/969">#969</a></li>
+<li>feat(parquet): add WithDictionaryCostFallback writer property by @tom-eon
in <a href="https://github.com/apache/arrow-go/pull/1036">#1036</a></li>
+<li>fix(parquet): wrap DELTA_BINARY_PACKED deltas at the physical type width
by @tom-eon in <a
href="https://github.com/apache/arrow-go/pull/1027">#1027</a></li>
+<li>fix(parquet/encoding): read ahead in the streaming value buffer by
@joechenrh in <a
href="https://github.com/apache/arrow-go/pull/937">#937</a></li>
+<li>fix(parquet/pqarrow): prefer stored schema extension type on read by
@twuebi in <a href="https://github.com/apache/arrow-go/pull/1051">#1051</a></li>
+<li>fix(parquet/pqarrow): require Variant value field when writing by
@dgvj-work in <a
href="https://github.com/apache/arrow-go/pull/1242">#1242</a></li>
+<li>fix(parquet): guard byte-stream-split encoder release against
never-flushed buffer by @tom-eon in <a
href="https://github.com/apache/arrow-go/pull/1273">#1273</a></li>
+<li>fix(parquet): stop BYTE_STREAM_SPLIT FLBA spaced decode aliasing output by
@zeroshade in <a
href="https://github.com/apache/arrow-go/pull/1256">#1256</a></li>
+<li>fix(parquet): read null fixed-size-list parents by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1099">#1099</a></li>
+<li>fix(parquet/pqarrow): reject decimal overflow in integer columns by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1122">#1122</a></li>
+<li>fix(parquet/pqarrow): reject decimal overflow when writing integers by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1161">#1161</a></li>
+<li>fix(parquet): build bloom filters from dictionary entries by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1164">#1164</a></li>
+<li>fix(parquet): preserve dictionary index types by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1098">#1098</a></li>
+<li>fix(parquet): restore Arrow duration units from schema metadata by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1095">#1095</a></li>
+<li>fix(parquet/compress): honor LZ4 raw destination contract by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1147">#1147</a></li>
+<li>fix(parquet): row-align V1 pages with offset indexes by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1075">#1075</a></li>
+<li>fix(parquet/variant): validate metadata offset tables by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1063">#1063</a></li>
+</ul>
+<h4>Performance</h4>
+<ul>
+<li>perf(arrow/bitutil): add SetBitSwap/ClearBitSwap, use in builder.SetNull
by @tom-eon in <a
href="https://github.com/apache/arrow-go/pull/1090">#1090</a></li>
+<li>perf(bitutil): add ARM64 NEON bitmap operations by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1264">#1264</a></li>
+<li>perf(arrow/array): pack validity values in batches by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1185">#1185</a></li>
+<li>perf(arrow/array): SIMD-pack boolean slices into bitmaps by @fallintoplace
in <a href="https://github.com/apache/arrow-go/pull/1283">#1283</a></li>
+<li>perf(arrow/array): batch run-end encoded appends by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1214">#1214</a></li>
+<li>perf(arrow/array): avoid temporary buffers when concatenating by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1194">#1194</a></li>
+<li>perf(arrow/array): concatenate bitmaps directly by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1224">#1224</a></li>
+<li>perf(compute): add ARM64 NEON arithmetic kernels by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1265">#1265</a></li>
+<li>perf(compute): add ARM64 NEON comparison kernels by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1266">#1266</a></li>
+<li>perf(compute): add ARM64 NEON comparisons for 8- and 16-bit integers by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1288">#1288</a></li>
+<li>perf(compute): add ARM64 NEON compression for null-free 32-bit fixed-width
filters by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1286">#1286</a></li>
+<li>perf(compute): vectorize mixed int32 filters with AVX2 by @fallintoplace
in <a href="https://github.com/apache/arrow-go/pull/1284">#1284</a></li>
+<li>perf(compute): SIMD-compact fragmented filters into take indices by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1287">#1287</a></li>
+<li>perf(compute): fast-path single-span execution by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1233">#1233</a></li>
+<li>perf(arrow/compute): avoid goroutines for serial record filtering by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1245">#1245</a></li>
+<li>perf(arrow/compute): avoid goroutines for serial take by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1226">#1226</a></li>
+<li>perf(parquet): SIMD BYTE_STREAM_SPLIT encoding by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1260">#1260</a></li>
+<li>perf(parquet): vectorize fixed-width dictionary materialization by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1269">#1269</a></li>
+<li>perf(parquet): optimize numeric dictionary insertion by @fallintoplace in
<a href="https://github.com/apache/arrow-go/pull/1178">#1178</a></li>
+<li>perf(parquet): use typed memo insertion for byte-array dictionaries by
@derekperkins in <a
href="https://github.com/apache/arrow-go/pull/1272">#1272</a></li>
+<li>perf(parquet): batch plain BYTE_ARRAY encoding by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1193">#1193</a></li>
+<li>perf(parquet): encode RLE levels in batches by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1177">#1177</a></li>
+<li>perf(parquet): batch delta binary packed decoding by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1169">#1169</a></li>
+<li>perf(parquet): decode RLE booleans into bitmaps by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1246">#1246</a></li>
+<li>perf(parquet/pqarrow): decode booleans directly to bitmaps by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1182">#1182</a></li>
+<li>perf(parquet/pqarrow): write binary values from Arrow offsets by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1262">#1262</a></li>
+<li>perf(parquet/pqarrow): write FixedSizeBinary values directly by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1263">#1263</a></li>
+<li>perf(parquet/pqarrow): use synchronous path for serial reads by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1235">#1235</a></li>
+<li>perf(parquet/compress): reuse gzip writers by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1238">#1238</a></li>
+<li>perf(parquet/compress): reuse Brotli writers across encodes by
@fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1254">#1254</a></li>
+<li>perf(arrow/csv): avoid materializing rows before writing by @fallintoplace
in <a href="https://github.com/apache/arrow-go/pull/1190">#1190</a></li>
+<li>perf(arrow/ipc): reuse record encoder scratch by @fallintoplace in <a
href="https://github.com/apache/arrow-go/pull/1221">#1221</a></li>
+</ul>
+<h3>New Contributors</h3>
+<ul>
+<li>@C-Loftus made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/960">#960</a></li>
+<li>@tom-eon made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/1027">#1027</a></li>
+<li>@prochac made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/830">#830</a></li>
+<li>@dgvj-work made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/1170">#1170</a></li>
+<li>@ennuite made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/732">#732</a></li>
+<li>@derekperkins made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/1272">#1272</a></li>
+<li>@winklemad made their first contribution in <a
href="https://github.com/apache/arrow-go/pull/1219">#1219</a></li>
+</ul>
+<p><strong>Full Changelog</strong>: <a
href="https://github.com/apache/arrow-go/compare/v18.7.0...v18.8.0">https://github.com/apache/arrow-go/compare/v18.7.0...v18.8.0</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.8.0 release of Apache Arrow Go. This minor release
covers 283 commits from 16 distinct contributors. Contributors $ git shortlog
-sn v18.7.0..v18.8.0 251 Minh Vu [...]
-->
<p>The Apache Arrow team is pleased to announce the 0.9.0 release of
@@ -1450,41 +1650,4 @@ number of bigger contributions in the past year.</p>
<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 [...]
-
--->
-<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:
Overr [...]
\ No newline at end of file
+</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 [...]
\ No newline at end of file
diff --git a/release/index.html b/release/index.html
index 86cb709c262..bc8b1b46b00 100644
--- a/release/index.html
+++ b/release/index.html
@@ -20,13 +20,13 @@
<meta property="og:site_name" content="Apache Arrow" />
<meta property="og:image"
content="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png"
/>
<meta property="og:type" content="article" />
-<meta property="article:published_time" content="2026-09-08T03:45:07-04:00" />
-<meta property="article:modified_time" content="2026-09-08T03:45:07-04:00" />
+<meta property="article:published_time" content="2026-09-08T18:02:49-04:00" />
+<meta property="article:modified_time" content="2026-09-08T18:02:49-04:00" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image"
content="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png"
/>
<meta name="twitter:title" content="Releases" />
<script type="application/ld+json">
-{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2026-09-08T03:45:07-04:00","datePublished":"2026-09-08T03:45:07-04:00","description":"Apache
Arrow Releases Navigate to the release page for downloads and the changelog.
25.0.1 (10 August 2026) 25.0.0 (10 July 2026) 24.0.0 (21 April 2026) 23.0.1 (16
February 2026) 23.0.0 (18 January 2026) 22.0.0 (24 October 2025) 21.0.0 (17
July 2025) 20.0.0 (27 April 2025) 19.0.1 (16 February 2025) 19.0.0 (16 January
2025) 18.1.0 (24 [...]
+{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2026-09-08T18:02:49-04:00","datePublished":"2026-09-08T18:02:49-04:00","description":"Apache
Arrow Releases Navigate to the release page for downloads and the changelog.
25.0.1 (10 August 2026) 25.0.0 (10 July 2026) 24.0.0 (21 April 2026) 23.0.1 (16
February 2026) 23.0.0 (18 January 2026) 22.0.0 (24 October 2025) 21.0.0 (17
July 2025) 20.0.0 (27 April 2025) 19.0.1 (16 February 2025) 19.0.0 (16 January
2025) 18.1.0 (24 [...]
<!-- End Jekyll SEO tag -->