Releases: hivemq/hivemq-mqtt-client-dotnet
v0.36.0: Performance Improvements
What’s Changed
Significant improvements in single message publishing and smaller payload batch operations:
- QoS 1 single message: ~91% faster (6,094.69μs → 551.43μs)
- QoS 2 single message: ~88% faster (8,083.58μs → 1,004.75μs)
- 100x 256b QoS 0 messages: ~36% faster (151.09μs → 97.12μs)
- 100x 256b QoS 1 messages: ~25% faster (26,178.26μs → 19,516.85μs)
- 100x 256b QoS 2 messages: ~16% faster (43,196.69μs → 36,133.97μs)
- 100x 256k QoS 0 messages: ~28% faster (139.16μs → 100.22μs)
- 1k QoS 2 messages: ~6% faster (325,461.87μs → 306,406.35μs)
See all of the results and historical improvements here.
🚀 Features
- Performance: Improve validation path and cached connection properties (#290) @pglombardo
- PacketIDManager: Faster locking using object lock & Interlocked (#289) @pglombardo
⬆️ Dependencies updates
- ⬆️ Bump actions/checkout from 5.0.0 to 6.0.0 (#292) @dependabot[bot]
👥 List of contributors
@dependabot[bot], @pglombardo and dependabot[bot]
NuGet Package
v0.36.0 is available on NuGet:
https://www.nuget.org/packages/HiveMQtt/0.36.0
v0.35.3: Better Packet Encoding, Event patterns & State Checking
What’s Changed
This release includes a bunch of background and client internals improvements in terms of performance, memory/GC pressure and thread safety.
🚀 Features
- Better Packet Encoding with ArrayPool (#288) @pglombardo
- More performant event system pattern (#287) @pglombardo
- Introduce a NotDisconnected signal (#286) @pglombardo
- Better State Checking (#285) @pglombardo
👥 List of contributors
NuGet Package
v0.35.3 is available on NuGet:
https://www.nuget.org/packages/HiveMQtt/0.35.3
v0.35.2: ConnectionState: Add thread safety with atomic updates
What’s Changed
- ConnectionState: Add thread safety with atomic updates (#284) @pglombardo
- Tests: Minimize use of Delay in tests; Use Async handlers instead (#283) @pglombardo
👥 List of contributors
NuGet Package
v0.35.2 is available on NuGet:
https://www.nuget.org/packages/HiveMQtt/0.35.2
v0.35.1: Improved Concurrency & Exception Handling
What’s Changed
🚀 Features
- Health Checks: Use semaphore to synchronize concurrent disconnect attempts (#282) @pglombardo
- ConnectionManager: Better exception handling & logging (#281) @pglombardo
- CancelBackgroundTasksAsync: Gather and use WhenAll. Catch and log exceptions. (#280) @pglombardo
- Disposal Safety Improvements (#279) @pglombardo
👥 List of contributors
NuGet Package
v0.35.1 is available on NuGet:
https://www.nuget.org/packages/HiveMQtt/0.35.1
v0.35.0: WebSocket - Better, Faster Stronger
What’s Changed
All around improvements in the WebSocket Transport, options reliability.
🚀 Features
- WebSocket: Expose transport specific options (#278) @pglombardo
- WebSocket: Better ReadAsync behavior and buffer management (#277) @pglombardo
- WebSocket WriteAsync & Socket Management Improvements (#276) @pglombardo
- WebSocketTransport: Better state detection, error handling & TLS Validations (#275) @pglombardo
👥 List of contributors
NuGet Package
v0.35.0 is available on NuGet:
https://www.nuget.org/packages/HiveMQtt/0.35.0
v0.34.0: Replace Delay with Connection Event Signal
What’s Changed
🚀 Features
- Replace Delay with Connection Event Signal (#272) @pglombardo
- Add more Test Coverage (#274) @pglombardo
👥 List of contributors
NuGet Package
v0.34.0 is available on NuGet:
https://www.nuget.org/packages/HiveMQtt/0.34.0
v0.33.0: Improved Subscription Management
What’s Changed
🚀 Features
- Add new Disposal Example App (#271) @pglombardo
🔧 Fixes & Refactoring
- Better Subscription Management (#273) @pglombardo
👥 List of contributors
NuGet Package
v0.33.0 is available on NuGet:
https://www.nuget.org/packages/HiveMQtt/0.33.0
v0.32.0: Security, Certificates and Better Disposal Behavior
What’s Changed
🚀 Features
- Certificates: don't ignore chain; better logging (#269) @pglombardo
- Security: Docusaurus upgrade (#270) @pglombardo
- Better Disconnect on Disposal (#268) @pglombardo
- Use SecureString to handle certificate credentials (#266) @pglombardo
- Linter: Address & Resolve Linter issues & warnings (#267) @pglombardo
⬆️ Dependencies updates
- Update Documentation dependencies (#265) @pglombardo
👥 List of contributors
NuGet Package
v0.32.0 is available on NuGet:
https://www.nuget.org/packages/HiveMQtt/0.32.0
v0.31.0: ~40% Performance Improvement
What’s Changed
This release includes a refactored PacketID manager that improves performance of the client by an amazing 40%.
See here for the benchmark results.
But for an excerpt:
Performance Improvements from v0.30.0
Significant performance improvements across all benchmarks, with the most notable gains in:
1k QoS 1 messages: ~43% faster (287,802.82μs → 163,134.95μs)
1k QoS 2 messages: ~39% faster (533,574.86μs → 325,461.87μs)
Those number are in microseconds but for milliseconds: 1k QoS2 messages went from 533ms down to 325ms. A very nice gain.
🚀 Features
- Better packet ID management with O(1) allocation and reuse (#264) @pglombardo
👥 List of contributors
NuGet Package
v0.31.0 is available on NuGet:
https://www.nuget.org/packages/HiveMQtt/0.31.0
v0.30.0: Security: Use SecureString for secure password handling
What’s Changed
This release improves the security of the MQTT client by storing user provided credentials securely.
Before this change, credentials could potentially be discovered through heap dumps or process inspection.
🚀 Features
- Security: Use SecureString for secure password handling (#263) @pglombardo
👥 List of contributors
NuGet Package
v0.30.0 is available on NuGet:
https://www.nuget.org/packages/HiveMQtt/0.30.0