Jefffrey commented on code in PR #817:
URL: https://github.com/apache/arrow-site/pull/817#discussion_r4115304825


##########
_posts/2026-09-10-arrow-rs-60.0.0.md:
##########
@@ -0,0 +1,378 @@
+---
+layout: post
+title: "Apache Arrow Rust 60.0.0 Release"
+date: "2026-09-25 00:00:00"
+author: Richard Baah & 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 that the v60.0.0 release of 
Apache Arrow
+Rust is now available on crates.io ([arrow] and [parquet]) and as [source 
download].
+
+[arrow]: https://crates.io/crates/arrow
+[parquet]: https://crates.io/crates/parquet
+[source download]: 
https://dist.apache.org/repos/dist/release/arrow/arrow-rs-60.0.0
+
+See the [60.0.0 changelog] for a full list of changes.
+
+[60.0.0 changelog]: https://github.com/apache/arrow-rs/blob/60.0.0/CHANGELOG.md
+
+## Highlights
+
+This release includes new Parquet encoding support, a sustained effort to 
remove
+panics from the codebase, a large number of kernel performance improvements, 
and
+many bug fixes across decimals, take/filter, and FFI.
+
+MSRV is bumped to 1.88,
+`rand` upgraded to 0.10, `object_store` to 0.14.1, and several long-deprecated
+items have been removed. See the [60.0.0 changelog] for the full breaking
+changes list.
+
+## New Features
+
+### Parquet ALP Encoder/Decoder Support
+
+[@sdf-jkl] added support for the [Adaptive Lossless Floating-Point (ALP)]
+encoding in Parquet ([#9372]). ALP is a high-performance encoding for
+floating-point columns that improves both compression ratios and read 
throughput.
+This makes arrow-rs one of the first Parquet implementations to support ALP,
+keeping the [parquet] crate aligned with the latest Parquet specification.
+
+[Adaptive Lossless Floating-Point (ALP)]: 
https://parquet.apache.org/blog/2026/09/22/alp-adaptive-lossless-floating-point-encoding-in-apache-parquet/
+[@sdf-jkl]: https://github.com/sdf-jkl
+[#9372]: https://github.com/apache/arrow-rs/pull/9372
+
+### Parquet Page Index Improvements
+
+[@etseidl] made several improvements to Parquet page index handling: a new
+[`PageIndex`] struct encapsulating column and offset indexes ([#10719]), new
+[`PageIndexBuilder`] and [`PageIndexProvider`] types ([#10842]), and page index
+decoders are now public ([#10899]). One major use case enabled by these
+changes is supplying external or cached `PageIndex`es directly to the reader
+(for example, indexes previously fetched and stored outside the file),
+avoiding redundant I/O on repeated scans. This also opens the door for
+selective population of the page indexes which will help reduce the latency
+of filtered scans against very wide tables.
+
+[@etseidl]: https://github.com/etseidl
+[`PageIndex`]: 
https://docs.rs/parquet/60.0.0/parquet/file/metadata/page_index/struct.PageIndex.html
+[`PageIndexBuilder`]: 
https://docs.rs/parquet/60.0.0/parquet/file/metadata/page_index/struct.PageIndexBuilder.html
+[`PageIndexProvider`]: 
https://docs.rs/parquet/60.0.0/parquet/file/metadata/page_index/trait.PageIndexProvider.html
+[#10719]: https://github.com/apache/arrow-rs/pull/10719
+[#10842]: https://github.com/apache/arrow-rs/pull/10842
+[#10899]: https://github.com/apache/arrow-rs/pull/10899
+
+### Parquet NDV Statistics, FILE Logical Type, and IEEE 754 Total Order
+
+[@Rich-T-kid] implemented writing num distinct values (NDV) statistics in the
+Parquet writer ([#10654]) and added row-group-level distinct counts to
+`StatisticsConverter` ([#10652]). Query engines use these to make better
+planning decisions such as join strategy selection and filter selectivity
+estimates.
+
+[@brkyvz] added support for the `FILE` logical type ([#10109]). [@etseidl]
+implemented [PARQUET-2249] IEEE 754 total order for floating-point comparisons
+([#9619]) and the corresponding `INT96` timestamp `ColumnOrder` ([#10106]).
+[@etseidl] also removed the previous limit of 32,768 row groups per file
+([#10149]).
+
+[@Rich-T-kid]: https://github.com/Rich-T-kid
+[@brkyvz]: https://github.com/brkyvz
+[PARQUET-2249]: https://issues.apache.org/jira/browse/PARQUET-2249
+[#10654]: https://github.com/apache/arrow-rs/pull/10654
+[#10652]: https://github.com/apache/arrow-rs/pull/10652
+[#10109]: https://github.com/apache/arrow-rs/pull/10109
+[#9619]: https://github.com/apache/arrow-rs/pull/9619
+[#10106]: https://github.com/apache/arrow-rs/pull/10106
+[#10149]: https://github.com/apache/arrow-rs/pull/10149
+
+### New `arrow-cmp` Crate
+
+[@Rich-T-kid] introduced the [`arrow-cmp`] crate ([#10325]), splitting
+comparison kernel logic into its own focused crate. This makes it possible to
+depend on Arrow comparison operations without pulling in the full `arrow` 
crate.
+
+[`arrow-cmp`]: https://crates.io/crates/arrow-cmp
+[#10325]: https://github.com/apache/arrow-rs/pull/10325
+
+## Panic Elimination
+
+A lot of work went into converting panics into proper `Result` returns this
+release. [@emilk] fixed `try_` functions still panicking in edge cases 
([#10730],
+[#10755]) and removed panics from `GenericByteArray::from_iter_values` 
([#10729]).
+[@bit2swaz] replaced panics with errors in IPC schema and footer parsing
+([#10647], [#10744]) and closed an FFI `Drop` soundness hole ([#10431]).
+[@Rich-T-kid] fixed a potential use-after-free in `Buffer::shrink_to_fit` 
([#10932])
+and converted `MutableBuffer` panicking callsites to fallible methods 
([#10641],
+[#10317]). [@okhsunrog] made `interleave`/`concat` return errors on dictionary 
key
+overflow ([#10675]). [@ranflarion] converted a Parquet buffer push panic into 
an
+error ([#10564]) and [@dhruvxvaishnav] did the same for invalid dictionary 
index
+bit widths ([#10725]).
+
+[@emilk]: https://github.com/emilk
+[@bit2swaz]: https://github.com/bit2swaz
+[@okhsunrog]: https://github.com/okhsunrog
+[@ranflarion]: https://github.com/ranflarion
+[@dhruvxvaishnav]: https://github.com/dhruvxvaishnav
+[#10730]: https://github.com/apache/arrow-rs/pull/10730
+[#10755]: https://github.com/apache/arrow-rs/pull/10755
+[#10729]: https://github.com/apache/arrow-rs/pull/10729
+[#10647]: https://github.com/apache/arrow-rs/pull/10647
+[#10744]: https://github.com/apache/arrow-rs/pull/10744
+[#10431]: https://github.com/apache/arrow-rs/pull/10431
+[#10932]: https://github.com/apache/arrow-rs/pull/10932
+[#10641]: https://github.com/apache/arrow-rs/pull/10641
+[#10317]: https://github.com/apache/arrow-rs/pull/10317
+[#10675]: https://github.com/apache/arrow-rs/pull/10675
+[#10564]: https://github.com/apache/arrow-rs/pull/10564
+[#10725]: https://github.com/apache/arrow-rs/pull/10725
+
+## Performance Improvements

Review Comment:
   im finding this section a bit hard to read; theres so many PRs (it was a big 
release indeed) being referenced constantly (so keep seeing interruptions of PR 
numbers), and some of these paragraphs seem oddly grouped.
   
   e.g. 3rd paragraph starts with binary size reduction, but then also has 
speed up of parquet improvements. in the first paragraph the `take on X` is 
repeated 3 times, but the second last item in that paragraph is about parquet 
reads.
   
   maybe have sub headings like
   
   - "improvements to take/filter kernels"
   - "improvements to parquet reading"
   - "improvements to binary size"
   
   to better group them?



##########
_posts/2026-09-10-arrow-rs-60.0.0.md:
##########
@@ -0,0 +1,378 @@
+---
+layout: post
+title: "Apache Arrow Rust 60.0.0 Release"
+date: "2026-09-25 00:00:00"
+author: Richard Baah & 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 that the v60.0.0 release of 
Apache Arrow
+Rust is now available on crates.io ([arrow] and [parquet]) and as [source 
download].
+
+[arrow]: https://crates.io/crates/arrow
+[parquet]: https://crates.io/crates/parquet
+[source download]: 
https://dist.apache.org/repos/dist/release/arrow/arrow-rs-60.0.0
+
+See the [60.0.0 changelog] for a full list of changes.
+
+[60.0.0 changelog]: https://github.com/apache/arrow-rs/blob/60.0.0/CHANGELOG.md
+
+## Highlights
+
+This release includes new Parquet encoding support, a sustained effort to 
remove
+panics from the codebase, a large number of kernel performance improvements, 
and
+many bug fixes across decimals, take/filter, and FFI.
+
+MSRV is bumped to 1.88,
+`rand` upgraded to 0.10, `object_store` to 0.14.1, and several long-deprecated
+items have been removed. See the [60.0.0 changelog] for the full breaking
+changes list.
+
+## New Features
+
+### Parquet ALP Encoder/Decoder Support
+
+[@sdf-jkl] added support for the [Adaptive Lossless Floating-Point (ALP)]
+encoding in Parquet ([#9372]). ALP is a high-performance encoding for
+floating-point columns that improves both compression ratios and read 
throughput.
+This makes arrow-rs one of the first Parquet implementations to support ALP,
+keeping the [parquet] crate aligned with the latest Parquet specification.
+
+[Adaptive Lossless Floating-Point (ALP)]: 
https://parquet.apache.org/blog/2026/09/22/alp-adaptive-lossless-floating-point-encoding-in-apache-parquet/
+[@sdf-jkl]: https://github.com/sdf-jkl
+[#9372]: https://github.com/apache/arrow-rs/pull/9372
+
+### Parquet Page Index Improvements
+
+[@etseidl] made several improvements to Parquet page index handling: a new
+[`PageIndex`] struct encapsulating column and offset indexes ([#10719]), new
+[`PageIndexBuilder`] and [`PageIndexProvider`] types ([#10842]), and page index
+decoders are now public ([#10899]). One major use case enabled by these
+changes is supplying external or cached `PageIndex`es directly to the reader
+(for example, indexes previously fetched and stored outside the file),
+avoiding redundant I/O on repeated scans. This also opens the door for
+selective population of the page indexes which will help reduce the latency
+of filtered scans against very wide tables.
+
+[@etseidl]: https://github.com/etseidl
+[`PageIndex`]: 
https://docs.rs/parquet/60.0.0/parquet/file/metadata/page_index/struct.PageIndex.html
+[`PageIndexBuilder`]: 
https://docs.rs/parquet/60.0.0/parquet/file/metadata/page_index/struct.PageIndexBuilder.html
+[`PageIndexProvider`]: 
https://docs.rs/parquet/60.0.0/parquet/file/metadata/page_index/trait.PageIndexProvider.html
+[#10719]: https://github.com/apache/arrow-rs/pull/10719
+[#10842]: https://github.com/apache/arrow-rs/pull/10842
+[#10899]: https://github.com/apache/arrow-rs/pull/10899
+
+### Parquet NDV Statistics, FILE Logical Type, and IEEE 754 Total Order
+
+[@Rich-T-kid] implemented writing num distinct values (NDV) statistics in the
+Parquet writer ([#10654]) and added row-group-level distinct counts to
+`StatisticsConverter` ([#10652]). Query engines use these to make better
+planning decisions such as join strategy selection and filter selectivity
+estimates.
+
+[@brkyvz] added support for the `FILE` logical type ([#10109]). [@etseidl]
+implemented [PARQUET-2249] IEEE 754 total order for floating-point comparisons
+([#9619]) and the corresponding `INT96` timestamp `ColumnOrder` ([#10106]).
+[@etseidl] also removed the previous limit of 32,768 row groups per file
+([#10149]).
+
+[@Rich-T-kid]: https://github.com/Rich-T-kid
+[@brkyvz]: https://github.com/brkyvz
+[PARQUET-2249]: https://issues.apache.org/jira/browse/PARQUET-2249
+[#10654]: https://github.com/apache/arrow-rs/pull/10654
+[#10652]: https://github.com/apache/arrow-rs/pull/10652
+[#10109]: https://github.com/apache/arrow-rs/pull/10109
+[#9619]: https://github.com/apache/arrow-rs/pull/9619
+[#10106]: https://github.com/apache/arrow-rs/pull/10106
+[#10149]: https://github.com/apache/arrow-rs/pull/10149
+
+### New `arrow-cmp` Crate
+
+[@Rich-T-kid] introduced the [`arrow-cmp`] crate ([#10325]), splitting
+comparison kernel logic into its own focused crate. This makes it possible to
+depend on Arrow comparison operations without pulling in the full `arrow` 
crate.

Review Comment:
   nit: this was already technically possible through the `arrow-ord` crate; 
might be less confusing to just mention it was split out of the `arrow-ord` 
crate



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to