| rfc9100.original | rfc9100.txt | |||
|---|---|---|---|---|
| CoRE C. Bormann | Internet Engineering Task Force (IETF) C. Bormann | |||
| Internet-Draft Universitaet Bremen TZI | Request for Comments: 9100 Universität Bremen TZI | |||
| Updates: 8428 (if approved) 4 June 2021 | Updates: 8428 August 2021 | |||
| Intended status: Standards Track | Category: Standards Track | |||
| Expires: 6 December 2021 | ISSN: 2070-1721 | |||
| SenML Features and Versions | Sensor Measurement Lists (SenML) Features and Versions | |||
| draft-ietf-core-senml-versions-05 | ||||
| Abstract | Abstract | |||
| This short document updates RFC 8428, Sensor Measurement Lists | This short document updates RFC 8428, "Sensor Measurement Lists | |||
| (SenML), by specifying the use of independently selectable "SenML | (SenML)", by specifying the use of independently selectable "SenML | |||
| Features" and mapping them to SenML version numbers. | Features" and mapping them to SenML version numbers. | |||
| Discussion Venues | ||||
| This note is to be removed before publishing as an RFC. | ||||
| Discussion of this document takes place on the CORE Working Group | ||||
| mailing list (core@ietf.org), which is archived at | ||||
| https://mailarchive.ietf.org/arch/browse/core/ | ||||
| (https://mailarchive.ietf.org/arch/browse/core/). | ||||
| Source for this draft and an issue tracker can be found at | ||||
| https://github.com/core-wg/senml-versions (https://github.com/core- | ||||
| wg/senml-versions). | ||||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
| provisions of BCP 78 and BCP 79. | ||||
| Internet-Drafts are working documents of the Internet Engineering | ||||
| Task Force (IETF). Note that other groups may also distribute | ||||
| working documents as Internet-Drafts. The list of current Internet- | ||||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
| and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
| time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
| material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
| Internet Standards is available in Section 2 of RFC 7841. | ||||
| This Internet-Draft will expire on 6 December 2021. | Information about the current status of this document, any errata, | |||
| and how to provide feedback on it may be obtained at | ||||
| https://www.rfc-editor.org/info/rfc9100. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
| license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
| extracted from this document must include Simplified BSD License text | to this document. Code Components extracted from this document must | |||
| as described in Section 4.e of the Trust Legal Provisions and are | include Simplified BSD License text as described in Section 4.e of | |||
| provided without warranty as described in the Simplified BSD License. | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
| 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Terminology | |||
| 2. Feature Codes and the Version number . . . . . . . . . . . . 3 | 2. Feature Codes and the Version Number | |||
| 2.1. Discussion . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.1. Discussion | |||
| 2.2. Updating RFC8428 . . . . . . . . . . . . . . . . . . . . 4 | 2.2. Updating Section 4.4 of RFC 8428 | |||
| 3. Features: Reserved0, Reserved1, Reserved2, Reserved3 . . . . 5 | 3. Features: Reserved0, Reserved1, Reserved2, Reserved3 | |||
| 4. Feature: Secondary Units . . . . . . . . . . . . . . . . . . 5 | 4. Feature: Secondary Units | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 | 5. Security Considerations | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 6. IANA Considerations | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 7. References | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 7 | 7.1. Normative References | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 7 | 7.2. Informative References | |||
| Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 8 | Acknowledgements | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8 | Author's Address | |||
| 1. Introduction | 1. Introduction | |||
| The Sensor Measurement Lists (SenML) specification [RFC8428] provides | The Sensor Measurement Lists (SenML) specification [RFC8428] provides | |||
| a version number that is initially set to 10, without further | a version number that is initially set to 10, without further | |||
| specification on the way to make use of different version numbers. | specification on the way to make use of different version numbers. | |||
| The traditional idea of using a version number to indicate the | The common idea of using a version number to indicate the evolution | |||
| evolution of an interchange format generally assumes an incremental | of an interchange format generally assumes an incremental progression | |||
| progression of the version number as the format accretes additional | of the version number as the format accretes additional features over | |||
| features over time. However, in the case of SenML, it is expected | time. However, in the case of SenML, it is expected that the likely | |||
| that the likely evolution will be for independently selectable | evolution will be for independently selectable capability _features_ | |||
| capability _features_ to be added to the basic specification that is | to be added to the basic specification that is indicated by version | |||
| indicated by version number 10. To support this model, this document | number 10. To support this model, this document repurposes the | |||
| repurposes the single version number accompanying a pack of SenML | single version number accompanying a pack of SenML records so that it | |||
| records so that it is interpreted as a bitmap that indicates the set | is interpreted as a bitmap that indicates the set of features a | |||
| of features a recipient would need to have implemented to be able to | recipient would need to have implemented to be able to process the | |||
| process the pack. | pack. | |||
| This short document specifies the use of SenML Features and maps them | This short document specifies the use of SenML Features and maps them | |||
| to SenML version number space, updating [RFC8428]. | to SenML version number space, updating [RFC8428]. | |||
| 1.1. Terminology | 1.1. Terminology | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
| BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| Where bit arithmetic is explained, this document uses the notation | Where bit arithmetic is explained, this document uses the notation | |||
| familiar from the programming language C [C], including the "0b" | familiar from the programming language C [C], including the "0b" | |||
| prefix for binary numbers defined in Section 5.13.2 of the C++ | prefix for binary numbers defined in Section 5.13.2 of the C++ | |||
| language standard [Cplusplus], except that superscript notation | language standard [CPLUSPLUS], except that superscript notation | |||
| (example for two to the power of 64: 2^64) denotes exponentiation; in | (example for two to the power of 64: 2^64) denotes exponentiation; in | |||
| the plain text version of this draft, superscript notation is | the plain text version of this document, superscript notation is | |||
| rendered in paragraph text by C-incompatible surrogate notation as | rendered in paragraph text by C-incompatible surrogate notation as | |||
| seen in this example, and in display math by a crude plaintext | seen in this example, and in display math by a crude plain text | |||
| representation, as is the sum (Sigma) sign. | representation, as is the sum (Sigma) sign. | |||
| 2. Feature Codes and the Version number | 2. Feature Codes and the Version Number | |||
| The present specification defines "SenML Features", each identified | The present specification defines "SenML Features", each identified | |||
| by a "feature name" (a text string) and a "feature code" (an unsigned | by a "feature name" (a text string) and a "feature code" (an unsigned | |||
| integer less than 53). | integer less than 53). | |||
| The specific version of a SenML pack is composed of a set of | The specific version of a SenML pack is composed of a set of | |||
| features. The SenML version number ("bver" field) is then a bitmap | features. The SenML version number ("bver" field) is then a bitmap | |||
| of these features represented as an unsigned integer, specifically | of these features represented as an unsigned integer, specifically | |||
| the sum of, for each feature present, two taken to the power of the | the sum of, for each feature present, two taken to the power of the | |||
| feature code of that feature (Figure 1). | feature code of that feature (Figure 1). | |||
| __ 52 fc | __ 52 fc | |||
| version = \ present(fc) ⋅ 2 | version = \ present(fc) ⋅ 2 | |||
| /__ fc = 0 | /__ fc = 0 | |||
| Figure 1: Feature bitmap as a sum of feature bits | Figure 1: Feature Bitmap as a Sum (Sigma Symbol) of Feature Bits | |||
| where present(fc) is 1 if the feature with the feature code "fc" is | where present(fc) is 1 if the feature with the feature code "fc" is | |||
| present, 0 otherwise. (The expression 2^fc can be implemented as "1 | present, 0 otherwise. (The expression 2^fc can be implemented as "1 | |||
| << fc" in C and related languages.) | << fc" in C and related languages.) | |||
| RFC editor: Please check that, in the TXT version, no " " crept | ||||
| into the above due to xml2rfc bug 641, and remove this paragraph. If | ||||
| possible with today's RFCXML, add the Sigma character as a | ||||
| parenthesis after "sum" in the caption. | ||||
| 2.1. Discussion | 2.1. Discussion | |||
| Representing features as a bitmap within a number is quite efficient | Representing features as a bitmap within a number is quite efficient | |||
| as long as feature codes are sparingly allocated (see also | as long as feature codes are sparingly allocated (see also | |||
| Section 6). | Section 6). | |||
| Compatibility with the existing SenML version number, 10 decimal | Compatibility with the existing SenML version number, 10 decimal | |||
| (0b1010), requires reserving four of the least significant bit | (0b1010), requires reserving four of the least significant bit | |||
| positions for the base version as described in Section 3. There is | positions for the base version as described in Section 3. There is | |||
| an upper limit to the range of the integer numbers that can be | an upper limit to the range of the integer numbers that can be | |||
| represented in all SenML representations: practical JSON limits this | represented in all SenML representations: practical JSON limits this | |||
| to 2^53-1 [RFC7493]. This means the feature codes 4 to 52 are | to 2^53-1 [RFC7493]. This means the feature codes 4 to 52 are | |||
| available, one of which is taken by the feature defined in Section 4, | available, one of which is taken by the feature defined in Section 4, | |||
| leaving 48 for allocation. (The current version 10 (with all other | leaving 48 for allocation. (The current version 10 (with all other | |||
| feature codes unset) can be visualized as | feature codes unset) can be visualized as | |||
| "0b00000000000000000000000000000000000000000000000001010".) For a | "0b00000000000000000000000000000000000000000000000001010".) For a | |||
| lifetime of this scheme of several decades, approximately two feature | lifetime of this scheme of several decades, approximately two feature | |||
| codes per year or fewer should be allocated. Note that less | codes per year or fewer should be allocated. Note that less | |||
| generally applicable features can always be communicated via fields | generally applicable features can always be communicated via fields | |||
| labeled with names that end with the "_" character ("must-understand | labeled with names that end with the "_" character ("must-understand | |||
| fields"), see Section 4.4 of [RFC8428].) | fields"). See Section 4.4 of [RFC8428] for details. | |||
| Most representations visible to engineers working with SenML will use | Most representations visible to engineers working with SenML will use | |||
| decimal numbers, e.g., 26 (0b11010, 0x1a) for a version that adds the | decimal numbers. For instance, 26 (0b11010, 0x1a) denotes a version | |||
| "Secondary Units" feature (Section 4). This is slightly unwieldy, | that adds the "Secondary Units" feature (Section 4). This is | |||
| but will be quickly memorized in practice. | slightly unwieldy but will be quickly memorized in practice. | |||
| As a general observation, ending up over time with dozens of | As a general observation, ending up over time with dozens of | |||
| individually selectable optional extensions may lead to too many | individually selectable optional extensions may lead to too many | |||
| variants of what is supported by different implementations, reducing | variants of what is supported by different implementations, reducing | |||
| interoperability. So, in practice, it is still desirable to batch up | interoperability. So, in practice, it is still desirable to batch up | |||
| extensions that are expected to be supported together into a single | extensions that are expected to be supported together into a single | |||
| feature bit, leading to a sort of hybrid between completely | feature bit, leading to a sort of hybrid between completely | |||
| independent extensions and a linear version scheme. This is also | independent extensions and a linear version scheme. This is also | |||
| another reason why a space of 48 remaining feature codes should | another reason why a space of 48 remaining feature codes should | |||
| suffice for a while. | suffice for a while. | |||
| 2.2. Updating Section 4.4 of [RFC8428] | 2.2. Updating Section 4.4 of RFC 8428 | |||
| The last paragraph of Section 4.4 of [RFC8428] may be read to give | The last paragraph of Section 4.4 of [RFC8428] may be read to give | |||
| the impression that SenML version numbers are totally ordered, i.e., | the impression that SenML version numbers are totally ordered, i.e., | |||
| that an implementation that understands version n also always | that an implementation that understands version n also always | |||
| understands all versions k < n. If this ever was true for SenML | understands all versions k < n. If this ever was true for SenML | |||
| versions before 10, it certainly is no longer true with this | versions before 10, it certainly is no longer true with this | |||
| specification. | specification. | |||
| Any SenML pack that sets feature bits beyond the first four will lead | Any SenML pack that sets feature bits beyond the first four will lead | |||
| to a version number that actually is greater than 10, so the | to a version number that actually is greater than 10, so the | |||
| requirement in Section 4.4 of [RFC8428] will prevent false | requirement in Section 4.4 of [RFC8428] will prevent false | |||
| interoperability with version 10 implementations. | interoperability with version 10 implementations. | |||
| Implementations that do implement feature bits beyond the first four, | Implementations that do implement feature bits beyond the first four, | |||
| i.e., versions greater than 10, will instead need to perform a | i.e., versions greater than 10, will instead need to perform a | |||
| bitwise comparison of the feature bitmap as described in this | bitwise comparison of the feature bitmap as described in this | |||
| specification and ensure that all features indicated are understood | specification and ensure that all features indicated are understood | |||
| before using the pack. E.g., an implementation that implements basic | before using the pack. For example, an implementation that | |||
| SenML (version number 10) plus only a future feature code 5, will | implements basic SenML (version number 10) plus only a future feature | |||
| accept version number 42, but would not be able to work with a pack | code 5 will accept version number 42, but it would not be able to | |||
| indicating version number 26 (base specification plus feature code | work with a pack indicating version number 26 (base specification | |||
| 4). (If the implementation _requires_ feature code 5 without being | plus feature code 4). (If the implementation _requires_ feature code | |||
| backwards compatible, it will accept 42, but not 10.) | 5 without being backwards compatible, it will accept 42, but not 10.) | |||
| 3. Features: Reserved0, Reserved1, Reserved2, Reserved3 | 3. Features: Reserved0, Reserved1, Reserved2, Reserved3 | |||
| For SenML Version 10 as described in [RFC8428], the feature codes 0 | For SenML version 10 as described in [RFC8428], the feature codes 0 | |||
| to 3 are already in use. Reserved1 (1) and Reserved3 (3) are always | to 3 are already in use. Reserved1 (1) and Reserved3 (3) are always | |||
| present and the features Reserved0 (0) and Reserved2 (2) are always | present, and the features Reserved0 (0) and Reserved2 (2) are always | |||
| absent, i.e., the four least significant bits set to 0b1010 indicate | absent, i.e., the four least significant bits set to 0b1010 indicate | |||
| a version number of 10 if no other feature is in use. These four | a version number of 10 if no other feature is in use. These four | |||
| reserved feature codes are not to be used with any more specific | reserved feature codes are not to be used with any more specific | |||
| semantics except in a specification that updates the present | semantics except in a specification that updates the present | |||
| specification. (Note that Reserved0 and Reserved2 could be used in | specification. (Note that Reserved0 and Reserved2 could be used in | |||
| such a specification in a similar way to the way the feature codes 4 | such a specification in a way similar to that of feature codes 4 to | |||
| to 52 are in the present specification.) | 52 in the present specification.) | |||
| 4. Feature: Secondary Units | 4. Feature: Secondary Units | |||
| The feature "Secondary Units" (code number 4) indicates that | The feature "Secondary Units" (code number 4) indicates that | |||
| secondary unit names [RFC8798] MAY be used in the "u" field of SenML | secondary unit names [RFC8798] MAY be used in the "u" field of SenML | |||
| Records, in addition to the primary unit names already allowed by | records in addition to the primary unit names already allowed by | |||
| [RFC8428]. | [RFC8428]. | |||
| Note that the most basic use of this feature simply sets the SenML | Note that the most basic use of this feature simply sets the SenML | |||
| version number to 26 (10 + 2^4). | version number to 26 (10 + 2^4). | |||
| 5. Security Considerations | 5. Security Considerations | |||
| The security considerations of [RFC8428] apply. This specification | The security considerations of [RFC8428] apply. This specification | |||
| provides structure to the interpretation of the SenML version number, | provides structure to the interpretation of the SenML version number, | |||
| which poses no additional security considerations except for some | which poses no additional security considerations except for some | |||
| potential for surprise that version numbers do not simply increase | potential for surprise that version numbers do not simply increase | |||
| linearly. | linearly. | |||
| 6. IANA Considerations | 6. IANA Considerations | |||
| IANA is requested to create a new subregistry "SenML features" within | IANA has created a new "SenML Features" subregistry within the | |||
| the SenML registry [IANA.senml], with the registration policy | "Sensor Measurement Lists (SenML)" registry [IANA.SENML] with the | |||
| "specification required" [RFC8126] and the columns: | registration policy "Specification Required" [RFC8126] and the | |||
| columns: | ||||
| * Feature code (an unsigned integer less than 53) | * Feature Code (an unsigned integer less than 53) | |||
| * Feature name (text) | * Feature Name (text) | |||
| * Specification | * Reference | |||
| To facilitate the use of feature names in programs, the designated | To facilitate the use of feature names in programs, the designated | |||
| expert is requested to ensure that feature names are usable as | expert is requested to ensure that feature names are usable as | |||
| identifiers in most programming languages, after lower-casing the | identifiers in most programming languages, after lowercasing the | |||
| feature name in the registry entry and replacing whitespace with | feature name in the registry entry and replacing blank space with | |||
| underscores or hyphens, and that they also are distinct in this form. | underscores or hyphens, and that they also are distinct in this form. | |||
| The initial content of this registry is as follows: | The initial content of this registry is as follows: | |||
| +==============+=================+====================+ | +==============+=================+=====================+ | |||
| | Feature code | Feature name | Specification | | | Feature Code | Feature Name | Reference | | |||
| +==============+=================+====================+ | +==============+=================+=====================+ | |||
| | 0 | Reserved0 | RFCthis | | | 0 | Reserved0 | [RFC9100] | | |||
| +--------------+-----------------+--------------------+ | +--------------+-----------------+---------------------+ | |||
| | 1 | Reserved1 | RFCthis | | | 1 | Reserved1 | [RFC9100] | | |||
| +--------------+-----------------+--------------------+ | +--------------+-----------------+---------------------+ | |||
| | 2 | Reserved2 | RFCthis | | | 2 | Reserved2 | [RFC9100] | | |||
| +--------------+-----------------+--------------------+ | +--------------+-----------------+---------------------+ | |||
| | 3 | Reserved3 | RFCthis | | | 3 | Reserved3 | [RFC9100] | | |||
| +--------------+-----------------+--------------------+ | +--------------+-----------------+---------------------+ | |||
| | 4 | Secondary Units | RFCthis, [RFC8798] | | | 4 | Secondary Units | [RFC9100] [RFC8798] | | |||
| +--------------+-----------------+--------------------+ | +--------------+-----------------+---------------------+ | |||
| Table 1: Features defined for SenML at the time of | Table 1: Features Defined for SenML at the Time of | |||
| writing | Writing | |||
| As the number of features that can be registered has a hard limit (48 | As the number of features that can be registered has a hard limit (48 | |||
| codes left at the time of writing), the designated expert is | codes left at the time of writing), the designated expert is | |||
| specifically instructed to maintain a frugal regime of code point | specifically instructed to maintain a frugal regime of code point | |||
| allocation, keeping code points available for SenML Features that are | allocation, keeping code points available for SenML Features that are | |||
| likely to be useful for non-trivial subsets of the SenML ecosystem. | likely to be useful for non-trivial subsets of the SenML ecosystem. | |||
| Quantitatively, the expert could for instance steer the allocation to | Quantitatively, the expert could, for instance, steer the allocation | |||
| a target of not allocating more than 10 % of the remaining set per | to a target of not allocating more than 10% of the remaining set per | |||
| year. | year. | |||
| Where the specification of the feature code is provided in a document | Where the specification of the feature code is provided in a document | |||
| that is separate from the specification of the feature itself (as | that is separate from the specification of the feature itself (as | |||
| with feature code 4 above), both specifications should be listed. | with feature code 4 above), both specifications should be listed. | |||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.1. Normative References | |||
| [C] International Organization for Standardization, | [C] International Organization for Standardization, | |||
| "Information technology — Programming languages — C", ISO/ | "Information technology - Programming languages - C", ISO/ | |||
| IEC 9899:2018, Fourth Edition, June 2018, | IEC 9899:2018, Fourth Edition, June 2018, | |||
| <https://www.iso.org/standard/74528.html>. | <https://www.iso.org/standard/74528.html>. | |||
| [Cplusplus] | [CPLUSPLUS] | |||
| International Organization for Standardization, | International Organization for Standardization, | |||
| "Programming languages — C++", ISO/IEC 14882:2020, Sixth | "Programming languages - C++", ISO/IEC 14882:2020, Sixth | |||
| Edition, December 2020, | Edition, December 2020, | |||
| <https://www.iso.org/standard/79358.html>. | <https://www.iso.org/standard/79358.html>. | |||
| [IANA.senml] | [IANA.SENML] | |||
| IANA, "Sensor Measurement Lists (SenML)", | IANA, "Sensor Measurement Lists (SenML)", | |||
| <http://www.iana.org/assignments/senml>. | <https://www.iana.org/assignments/senml>. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
| Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
| RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
| <https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
| skipping to change at page 8, line 13 ¶ | skipping to change at line 319 ¶ | |||
| 7.2. Informative References | 7.2. Informative References | |||
| [RFC7493] Bray, T., Ed., "The I-JSON Message Format", RFC 7493, | [RFC7493] Bray, T., Ed., "The I-JSON Message Format", RFC 7493, | |||
| DOI 10.17487/RFC7493, March 2015, | DOI 10.17487/RFC7493, March 2015, | |||
| <https://www.rfc-editor.org/info/rfc7493>. | <https://www.rfc-editor.org/info/rfc7493>. | |||
| Acknowledgements | Acknowledgements | |||
| Ari Keränen proposed to use the version number as a bitmap and | Ari Keränen proposed to use the version number as a bitmap and | |||
| provided further input on this specification. Jaime Jiménez helped | provided further input on this specification. Jaime Jiménez helped | |||
| clarify the document by providing a review. Elwyn Davies provided a | clarify the document by providing a review and acted as Document | |||
| detailed GENART review, with directly implementable text suggestions | Shepherd. Elwyn Davies provided a detailed GENART review with | |||
| that now form part of this specification. Rob Wilton supplied | directly implementable text suggestions that now form part of this | |||
| comments one of which became the last paragraph of Section 2.1; Éric | specification. Rob Wilton supplied comments, one of which became the | |||
| Vyncke helped with Section 2. Additional thanks go to the other IESG | last paragraph of Section 2.1; Éric Vyncke helped with Section 2. | |||
| reviewers. | Additional thanks go to the other IESG reviewers. | |||
| Author's Address | Author's Address | |||
| Carsten Bormann | Carsten Bormann | |||
| Universitaet Bremen TZI | Universität Bremen TZI | |||
| Postfach 330440 | Postfach 330440 | |||
| D-28359 Bremen | D-28359 Bremen | |||
| Germany | Germany | |||
| Phone: +49-421-218-63921 | Phone: +49-421-218-63921 | |||
| Email: cabo@tzi.org | Email: cabo@tzi.org | |||
| End of changes. 40 change blocks. | ||||
| 131 lines changed or deleted | 111 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||