Original text:
the signature computation comprises all of the fields except for the signature field. <del> KeyPackage objects MUST contain at least three extensions, one of type "supported_versions", one of type "supported_ciphersuites", and one of type "lifetime".  The "supported_versions" and "supported_ciphersuites" extensions allow MLS session establishment to be safe from downgrade attacks on these two parameters (as discussed in group-creation), while still only advertising one version / ciphersuite per KeyPackage. </del>  As the "KeyPackage" is a structure which is stored in the Ratchet Tree and updated depending on the evolution of this tree, each 7.1. <del> The "supported_versions" extension contains a list of MLS versions that are supported by the client.  The "supported_ciphersuites" extension contains a list of MLS ciphersuites that are supported by the client. </del>  <del> These extensions MUST be always present in a KeyPackage. </del>  7.2. Fetch KeyPackages for the members to be added, and selects a version and ciphersuite according to the capabilities of the members.  To protect against downgrade attacks, the creator MUST <del> use the "supported_versions" and "supported_ciphersuites" fields in these KeyPackages to verify that the chosen version and ciphersuite is the best option supported by all members. </del>  Initialize a one-member group with the following initial values (where "0" represents an all-zero vector of size Hash.length): KP: KeyPackage messages <del> W: Welcome messages </del>  Recommended: Whether support for this extension is recommended by the IETF MLS WG.  Valid values are "Y" and "N".  The "Recommended"

Reviewer comments:
This PR makes a few minor fixes to extensions: Coalesces and into a single extension Adds a list of supported extensions in parallel with the versions and ciphersuites Adds a missing value to the IANA table for the extension

Revised text:
the signature computation comprises all of the fields except for the signature field.  <ins> KeyPackage objects MUST contain at least two extensions, one of type "capabilities", and one of type "lifetime".  The "capabilities" extension allow MLS session establishment to be safe from downgrade attacks on the parameters described (as discussed in group-creation), while still only advertising one version / ciphersuite per KeyPackage. </ins> As the "KeyPackage" is a structure which is stored in the Ratchet Tree and updated depending on the evolution of this tree, each 7.1.  <ins> The "capabilities" extension indicates what protocol versions, ciphersuites, and protocol extensions are supported by a client. </ins>  <ins> This extension MUST be always present in a KeyPackage.  Extensions that appear in the "extensions" field of a KeyPackage MUST be included in the "extensions" field of the "capabilities" extension. </ins> 7.2. Fetch KeyPackages for the members to be added, and selects a version and ciphersuite according to the capabilities of the members.  To protect against downgrade attacks, the creator MUST  <ins> use the "capabilities" extensions in these KeyPackages to verify that the chosen version and ciphersuite is the best option supported by all members. </ins> Initialize a one-member group with the following initial values (where "0" represents an all-zero vector of size Hash.length): KP: KeyPackage messages  <ins> GI: GroupInfo objects </ins> Recommended: Whether support for this extension is recommended by the IETF MLS WG.  Valid values are "Y" and "N".  The "Recommended"