Skip to content

Releases: wesleyskap/shared_broker

v1.3.0

08 Jun 20:28
691b89d

Choose a tag to compare

What's Changed

  • Hybrid Multi-Adapter Routing to allow publishing and subscribing to different broker adapters (e.g., RabbitMQ, Kafka, Redis, or InMemory) dynamically.
  • Support for exact match and wildcard matching (using File.fnmatch? glob patterns) routing rules, with default fallback adapter.
  • Full backward compatibility with legacy single-adapter initialization.

Full Changelog: v1.2.0...v1.3.0

v1.2.0

07 Jun 12:49

Choose a tag to compare

What's Changed

  • Pipeline of customizable Middlewares (Interceptors) for publishing and subscribing messages.
  • Distributed Tracing using W3C Trace Context (traceparent/tracestate) context injection and extraction.
  • Scalable Adapters:
    • Apache Kafka adapter (SharedBroker::Adapters::Kafka) with dynamic dependency loading.
    • Redis Pub/Sub adapter (SharedBroker::Adapters::Redis) with list-based DLQ routing.
    • Mock test configurations for Kafka and Redis to run adapter unit tests.
  • Restructured README.md to clearly separate minimum required configuration from optional/advanced setups.

Full Changelog: v1.1.0...v1.2.0

v1.1.0

06 Jun 21:42

Choose a tag to compare

[1.1.0]

Added

  • Phase 4: Pipeline of customizable Middlewares (Interceptors) for publishing and subscribing messages.
  • Phase 4: Distributed Tracing using W3C Trace Context (traceparent/tracestate) injection and extraction.

[1.0.0]

Added

  • Phase 1: Fault Tolerance & Resilience features:
    • Exponential backoff retry loop for message processing.
    • Automatic Dead Letter Queue (DLQ) routing with rich metadata headers (x_failed_at, x_exception_class, x_exception_message, x_original_routing_key).
    • Thread-safe CircuitBreaker wrapping all outbound publisher calls.
  • Phase 2: Schema Validation and Security:
    • Outbound/Inbound boundary validation using dry-schema.
    • Transparent AES-256-GCM symmetric payload encryption by default, configurable with SharedBroker.encryption_key.
  • Phase 3: Scalable Adapters:
    • Apache Kafka adapter (SharedBroker::Adapters::Kafka) with dynamic dependency loading.
    • Redis Pub/Sub adapter (SharedBroker::Adapters::Redis) with list-based DLQ routing.
  • Comprehensive test coverage for all the above features using isolated fakes and Minitest.

[0.1.0]

Added

  • Initial release with the pluggable Client messaging system.
  • InMemory adapter for local testing.
  • RabbitMQ adapter using the bunny gem.
  • Basic OpenTelemetry instrumentation utility (SharedBroker::Telemetry).