You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Define an experimental event stream version and use it to conditionalize relevant content (#1287)
This PR formally defines an "experimental" event stream version (named
`ABI.ExperimentalVersion`) which represents content that is considered
experimental. It then adopts the new experimental version in several
places to conditionalize the inclusion of fields on event stream models
which are not yet officially included in any defined, supported version.
Finally, it uses this new version everywhere that intentionally always
uses the _highest experimental_ version, such as the exit test back
channel and the [recently-added](#1253) experimental console output
recorder.
### Motivation:
The event stream now has an established versioning system (as of #956)
and can easily conditionalize content based on version. As a general
rule, we prefer to exclude content which has not gone through Swift
Evolution review when delivering data to event stream consumers which
expect to receive content from a supported version. The fields this PR
conditionalizes have underscore prefixes and have code-level
documentation indicating their unofficial-ness, but the fact that they
are included at all in supported/non-experimental version streams could
lead to misuse or unintentional breakages in the future if the names or
semantics of these fields change.
### Checklist:
- [x] Code and documentation should follow the style of the [Style
Guide](https://github.com/apple/swift-testing/blob/main/Documentation/StyleGuide.md).
- [x] If public symbols are renamed or modified, DocC references should
be updated.
0 commit comments