Apache Arrow Go 18.3.0 Release
Published
09 May 2025
By
The Apache Arrow PMC (pmc)
The Apache Arrow team is pleased to announce the v18.3.0 release of Apache Arrow Go. This minor release covers 21 commits from 8 distinct contributors.
Contributors
$ git shortlog -sn v18.2.0..v18.3.0
13 Matt Topol
2 Chris Pahl
1 Ashish Negi
1 David Li
1 Jeroen Demeyer
1 Mateusz Rzeszutek
1 Raúl Cumplido
1 Saurabh Singh
Highlights
- Fix alignment of atomic refcount handling for ARM #323
Arrow
- Functions to convert RecordReader to Go iter.Seq and vice versa #314
- New “is_in” function for Arrow compute package
- Allow returning column remarks for FlightSQL CommandGetTables #361
Parquet
- Added new
SeekToRow
function for pqarrow.RecordReader #321 - Bloom filters can now be read and written, then utilized for skipping #341 #336
- Fix a panic when
WriteDataPage
fails #366
Changelog
What’s Changed
- feat(arrow/array): convert RecordReader and iterators by @zeroshade in #314
- refactor(arrow/array): replace some codegen with generics by @zeroshade in #315
- feat(parquet/pqarrow): Add SeekToRow for RecordReader by @zeroshade in #321
- fix: go’s atomic operations require 64bit alignment in structs on ARM by @sahib in #323
- feat(arrow/compute): implement “is_in” function by @zeroshade in #319
- fix(parquet/pqarrow): fix propagation of FieldIds for nested fields by @zeroshade in #324
- Fix: Handle null values in PlainFixedLenByteArrayEncoder gracefully by @singh1203 in #320
- fix(parquet/pqarrow): fix definition levels with non-nullable lists by @zeroshade in #325
- chore: fix macOS Go 1.24 CI by @lidavidm in #334
- feat(parquet/metadata): bloom filter implementation by @zeroshade in #336
- feat(parquet): Write/Read bloom filters from files by @zeroshade in #341
-
fix: move from atomic.(Add Load Store) to atomic.Int64{} by @sahib in #326 - fix(parquet/file): restore goroutine safety for reader by @zeroshade in #343
- chore: Enable GitHub discussions on arrow-go repository by @raulcd in #353
- Compress: add MarshalText and UnmarshalText by @jdemeyer in #357
- fix(arrow/array): optional struct array with required field by @zeroshade in #359
- feat(parquet/schema): initial variant logical type by @zeroshade in #352
- chore(arrow): remove most lock copies by @zeroshade in #362
- Fix panic when WriteDataPage fails by @ashishnegi in #366
- GH-46087: [FlightSQL] Allow returning column remarks in FlightSQL’s CommandGetTables by @mateuszrzeszutek in #361
New Contributors
- @sahib made their first contribution in #323
- @jdemeyer made their first contribution in #357
- @ashishnegi made their first contribution in #366
- @mateuszrzeszutek made their first contribution in #361
Full Changelog: https://github.com/apache/arrow-go/compare/v18.2.0…v18.3.0