6. Versioning of event transformers

6. Versioning of event transformers#

Status#

Accepted

Context#

Event transformers may undergo modification in future in response to consumer request, change in specification, bug fixes etc.

Decision#

  1. Versions of event transformers will be maintained and emitted as part of xAPI and Caliper events.

  2. The “transformer version” will be a concatenation of the name of the transformer (“event-routing-backends”), an @ symbol, and the symantic version of the event-routing-backends package used to generate the event.

  3. This combined version “event-routing-backends@v(X.Y.Z)” can be found in context [ extensions [ https://w3id.org/xapi/openedx/extension/transformer-version ] ] for xAPI statement and in extensions [ transformerVersion ] for Caliper event.

  4. Transformer version number will be the semantic version of the event-routing-backends package.

  5. The event-routing-backends major version will be incremented when:

    1. Transformer is changed due to update in original specification (xAPI or Caliper).

    2. A key is removed from or renamed in the existing transformer.

    3. Value of a key is updated in the existing transformer.

  6. The event-routing-backends minor version will be incremented when:

    1. A key is added to an existing transformer.

    2. A new event is added for transformation.

  7. Minor version (Z) will be incremented when:

    1. A bug is fixed.

  8. Change logs of transformers will be maintained for both xAPI and Caliper.

Changelog#

  • Updated 2023-02-28 to change the format of the transformer version.
    • The previous version named the key “eventVersion”, but the actual implementation used URL key pointing to the event-routing-backends docs. It was decided that since the version number represents the actual version of the event-routing-backends package and not the version of a specific event, this rename could tackle both issues.