ThingWorx Flow > ThingWorx Flow Connectors > Versioning of Connector Artifacts
  
Versioning of Connector Artifacts
ThingWorx Flow supports versioning of Actions, Triggers, and Connections. Versioning allows multiple versions of an artifact to exist. It also allows you to enhance the artifacts while allowing existing flows to function. If the enhancement or bug fix does not break existing workflows, then a version increment of an artifact is not required, only a version increment of a connector package is required. Creating a new version of the connector package is sufficient to deliver the fix. However, if the input and output schema of an Action, Trigger, Connection is likely to change, then a new version of the Action, Trigger, Connection should be created.
ThingWorx Flow CLI uses the artifactVersion, -v option to specify the version of an artifact. Workflows created using ThingWorx Flow refer to versions of a specific artifact. At any time, there can be a single version of an artifact that can be used in a new workflow. The current version of the artifact is shown on ThingWorx Flow workflow editor when creating or editing the artifact. Only one version of a given action, connection, or trigger, is created at a time. Only one version of any type of artifact can have published set to true at any time. You can mark older versions accordingly, when adding a new version.
An artifact is marked as active by setting the published flag in the artifacts json file to true. The flow-deploy command fails with an error if it detects that more than one version of an artifact has the published flag set to true. When the flow-deploy tool is run, it checks for schema changes in existing actions. If a schema change in an existing version is detected, it throws an error. The error can be avoided by passing in the -- allow_schema_overwrite. You can use this flag when changing the schema during development of the new or first version of the Action.
For more information on the deploy tool, refer to the topic Deploying Connectors.