Errata ID: 3984
Reported By: Alain BENEDETTI
Date Reported: 2014-05-09
Rejected by: Pete Resnick
Date Rejected: 2014-05-16
Section 7 says:
unescaped = %x20-21 / %x23-5B / %x5D-10FFFF
It should say:
unescaped = %x20-21 / %x23-5B / %x5D-D7FF / %xE000-10FFFF
Section 1 says:
A string is a sequence of zero or more Unicode characters [UNICODE]. Note that this citation references the latest version of Unicode rather than a specific release.
Section 8.2 emphasizes on the characters not allowed by the Unicode norm:
However, the ABNF in this specification allows member names and string values to contain bit sequences that cannot encode Unicode characters; for example, "\uDEAD" (a single unpaired UTF-16 surrogate).
The ABNF cannot at the same time allow non conformant Unicode codepoints (section 7) and states conformance to Unicode (section 1).
Therefore, there is an incoherence that must be fixed between section 1 (and 8.2 that emphasizes it) and section 7. Hence the proposition of modification in section 7.
The other less preferable solution to this fix incoherence in RFC7159 would have been to NOT require Unicode conformance.
The WG's consensus was to leave the full range present in the ABNF and add the interoperability guidance about values outside the Unicode accepted range.