Protocols Event Versioning Support
Tracking Plans support versioning of events through a context.protocols.event_version field, which is an integer (defaulting to 1) that determines which version of an event schema to apply. This is oftentimes used in mobile applications, where you have old versions of your mobile application running that will be sending old versions of events. Ideally, you can apply different schemas to old events vs. new events, and event versioning enables exactly that.
We'd like to automate the process of supplying the event version, by having Typewriter set this field for you. We'll likely want to expand typewriter.yml to act as a package.json / yarn.lock for the versions of your events, storing a mapping of event name to version. We'll also want to update the CLI to offer an interactive CLI method for updating event versions.
This issue tracks progress towards supporting event versioning Typewriter.