8.0.0-rc.27 (2025-01-09)
- fix broken CHANGELOG.md for v8.0.0-rc.26 (a20b40e)
8.0.0-rc.26 (2025-01-09)
- update API reference (b7d0f6f)
- use queue-scoped workers instead of global ones (ada94e0)
8.0.0-rc.25 (2024-07-07)
- add a link to redis-smq-rest-api (a1ab6fc)
- make redis-smq-common a peer dependency (3b7dbab)
8.0.0-rc.24 (2024-05-15)
- namespace: replace generic error in getNamespaceQueues() (aa9c8e5)
- queue-rate-limit: always validate queue existence (538cf78)
- add new error classes reference (6c39625)
- queue-rate-limit: move QueueRateLimit.set() logic to LUA (d104a9c)
- queue: return the original error instance (14228ec)
8.0.0-rc.23 (2024-05-10)
- use namespaced errors (637096b)
- validate queue delivery model before adding consumer groups (eebcae7)
- use QueueMessagesConsumerGroupIdRequiredError class (efb9821)
8.0.0-rc.22 (2024-05-04)
- use more granular error classes for reporting errors (2cc06c1)
- exchange: use more granular error classes for reporting errors (3b3e640)
- add missing error classes (e16ffea)
8.0.0-rc.21 (2024-04-29)
- message: correct logic for deleting multiple messages by IDs (fdb39d6)
- optimize imports (29a0efb)
- remove unused error classes and clean up (15bd959)
- shorten imports (3bfb8f1)
- increase code coverage (e9d84e8)
8.0.0-rc.20 (2024-03-24)
- include missing enums when exporting esm/cjs modules (2ee6802)
8.0.0-rc.19 (2024-03-24)
- fix incorrect generated anchor texts (c4f523f)
8.0.0-rc.18 (2024-03-24)
- rebase on redis-smq-common@3.0.0-rc.14
- update documentation and API reference (3baaee6)
8.0.0-rc.17 (2024-01-30)
- add missing error classes (753331e)
- simplify and unify class/method naming and referencing (0299b31)
- improve MessageHandler error handling (957d257)
8.0.0-rc.16 (2024-01-28)
- allow running/sandboxing message handlers using worker threads (53095bd)
- export message handler errors (26d2689)
- ConsumeMessageWorker: update docs and clean up (140322e)
- fix broken links (aad9010)
- update messages and queues documentation (7c3d06e)
- ConsumeMessageWorker: improve typings (66c6ca9)
- allow running/sandboxing message handlers using worker threads (79e6886)
8.0.0-rc.15 (2024-01-25)
- add Pub/Sub delivery model, refactor and clean up (47affa1)
- add a notification about the latest release, clean up (904f196)
- add Pub/Sub delivery model, refactor and clean up (32db9dd)
- clean up (c7d13a6)
8.0.0-rc.14 (2024-01-03)
- add new diagrams and update existing ones (f5182b1)
- event-listeners: add a link to IRedisSMQConfig interface (a7635c5)
- scale down diagrams (c3b37e4)
- update exchange diagrams (9dc05d6)
- event-listeners: clean up (d9195e4)
- exchanges: improve typings (97665fe)
- message: handle various errors when deleting a message (a4505ae)
- message: handle various errors when deleting a message (ecf301b)
8.0.0-rc.13 (2023-12-23)
- event-listeners: unify consumer/producer event listeners
- event-listeners: update documentation (71100d3)
- event-listeners: unify consumer/producer event listeners (9e1a181)
- event-listeners: unify consumer/producer event listeners (2d14a07)
8.0.0-rc.12 (2023-12-18)
- update logo (9bd373e)
8.0.0-rc.11 (2023-12-18)
- IConsumableMessage: clean up (5b5ce3a)
- ConsumableMessage: increase code coverage (3960c6e)
8.0.0-rc.10 (2023-12-17)
- add ProducibleMessage/ConsumableMessage/MessageEnvelope
- add ProducibleMessage/ConsumableMessage/MessageEnvelope (4a3eec7)
- add ProducibleMessage/ConsumableMessage/MessageEnvelope (55aa68e)
- QueueMessages: fix outdated class reference (e6ae499)
- update examples (bbccf7c)
- add ProducibleMessage/ConsumableMessage/MessageEnvelope (2961a22)
- update health-check (81edb25)
8.0.0-rc.9 (2023-12-11)
- update documentation (85d6adb)
- MessageEnvelope: improve setPriority/getPriority typings (91c44f0)
- MessageEnvelope: improve setPriority/getPriority typings (20fd6e5)
8.0.0-rc.8 (2023-12-11)
- Message: remove Message.MessagePriority, add EMessagePriority
- QueueMessages: move message methods to Message,add MessageEnvelope
- Message: add getMessageStatus() method (fda81fa)
- Message: export missing error classes (29e8817)
- update documentation and examples (8efb082)
- Message: remove Message.MessagePriority, add EMessagePriority (702a01d)
- QueueMessages: move message methods to Message,add MessageEnvelope (f71f0d0)
- Message: add getMessageStatus() method (76e97c4)
- Message: remove Message.MessagePriority, add EMessagePriority (88a1368)
- QueueMessages: move message methods to Message,add MessageEnvelope (932a88e)
8.0.0-rc.7 (2023-12-09)
- QueueMessages: remove redundant method deleteMessage()
- QueueMessages: remove redundant method deleteMessage() (cdeb454)
- QueueMessages: remove redundant method deleteMessage() (af21dff)
- QueueMessages: remove redundant method deleteMessage() (dfa3792)
8.0.0-rc.6 (2023-12-09)
- QueueMessages: rename deleteMessagesById to deleteMessageById
- QueueMessages: rename deleteMessagesById to deleteMessageById (81cfb72)
- QueueMessages: rename deleteMessagesById to deleteMessageById (b3baf71)
8.0.0-rc.5 (2023-12-03)
- clean up (2d7c004)
- improve typings (c86bb53)
8.0.0-rc.4 (2023-12-02)
- clean up outdated examples (dd1c68b)
- move redis-smq-common from dev-deps to deps (675880d)
8.0.0-rc.3 (2023-12-02)
- scheduler: handle unacked messages with retry delay correctly (a97b145)
- message: add new test cases covering message status (9eec7e9)
8.0.0-rc.2 (2023-11-27)
- events: use typed events, remove legacy events
- add message status, return message IDs for produced messages
- add message status, return message IDs for produced messages (56566bf)
- events: use typed events, remove legacy events (5f5a34f)
- README.md: update features description (4ac300e)
- update configuration.md (83ce680)
- use typed events, remove legacy events (7c899f8)
- add message status, return message IDs for produced messages (8e3c228)
- use typed events, remove legacy events (5d85cb0)
8.0.0-rc.1 (2023-11-21)
- pass keyQueueMessages as a key for SCHEDULE_MESSAGE script (f9f69b3)
- fix unpredictable error throwing when deleting a namespace (4126670)
- update lint-staged configuration (9543401)
8.0.0-rc.0 (2023-11-20)
- use latest redis-smq-common release, fix breaking changes
- allow to track a published message by its ID (5f702d2)
- exchange: fix json argument typings for _fromJSON() (55bf8cc)
- add missing error classes reference, clean up (106b6d0)
- api: improve IQueueProperties description (4ffeee3)
- fix empty links (dfc4ae9)
- fix javascript/typescript examples (4cb2eb1)
- queue: update IQueueProperties interface reference (631f239)
- README.md: add pre-release notice (458fc57)
- README.md: fix typo (3abf1e2)
- README.md: update minimal supported Redis version (2c3ea00)
- README: fix heading hierarchy (6dc0bd5)
- update docs (188679e)
- update examples (ac4b0b5)
- queue: use friendly keys for queue properties object (9e88f54)
- use latest redis-smq-common release, fix breaking changes (e347d4d)
- fix breaking changes from latest redis-smq-common (30a6099)
- fix QueueMessageNotFoundError checking (6053cee)
- fix tests (561f0d0)
- add npm scripts (34b4883)
- bump up redis-smq-common to v3.0.0-rc.6 (f177b95)
- bump up type-coverage to v2.27.0 (5140727)
- fix incorrect imports (ba82774)
- update both .gitignore and .npmignore files (3e84387)
- update package-lock.json (77c761a)
- update project copyright annotation (4080ac0)
- drop support for redis server 2.8 and 3 (9ef8ade)
- update minimal supported versions for nodejs and redis (13b3197)
- test(consumer-heartbeat): update tests (4332153)
- refactor(consumer-heartbeat): clean up and improve API (20fc1b1)
- test(workers): update tests (c22f1bb)
- perf(workers): use offset/count for schedule and watchdog workers (e78ecdb)
- build: bump up redis-smq-common to v2.0.0 (c90050d)
- build: clean up (61851a9)
- build: update deps (e362d7c)
- fix: use path.resolve() to fix 'no such file or directory' error (b713fbe)
- build: bump up redis-smq-common to v1.0.6 (fc25b15)
- build: fix NPM vulnerability warnings (e2ca247)
- build: bump up redis-smq-common to v1.0.5 (cc08fe7)
- docs(readme): update documentation (3713643)
- refactor(message-state): improve getSetExpired() logic (bb6f262)
- test(queue): test settings parsing compatibility with v7.1 (0656217)
- refactor(queue): move out settings parsing logic from getSettings() (cf4ba86)
- fix(queue): Keep compatibility with v7.1 queue settings schema (d49735e)
- docs(queue-manager): update queue.getSettings() reference (09214a4)
- chore: update license (6016483)
- docs(queues): improve documentation (494a0ce)
- docs(queue-manager): update docs (77d2e64)
- fix(examples): use save() method to create queues (9026923)
- test(queue-manager): test FIFO queues (b97dc4d)
- refactor(queue-manager): clean up (7f2d693)
- refactor(message-manager): refactor and clean up (4f55431)
- feat(queue-manager): allow to create and use FIFO queues (853a29b)
- docs(message-manager): update scheduled messages API reference (7fa3d23)
- test(FanOutExchangeManager): test binding queues of different types (d2e287c)
- fix(FanOutExchangeManager): forbid binding queues of different types (0df6bdc)
- fix(FanOutExchangeManager): fix unbindQueue() transaction handling (dec63de)
- fix(FanOutExchangeManager): fix bindQueue() transaction handling (afbdde6)
- docs(queues): fix typos (08f29c0)
- docs(queues): add queues.md reference, clean up (3219eb8)
- docs: improve documentation, add missing links (c740e11)
- docs(message-exchanges): update docs (19d7dd3)
- docs: update README (63b2fe6)
- docs: update README.md (8734e49)
- build: update npm dependencies (4225c50)
- test(FanOutExchangeManager): increase code coverage (df4c693)
- refactor(FanOutExchangeManager): improve unbindQueue() logic (c1440a5)
- docs: update docs (508430f)
- fix: fix typing error (05c1575)
- test: increase code coverage (c4ba4f3)
- refactor: rename saveExchange() to createExchange() (995ca03)
- refactor: improve TQueueSettings typing (413f4d3)
- refactor: bump up redis keys version (3389216)
- refactor: add EQueueSettingType, remove KEY_QUEUE_SETTINGS_* keys (600199c)
- refactor(queue-manager): update queue.create() reply payload (f3a12d1)
- feat(FanOutExchangeManager): add saveExchange(), deleteExchange() (1ce22cc)
- refactor(redis-keys): clean up validateRedisKey() (e921540)
- fix(FanOutExchange): fix bindingParams validation (327d045)
- test(exchange): increase code coverage (f5f5d95)
- feat(exchange): allow retrieving fanout exchange list (8a96b17)
- refactor(exchange): improve exchange tag naming (a089738)
- refactor(message): improve message.exchange typing (9ce281a)
- refactor(queue-manager): clean up (ce5ab8e)
- docs(message): update MessageMetadata references (5041a85)
- test(message): update MessageMetadata references (9888918)
- refactor(message): rename MessageMetadata to MessageState, clean up (2de18b4)
- docs(exchange): improve documentation (718a80a)
- docs(producer): update docs (1965a75)
- docs(exchange): fix typos (93b4c8e)
- test(exchange): test exchanges with unmatched queues (d836eab)
- fix(exchange): return an error for exchanges with unmatched queues (e89ce06)
- docs(message): add missing method references (c723ec2)
- docs(exchange): update docs (1dc02a4)
- refactor(exchange): rename FanOutExchangeManager methods (f981241)
- docs(exchange): add FanOutExchangeManager reference (9cecc89)
- test(exchange): update fanout-exchange tests (be75519)
- feat(exchange): add FanOutExchangeManager (f8168a4)
- refactor(exchange): rename files (fd9d906)
- build: update workflow names (7b1b545)
- docs(readme): display the status of codeql.yml workflow (94eb97a)
- perf(redis-keys): fix inefficient regex complexity (dcb4f1f)
- build: set up code scanning (be0dd02)
- docs(exchange): update message-exchanges.md (49436af)
- test(exchange): fix test errors (f3aa786)
- docs(exchange): fix typos (a62a732)
- fix(redis-keys): enforce a redis key to start with a letter (a-z) (ecb7493)
- docs(exchange): update docs (wip) (6d3eaee)
- fix(exchange): export DirectExchange/TopicExchange/FanOutExchange classes (c070f3c)
- test(exchange): increase code coverage (063582c)
- refactor(exchange): add and use InvalidExchangeDataError (482e093)
- docs(readme): add reference to current release documentation (747e4e3)
- docs(producer): update producer.produce() parameters (938976e)
- fix: fix various typings issues (9c51445)
- chore: update examples (3628813)
- refactor: update tests (1456c5a)
- test(exchange): test fanout and topic exchanges (54c081b)
- feat(queue-manager): allow to bind/unbind a queue to an exchange (cd91109)
- refactor(exchange): remove code redundancies and clean up (2dc2cba)
- chore: bump up redis-smq-common to v1.0.4 (5181ad7)
- feat(exchange): implement missing methods of TopicExchange class (e2119b5)
- feat(redis-keys): allow redis keys to include a dot (92b8b05)
- perf(queue-manager): use sscan instead of smembers (8f491f4)
- feat(exchange): implement direct, fanout, and topic exchanges (1617e9b)
- chore: bump up redis-smq-common to 1.0.3 (d7f4aba)
- chore: clean up (ee88201)
- Bump up redis-smq-common to v1.0.2 (ff385ad)
- Update docs (3871e8f)
- Improve consumer/producer shutdown handling (36278ce)
- Update docs (51dfd16)
- Update examples (208934b)
- Fix tests (573e340)
- Add and use ProducerNotRunningError error class (e89facd)
- Fix a potential MaxListenersExceededWarning exception throwing (011a21b)
- Make producers to be run manually before producing messages (c989449)
- Remove code redundancies (55eec79)
- Update event listeners docs (e308848)
- Refactor IEventListener interface, clean up (14dbf30)
- Fix dev dependencies (e42d072)
- Update installation info (12c6170)
- Make redis-smq-common as a peer dependency (ade08af)
- Fix consuming-messages/test00012 (4c9dfb8)
- Bump up redis-smq-common to v1.0.1 (e3fbb10)
- Bump up typescript to v4.7.4 (0f69254)
- Fix npm vulnerability warnings (9925be0)
- Clean up examples (72ea0fb)
- Update migrating.md (9065d5f)
- Update README.md (4cfb653)
- Fix typing issue (cd8bf6a)
- Bump up redis-smq-common to v1.0.0 (02c353d)
- Update callback vs promise vs async/await benchmarks (6fca49c)
- Update README.md (7fbdcbf)
- Update docs (96a45e7)
- Test consumers/producers event listeners (856e12d)
- Implement consumers/producers event listeners (6f5d603)
- Update redis keys prefix (a6ca852)
- Use codecov instead of coveralls (d8b5f83)
- Improve consuming-messages/test00013 (5cd823c)
- Improve consuming-messages/test00010 (a9a4f47)
- Test WatchdogWorker (73fbe9a)
- Clean up (aa9a51a)
- Improve unacknowleged messages handling, refactor (005c6a0)
- Fix outdated javascript examples (e31f89c)
- Keep a clean directory structure (642739f)
- Update README.md (5c011e3)
- Clean up tests (10ebb77)
- Bump up redis-smq-common to v1.0.0-rc.11 (43717f0)
- Bump up redis-smq-common to v1.0.0-rc.10 (e025525)
- Update docs (738d9d0)
- Update README.md (fef27c1)
- Support node-redis v4 (c7a91b1)
- Drop support for node.js v12 (0b5a4e9)
- Fix outdated documentation (d3bf31b)
- Fix broken link (fd48c86)
- Update migration/configuration/message/message-manager references (6d53877)
- Update docs (df2eddb)
- Bump up redis-smq-common to v1.0.0-rc.3, refactor (0508c75)
- Bump up redis-smq-common to v1.0.0-rc.2 (f38d757)
- Remove singletons, use instance based configuration (65f28ec)
- Fix 'fsevents not accessible from jest-haste-map' error (1cbc786)
- Use shared components from redis-smq-common (2abfb98)
- Reorganize codebase folders (cdf25fa)
- Clean up redis-keys.ts (c6b8af8)
- Add PluginRegistrationNotAllowedError error, clean up (aa003a1)
- Update tests (0950706)
- Implement a plugging system for using the web-ui as an extension (e2b0cca)
- Fix tests (ca01d66)
- Reorganize codebase files (2cef191)
- Remove the web ui from codebase, clean up (ffe03c9)
- Update http-api.md (4023dc5)
- Fix typo (8002616)
- Update docs (d40b1c2)
- Update misc scripts (bde5171)
- Clean up WebsocketRateStreamWorker, use incremental timestamp (918fac0)
- Update docs (41ee4bf)
- Fix consuming-messages/test00015 test (8b3072a)
- Clean up and simplify the consumer.consume() callback argument (bd98b65)
- Update docs (9ede0f6)
- Update tests (b1772aa)
- Refactor configuration object (2ebe1ba)
- Make QueueManager constructor private (c55cdad)
- Update redisKeys version (add3e8d)
- Update scheduling-messages.md (4b2bb2d)
- Update multiplexing.md (f36f712)
- Update LICENSE (2ef31db)
- Update multiplexing.md (62c575e)
- Add v7 migration guide (48e325e)
- Add error codes for message publishing/scheduling failures (e89308d)
- Update examples (564ffe6)
- Update docs (e8d80c2)
- Bump up redis-smq-monitor to v7.0.0-rc.0 (059e0fd)
- Update docs (5810361)
- Fix http-api/test00001 test (a2f257c)
- Update docs (117955a)
- Update tests (ba83f0b)
- Improve QueueManager methods naming (b1c5237)
- Clean up (f57f237)
- Fix pending messages related data in websocket streams (bbd99cb)
- Clean up (5ae08f8)
- Update examples (e3990a9)
- Update tests (86d58e4)
- Unify pending messages API for both LIFO and Priority messages (ffdbfd1)
- Fix tests (f00ea26)
- Fix queue creation, handle properly queue settings (ec00907)
- Clean up Queue class (afce21f)
- Update tests (3bc9fd4)
- Clean up QueueManager (852633d)
- Validate the message queue before scheduling a message (9c70c0c)
- Refactor MessageManager API, clean up (0df67f3)
- Fix various tests errors due to incompatible APIs (bea78a6)
- Refactor Producer/Consumer/QueueManager APIs (3f0574a)
- Refactor consumer class, update consumer.consume() signature (618172c)
- Expect the number messages to be at greater than 6 (02ea402)
- Improve consuming-messages/test00031 (3605512)
- Clean up (3660ba3)
- Bump up redis-smq-monitor to v6.5.7 (05d004a)
- Fix consuming-messages/test00014 (8a1b7b9)
- Merge branch 'lock-manager' (c1edcb2)
- Throw an error when a lock could not be acquired or extended (5ff1fca)
- Refactor LockManager to allow auto extending locks (efbbe35)
- Test expired locks (367660e)
- Do not throw an exception and try to acquire again an expired lock (b7f7d36)
- Bump up redis-smq-monitor to v6.5.6 (c31cd2e)
- Fix NPM security vulnerabilities (3900ddf)
- Clean up monitor-server services (954d856)
- Fix fsevents not accessible from jest-haste-map (482cb11)
- Fix broken url in the Web UI docs (02e08d7)
- Update Web UI docs (ed63186)
- Bump up redis-smq-monitor to v6.5.5 (3179f85)
- Test monitor.basePath configuration (00c680d)
- Support basePath when running web ui from behind a reverse proxy (ea17ffe)
- Fix typos (a5db76a)
- Update docs (3ad938a)
- Use colons instead of dots for joining Redis key segments (75dbcb6)
- Continue testing consumer message multiplexing (17c9659)
- Improve multiplexing delay when dequeuing messages (a635c8a)
- Remove deprecated consumer.cancel(queue,priority,cb), add new tests (4a2d458)
- Fix test errors, clean up (09feb9c)
- Prefer method definition over arrow function property (5d7e664)
- Implement MultiplexedMessageHandlerRunner (6980cbf)
- Refactor MessageHandler to allow more modular structures (b079244)
- Clean up (2837cc6)
- Implement MessageHandlerRunner (cfba094)
- Update Consumer API docs (8580f4a)
- Do not consume messages with and without priority from the same queue (84130bf)
- Use default parameters when creating a Ticker instance (db9feb0)
- Update consumer queue list upon shutting down a message handler (14519e2)
- Fix consuming-messages/test00015 error (c5c365a)
- Bump up redis-smq-monitor to v6.5.3 (4e845d0)
- Remove gracefully a message handler (a4402b7)
- Add MessageHandlerAlreadyExistsError custom error (65882ed)
- Fix a queue rate limiting bug allowing to save invalid Redis keys (1dc91aa)
- Bump up redis-smq-monitor to v6.5.2 (e192db0)
- Update docs (5a6469e)
- Remove unused code (475fa3d)
- Bump up redis-smq-monitor to v6.5.1 (c543c55)
- Improve consumer message rate time series handling (7d51bb3)
- Update docs (ef21b39)
- Allow configuring queue rate limiting from the HTTP API (ec2bc52)
- Test message consumption rate limiting (62e5b1f)
- Implement message consumption rate limiting (1c87ec0)
- Allow configuring which messages to store with extended parameters (7bd37a1)
- Fix missing type definition for koa-bodyparser (4b8a11e)
- Increase code coverage (ec839a1)
- Update architecture overview diagram (e8f77a8)
- Improve offline consumers handling & message recovery strategy (4072939)
- Fix typos and update README.md (b73bd37)
- Update docs (78fef2e)
- Clean up WorkerPool class (b4dae38)
- Bump up redis-smq-monitor version to 6.4.0 (71ceb45)
- Implement TimeSeriesWorker (a5c404e)
- When deleting a namespace throw an error if it does not exist (28d0be0)
- Fix schedule-message.lua parameters (15708c4)
- Allow managing namespaces, update HTTP API, test (b0c265c)
- Rename setScheduledPeriod() to setScheduledRepeatPeriod() (d6e3376)
- Improve Redis keys handling (d9c50f3)
- Improve LUA scripts parameters handling (5aaa893)
- Remove redundant call to this.getMainKeys() (f3b1f1f)
- Update docs (31c81ca)
- Fix tests/purging-queues/test00007 (88e1d3a)
- Update pre-push hook (8594e6a)
- Clean up (63ca899)
- Fix broken pre-release v6.0.0-rc.10 due to missing dependency (9739115)
- Improve locking mechanisms, remove redlock package, refactor (8f5d9b2)
- Continue Message class refactoring, update docs and examples (d25f370)
- Fix consuming-messages/test00006 test errors, refactor Message class (efa1163)
- Fix at-most-once message delivery (eb4e6fa)
- Update tests (6f9d07e)
- Bump up redis-smq-monitor to v6.3.0 (ec518fc)
- Update time series data only when message rate > 0 (748bc7f)
- Remove dependency on async package and clean up (76698b2)
- Use worker pool for system workers and monitor-server workers (8bee7ec)
- Test producing duplicate messages (a260fd7)
- Remove redundant code related to message.isSchedulable() (34f25cc)
- Update Redis keys prefix (0914c99)
- Forbid producing a message more than once, introduce MessageMetadata (eebab36)
- Check object reference equality before clearing singleton instance (88e35ad)
- Improve namespaced logger (9acf9e9)
- Support external loggers, use system-wide config, refactor codebase (eaf9c14)
- Make storing acknowledged & dead-lettered messages optional (96b8be3)
- Fix typos and update readme (21b2e9a)
- Update migration guide (545932a)
- Test multi-queue consumer, update docs (70209a0)
- Fix ticker waitlock issue (fca5bd1)
- Handle gracefully run/shutdown call errors, fix test errors, clean up (779c562)
- Clean up (4dc6ce5)
- Update examples (38064d0)
- Implement multi-queue consumers, refactor and clean up (9c2fefb)
- Fix typo in README.md (e0ca944)
- Update package.json keywords (e84d4cf)
- Remove extra spacing in message-manager.md (b87ac3d)
- Update QueueManager API reference (832b090)
- Move purge operations to handlers (5345dc3)
- Rename and move purgePendingMessagesWithPriority to MessageManager (e959d7b)
- Rename and move purgePendingMessages to MessageManager (3804122)
- Rename and move purgeScheduledMessages to MessageManager (78ba9ac)
- Rename and move purgeAcknowledgedMessages to MessageManager (febcd9c)
- Rename and move purgeDeadLetteredMessages to MessageManager (cf07797)
- Update message-manager.md (8b5fec1)
- Rename requeueMessageFromDLQueue to requeueDeadLetteredMessage (2d4df08)
- Rename requeueMessageFromAcknowledgedQueue to requeueAcknowledgedMessage (59f446e)
- Rename deleteDeadLetterMessage to deleteDeadLetteredMessage (f99dd09)
- Rename getDeadLetterMessages to getDeadLetteredMessages (3172c20)
- Update migration guide (837da04)
- Bump up redis-smq-monitor to v6.1.0 (83107be)
- Update README.md (0ce39bd)
- Make Producer stateless, drop MultiQueueProducer, refactor, clean up (7597762)
- Fix a possible EventEmitter memory leak in WorkerRunner (4d3a066)
- Fix MultiQueueProducer bug with queueName not being validated, test (c4cbc7d)
- Bump redis-smq-monitor to v6.1.0 (930aa95)
- Improve error message (443794b)
- Make MultiQueueProducer publish a message as a single atomic operation (19cfb2f)
- Always invoke setUpMessageQueue() when publishing a message (502a4cb)
- Test scheduled messages publication when dst queue is deleted (41055f9)
- Make sure scheduled messages aren't published if dst queue is deleted (cda411a)
- Fix a typo (af5c310)
- Fix delete queue validation bug causing request to hang forever (c14488a)
- Update typescript/javascript examples (f595bb1)
- Update queue-manager.md (461ae0b)
- Update HTTP API endpoints documentation (5da7777)
- Improve HTTP API error handling (c90473a)
- Allow to delete a message queue from HTTP API, test, update docs (a3087a2)
- Fix husky v7 setup (3fa4f2f)
- Update HTTP API reference (688a028)
- Fix npm vulnerability warnings (7ad221b)
- Refactor monitor server HTTP API routing (2fec7c3)
- Allow to delete a message queue alongside with its related data.
- Make sure to release queue lock before returning.
- Improve QueueManager API method names, update docs.
- Update QueueManager API reference (add deleteQueue() method).
- Fix QueueManager broken method references in the Web UI.
- Rename purgeScheduledMessages() to purgeScheduledQueue().
- Test deleting queues, wait for a heartbeat before returning during startup.
- Update QueueManager API reference.
- Fix random errors from tests/consuming-messages/test00003.
- Fix random test errors due to javascript time drift.
- Do not return an error if a heartbeat is not found. Just skip it.
- Optimize npm package size, update docs.
- Rename event MESSAGE_DEQUEUED to MESSAGE_RECEIVED.
- Update ConsumerMessageRateWriter constructor signature
- Increase code coverage.
- Small cleanup and improvements.
- Expire consumers and producers time series after 30s of inactivity.
- Improve redisKeys versioning strategy, update docs.
- Improve migration guide.
- Implement MultiQueueProducer for publishing messages to multiple queues using a single producer instance.
- Implement rates time series for queues, producers and consumers, allowing to move the chart to the left or the right in order to scan the timeline.
- Refactor MessageManager and QueueManager API
- Add new WebSocket streams for heartbeats, rates, queues, consumers, and producers.
- Refactored Web UI.
- Overall improvements and minor bug fixes.
- Bumped redis-smq-monitor to v5.0.7.
- Updated package.json to use strict package versioning.
- Bumped redis-smq-monitor to v5.0.6.
- Updated scheduler.md.
- Calculate and emit "idle" event only when testing.
- Updated architecture diagram.
- Bumped redis-smq-monitor to v5.0.4
- Do not throw an error immediately and allow a compatible Redis client (ioredis, node_redis) to reconnect in case of Redis server not responding or restarting.
- Reviewed and updated documentation files.
- Minor improvements: refactored and cleaned up MessageRate and QueueManager classes.
- Updated RedisSMQ logo.
- Bumped redis-smq-monitor to v5.0.3.
- Updated RedisSMQ logo.
- Added RedisSMQ logo.
- Bumped redis-smq-monitor to v5.0.2.
- Bumped type-coverage to v2.19.0.
- Fixed broken redis-smq-monitor package.
- Implemented message and queue management features in the Web UI.
- Refactored the MQ to use LIFO queues.
- Updated HTTP API endpoints.
- Minor overall improvements and changes.
- Fixed outdated Message API docs.
- Improved debugging info.
- Allowed listing message queues from QueueManagerFrontend.
- Made queue namespace optional for queue/message management. When not provided, the configuration namespace is used. If the configuration namespace is not set, the default namespace is used.
- Fixed queues and messages management issues when using many namespaces.
- Fixed outdated examples in the HTTP API reference
- Minor refactoring and improvements.
- Updated docs.
- Added current MQ architecture overview.
- Removed Scheduler class in favor of MessageManager.
- Added QueueManager and MessageManager, allowing to fetch/delete/requeue messages from different queues.
- Improved MQ performance by using background message processing with the help of workers.
- MQ architecture tweaks and improvements.
- Redis keys namespace bug fix.
- With the release of v3.3.0, reliable, persistent priority queues are now supported.
- Added new tests and increased code coverage.
- Run tests in Node.js v12, v14, and v16
- Run tests in Redis v2.6.17, v3, v4, v5, and v6
- Made redis-smq-monitor server an integral part of redis-smq
- Implemented Scheduler HTTP API endpoints
- Various fixes and improvements
- Added Github CI
- Added Scheduler API docs.
- Added new methods to fetch and delete scheduled messages.
- Updated examples.
- Fixed .npmignore.
- Moved all dependant declaration packages from "devDependencies" to "dependencies".
- Moved husky to devDependencies.
- A major release v3 is out.
- Starting from this release, only active LTS and maintenance LTS Node.js releases are supported.
- Upgrading your installation to the newest version should be straightforward as most APIs are compatible with some exceptions.
- Project codebase has been migrated to TypeScript to make use of strong typings.
- JavaScript's users are always first class citizens.
- Fixed a compatibility issue between ioredis and redis when calling multi.exec().
- Fixed typing inconsistencies (ConfigRedisDriver and RedisDriver types) between redis-smq and redis-smq-monitor.
- Improved scheduler mechanics, refactored GC, and updated tests.
- Introduced RedisClient.
- Updated docs.
- Fixed a bug in redis-client.js.
- Improved overall performance by using asynchronous loops and avoiding recursion.
- Continued clean up and refactoring.
- Added tests coverage.
- Implemented stats providers.
- Fixed a potential memory leak issue relative to event listeners.
- Created a new module for encapsulating message collecting logic.
- Improved code structure
- Updated tests.
- Refactored legacy code, upgraded eslint and added prettier.
- Fixed bug in stats aggregation causing lost of queue name and queue namespace.
- Refactored gc.collectProcessingQueuesMessages()
- Capitalized factory names
- Bumped redis-smq-monitor to 1.1.5
- Bumped redis-smq-monitor to 1.1.4
- Bumped redis-smq-monitor to 1.1.3
- Bumped redis-smq-monitor to 1.1.2
- Included CPU usage percentage, hostname, and IP address in the consumer stats
- Bumped redis-smq-monitor to 1.1.1
- Updated the monitor parameters types based on the redis-smq-monitor package typing
- Removed all deprecated methods
- Removed undocumented Message constructor parameters
- Message.createFromMessage() now accepts 2 parameters for cloning a message (see Message API docs)
- Introduced TypeScript support
- Added examples for TypeScript
- Small refactoring and cleaning
- Bug fix: Fixed broken message retry delay (see issue #24)
- Migrated from Mocha/sinon/chai to Jest
- Minor scheduler bug fix in some cases when using both
PROPERTY_SCHEDULED_REPEAT
andPROPERTY_SCHEDULED_CRON
- Code cleanup
- Hotfix release addresses a bug with invalid state checking at the dispatcher level
- Clean up
- Improved error handling
- Improved dispatcher state management
- Fixed broken redis parameters parsing for old configuration syntax used before v1.1.0
- Handle gracefully unexpected errors for both consumers/producers. Instead of terminating the whole node process, in case of an unexpected error, just log the error and shutdown the instance.
- Fixed wrong emitted event during producer instance bootstrap causing TypeError.
- Major code refactoring and improvements
- Fixed namespace related bugs
- Fixed minor consumer related bugs
- Added support for ioredis
- Rewritten RedisSMQ Monitor based on React and D3
- RedisSMQ Monitor has split up from main repository and now maintained separately.
- Introduced changelog