Changelog
1.x (Current)
1.0.4
Fixed:
- Searching a queue with many messages could take the broker down. A search asked the broker for the whole queue in one go; on RabbitMQ it now reads the queue over AMQP and on ActiveMQ Artemis page by page — neither the broker nor the console ever holds the whole queue any more. Results appear while the search runs instead of all at once at the end
- Search is much faster on a broker reached over a network, where it was slow enough to be unusable — a queue of 500 messages took twenty seconds and 10 000 took minutes. The console asked the broker for one message at a time, so the time it took was the network round trip multiplied by the number of messages; it now reads them in a continuous stream. Measured at a 24 ms round trip: 500 messages in 0.6 s instead of 20 s, and 10 000 in 23 s instead of six minutes
- Searches no longer pile up. Typing in the filter box used to leave several full reads running against the broker at once, because closing a search only stopped the console from listening; a search is now superseded by the next one, and stopping it stops the read
- On a deep queue the filter box waits for Enter rather than searching on every pause in typing
- A search or a message action that was interrupted could destroy messages on a RabbitMQ quorum queue with a delivery limit — the messages it had read were returned by the connection closing, which counts against that limit, instead of being handed back explicitly, which does not
- A search that was cut short by its own limits now says so, instead of looking like a queue with fewer messages in it
- Dead-letter details (
x-death) and other nested header values are searchable and readable in Spy Mode, rather than showing as unreadable objects
1.0.2
New:
- Binary content on queues is handled as what it is: an image, a PDF or any other non-text payload is carried as bytes rather than mangled into text, shown as an attachment with a preview, and can be downloaded whole (on ActiveMQ Classic this needs the server’s OpenWire port, which Test Connection now checks along with the management API)
Fixed:
- A licence could be reported invalid in a rare situation where it was perfectly valid — moving it between machines more than twice in a day answered “Invalid license key” instead of saying when the next move is possible
1.0.1
New:
- Stream view — read a queue one message after another with the payload laid out as formatted JSON, instead of a row per message. Switches from the toolbar, and uses the same filters and the same fields as the table
- Dark mode, following the system by default or set explicitly
- Application settings, behind the gear beside the About control: theme and interface zoom, separate from the per-server settings in the navigation
- Interface zoom, 70–125% in steps of 5, remembered per install (desktop app; in a browser the browser’s own zoom applies)
- Filter on any column rather than only the payload — the field selector now lists the message’s own fields, every payload field including nested paths, and the headers
- Nested payload values as columns: a value inside an object, or inside the objects in an array,
can be a column of its own —
items.productName
Improved:
- Columns are sized to what they hold rather than to an estimate, and dragging a column edge follows the pointer exactly. The row-number column resizes too, and a click on a separator hands a column back to its content width
- The row’s action buttons stay in view when the table is scrolled sideways
- Column headers carry their full name in a tooltip instead of bleeding into the next column
- The payload column shows
{…}with the payload, formatted and syntax-coloured, in the tooltip. Whatever matches the filter is marked — in the cell and in the tooltip alike - A third click on a column header clears its sort, back to the order the messages arrived in
- Returning to a queue list, or any page, puts you back where you had scrolled to
- The column picker opens on Payload, and says how many columns are showing of how many the queue has
- The queue list is held and refreshed in the background, so it is there when the page opens
- Servers are grouped in the export picker
- Leave a queue with Escape, the control in the left gutter, or the trackpad back gesture
- Server connections can be validated and their AMQP port tested, and settings moved between machines
- Every dialog has a close control in its corner
Fixed:
- An empty AMQP port turned Spy Mode off rather than assuming 5672
- A column hidden in the picker could still take up space in the table
1.0.0
Initial public release.
Broker support:
- RabbitMQ 3.11+
- ActiveMQ Classic 5.16+
- ActiveMQ Artemis 2.28+
Features:
- Queue browser with message inspection and pagination
- Message filtering by header, routing key, payload, and properties
- Message routing between queues
- Dead-letter queue rescue with automatic
x-deathheader cleanup - AsyncAPI schema validation in the message detail panel and publish dialog
- AsyncAPI spec editor: visual editor and YAML source, two-way synced (beta)
- Traffic recording across every queue and topic on a server, with one-click channel generation from the captured samples (beta)
- Spec version history with diffs, selectable active version, and PDF documentation export
- Table view with customisable column presets
- Multi-server support with environment tags
- Queue monitoring (message count, consumer count, memory, publish/delivery rates)
- Message publishing with schema-assisted compose
- Export to JSON and CSV
- Credentials stored in OS keychain (macOS, Windows, Linux)
- macOS, Windows, and Linux desktop builds
- In-app notification when a new version is available
New releases are listed on this page — check back here to see what’s changed. The app also tells you when a new version is out; see Updating the App.