Every read in the mORMot2 transport took a timeout parameter, and none of them honoured it. Here is why a Receive(1000) could wait forever, and what changed. Affects: mORMot2 comm adapter only Unaffected: Indy, Synapse Products: all Habari Client libraries (for ActiveMQ · Artemis · OpenMQ · RabbitMQ) Verified on: Delphi 2009, FPC 3.2.2 The symptom Select … Continue reading PREVIEW: The timeout that wasn’t
PREVIEW: Failover, configured from code
Connecting across a list of brokers no longer means recompiling the library. The failover: transport is now switched on at runtime, per connection, through a small interface on IConnection. Why the define had to go Habari has long understood a failover connection URL — failover:(stomp://a,stomp://b) — that tries each broker in turn and reconnects with backoff when a connection can … Continue reading PREVIEW: Failover, configured from code
PREVIEW: Setting the line‑length limit from code
A new MaxLineLength property on IConnection replaces the HABARI_X_MAXLINELENGTH compile‑time switch — so one application can raise the limit for one connection without rebuilding the library. Applies to The Indy transport. Synapse and mORMot2 accept the value and ignore it. New API IMaxLineLength in BTCommInterfaces, implemented by every IConnection. Supersedes HABARI_X_MAXLINELENGTH — still honoured, now with a deprecation warning. The problem Indy caps how long … Continue reading PREVIEW: Setting the line‑length limit from code
PREVIEW: Two runners, one executable
The unit tests used to need a window. Now the same Unittests program — Delphi's and Free Pascal's alike — runs headless the moment you hand it a parameter, and still comes up in its GUI runner when you don't. One set of test sources, compiled by two toolchains: Delphi runs them under DUnit, Free Pascal under … Continue reading PREVIEW: Two runners, one executable
Habari STOMP Clients Release 2026.02
Habarisoft released new versions of its Delphi and Free Pascal STOMP client libraries for integration with leading multi-protocol message brokers.
STOMP vs. MQTT Explained: Choosing the Right Protocol for Your Messaging Needs
When comparing STOMP and MQTT, the choice often comes down to use case. MQTT excels in IoT scenarios where bandwidth and device resources are limited. STOMP, however, offers clear advantages in enterprise messaging: it’s human-readable and easy to debug, supports both queues and topics, integrates seamlessly with established brokers, and provides transaction handling along with extensible headers.
Why Using a RTF to HTML Converter Can Unlock Hidden Value in Your Documents
Rich Text Format (RTF) files are everywhere—from legacy archives and internal knowledge bases to email templates and customer-facing portals—but they’re rarely ready for the modern web. Converting RTF to HTML unlocks new value by making content browser-friendly, searchable, and easily shared.
Messaging for Web and Mobile with Apache ActiveMQ Classic
The presentation covered challenges with HTTP messaging, advantages of STOMP and MQTT protocols, and examples of using STOMP over WebSocket for browser messaging and MQTT for mobile apps.
Habari STOMP Clients Release 2025.08
Habarisoft released new versions of its Delphi and Free Pascal STOMP client libraries for integration with leading multi-protocol message brokers.
How To: Secure Delphi SMTP With OAuth2
How to: secure Delphi SMTP with OAuth2 for sending emails via Exchange Online. Full Example source code is available now on GitHub.