Version 10.2 of the Habari STOMP Client libraries for Delphi and Free Pascal is now available for ActiveMQ, Artemis, OpenMQ and RabbitMQ. It turns two compile-time options into run-time settings and fixes two defects that could stall or corrupt a connection.

New

  • Line-length limit at run time. Cast the connection to IMaxLineLength and set MaxLineLength before calling Start. This helps when a broker sends long header lines, such as a large authentication token or a long selector, and Indy raises EIdReadLnMaxLineLengthExceeded. This setting replaces the HABARI_X_MAXLINELENGTH define.
  • Failover from code. Enable the failover:(uri1,uri2,...) transport with (Connection as IFailoverProtocol).EnableFailoverProtocol := True. You no longer need to recompile with HABARI_ENABLE_FAILOVER_PROTOCOL.
  • Logging notice. A build with HABARI_LOGGING now reports at compile time and at startup that logging is included, so a diagnostic build is not shipped unnoticed.

Fixed

  • mORMot 2 connection: Receive with a time-out no longer blocks forever when no message arrives.
  • Reconnecting: a new connection no longer reuses the protocol version negotiated for the previous one.

Please note

  • The HABARI_X_MAXLINELENGTH and HABARI_ENABLE_FAILOVER_PROTOCOL defines are deprecated. They still work, but please move to the new properties.
  • The define HABARI_DEPRECATED_MESSAGELISTENER has been renamed to HABARI_BROKEN_MESSAGELISTENER. A project that still uses the old name will not compile until you rename it. Apart from this, 10.2 has no breaking changes.

Tested with ActiveMQ 6.3.2, Artemis 2.57.0, OpenMQ 6.9.0, RabbitMQ 4.3.6 and Indy 10.6.3.14.

The full release notes are at https://www.habarisoft.com/release_notes.html. Registered users can download the new version now.