Skip to content

Upgrade Arrow crates to v57.3.0 across workspace#97

Merged
leynos merged 3 commits into
mainfrom
upgrade-arrow-dependencies-v57-vwxzaj
Mar 3, 2026
Merged

Upgrade Arrow crates to v57.3.0 across workspace#97
leynos merged 3 commits into
mainfrom
upgrade-arrow-dependencies-v57-vwxzaj

Conversation

@leynos

@leynos leynos commented Mar 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • Upgrade Arrow crates to v57.3.0 across the workspace (from v57.0.0 baseline)
  • Include new arrow-ord and updated parquet/aux dependencies to align with Arrow 57 changes
  • Adjust numeric crates to satisfy Arrow 57-related compatibility (num-traits, num-integer, etc.)

Changes

Workspace

  • Cargo.lock updated to Arrow 57.3.0 versions (e.g., arrow-array, arrow-buffer, arrow-data, arrow-ipc, arrow-schema, arrow-select, etc.) with new arrow-ord package added
  • lz4_flex bumped from 0.11.5 to 0.12.0
  • parquet bumped to 57.3.0
  • Removed legacy num dependencies from lock (num, num-iter, num-rational) and aligned with num-bigint, num-integer, and num-traits as needed

chutoro-cli

  • Dev-dependencies updated to accommodate Arrow 57:
    • arrow-array = { workspace = true }
    • arrow-schema = { workspace = true }
    • parquet = { workspace = true, features = ["arrow"] }

chutoro-providers/dense

  • Dependencies updated for Arrow 57 compatibility:
    • arrow-array = { workspace = true }
    • arrow-schema = { workspace = true }
    • parquet = { workspace = true, features = ["arrow"] }

Testing

  • Build to ensure compilation with Arrow 57 updates:
    • cargo build -p chutoro-cli
    • cargo build
  • Run tests to verify no regressions introduced by dependency bumps:
    • cargo test
  • Validate runtime integration paths (basic data flow) within chutoro to catch any Arrow 57 API changes early

Notes

  • This change may influence transitive dependencies; if you encounter build or test failures, run cargo update -p arrow-* to refresh lockfile entries
  • If any Arrow 57 API deprecations affect custom code paths, consider small follow-up fixes in crates that directly rely on Arrow internals

◳ Generated by DevBoxer


ℹ️ Tag @devboxerhub to ask questions and address PR feedback

📎 Task: https://www.devboxer.com/task/5ad3f678-0c39-40ac-9867-31d079b16c46

Updated arrow-array, arrow-schema, parquet, and related arrow crates from version 56.2.0 to 57.3.0. Removed deprecated num crate and replaced it with num-traits and related crates as dependencies. Also upgraded lz4_flex to 0.12.0. Updated Cargo.lock and Cargo.toml files in chutoro-cli and chutoro-providers/dense accordingly.

Co-authored-by: devboxerhub[bot] <devboxerhub[bot]@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Mar 2, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0e3a731 and d15b1ca.

📒 Files selected for processing (1)
  • Cargo.toml

Summary by CodeRabbit

  • Chores
    • Consolidated core data-processing dependencies under the workspace to ensure consistent versions across components.
    • Added workspace-level declarations for shared libraries and updated package references to source those workspace entries.
    • No behavioural or public API changes; purely manifest-level alignment to simplify maintenance and ensure build and dependency consistency.

Walkthrough

Report workspace dependency declarations added for arrow-array, arrow-schema, and parquet (v57.3.0) in the root Cargo.toml; update per-crate Cargo.toml files to use workspace = true for those crates, retaining parquet's ["arrow"] feature. No code or public API changes.

Changes

Cohort / File(s) Summary
Workspace manifest
Cargo.toml
Add [workspace.dependencies] entries: arrow-array = "57.3.0", arrow-schema = "57.3.0", parquet = "57.3.0".
Per-crate manifests
chutoro-cli/Cargo.toml, chutoro-providers/dense/Cargo.toml
Switch arrow-array and arrow-schema to workspace = true; change parquet to { workspace = true, features = ["arrow"] } — no feature or API changes.

Sequence Diagram(s)

(Skipped — changes are manifest-only and do not introduce new multi-component control flow.)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Poem

Manifests neat, versions align,
Arrow and Parquet walk in line,
Workspace ties each crate so true,
Builds now sing — a single cue,
🎉 crates march on beneath the sky.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and concisely summarises the main changeset: upgrading Arrow crates across the workspace to v57.3.0.
Description check ✅ Passed The description is comprehensive and directly related to the changeset, detailing specific version upgrades, affected crates, testing procedures, and dependency adjustments.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch upgrade-arrow-dependencies-v57-vwxzaj

Comment @coderabbitai help to get the list of available commands and usage tips.

