7 Conformance

The MQTT specification defines conformance for MQTT Client implementations and MQTT Server implementations. An MQTT implementation can conform as both an MQTT Client and an MQTT Server.

7.1 Conformance clauses

7.1.1 MQTT Server conformance clause

Refer to Server in the Terminology section for a definition of Server.

  1. An MQTT Server conforms to this specification only if it satisfies all the statements below:
  2. The format of all MQTT Control Packets that the Server sends matches the format described in 2 MQTT Control Packet format and 3 MQTT Control Packets.
  3. It follows the Topic matching rules described in section 4.7 and the Subscription rules in section 4.8.
  4. It satisfies the MUST level requirements in the following chapters that are identified except for those that only apply to the Client:
  5. It does not require the use of any extensions defined outside of the specification in order to interoperate with any other conformant implementation.

7.1.2 MQTT Client conformance clause

Refer to Client in the Terminology section for a definition of Client.

 

An MQTT Client conforms to this specification only if it satisfies all the statements below:

  1. The format of all MQTT Control Packets that the Client sends matches the format described in Chapter 2 and Chapter 3.
  2. It satisfies the MUST level requirements in the following chapters that are identified except for those that only apply to the Server:
  3. It does not require the use of any extensions defined outside of the specification in order to interoperate with any other conformant implementation.

Solace Implementation Note

March 2021—Inclusion of MQTT v5.0 support