Subject: Protocol Action: 'The JavaScript Object Notation (JSON) Data Interchange Format' to Internet Standard (draft-ietf-jsonbis-rfc7159bis-03.txt)

From: The IESG <[email-masked]>
Date: Tue, 18 Jul 2017 03:54:51 -0700

The IESG has approved the following document:
- 'The JavaScript Object Notation (JSON) Data Interchange Format'
  (draft-ietf-jsonbis-rfc7159bis-03.txt) as Internet Standard

This document is the product of the Javascript Object Notation Update Working
Group.

The IESG contact persons are Adam Roach, Alexey Melnikov and Ben Campbell.

A URL of this Internet Draft is:
https://datatracker.ietf.org/doc/draft-ietf-jsonbis-rfc7159bis/

Technical Summary

  This document is an update to RFC 7159 to promote the JSON
  format to Internet Standard.  In promoting to Internet
  Standard, this document is a minimal update to RFC 7159 to
  apply accepted errata and to normatively reference ECMA-404.

Working Group Summary

  This document had numerous reviews, drawn out over several months.
  While no new technical concerns were raised, the consensus on this
  document is rough due to the unique nature of the normative
  reference to ECMA-404.  It is not strictly necessary to understand
  ECMA-404 to implement JSON; rather the reference is an agreement
  with Ecma TC39 to agree on a single shared definition of JSON.

Document Quality

  JSON is widely used and there are multiple implementations.

Personnel

  Matthew Miller is the document shepherd.  Alexey Melnikov is
  the responsible AD.

RFC Editor Note

1)
OLD:
(In the header)
Obsoletes: 4627, 7158, 7159 (if approved)

NEW:
Obsoletes: 7159 (if approved)

2) Reference to ECMA-262:

The reference to "ECMAScript Language Specification, Third Edition"
[ECMA-262] is intentional.  While newer versions exist at the time of
this document's publication, this specific version of ECMA-262
illustrates the history of the JSON data format.

3) Errata References

The text for the following errata references need to be updated to
correctly describe the specific erratum; the authors and chairs were not
able to determine how to accomplish that with the existing tooling:

* [Err3915] RFC Errata, "Errata ID 3915", RFC 7159, <http://rfc-editor.org>
* [Err4264] RFC Errata, "Errata ID 4264", RFC 7159, <http://rfc-editor.org>
* [Err4336] RFC Errata, "Errata ID 4336", RFC 7159, <http://rfc-editor.org>

4). Please replace the whole section 8.1 to read:

OLD:

   JSON text SHALL be encoded in UTF-8, UTF-16, or UTF-32 [UNICODE]
   (Section 3).  The default encoding is UTF-8, and JSON texts that are
   encoded in UTF-8 are interoperable in the sense that they will be
   read successfully by the maximum number of implementations; there are
   many implementations that cannot successfully read texts in other
   encodings (such as UTF-16 and UTF-32).

   Implementations MUST NOT add a byte order mark (U+FEFF) to the
   beginning of a JSON text.  In the interests of interoperability,
   implementations that parse JSON texts MAY ignore the presence of a
   byte order mark rather than treating it as an error.

NEW:

   When transmitting over a network protocol, or as a payload of a
   network protocol intended to be interpreted as part of a protocol,
   JSON text MUST be encoded in UTF-8 (Section 3 of [UNICODE]).

   Previous specifications of JSON have not required the use of UTF-8
   when transmitting JSON text. However, the vast majority of
   JSON-based software implementations have chosen to use the UTF-8
   encoding, to the extent that it is the only encoding that achieves
   interoperability.

   Implementations MUST NOT add a byte order mark (U+FEFF) to the
   beginning of a networked-transmitted JSON text.  In the interests
   of interoperability, implementations that parse JSON texts MAY
   ignore the presence of a byte order mark rather than treating it
   as an error.

5) Please add the following to the "Appendix A.  Changes from RFC 7159":

Recommendations about recommended charset for JSON was changed to UTF-8.