github sockudo/sockudo v3.2.0

latest release: v3.2.1
8 hours ago

What's New

Workspace Restructure

  • Cargo workspace with 12 crates — the monolithic codebase has been restructured into a proper Cargo workspace under crates/, with clear dependency boundaries, per-crate feature flags, and independent compilation. This significantly improves build times for incremental development and makes the architecture easier to navigate.

SNS Queue Driver

  • New sns queue driver — publish-only queue backend that pushes webhook jobs to an AWS SNS topic for fan-out to downstream consumers (SQS queues, Lambda functions, HTTP endpoints). Ideal for architectures where multiple services need to react to the same webhook events. Thanks to @lilfaf for the contribution.

Webhook Improvements

  • Retry with exponential backoff — webhook delivery now retries with exponential backoff (1s, 2s, 4s, ...) for up to 5 minutes on non-2XX responses or network errors, matching the Pusher specification.
  • 3-second disconnect delaychannel_vacated and member_removed webhooks are delayed 3 seconds with a re-check, so momentary disconnects or page navigations don't trigger spurious webhooks.

Performance

  • Reduced lock contention — removed Mutex from Redis cache managers in favor of clone-based concurrency. Reduced global locks across cache, metrics, and queue subsystems.

Bug Fixes

  • Fixed partial cluster channel counts in horizontal scaling
  • Fixed webhook batching and filter handling
  • Fixed Dockerfile for workspace crate structure
  • Replaced deprecated axum_extra::Host with direct header extraction; removed axum-extra dependency
  • Resolved clippy warnings

New Metrics

  • Added process_max_fds metric for monitoring file descriptor limits

App Manager: Delta Compression Persistence

  • All database app managers (MySQL, PostgreSQL, DynamoDB, ScyllaDB) now correctly persist and retrieve the channel_delta_compression field. Previously this field was silently dropped on read, causing delta compression config to be lost when apps were loaded from a database backend.

Documentation

  • Added SNS queue driver documentation
  • Added SNS environment variables and config reference
  • Included docs site in the main repository

Full Changelog: v3.1.0...v3.2.0

Don't miss a new sockudo release

NewReleases is sending notifications on new releases.