@sourcery-ai

sourcery-ai Bot commented Mar 2, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Upgrades Arrow-related crates across the workspace to the 57.0.0 release line, updates parquet and a few compression/numeric dependencies for compatibility, and refreshes Cargo.lock accordingly, without introducing code-level behavior changes.

File-Level Changes

Change Details Files
Bump Arrow and parquet dependencies in CLI dev-dependencies to 57.0.0.
  • Update arrow-array dev-dependency version from 56.2.0 to 57.0.0.
  • Update arrow-schema dev-dependency version from 56.2.0 to 57.0.0.
  • Update parquet dev-dependency version from 56.2.0 to 57.0.0 with existing arrow feature retained.
chutoro-cli/Cargo.toml
Bump Arrow and parquet dependencies in dense provider to 57.0.0.
  • Update arrow-array dependency version from 56.2.0 to 57.0.0.
  • Update arrow-schema dependency version from 56.2.0 to 57.0.0.
  • Update parquet dependency version from 56.2.0 to 57.0.0 with existing arrow feature retained.
chutoro-providers/dense/Cargo.toml
Refresh lockfile to align with Arrow 57 and related transitive dependency updates.
  • Update arrow-* crates in the lockfile to 57.x and add the new arrow-ord crate.
  • Bump parquet to 57.0.0 and lz4_flex from 0.11.5 to 0.12.0 in the lockfile.
  • Remove obsolete num, num-iter, num-rational entries and align on num-bigint, num-integer, and num-traits per new dependency graph.
Cargo.lock

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@leynos leynos marked this pull request as ready for review March 2, 2026 18:18

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • Since Arrow and Parquet versions are now shared across multiple crates, consider centralizing them in [workspace.dependencies] (or a shared [patch]/[workspace.package] section) to avoid version drift between crates in future upgrades.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Since Arrow and Parquet versions are now shared across multiple crates, consider centralizing them in `[workspace.dependencies]` (or a shared `[patch]`/`[workspace.package]` section) to avoid version drift between crates in future upgrades.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@chutoro-cli/Cargo.toml`:
- Around line 27-29: The dev-dependencies list in this crate uses literal
versions for arrow-array, arrow-schema and parquet which can drift; change the
entries in this file's [dev-dependencies] so arrow-array and arrow-schema use {
workspace = true } and parquet uses { workspace = true, features = ["arrow"] }
to preserve its feature flag, and then add a single [workspace.dependencies]
table in the workspace root Cargo.toml declaring concrete versions for
arrow-array, arrow-schema and parquet (e.g. "57.0.0") so all leaf crates inherit
the versions from the workspace.

ℹ️ Review info

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0f58849 and cc155ad.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • chutoro-cli/Cargo.toml
  • chutoro-providers/dense/Cargo.toml

Comment thread chutoro-cli/Cargo.toml Outdated
- Added arrow-array, arrow-schema, and parquet as workspace dependencies in root Cargo.toml
- Updated chutoro-cli and chutoro-providers/dense to reference these dependencies from the workspace
- Enables consistent dependency management and version alignment across crates

Co-authored-by: devboxerhub[bot] <devboxerhub[bot]@users.noreply.github.com>
@leynos leynos changed the title Upgrade Arrow crates to v57.0.0 across workspace Upgrade Arrow crates to v57.x across workspace Mar 2, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Cargo.toml`:
- Around line 19-22: Update the pinned workspace dependencies for the Arrow
crates to the latest 57.x releases: change the versions under
[workspace.dependencies] for arrow-array, arrow-schema, and parquet from
"57.0.0" to "57.3.0" so the workspace uses arrow-array, arrow-schema, and
parquet = "57.3.0"; ensure you edit the entries named exactly "arrow-array",
"arrow-schema", and "parquet" in the Cargo.toml [workspace.dependencies] section
and commit the updated Cargo.toml.

ℹ️ Review info

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cc155ad and 0e3a731.

📒 Files selected for processing (3)
  • Cargo.toml
  • chutoro-cli/Cargo.toml
  • chutoro-providers/dense/Cargo.toml

Comment thread Cargo.toml Outdated
Update workspace dependency pins for arrow-array, arrow-schema,
and parquet from 57.0.0 to 57.3.0.

This keeps workspace-level versions aligned with the current
57.x lockfile resolution while preserving centralized version
management through [workspace.dependencies].
@leynos leynos changed the title Upgrade Arrow crates to v57.x across workspace Upgrade Arrow crates to v57.3.0 across workspace Mar 2, 2026
@leynos leynos merged commit d347635 into main Mar 3, 2026
16 checks passed
@leynos leynos deleted the upgrade-arrow-dependencies-v57-vwxzaj branch March 3, 2026 22:50
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.

1 participant