XO1310: breaking change in a minor or patch release
xo publish compares the exported API and effects of the module (the declarations xo query api lists, in every package of the module) with the previous vX.Y.Z tag. A minor or patch release may add exports but must not remove one, change its signature, or add an effect to a function (callers’ effect ceilings and uses clauses would break). A breaking change needs a new major version, whose module path ends in /vN from v2 on; before v1.0.0 (v0.x.y), a minor bump may break and a patch may not. Each breaking change is listed with the old and new signature. See decision 0086.
Example
# v1.4.0: pub fn total(items: List[Item]) -> Int
# now: pub fn total(items: List[Item]) -> Int uses net
xo publish --check --version v1.5.0Fix
# keep the old function pure and add a new one, or release a major version:
xo publish --check --version v2.0.0 # module path .../v2Run xo explain XO1310 for this text in a terminal, or see
section 10.6 of the specification.