Releases: wesleyskap/shared_broker
Releases · wesleyskap/shared_broker
v1.3.0
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
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.
- Apache Kafka adapter (
- Restructured
README.mdto clearly separate minimum required configuration from optional/advanced setups.
Full Changelog: v1.1.0...v1.2.0
v1.1.0
[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
CircuitBreakerwrapping 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.
- Outbound/Inbound boundary validation using
- 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.
- Apache Kafka adapter (
- Comprehensive test coverage for all the above features using isolated fakes and Minitest.
[0.1.0]
Added
- Initial release with the pluggable
Clientmessaging system. InMemoryadapter for local testing.RabbitMQadapter using thebunnygem.- Basic OpenTelemetry instrumentation utility (
SharedBroker::Telemetry).