Skip to content

[DRAFT] Make Storage a trait#4

Open
CTTY wants to merge 163 commits intomainfrom
ctty/storage-trait
Open

[DRAFT] Make Storage a trait#4
CTTY wants to merge 163 commits intomainfrom
ctty/storage-trait

Conversation

@CTTY
Copy link
Owner

@CTTY CTTY commented Oct 17, 2025

Which issue does this PR close?

  • Closes #.

What changes are included in this PR?

Are these changes tested?

@CTTY CTTY force-pushed the ctty/storage-trait branch from 40b7077 to 0047470 Compare October 17, 2025 02:38
CTTY and others added 3 commits October 17, 2025 18:02
## Which issue does this PR close?

- Closes apache#1572 apache#1573

## What changes are included in this PR?
New:
- Added new `partitioning` module with `PartitioningWriter` trait
- `ClusteredWriter`: Optimized for pre-sorted data, requires writing in
partition order
- `FanoutWriter`: Flexible writer that can handle data from any
partition at any time

Modification:
- (BREAKING) Modified `DataFileWriterBuilder` to support dynamic
partition assignment
- Updated DataFusion integration to use the new writer API

## Are these changes tested?
Added unit tests
## Which issue does this PR close?

- Closes apache#1626

## What changes are included in this PR?


