Skip to content

GH-49684: [MATLAB] Introduce deprecation warnings for "legacy" Feather V1 functions featherread and featherwrite#49705

Open
kevingurney wants to merge 4 commits intoapache:mainfrom
mathworks:GH-49684
Open

GH-49684: [MATLAB] Introduce deprecation warnings for "legacy" Feather V1 functions featherread and featherwrite#49705
kevingurney wants to merge 4 commits intoapache:mainfrom
mathworks:GH-49684

Conversation

@kevingurney
Copy link
Copy Markdown
Member

@kevingurney kevingurney commented Apr 10, 2026

Rationale for this change

In response to #49231 and https://lists.apache.org/thread/1npvnhjb1xwz09zh8vnd079zt2q4o08l, this pull request introduces deprecation warnings for the public MATLAB featherread and featherwrite APIs that allow reading and writing "legacy" Feather V1 files.

The solution of introducing deprecation warnings follows the pyarrow approach proposed in #49590.

Examples

featherread

>> featherread("out.feather")
Warning: Reading from Feather V1 files is deprecated. Use arrow.io.ipc.RecordBatchFileReader to read from Feather V2 (Arrow IPC) files.
> In featherread (line 30)

featherwrite

>> featherwrite("out.feather", array2table(1))
Warning: Writing to Feather V1 files is deprecated. Use arrow.io.ipc.RecordBatchFileWriter to write to Feather V2 (Arrow IPC) files.
> In featherread (line 31)

What changes are included in this PR?

  1. Introduced a new warning with identifier arrow:io:feather:v1:FeatherWriteDeprecated when calling featherwrite.m.
  2. Introduced a new warning with identifier arrow:io:feather:v1:FeatherReadDeprecated when calling featherread.m.

Are these changes tested?

Yes.

  1. Updated matlab/test/tfeather.m to suppress featherread and featherwrite deprecation warnings.
  2. Added two new test cases to tfeather.m: VerifyFeatherReadDeprecationWarning and VerifyFeatherWriteDeprecationWarning. These test cases verify that the expected deprecation warnings are issued as expected.
  3. Updated matlab/test/arrow/io/feather/tRoundTrip.m to suppress featherread deprecation warnings.

Are there any user-facing changes?

Yes.

  1. The featherread and featherwrite functions are user-facing. With these changes, deprecation warnings will be displayed when invoking either of these functions. Note: these warnings can be turned off in MATLAB by calling warning("off", "arrow:io:feather:v1:FeatherWriteDeprecated") and warning("off", "arrow:io:feather:v1:FeatherReadDeprecated").

Future Directions

  1. We may want to consider moving featherread and featherwrite into a package like arrow.io.feather.v1.* to mirror the rest of the mlarrow APIs. Alternatively, we could consider removing these functions entirely.

Notes

  1. Thank you @sgilmore10 for your help with this pull request!

Kevin Gurney and others added 3 commits April 8, 2026 13:42
Co-authored-by: Sarah Gilmore <sgilmore@mathworks.com>
Co-authored-by: Sarah Gilmore <sgilmore@mathworks.com>
Co-authored-by: Sarah Gilmore <sgilmore@mathworks.com>
@github-actions
Copy link
Copy Markdown

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

Co-authored-by: Sarah Gilmore <sgilmore@mathworks.com>
@kevingurney kevingurney marked this pull request as ready for review April 10, 2026 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant