Versioning¶
Overview¶
A protocol’s version ties to the task-script version(s) it wires in, rather than being an independent judgment call each release. See the general major/minor/patch definitions on the IDS versioning page — they apply to protocols too, not just IDSs.
Guidelines¶
A task script’s major, minor, or patch version bump propagates to the same tier in the protocol’s version.
A multi-step protocol takes the most significant bump across all its steps’ task scripts — if one step’s task script bumps major and another’s bumps minor, the protocol bumps major.
Major, independent of any task-script bump: adding or removing a step, or switching which task script or function a step calls.
Minor, independent of any task-script bump: a change to pipeline config that isn’t a bug fix; a change to
script.jsthat isn’t a bug fix.Patch: a task-script function-slug rename with no logic change; a protocol-only bug fix; migrating a protocol from the legacy
protocol.jsonformat toprotocol.yml; ascript.jsupdate that is itself a bug fix.