Skip to content

v1.1.0

Choose a tag to compare

@wesleyskap wesleyskap released this 06 Jun 21:42
· 15 commits to master since this release

[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).