Skip to content

GH-49231: [C++] Deprecate Feather reader and writer#50321

Open
tadeja wants to merge 5 commits into
apache:mainfrom
tadeja:cpp-deprecate-feather
Open

GH-49231: [C++] Deprecate Feather reader and writer#50321
tadeja wants to merge 5 commits into
apache:mainfrom
tadeja:cpp-deprecate-feather

Conversation

@tadeja

@tadeja tadeja commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

Rationale for this change

See #49231. Deprecate the Feather reader/writer and point users to the Arrow IPC file API.

What changes are included in this PR?

ipc::feather::Reader::Open, ipc::feather::WriteTable and the WriteProperties struct marked with ARROW_DEPRECATED, pointing users to ipc::RecordBatchFileReader and ipc::MakeFileWriter.
Deprecation warnings supressed at the internal call sites: feather.cc, feather_test.cc, the R binding r/src/feather.cpp (R deprecation is in #49276), and the GLib binding (GLib deprecation is in #49673).

Are these changes tested?

-Werror build of arrow-feather-test passes locally.

Are there any user-facing changes?

No functional change, compile-time deprecation warning for feather::Reader::Open, feather::WriteTable or feather::WriteProperties.

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown

⚠️ GitHub issue #49231 has been automatically assigned in GitHub to PR creator.

@tadeja tadeja force-pushed the cpp-deprecate-feather branch from decb34d to b1f3eec Compare July 1, 2026 14:55
@tadeja tadeja marked this pull request as ready for review July 1, 2026 15:54

@pitrou pitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

+1, just a couple comments

Comment thread cpp/src/arrow/ipc/feather.h Outdated
/// \class Reader
/// \brief An interface for reading columns from Feather files
///
/// \note Deprecated in 25.0.0. Feather V2 is the Arrow IPC file format;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think it's too late for 25.0.0 as it has been branched by @raulcd already, so you'll have to change all these mentions to 26.0.0 :)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Done, I've changed all to 26.0.0.

};

/// \note Deprecated in 25.0.0. Feather V2 is the Arrow IPC file format;
/// use arrow::ipc::MakeFileWriter with arrow::ipc::IpcWriteOptions instead.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Also add a ARROW_DEPRECATED macro, or does it just not work here?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Ok! Added ARROW_DEPRECATED on WriteProperties with commit 59f79c1 and that needed extra suppressions for GCC warnings for default argument in WriteTable and member definition WriteProperties::Defaults(). Also needed for GLib as seen failing on my fork CI job (I couldn't get jobs to run on pr manually, might be because of #50293)

@github-actions github-actions Bot added awaiting committer review Awaiting committer review and removed awaiting review Awaiting review labels Jul 2, 2026
@tadeja tadeja requested a review from kou as a code owner July 2, 2026 22:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants