Skip to content

chore: add missing since versions to #[deprecated] attributes - #24544

Open
alamb wants to merge 1 commit into
apache:mainfrom
alamb:alamb/add_deprecation_since_versions
Open

chore: add missing since versions to #[deprecated] attributes#24544
alamb wants to merge 1 commit into
apache:mainfrom
alamb:alamb/add_deprecation_since_versions

Conversation

@alamb

@alamb alamb commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

  • Cleanup from looking for deprecated APIs

Rationale for this change

The API health policy deprecation guidelines say:

Mark the API as deprecated using #[deprecated] and specify the exact DataFusion version in which it was deprecated

Five #[deprecated] attributes on main have no since, so there is no way to tell when they can be removed

What changes are included in this PR?

Adds since to each of the five. The version is the release that first contained the commit which added the attribute, determined with git tag --contains:

Are these changes tested?

CI

Are there any user-facing changes?

No

The API health policy requires deprecated APIs to specify the DataFusion
version they were deprecated in, so the removal clock can be evaluated.
Five attributes on main had no `since`.

Each version was determined from the release that first contained the
commit which added the attribute.
@github-actions github-actions Bot added optimizer Optimizer rules core Core DataFusion crate functions Changes to functions implementation physical-plan Changes to the physical-plan crate labels Aug 20, 2026

@alamb alamb left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Provenance for each since version: the PR that added the #[deprecated] attribute, and the release that first contained that commit (git tag --contains).


/// Create an aggregate expression with a name from a logical expression
#[deprecated(note = "use LoweredAggregateBuilder")]
#[deprecated(since = "54.0.0", note = "use LoweredAggregateBuilder")]

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Deprecated in #21739 (commit 5cf8eef, 2026-05-17), first released in 54.0.0.


/// Create an aggregate expression from a logical expression or an alias
#[deprecated(note = "use LoweredAggregateBuilder")]
#[deprecated(since = "54.0.0", note = "use LoweredAggregateBuilder")]

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Deprecated in #21739 (commit 5cf8eef, 2026-05-17), first released in 54.0.0.

// under the License.

#[deprecated(
since = "47.0.0",

@alamb alamb Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Deprecated in #15217 (commit 45ed5aa, 2025-03-25), first released in 47.0.0.

///
/// Deprecated: use [`Filter::try_new`] directly.
#[deprecated]
#[deprecated(since = "55.0.0", note = "Use `Filter::try_new` instead")]

@alamb alamb Aug 20, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Deprecated in #21668 (commit d318324, 2026-05-21), first released in 55.0.0.

Note this landed just after branch-54 was cut, so it is 55.0.0 rather than 54.0.0 despite the merge date.


/// Alias for [`mpsc_channel`].
#[deprecated(note = "Use mpsc_channel instead")]
#[deprecated(since = "55.0.0", note = "Use mpsc_channel instead")]

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Deprecated in #23522 (commit 12fa0ce, 2026-07-16), first released in 55.0.0.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.31%. Comparing base (8332cfa) to head (ff7e914).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #24544      +/-   ##
==========================================
- Coverage   81.32%   81.31%   -0.01%     
==========================================
  Files        1117     1117              
  Lines      396269   396269              
  Branches   396269   396269              
==========================================
- Hits       322260   322245      -15     
- Misses      55186    55194       +8     
- Partials    18823    18830       +7     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@alamb
alamb marked this pull request as ready for review August 20, 2026 20:48
@alamb alamb added the development-process Related to development process of DataFusion label Aug 20, 2026
Comment on lines 18 to 22
#[deprecated(
since = "47.0.0",
note = "overlay has been moved to core. Update imports to use core::overlay."
)]
pub use crate::core::overlay::*;

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.

cant this be removed from the codebase now since its been two releases?

@Jefffrey Jefffrey 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.

i find it surprising there isnt a clippy lint we can enable for this; ill try take a look to see if they have an existing issue for it 🤔

edit: raised

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Core DataFusion crate development-process Related to development process of DataFusion functions Changes to functions implementation optimizer Optimizer rules physical-plan Changes to the physical-plan crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants