Skip to content

[FR] Detect changes to exports and recommend a breaking release #439

Description

@fonsp

Some package managers (like elm-package) can automatically enforce semver by diffing public API before and after a release. In Julia, this is more complicated, but I still think we can do something in this area!

When a package changes its exports, i.e. if names(Example) changes after a release, the release must be breaking. Removing an export is breaking for obvious reasons, but adding an export can also break dependent code, because it can introduce a new implicit import clash with another package. (Thanks @pfitzseb for pointing this out.) We could detect this and show a warning, and possibly block automerge.

I recently experienced this myself (oops), and I feel like the General CI should not have allowed me to register a minor release that adds an export.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions