Changelog¶
This is the changelog for arro3. pyo3-arrow has a separate changelog.
[0.9.0] - 2026-10-02¶
What's Changed¶
- feat: add batch_size parameter to read_parquet by @kevinjacobs-delfi in kylebarron/arro3!494
- chore(python)!: remove support for python 3.9 and 3.10 by @kylebarron in kylebarron/arro3!517
- fix(pyo3-arrow): Support importing zero-length buffers through Python buffer protocol by @kylebarron in kylebarron/arro3!520
- feat(arro3-core): accept arrow_c_schema objects in the Schema constructor by @kylebarron in kylebarron/arro3!524
- docs: add changelog page to the docs website by @kylebarron in kylebarron/arro3!527
- feat(pyo3-arrow): add schema parameter to RecordBatch.from_pydict by @kylebarron in kylebarron/arro3!526
- test: Add test for reading and writing string_view arrays to Parquet files by @kylebarron in kylebarron/arro3!405
- feat(io): accept buffer protocol objects as input to the reader functions by @kylebarron in kylebarron/arro3!523
- feat(pyo3-arrow): add chunk_lengths parameter to rechunk by @kylebarron in kylebarron/arro3!525
- feat: accept iterables in RecordBatchReader.from_batches by @kevinjacobs-delfi in kylebarron/arro3!495
New Contributors¶
- @kevinjacobs-delfi made their first contribution in kylebarron/arro3!494
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.8.2...py-v0.9.0
[0.8.3] - 2026-09-18 Yanked¶
What's Changed¶
- ci: bump pyodide-build to 0.39 to fix emscripten 3.14 builds by @kylebarron in kylebarron/arro3!514
- feat: add batch_size parameter to read_parquet by @kevinjacobs-delfi in kylebarron/arro3!494
New Contributors¶
- @kevinjacobs-delfi made their first contribution in kylebarron/arro3!494
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.8.2...py-v0.8.3
[0.8.2] - 2026-09-02¶
What's Changed¶
- chore: Bump pyo3 to 0.29 by @kylebarron in kylebarron/arro3!507
- chore: Bump pyo3-arrow to 0.19 by @kylebarron in kylebarron/arro3!508
- chore: Bump pyo3 to 0.29 by @kylebarron in kylebarron/arro3!509
- ci: Add Windows ARM64 build by @ndabas in kylebarron/arro3!510
New Contributors¶
- @ndabas made their first contribution in kylebarron/arro3!510
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.8.1...py-v0.8.2
[0.8.1] - 2026-06-11¶
What's Changed¶
- feat: PEP 783 Emscripten wheels! by @kylebarron in kylebarron/arro3!502
- ci: Use trusted publishing for pypi by @kylebarron in kylebarron/arro3!492
- ci: Build arro3-io wheels for emscripten by @kylebarron in kylebarron/arro3!504
- fix: Add missing writer.finish() call by @cpnielsen in kylebarron/arro3!497
New Contributors¶
- @gadomski made their first contribution in kylebarron/arro3!490
- @cpnielsen made their first contribution in kylebarron/arro3!497
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.8.0...py-v0.8.1
[0.8.0] - 2026-02-22¶
Breaking Changes¶
- A bare
DataTypeis now exported through__arrow_c_schema__(such as when passing topyarrow.field) withnullable: true. This is required to match equality semantics with pyarrow. by @kylebarron in kylebarron/arro3!483
Bug Fixes¶
- fix!: Fix type equality between arro3 and pyarrow by @kylebarron in kylebarron/arro3!483
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.7.0...py-v0.8.0
[0.7.0] - 2026-02-19¶
Breaking changes¶
- feat!: Make
Table.remove_columnreturnIndexErrorby @surister in kylebarron/arro3!442 - fix: Rename
namestocolumnsparameter inTables.drop_columnsby @surister in kylebarron/arro3!453 - fix: Properly return
IndexErroron incorrect index inTable.add_columnby @surister in kylebarron/arro3!455
Improvements¶
- ci: Build 3.14t wheels by @kylebarron in kylebarron/arro3!428
- feat: Make
Table.append_columnsupportArrayby @surister in kylebarron/arro3!433 - feat: Make
Table.set_columnandTable.add_columnsupportArrayandArrayReaderby @surister in kylebarron/arro3!437 - fix: off by one when checking if an index is valid by @surister in kylebarron/arro3!443
- feat: Implement
Table.drop_columnsby @surister in kylebarron/arro3!440 - fix:
Table.renamenot modifying internals batches schema by @surister in kylebarron/arro3!457 - fix: Improve error messaging by adding more information by @surister in kylebarron/arro3!447
- feat: Match
RecordBatch.from_arraysclosely to pyarrow by @AlenkaF in kylebarron/arro3!461
Bug Fixes¶
- fix: Preserve schema metadata in RecordBatch PyCapsule export by @bretttully in kylebarron/arro3!474
- fix: Update license metadata in
pyproject.tomlby @kylebarron in kylebarron/arro3!480
Other improvements¶
- chore: Bump to arrow 57 by @kylebarron in kylebarron/arro3!424
- chore: Bump arro3 to pyo3 0.27 by @kylebarron in kylebarron/arro3!425
New Contributors¶
- @surister made their first contribution in kylebarron/arro3!433
- @AlenkaF made their first contribution in kylebarron/arro3!461
- @bretttully made their first contribution in kylebarron/arro3!474
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.6.5...py-v0.7.0
[0.6.5] - 2025-10-13¶
- fix(ci): Ensure we use Python 3.11 interpreter for building abi3 wheels #416
[0.6.4] - 2025-10-13¶
What's Changed¶
- feat(arro3): Freethreading - module markers + CI by @H-Plus-Time in kylebarron/arro3!275
- feat: Add support for Decimal scalar type conversion to Python by @kylebarron in kylebarron/arro3!412
- ci: Build abi3 wheels where possible, falling back to version-specific wheels by @kylebarron in kylebarron/arro3!408
New Contributors¶
- @H-Plus-Time made their first contribution in kylebarron/arro3!275
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.6.3...py-v0.6.4
[0.6.3] - 2025-09-17¶
- feature(arro3-core): Maintain timezone info when converting scalar tz to datetime.datetime (#400)
[0.6.2] - 2025-09-09¶
- Enable sdist artifacts #398
- sdist is now pushed to PyPI for all packages
[0.6.1] - 2025-08-22¶
arro3-core¶
Bug fixes
¶
- fix(arro3-io): use patched
parquetcrate to fix buildingarro3-iofor s390x architectures. #388. This also updatesarrowcrates to 56.1.0.
[0.6.0] - 2025-08-21¶
arro3-core¶
Breaking Changes
¶
No breaking changes.
New features
¶
- Expanded dtype support in
Array.from_numpy. It now additionally supportsdatetime64,timedelta64, fixed-width strings and bytes, variable-width strings, andobjectdtypes that containstrorbytes. - Support FixedSizeBinary in Array constructor by @kylebarron in kylebarron/arro3!358
- Add mask parameter to list/struct constructors by @kylebarron in kylebarron/arro3!382
Bug fixes
¶
- Preserve exceptions when Arrow PyCapsule dunder method fails by @kylebarron in kylebarron/arro3!374
Updated dependencies
¶
- Use Rust
arrow56 by @kylebarron in kylebarron/arro3!368. This includes all changes in the upstream Changelog.
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.5.1...py-v0.6.0
[0.5.1] - 2025-05-31¶
What's Changed¶
- chore: Use released pyo3-file by @kylebarron in kylebarron/arro3!341
- feat: Support serializing binary view and string view array types to numpy by @kylebarron in kylebarron/arro3!348
- fix(arro3-core): Add typing-extensions as a dependency for arro3-core by @kylebarron in kylebarron/arro3!350
- feat(arro3-core): Improved repr for Array and ChunkedArray by @kylebarron in kylebarron/arro3!351
- chore: bump dev versions for geoarrow-types and pyarrow by @kylebarron in kylebarron/arro3!352
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.5.0...py-v0.5.1
[0.5.0] - 2025-05-27¶
New features
¶
- feat: access value_fields and inner fields by @ion-elgreco in kylebarron/arro3!334
- feat(arro3-core): Basic data rendering in
__repr__by @kylebarron in kylebarron/arro3!335
Bug fixes
¶
- feat(arro3-core): Make
DataTypehashable by @kylebarron in kylebarron/arro3!336 - test(arro3-core): Check that
Schemais iterable by @kylebarron in kylebarron/arro3!338
Documentation updates
¶
- Add sphinx interlinking for
ArrowStreamExportableby @kylebarron in kylebarron/arro3!339
New Contributors¶
- @ion-elgreco made their first contribution in kylebarron/arro3!334
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.4.6...py-v0.5.0
[0.4.6] - 2025-03-10¶
Bug fixes
¶
- Use 2_24 for aarch64 wheels by @kylebarron in kylebarron/arro3!279
- Allow None as input into Array constructor by @kylebarron in kylebarron/arro3!294
- Fix rendering
__init__in docs by @kylebarron in kylebarron/arro3!295 - Subclass Buffer type from collections.abc.Buffer by @kylebarron in kylebarron/arro3!297
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.4.5...py-v0.4.6
[0.4.5] - 2024-12-16¶
Bug fixes
¶
- Build wheels for linux aarch64. kylebarron/arro3!277
[0.4.4] - 2024-12-09¶
Bug fixes
¶
- Raise IndexError and KeyError for invalid column access kylebarron/arro3!272
[0.4.3] - 2024-11-21¶
What's Changed¶
- Build wheels for Python 3.13 by @kylebarron in kylebarron/arro3!260
- Raise RuntimeWarning when compiled in debug mode by @kylebarron in kylebarron/arro3!255
- Add
Buffer.to_bytesby @kylebarron in kylebarron/arro3!251 - Make buffers have a length by @martindurant in kylebarron/arro3!252
New Contributors¶
- @martindurant made their first contribution in kylebarron/arro3!252
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.4.2...py-0.4.3
[0.4.2] - 2024-10-14¶
What's Changed¶
- Ensure total numpy v2 support by @kylebarron in kylebarron/arro3!226
- Fix segfault when releasing buffer protocol object by @kylebarron in kylebarron/arro3!231
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.4.1...py-v0.4.2
[0.4.1] - 2024-10-07¶
What's Changed¶
- Support for string view and binary view data types (upgrade to
arrow53.1) by @kylebarron in kylebarron/arro3!219 - Fix min/max with datetimes with timezones by @kylebarron in kylebarron/arro3!220
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.4.0...py-v0.4.1
[0.4.0] - 2024-10-03¶
Enhancements
¶
-
Zero-copy buffer protocol data import by @kylebarron in kylebarron/arro3!204
-
Handle multi-dimensional buffer protocol input by @kylebarron in kylebarron/arro3!208
-
Prefer zero-copy in from_numpy by @kylebarron in kylebarron/arro3!214
-
New compute functions:
- Add date_part by @kylebarron in kylebarron/arro3!202
- Aggregate functions: array min, max, sum by @kylebarron in kylebarron/arro3!193
- Arith functions by @kylebarron in kylebarron/arro3!194
- More compute functions by @kylebarron in kylebarron/arro3!104
- Implement scalar equality by @kylebarron in kylebarron/arro3!205
- Improved docstrings by @kylebarron in kylebarron/arro3!198
- Add installation section to readme by @kylebarron in kylebarron/arro3!189
Bug fixes
¶
- Fix data type bit width by @kylebarron in kylebarron/arro3!190
- Fix return type of
RecordBatch.columnby @kylebarron in kylebarron/arro3!191
New Contributors¶
- @3ok made their first contribution in kylebarron/arro3!210
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.3.1...py-v0.4.0
[0.3.1] - 2024-09-11¶
Bug fixes
¶
- Enable IPC compression by @kylebarron in kylebarron/arro3!187
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.3.0...py-v0.3.1
[0.3.0] - 2024-08-27¶
Enhancements
¶
- Wheels for pyodide are auto-built on CI and published to Github releases.
- Ensure Parquet schema metadata is added to arrow table by @kylebarron in kylebarron/arro3!137
- Access dictionary array keys and values by @kylebarron in kylebarron/arro3!139
- Support reading Parquet from file objects by @kylebarron in kylebarron/arro3!142
- Implement dictionary encoding by @kylebarron in kylebarron/arro3!136
- Support for Arrow scalars and converting to Python objects by @kylebarron in kylebarron/arro3!159
- Move functional accessors to core module by @kylebarron in kylebarron/arro3!151
- Support for python buffer protocol by @kylebarron in kylebarron/arro3!156
Bug fixes
¶
- Fix field metadata propagation by @kylebarron in kylebarron/arro3!150
- Set strip=true for maturin builds by @kylebarron in kylebarron/arro3!155
- Support
__getitem__with a negative index by @kylebarron in kylebarron/arro3!171 - support f16 in from_numpy by @kylebarron in kylebarron/arro3!154
- Fix writing to file by @kylebarron in kylebarron/arro3!138
Full Changelog: github.com/kylebarron/arro3/compare/py-v0.2.1...py-v0.3.0
[0.2.1] - 2024-08-13¶
Bug fixes
¶
- Fix API docs (#131)
[0.2.0] - 2024-08-13¶
Enhancements
¶
- In general, high parity with pyarrow for most data access and management. Most of the
Table,ChunkedArray,Array,RecordBatchReader,Schema, andFieldmethods and behavior should be similar to pyarrow. - An
ArrayReader, an abstraction beyondRecordBatchReaderto allow a stream of arrow arrays that are not RecordBatches. - Readers and writers for Parquet, Arrow IPC, CSV, and JSON.
- Initial compute functions.
- Initial Python tests.
- Improved documentation, both in the type stubs and in the docs website.
- Pyodide wheel support.
[0.1.0] - 2024-07-01¶
- Initial release of arro3-core v0.1.