Semver and exporting variables

Semver is great, Julia is great, but it very mildly bothers me that any code which does using can’t strictly adhere to semver.

For example:

using A, B
f(x)

Initially A exports f and B doesn’t. A later version of B does export (a different) f. The ambiguity now makes the above code fail. Hence adding a new exported variable should be a major version change.

Of course nobody does this. What’s the official line? Are packages supposed to explicitly import everything they use?

1 Like

Join the discussion https://github.com/JuliaLang/julia/pull/42080 :slight_smile:

2 Likes