Changelog
View SourceAll notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.0.0] - 2025-12-04
Added
- Initial release of BullMQ for Elixir
- Core queue functionality (
BullMQ.Queue)- Add jobs with
add/3andadd_bulk/3 - Pause and resume queues
- Get job by ID
- Drain and obliterate queues
- Add jobs with
- Worker implementation (
BullMQ.Worker)- Configurable concurrency
- Automatic lock renewal
- Graceful shutdown
- Rate limiting support
- Job features (
BullMQ.Job)- Priority queues
- Delayed jobs
- Automatic retries with backoff
- Progress tracking
- Custom job IDs
- Backoff strategies (
BullMQ.Backoff)- Fixed backoff
- Exponential backoff
- Custom backoff functions
- Jitter support
- Rate limiting (
BullMQ.RateLimiter)- Queue-level rate limits
- Group-based rate limits
- Manual rate limit triggering
- Job scheduling (
BullMQ.JobScheduler)- Cron-based scheduling
- Interval-based scheduling
- Scheduler management (upsert, remove, list)
- Flow producer (
BullMQ.FlowProducer)- Parent-child job dependencies
- Nested flows
- Bulk flow creation
- Stalled job detection (
BullMQ.StalledChecker)- Automatic recovery
- Configurable stall limits
- Event streaming (
BullMQ.QueueEvents)- Real-time job lifecycle events
- Event filtering
- Telemetry integration (
BullMQ.Telemetry)- Job lifecycle events
- Worker events
- Rate limit events
- Span-based tracing
- Configuration validation (
BullMQ.Config)- NimbleOptions-based schemas
- Queue, worker, and connection validation
- Redis key management (
BullMQ.Keys)- Consistent key naming
- Configurable prefix
- Lua script execution (
BullMQ.Scripts)- Atomic operations
- SHA caching
- Fallback to EVAL
- Redis connection pooling (
BullMQ.RedisConnection)- NimblePool-based pooling
- Configurable pool size
- Comprehensive documentation
- Getting started guide
- Job options reference
- Worker configuration
- Rate limiting guide
- Flow patterns
- Telemetry setup
- Test suite
- Unit tests for all modules
- Integration tests (requires Redis)
Compatibility
- Compatible with Node.js BullMQ v5.x
- Requires Elixir 1.15+
- Requires Erlang/OTP 26+
- Requires Redis 6.0+