Releases: Tanendra77/Solace-QueueProbe
QueueProbe v1.0.1
v1.0.1 — Initial Release
Release date: 2026-02-23
Platform: Windows 64-bit · Linux 64-bit
Solace C SDK: 7.33.1.1
This is the first public release of QueueProbe, a lightweight Solace PubSub+ message consumer written in C. QueueProbe supports queue consuming, queue browsing, and topic subscribing with rich output formatting, TLS, and proxy support — available as pre-compiled binaries for both Windows and Linux (64-bit) with no SDK installation required.
Highlights
Three messaging modes out of the box:
- Queue Consumer — binds to a durable queue and consumes messages with explicit client ACK
- Browse Mode (
--browse) — inspect queue contents non-destructively without removing messages - Topic Subscriber (
--topic) — session-level direct topic subscriptions, repeatable for multiple topics
Connectivity:
- SSL/TLS transport via OpenSSL (
tcps://) — bundled on Windows, system-provided on Linux - SOCKS5 and HTTP-Connect proxy support via
--proxy - Certificate validation with
--certdir;--no-verifyavailable for self-signed/dev environments
Cross-platform:
- Single source file (
solace_consumer_debug.c) compiles on both Windows (MinGW/MSYS2) and Linux (gcc) - Linux binary uses
rpath=$ORIGIN—libsolclient.sois bundled alongside the binary, noLD_LIBRARY_PATHor root access needed - Windows binary bundles
libsolclient.dll,libcrypto-3.dll, andlibssl-3.dll— extract and run
New in This Release
Linux Support
- Pre-compiled Linux 64-bit binary included in
linux/alongsidelibsolclient.so rpath=$ORIGINembedded at build time — the binary resolves its shared library from its own directory at runtime with no environment setup needed- OpenSSL is not bundled on Linux — the Solace SDK uses the system OpenSSL already present on any modern distro
LINUX_BUILD.mdadded to the repo with a detailed step-by-step build guide- Makefile added — build with
SOLACE_HOME=/path/to/solclient make linux - Release archives:
QueueProbe-vX.Y.Z-windows-x64.zipandQueueProbe-vX.Y.Z-linux-x64.tar.gz - Automated GitHub Actions release workflow (
.github/workflows/release.yml)
Config File Support
- Auto-load — if
queueprobe.confexists in the binary's directory it is loaded automatically with no flags needed --config <path>flag — explicit config file path for managing multiple environments- Positional
.confargument —QueueProbe.exe myenv.conf/./QueueProbe myenv.confis treated as a config file path - Three-tier priority: hardcoded defaults → config file → CLI args (CLI always wins)
key = valueformat with full-line#/;comments and inline[whitespace]#comments supportedqueueprobe.conf.exampletemplate added to the repo for quick-start referencequeueprobe.confand*.confadded to.gitignoreto prevent accidental credential commits
Output & Logging
--no-colorflag — disable all ANSI colour output- TTY auto-detection — colours are automatically disabled when stdout is not a terminal (piped or redirected)
- Clean log file — ANSI escape sequences are stripped before writing to the log file; the log is always plain text regardless of terminal colour settings
- Payload in log — message payload (JSON or binary) is now written to the log file, not only to the terminal
- Message separators in log —
+----- Message #N -----+header and closing line written to log for easy parsing and post-processing - Extended message metadata — the following fields are now logged per message:
AppMsgId,ReplyTo,CorrelationId,SenderId,ClassOfService,Priority,TTL,DMQEligible
CLI Options
| Option | Default | Description |
|---|---|---|
<queue_name> |
(required for queue/browse) | Name of the durable queue |
--host <url> |
tcp://localhost:55555 |
Broker URL (tcp:// or tcps://) |
--vpn <name> |
default |
Message VPN name |
--username <user> |
default |
Client username |
--password <pass> |
(empty) | Client password |
--proxy <url> |
(none) | Proxy URL (socks5://, httpc://) |
--browse |
(off) | Enable browse mode (no ACK) |
--topic <topic> |
(none) | Topic subscription (repeatable) |
--certdir <path> |
(none) | Trust-store directory (enables cert validation) |
--no-verify |
(off) | Disable SSL certificate validation |
--logfile <file> |
solace_debug.log |
Log output file path |
--config <file> |
(none) | Load settings from a config file |
--no-color |
(off) | Disable ANSI colour output |
Bundled Files
Windows (QueueProbe-vX.Y.Z-windows-x64.zip):
windows/
├── QueueProbe.exe # Pre-compiled Windows 64-bit binary
├── libsolclient.dll # Solace client library
├── libcrypto-3.dll # OpenSSL — required for tcps://
├── libssl-3.dll # OpenSSL — required for tcps://
└── queueprobe.conf.example # Config file template
Linux (QueueProbe-vX.Y.Z-linux-x64.tar.gz):
linux/
├── QueueProbe # Pre-compiled Linux 64-bit binary
├── libsolclient.so # Solace client library (symlink)
└── libsolclient.so.1.7.33.1.1 # Solace client library (versioned)
Dependencies
| Library | Version | Windows | Linux |
|---|---|---|---|
| libsolclient | 7.33.1.1 | bundled (libsolclient.dll) |
bundled (libsolclient.so) |
| OpenSSL | 3.x | bundled (libcrypto-3.dll, libssl-3.dll) |
system-provided |
| C runtime | — | Windows UCRT (built into Windows 10+) | glibc (built into any modern distro) |
Known Limitations
- SSL certificate validation is disabled by default for development convenience. Use
--certdirto point at a trust-store directory and enable full validation for production environments. - On Linux, OpenSSL is not bundled — ensure
libsslandlibcryptoare installed on the target system (present by default on any modern distro).
License
Copyright 2026 Tanendra77 (github.com/Tanendra77)
Licensed under the [Apache License, Version 2.0](https://github.com/Tanendra77/Solace-QueueProbe/blob/main/LICENSE).QueueProbe — Release Notes