Line 2027
“A Topic Alias value of 0 or greater than the Maximum Topic Alias is a protocol error”
Should be “Protocol Error” for consistency with terminology.
Lines 2044-2048
Non-Normative Comment
If the Server distributes Application Messages to Clients at different protocol levels (such as MQTT V3.1.1) which do not support properties or other features provided by this specification, some information in the Application Message can be lost, and applications which depend on this information might not work correctly.
I don't recall this comment in my earlier detailed review of WD11. What's the intent?
Line 2062: "even if it has more that this number of messages ..."
Line 2083: "even if it has more that this number of messages ..."
[than]?
Lines 2068-2070:
Non-Normative comment
If the Client sends QoS 1 or QoS 2 PUBLISH packets before it has received a CONNACK packet, it risks being disconnected because it has sent more than Receive Maximum publications.
My sense is that this comment would be more appropriate in CONNECT around Line 1392 as a cautionary example for this scenario.
Lines 2057-2058:
The value of Receive Maximum applies only to the current Network Connection.
Yes. This was already stated on Line 1163. It doesn't seem specifically clarifying to repeat in this case and could be deleted.
In addition, since the CONNECT Receive Maximum documents this constraint shouldn't the CONNACK Receive Maximum include similar language?
Lines 2056-2058
The Client MUST NOT delay the sending of any packets other than PUBLISH packets due to having sent Receive Maximum PUBLISH packets without receiving acknowledgements for them
Lines 2078-2079
Where the Server has sent Receive Maximum PUBLISH packets without receiving acknowledgements, it SHOULD NOT delay the sending of other packet types so as to avoid a possible deadlock.
Why are there two different styles for similar cases? For example, why not model the client text on the server text:
Where the Client has sent has sent Receive Maximum PUBLISH packets without receiving acknowledgements, it MUST NOT delay the sending of other packet types ...