Keep visited connections expanded: New setting that keeps every connection tree you have visited open in the sidebar, instead of collapsing the previous one when you switch. Ideal when you jump between multiple namespaces.
Disconnect from a connection: Right-click a connection and choose Disconnect to step away from a namespace without deleting it. The tree collapses, its browsing state and cached data are released, and the status dot returns to idle. Reopening the connection fetches fresh data.
Connections in the command palette: The command palette now searches your connections too. Selecting one activates it and opens its tree in the sidebar. Connections that still need a connection string open the edit dialog instead.
Settings shortcut: Open Settings with Cmd+, on Mac or Ctrl+, on Windows and Linux. The gear icon tooltip shows the shortcut, and the command palette gained an “Open settings” action.
Session id when sending: The send and bulk send dialogs now show a session id field for session-enabled queues and subscriptions, so you can target a specific session. Sending without one to an entity that requires sessions reports a clear error instead of appearing to succeed.
Improvements
Under the hood: A round of internal improvements makes working with multiple connections and scheduled messages smoother and more reliable.
Bug Fixes
Select all messages: The Cmd+A (Mac) / Ctrl+A (Windows, Linux) shortcut now selects all messages in the current view. It previously did nothing. The header checkbox tooltip shows the shortcut, and it stays out of the way while a dialog is open.
Special characters in access key names: Connections whose shared access key name contains special characters now authenticate correctly.
Shift+click range selection: Selecting a range of messages no longer uses stale positions after a filter change.
Send templates:{{random.int}} and {{random.float}} with a minimum larger than the maximum no longer fail, and {{random.choice()}} without arguments reports a clear error instead of being passed through unchanged.
Safer connection storage: If the connections file on disk is corrupt, Fumiq now reports the error and backs the file up instead of silently starting over with an empty list.
Resubmitting filtered dead-letter messages: Resubmitting a filtered selection from a large dead-letter queue no longer fails with “not found in DLQ” when the matching messages sit deeper in the queue.
Session loading: The session list no longer hangs on entities with only a few sessions, and opening a session no longer reports a network timeout while another session request is still running.
Blank window on macOS: Fixed a bug where the app window could go blank (often while in full screen) and stay that way until the app was restarted. Fumiq now recovers automatically.
Dialogs in a small window: Settings and other dialogs no longer get cut off at the top and bottom when the window is small. They now fit the window and scroll, with the Settings title and tabs staying in place.
Editing scheduled messages: An edited message body now shows up immediately on the Scheduled tab, and the list stays in place while it refreshes instead of going empty.
Editing a connection: Saving a connection without typing a new connection string now keeps the stored one. Connections with a blank stored secret are flagged as needing a connection string.
Dead-letter resubmit: A receive error halfway through a batch no longer fails the whole operation, cancelling reports accurately, and session messages are resubmitted with their own session id.
Import messages: Importing into a session-enabled queue or subscription now shows a clear error.
v0.5.0
New Features
Light mode: Fumiq now supports light, dark, and system themes. Switch between them from Settings.
Backup and import: Export your connections, folders, and sidebar layout from the new Backup tab in Settings, then re-import them on another machine or after a reset.
Load more on every message list: Active messages, dead-letter, deferred, scheduled, sessions, and session messages all show a Load more button so you can scroll past the first batch without losing your place.
Sidebar entity filter: Filter the sidebar with one click using presets for dead-letter, active messages, and scheduled messages.
Scheduled messages for topics: Topics now have a Scheduled tab, matching what queues already had.
Aggregated message counts on topics: Topic rows in the sidebar now show the total across their subscriptions.
Bulk operation progress toast: Bulk dead-letter, copy, and resubmit operations now show a progress toast with a cancel button so long-running jobs are visible and interruptible.
Progress and cancel for scheduled scan: Scanning scheduled messages on a large queue now shows progress and can be cancelled mid-scan.
Pre-filled tab badges: Tab badges for Messages, Dead Letter, Scheduled, and Sessions show management totals immediately on entity selection instead of waiting for the first peek to complete.
Filter match counts: When a filter is active, tab counters now show “matches of total” so you can see how many messages match without losing the total count.
Tip of the day: New tip card on the welcome screen highlights features you may not have discovered yet.
Polished sidebar UI: Sidebar got a polish pass with semantic colors, refined icon sizing, breadcrumb tweaks, and richer tooltips.
Bug Fixes
Scheduled messages on large queues: Scheduled messages were sometimes invisible on queues with high active message counts. They now show up reliably.
Sessions list timeout: The sessions list stopped responding on queues with many sessions. It now loads incrementally.
Duplicate connections after import: Re-importing a backup after deleting a folder no longer creates duplicate connection entries in the sidebar.
Bulk selection stability: Bulk message selection no longer clears unexpectedly during dead-letter operations, and DLQ sequence lookups no longer miss messages.
Filter scan on large queues: Filter searches now stream over a persistent AMQP receiver, fixing dropped messages on large queues.
Faster DLQ resubmit: Dead-letter resubmit now drains in a single batch instead of one message at a time, dramatically reducing the time for large operations. Fumiq also warns you if any messages were forwarded but not removed from the DLQ.
Light mode color fixes: Sidebar gradient and JSON tree colors render correctly in light mode.
Windows console flashes: The brief az.exe console window that flashed during certain operations on Windows is now hidden.
Pagination edge cases: Load more footer is hidden when a filter is active, and pagination no longer makes an extra request after a partial batch.
Performance
Faster initial load: The JavaScript bundle is smaller thanks to a leaner syntax highlighter import, so Fumiq starts up faster.
v0.4.4
New Features
Configurable filter scan limit — You can now configure how many messages the filter search scans before stopping, via Settings. Previously this was hard-coded.
Smart navigation from command palette — Selecting a queue, topic, or subscription from the command palette now automatically expands the containing folder and connection in the sidebar and scrolls the entity into view, so you can always see where you are.
Bug Fixes
Filter search now scans the full configured limit — The filter search was stopping early before reaching the configured scan limit. It now scans the full range as expected.
Correct counters during filtering — Tab counters (Active, Dead-letter, Scheduled) and the FilterBuilder total count now display filtered message counts while a filter is active, instead of showing the unfiltered totals.
Fixed message count change animations — The green/red glow animations that highlight message count changes now render correctly.
Smarter retries on Service Bus throttling — When Azure Service Bus throttles requests, Fumiq now backs off and retries automatically with exponential delay instead of failing immediately. You’ll also see a clearer error message if throttling persists.
v0.4.3
Improvements
Changelog in update dialog — When a new update is available, the update dialog now shows the changelog so you can see what’s new before updating.
Better update error handling — If an update fails to download or install, you’ll now see an error message instead of an infinite loading spinner.
v0.4.2
Bug Fixes
Fixed auto-updater not working — The in-app update mechanism was not functioning correctly. Updates now work as expected.
Fixed long property labels overlapping values — Application properties with long names (e.g. DeadLetterErrorDescription) no longer run into their values in the message detail view.
Improvements
Receive & Lock now opens a popover — Instead of immediately locking all available messages, clicking Receive & Lock now opens a small popover where you can choose how many messages to lock (1, 5, 10, or 25). This prevents accidentally locking an entire queue.