The goal is for SDKs to report their feature set via the release registry. Adding features to the registry can become part of the developer workflow (i.e add a features.yaml to the repo root and craft appends to the registry).
The goals
- Remove sheets with manually mapped feature matrix. And to have a generated page listing SDKs and the features they support.
- Remove manually maintained
supported/notSupported docs guards for features.
- Define the exact version a feature was introduced. So the docs can point it out.
- Maintain the feature list in the SDK repository, next to the code, maintained by the SDK owners.
Some examples/proposed features and which SDKs support it include:
ui.user-feedback: A UI to collect user feedback.
api.user-feedback: The API for users to fill out a user feedback received with their own UI
- Android, Java, .NET, Apple
api.attachment: The API to attach a file to events
- Android, Java, .NET, Native, Python
api.session-tracking: Can report release health through session tracking.
api.null-annotated: For technologies with optional support for Null Safety
auto.session-tracking: Sends session data automatically.
options.name: Where name is the actual property name documented here.
Follow up with @PeloWriter about consuming this in the docs.
The goal is for SDKs to report their feature set via the release registry. Adding features to the registry can become part of the developer workflow (i.e add a features.yaml to the repo root and craft appends to the registry).
The goals
supported/notSupporteddocs guards for features.Some examples/proposed features and which SDKs support it include:
ui.user-feedback: A UI to collect user feedback.api.user-feedback: The API for users to fill out a user feedback received with their own UIapi.attachment: The API to attach a file to eventsapi.session-tracking: Can report release health through session tracking.api.null-annotated: For technologies with optional support for Null Safetyauto.session-tracking: Sends session data automatically.options.name: Wherenameis the actual property name documented here.Follow up with @PeloWriter about consuming this in the docs.