If an attribute is deprecated in favour of a replacing attribute, Relay and the Sentry backend can automatically backfill and forward-coalesce these chains, so that users continue receiving the deprecated and replacing attribute, regardless of what the SDK sent (within the backfilling period).
This only works as long as the types of the attributes in the deprecation chain are consistent. For diverging types, we can currently document them but backfilling wouldn't work. Therefore, we should:
- Test against type divergence in conventions: It's fine to document a type-diverging deprecation but in this case, the
_status MUST NOT be 'backfill'. For now, it should be null. In the future, it might also be 'transform'.
- In docs, show a "warning-like" indication when an attribute has a type-diverging deprecation chain.
Further steps for transformations/normalization are subject to #465
If an attribute is deprecated in favour of a replacing attribute, Relay and the Sentry backend can automatically backfill and forward-coalesce these chains, so that users continue receiving the deprecated and replacing attribute, regardless of what the SDK sent (within the backfilling period).
This only works as long as the types of the attributes in the deprecation chain are consistent. For diverging types, we can currently document them but backfilling wouldn't work. Therefore, we should:
_statusMUST NOT be'backfill'. For now, it should benull. In the future, it might also be'transform'.Further steps for transformations/normalization are subject to #465