- Introduced a new `SqlCatalogBuilder` implementation for
`iceberg::CatalogBuilder`.
- By transitioning the builder implementation from `SqlCatalogConfig` to
`SqlCatalogBuilder`, we've simplified the process for creating
`SqlCatalog` objects.
- Enabled generation of `Box<dyn BoxedCatalogBuilder>` for the
`SqlCatalog` via the `load` function (apache#1260)

## Are these changes tested?

Yes (only tested whether it could be made)

---------

Co-authored-by: Yoshiki Kudo <actionstar619@yahoo.co.jp>
@CTTY CTTY force-pushed the ctty/storage-trait branch from e9d56e4 to f0bd0ab Compare October 17, 2025 23:39
petern48 and others added 25 commits October 18, 2025 11:13
…#1757)

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#1756

## What changes are included in this PR?

<!--
Provide a summary of the modifications in this PR. List the main changes
such as new features, bug fixes, refactoring, or any other updates.
-->
Fix broken orbstack and podman links in CONTRIBUTING.md

## Are these changes tested?
N/A
<!--
Specify what test covers (unit test, integration test, etc.).

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.47.1 to 1.48.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tokio/releases">tokio's
releases</a>.</em></p>
<blockquote>
<h2>Tokio v1.48.0</h2>
<h1>1.48.0 (October 14th, 2025)</h1>
<p>The MSRV is increased to 1.71.</p>
<h3>Added</h3>
<ul>
<li>fs: add <code>File::max_buf_size</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7594">#7594</a>)</li>
<li>io: export <code>Chain</code> of <code>AsyncReadExt::chain</code>
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7599">#7599</a>)</li>
<li>net: add <code>SocketAddr::as_abstract_name</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7491">#7491</a>)</li>
<li>net: add <code>TcpStream::quickack</code> and
<code>TcpStream::set_quickack</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7490">#7490</a>)</li>
<li>net: implement <code>AsRef&lt;Self&gt;</code> for
<code>TcpStream</code> and <code>UnixStream</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7573">#7573</a>)</li>
<li>task: add <code>LocalKey::try_get</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7666">#7666</a>)</li>
<li>task: implement <code>Ord</code> for <code>task::Id</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7530">#7530</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>deps: bump windows-sys to version 0.61 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7645">#7645</a>)</li>
<li>fs: preserve <code>max_buf_size</code> when cloning a
<code>File</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7593">#7593</a>)</li>
<li>macros: suppress <code>clippy::unwrap_in_result</code> in
<code>#[tokio::main]</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7651">#7651</a>)</li>
<li>net: remove <code>PollEvented</code> noise from Debug formats (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7675">#7675</a>)</li>
<li>process: upgrade <code>Command::spawn_with</code> to use
<code>FnOnce</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7511">#7511</a>)</li>
<li>sync: remove inner mutex in <code>SetOnce</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7554">#7554</a>)</li>
<li>sync: use <code>UnsafeCell::get_mut</code> in
<code>Mutex::get_mut</code> and <code>RwLock::get_mut</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7569">#7569</a>)</li>
<li>time: reduce the generated code size of
<code>Timeout&lt;T&gt;::poll</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7535">#7535</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>macros: fix hygiene issue in <code>join!</code> and
<code>try_join!</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7638">#7638</a>)</li>
<li>net: fix copy/paste errors in udp peek methods (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7604">#7604</a>)</li>
<li>process: fix error when runtime is shut down on nightly-2025-10-12
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7672">#7672</a>)</li>
<li>runtime: use release ordering in <code>wake_by_ref()</code> even if
already woken (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7622">#7622</a>)</li>
<li>sync: close the <code>broadcast::Sender</code> in
<code>broadcast::Sender::new()</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7629">#7629</a>)</li>
<li>sync: fix implementation of unused <code>RwLock::try_*</code>
methods (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7587">#7587</a>)</li>
</ul>
<h3>Unstable</h3>
<ul>
<li>tokio: use cargo features instead of <code>--cfg</code> flags for
<code>taskdump</code> and <code>io_uring</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7655">#7655</a>,
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7621">#7621</a>)</li>
<li>fs: support <code>io_uring</code> in <code>fs::write</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7567">#7567</a>)</li>
<li>fs: support <code>io_uring</code> with <code>File::open()</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7617">#7617</a>)</li>
<li>fs: support <code>io_uring</code> with <code>OpenOptions</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7321">#7321</a>)</li>
<li>macros: add <code>local</code> runtime flavor (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7375">#7375</a>,
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7597">#7597</a>)</li>
</ul>
<h3>Documented</h3>
<ul>
<li>io: clarify the zero capacity case of
<code>AsyncRead::poll_read</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7580">#7580</a>)</li>
<li>io: fix typos in the docs of <code>AsyncFd</code> readiness guards
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7583">#7583</a>)</li>
<li>net: clarify socket gets closed on drop (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7526">#7526</a>)</li>
<li>net: clarify the behavior of <code>UCred::pid()</code> on Cygwin (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7611">#7611</a>)</li>
<li>net: clarify the supported platform of <code>set_reuseport()</code>
and <code>reuseport()</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7628">#7628</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tokio-rs/tokio/commit/556820ff84030b37e74e11b86b7733f5795770ea"><code>556820f</code></a>
chore: prepare Tokio v1.48.0 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7677">#7677</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/fd1659a05222858b675d5515ef609ca39d825bff"><code>fd1659a</code></a>
chore: prepare tokio-macros v2.6.0 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7676">#7676</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/53e8acac641a614b89e35912ebed0520c6dbcf93"><code>53e8aca</code></a>
ci: update nightly version to 2025-10-12 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7670">#7670</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/9e5527d1d5eadbeed46f4d5d4eb22cd96c72a39a"><code>9e5527d</code></a>
process: fix error when runtime is shut down on nightly-2025-10-12 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7672">#7672</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/25a24de0e661d86fa059779e87e0605909465f4a"><code>25a24de</code></a>
net: remove PollEvented noise from Debug formats (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7675">#7675</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/c1fa25f3009d6f5374e337b999fe4fe926c8e7f2"><code>c1fa25f</code></a>
task: clarify the behavior of several <code>spawn_local</code> methods
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7669">#7669</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/e7e02fcf0f16fc906c0fac48aafd6a168ae3cf24"><code>e7e02fc</code></a>
fs: use <code>FileOptions</code> inside <code>fs::File</code> to support
uring (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7617">#7617</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/f7a7f62959aafd03fd40a07a4f511476dff1e57f"><code>f7a7f62</code></a>
ci: remove cargo-deny Unicode-DFS-2016 license exception config (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7619">#7619</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/d1f1499f630c34c1d319acdc2cc86d7a1008c4b4"><code>d1f1499</code></a>
tokio: use cargo feature for taskdump support instead of cfg (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7655">#7655</a>)</li>
<li><a
href="https://github.com/tokio-rs/tokio/commit/ad6f6189529b1067bd4628d1c62abf9a3a64281e"><code>ad6f618</code></a>
runtime: clarify the behavior of <code>Handle::block_on</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7665">#7665</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/tokio/compare/tokio-1.47.1...tokio-1.48.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.47.1&new-version=1.48.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [backon](https://github.com/Xuanwo/backon) from 1.5.2 to 1.6.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Xuanwo/backon/commit/e24dc92742e201f7320868d46a12ff59eb82ef72"><code>e24dc92</code></a>
Bump to version 1.6.0 (<a
href="https://redirect.github.com/Xuanwo/backon/issues/218">#218</a>)</li>
<li><a
href="https://github.com/Xuanwo/backon/commit/7c53db065452e3e15aee399ce34ebfc4bec8014f"><code>7c53db0</code></a>
chore(deps): update embassy-time requirement from 0.4 to 0.5 (<a
href="https://redirect.github.com/Xuanwo/backon/issues/210">#210</a>)</li>
<li><a
href="https://github.com/Xuanwo/backon/commit/b60c28c8c537d3dd114be0fa899853f61e3bd09c"><code>b60c28c</code></a>
chore: Migrate CLAUDE.md to AGENTS.md (<a
href="https://redirect.github.com/Xuanwo/backon/issues/217">#217</a>)</li>
<li><a
href="https://github.com/Xuanwo/backon/commit/f31c9ca73a530d5a8e362d37a90d1489f144ef33"><code>f31c9ca</code></a>
chore(deps): bump actions/setup-node from 4 to 6 (<a
href="https://redirect.github.com/Xuanwo/backon/issues/214">#214</a>)</li>
<li><a
href="https://github.com/Xuanwo/backon/commit/2506e571ae0791ecb93dceb688f23c1cbdb14e0a"><code>2506e57</code></a>
refactor: Bump edition to 2024 and MSRV to 1.85 (<a
href="https://redirect.github.com/Xuanwo/backon/issues/216">#216</a>)</li>
<li><a
href="https://github.com/Xuanwo/backon/commit/dba17424f9e2bfc8e575d71d2741a95bfb4c70be"><code>dba1742</code></a>
chore: Migrate doc_auto_cfg (<a
href="https://redirect.github.com/Xuanwo/backon/issues/215">#215</a>)</li>
<li><a
href="https://github.com/Xuanwo/backon/commit/de0a04105bb6cb42fecb82122e7afbee28c24cd5"><code>de0a041</code></a>
refactor: drop constraint on Future's Output (<a
href="https://redirect.github.com/Xuanwo/backon/issues/213">#213</a>)</li>
<li><a
href="https://github.com/Xuanwo/backon/commit/f68b793a2a7e9a99f01436dae4ad3b39a11b1cab"><code>f68b793</code></a>
chore(deps): bump actions/checkout from 4 to 5 (<a
href="https://redirect.github.com/Xuanwo/backon/issues/209">#209</a>)</li>
<li>See full diff in <a
href="https://github.com/Xuanwo/backon/compare/v1.5.2...v1.6.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=backon&package-manager=cargo&previous-version=1.5.2&new-version=1.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…les, and fix partition scoped matching to consider spec id (apache#1758)

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#1759.

## What changes are included in this PR?

This changes scan planning of equality deletes so that: 
1. we only match against eq deletes which are strictly older than the
data file. Right now it looks like we incorrectly over-apply based on
the seq number for global equality deletes.

2. Partition scoped deletes (both equality and position) are compared
correctly by also factoring in the spec ID. It's not quite enough to
compare just off the tuple, we should also compare based off the spec ID
as well.

## Are these changes tested?

Added unit tests which are scoped to testing delete index matching
logic.

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->
…1760)

Bumps
[apache/skywalking-eyes](https://github.com/apache/skywalking-eyes) from
0.7.0 to 0.8.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/apache/skywalking-eyes/commit/61275cc80d0798a405cb070f7d3a8aaf7cf2c2c1"><code>61275cc</code></a>
Add fsf-free and osi-approved options (<a
href="https://redirect.github.com/apache/skywalking-eyes/issues/250">#250</a>)</li>
<li><a
href="https://github.com/apache/skywalking-eyes/commit/d1a97dfe935d8d66f1cea93d05a763f7efd08d27"><code>d1a97df</code></a>
Update example workflow in the README for the Ruby scenario (<a
href="https://redirect.github.com/apache/skywalking-eyes/issues/248">#248</a>)</li>
<li><a
href="https://github.com/apache/skywalking-eyes/commit/2ca7b4de66bc42c76dc23a9a63a9899a31434fd1"><code>2ca7b4d</code></a>
fix: Gemfile / Gemspec parser to ignore commented dependencies (<a
href="https://redirect.github.com/apache/skywalking-eyes/issues/249">#249</a>)</li>
<li><a
href="https://github.com/apache/skywalking-eyes/commit/454b8ead48f7073cd40ea20487fdfb2409247e69"><code>454b8ea</code></a>
feat: add some compatibility licenses (<a
href="https://redirect.github.com/apache/skywalking-eyes/issues/247">#247</a>)</li>
<li><a
href="https://github.com/apache/skywalking-eyes/commit/36f75de28f410b0d4eab1534a685ea59435171da"><code>36f75de</code></a>
feat: Compatibility matrix: MIT &amp; Ruby (<a
href="https://redirect.github.com/apache/skywalking-eyes/issues/209">#209</a>)</li>
<li><a
href="https://github.com/apache/skywalking-eyes/commit/18cb362bacae99d5a5c940d67847b52e19741e85"><code>18cb362</code></a>
GemfileLockResolver adjusted to exclude all specs when runtime
dependencies a...</li>
<li><a
href="https://github.com/apache/skywalking-eyes/commit/5a19c655ba4cb6befa50c1bc4c1f03b6a68ce871"><code>5a19c65</code></a>
Fixed a panic caused by nil dependency specs in Ruby Gemfile.lock
resolver (#...</li>
<li><a
href="https://github.com/apache/skywalking-eyes/commit/0d9c4df441f742f91faefd840d3ca48b49f28d2b"><code>0d9c4df</code></a>
fix: return error in license check, add MIT header (<a
href="https://redirect.github.com/apache/skywalking-eyes/issues/206">#206</a>)</li>
<li><a
href="https://github.com/apache/skywalking-eyes/commit/3655e78854be6a56ae72a0c9a847aedd133c3b74"><code>3655e78</code></a>
Ruby dependency license scanning support via Gemfile.lock. (<a
href="https://redirect.github.com/apache/skywalking-eyes/issues/205">#205</a>)</li>
<li><a
href="https://github.com/apache/skywalking-eyes/commit/07a607ff5b0759f5ed47306c865aac50fe9b3985"><code>07a607f</code></a>
Bump golang.org/x/oauth2 from 0.5.0 to 0.27.0 (<a
href="https://redirect.github.com/apache/skywalking-eyes/issues/204">#204</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/apache/skywalking-eyes/compare/v0.7.0...v0.8.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=apache/skywalking-eyes&package-manager=github_actions&previous-version=0.7.0&new-version=0.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from
1.38.0 to 1.39.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/paupino/rust-decimal/releases">rust_decimal's
releases</a>.</em></p>
<blockquote>
<h2>1.39.0</h2>
<h2>What's Changed</h2>
<ul>
<li>v1 <code>postgres</code> -&gt; <code>postgres_backend</code> by <a
href="https://github.com/Logarithmus"><code>@​Logarithmus</code></a> in
<a
href="https://redirect.github.com/paupino/rust-decimal/pull/751">paupino/rust-decimal#751</a></li>
<li>Remove doc_auto_cfg and address lifetime warnings by <a
href="https://github.com/paupino"><code>@​paupino</code></a> in <a
href="https://redirect.github.com/paupino/rust-decimal/pull/755">paupino/rust-decimal#755</a></li>
<li>Version 1.39.0 by <a
href="https://github.com/paupino"><code>@​paupino</code></a> in <a
href="https://redirect.github.com/paupino/rust-decimal/pull/756">paupino/rust-decimal#756</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/Logarithmus"><code>@​Logarithmus</code></a>
made their first contribution in <a
href="https://redirect.github.com/paupino/rust-decimal/pull/751">paupino/rust-decimal#751</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/paupino/rust-decimal/compare/1.38.0...1.39.0">https://github.com/paupino/rust-decimal/compare/1.38.0...1.39.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/paupino/rust-decimal/commit/a028cf43fe1c383cc6927ed2dbd4b6aac443e99c"><code>a028cf4</code></a>
Version 1.39.0 (<a
href="https://redirect.github.com/paupino/rust-decimal/issues/756">#756</a>)</li>
<li><a
href="https://github.com/paupino/rust-decimal/commit/c52f1f12931dcd21956189e3f48e8baedb7e3f31"><code>c52f1f1</code></a>
Remove doc_auto_cfg and address lifetime warnings (<a
href="https://redirect.github.com/paupino/rust-decimal/issues/755">#755</a>)</li>
<li><a
href="https://github.com/paupino/rust-decimal/commit/4bf40bd105edec473e1a19e9a0a83c16615786d0"><code>4bf40bd</code></a>
Merge pull request <a
href="https://redirect.github.com/paupino/rust-decimal/issues/751">#751</a>
from Logarithmus/postgres-backend</li>
<li><a
href="https://github.com/paupino/rust-decimal/commit/9da94d0be903d4c7a4a6f3f7c2aeb6713fcfcd70"><code>9da94d0</code></a>
<code>postgres</code> -&gt; <code>postgres_backend</code></li>
<li>See full diff in <a
href="https://github.com/paupino/rust-decimal/compare/1.38.0...1.39.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal&package-manager=cargo&previous-version=1.38.0&new-version=1.39.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Renjie Liu <liurenjie2008@gmail.com>
…umns (apache#1602)

## Which issue does this PR close?
- Closes apache#1542

## What changes are included in this PR?
Implement a physical execution plan node that projects Iceberg partition
columns from source data, supporting nested fields and all Iceberg
transforms.

## Are these changes tested?
Yes, with unit tests

---------

Signed-off-by: Florian Valeye <florian.valeye@gmail.com>
## Which issue does this PR close?

- Closes #. There was no open issue for this. I noticed this while
trying out iceberg-rust.

## What changes are included in this PR?

The first line in the method `SnapshotProducer::write_added_manifest`
(`let added_data_files = std::mem::take(&mut self.added_data_files);`)
sets the `self.added_data_files` to an empty vec.
`SnapshotProducer::write_added_manifest` is called via the call chain
`SnapshotProducer::commit` -> `SnapshotProducer::manifest_file` ->
`SnapshotProducer::write_added_manifest`). Hence, if
`SnapshotProducer::summary` is called after calling
`SnapshotProducer::manifest_file`, the summary produced was empty due to
empty `self.added_data_files`.

This PR rearranges the code in `SnapshotProducer::commit` to make sure
the produced summary is not empty.

## Are these changes tested?

No new tests have been added for this as there were no previous tests.
## Which issue does this PR close?


- Closes apache#1745 

## What changes are included in this PR?
-  As title, added examples and documentation


## Are these changes tested?
…ntegration (apache#1764)

## Which issue does this PR close?

- Relates to apache#1211
- Part of apache#1621 
- Add support for iceberg datafusion integration with sqllogictests

## What changes are included in this PR?
* Add sqllogictests entry point `sqllogictests.rs`
* Update `Schedule` to track `EngineRunner` instead of `Engine`
* Update datafusion engine to run slt file with sqllogictest


## Are these changes tested?
* `cargo test --test sqllogictests`
```
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.46s
     Running tests/sqllogictests.rs (target/debug/deps/sqllogictests-8ee6c1e0fdedebe4)

running 1 test
test schedule: df_test.toml ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
```

---------

Co-authored-by: Renjie Liu <liurenjie2008@gmail.com>
## Which issue does this PR close?

- A minor followup of apache#1783

## What changes are included in this PR?

- Update Cargo.lock to add home

## Are these changes tested?
No
Bumps [rand](https://github.com/rust-random/rand) from 0.8.5 to 0.9.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-random/rand/blob/master/CHANGELOG.md">rand's
changelog</a>.</em></p>
<blockquote>
<h2>[0.9.2 — 2025-07-20]</h2>
<h3>Deprecated</h3>
<ul>
<li>Deprecate <code>rand::rngs::mock</code> module and
<code>StepRng</code> generator (<a
href="https://redirect.github.com/rust-random/rand/issues/1634">#1634</a>)</li>
</ul>
<h3>Additions</h3>
<ul>
<li>Enable <code>WeightedIndex&lt;usize&gt;</code> (de)serialization (<a
href="https://redirect.github.com/rust-random/rand/issues/1646">#1646</a>)</li>
</ul>
<h2>[0.9.1] - 2025-04-17</h2>
<h3>Security and unsafe</h3>
<ul>
<li>Revise &quot;not a crypto library&quot; policy again (<a
href="https://redirect.github.com/rust-random/rand/issues/1565">#1565</a>)</li>
<li>Remove <code>zerocopy</code> dependency from <code>rand</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1579">#1579</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Fix feature <code>simd_support</code> for recent nightly rust (<a
href="https://redirect.github.com/rust-random/rand/issues/1586">#1586</a>)</li>
</ul>
<h3>Changes</h3>
<ul>
<li>Allow <code>fn rand::seq::index::sample_weighted</code> and <code>fn
IndexedRandom::choose_multiple_weighted</code> to return fewer than
<code>amount</code> results (<a
href="https://redirect.github.com/rust-random/rand/issues/1623">#1623</a>),
reverting an undocumented change (<a
href="https://redirect.github.com/rust-random/rand/issues/1382">#1382</a>)
to the previous release.</li>
</ul>
<h3>Additions</h3>
<ul>
<li>Add <code>rand::distr::Alphabetic</code> distribution. (<a
href="https://redirect.github.com/rust-random/rand/issues/1587">#1587</a>)</li>
<li>Re-export <code>rand_core</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1604">#1604</a>)</li>
</ul>
<h2>[0.9.0] - 2025-01-27</h2>
<h3>Security and unsafe</h3>
<ul>
<li>Policy: &quot;rand is not a crypto library&quot; (<a
href="https://redirect.github.com/rust-random/rand/issues/1514">#1514</a>)</li>
<li>Remove fork-protection from <code>ReseedingRng</code> and
<code>ThreadRng</code>. Instead, it is recommended to call
<code>ThreadRng::reseed</code> on fork. (<a
href="https://redirect.github.com/rust-random/rand/issues/1379">#1379</a>)</li>
<li>Use <code>zerocopy</code> to replace some <code>unsafe</code> code
(<a
href="https://redirect.github.com/rust-random/rand/issues/1349">#1349</a>,
<a
href="https://redirect.github.com/rust-random/rand/issues/1393">#1393</a>,
<a
href="https://redirect.github.com/rust-random/rand/issues/1446">#1446</a>,
<a
href="https://redirect.github.com/rust-random/rand/issues/1502">#1502</a>)</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>Bump the MSRV to 1.63.0 (<a
href="https://redirect.github.com/rust-random/rand/issues/1207">#1207</a>,
<a
href="https://redirect.github.com/rust-random/rand/issues/1246">#1246</a>,
<a
href="https://redirect.github.com/rust-random/rand/issues/1269">#1269</a>,
<a
href="https://redirect.github.com/rust-random/rand/issues/1341">#1341</a>,
<a
href="https://redirect.github.com/rust-random/rand/issues/1416">#1416</a>,
<a
href="https://redirect.github.com/rust-random/rand/issues/1536">#1536</a>);
note that 1.60.0 may work for dependents when using
<code>--ignore-rust-version</code></li>
<li>Update to <code>rand_core</code> v0.9.0 (<a
href="https://redirect.github.com/rust-random/rand/issues/1558">#1558</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>Support <code>std</code> feature without <code>getrandom</code> or
<code>rand_chacha</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1354">#1354</a>)</li>
<li>Enable feature <code>small_rng</code> by default (<a
href="https://redirect.github.com/rust-random/rand/issues/1455">#1455</a>)</li>
<li>Remove implicit feature <code>rand_chacha</code>; use
<code>std_rng</code> instead. (<a
href="https://redirect.github.com/rust-random/rand/issues/1473">#1473</a>)</li>
<li>Rename feature <code>serde1</code> to <code>serde</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1477">#1477</a>)</li>
<li>Rename feature <code>getrandom</code> to <code>os_rng</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1537">#1537</a>)</li>
<li>Add feature <code>thread_rng</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1547">#1547</a>)</li>
</ul>
<h3>API changes: rand_core traits</h3>
<ul>
<li>Add fn <code>RngCore::read_adapter</code> implementing
<code>std::io::Read</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1267">#1267</a>)</li>
<li>Add trait <code>CryptoBlockRng: BlockRngCore</code>; make
<code>trait CryptoRng: RngCore</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1273">#1273</a>)</li>
<li>Add traits <code>TryRngCore</code>, <code>TryCryptoRng</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1424">#1424</a>,
<a
href="https://redirect.github.com/rust-random/rand/issues/1499">#1499</a>)</li>
<li>Rename <code>fn SeedableRng::from_rng</code> -&gt;
<code>try_from_rng</code> and add infallible variant <code>fn
from_rng</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1424">#1424</a>)</li>
<li>Rename <code>fn SeedableRng::from_entropy</code> -&gt;
<code>from_os_rng</code> and add fallible variant <code>fn
try_from_os_rng</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1424">#1424</a>)</li>
<li>Add bounds <code>Clone</code> and <code>AsRef</code> to associated
type <code>SeedableRng::Seed</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1491">#1491</a>)</li>
</ul>
<h3>API changes: Rng trait and top-level fns</h3>
<ul>
<li>Rename fn <code>rand::thread_rng()</code> to
<code>rand::rng()</code> and remove from the prelude (<a
href="https://redirect.github.com/rust-random/rand/issues/1506">#1506</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rust-random/rand/commit/d3dd4157052e5431ce42e157b544968560a68b95"><code>d3dd415</code></a>
Prepare rand_core 0.9.2 (<a
href="https://redirect.github.com/rust-random/rand/issues/1605">#1605</a>)</li>
<li><a
href="https://github.com/rust-random/rand/commit/99fabd20e9b39d0af7c2ed6c31dbcad83a1703fd"><code>99fabd2</code></a>
Prepare rand_core 0.9.2</li>
<li><a
href="https://github.com/rust-random/rand/commit/c7fe1c43b5ba53aacad5fbac94a8b88788564049"><code>c7fe1c4</code></a>
rand: re-export <code>rand_core</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1604">#1604</a>)</li>
<li><a
href="https://github.com/rust-random/rand/commit/db2b1e0bb41b0a1435b9fecaa1b7bdb531183204"><code>db2b1e0</code></a>
rand: re-export <code>rand_core</code></li>
<li><a
href="https://github.com/rust-random/rand/commit/ee1d96f9f527dbe6f873c8a5ccf47d60a6b8f7b7"><code>ee1d96f</code></a>
rand_core: implement reborrow for <code>UnwrapMut</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1595">#1595</a>)</li>
<li><a
href="https://github.com/rust-random/rand/commit/e0eb2ee0fcc0b07afb901465f4a8ba7f07128f87"><code>e0eb2ee</code></a>
rand_core: implement reborrow for <code>UnwrapMut</code></li>
<li><a
href="https://github.com/rust-random/rand/commit/975f602f5dbbdab0a024e0c5e8b527907426bd8c"><code>975f602</code></a>
fixup clippy 1.85 warnings</li>
<li><a
href="https://github.com/rust-random/rand/commit/775b05be1b8a4fdef17c6601cd223551fbf67edc"><code>775b05b</code></a>
Relax <code>Sized</code> requirements for blanket impls (<a
href="https://redirect.github.com/rust-random/rand/issues/1593">#1593</a>)</li>
<li><a
href="https://github.com/rust-random/rand/commit/ec6d5c06a5384c14563a2164bb4a038100a5bb78"><code>ec6d5c0</code></a>
Prepare rand_core v0.9.1 (<a
href="https://redirect.github.com/rust-random/rand/issues/1591">#1591</a>)</li>
<li><a
href="https://github.com/rust-random/rand/commit/6a06056e8a892bfa181ec24a8ea16aa9f2fe97d3"><code>6a06056</code></a>
rand_core: introduce an UnwrapMut wrapper (<a
href="https://redirect.github.com/rust-random/rand/issues/1589">#1589</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-random/rand/compare/0.8.5...rand_core-0.9.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rand&package-manager=cargo&previous-version=0.8.5&new-version=0.9.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Renjie Liu <liurenjie2008@gmail.com>
Bumps
[actions/download-artifact](https://github.com/actions/download-artifact)
from 5 to 6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/download-artifact/releases">actions/download-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<h2>What's Changed</h2>
<p><strong>BREAKING CHANGE:</strong> this update supports Node
<code>v24.x</code>. This is not a breaking change per-se but we're
treating it as such.</p>
<ul>
<li>Update README for download-artifact v5 changes by <a
href="https://github.com/yacaovsnc"><code>@​yacaovsnc</code></a> in <a
href="https://redirect.github.com/actions/download-artifact/pull/417">actions/download-artifact#417</a></li>
<li>Update README with artifact extraction details by <a
href="https://github.com/yacaovsnc"><code>@​yacaovsnc</code></a> in <a
href="https://redirect.github.com/actions/download-artifact/pull/424">actions/download-artifact#424</a></li>
<li>Readme: spell out the first use of GHES by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/download-artifact/pull/431">actions/download-artifact#431</a></li>
<li>Bump <code>@actions/artifact</code> to <code>v4.0.0</code></li>
<li>Prepare <code>v6.0.0</code> by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/download-artifact/pull/438">actions/download-artifact#438</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/download-artifact/pull/431">actions/download-artifact#431</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/download-artifact/compare/v5...v6.0.0">https://github.com/actions/download-artifact/compare/v5...v6.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/download-artifact/commit/018cc2cf5baa6db3ef3c5f8a56943fffe632ef53"><code>018cc2c</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/438">#438</a>
from actions/danwkennedy/prepare-6.0.0</li>
<li><a
href="https://github.com/actions/download-artifact/commit/815651c680ffe1c95719d0ed08aba1a2f9d5c177"><code>815651c</code></a>
Revert &quot;Remove <code>github.dep.yml</code>&quot;</li>
<li><a
href="https://github.com/actions/download-artifact/commit/bb3a066a8babc8ed7b3e4218896c548fe34e7115"><code>bb3a066</code></a>
Remove <code>github.dep.yml</code></li>
<li><a
href="https://github.com/actions/download-artifact/commit/fa1ce46bbd11b8387539af12741055a76dfdf804"><code>fa1ce46</code></a>
Prepare <code>v6.0.0</code></li>
<li><a
href="https://github.com/actions/download-artifact/commit/4a24838f3d5601fd639834081e118c2995d51e1c"><code>4a24838</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/431">#431</a>
from danwkennedy/patch-1</li>
<li><a
href="https://github.com/actions/download-artifact/commit/5e3251c4ff5a32e4cf8dd4adaee0e692365237ae"><code>5e3251c</code></a>
Readme: spell out the first use of GHES</li>
<li><a
href="https://github.com/actions/download-artifact/commit/abefc31eafcfbdf6c5336127c1346fdae79ff41c"><code>abefc31</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/424">#424</a>
from actions/yacaovsnc/update_readme</li>
<li><a
href="https://github.com/actions/download-artifact/commit/ac43a6070aa7db8a41e756e7a2846221edca7027"><code>ac43a60</code></a>
Update README with artifact extraction details</li>
<li><a
href="https://github.com/actions/download-artifact/commit/de96f4613b77ec03b5cf633e7c350c32bd3c5660"><code>de96f46</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/download-artifact/issues/417">#417</a>
from actions/yacaovsnc/update_readme</li>
<li><a
href="https://github.com/actions/download-artifact/commit/7993cb44e9052f2f08f9b828ae5ef3ecca7d2ac7"><code>7993cb4</code></a>
Remove migration guide for artifact download changes</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/download-artifact/compare/v5...v6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/download-artifact&package-manager=github_actions&previous-version=5&new-version=6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Renjie Liu <liurenjie2008@gmail.com>
Bumps
[actions/upload-artifact](https://github.com/actions/upload-artifact)
from 4 to 5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.0</h2>
<h2>What's Changed</h2>
<p><strong>BREAKING CHANGE:</strong> this update supports Node
<code>v24.x</code>. This is not a breaking change per-se but we're
treating it as such.</p>
<ul>
<li>Update README.md by <a
href="https://github.com/GhadimiR"><code>@​GhadimiR</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/681">actions/upload-artifact#681</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/712">actions/upload-artifact#712</a></li>
<li>Readme: spell out the first use of GHES by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/727">actions/upload-artifact#727</a></li>
<li>Update GHES guidance to include reference to Node 20 version by <a
href="https://github.com/patrikpolyak"><code>@​patrikpolyak</code></a>
in <a
href="https://redirect.github.com/actions/upload-artifact/pull/725">actions/upload-artifact#725</a></li>
<li>Bump <code>@actions/artifact</code> to <code>v4.0.0</code></li>
<li>Prepare <code>v5.0.0</code> by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/734">actions/upload-artifact#734</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/GhadimiR"><code>@​GhadimiR</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/681">actions/upload-artifact#681</a></li>
<li><a href="https://github.com/nebuk89"><code>@​nebuk89</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/712">actions/upload-artifact#712</a></li>
<li><a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/727">actions/upload-artifact#727</a></li>
<li><a
href="https://github.com/patrikpolyak"><code>@​patrikpolyak</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/725">actions/upload-artifact#725</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v4...v5.0.0">https://github.com/actions/upload-artifact/compare/v4...v5.0.0</a></p>
<h2>v4.6.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Update to use artifact 2.3.2 package &amp; prepare for new
upload-artifact release by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/685">actions/upload-artifact#685</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/685">actions/upload-artifact#685</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v4...v4.6.2">https://github.com/actions/upload-artifact/compare/v4...v4.6.2</a></p>
<h2>v4.6.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Update to use artifact 2.2.2 package by <a
href="https://github.com/yacaovsnc"><code>@​yacaovsnc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/673">actions/upload-artifact#673</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v4...v4.6.1">https://github.com/actions/upload-artifact/compare/v4...v4.6.1</a></p>
<h2>v4.6.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Expose env vars to control concurrency and timeout by <a
href="https://github.com/yacaovsnc"><code>@​yacaovsnc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/662">actions/upload-artifact#662</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v4...v4.6.0">https://github.com/actions/upload-artifact/compare/v4...v4.6.0</a></p>
<h2>v4.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: deprecated <code>Node.js</code> version in action by <a
href="https://github.com/hamirmahal"><code>@​hamirmahal</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/578">actions/upload-artifact#578</a></li>
<li>Add new <code>artifact-digest</code> output by <a
href="https://github.com/bdehamer"><code>@​bdehamer</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/656">actions/upload-artifact#656</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/hamirmahal"><code>@​hamirmahal</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/578">actions/upload-artifact#578</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/upload-artifact/commit/330a01c490aca151604b8cf639adc76d48f6c5d4"><code>330a01c</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/734">#734</a>
from actions/danwkennedy/prepare-5.0.0</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/03f282445299bbefc96171af272a984663b63a26"><code>03f2824</code></a>
Update <code>github.dep.yml</code></li>
<li><a
href="https://github.com/actions/upload-artifact/commit/905a1ecb5915b264cbc519e4eb415b5d82916018"><code>905a1ec</code></a>
Prepare <code>v5.0.0</code></li>
<li><a
href="https://github.com/actions/upload-artifact/commit/2d9f9cdfa99fedaddba68e9b5b5c281eca26cc63"><code>2d9f9cd</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/725">#725</a>
from patrikpolyak/patch-1</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/9687587dec67f2a8bc69104e183d311c42af6d6f"><code>9687587</code></a>
Merge branch 'main' into patch-1</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/2848b2cda0e5190984587ec6bb1f36730ca78d50"><code>2848b2c</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/727">#727</a>
from danwkennedy/patch-1</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/9b511775fd9ce8c5710b38eea671f856de0e70a7"><code>9b51177</code></a>
Spell out the first use of GHES</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/cd231ca1eda77976a84805c4194a1954f56b0727"><code>cd231ca</code></a>
Update GHES guidance to include reference to Node 20 version</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/de65e23aa2b7e23d713bb51fbfcb6d502f8667d8"><code>de65e23</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/712">#712</a>
from actions/nebuk89-patch-1</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/8747d8cd7632611ad6060b528f3e0f654c98869c"><code>8747d8c</code></a>
Update README.md</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/upload-artifact/compare/v4...v5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/upload-artifact&package-manager=github_actions&previous-version=4&new-version=5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Renjie Liu <liurenjie2008@gmail.com>
…atchPartitionSplitter (apache#1781)

## Which issue does this PR close?

- Closes apache#1786
- Covered some of changes from the previous draft: apache#1769 

## What changes are included in this PR?
- Move PartitionValueCalculator to core/arrow so it can be reused by
RecordBatchPartitionSplitter
- Allow skipping partition value calculation in partition splitter for
projected batches
- Return <PartitionKey, RecordBatch> rather than <Struct, RecordBatch>
pairs in RecordBatchPartitionSplitter::split


## Are these changes tested?
Added uts
## Which issue does this PR close?

Closes  apache#1702

## What changes are included in this PR?

- a dependency upgrade from Datafusion 48 to 49
- a dependency specificity change from an exact pinned patch version to
a broader major version (IMO this is better for broader compatibility)
- fixes to breaking APIs

## Are these changes tested?

<!--
Specify what test covers (unit test, integration test, etc.).

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

---------

Signed-off-by: Xuanwo <github@xuanwo.io>
Co-authored-by: Xuanwo <github@xuanwo.io>
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes #.

## What changes are included in this PR?

<!--
Provide a summary of the modifications in this PR. List the main changes
such as new features, bug fixes, refactoring, or any other updates.
-->
Revert of apache#1737
pydantic release a fix in 2.12.3 which will be automatically used by
resolver (see simliar in pyiceberg,
apache/iceberg-python#2635)

## Are these changes tested?

<!--
Specify what test covers (unit test, integration test, etc.).

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->
…umn (apache#1792)

## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Partially address apache#1749.

Iceberg Java has a test that does a schema change requires the
`RecordBatchTransformer` to add a Date32 column, which it currently does
not support.

## What changes are included in this PR?

<!--
Provide a summary of the modifications in this PR. List the main changes
such as new features, bug fixes, refactoring, or any other updates.
-->

Add match arms for `Date32` type in `create_column`.

## Are these changes tested?

<!--
Specify what test covers (unit test, integration test, etc.).

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

New test that mirrors Iceberg Java's
`TestSelect.readAndWriteWithBranchAfterSchemaChange`

---------

Co-authored-by: Xuanwo <github@xuanwo.io>
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Addresses the S3Table part of apache#1389 

## What changes are included in this PR?
- Implemented update_table for S3TablesCatalog
<!--
Provide a summary of the modifications in this PR. List the main changes
such as new features, bug fixes, refactoring, or any other updates.
-->

## Are these changes tested?
added a test
<!--
Specify what test covers (unit test, integration test, etc.).

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

---------

Signed-off-by: Xuanwo <github@xuanwo.io>
Co-authored-by: Xuanwo <github@xuanwo.io>
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes #.

## What changes are included in this PR?

<!--
Provide a summary of the modifications in this PR. List the main changes
such as new features, bug fixes, refactoring, or any other updates.
-->

## Are these changes tested?

<!--
Specify what test covers (unit test, integration test, etc.).

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

---------

Signed-off-by: Xuanwo <github@xuanwo.io>
Co-authored-by: Xuanwo <github@xuanwo.io>
## Which issue does this PR close?


- Closes apache#1794

## What changes are included in this PR?

Migrate to uv

## Are these changes tested?


---------

Signed-off-by: Xuanwo <github@xuanwo.io>
## Which issue does this PR close?


- Closes #.

## What changes are included in this PR?

This PR is going to relax the MSRV check thanks to rust 2024. Since
starts from rust 2024, cargo has [msrv aware dep
resolve](https://doc.rust-lang.org/edition-guide/rust-2024/cargo-resolver.html).
This means that dep's upgrade no a problem now.

## Are these changes tested?


Signed-off-by: Xuanwo <github@xuanwo.io>
Co-authored-by: Renjie Liu <liurenjie2008@gmail.com>
dependabot bot and others added 30 commits January 7, 2026 10:26
Bumps [rsa](https://github.com/RustCrypto/RSA) from 0.9.9 to 0.9.10.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/RustCrypto/RSA/blob/v0.9.10/CHANGELOG.md">rsa's
changelog</a>.</em></p>
<blockquote>
<h2>0.9.10 (2026-01-06)</h2>
<h3>Fixed</h3>
<ul>
<li>do not panic on a prime being 1 when loading a secret key (<a
href="https://redirect.github.com/RustCrypto/RSA/issues/624">#624</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/RustCrypto/RSA/issues/624">#624</a>:
<a
href="https://redirect.github.com/RustCrypto/RSA/pull/624">RustCrypto/RSA#624</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/RustCrypto/RSA/commit/da2af9a0ff814762957c428460e4098720f394a6"><code>da2af9a</code></a>
chore: release v0.9.10</li>
<li><a
href="https://github.com/RustCrypto/RSA/commit/2926c91bef7cb14a7ccd42220a698cf4b1b692f7"><code>2926c91</code></a>
fix: do not panic on a prime being 1 when loading a secret key (<a
href="https://redirect.github.com/RustCrypto/RSA/issues/624">#624</a>)</li>
<li>See full diff in <a
href="https://github.com/RustCrypto/RSA/compare/v0.9.9...v0.9.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rsa&package-manager=cargo&previous-version=0.9.9&new-version=0.9.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/apache/iceberg-rust/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Renjie Liu <liurenjie2008@gmail.com>
## Which issue does this PR close?


- Closes #.

## What changes are included in this PR?

This PR will start another round of v0.8.0 release

## Are these changes tested?
…he#2005)

## Which issue does this PR close?

- Closes apache#1540 

## What changes are included in this PR?
- When writing in clustered mode, use `sort_by_partition` to sort the
data so the clustered writer can comsume it


## Are these changes tested?
- Added simple uts to verify that the `SortExec` is applied correctly
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.40.0 to
1.41.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/crate-ci/typos/releases">crate-ci/typos's
releases</a>.</em></p>
<blockquote>
<h2>v1.41.0</h2>
<h2>[1.41.0] - 2025-12-31</h2>
<h3>Features</h3>
<ul>
<li>Updated the dictionary with the <a
href="https://redirect.github.com/crate-ci/typos/issues/1431">December
2025</a> changes</li>
</ul>
<h2>v1.40.1</h2>
<h2>[1.40.1] - 2025-12-29</h2>
<h3>Fixes</h3>
<ul>
<li>Treat <code>incrementer</code> and <code>incrementor</code> the same
for now</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Don't correct ITerm2</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's
changelog</a>.</em></p>
<blockquote>
<h2>[1.41.0] - 2025-12-31</h2>
<h3>Features</h3>
<ul>
<li>Updated the dictionary with the <a
href="https://redirect.github.com/crate-ci/typos/issues/1431">December
2025</a> changes</li>
</ul>
<h2>[1.40.1] - 2025-12-29</h2>
<h3>Fixes</h3>
<ul>
<li>Treat <code>incrementer</code> and <code>incrementor</code> the same
for now</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Don't correct ITerm2</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/crate-ci/typos/commit/5c19779cb52ea50e151f5a10333ccd269227b5ae"><code>5c19779</code></a>
chore: Release</li>
<li><a
href="https://github.com/crate-ci/typos/commit/cf11fdd0cafeb0313a23b39710f6d8f092be9f68"><code>cf11fdd</code></a>
chore: Release</li>
<li><a
href="https://github.com/crate-ci/typos/commit/54e83d2a582595554e20dd95c699d56f34ac731c"><code>54e83d2</code></a>
docs: Update changelog</li>
<li><a
href="https://github.com/crate-ci/typos/commit/fbd7b69944b03639d5030669f39c0e1df86b5595"><code>fbd7b69</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-ci/typos/issues/1454">#1454</a>
from epage/dec</li>
<li><a
href="https://github.com/crate-ci/typos/commit/5dc35c7a63a1ab4d35f2a2fb0e444f323fb101d8"><code>5dc35c7</code></a>
feat(dict): December additions</li>
<li><a
href="https://github.com/crate-ci/typos/commit/1a319b54cc9e3b333fed6a5c88ba1a90324da514"><code>1a319b5</code></a>
chore: Release</li>
<li><a
href="https://github.com/crate-ci/typos/commit/00852bb03b1cef503e7767e361869382c1c52f8b"><code>00852bb</code></a>
docs: Update changelog</li>
<li><a
href="https://github.com/crate-ci/typos/commit/1d4327057a112973ec81e1eca7162cec8cb48649"><code>1d43270</code></a>
chore: Release</li>
<li><a
href="https://github.com/crate-ci/typos/commit/770146db44202a175a71d32da9b15f9c100729d9"><code>770146d</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-ci/typos/issues/1452">#1452</a>
from epage/incrementer</li>
<li><a
href="https://github.com/crate-ci/typos/commit/6bf28995c6131a2e3779f84ec1b17719d48f868b"><code>6bf2899</code></a>
fix(dict): Be neutral on incrementer vs incrementor</li>
<li>Additional commits viewable in <a
href="https://github.com/crate-ci/typos/compare/v1.40.0...v1.41.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=crate-ci/typos&package-manager=github_actions&previous-version=1.40.0&new-version=1.41.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Renjie Liu <liurenjie2008@gmail.com>
## Which issue does this PR close?

- Closes apache#1981.

## What changes are included in this PR?

The
[spec](https://iceberg.apache.org/spec/#appendix-b-32-bit-hash-requirements)
states that:
>"Decimal values are hashed using the minimum number of bytes required
to hold the unscaled value as a two's complement big-endian".

Prior to this fix, we would incorrectly consume leading `0xFF` bytes and
hash them. Now, we only consume the bytes starting with the one that is
used to preserve the sign, and everything that follows it.

## Are these changes tested?

Added unit tests for original scenario mentioned in the issue, as well
as some additional cases
## Which issue does this PR close?

- Closes apache#1963.

## What changes are included in this PR?

This change validates that table metadata with reserved sort order ID
(0) cannot contain fields associated with it. If this is found, we error
out instead of silently parsing arbitrary field values.

## Are these changes tested?

Added the unit test described in the issue and verified that the check
is now enforced.
Implement LIMIT pushdown to optimize queries with LIMIT clauses by
stopping data processing once the limit is reached. This reduces
unnecessary I/O and computation for queries that only need a subset of
rows.

Changes:
- Add limit field to IcebergTableScan to track row limit
- Apply limit at stream level by filtering/slicing record batches
- Update IcebergTableProvider and IcebergStaticTableProvider to pass
limit parameter to scan
- Add comprehensive tests for limit pushdown functionality

## Which issue does this PR close?


- Closes #.

## What changes are included in this PR?


## Are these changes tested?

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
## Summary

Add a type-safe accessor method `table_properties()` to `TableMetadata`
that returns `TableProperties`, eliminating manual `TryFrom` conversions
at call sites.

### Changes
- Add `table_properties()` method to `TableMetadata` that parses and
returns typed `TableProperties`
- Update `transaction/mod.rs` to use the new method
- Simplify `datafusion/write.rs` property access (~60 lines reduced to
~10)
- Add unit tests for the new accessor method

Closes apache#1878
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.41.0 to
1.42.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/crate-ci/typos/releases">crate-ci/typos's
releases</a>.</em></p>
<blockquote>
<h2>v1.42.0</h2>
<h2>[1.42.0] - 2026-01-07</h2>
<h3>Features</h3>
<ul>
<li>Dictionary updates</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's
changelog</a>.</em></p>
<blockquote>
<h2>[1.42.0] - 2026-01-07</h2>
<h3>Features</h3>
<ul>
<li>Dictionary updates</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/crate-ci/typos/commit/bb4666ad77b539a6b4ce4eda7ebb6de553704021"><code>bb4666a</code></a>
chore: Release</li>
<li><a
href="https://github.com/crate-ci/typos/commit/6995a8a1d26cf39d11e6f43aa2aec4f4a29355cd"><code>6995a8a</code></a>
chore: Release</li>
<li><a
href="https://github.com/crate-ci/typos/commit/e0227ba473d88487417cfee52745fe7f7486c08b"><code>e0227ba</code></a>
docs: Update changelog</li>
<li><a
href="https://github.com/crate-ci/typos/commit/c4054dbccf31912bccbc70627afb76fd383a63bf"><code>c4054db</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-ci/typos/issues/1460">#1460</a>
from epage/wiki</li>
<li><a
href="https://github.com/crate-ci/typos/commit/596a0bd11d3a7d34bb3d38f220b3f25d855a9633"><code>596a0bd</code></a>
feat(dict): Extend from misspell's list</li>
<li><a
href="https://github.com/crate-ci/typos/commit/2d459793dbe4deeab66a3725df451466c1f071e0"><code>2d45979</code></a>
refactor(misspell): Reformat dict to look like ours</li>
<li><a
href="https://github.com/crate-ci/typos/commit/54e136663731657f303e28af4af61e8dd1b94317"><code>54e1366</code></a>
feat(dict): Extend from codespell's list</li>
<li><a
href="https://github.com/crate-ci/typos/commit/74e0660315ff5e80c50ff54a6f7b848050aa6132"><code>74e0660</code></a>
feat(dict): Extend from wikipedia's list</li>
<li><a
href="https://github.com/crate-ci/typos/commit/a2568ec213bdbd8e534408119c9159444edc721a"><code>a2568ec</code></a>
Merge pull request <a
href="https://redirect.github.com/crate-ci/typos/issues/1459">#1459</a>
from epage/update</li>
<li><a
href="https://github.com/crate-ci/typos/commit/c360cf6c3da8a01b0a3de1684cccf0896a209eef"><code>c360cf6</code></a>
fix(wikipedia): Update dict</li>
<li>Additional commits viewable in <a
href="https://github.com/crate-ci/typos/compare/v1.41.0...v1.42.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=crate-ci/typos&package-manager=github_actions&previous-version=1.41.0&new-version=1.42.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the arrow-parquet group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [arrow-array](https://github.com/apache/arrow-rs) | `57.1.0` |
`57.2.0` |
| [arrow-buffer](https://github.com/apache/arrow-rs) | `57.1.0` |
`57.2.0` |
| [arrow-ord](https://github.com/apache/arrow-rs) | `57.1.0` | `57.2.0`
|
| [arrow-schema](https://github.com/apache/arrow-rs) | `57.1.0` |
`57.2.0` |
| [arrow-select](https://github.com/apache/arrow-rs) | `57.1.0` |
`57.2.0` |
| [arrow-string](https://github.com/apache/arrow-rs) | `57.1.0` |
`57.2.0` |

Updates `arrow-array` from 57.1.0 to 57.2.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/apache/arrow-rs/blob/main/CHANGELOG.md">arrow-array's
changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/apache/arrow-rs/tree/57.2.0">57.2.0</a>
(2026-01-07)</h2>
<p><a
href="https://github.com/apache/arrow-rs/compare/57.1.0...57.2.0">Full
Changelog</a></p>
<p><strong>Breaking changes:</strong></p>
<ul>
<li>Seal Array trait <a
href="https://redirect.github.com/apache/arrow-rs/pull/9092">#9092</a>
[<a href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]
(<a href="https://github.com/tustvold">tustvold</a>)</li>
<li>[Variant] Unify the CastOptions usage in parquet-variant-compute <a
href="https://redirect.github.com/apache/arrow-rs/pull/8984">#8984</a>
(<a href="https://github.com/klion26">klion26</a>)</li>
</ul>
<p><strong>Implemented enhancements:</strong></p>
<ul>
<li>[parquet] further relax
<code>LevelInfoBuilder::types_compatible</code> for
<code>ArrowWriter</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9098">#9098</a></li>
<li>Update arrow-row documentation with Union encoding <a
href="https://redirect.github.com/apache/arrow-rs/issues/9084">#9084</a></li>
<li>Add code examples for min and max compute functions <a
href="https://redirect.github.com/apache/arrow-rs/issues/9055">#9055</a></li>
<li>Add <code>append_n</code> to bytes view builder API <a
href="https://redirect.github.com/apache/arrow-rs/issues/9034">#9034</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Move <code>RunArray::get_physical_indices</code> to
<code>RunEndBuffer</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9025">#9025</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Allow quote style in csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/9003">#9003</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>IPC support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/9002">#9002</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement <code>BinaryArrayType</code> for
<code>&amp;FixedSizeBinaryArray</code>s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8992">#8992</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: implement num-traits for i256 <a
href="https://redirect.github.com/apache/arrow-rs/issues/8976">#8976</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Support for <code>Arc&lt;str&gt;</code> in
<code>ParquetRecordWriter</code> derive macro <a
href="https://redirect.github.com/apache/arrow-rs/issues/8972">#8972</a></li>
<li>[arrow-avro] suggest switching from xz to liblzma <a
href="https://redirect.github.com/apache/arrow-rs/issues/8970">#8970</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: add i256::trailing_zeros <a
href="https://redirect.github.com/apache/arrow-rs/issues/8968">#8968</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: make i256::leading_zeros public <a
href="https://redirect.github.com/apache/arrow-rs/issues/8965">#8965</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add spark like <code>ignoreLeadingWhiteSpace</code> and
<code>ignoreTrailingWhiteSpace</code> options to the csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/8961">#8961</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add round trip benchmark for Parquet writer/reader <a
href="https://redirect.github.com/apache/arrow-rs/issues/8955">#8955</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Support performant <code>interleave</code> for List/LargeList <a
href="https://redirect.github.com/apache/arrow-rs/issues/8952">#8952</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array access when parsing <code>VariantPath</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8946">#8946</a></li>
<li>Some panic!s could be represented as unimplemented!s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8932">#8932</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] easier way to construct a shredded schema <a
href="https://redirect.github.com/apache/arrow-rs/issues/8922">#8922</a></li>
<li>Support <code>DataType::ListView</code> and
<code>DataType::LargeListView</code> in <code>ArrayData::new_null</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8908">#8908</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add <code>GenericListViewArray::from_iter_primitive</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8906">#8906</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Unify the cast option usage in ParquentVariant <a
href="https://redirect.github.com/apache/arrow-rs/issues/8873">#8873</a></li>
<li>Blog post about efficient filter representation in Parquet filter
pushdown <a
href="https://redirect.github.com/apache/arrow-rs/issues/8843">#8843</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Add comparison support for Union arrays in the <code>cmp</code>
kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/8837">#8837</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array shredding into
<code>List/LargeList/ListView/LargeListView</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8830">#8830</a></li>
<li>Support <code>Union</code> data types for row format <a
href="https://redirect.github.com/apache/arrow-rs/issues/8828">#8828</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>FFI support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/8819">#8819</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support more Arrow Datatypes from Variant primitive types
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8805">#8805</a></li>
<li><code>FixedSizeBinaryBuilder</code> supports
<code>append_array</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8750">#8750</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement special case <code>zip</code> with scalar for Utf8View <a
href="https://redirect.github.com/apache/arrow-rs/issues/8724">#8724</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[geometry] Wire up arrow reader/writer for <code>GEOMETRY</code> and
<code>GEOGRAPHY</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8717">#8717</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
</ul>
<p><strong>Fixed bugs:</strong></p>
<ul>
<li>Soundness Bug in <code>try_binary</code> when <code>Array</code> is
implemented incorrectly in external crate <a
href="https://redirect.github.com/apache/arrow-rs/issues/9106">#9106</a></li>
<li>casting <code>Dict(_, LargeUtf8)</code> to <code>Utf8View</code>
(<code>StringViewArray</code>) panics <a
href="https://redirect.github.com/apache/arrow-rs/issues/9101">#9101</a></li>
<li>wrong results for null count of <code>nullif</code> kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/9085">#9085</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Empty first line in some code examples <a
href="https://redirect.github.com/apache/arrow-rs/issues/9063">#9063</a></li>
<li>GenericByteViewArray::slice is not zero-copy but ought to be <a
href="https://redirect.github.com/apache/arrow-rs/issues/9014">#9014</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/apache/arrow-rs/commits">compare view</a></li>
</ul>
</details>
<br />

Updates `arrow-buffer` from 57.1.0 to 57.2.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/apache/arrow-rs/blob/main/CHANGELOG.md">arrow-buffer's
changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/apache/arrow-rs/tree/57.2.0">57.2.0</a>
(2026-01-07)</h2>
<p><a
href="https://github.com/apache/arrow-rs/compare/57.1.0...57.2.0">Full
Changelog</a></p>
<p><strong>Breaking changes:</strong></p>
<ul>
<li>Seal Array trait <a
href="https://redirect.github.com/apache/arrow-rs/pull/9092">#9092</a>
[<a href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]
(<a href="https://github.com/tustvold">tustvold</a>)</li>
<li>[Variant] Unify the CastOptions usage in parquet-variant-compute <a
href="https://redirect.github.com/apache/arrow-rs/pull/8984">#8984</a>
(<a href="https://github.com/klion26">klion26</a>)</li>
</ul>
<p><strong>Implemented enhancements:</strong></p>
<ul>
<li>[parquet] further relax
<code>LevelInfoBuilder::types_compatible</code> for
<code>ArrowWriter</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9098">#9098</a></li>
<li>Update arrow-row documentation with Union encoding <a
href="https://redirect.github.com/apache/arrow-rs/issues/9084">#9084</a></li>
<li>Add code examples for min and max compute functions <a
href="https://redirect.github.com/apache/arrow-rs/issues/9055">#9055</a></li>
<li>Add <code>append_n</code> to bytes view builder API <a
href="https://redirect.github.com/apache/arrow-rs/issues/9034">#9034</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Move <code>RunArray::get_physical_indices</code> to
<code>RunEndBuffer</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9025">#9025</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Allow quote style in csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/9003">#9003</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>IPC support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/9002">#9002</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement <code>BinaryArrayType</code> for
<code>&amp;FixedSizeBinaryArray</code>s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8992">#8992</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: implement num-traits for i256 <a
href="https://redirect.github.com/apache/arrow-rs/issues/8976">#8976</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Support for <code>Arc&lt;str&gt;</code> in
<code>ParquetRecordWriter</code> derive macro <a
href="https://redirect.github.com/apache/arrow-rs/issues/8972">#8972</a></li>
<li>[arrow-avro] suggest switching from xz to liblzma <a
href="https://redirect.github.com/apache/arrow-rs/issues/8970">#8970</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: add i256::trailing_zeros <a
href="https://redirect.github.com/apache/arrow-rs/issues/8968">#8968</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: make i256::leading_zeros public <a
href="https://redirect.github.com/apache/arrow-rs/issues/8965">#8965</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add spark like <code>ignoreLeadingWhiteSpace</code> and
<code>ignoreTrailingWhiteSpace</code> options to the csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/8961">#8961</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add round trip benchmark for Parquet writer/reader <a
href="https://redirect.github.com/apache/arrow-rs/issues/8955">#8955</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Support performant <code>interleave</code> for List/LargeList <a
href="https://redirect.github.com/apache/arrow-rs/issues/8952">#8952</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array access when parsing <code>VariantPath</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8946">#8946</a></li>
<li>Some panic!s could be represented as unimplemented!s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8932">#8932</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] easier way to construct a shredded schema <a
href="https://redirect.github.com/apache/arrow-rs/issues/8922">#8922</a></li>
<li>Support <code>DataType::ListView</code> and
<code>DataType::LargeListView</code> in <code>ArrayData::new_null</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8908">#8908</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add <code>GenericListViewArray::from_iter_primitive</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8906">#8906</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Unify the cast option usage in ParquentVariant <a
href="https://redirect.github.com/apache/arrow-rs/issues/8873">#8873</a></li>
<li>Blog post about efficient filter representation in Parquet filter
pushdown <a
href="https://redirect.github.com/apache/arrow-rs/issues/8843">#8843</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Add comparison support for Union arrays in the <code>cmp</code>
kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/8837">#8837</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array shredding into
<code>List/LargeList/ListView/LargeListView</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8830">#8830</a></li>
<li>Support <code>Union</code> data types for row format <a
href="https://redirect.github.com/apache/arrow-rs/issues/8828">#8828</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>FFI support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/8819">#8819</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support more Arrow Datatypes from Variant primitive types
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8805">#8805</a></li>
<li><code>FixedSizeBinaryBuilder</code> supports
<code>append_array</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8750">#8750</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement special case <code>zip</code> with scalar for Utf8View <a
href="https://redirect.github.com/apache/arrow-rs/issues/8724">#8724</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[geometry] Wire up arrow reader/writer for <code>GEOMETRY</code> and
<code>GEOGRAPHY</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8717">#8717</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
</ul>
<p><strong>Fixed bugs:</strong></p>
<ul>
<li>Soundness Bug in <code>try_binary</code> when <code>Array</code> is
implemented incorrectly in external crate <a
href="https://redirect.github.com/apache/arrow-rs/issues/9106">#9106</a></li>
<li>casting <code>Dict(_, LargeUtf8)</code> to <code>Utf8View</code>
(<code>StringViewArray</code>) panics <a
href="https://redirect.github.com/apache/arrow-rs/issues/9101">#9101</a></li>
<li>wrong results for null count of <code>nullif</code> kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/9085">#9085</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Empty first line in some code examples <a
href="https://redirect.github.com/apache/arrow-rs/issues/9063">#9063</a></li>
<li>GenericByteViewArray::slice is not zero-copy but ought to be <a
href="https://redirect.github.com/apache/arrow-rs/issues/9014">#9014</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/apache/arrow-rs/commits">compare view</a></li>
</ul>
</details>
<br />

Updates `arrow-ord` from 57.1.0 to 57.2.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/apache/arrow-rs/blob/main/CHANGELOG.md">arrow-ord's
changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/apache/arrow-rs/tree/57.2.0">57.2.0</a>
(2026-01-07)</h2>
<p><a
href="https://github.com/apache/arrow-rs/compare/57.1.0...57.2.0">Full
Changelog</a></p>
<p><strong>Breaking changes:</strong></p>
<ul>
<li>Seal Array trait <a
href="https://redirect.github.com/apache/arrow-rs/pull/9092">#9092</a>
[<a href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]
(<a href="https://github.com/tustvold">tustvold</a>)</li>
<li>[Variant] Unify the CastOptions usage in parquet-variant-compute <a
href="https://redirect.github.com/apache/arrow-rs/pull/8984">#8984</a>
(<a href="https://github.com/klion26">klion26</a>)</li>
</ul>
<p><strong>Implemented enhancements:</strong></p>
<ul>
<li>[parquet] further relax
<code>LevelInfoBuilder::types_compatible</code> for
<code>ArrowWriter</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9098">#9098</a></li>
<li>Update arrow-row documentation with Union encoding <a
href="https://redirect.github.com/apache/arrow-rs/issues/9084">#9084</a></li>
<li>Add code examples for min and max compute functions <a
href="https://redirect.github.com/apache/arrow-rs/issues/9055">#9055</a></li>
<li>Add <code>append_n</code> to bytes view builder API <a
href="https://redirect.github.com/apache/arrow-rs/issues/9034">#9034</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Move <code>RunArray::get_physical_indices</code> to
<code>RunEndBuffer</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9025">#9025</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Allow quote style in csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/9003">#9003</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>IPC support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/9002">#9002</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement <code>BinaryArrayType</code> for
<code>&amp;FixedSizeBinaryArray</code>s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8992">#8992</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: implement num-traits for i256 <a
href="https://redirect.github.com/apache/arrow-rs/issues/8976">#8976</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Support for <code>Arc&lt;str&gt;</code> in
<code>ParquetRecordWriter</code> derive macro <a
href="https://redirect.github.com/apache/arrow-rs/issues/8972">#8972</a></li>
<li>[arrow-avro] suggest switching from xz to liblzma <a
href="https://redirect.github.com/apache/arrow-rs/issues/8970">#8970</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: add i256::trailing_zeros <a
href="https://redirect.github.com/apache/arrow-rs/issues/8968">#8968</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: make i256::leading_zeros public <a
href="https://redirect.github.com/apache/arrow-rs/issues/8965">#8965</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add spark like <code>ignoreLeadingWhiteSpace</code> and
<code>ignoreTrailingWhiteSpace</code> options to the csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/8961">#8961</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add round trip benchmark for Parquet writer/reader <a
href="https://redirect.github.com/apache/arrow-rs/issues/8955">#8955</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Support performant <code>interleave</code> for List/LargeList <a
href="https://redirect.github.com/apache/arrow-rs/issues/8952">#8952</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array access when parsing <code>VariantPath</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8946">#8946</a></li>
<li>Some panic!s could be represented as unimplemented!s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8932">#8932</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] easier way to construct a shredded schema <a
href="https://redirect.github.com/apache/arrow-rs/issues/8922">#8922</a></li>
<li>Support <code>DataType::ListView</code> and
<code>DataType::LargeListView</code> in <code>ArrayData::new_null</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8908">#8908</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add <code>GenericListViewArray::from_iter_primitive</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8906">#8906</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Unify the cast option usage in ParquentVariant <a
href="https://redirect.github.com/apache/arrow-rs/issues/8873">#8873</a></li>
<li>Blog post about efficient filter representation in Parquet filter
pushdown <a
href="https://redirect.github.com/apache/arrow-rs/issues/8843">#8843</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Add comparison support for Union arrays in the <code>cmp</code>
kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/8837">#8837</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array shredding into
<code>List/LargeList/ListView/LargeListView</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8830">#8830</a></li>
<li>Support <code>Union</code> data types for row format <a
href="https://redirect.github.com/apache/arrow-rs/issues/8828">#8828</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>FFI support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/8819">#8819</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support more Arrow Datatypes from Variant primitive types
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8805">#8805</a></li>
<li><code>FixedSizeBinaryBuilder</code> supports
<code>append_array</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8750">#8750</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement special case <code>zip</code> with scalar for Utf8View <a
href="https://redirect.github.com/apache/arrow-rs/issues/8724">#8724</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[geometry] Wire up arrow reader/writer for <code>GEOMETRY</code> and
<code>GEOGRAPHY</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8717">#8717</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
</ul>
<p><strong>Fixed bugs:</strong></p>
<ul>
<li>Soundness Bug in <code>try_binary</code> when <code>Array</code> is
implemented incorrectly in external crate <a
href="https://redirect.github.com/apache/arrow-rs/issues/9106">#9106</a></li>
<li>casting <code>Dict(_, LargeUtf8)</code> to <code>Utf8View</code>
(<code>StringViewArray</code>) panics <a
href="https://redirect.github.com/apache/arrow-rs/issues/9101">#9101</a></li>
<li>wrong results for null count of <code>nullif</code> kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/9085">#9085</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Empty first line in some code examples <a
href="https://redirect.github.com/apache/arrow-rs/issues/9063">#9063</a></li>
<li>GenericByteViewArray::slice is not zero-copy but ought to be <a
href="https://redirect.github.com/apache/arrow-rs/issues/9014">#9014</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/apache/arrow-rs/commits">compare view</a></li>
</ul>
</details>
<br />

Updates `arrow-schema` from 57.1.0 to 57.2.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/apache/arrow-rs/blob/main/CHANGELOG.md">arrow-schema's
changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/apache/arrow-rs/tree/57.2.0">57.2.0</a>
(2026-01-07)</h2>
<p><a
href="https://github.com/apache/arrow-rs/compare/57.1.0...57.2.0">Full
Changelog</a></p>
<p><strong>Breaking changes:</strong></p>
<ul>
<li>Seal Array trait <a
href="https://redirect.github.com/apache/arrow-rs/pull/9092">#9092</a>
[<a href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]
(<a href="https://github.com/tustvold">tustvold</a>)</li>
<li>[Variant] Unify the CastOptions usage in parquet-variant-compute <a
href="https://redirect.github.com/apache/arrow-rs/pull/8984">#8984</a>
(<a href="https://github.com/klion26">klion26</a>)</li>
</ul>
<p><strong>Implemented enhancements:</strong></p>
<ul>
<li>[parquet] further relax
<code>LevelInfoBuilder::types_compatible</code> for
<code>ArrowWriter</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9098">#9098</a></li>
<li>Update arrow-row documentation with Union encoding <a
href="https://redirect.github.com/apache/arrow-rs/issues/9084">#9084</a></li>
<li>Add code examples for min and max compute functions <a
href="https://redirect.github.com/apache/arrow-rs/issues/9055">#9055</a></li>
<li>Add <code>append_n</code> to bytes view builder API <a
href="https://redirect.github.com/apache/arrow-rs/issues/9034">#9034</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Move <code>RunArray::get_physical_indices</code> to
<code>RunEndBuffer</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9025">#9025</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Allow quote style in csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/9003">#9003</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>IPC support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/9002">#9002</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement <code>BinaryArrayType</code> for
<code>&amp;FixedSizeBinaryArray</code>s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8992">#8992</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: implement num-traits for i256 <a
href="https://redirect.github.com/apache/arrow-rs/issues/8976">#8976</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Support for <code>Arc&lt;str&gt;</code> in
<code>ParquetRecordWriter</code> derive macro <a
href="https://redirect.github.com/apache/arrow-rs/issues/8972">#8972</a></li>
<li>[arrow-avro] suggest switching from xz to liblzma <a
href="https://redirect.github.com/apache/arrow-rs/issues/8970">#8970</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: add i256::trailing_zeros <a
href="https://redirect.github.com/apache/arrow-rs/issues/8968">#8968</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: make i256::leading_zeros public <a
href="https://redirect.github.com/apache/arrow-rs/issues/8965">#8965</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add spark like <code>ignoreLeadingWhiteSpace</code> and
<code>ignoreTrailingWhiteSpace</code> options to the csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/8961">#8961</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add round trip benchmark for Parquet writer/reader <a
href="https://redirect.github.com/apache/arrow-rs/issues/8955">#8955</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Support performant <code>interleave</code> for List/LargeList <a
href="https://redirect.github.com/apache/arrow-rs/issues/8952">#8952</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array access when parsing <code>VariantPath</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8946">#8946</a></li>
<li>Some panic!s could be represented as unimplemented!s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8932">#8932</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] easier way to construct a shredded schema <a
href="https://redirect.github.com/apache/arrow-rs/issues/8922">#8922</a></li>
<li>Support <code>DataType::ListView</code> and
<code>DataType::LargeListView</code> in <code>ArrayData::new_null</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8908">#8908</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add <code>GenericListViewArray::from_iter_primitive</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8906">#8906</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Unify the cast option usage in ParquentVariant <a
href="https://redirect.github.com/apache/arrow-rs/issues/8873">#8873</a></li>
<li>Blog post about efficient filter representation in Parquet filter
pushdown <a
href="https://redirect.github.com/apache/arrow-rs/issues/8843">#8843</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Add comparison support for Union arrays in the <code>cmp</code>
kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/8837">#8837</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array shredding into
<code>List/LargeList/ListView/LargeListView</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8830">#8830</a></li>
<li>Support <code>Union</code> data types for row format <a
href="https://redirect.github.com/apache/arrow-rs/issues/8828">#8828</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>FFI support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/8819">#8819</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support more Arrow Datatypes from Variant primitive types
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8805">#8805</a></li>
<li><code>FixedSizeBinaryBuilder</code> supports
<code>append_array</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8750">#8750</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement special case <code>zip</code> with scalar for Utf8View <a
href="https://redirect.github.com/apache/arrow-rs/issues/8724">#8724</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[geometry] Wire up arrow reader/writer for <code>GEOMETRY</code> and
<code>GEOGRAPHY</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8717">#8717</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
</ul>
<p><strong>Fixed bugs:</strong></p>
<ul>
<li>Soundness Bug in <code>try_binary</code> when <code>Array</code> is
implemented incorrectly in external crate <a
href="https://redirect.github.com/apache/arrow-rs/issues/9106">#9106</a></li>
<li>casting <code>Dict(_, LargeUtf8)</code> to <code>Utf8View</code>
(<code>StringViewArray</code>) panics <a
href="https://redirect.github.com/apache/arrow-rs/issues/9101">#9101</a></li>
<li>wrong results for null count of <code>nullif</code> kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/9085">#9085</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Empty first line in some code examples <a
href="https://redirect.github.com/apache/arrow-rs/issues/9063">#9063</a></li>
<li>GenericByteViewArray::slice is not zero-copy but ought to be <a
href="https://redirect.github.com/apache/arrow-rs/issues/9014">#9014</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/apache/arrow-rs/commits">compare view</a></li>
</ul>
</details>
<br />

Updates `arrow-select` from 57.1.0 to 57.2.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/apache/arrow-rs/blob/main/CHANGELOG.md">arrow-select's
changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/apache/arrow-rs/tree/57.2.0">57.2.0</a>
(2026-01-07)</h2>
<p><a
href="https://github.com/apache/arrow-rs/compare/57.1.0...57.2.0">Full
Changelog</a></p>
<p><strong>Breaking changes:</strong></p>
<ul>
<li>Seal Array trait <a
href="https://redirect.github.com/apache/arrow-rs/pull/9092">#9092</a>
[<a href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]
(<a href="https://github.com/tustvold">tustvold</a>)</li>
<li>[Variant] Unify the CastOptions usage in parquet-variant-compute <a
href="https://redirect.github.com/apache/arrow-rs/pull/8984">#8984</a>
(<a href="https://github.com/klion26">klion26</a>)</li>
</ul>
<p><strong>Implemented enhancements:</strong></p>
<ul>
<li>[parquet] further relax
<code>LevelInfoBuilder::types_compatible</code> for
<code>ArrowWriter</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9098">#9098</a></li>
<li>Update arrow-row documentation with Union encoding <a
href="https://redirect.github.com/apache/arrow-rs/issues/9084">#9084</a></li>
<li>Add code examples for min and max compute functions <a
href="https://redirect.github.com/apache/arrow-rs/issues/9055">#9055</a></li>
<li>Add <code>append_n</code> to bytes view builder API <a
href="https://redirect.github.com/apache/arrow-rs/issues/9034">#9034</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Move <code>RunArray::get_physical_indices</code> to
<code>RunEndBuffer</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9025">#9025</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Allow quote style in csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/9003">#9003</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>IPC support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/9002">#9002</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement <code>BinaryArrayType</code> for
<code>&amp;FixedSizeBinaryArray</code>s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8992">#8992</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: implement num-traits for i256 <a
href="https://redirect.github.com/apache/arrow-rs/issues/8976">#8976</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Support for <code>Arc&lt;str&gt;</code> in
<code>ParquetRecordWriter</code> derive macro <a
href="https://redirect.github.com/apache/arrow-rs/issues/8972">#8972</a></li>
<li>[arrow-avro] suggest switching from xz to liblzma <a
href="https://redirect.github.com/apache/arrow-rs/issues/8970">#8970</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: add i256::trailing_zeros <a
href="https://redirect.github.com/apache/arrow-rs/issues/8968">#8968</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: make i256::leading_zeros public <a
href="https://redirect.github.com/apache/arrow-rs/issues/8965">#8965</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add spark like <code>ignoreLeadingWhiteSpace</code> and
<code>ignoreTrailingWhiteSpace</code> options to the csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/8961">#8961</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add round trip benchmark for Parquet writer/reader <a
href="https://redirect.github.com/apache/arrow-rs/issues/8955">#8955</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Support performant <code>interleave</code> for List/LargeList <a
href="https://redirect.github.com/apache/arrow-rs/issues/8952">#8952</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array access when parsing <code>VariantPath</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8946">#8946</a></li>
<li>Some panic!s could be represented as unimplemented!s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8932">#8932</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] easier way to construct a shredded schema <a
href="https://redirect.github.com/apache/arrow-rs/issues/8922">#8922</a></li>
<li>Support <code>DataType::ListView</code> and
<code>DataType::LargeListView</code> in <code>ArrayData::new_null</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8908">#8908</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add <code>GenericListViewArray::from_iter_primitive</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8906">#8906</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Unify the cast option usage in ParquentVariant <a
href="https://redirect.github.com/apache/arrow-rs/issues/8873">#8873</a></li>
<li>Blog post about efficient filter representation in Parquet filter
pushdown <a
href="https://redirect.github.com/apache/arrow-rs/issues/8843">#8843</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Add comparison support for Union arrays in the <code>cmp</code>
kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/8837">#8837</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array shredding into
<code>List/LargeList/ListView/LargeListView</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8830">#8830</a></li>
<li>Support <code>Union</code> data types for row format <a
href="https://redirect.github.com/apache/arrow-rs/issues/8828">#8828</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>FFI support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/8819">#8819</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support more Arrow Datatypes from Variant primitive types
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8805">#8805</a></li>
<li><code>FixedSizeBinaryBuilder</code> supports
<code>append_array</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8750">#8750</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement special case <code>zip</code> with scalar for Utf8View <a
href="https://redirect.github.com/apache/arrow-rs/issues/8724">#8724</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[geometry] Wire up arrow reader/writer for <code>GEOMETRY</code> and
<code>GEOGRAPHY</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8717">#8717</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
</ul>
<p><strong>Fixed bugs:</strong></p>
<ul>
<li>Soundness Bug in <code>try_binary</code> when <code>Array</code> is
implemented incorrectly in external crate <a
href="https://redirect.github.com/apache/arrow-rs/issues/9106">#9106</a></li>
<li>casting <code>Dict(_, LargeUtf8)</code> to <code>Utf8View</code>
(<code>StringViewArray</code>) panics <a
href="https://redirect.github.com/apache/arrow-rs/issues/9101">#9101</a></li>
<li>wrong results for null count of <code>nullif</code> kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/9085">#9085</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Empty first line in some code examples <a
href="https://redirect.github.com/apache/arrow-rs/issues/9063">#9063</a></li>
<li>GenericByteViewArray::slice is not zero-copy but ought to be <a
href="https://redirect.github.com/apache/arrow-rs/issues/9014">#9014</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/apache/arrow-rs/commits">compare view</a></li>
</ul>
</details>
<br />

Updates `arrow-string` from 57.1.0 to 57.2.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/apache/arrow-rs/blob/main/CHANGELOG.md">arrow-string's
changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/apache/arrow-rs/tree/57.2.0">57.2.0</a>
(2026-01-07)</h2>
<p><a
href="https://github.com/apache/arrow-rs/compare/57.1.0...57.2.0">Full
Changelog</a></p>
<p><strong>Breaking changes:</strong></p>
<ul>
<li>Seal Array trait <a
href="https://redirect.github.com/apache/arrow-rs/pull/9092">#9092</a>
[<a href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]
(<a href="https://github.com/tustvold">tustvold</a>)</li>
<li>[Variant] Unify the CastOptions usage in parquet-variant-compute <a
href="https://redirect.github.com/apache/arrow-rs/pull/8984">#8984</a>
(<a href="https://github.com/klion26">klion26</a>)</li>
</ul>
<p><strong>Implemented enhancements:</strong></p>
<ul>
<li>[parquet] further relax
<code>LevelInfoBuilder::types_compatible</code> for
<code>ArrowWriter</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9098">#9098</a></li>
<li>Update arrow-row documentation with Union encoding <a
href="https://redirect.github.com/apache/arrow-rs/issues/9084">#9084</a></li>
<li>Add code examples for min and max compute functions <a
href="https://redirect.github.com/apache/arrow-rs/issues/9055">#9055</a></li>
<li>Add <code>append_n</code> to bytes view builder API <a
href="https://redirect.github.com/apache/arrow-rs/issues/9034">#9034</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Move <code>RunArray::get_physical_indices</code> to
<code>RunEndBuffer</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9025">#9025</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Allow quote style in csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/9003">#9003</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>IPC support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/9002">#9002</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement <code>BinaryArrayType</code> for
<code>&amp;FixedSizeBinaryArray</code>s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8992">#8992</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: implement num-traits for i256 <a
href="https://redirect.github.com/apache/arrow-rs/issues/8976">#8976</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Support for <code>Arc&lt;str&gt;</code> in
<code>ParquetRecordWriter</code> derive macro <a
href="https://redirect.github.com/apache/arrow-rs/issues/8972">#8972</a></li>
<li>[arrow-avro] suggest switching from xz to liblzma <a
href="https://redirect.github.com/apache/arrow-rs/issues/8970">#8970</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: add i256::trailing_zeros <a
href="https://redirect.github.com/apache/arrow-rs/issues/8968">#8968</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: make i256::leading_zeros public <a
href="https://redirect.github.com/apache/arrow-rs/issues/8965">#8965</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add spark like <code>ignoreLeadingWhiteSpace</code> and
<code>ignoreTrailingWhiteSpace</code> options to the csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/8961">#8961</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add round trip benchmark for Parquet writer/reader <a
href="https://redirect.github.com/apache/arrow-rs/issues/8955">#8955</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Support performant <code>interleave</code> for List/LargeList <a
href="https://redirect.github.com/apache/arrow-rs/issues/8952">#8952</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array access when parsing <code>VariantPath</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8946">#8946</a></li>
<li>Some panic!s could be represented as unimplemented!s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8932">#8932</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] easier way to construct a shredded schema <a
href="https://redirect.github.com/apache/arrow-rs/issues/8922">#8922</a></li>
<li>Support <code>DataType::ListView</code> and
<code>DataType::LargeListView</code> in <code>ArrayData::new_null</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8908">#8908</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add <code>GenericListViewArray::from_iter_primitive</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8906">#8906</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Unify the cast option usage in ParquentVariant <a
href="https://redirect.github.com/apache/arrow-rs/issues/8873">#8873</a></li>
<li>Blog post about efficient filter representation in Parquet filter
pushdown <a
href="https://redirect.github.com/apache/arrow-rs/issues/8843">#8843</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Add comparison support for Union arrays in the <code>cmp</code>
kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/8837">#8837</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array shredding into
<code>List/LargeList/ListView/LargeListView</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8830">#8830</a></li>
<li>Support <code>Union</code> data types for row format <a
href="https://redirect.github.com/apache/arrow-rs/issues/8828">#8828</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>FFI support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/8819">#8819</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support more Arrow Datatypes from Variant primitive types
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8805">#8805</a></li>
<li><code>FixedSizeBinaryBuilder</code> supports
<code>append_array</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8750">#8750</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement special case <code>zip</code> with scalar for Utf8View <a
href="https://redirect.github.com/apache/arrow-rs/issues/8724">#8724</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[geometry] Wire up arrow reader/writer for <code>GEOMETRY</code> and
<code>GEOGRAPHY</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8717">#8717</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
</ul>
<p><strong>Fixed bugs:</strong></p>
<ul>
<li>Soundness Bug in <code>try_binary</code> when <code>Array</code> is
implemented incorrectly in external crate <a
href="https://redirect.github.com/apache/arrow-rs/issues/9106">#9106</a></li>
<li>casting <code>Dict(_, LargeUtf8)</code> to <code>Utf8View</code>
(<code>StringViewArray</code>) panics <a
href="https://redirect.github.com/apache/arrow-rs/issues/9101">#9101</a></li>
<li>wrong results for null count of <code>nullif</code> kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/9085">#9085</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Empty first line in some code examples <a
href="https://redirect.github.com/apache/arrow-rs/issues/9063">#9063</a></li>
<li>GenericByteViewArray::slice is not zero-copy but ought to be <a
href="https://redirect.github.com/apache/arrow-rs/issues/9014">#9014</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/apache/arrow-rs/commits">compare view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Which issue does this PR close?

- Closes #.

## What changes are included in this PR?

Minor updates to `README.md` text.

## Are these changes tested?

N/A
## Which issue does this PR close?

- Closes #.

## What changes are included in this PR?
Just a nit, I like to split up the make command so i can rerun it later

Before:
<img width="751" height="148" alt="Screenshot 2026-01-12 at 9 36 24 AM"
src="https://github.com/user-attachments/assets/392fd55c-2a7a-4b57-9eb5-e5b32e04f6bd"
/>

After:
<img width="742" height="181" alt="Screenshot 2026-01-12 at 9 36 49 AM"
src="https://github.com/user-attachments/assets/b6413d7e-72cd-47a2-bc2c-972ec4bd7b36"
/>

## Are these changes tested?
## Which issue does this PR close?

- Closes #.

## What changes are included in this PR?
Add a `make site` command to build and serve the iceberg-rust website. 
Update README to match

## Are these changes tested?
…che#2008)

Implement schema validation in project_with_partition to ensure the
input schema matches the Iceberg table schema before calculating
partition values. This prevents subtle bugs from schema mismatches and
provides clear error messages when schemas don't match.

Changes:
- Add helper functions to recursively strip metadata from Arrow schemas
- Implement schema validation that compares input schema with expected
Iceberg table schema, ignoring metadata differences
- Add comprehensive tests for metadata stripping and schema validation
- Closes apache#1752

The implementation follows the approach suggested in issue apache#1752:
- Recursively visits schema and removes metadata from all fields
- Compares cleaned schemas using Arrow's built-in equality operator
- Returns helpful error messages showing both schemas on mismatch

## Which issue does this PR close?

- Closes #.

## What changes are included in this PR?


## Are these changes tested?


Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
## Which issue does this PR close?

- Closes apache#1905 

## What changes are included in this PR?
- Implement `register_table` in `IcebergSchemaProvider`
- Added a new slt: `create_table.slt`
- Updated existing slts

Note: This does NOT cover the syntax `CREATE TABLE ... AS VALUES`

## Are these changes tested?
Yes
## Which issue does this PR close?

- Closes apache#2015.

## What changes are included in this PR?

Update copyright year from `2023-2024` to `2023-2026` in NOTICE files.

## Are these changes tested?

No code changes, only documentation update.
…apache#1974)

## Which issue does this PR close?


- Closes #.

## What changes are included in this PR?
I noticed this workflow will run on my forked repo periodically. Let's
disable it for forked repos

## Are these changes tested?
## Which issue does this PR close?

- Related to
  - apache#1314 
  - apache#172 

## What changes are included in this PR?


## Are these changes tested?

---------

Co-authored-by: Renjie Liu <liurenjie2008@gmail.com>
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes #.

## What changes are included in this PR?
Remove mentions of release version from the "downloads" page
(https://rust.iceberg.apache.org/download.html)

So we dont have to update it after every release :) 

Rendered
![Screenshot 2026-01-16 at 8 12
55 AM](https://github.com/user-attachments/assets/f9668722-8465-4f7f-a545-bac3387b8ec2)
hyperlinks referenced in screenshot:
https://dlcdn.apache.org/iceberg/
https://github.com/apache/iceberg-rust/releases
https://archive.apache.org/dist/iceberg/


<!--
Provide a summary of the modifications in this PR. List the main changes
such as new features, bug fixes, refactoring, or any other updates.
-->

## Are these changes tested?

<!--
Specify what test covers (unit test, integration test, etc.).

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->
## Which issue does this PR close?

- Closes apache#2041.

## What changes are included in this PR?
Upgrade spark to use 3.5.8 which is available in
https://dlcdn.apache.org/spark/
3.5.7 is gone, causing our CI to fail

## Are these changes tested?
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes apache#2041

## What changes are included in this PR?
We made some upgrades to the Spark Dockerfile in pyiceberg
(apache/iceberg-python#2540) (which i think
rust's Dockerfile copied over previously). Porting those changes over:
- Use `apache/spark` as base image (should be faster than downloading
spark from apache cdn)
- Upgrade to spark 4.0
- Use Spark connect for provisioning

<!--
Provide a summary of the modifications in this PR. List the main changes
such as new features, bug fixes, refactoring, or any other updates.
-->

## Are these changes tested?
Yes

<!--
Specify what test covers (unit test, integration test, etc.).

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->
## Which issue does this PR close?

<!--
We generally require a GitHub issue to be filed for all bug fixes and
enhancements and this helps us generate change logs for our releases.
You can link an issue to this PR using the GitHub syntax. For example
`Closes apache#123` indicates that this PR will close issue apache#123.
-->

- Closes #.

## What changes are included in this PR?
Similar to apache/iceberg-python#2885

Add the `--build` flag to `docker compose up`. This will trigger docker
to rebuild if the docker-compose file or the Dockerfile is changed.
Without `--build`, changes to `Dockerfile` will not trigger a new image
build and we might accidentally still be using the old image thinking
its updated


<!--
Provide a summary of the modifications in this PR. List the main changes
such as new features, bug fixes, refactoring, or any other updates.
-->

## Are these changes tested?

<!--
Specify what test covers (unit test, integration test, etc.).

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?
-->

---------

Co-authored-by: Renjie Liu <liurenjie2008@gmail.com>
Bumps [rust_decimal](https://github.com/paupino/rust-decimal) from
1.39.0 to 1.40.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/paupino/rust-decimal/releases">rust_decimal's
releases</a>.</em></p>
<blockquote>
<h2>1.40.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Fixed Issue <a
href="https://redirect.github.com/paupino/rust-decimal/issues/760">#760</a>
serde_json roundtrip on specific values (0.0, 1.0, 2.0,...) by <a
href="https://github.com/hugobast"><code>@​hugobast</code></a> in <a
href="https://redirect.github.com/paupino/rust-decimal/pull/761">paupino/rust-decimal#761</a></li>
<li>Allow the usage of stack-based strings by <a
href="https://github.com/c410-f3r"><code>@​c410-f3r</code></a> in <a
href="https://redirect.github.com/paupino/rust-decimal/pull/762">paupino/rust-decimal#762</a></li>
<li>Fix: RUSTSEC-2026-0001 by <a
href="https://github.com/sebadob"><code>@​sebadob</code></a> in <a
href="https://redirect.github.com/paupino/rust-decimal/pull/770">paupino/rust-decimal#770</a></li>
<li>Version 1.40.0 by <a
href="https://github.com/paupino"><code>@​paupino</code></a> in <a
href="https://redirect.github.com/paupino/rust-decimal/pull/771">paupino/rust-decimal#771</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/hugobast"><code>@​hugobast</code></a>
made their first contribution in <a
href="https://redirect.github.com/paupino/rust-decimal/pull/761">paupino/rust-decimal#761</a></li>
<li><a href="https://github.com/sebadob"><code>@​sebadob</code></a> made
their first contribution in <a
href="https://redirect.github.com/paupino/rust-decimal/pull/770">paupino/rust-decimal#770</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/paupino/rust-decimal/compare/1.39.0...1.40.0">https://github.com/paupino/rust-decimal/compare/1.39.0...1.40.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/paupino/rust-decimal/commit/96933153ea066ea8b96c7cbfb8e83a308c02e04f"><code>9693315</code></a>
Version 1.40.0</li>
<li><a
href="https://github.com/paupino/rust-decimal/commit/f55091ce5ec7de27066f7860a60c9740c48d0f43"><code>f55091c</code></a>
Fix: RUSTSEC-2026-0001</li>
<li><a
href="https://github.com/paupino/rust-decimal/commit/bab09af2ea82b50d81ce3c8be2f0a8185672d91a"><code>bab09af</code></a>
Merge pull request <a
href="https://redirect.github.com/paupino/rust-decimal/issues/762">#762</a>
from c410-f3r/aaaaaaaaaaa</li>
<li><a
href="https://github.com/paupino/rust-decimal/commit/69fe199660cbff00fcfa2f994bbab26964c86346"><code>69fe199</code></a>
Change calling method of doc test</li>
<li><a
href="https://github.com/paupino/rust-decimal/commit/83e2ce7c1029a1a4b06ee44ac5500cfb4afbe531"><code>83e2ce7</code></a>
Address comments</li>
<li><a
href="https://github.com/paupino/rust-decimal/commit/f650296e531d653dcc5b44225e451afe592d0925"><code>f650296</code></a>
Allow the usage of stack-based strings</li>
<li><a
href="https://github.com/paupino/rust-decimal/commit/db61f68aaf8340bd6e2b6ba37b878d0d36beaa75"><code>db61f68</code></a>
Merge pull request <a
href="https://redirect.github.com/paupino/rust-decimal/issues/761">#761</a>
from hugobast/v1</li>
<li><a
href="https://github.com/paupino/rust-decimal/commit/3fd6ea2fb03f6c290cb380d6d38b13b7ffe2d3d9"><code>3fd6ea2</code></a>
chore: convert to a set of test cases</li>
<li><a
href="https://github.com/paupino/rust-decimal/commit/fcbab2d2b0fc3b44840688018d235296f9e1054d"><code>fcbab2d</code></a>
fix: address float to string loss of precision</li>
<li>See full diff in <a
href="https://github.com/paupino/rust-decimal/compare/1.39.0...1.40.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rust_decimal&package-manager=cargo&previous-version=1.39.0&new-version=1.40.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Renjie Liu <liurenjie2008@gmail.com>
Bumps the arrow-parquet group with 2 updates:
[arrow-arith](https://github.com/apache/arrow-rs) and
[arrow-cast](https://github.com/apache/arrow-rs).

Updates `arrow-arith` from 57.1.0 to 57.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/apache/arrow-rs/releases">arrow-arith's
releases</a>.</em></p>
<blockquote>
<h2>arrow 57.2.0</h2>
<!-- raw HTML omitted -->
<h1>Changelog</h1>
<h2><a href="https://github.com/apache/arrow-rs/tree/57.2.0">57.2.0</a>
(2026-01-07)</h2>
<p><a
href="https://github.com/apache/arrow-rs/compare/57.1.0...57.2.0">Full
Changelog</a></p>
<p><strong>Breaking changes:</strong></p>
<ul>
<li>Seal Array trait <a
href="https://redirect.github.com/apache/arrow-rs/pull/9092">#9092</a>
[<a href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]
(<a href="https://github.com/tustvold">tustvold</a>)</li>
<li>[Variant] Unify the CastOptions usage in parquet-variant-compute <a
href="https://redirect.github.com/apache/arrow-rs/pull/8984">#8984</a>
(<a href="https://github.com/klion26">klion26</a>)</li>
</ul>
<p><strong>Implemented enhancements:</strong></p>
<ul>
<li>[parquet] further relax
<code>LevelInfoBuilder::types_compatible</code> for
<code>ArrowWriter</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9098">#9098</a></li>
<li>Update arrow-row documentation with Union encoding <a
href="https://redirect.github.com/apache/arrow-rs/issues/9084">#9084</a></li>
<li>Add code examples for min and max compute functions <a
href="https://redirect.github.com/apache/arrow-rs/issues/9055">#9055</a></li>
<li>Add <code>append_n</code> to bytes view builder API <a
href="https://redirect.github.com/apache/arrow-rs/issues/9034">#9034</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Move <code>RunArray::get_physical_indices</code> to
<code>RunEndBuffer</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9025">#9025</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Allow quote style in csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/9003">#9003</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>IPC support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/9002">#9002</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement <code>BinaryArrayType</code> for
<code>&amp;FixedSizeBinaryArray</code>s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8992">#8992</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: implement num-traits for i256 <a
href="https://redirect.github.com/apache/arrow-rs/issues/8976">#8976</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Support for <code>Arc&lt;str&gt;</code> in
<code>ParquetRecordWriter</code> derive macro <a
href="https://redirect.github.com/apache/arrow-rs/issues/8972">#8972</a></li>
<li>[arrow-avro] suggest switching from xz to liblzma <a
href="https://redirect.github.com/apache/arrow-rs/issues/8970">#8970</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: add i256::trailing_zeros <a
href="https://redirect.github.com/apache/arrow-rs/issues/8968">#8968</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: make i256::leading_zeros public <a
href="https://redirect.github.com/apache/arrow-rs/issues/8965">#8965</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add spark like <code>ignoreLeadingWhiteSpace</code> and
<code>ignoreTrailingWhiteSpace</code> options to the csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/8961">#8961</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add round trip benchmark for Parquet writer/reader <a
href="https://redirect.github.com/apache/arrow-rs/issues/8955">#8955</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Support performant <code>interleave</code> for List/LargeList <a
href="https://redirect.github.com/apache/arrow-rs/issues/8952">#8952</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array access when parsing <code>VariantPath</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8946">#8946</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/apache/arrow-rs/blob/main/CHANGELOG.md">arrow-arith's
changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/apache/arrow-rs/tree/57.2.0">57.2.0</a>
(2026-01-07)</h2>
<p><a
href="https://github.com/apache/arrow-rs/compare/57.1.0...57.2.0">Full
Changelog</a></p>
<p><strong>Breaking changes:</strong></p>
<ul>
<li>Seal Array trait <a
href="https://redirect.github.com/apache/arrow-rs/pull/9092">#9092</a>
[<a href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]
(<a href="https://github.com/tustvold">tustvold</a>)</li>
<li>[Variant] Unify the CastOptions usage in parquet-variant-compute <a
href="https://redirect.github.com/apache/arrow-rs/pull/8984">#8984</a>
(<a href="https://github.com/klion26">klion26</a>)</li>
</ul>
<p><strong>Implemented enhancements:</strong></p>
<ul>
<li>[parquet] further relax
<code>LevelInfoBuilder::types_compatible</code> for
<code>ArrowWriter</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9098">#9098</a></li>
<li>Update arrow-row documentation with Union encoding <a
href="https://redirect.github.com/apache/arrow-rs/issues/9084">#9084</a></li>
<li>Add code examples for min and max compute functions <a
href="https://redirect.github.com/apache/arrow-rs/issues/9055">#9055</a></li>
<li>Add <code>append_n</code> to bytes view builder API <a
href="https://redirect.github.com/apache/arrow-rs/issues/9034">#9034</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Move <code>RunArray::get_physical_indices</code> to
<code>RunEndBuffer</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9025">#9025</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Allow quote style in csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/9003">#9003</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>IPC support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/9002">#9002</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement <code>BinaryArrayType</code> for
<code>&amp;FixedSizeBinaryArray</code>s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8992">#8992</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: implement num-traits for i256 <a
href="https://redirect.github.com/apache/arrow-rs/issues/8976">#8976</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Support for <code>Arc&lt;str&gt;</code> in
<code>ParquetRecordWriter</code> derive macro <a
href="https://redirect.github.com/apache/arrow-rs/issues/8972">#8972</a></li>
<li>[arrow-avro] suggest switching from xz to liblzma <a
href="https://redirect.github.com/apache/arrow-rs/issues/8970">#8970</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: add i256::trailing_zeros <a
href="https://redirect.github.com/apache/arrow-rs/issues/8968">#8968</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: make i256::leading_zeros public <a
href="https://redirect.github.com/apache/arrow-rs/issues/8965">#8965</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add spark like <code>ignoreLeadingWhiteSpace</code> and
<code>ignoreTrailingWhiteSpace</code> options to the csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/8961">#8961</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add round trip benchmark for Parquet writer/reader <a
href="https://redirect.github.com/apache/arrow-rs/issues/8955">#8955</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Support performant <code>interleave</code> for List/LargeList <a
href="https://redirect.github.com/apache/arrow-rs/issues/8952">#8952</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array access when parsing <code>VariantPath</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8946">#8946</a></li>
<li>Some panic!s could be represented as unimplemented!s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8932">#8932</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] easier way to construct a shredded schema <a
href="https://redirect.github.com/apache/arrow-rs/issues/8922">#8922</a></li>
<li>Support <code>DataType::ListView</code> and
<code>DataType::LargeListView</code> in <code>ArrayData::new_null</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8908">#8908</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add <code>GenericListViewArray::from_iter_primitive</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8906">#8906</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Unify the cast option usage in ParquentVariant <a
href="https://redirect.github.com/apache/arrow-rs/issues/8873">#8873</a></li>
<li>Blog post about efficient filter representation in Parquet filter
pushdown <a
href="https://redirect.github.com/apache/arrow-rs/issues/8843">#8843</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Add comparison support for Union arrays in the <code>cmp</code>
kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/8837">#8837</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array shredding into
<code>List/LargeList/ListView/LargeListView</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8830">#8830</a></li>
<li>Support <code>Union</code> data types for row format <a
href="https://redirect.github.com/apache/arrow-rs/issues/8828">#8828</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>FFI support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/8819">#8819</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support more Arrow Datatypes from Variant primitive types
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8805">#8805</a></li>
<li><code>FixedSizeBinaryBuilder</code> supports
<code>append_array</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8750">#8750</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement special case <code>zip</code> with scalar for Utf8View <a
href="https://redirect.github.com/apache/arrow-rs/issues/8724">#8724</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[geometry] Wire up arrow reader/writer for <code>GEOMETRY</code> and
<code>GEOGRAPHY</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8717">#8717</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
</ul>
<p><strong>Fixed bugs:</strong></p>
<ul>
<li>Soundness Bug in <code>try_binary</code> when <code>Array</code> is
implemented incorrectly in external crate <a
href="https://redirect.github.com/apache/arrow-rs/issues/9106">#9106</a></li>
<li>casting <code>Dict(_, LargeUtf8)</code> to <code>Utf8View</code>
(<code>StringViewArray</code>) panics <a
href="https://redirect.github.com/apache/arrow-rs/issues/9101">#9101</a></li>
<li>wrong results for null count of <code>nullif</code> kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/9085">#9085</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Empty first line in some code examples <a
href="https://redirect.github.com/apache/arrow-rs/issues/9063">#9063</a></li>
<li>GenericByteViewArray::slice is not zero-copy but ought to be <a
href="https://redirect.github.com/apache/arrow-rs/issues/9014">#9014</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/apache/arrow-rs/commit/9e822e050016e659028741499388d454a74cf23c"><code>9e822e0</code></a>
Update version to <code>57.2.0</code>, add CHANGELOG (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9103">#9103</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/28f66f94e0e7f0e2b27686207a91e40b60e3b957"><code>28f66f9</code></a>
Add Union encoding documentation (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9102">#9102</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/a8346be02a240788b1246d847bc8dfec21274306"><code>a8346be</code></a>
Minor: make it clear cache array reader is not cloning arrays (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9057">#9057</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/721f373fba7493c873a64421e32f1f67114ac130"><code>721f373</code></a>
Seal Array trait (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9092">#9092</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/2b179b805f62e927771f764f8ae92151249e9edd"><code>2b179b8</code></a>
feat(parquet): relax type compatility check in parquet ArrowWriter (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9099">#9099</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/10a976fc03af32d26f9e4bf4dcc420cb1a455ef0"><code>10a976f</code></a>
chore: increase row count and batch size for more deterministic tests
(<a
href="https://redirect.github.com/apache/arrow-rs/issues/9088">#9088</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/2507946be697d511689a8f59b6a7db45ef40854b"><code>2507946</code></a>
Add <code>FlightInfo::with_endpoints</code> method (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9075">#9075</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/068a7e44f0881ffe542225c5dd8cb354b74a9615"><code>068a7e4</code></a>
Add <code>DataType::is_decimal</code> (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9100">#9100</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/b1dfb697babcb614040ea2ae17e842e9db557f69"><code>b1dfb69</code></a>
Fix row slice bug in Union column decoding with many columns (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9000">#9000</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/a9d6e92664996a875bab2b5df60704781a396e6c"><code>a9d6e92</code></a>
[Variant] Move <code>ArrayVariantToArrowRowBuilder</code> to
<code>variant_to_arrow</code> (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9094">#9094</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/apache/arrow-rs/compare/57.1.0...57.2.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `arrow-cast` from 57.1.0 to 57.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/apache/arrow-rs/releases">arrow-cast's
releases</a>.</em></p>
<blockquote>
<h2>arrow 57.2.0</h2>
<!-- raw HTML omitted -->
<h1>Changelog</h1>
<h2><a href="https://github.com/apache/arrow-rs/tree/57.2.0">57.2.0</a>
(2026-01-07)</h2>
<p><a
href="https://github.com/apache/arrow-rs/compare/57.1.0...57.2.0">Full
Changelog</a></p>
<p><strong>Breaking changes:</strong></p>
<ul>
<li>Seal Array trait <a
href="https://redirect.github.com/apache/arrow-rs/pull/9092">#9092</a>
[<a href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]
(<a href="https://github.com/tustvold">tustvold</a>)</li>
<li>[Variant] Unify the CastOptions usage in parquet-variant-compute <a
href="https://redirect.github.com/apache/arrow-rs/pull/8984">#8984</a>
(<a href="https://github.com/klion26">klion26</a>)</li>
</ul>
<p><strong>Implemented enhancements:</strong></p>
<ul>
<li>[parquet] further relax
<code>LevelInfoBuilder::types_compatible</code> for
<code>ArrowWriter</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9098">#9098</a></li>
<li>Update arrow-row documentation with Union encoding <a
href="https://redirect.github.com/apache/arrow-rs/issues/9084">#9084</a></li>
<li>Add code examples for min and max compute functions <a
href="https://redirect.github.com/apache/arrow-rs/issues/9055">#9055</a></li>
<li>Add <code>append_n</code> to bytes view builder API <a
href="https://redirect.github.com/apache/arrow-rs/issues/9034">#9034</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Move <code>RunArray::get_physical_indices</code> to
<code>RunEndBuffer</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9025">#9025</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Allow quote style in csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/9003">#9003</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>IPC support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/9002">#9002</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement <code>BinaryArrayType</code> for
<code>&amp;FixedSizeBinaryArray</code>s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8992">#8992</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: implement num-traits for i256 <a
href="https://redirect.github.com/apache/arrow-rs/issues/8976">#8976</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Support for <code>Arc&lt;str&gt;</code> in
<code>ParquetRecordWriter</code> derive macro <a
href="https://redirect.github.com/apache/arrow-rs/issues/8972">#8972</a></li>
<li>[arrow-avro] suggest switching from xz to liblzma <a
href="https://redirect.github.com/apache/arrow-rs/issues/8970">#8970</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: add i256::trailing_zeros <a
href="https://redirect.github.com/apache/arrow-rs/issues/8968">#8968</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: make i256::leading_zeros public <a
href="https://redirect.github.com/apache/arrow-rs/issues/8965">#8965</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add spark like <code>ignoreLeadingWhiteSpace</code> and
<code>ignoreTrailingWhiteSpace</code> options to the csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/8961">#8961</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add round trip benchmark for Parquet writer/reader <a
href="https://redirect.github.com/apache/arrow-rs/issues/8955">#8955</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Support performant <code>interleave</code> for List/LargeList <a
href="https://redirect.github.com/apache/arrow-rs/issues/8952">#8952</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array access when parsing <code>VariantPath</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8946">#8946</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/apache/arrow-rs/blob/main/CHANGELOG.md">arrow-cast's
changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/apache/arrow-rs/tree/57.2.0">57.2.0</a>
(2026-01-07)</h2>
<p><a
href="https://github.com/apache/arrow-rs/compare/57.1.0...57.2.0">Full
Changelog</a></p>
<p><strong>Breaking changes:</strong></p>
<ul>
<li>Seal Array trait <a
href="https://redirect.github.com/apache/arrow-rs/pull/9092">#9092</a>
[<a href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]
(<a href="https://github.com/tustvold">tustvold</a>)</li>
<li>[Variant] Unify the CastOptions usage in parquet-variant-compute <a
href="https://redirect.github.com/apache/arrow-rs/pull/8984">#8984</a>
(<a href="https://github.com/klion26">klion26</a>)</li>
</ul>
<p><strong>Implemented enhancements:</strong></p>
<ul>
<li>[parquet] further relax
<code>LevelInfoBuilder::types_compatible</code> for
<code>ArrowWriter</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9098">#9098</a></li>
<li>Update arrow-row documentation with Union encoding <a
href="https://redirect.github.com/apache/arrow-rs/issues/9084">#9084</a></li>
<li>Add code examples for min and max compute functions <a
href="https://redirect.github.com/apache/arrow-rs/issues/9055">#9055</a></li>
<li>Add <code>append_n</code> to bytes view builder API <a
href="https://redirect.github.com/apache/arrow-rs/issues/9034">#9034</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Move <code>RunArray::get_physical_indices</code> to
<code>RunEndBuffer</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/9025">#9025</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Allow quote style in csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/9003">#9003</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>IPC support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/9002">#9002</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement <code>BinaryArrayType</code> for
<code>&amp;FixedSizeBinaryArray</code>s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8992">#8992</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: implement num-traits for i256 <a
href="https://redirect.github.com/apache/arrow-rs/issues/8976">#8976</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Support for <code>Arc&lt;str&gt;</code> in
<code>ParquetRecordWriter</code> derive macro <a
href="https://redirect.github.com/apache/arrow-rs/issues/8972">#8972</a></li>
<li>[arrow-avro] suggest switching from xz to liblzma <a
href="https://redirect.github.com/apache/arrow-rs/issues/8970">#8970</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: add i256::trailing_zeros <a
href="https://redirect.github.com/apache/arrow-rs/issues/8968">#8968</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>arrow-buffer: make i256::leading_zeros public <a
href="https://redirect.github.com/apache/arrow-rs/issues/8965">#8965</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add spark like <code>ignoreLeadingWhiteSpace</code> and
<code>ignoreTrailingWhiteSpace</code> options to the csv writer <a
href="https://redirect.github.com/apache/arrow-rs/issues/8961">#8961</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add round trip benchmark for Parquet writer/reader <a
href="https://redirect.github.com/apache/arrow-rs/issues/8955">#8955</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Support performant <code>interleave</code> for List/LargeList <a
href="https://redirect.github.com/apache/arrow-rs/issues/8952">#8952</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array access when parsing <code>VariantPath</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8946">#8946</a></li>
<li>Some panic!s could be represented as unimplemented!s <a
href="https://redirect.github.com/apache/arrow-rs/issues/8932">#8932</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] easier way to construct a shredded schema <a
href="https://redirect.github.com/apache/arrow-rs/issues/8922">#8922</a></li>
<li>Support <code>DataType::ListView</code> and
<code>DataType::LargeListView</code> in <code>ArrayData::new_null</code>
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8908">#8908</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Add <code>GenericListViewArray::from_iter_primitive</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8906">#8906</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Unify the cast option usage in ParquentVariant <a
href="https://redirect.github.com/apache/arrow-rs/issues/8873">#8873</a></li>
<li>Blog post about efficient filter representation in Parquet filter
pushdown <a
href="https://redirect.github.com/apache/arrow-rs/issues/8843">#8843</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
<li>Add comparison support for Union arrays in the <code>cmp</code>
kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/8837">#8837</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support array shredding into
<code>List/LargeList/ListView/LargeListView</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8830">#8830</a></li>
<li>Support <code>Union</code> data types for row format <a
href="https://redirect.github.com/apache/arrow-rs/issues/8828">#8828</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>FFI support for ListView <a
href="https://redirect.github.com/apache/arrow-rs/issues/8819">#8819</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[Variant] Support more Arrow Datatypes from Variant primitive types
<a
href="https://redirect.github.com/apache/arrow-rs/issues/8805">#8805</a></li>
<li><code>FixedSizeBinaryBuilder</code> supports
<code>append_array</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8750">#8750</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Implement special case <code>zip</code> with scalar for Utf8View <a
href="https://redirect.github.com/apache/arrow-rs/issues/8724">#8724</a>
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>[geometry] Wire up arrow reader/writer for <code>GEOMETRY</code> and
<code>GEOGRAPHY</code> <a
href="https://redirect.github.com/apache/arrow-rs/issues/8717">#8717</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]</li>
</ul>
<p><strong>Fixed bugs:</strong></p>
<ul>
<li>Soundness Bug in <code>try_binary</code> when <code>Array</code> is
implemented incorrectly in external crate <a
href="https://redirect.github.com/apache/arrow-rs/issues/9106">#9106</a></li>
<li>casting <code>Dict(_, LargeUtf8)</code> to <code>Utf8View</code>
(<code>StringViewArray</code>) panics <a
href="https://redirect.github.com/apache/arrow-rs/issues/9101">#9101</a></li>
<li>wrong results for null count of <code>nullif</code> kernel <a
href="https://redirect.github.com/apache/arrow-rs/issues/9085">#9085</a>
[<a
href="https://github.com/apache/arrow-rs/labels/parquet">parquet</a>]
[<a
href="https://github.com/apache/arrow-rs/labels/arrow">arrow</a>]</li>
<li>Empty first line in some code examples <a
href="https://redirect.github.com/apache/arrow-rs/issues/9063">#9063</a></li>
<li>GenericByteViewArray::slice is not zero-copy but ought to be <a
href="https://redirect.github.com/apache/arrow-rs/issues/9014">#9014</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/apache/arrow-rs/commit/9e822e050016e659028741499388d454a74cf23c"><code>9e822e0</code></a>
Update version to <code>57.2.0</code>, add CHANGELOG (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9103">#9103</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/28f66f94e0e7f0e2b27686207a91e40b60e3b957"><code>28f66f9</code></a>
Add Union encoding documentation (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9102">#9102</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/a8346be02a240788b1246d847bc8dfec21274306"><code>a8346be</code></a>
Minor: make it clear cache array reader is not cloning arrays (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9057">#9057</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/721f373fba7493c873a64421e32f1f67114ac130"><code>721f373</code></a>
Seal Array trait (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9092">#9092</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/2b179b805f62e927771f764f8ae92151249e9edd"><code>2b179b8</code></a>
feat(parquet): relax type compatility check in parquet ArrowWriter (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9099">#9099</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/10a976fc03af32d26f9e4bf4dcc420cb1a455ef0"><code>10a976f</code></a>
chore: increase row count and batch size for more deterministic tests
(<a
href="https://redirect.github.com/apache/arrow-rs/issues/9088">#9088</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/2507946be697d511689a8f59b6a7db45ef40854b"><code>2507946</code></a>
Add <code>FlightInfo::with_endpoints</code> method (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9075">#9075</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/068a7e44f0881ffe542225c5dd8cb354b74a9615"><code>068a7e4</code></a>
Add <code>DataType::is_decimal</code> (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9100">#9100</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/b1dfb697babcb614040ea2ae17e842e9db557f69"><code>b1dfb69</code></a>
Fix row slice bug in Union column decoding with many columns (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9000">#9000</a>)</li>
<li><a
href="https://github.com/apache/arrow-rs/commit/a9d6e92664996a875bab2b5df60704781a396e6c"><code>a9d6e92</code></a>
[Variant] Move <code>ArrayVariantToArrowRowBuilder</code> to
<code>variant_to_arrow</code> (<a
href="https://redirect.github.com/apache/arrow-rs/issues/9094">#9094</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/apache/arrow-rs/compare/57.1.0...57.2.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Which issue does this PR close?


- Closes apache#2038

## What changes are included in this PR?
Get MSRV by parsing `rust-version` from `Cargo.toml`. This is to avoid
forgetting to update MSRV version in the github workflow.

## Are these changes tested?
…he#2011)

## Which issue does this PR close?

- Closes apache#2007.

## What changes are included in this PR?

Implements Iceberg spec requirement to reuse partition field IDs when
adding specs with equivalent fields (same source_id + transform).

- Add Hash trait to Transform enum for HashMap keys
- Add field ID reuse logic in TableMetadataBuilder.add_partition_spec()

## Are these changes tested?

Added a test to cover partition field id reuse when new specs are added

---------

Co-authored-by: Renjie Liu <liurenjie2008@gmail.com>
…pache#2049)

## Which issue does this PR close?

- Closes apache#2038

This unblocks us to publish python binding to pypi

## What changes are included in this PR?
Need to manually trigger `.github/workflows/release_python.yml` to
publish python binding to pypi.
This PR fixes the manual flow by allowing to specify `RELEASE_TAG` as
input. Added an extra validation for the manual workflow to check the
version against the library version in `bindings/python/Cargo.toml`


## Are these changes tested?
…oid waker churn and add determinism to FileScanTask processing (apache#2020)

## Which issue does this PR close?

- N/A.

## What changes are included in this PR?

- Due to the way Comet maps DataFusion `SessionContext`, the tokio
runtime, and Spark Tasks, we see frequent waker churn when concurrency
is set to 1 in the `ArrowReader`. This adds a fast path that does not
use `try_flatten_unordered` and its internal `replace_waker` calls.
- This also prevents tasks from being reordered at runtime. Several
Iceberg Java tests expect specific query results without an `ORDER BY`,
so this enables those tests to keep working when concurrency is set to
1.

See apache/datafusion-comet#3051 and 
 
<img width="3804" height="754" alt="flamegraph"
src="https://github.com/user-attachments/assets/26b93e85-5835-4bf4-b7f1-b136face940d"
/>

## Are these changes tested?


New test for determinism, also running the entire Iceberg Java Spark
suite via Comet in apache/datafusion-comet#3051.

---------

Co-authored-by: Renjie Liu <liurenjie2008@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.