Schema Breaking and Non-Breaking Changes

Hey Folks,

I am currently working on designing the tracking for our design system components. As we are creating the schemas, we realized a lot of the data we want to collect at the event-level is not available in the frontend. So future backend/frontend development is required for having the data available and sent to Snowplow’s pipeline.

In theJSON schema I have most properties that we want to track but currently do not have the data available in the frontend as “optional” properties. Now, the issue with that is making a property required is a breaking change for databricks (my warehouse destination).

Considering I already know what data we want to collect in the near future, is it better to make all properties required and include “null” in the data type of these properties? Or should I should keep these data points as optional? Even though, in the future I’d likely want to create this constraint? Or should I not include them at all?

Thanks!