diff --git a/tap-version-14-specification.md b/tap-version-14-specification.md index 5f35a6d..5a5832b 100644 --- a/tap-version-14-specification.md +++ b/tap-version-14-specification.md @@ -156,23 +156,31 @@ backwards compatibility. ### Version -To indicate that this is TAP14 the first line _must_ be +The TAP version of a TAP stream is indicated on the first line. ```tap TAP version 14 ``` -Harnesses _may_ interpret ostensibly -[TAP13](https://testanything.org/tap-version-13-specification.html) streams -as TAP14, as this specification is compatible with observed behavior of -existing TAP13 consumers and producers. That is, they _may_ treat this as -a valid Version line while parsing TAP14: +If there is no version line on the first line, the TAP version shall be 12. + +#### Backwards compatibility of TAP versions + +This specification is compatible with observed behavior of existing +[TAP12](https://testanything.org/tap-specification.html) and +[TAP13](https://testanything.org/tap-version-13-specification.html) consumers +and producers. + +Harnesses _should_ interpret ostensibly older TAP streams as TAP14. That is, they +_should_ treat this as a valid and supported Version line while parsing TAP14: ```tap TAP version 13 ``` -Harnesses _may_ treat any TAP stream lacking a version as a failed test. +and likewise treat a missing Version line as implicitly TAP14. + +Harnesses _may_ instead treat any ostensibly older TAP stream as a failed test. ### Plan