Skip to content

Automate breaking change detection #21406

@rluvaton

Description

@rluvaton

Is your feature request related to a problem or challenge?

I've just upgraded from datafusion 51 to 52 and now from 52 to 53, and in both cases not all breaking changes were listed in the upgrade guide which makes me dig the original change and understand it and what was before in order to update

Describe the solution you'd like

If we could have a GitHub action that track breaking changes (not behavior ones as this is much harder to do) and mark them with a label as a start.

Since clippy already know if the function is really public or not (like pub(crate) mod a { pub mod b { } } mod b is not really public we can use that somehow to check whether a change that was made in each pr is a breaking change regarding, and we can output a report of each breaking change in the pr, (like removed function a, b. added to trait function c with no default implementation, added argument to a function, changed visibility) and the author of the PR will have to address those with explanation and migration guide

It looks like there is a tool for this already:
https://crates.io/crates/cargo-semver-checks

Describe alternatives you've considered

Pain when I upgrade to encounter it myself

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions