Maybe this is a bug. LMK and I’ll be happy to open one.
Modules must* be versioned with semver, but the docs don’t specify what constitutes what a breaking change is? The best I could find is:
with the user-facing behavior of the module serving as the “public API”.
What specifically is “user-facing behavior”? What constitutes a breaking change? I’m just guessing, but I’d say:
- removing or renaming or changing the type of an input or output
- adding an input that doesn’t have a default
- maintaining the above but changing the functional behaviour “substantially”. (This is subjective.)
^ This would be nice to have in those docs if I’m correct.
But my question today is: does changing the topology of modules called by the module (and the shuffling about of the resources contained) also constitute a breaking change? Since usually that would imply having to do state surgery.