Releases: debdevops/servicehub
Release list
ServiceHub v3.2.2 — Multi-Cloud Trace, Security Hardening & Production Readiness
ServiceHub v3.2.2 — Multi-Cloud Trace, Security Hardening & Production Readiness
ServiceHub continues to evolve from an Azure Service Bus debugging utility into a multi-cloud forensic investigation platform for messaging systems.
What’s New in the 3.2.x Series
Multi-Cloud Support
- AWS SQS/SNS investigation experience
- GCP Pub/Sub investigation experience
- Unified debugging workflow across Azure, AWS and GCP
- Cloud-aware navigation and provider badges
Cross-Cloud Message Trace
- Trace a Correlation ID across multiple cloud providers
- Visual routing path
- Timeline-based investigation experience
- Parallel search across namespaces
Security Improvements
- Fixed all known CodeQL log-forging findings
- Hardened logging and telemetry sanitization
- Improved protection against log injection attacks
- Consistent redaction across Azure, AWS and GCP integrations
Reliability & Quality
- 1,045 frontend tests
- 1,362 backend tests
- Coverage maintained above 60%
- CI/CD quality gates improved
Production Readiness
- Multi-tenant namespace ownership fixes
- Remote access improvements
- Azure App Service deployment support
- SEO enhancements
- Operational safety improvements
Upgrade Notes
Users upgrading from earlier 3.x releases should review the README and migration notes before connecting production environments.
Recommended rollout path:
DEV → UAT → PROD
Links
Repository:
https://github.com/debdevops/servicehub
ServiceHub v3.1.0 — Production Release
ServiceHub v3.1.0 — Production Release
Release Date: April 22, 2026
Status: ✅ Ready for Production
Target Deployment: Azure App Service app-servicehub-prod.azurewebsites.net
🎯 What's New in v3.1.0
🔒 Security Enhancements
- Upgraded key derivation: From single-round SHA-256 to HKDF (for 64-char hex keys) / PBKDF2-100k (for other keys)
- Connection string encryption now uses authenticated AES-GCM with proper nonce management
- Breaking Change: Existing encrypted connection strings cannot be decrypted. Users must re-add their Service Bus connections.
🐛 Bug Fixes
- Production Safety: FAB (Floating Action Button) now correctly disables destructive actions (Send, Generate, Dead-Letter) when namespace is tagged as Production
- Logging:
RedactingLogger.IsEnablednow respects configured log levels instead of hardcodingInformation - Multi-tenancy:
ExistsAsyncnow properly scopes namespace uniqueness checks by OwnerId - Error UX: 404 errors on message operations now show user-facing toast notifications instead of silent failures
- SEO: Added
/sitemap.xmlendpoint — fixes robots.txt crawl errors
✨ Changes
.versionbumped to3.1.0(was incorrectly left at2.1.3)- README updated: React version badges now correctly show React 19 (actual runtime)
📊 Quality Metrics
| Metric | Status |
|---|---|
| Backend Tests | ✅ 1,057 / 1,057 passed |
| Frontend Tests | ✅ 960 / 960 passed (72 files) |
| Code Coverage | ✅ Lines 70.3%, Branches 62.1% (>60% gate) |
| Security Audit | ✅ 0 npm vulnerabilities |
| .NET Build | ✅ 0 warnings, 0 errors |
| TypeScript Check | ✅ No type errors |
🚀 Tech Stack
- Backend: ASP.NET Core 10 / .NET 10
- Frontend: React 19.2.4 + TypeScript 5.9.3 + Vite 6
- Data: SQLite (DLQ Intelligence) + Service Bus SDK 7.20.1
- Auth: HMAC-SHA256 SPA tokens + API key scopes
- Deployment: Azure App Service (Linux runtime)
🔗 Related Links
- CHANGELOG — Full detailed changelog
- README — Feature overview & setup guide
- Architecture — Technical architecture
- Deployment Guide — Azure setup instructions
If you're upgrading from v3.0.x, the encryption key derivation algorithm has changed. Back up your connection strings before upgrading, then re-add them in ServiceHub after the update.
v3.0.2
What's Changed
Bug Fixes
- Toast spam fix: Silence background polling toasts when Service Bus is unavailable (
_silentflag on axios requests) - Landing page: Root
/now redirects to/connectinstead of/messages— users are no longer confused by empty messages page on first visit - Sidebar: Shows inline "Connection unavailable" message instead of error toasts when Service Bus is down
- No retry on 500+: Background polls stop retrying on server errors to prevent toast avalanche
- Version metadata:
AssemblyVersionandInformationalVersioncorrectly report 3.0.2 - SPA bundle: Rebuilt wwwroot with correct bundle hash
Testing
- 51/51 API endpoints verified on production E2E
- Dead-SB error scenario: graceful degradation confirmed (RFC 7807 errors, no crashes)
- 743 frontend + 825 backend unit tests passing
Full Changelog: v3.0.1...v3.0.2
v3.0.1
v3.0.1 — Fix Intermittent Unauthorized Error
Fixed
- Intermittent "Unauthorized" toast in production caused by SPA token expiry and multi-instance key mismatch
- Extended SPA token lifetime from 30 minutes to 2 hours
- Added retry with exponential backoff (3 attempts) to SPA token refresh
- Allowed up to 2 refresh+retry cycles on 401 instead of 1
- Added proactive background token refresh every 90 minutes
- Improved error message: "Session expired. Please refresh the page."
Files Changed
services/api/src/ServiceHub.Api/Security/SpaTokenProvider.cs— token lifetimeapps/web/src/lib/api/client.ts— retry logic, proactive refresh, error messageCHANGELOG.md,package.json,ServiceHub.Api.csproj— version bump
ServiceHub v3.0.0
What's New in v3.0.0
Fixed
- ServiceBusAdministrationClient: switched to connection-string-based constructor — resolves authentication failures when using SAS connection strings
- RateLimitingMiddleware: resolved DI registration failure on .NET 10
Changed
- Unified version 3.0.0 across all components:
- API (
.NET 10,ServiceHub.Api) - Web (
React 18 + Vite,servicehub-web)
- API (
- Tightened log sanitisation in
ServiceBusClientWrapperforentityNameandqueueName
Full Changelog
See CHANGELOG.md for the complete history.
ServiceHub v2.0.1 — DLQ Intelligence & Auto-Replay Engine
🚀 What's New in v2.0.1
ServiceHub v2.0 is a major upgrade that transforms dead-letter queue management
from manual investigation into an intelligent, automated workflow.
🎯 DLQ Intelligence System
Persistent tracking of every dead-letter message with auto-categorization,
timeline history, instant scanning, and JSON/CSV export.
- Auto-categorizes failures: Transient, MaxDelivery, Expired, DataQuality,
Authorization, ProcessingError - "Scan Now" button for immediate DLQ polling (bypasses 10s schedule)
- Full replay audit trail with timestamps and outcomes
- SQLite database — no external dependencies
⚡ Auto-Replay Rules Engine
Define conditional rules that match DLQ messages and replay them automatically.
- Match by: reason, error description, body text, custom properties, delivery count
- Live statistics: Pending / Replayed / Success counts updated every 10s
- "Test" button previews matched messages before any replay executes
- Rate limiting: max replays/hour to protect downstream services
🔄 Batch Replay All
Replay every matching DLQ message with one click.
- O(N) batch processing — single receiver per entity (not per message)
- Performance: 7 messages across 2 subscriptions = 9 seconds (was 30s+)
- Safety confirmation dialog with 3 explicit warnings
- Cancel button auto-focused (safer default)
🐛 Bug Fixes
- Fixed O(N²) DLQ receiver leak causing 30s+ timeouts
- Fixed entity name extraction for
topic/subscriptions/subpaths - Extended Axios timeout to 120s for batch replay operations
⚡ Performance
- DLQ polling: 60s → 10s (6x faster detection)
- Rules UI refresh: 30s → 10s (live pending count updates)
- App startup: 15s → 5s (3x faster first detection)
🎨 UI Enhancements
- Improved message row visual hierarchy (screenshot 26)
- Better property visibility and spacing
- Optimized for long debugging sessions
📸 Screenshots
See the docs/screenshots folder — screenshots 26–35 cover all new features.
🚀 Quick Start
git clone https://github.com/debdevops/servicehub.git
cd servicehub
./run.shOpen http://localhost:3000 — no manual prerequisites needed.
📋 Requirements
- Azure Service Bus connection string (Listen permission only)
- macOS, Ubuntu/Debian, RHEL/Fedora, Arch, Alpine, or Windows WSL
📖 Documentation
- README — Full feature guide
- CHANGELOG — Detailed version history
- Comprehensive Guide