Repository navigation
website: add Apache Arrow 26.0.0 blogpost #819
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
6c4c4b2
website: add Apache Arrow 26.0.0 blogpost
raulcd 410de1e
Add Ruby and C GLib notes
kou 0e15315
Update _posts/2026-10-08-26.0.0-release.md
raulcd 0daea1e
Update _posts/2026-10-08-26.0.0-release.md
raulcd 7465a70
Fix Python notes formatting
raulcd 500704b
Add C++ and Parquet notes for the blog post
raulcd fddbcbc
Add community notes to blog post
raulcd 16afa04
Apply batched suggestions from code review
raulcd 487d69e
Apply batched suggestions from code review
raulcd File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,236 @@ | ||
| --- | ||
| layout: post | ||
| title: "Apache Arrow 26.0.0 Release" | ||
| date: "2026-10-08 00:00:00" | ||
| author: pmc | ||
| categories: [release] | ||
| --- | ||
| <!-- | ||
| {% comment %} | ||
| Licensed to the Apache Software Foundation (ASF) under one or more | ||
| contributor license agreements. See the NOTICE file distributed with | ||
| this work for additional information regarding copyright ownership. | ||
| The ASF licenses this file to you under the Apache License, Version 2.0 | ||
| (the "License"); you may not use this file except in compliance with | ||
| the License. You may obtain a copy of the License at | ||
|
|
||
| http://www.apache.org/licenses/LICENSE-2.0 | ||
|
|
||
| Unless required by applicable law or agreed to in writing, software | ||
| distributed under the License is distributed on an "AS IS" BASIS, | ||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| See the License for the specific language governing permissions and | ||
| limitations under the License. | ||
| {% endcomment %} | ||
| --> | ||
|
|
||
| The Apache Arrow team is pleased to announce the 26.0.0 release. This release | ||
| covers over 3 months of development work and includes [**337 resolved | ||
| issues**][1] on [**403 distinct commits**][2] from [**108 distinct | ||
| contributors**][2]. See the [Install Page](https://arrow.apache.org/install/) 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][3]. | ||
|
|
||
| ## Community | ||
|
|
||
| Since the 25.0.0 release, Kosta Tarasov, Zehua Zou and Tadeja Kadunc have | ||
| been invited to become committers. Jeffrey Vo has been invited to join | ||
| the Project Management Committee (PMC). | ||
|
|
||
| Thanks for your contributions and participation in the project! | ||
|
|
||
| ## Format Notes | ||
|
|
||
| The Tensor and SparseTensor IPC messages have been deprecated in the | ||
| specification, and the corresponding C++ APIs for reading and writing them have | ||
| been deprecated as well ([GH-51100](https://github.com/apache/arrow/issues/51100)). | ||
|
|
||
| ## Arrow Flight RPC Notes | ||
|
|
||
| Work on the Flight SQL ODBC driver continued. RPM packages for the driver are now | ||
| built ([GH-47877](https://github.com/apache/arrow/issues/47877)). | ||
| On Windows, the driver is now statically linked ([GH-49538](https://github.com/apache/arrow/issues/49538)). | ||
|
|
||
| ## C++ Notes | ||
|
|
||
| Most of the C++ JSON handling (integration tests, extension type metadata, | ||
| Parquet, Flight SQL ODBC...) has been migrated from RapidJSON to | ||
| [simdjson](https://github.com/simdjson/simdjson) for parsing and to a new | ||
| `JsonWriter` for serialization ([GH-50566](https://github.com/apache/arrow/issues/50566), [GH-50567](https://github.com/apache/arrow/issues/50567) and | ||
| follow-ups). | ||
|
|
||
| The Feather reader and writer V1 APIs have been deprecated in favour of the Arrow | ||
| IPC APIs ([GH-49231](https://github.com/apache/arrow/issues/49231)), in line with the corresponding Python and R deprecations. | ||
|
|
||
| ### CSV | ||
|
|
||
| Two new parse options: | ||
| `pad_short_rows` fills in nulls for rows with missing trailing fields | ||
| ([GH-50925](https://github.com/apache/arrow/issues/50925)), and `ignore_extra_columns` drops extra fields from rows that have | ||
| more columns than expected ([GH-50967](https://github.com/apache/arrow/issues/50967)). | ||
|
|
||
| ### Compute | ||
|
|
||
| New `remainder` and `modulo` compute functions have been added ([GH-46901](https://github.com/apache/arrow/issues/46901)). | ||
|
|
||
| The temporal rounding functions (`floor_temporal`, `ceil_temporal` and | ||
| `round_temporal`) now accept duration inputs ([GH-50395](https://github.com/apache/arrow/issues/50395)). | ||
|
|
||
| Hash aggregations now support `string_view` and `binary_view` grouping keys | ||
| ([GH-50223](https://github.com/apache/arrow/issues/50223)), and the `unique`, `value_counts` and `dictionary_encode` functions | ||
| now support `float16` inputs ([GH-50512](https://github.com/apache/arrow/issues/50512)). | ||
|
|
||
| ### File Systems | ||
|
|
||
| **Breaking change:** the S3 filesystem and its AWS SDK dependency have been moved | ||
| out of `libarrow` into a separate `libarrow_s3` library ([GH-50194](https://github.com/apache/arrow/issues/50194)). This | ||
| reduces the size of `libarrow` for users who do not need S3. C++ users of the S3 | ||
| filesystem now need to either link against `libarrow_s3` or load it at runtime | ||
| using `LoadFileSystemFactories`. | ||
|
|
||
| ### Parquet | ||
|
|
||
| The schema nesting depth is now limited when parsing the Thrift metadata of a | ||
| Parquet file, turning a stack overflow on pathologically nested schemas into a | ||
| regular error ([GH-51238](https://github.com/apache/arrow/issues/51238)). The default limit (100) can be raised if needed. | ||
|
|
||
| Reading Parquet files with unrecognized combinations of logical and physical | ||
| types is now tolerated instead of failing ([GH-50910](https://github.com/apache/arrow/issues/50910)). | ||
|
|
||
| A new low-level dense decoding API allows `FIXED_LEN_BYTE_ARRAY` values to be | ||
| decoded directly into caller-provided buffers | ||
| ([GH-50333](https://github.com/apache/arrow/issues/50333)). | ||
|
|
||
| Reading only the plaintext columns of a partially encrypted Parquet file with a | ||
| plaintext footer no longer fails with a decryption error ([GH-51361](https://github.com/apache/arrow/issues/51361)). | ||
| [GH-51349](https://github.com/apache/arrow/pull/51350) disables reading KMS URLs from file key material by default (`read_kms_url=false`). Applications relying on this behavior should | ||
| explicitly configure the KMS URL, or opt in with `read_kms_url=true` only if their KMS implementation validates the supplied URL. | ||
| Level histograms written to the Parquet size statistics could be incorrect for | ||
| inputs spanning multiple chunks; this has been fixed ([GH-50778](https://github.com/apache/arrow/issues/50778)). | ||
|
|
||
| APIs deprecated in version 23.0.0 and earlier have been removed ([GH-50750](https://github.com/apache/arrow/issues/50750)). | ||
|
|
||
| ### Miscellaneous C++ changes | ||
|
|
||
| `ArrayBuilder` subclasses for binary data now raise a `CapacityError` instead of | ||
| silently truncating values of 2 GiB or more ([GH-51156](https://github.com/apache/arrow/issues/51156)). | ||
|
|
||
| Bitmap copy and inversion operations have been sped up, by up to 2x in some | ||
| cases ([GH-50784](https://github.com/apache/arrow/issues/50784)). | ||
|
|
||
| The `Datum` class has a new method `ComputeLogicalNullCount` ([GH-50338](https://github.com/apache/arrow/issues/50338)), | ||
| complementing the method added to `ChunkedArray` in the previous release. | ||
|
|
||
| ## Python Notes | ||
|
|
||
| ### Compatibility notes | ||
|
|
||
| * Python 3.15 is supported and wheels created [GH-48172](https://github.com/apache/arrow/issues/48172). | ||
| * Python 3.10 support dropped [GH-50410](https://github.com/apache/arrow/issues/50410). | ||
| * Support for pandas < 2.2.2 dropped [GH-48808](https://github.com/apache/arrow/issues/48808) and [GH-48473](https://github.com/apache/arrow/issues/48473). | ||
| * We now require numpy 2.x [GH-48473](https://github.com/apache/arrow/issues/48473). | ||
|
|
||
| ### New features | ||
|
|
||
| * Conversion from numpy ` numpy.dtypes.StringDType` to Arrow `string` (also `large_string` or `string_view`) is added [GH-51652](https://github.com/apache/arrow/issues/51652). | ||
| * DLPack implementation now provides export capability for Arrow Arrays, Tensors [GH-39295](https://github.com/apache/arrow/issues/39295) and `FixedShapeTensorArray`/`FixedShapeTensorScalar` [GH-38868](https://github.com/apache/arrow/issues/38868) for consumers implementing DLPack protocol. Also the protocol version has been updated to use version 1.3 [GH-41670](https://github.com/apache/arrow/issues/41670). | ||
| * `record_batch_reader_source` Acero node (`RecordBatchReaderSourceNodeOptions`) is exposed [GH-50801](https://github.com/apache/arrow/issues/50801). | ||
| * `search_sorted` kernel for all primitive types and run-end encoded arrays is available [GH-49677](https://github.com/apache/arrow/issues/49677). | ||
| * `RecordBatchFileReader.count_rows()` binding is added [GH-49305](https://github.com/apache/arrow/issues/49305). | ||
| * `List`, `ListView`, `LargeList`, `LargeListView`, `Map`, `FixedSizeList` and `Struct` values are supported in the `run_end_encode` and the `run_end_decode` paths [GH-44183](https://github.com/apache/arrow/issues/44183). | ||
| * `eol` and `null_string` csv `WriteOptions` have been exposed [GH-34577](https://github.com/apache/arrow/issues/34577). | ||
|
|
||
| ### Other improvements | ||
|
|
||
| * `.slice` methods accept Arrow integer scalars [GH-51145](https://github.com/apache/arrow/issues/51145). | ||
| * `arrow_to_pandas` `DateOffset` handling for nanoseconds/microseconds is simplified [GH-50464](https://github.com/apache/arrow/issues/50464). | ||
| * First step towards abi3 wheels support for pyarrow has been merged [GH-50431](https://github.com/apache/arrow/issues/50431). | ||
| * `is_nested` now uses C++ type traits [GH-40282](https://github.com/apache/arrow/issues/40282). | ||
|
|
||
| ### Relevant bug fixes | ||
|
|
||
| * Converting `arrow.uuid arrays` and `table` columns to pandas now returns `uuid.UUID` objects instead of `bytes` [GH-50312](https://github.com/apache/arrow/issues/50312). | ||
| * Scalar arithmetic dunders now return `NotImplemented` instead of raising `TypeError` when the other operand is not a recognized Arrow/NumPy type [GH-49826](https://github.com/apache/arrow/issues/49826). | ||
| * Raise instead of crashing on unopened `MemoryMappedFile().resize()` [GH-51229](https://github.com/apache/arrow/issues/51229). | ||
| * Writer options are synced between `write_table` and `write_to_dataset`/`ParquetFileFormat.make_write_options(...)` [GH-51220](https://github.com/apache/arrow/issues/51220). | ||
| * `BufferReader.readinto()` segfaults on a read-only destination are fixed [GH-51044](https://github.com/apache/arrow/issues/51044). | ||
| * `FunctionOptions.deserialize()` segfaults on non-buffer arguments are fixed [GH-51041](https://github.com/apache/arrow/issues/51041). | ||
| * Correct type of `ParquetLogicalType` is now returned for Geometry/Geography [GH-50849](https://github.com/apache/arrow/issues/50849). | ||
| * `pa.types.is_nested()` now returns `True` for run-end encoded types [GH-50847](https://github.com/apache/arrow/issues/50847). | ||
| * The reference cycle between the C++ FlightServerBase and the Python object now breaks to avoid leaking the server [GH-50684](https://github.com/apache/arrow/issues/50684). | ||
| * Reference leak in `ConvertToSequenceAndInferSize` when an iterator raises on array conversion is fixed [GH-50591](https://github.com/apache/arrow/issues/50591). | ||
| * `pa.Table.from_struct_array` failure on empty array is fixed [GH-48344](https://github.com/apache/arrow/issues/48344). | ||
| * Invalid operator error message in `pyarrow.parquet` is fixed [GH-47369](https://github.com/apache/arrow/issues/47369). | ||
| * Preserving leading zeros in `read_csv` is now better documented [GH-46853](https://github.com/apache/arrow/issues/46853). | ||
| * `write_dataset` with csv file format ignoring delimiter is fixed [GH-39961](https://github.com/apache/arrow/issues/39961). | ||
| * `pyarrow.array` silently rewriting dictionary types to use signed integers for indexes is fixed [GH-37476](https://github.com/apache/arrow/issues/37476). | ||
| * Extension types with list-based storage cast segfault is fixed [GH-37004](https://github.com/apache/arrow/issues/37004). | ||
|
|
||
| ## R Notes | ||
| - register_scalar_function() now errors if named fields in in_type do not match the corresponding | ||
| argument names of fun (after the initial context argument), instead of silently ignoring those names ([GH-37761](https://github.com/apache/arrow/pull/51324)). | ||
| ### Breaking changes | ||
|
|
||
| - `read_feather()` and `write_feather()` are deprecated in favour of `read_ipc_file()` and `write_ipc_file()`, and `format = "feather"` in `open_dataset()` and `write_dataset()` is deprecated in favour of `format = "ipc"` ([GH-49237](https://github.com/apache/arrow/issues/49237)). | ||
| - The long-deprecated `.data.frame` argument to `map_batches()` has been removed, and the planned change to `pull()` returning a `ChunkedArray` by default has been dropped, so `pull()` no longer warns ([GH-51655](https://github.com/apache/arrow/issues/51655)). | ||
|
|
||
| ### New features | ||
|
|
||
| - Azure Blob Storage is now supported via the new `AzureFileSystem` class and `az_container()` helper, analogous to `S3FileSystem` and `s3_bucket()` (@marberts, [GH-32123](https://github.com/apache/arrow/issues/32123)). | ||
|
|
||
| ### Minor improvements and fixes | ||
|
|
||
| - A number of dplyr fixes: variables sharing a name with a function such as `date` now work in verbs ([GH-39688](https://github.com/apache/arrow/issues/39688)), `if_else()` works with a bare `NA` branch alongside dates ([GH-38358](https://github.com/apache/arrow/issues/38358)), and `summarise()` after `arrange()` no longer errors ([GH-45373](https://github.com/apache/arrow/issues/45373)). | ||
| - Factors and integer types inside list columns are now unified across the whole column when reading in multiple batches ([GH-50514](https://github.com/apache/arrow/issues/50514)), and Parquet `float16` columns now read correctly ([GH-50378](https://github.com/apache/arrow/issues/50378)). | ||
|
|
||
|
|
||
| ## Ruby and C GLib Notes | ||
|
|
||
| - Flight RPC: Fixed GC related problems: [GH-50401](https://github.com/apache/arrow/pull/50401) | ||
| - Apache Parquet: Added support for buffered reader properties: [GH-51277](https://github.com/apache/arrow/pull/51277) | ||
|
|
||
| ### Ruby | ||
|
|
||
| - red-arrow-format: Added support for building Apache Arrow data from Ruby objects. | ||
| - red-arrow-format: Added support for comparing arrays. | ||
| - red-arrow-format: Added support for comparing types. | ||
| - red-arrow-format: Added support for getting Ruby objects from Apache Arrow data. | ||
|
|
||
| ### 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](https://github.com/apache/arrow). | ||
|
|
||
| - For notes on the latest release of the [Java | ||
| implementation](https://github.com/apache/arrow-java), see the latest [Arrow | ||
| Java changelog][7]. | ||
| - For notes on the latest release of the [JavaScript | ||
| implementation](https://github.com/apache/arrow-js), see the latest [Arrow | ||
| JavaScript changelog][8]. | ||
| - For notes on the latest release of the [Rust | ||
| implementation](https://github.com/apache/arrow-rs) see the latest [Arrow Rust | ||
| changelog][5]. | ||
| - For notes on the latest release of the [Go | ||
| implementation](https://github.com/apache/arrow-go), see the latest [Arrow Go | ||
| changelog][6]. | ||
| - For notes on the latest release of the [.NET | ||
| implementation](https://github.com/apache/arrow-dotnet), see the latest [Arrow .NET changelog][9]. | ||
| - For notes on the latest release of the [Swift implementation](https://github.com/apache/arrow-swift), see the latest [Arrow Swift changelog][10]. | ||
|
|
||
| [1]: https://github.com/apache/arrow/milestone/75?closed=1 | ||
| [2]: {{ site.baseurl }}/release/26.0.0.html#contributors | ||
| [3]: {{ site.baseurl }}/release/26.0.0.html#changelog | ||
| [4]: {{ site.baseurl }}/docs/r/news/ | ||
| [5]: <https://github.com/apache/arrow-rs/blob/main/CHANGELOG.md> | ||
| [6]: <https://github.com/apache/arrow-go/releases> | ||
| [7]: <https://github.com/apache/arrow-java/releases> | ||
| [8]: <https://github.com/apache/arrow-js/releases> | ||
| [9]: <https://github.com/apache/arrow-dotnet/releases> | ||
| [10]: <https://github.com/apache/arrow-swift/releases> | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.