3

The rfc-editor says

  • "Obsoletes xxxx" refers to other RFCs that this one replaces.
  • "Updates xxxx" refers to other RFCs that this one merely updates but does not replace.

But this begs the question... why would an RFC update another RFC without replacing it?

Does "Updates" mean that some earlier information is contradicted in the older RFC, but other information is still standard? That seems odd.

Josiah Yoder
  • 3,321
  • 4
  • 40
  • 58

2 Answers2

6

“Updates xxxx” just adds definitions to the existing RFC. The content of the existing RFC is not invalidated by the new RFC and is still needed to implement the protocol. This is used for example if there is no need to redefine the complete protocol but some clarifications are required.

“Obsoletes xxxx” is a complete redefinitio of a protocol. If not for other reasons, there is no need for you to read the obsoleted RFC to understand/correctly implement the protocol.

Matthias Wimmer
  • 3,789
  • 2
  • 22
  • 41
  • 1
    Not sure "complete redefinition" is correct. For example, RFC 7230 obsoletes RFC 2616, but RFC 2616 is obsoleted, not only by 7230, but also by 7231, 7232, 7233, 7234, and 7235. – djvg Dec 20 '20 at 13:52
6

The terms Updates and Obsoletes used to be defined by RFC 2223, but it is obsoleted by RFC 7322, which doesn't explicitly define these terms.

I think the earlier RFCs did a good job of defining these terms.

RFC 2223 — Obsoletes: 1543, 1111, 825

RFCs 2223, 1543, and 1111, which are all essential "Instructions to RFC Authors", defined these terms as their "Relation to other RFCs". RFC 825 was a very early version and did not define the terms.

RFC 2223 — 6. Relation to other RFCs

6.  Relation to other RFCs

   Sometimes an RFC adds information on a topic discussed in a previous
   RFC or completely replaces an earlier RFC.  There are two terms used
   for these cases respectively, Updates and Obsoletes.  A document that
   obsoletes an earlier document can stand on its own.  A document that
   merely updates an earlier document cannot stand on its own; it is
   something that must be added to or inserted into the previously
   existing document, and has limited usefulness independently.  The
   terms Supercedes and Replaces are no longer used.

   Updates

      To be used as a reference from a new item that cannot be used
      alone (i.e., one that supplements a previous document), to refer
      to the previous document.  The newer publication is a part that
      will supplement or be added on to the existing document; e.g., an
      addendum, or separate, extra information that is to be added to
      the original document.

   Obsoletes

      To be used to refer to an earlier document that is replaced by
      this document.  This document contains either revised information,
      or else all of the same information plus some new information,
      however extensive or brief that new information is; i.e., this
      document can be used alone, without reference to the older
      document.

      For example:

         On the Assigned Numbers RFCs the term Obsoletes should be used
         since the new document actually incorporate new information
         (however brief) into the text of existing information and is
         more up-to-date than the older document, and hence, replaces it
         and makes it Obsoletes.

   In lists of RFCs or the RFC-Index (but not on the RFCs themselves)
   the following may be used with early documents to point to later
   documents.

   Obsoleted-by

      To be used to refer to the newer document(s) that replaces the
      older document.

   Updated-by

      To be used to refer to the newer section(s) which are to be added
      to the existing, still used, document.

RFC 7322 — Obsoletes: 2223

RFC 7322 doesn't define an RFCs "Relation to other RFCs" like earlier RFCs did.

I only find several mentions of the terms:

  • https://www.rfc-editor.org/rfc/rfc7322#section-4.1.4

      4.1.4.  Updates and Obsoletes
    
         When an RFC obsoletes or updates a previously published RFC or RFCs,
         this information is included in the document header.  For example:
    
            "Updates: nnnn" or "Updates: nnnn, ..., nnnn"
    
            "Obsoletes: nnnn" or "Obsoletes: nnnn, ... , nnnn"
    
         If the document updates or obsoletes more than one document, numbers
         will be listed in ascending order.
    
  • https://www.rfc-editor.org/rfc/rfc7322#section-4.1.

      4.1.  First-Page Header
    
         Headers will follow the format described in "RFC Streams, Headers,
         and Boilerplates" [RFC5741] and its successors.  In addition, the
         following conventions will apply.
    

RFC 5741 is mentioned, which is obsoleted by RFC 7841. It describes a header format for an RFCs "Relation to other RFCs", but it just refers back to RFC 7322.

RFC 7841 — header format for an RFCs "Relation to other RFCs"

...

[<RFC relation>:<RFC number[s]>]  Some relations between RFCs in the
  series are explicitly noted in the RFC header.  For example, a new
  RFC may update one or more earlier RFCs.  Currently two
  relationships are defined: "Updates" and "Obsoletes" [RFC7322].
  Variants like "Obsoleted by" are also used (e.g, in [RFC5143]).
  Other types of relationships may be defined by the RFC Editor and
  may appear in future RFCs.
Community
  • 1
  • 1
Gerard Roche
  • 6,162
  • 4
  • 43
  • 69