Release history
47 releases of CatMQ.
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.7.6...2.8.0
Be sure to check out the NuGet packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Shared/2.7.6
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.7.6
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.7.6
New
- Languages: the web UI is now translated into more than 40 languages.
- Dark mode: a Light / Dark / Auto menu in the top bar.
- Message IDs: every message now gets a unique ID that stays the same when it is redelivered, dead-lettered, or restored after a restart. Subscribers can use it to spot a message they have already handled (MessageId on received messages).
- Linux ARM64 and self-contained builds: Linux packages are now available for both x64 and ARM64, and they include .NET, so there is nothing to install first.
- Deferred delivery through the web API: the enqueue endpoint takes an optional deferSeconds.
Changes
- Web API responses: enqueueing to a missing queue now returns 404 instead of an error. Creating a queue that already exists returns 409, an invalid queue name returns 400, and a successful create returns 201.
- Enqueueing on a stopped server: it now fails with an error instead of looking like it worked.
- Buffered subscriptions: batches are now never larger than the batch size you asked for.
- Charts: they no longer animate on every refresh and pause while the tab is hidden. Lines are smoothed without dipping below zero.
- Validation messages: configuration errors now spell out the real limits and are translated.
Fixes
- A subscribe that the server rejected no longer blocks retrying, so you no longer get “already subscribed” on the retry.
- Reconnect: after a connection drop, clients resubscribe automatically instead of silently going quiet.
- Buffered subscriptions: several fixes:
- with more than one subscription on a client, each now uses its own batch size and timer;
- leftover messages are delivered on disconnect instead of being lost;
- the flush restarts after a reconnect;
- errors in your batch handler are now reported.
- Purging a busy queue could leave a wrong queue depth, or bring back a deferred message that had just been purged.
- Stopping or deleting a queue no longer logs a false error, and no longer risks a crash when a delivery is still in progress.
- Creating a persistent queue that failed to open could be left half-created. It is now cleaned up and an error is returned.
- The queue depth charts line jumped to a different axis on the first refresh, and could be wrong after a failed refresh.
- A missing queue showed zeros instead of an error.
- Looking up a missing queue now returns nothing instead of a blank queue.
- The “No queues” row now spans the full table width.
- The failed-subscriber count was filled in from the wrong field.
- Dependency updates.
Be sure to check out the NuGet packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Shared/2.7.6
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.7.6
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.7.6
- Major UI overhaul.
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.7.0...2.7.1
Introduced an instrumentation system to track and display performance metrics in the Web UI. Added "Expedient" enqueuing for high-performance, fire-and-forget message publishing and renamed standard operations to specify they use confirmation. Dropped .NET 8 support and bumped version to 2.7.0.
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.6.7...2.7.0
- Added "Outstanding" to home page per queue.
- Changed label of "Failures" to "Delivery Failures".
- NuGet package was not changed.
Be sure to check out the NuGet packages
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.6.4
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.6.4
https://www.nuget.org/packages/NTDLS.CatMQ.Shared/2.6.4
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.6.4...2.6.5
- Added system page.
- API standardization.
- Additional config defaults.
- Connection retry fixes for buffered subscribers.
- Extended unit test timeout.
- Statistics smoothing.
Be sure to check out the NuGet packages
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.6.4
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.6.4
https://www.nuget.org/packages/NTDLS.CatMQ.Shared/2.6.4
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.6.2...2.6.4
- Improved concurrency.
Be sure to check out the NuGet packages
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.6.2
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.6.2
https://www.nuget.org/packages/NTDLS.CatMQ.Shared/2.6.2
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.6.1...2.6.2
- Changed all charts to rate/s
- True asynchronous subscriber delivery.
Be sure to check out the NuGet packages
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.6.1
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.6.1
https://www.nuget.org/packages/NTDLS.CatMQ.Shared/2.6.1
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.6.0...2.6.1
- Added internal statistics history monitoring with UI charts.
- Service improvements.
- UI bug fixes (all non-critical).
Be sure to check out the NuGet packages
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.6.0
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.6.0
https://www.nuget.org/packages/NTDLS.CatMQ.Shared/2.6.0
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.5.2...2.6.0
- Fixed UI not showing deferred message delivery count or due time.
Be sure to check out the NuGet packages
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.5.2
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.5.2
https://www.nuget.org/packages/NTDLS.CatMQ.Shared/2.5.2
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.5.1...2.5.2
- Adds async overloads for Enqueue methods to the CMqClient for improved concurrency.
- Renames ConnectAsync to ConnectBackground in CMqClient to better reflect its asynchronous nature.
- Includes methods to create, delete, and purge queues asynchronously and synchronously.
- Introduces EnqueueOptions to allow for configuration of message enqueuing behavior, such as delivery delay and server confirmation timeouts.
- Adds ThrowIfFailed() extension method to all CMq*QueryReply objects for simplified error handling.
- Updates package versions across CatMQ projects to 2.5.1 and updates NTDLS.ReliableMessaging dependency to 3.2.11.
Be sure to check out the NuGet packages
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.5.1
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.5.1
https://www.nuget.org/packages/NTDLS.CatMQ.Shared/2.5.1
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.4.8...2.5.1
- Dependency updates and introduced .net 10 support.
Be sure to check out the NuGet packages
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.4.8
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.4.8
https://www.nuget.org/packages/NTDLS.CatMQ.Shared/2.4.8
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.4.7...2.4.8
- Dependency updates.
Be sure to check out the NuGet packages
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.4.7
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.4.7
https://www.nuget.org/packages/NTDLS.CatMQ.Shared/2.4.7
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.4.6...2.4.7
- Dependency updates.
Be sure to check out the NuGet packages
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.4.6
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.4.6
https://www.nuget.org/packages/NTDLS.CatMQ.Shared/2.4.6
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.4.5...2.4.6
- Unit tests.
- Added GetQueue() to get a single queue from the server.
- Deserialization optimization.
- Switched to Tasks instead of Thread.
- Caching fixes and optimizations.
- Resolved issue with not expiring message when DLQ is not configured.
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.4.4...2.4.5
- Reliable messaging updates.
- Fixes to expiring messages when no DLQ is configured.
- Serializatrion and caching optimizations.
Be sure to check out the NuGet Packages: https://www.nuget.org/packages?q=NTDLS.CatMQ
- ReliableMessaging updates.
Be sure to check out the nuget package: https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.4.2
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.4.1...2.4.2
- Updated reliable messaging library.
Be sure to check out the NuGet client library: https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.4.1
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.4.0...2.4.1
- Swapped in multi-threaded reliable messaging library.
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.3.6...2.4.0
- Updates the project versions across all relevant components.
This change ensures consistency across the client, server, shared library, service, and installer, reflecting the latest release. It also updates the NTDLS.ReliableMessaging dependency to version 2.1.6 across the board.
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.3.5...2.3.6
- Dependency updates.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.3.5
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.3.5
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.3.4...2.3.5
- Resolved issue with disconnect performance.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.3.4
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.3.4
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.3.3...2.3.4
- Fixed possible missed connection cleanup on unexpected disconnect.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.3.3
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.3.3
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.3.2...2.3.3
- Fixed persistent purge.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.3.2
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.3.2
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.3.1...2.3.2
- Dependency updates
- Minor UI formatting fixes.
- Resolved issue with error message display in UI.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.3.1
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.3.1
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.3.0...2.3.1
- Asynchronous message delivery and acknowledgement.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.3.0
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.3.0
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.2.0...2.3.0
- Keys are now binary.
- Queues can be loaded without pre-sorting.
- Additional flow control.
- Memory footprint now only includes in-buffer messages for persistent queues.
- Improved paging.
- Deferment improvements.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.2.0
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.2.0
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.1.5...2.2.0
- Added deferred message delivery.
- Messages can either be enqueued with a future scheduled delivery.
- When a message is received, the subscriber can ask the server to retry in a given timespan.
- Each connection can now only have one subscription per queue.
- Additional delivery response actions: defer, drop, dead-letter, consumed, not-consumed.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.1.5
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.1.5
Full Changelog: https://github.com/NTDLS/CatMQ/compare/2.0.0...2.1.5
- Dependency updates.
- Improved type caching.
- Removed newtonsoft json.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/2.0.0
https://www.nuget.org/packages/NTDLS.CatMQ.Server/2.0.0
Full Changelog: https://github.com/NTDLS/CatMQ/compare/1.0.23...2.0.0
- Dependency updates.
- Format layout fixes.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/1.0.23
https://www.nuget.org/packages/NTDLS.CatMQ.Server/1.0.23
Full Changelog: https://github.com/NTDLS/CatMQ/compare/1.0.22...1.0.23
- Resolved undue dequeue on First Consumed Subscriber delivery scheme.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/1.0.22
https://www.nuget.org/packages/NTDLS.CatMQ.Server/1.0.22
Full Changelog: https://github.com/NTDLS/CatMQ/compare/1.0.21...1.0.22
- Dead-lettering improvements.
- Locking improvements.
Full Changelog: https://github.com/NTDLS/CatMQ/compare/1.0.13...1.0.14
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/1.0.14
https://www.nuget.org/packages/NTDLS.CatMQ.Server/1.0.14
- Added dead-lettering.
Full Changelog: https://github.com/NTDLS/CatMQ/compare/1.0.9...1.0.13
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/1.0.13
https://www.nuget.org/packages/NTDLS.CatMQ.Server/1.0.13
- Now each queue subscriptions have their own event handlers.
- Added optional client-side message buffering. Will lose entire batch on exception.
Full Changelog: https://github.com/NTDLS/CatMQ/compare/1.0.9...1.0.11
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/1.0.11
https://www.nuget.org/packages/NTDLS.CatMQ.Server/1.0.11
- Added unboxed receive event to allow receiving of raw message without deserialization
Full Changelog: https://github.com/NTDLS/CatMQ/compare/1.0.8...1.0.9
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/1.0.9
https://www.nuget.org/packages/NTDLS.CatMQ.Server/1.0.9
- Added delete, purge and unsubscribe to web UI.
Full Changelog: https://github.com/NTDLS/CatMQ/compare/1.0.7...1.0.8
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/1.0.8
https://www.nuget.org/packages/NTDLS.CatMQ.Server/1.0.8
- Enum renames.
- Moved shared library to separate nuget.
Full Changelog: https://github.com/NTDLS/CatMQ/compare/1.0.4...1.0.7
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/1.0.7
https://www.nuget.org/packages/NTDLS.CatMQ.Server/1.0.7
- Dependency updates for net9.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/1.0.4
https://www.nuget.org/packages/NTDLS.CatMQ.Server/1.0.4
Full Changelog: https://github.com/NTDLS/CatMQ/compare/1.0.2...1.0.4
- Account management.
- Addition of WebAPI and API keys.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/1.0.3
https://www.nuget.org/packages/NTDLS.CatMQ.Server/1.0.3
Full Changelog: https://github.com/NTDLS/CatMQ/compare/1.0.2...1.0.3
- Image updates.
- Account editing.
- Config location change.
- Label changes.
- Removed version from payloads.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/1.0.2
https://www.nuget.org/packages/NTDLS.CatMQ.Server/1.0.2
Full Changelog: https://github.com/NTDLS/CatMQ/compare/1.0.1...1.0.2
- Image updates.
Be sure to check out the nuget packages:
https://www.nuget.org/packages/NTDLS.CatMQ.Client/1.0.1
https://www.nuget.org/packages/NTDLS.CatMQ.Server/1.0.1
Full Changelog: https://github.com/NTDLS/CatMQ/compare/1.0.0...1.0.1