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.js that 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.json format to protocol.yml; a script.js update that is itself a bug fix.