Protocol Versions

This page documents the changes that have been made to the protocol  from version to version.

A * indicates that the change has not yet been rolled into the text.
 

Version 2

The notion of a "Will" has been introduced into the CONNECT message. If a client sets the Will Flag, and provided Will QoS, Will RETAIN, Will Topic and Will Message, then upon the unexpected disconnection (or the failure to honour the Keep Alive schedule), the broker will PUBLISH the Will Message on the Will Topic, at a Quality of Service of Will QoS, and RETAIN status defined by Will RETAIN.

The protocol version number in the CONNECT message has been changed to 2.

Added protocol messages: DISCONNECT, UNSUBSCRIBE, UNSUBACK, PINGREQ, PINGRESP.

Renamed message types PUBACK1, PUBACK2, PUBACK3 to  PUBREC(EIVED), PUBREL(EASE), PUBCOMP(LETE), respectively.

The Protocol Name has been changed from "ArgoOTWP" to "MQIpdp". See the Variable Header sections for details.

Message type 0 has been reserved as "unused". See the Fixed Header section for details.

The unique client identifier string must be between 1 and 23 characters long. See the CONNECT section for details.

The use of the DUP flag has been removed from PUBACK, PUBREC, PUBREL and PUBCOMP.

Message ID 0 has been reserved as an invalid Message ID for QoS1 and QoS2 PUBLISHes, and must not be used.

UNSUBSCRIBE are now QoS1 messages, and hence have a Message ID, which also appears in UNSUBACK respectively.

Added a Keep Alive timer to the CONNECT message to allow more timely disconnection of a client in the event of network connection failure.

Added a "Clean Start" flag to the CONNECT message to allow a client to start from a clean initial position. Any outstanding messages for the client are deleted, any existing subscriptions for this client are dropped, and the broker's Message ID for this client is reset to 1.

"Subject" is now known as "Topic".

The COMPSUB flag has been renamed to TNCOMP (Topic Name COMPression).

Added a "RETAIN" flag to the fixed header, for use by PUBLISH to indicate that the broker should hold the value if possible, for sending as an "initial" value to subsequent new subscribers to the Topic.

The SECurity bit has been dropped from the Fixed Header, on the grounds that Authentication belongs in CONNECT, and message-level encryption is an application level thing and so belongs in the payload..

An explanation has been provided, in the Topics section, of how IBM MQ Series Integrator Version 2 deals with Topic Name hierarchies and wildcard characters. Although this is specific to one particular broker, it makes a useful tutorial.

The SUBSCRIBE message has been enhanced to include a "Requested" Quality of Service, for each Topic in the subscription list, which indicates the highest QoS at which the client would like to receive messages on that Topic. The SUBACK message contains the "Granted" Quality of Service for each Topic, which is the highest QoS at which that client will be allowed to receive messages on that Topic.

The Remaining Length field in the Fixed Header now uses a variable length encoding scheme to allow a saving of one byte for short messages,
whilst giving the flexibility to accomodate large messages such as software upgrades.
 

Version 1

26-Mar-99: First release of protocol version 1.
 

BACK to index


Last Modified: 22-Oct-99