Releases: iamfarhad/LaravelRabbitMQ
Releases · iamfarhad/LaravelRabbitMQ
1.1.0
Full Changelog: 1.0.2...1.1.0
[1.1.0] - 2025-01-27
🚀 Major Advanced Features Added
Dead Letter Exchange (DLX)
- Automatic DLX Setup: Easy configuration for failed message handling
- Configurable TTL: Message time-to-live settings
- Dead Letter Queues: Automatic creation of DLQ for each queue
- Routing Key Control: Custom routing for dead-lettered messages
- DLX Integration: Seamless integration with existing queues
Advanced Routing System
- ExchangeManager: Comprehensive exchange management and routing
- Topic Exchanges: Pattern-based message routing (e.g.,
user.*.email) - Fanout Exchanges: Broadcast messages to all bound queues
- Headers Exchanges: Route based on message headers
- Exchange Bindings: Flexible queue-to-exchange bindings
Multi-Queue & Multi-Exchange Support
- Queue Configuration: Define multiple queues with different settings
- Exchange Configuration: Configure multiple exchanges with various types
- Lazy Queues: Optimize memory for high-volume queues
- Priority Queues: Support for message and consumer priorities
- Custom Arguments: Full control over queue and exchange arguments
Exponential Backoff Strategy
- ExponentialBackoff: Intelligent retry mechanism with configurable parameters
- Jitter Support: Prevents thundering herd problem with randomized delays
- Configurable Multiplier: Customizable backoff progression
- Max Delay Cap: Prevents excessive wait times
- Execute Helper: Convenient wrapper for retry logic
RPC (Remote Procedure Call)
- RpcClient: Synchronous request-response pattern
- RpcServer: Handle RPC requests with callbacks
- Correlation ID: Automatic request-response matching
- Timeout Control: Configurable timeout for RPC calls
- Reply Queue: Automatic callback queue management
Publisher Confirms
- Reliable Delivery: Broker acknowledgment for published messages
- Confirm Mode: Enable/disable publisher confirms
- Wait for Confirms: Block until messages are confirmed
- Pending Tracking: Track unconfirmed messages
- Timeout Control: Configurable confirmation timeout
Transaction Management
- AMQP Transactions: Full transaction support
- Atomic Operations: Commit/rollback for multiple operations
- Transaction Helper: Convenient transaction wrapper
- Nested Transaction Prevention: Safety checks for transaction state
- Error Handling: Automatic rollback on exceptions
Delayed Messages
- TTL-Based Delay: Built-in delay using message TTL
- Plugin Support: RabbitMQ delayed message exchange plugin
- Flexible Scheduling: Schedule messages for future delivery
- Header-Based Delay: x-delay header support
- Configurable Exchange: Custom delayed exchange names
1.0.2
Full Changelog: 1.0.1...1.0.2
1.0.1
Full Changelog: 1.0.0...1.0.1
1.0.0
What's Changed
- Update phpstan/phpstan requirement from ^1.10 to ^1.10 || ^2.0 by @dependabot[bot] in #7
New Contributors
- @dependabot[bot] made their first contribution in #7
Full Changelog: v0.1.2...1.0.0
v0.1.2
v0.1.1
Full Changelog: v0.1.0...v0.1.1
Added
- Made RabbitMQ
basic_qossettings (prefetch_size, prefetch_count, global) configurable via thequeue.phporRabbitMQConnectionConfig.phpconfiguration file.
Changed
- Updated documentation to reflect the new
basic_qosconfiguration options.
Fixed
- N/A
v0.1.0
Full Changelog: v0.0.14...v0.1.0
- added laravel 12 support
- fix some issues
v0.0.14
Full Changelog: v0.0.13...v0.0.14
v0.0.13
Full Changelog: v0.0.12...v0.0.13
v0.0.12
Full Changelog: v0.0.11...v0.0.12
-- add parallel consume