UNPKG

redis-smq

Version:

A simple high-performance Redis message queue for Node.js.

1,109 lines (734 loc) 57.7 kB
# Change Log All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. ## [8.1.0](https://github.com/weyoss/redis-smq/compare/v8.0.3...v8.1.0) (2025-04-16) ### 🐛 Bug Fixes - **redis-smq:** prevent duplicate message publishing for scheduled tasks ([18b1bd9](https://github.com/weyoss/redis-smq/commit/18b1bd9a6c88f714972c35cc0445c67ad8aa64e3)) ### 📝 Documentation - **redis-smq:** update documentation and interfaces ([f917cd9](https://github.com/weyoss/redis-smq/commit/f917cd92b1edfb33190f25feec5577538a64517a)) ### ♻️ Code Refactoring - **redis-smq:** improve queue message management system with storage abstractions ([20d9985](https://github.com/weyoss/redis-smq/commit/20d998592ad255731b6bca71ea5ef116c42c7bf1)) - **redis-smq:** rename IQueueMessages interface to IQueueMessageManager ([505b555](https://github.com/weyoss/redis-smq/commit/505b5551c52acfe955b09a569f2d43e3c5cb045c)) ## [8.0.3](https://github.com/weyoss/redis-smq/compare/v8.0.2...v8.0.3) (2025-04-14) ### 🚀 Chore - **redis-smq-common:** enhance Redis server management with CLI and scripts ([1fec53e](https://github.com/weyoss/redis-smq/commit/1fec53eb25dd16ea28efaf2a5b31eeab09539ec4)) ### 📝 Documentation - fix ERedisConfigClient import, update installation instruction ([6d4cb62](https://github.com/weyoss/redis-smq/commit/6d4cb62750325492b38d26ee4487985428656302)) ## [8.0.2](https://github.com/weyoss/redis-smq/compare/v8.0.1...v8.0.2) (2025-04-14) ### 📝 Documentation - reorganize and enhance documentation across packages ([212fe75](https://github.com/weyoss/redis-smq/commit/212fe75143f1c446045c346e460065215e98f1d7)) ## [8.0.1](https://github.com/weyoss/redis-smq/compare/v8.0.0...v8.0.1) (2025-04-13) ### 📝 Documentation - **redis-smq:** update links to REST API and Web UI documentation ([77a923d](https://github.com/weyoss/redis-smq/commit/77a923d5670405c8e06b4e5807969aed5543ec95)) ### ♻️ Code Refactoring - **redis-smq:** improve redis-keys module with better organization and documentation ([850116d](https://github.com/weyoss/redis-smq/commit/850116ddcc1f25a9dcd589842fde0fa1fe098cda)) - **redis-smq:** update key prefix with version-based naming scheme ([6af3840](https://github.com/weyoss/redis-smq/commit/6af384080cbc2c6772e1cc134a515cbf21eeffcb)) ## [8.0.0](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.36...v8.0.0) (2025-04-13) **Note:** Version bump only for package redis-smq ## [8.0.0-rc.36](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.35...v8.0.0-rc.36) (2025-04-11) ### ♻️ Code Refactoring - **redis-smq-common:** download and use pre-built Redis binaries ([9a3d244](https://github.com/weyoss/redis-smq/commit/9a3d244599b97732bfaa544e44fa7b39fddaef56)) ## [8.0.0-rc.35](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.34...v8.0.0-rc.35) (2025-03-22) **Note:** Version bump only for package redis-smq ## [8.0.0-rc.34](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.33...v8.0.0-rc.34) (2025-03-22) **Note:** Version bump only for package redis-smq ## [8.0.0-rc.33](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.32...v8.0.0-rc.33) (2025-03-22) ### 📦‍ Build System - update .npmignore files to properly include source files ([8c7ec7d](https://github.com/weyoss/redis-smq/commit/8c7ec7d9d98f51d346167c7d723fd4d78705430b)) ## [8.0.0-rc.32](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.31...v8.0.0-rc.32) (2025-03-22) ### 📦‍ Build System - update .npmignore files to include only essential files ([9f537a0](https://github.com/weyoss/redis-smq/commit/9f537a06e1bebfacc1204698c6f3f15afcf768e3)) ## [8.0.0-rc.31](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.30...v8.0.0-rc.31) (2025-03-22) ### ⚠ BREAKING CHANGES - merge redis-server and net utils into redis-smq-common ### ♻️ Code Refactoring - merge redis-server and net utils into redis-smq-common ([3591e20](https://github.com/weyoss/redis-smq/commit/3591e2060dec07ed05d13dba7b3a6154b5bc8057)) ## [8.0.0-rc.30](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.29...v8.0.0-rc.30) (2025-03-21) ### 🚀 Chore - migrate to monorepo structure ([8ef9888](https://github.com/weyoss/redis-smq/commit/8ef988862cedd84eddbd3e4eb5e2f50d575fe30f)) ### 📝 Documentation - update README files with latest release and coverage badges ([0efb786](https://github.com/weyoss/redis-smq/commit/0efb7863a58bf8b2ec43cfe5b46b016c9a40b0fe)) ### ✅ Tests - remove unused data directory parameter from startRedisServer ([46af2f4](https://github.com/weyoss/redis-smq/commit/46af2f40585cc4387a070f3d6c76d95d12a84ba7)) ## [8.0.0-rc.29](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.28...v8.0.0-rc.29) (2025-02-14) ### Bug Fixes - **deps:** regenerate package-lock.json ([dc55c81](https://github.com/weyoss/redis-smq/commit/dc55c8101e9b57d2607ee47a78db7861d17623ab)) ### Documentation - **api:** update API documentation and references ([08f85ae](https://github.com/weyoss/redis-smq/commit/08f85ae0c963497d4200fcdfdeccc4aa83d3e60b)) - **contributing:** update guidelines and improve language ([c2feb57](https://github.com/weyoss/redis-smq/commit/c2feb57429513abb4b8973fc0bb6000377712f2c)) - **README:** update installation and usage instructions ([cfe19e4](https://github.com/weyoss/redis-smq/commit/cfe19e4f88cf5a5059ecb8567f1cbc16524008de)) ### Codebase Refactoring - remove unnecessary factory patterns ([3ed3a7d](https://github.com/weyoss/redis-smq/commit/3ed3a7d8056fae3c253f8af5b6b5f3f0d591945f)) - **tests:** update imports and usage of EventBus and RedisClient ([f9dca11](https://github.com/weyoss/redis-smq/commit/f9dca11015e3d02fddccc8f442facb2bf008236a)) ### Misc - **deps:** update redis-smq-common to 3.0.0-rc.17 ([324d6f1](https://github.com/weyoss/redis-smq/commit/324d6f12fc82da8762f442c110a9351cce3c3505)) ## [8.0.0-rc.28](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.27...v8.0.0-rc.28) (2025-02-05) ### Bug Fixes - **message:** revert back shutdown method to arrow function ([c4e5ceb](https://github.com/weyoss/redis-smq/commit/c4e5cebb4d9fbd91889618669765698cb80cd044)) ### Documentation - **api:** enhance class documentation with detailed descriptions and examples ([67f8a21](https://github.com/weyoss/redis-smq/commit/67f8a21c039e41301e8bfcf2c4ffc4319b02424d)) - **api:** separate error classes from main classes ([4aa850e](https://github.com/weyoss/redis-smq/commit/4aa850ed5411906d4a38c32a673cf2021498c294)) - **README:** update HTTP REST API reference link ([9e20a6c](https://github.com/weyoss/redis-smq/commit/9e20a6c08bf47b1a581129f922c9922c64cb7e3d)) - update logo, improve content readability ([7c921d4](https://github.com/weyoss/redis-smq/commit/7c921d406e05961d92769f2a43c40f7fa955d5fa)) ### Codebase Refactoring - improve code structure and readability ([5b4a47c](https://github.com/weyoss/redis-smq/commit/5b4a47cdc1139507a724d1d48202f6d8c6074174)) # Changelog ## [8.0.0-rc.27](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.26...v8.0.0-rc.27) (2025-01-09) ### Continuous Integration - fix broken CHANGELOG.md for v8.0.0-rc.26 ([a20b40e](https://github.com/weyoss/redis-smq/commit/a20b40ec343ab07a1a0ef80f4bf7625ed27ba9ec)) ## [8.0.0-rc.26](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.25...v8.0.0-rc.26) (2025-01-09) ### Documentation - update API reference ([b7d0f6f](https://github.com/weyoss/redis-smq/commit/b7d0f6f4e078557021854d33fd301980dab7782b)) ### Codebase Refactoring - use queue-scoped workers instead of global ones ([ada94e0](https://github.com/weyoss/redis-smq/commit/ada94e09d17f58488b1596c70b4f657110cc8b79)) ### Continuous Integration - add support for node.js v22 ([a15d62e](https://github.com/weyoss/redis-smq/commit/a15d62e49b609fb63b90082af53a0a23613677e8)) - upgrade eslint and other deprecated dependencies ([c948298](https://github.com/weyoss/redis-smq/commit/c94829850c5cf04ca3240163669c242ba50ba9e2)) ## [8.0.0-rc.25](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.24...v8.0.0-rc.25) (2024-07-07) ### Documentation - add a link to redis-smq-rest-api ([a1ab6fc](https://github.com/weyoss/redis-smq/commit/a1ab6fc594b4d32de5f4e4257fbf46c2447f0018)) ### Misc - make redis-smq-common a peer dependency ([3b7dbab](https://github.com/weyoss/redis-smq/commit/3b7dbab7a14fc3b11aa75badc36a396727fb4f3b)) ## [8.0.0-rc.24](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.23...v8.0.0-rc.24) (2024-05-15) ### Bug Fixes - **namespace:** replace generic error in getNamespaceQueues() ([aa9c8e5](https://github.com/weyoss/redis-smq/commit/aa9c8e5a125bdf1fc8e200263618693671219882)) - **queue-rate-limit:** always validate queue existence ([538cf78](https://github.com/weyoss/redis-smq/commit/538cf786b3b3131f137d1488d6d130323acb571d)) ### Documentation - add new error classes reference ([6c39625](https://github.com/weyoss/redis-smq/commit/6c3962589537a83fe345e349743a798e73e751a6)) ### Codebase Refactoring - **queue-rate-limit:** move QueueRateLimit.set() logic to LUA ([d104a9c](https://github.com/weyoss/redis-smq/commit/d104a9c038ea321e5e18049bffefc54850d4294f)) - **queue:** return the original error instance ([14228ec](https://github.com/weyoss/redis-smq/commit/14228ec255776cabf2a9202078cd016f80b5f5da)) ## [8.0.0-rc.23](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.22...v8.0.0-rc.23) (2024-05-10) ### Bug Fixes - use namespaced errors ([637096b](https://github.com/weyoss/redis-smq/commit/637096baf1f1e201b3dc5cf381944dab608b296d)) - validate queue delivery model before adding consumer groups ([eebcae7](https://github.com/weyoss/redis-smq/commit/eebcae7da0364ffd8cf731e451dbfce3ed32fd11)) ### Documentation - add new error classes reference ([5f7427d](https://github.com/weyoss/redis-smq/commit/5f7427d0ed100624f10e3b9cc1b615bf9ae51730)) - update Message API reference ([9c1fa7a](https://github.com/weyoss/redis-smq/commit/9c1fa7a129dd159ad118276fd904232d71bde508)) ### Tests - use QueueMessagesConsumerGroupIdRequiredError class ([efb9821](https://github.com/weyoss/redis-smq/commit/efb98215b3bb93460ef07345fc447a286474b914)) ## [8.0.0-rc.22](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.21...v8.0.0-rc.22) (2024-05-04) ### Features - use more granular error classes for reporting errors ([2cc06c1](https://github.com/weyoss/redis-smq/commit/2cc06c1cfbf2fe19c5c0756638ff73806ce06529)) ### Bug Fixes - **exchange:** use more granular error classes for reporting errors ([3b3e640](https://github.com/weyoss/redis-smq/commit/3b3e6407cd6a2c1db8a3e68d58163447746cd5d0)) ### Documentation - add missing error classes ([e16ffea](https://github.com/weyoss/redis-smq/commit/e16ffead799a4a40020ba27b9daae306301efd1a)) ## [8.0.0-rc.21](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.20...v8.0.0-rc.21) (2024-04-29) ### Bug Fixes - **message:** correct logic for deleting multiple messages by IDs ([fdb39d6](https://github.com/weyoss/redis-smq/commit/fdb39d66f3cea59decf8ad29b5efdf827780ba73)) ### Documentation - improve RC release status description, clean up ([98910dc](https://github.com/weyoss/redis-smq/commit/98910dcef215494ccee4de01879d0e2f8037213d)) - update examples ([d80beb2](https://github.com/weyoss/redis-smq/commit/d80beb2af2472ac596a88531786a0ba2681e09dd)) ### Codebase Refactoring - optimize imports ([29a0efb](https://github.com/weyoss/redis-smq/commit/29a0efb9e46ce23a6fb14c44222cf987a05ee22a)) - remove unused error classes and clean up ([15bd959](https://github.com/weyoss/redis-smq/commit/15bd9591d58b5717ee5a8e8191df7388e65a768b)) - shorten imports ([3bfb8f1](https://github.com/weyoss/redis-smq/commit/3bfb8f1e39011e2f48039b2c534f0fe936b67759)) ### Tests - increase code coverage ([e9d84e8](https://github.com/weyoss/redis-smq/commit/e9d84e8b4a9a239246473ca770ce035ce8e66831)) ### Misc - clean up package.json ([ff9ff3d](https://github.com/weyoss/redis-smq/commit/ff9ff3d06f61c20f70bd55c34a545278713847d5)) - update LICENSE ([cb18d44](https://github.com/weyoss/redis-smq/commit/cb18d4449f851df803a0e2cd84410257cbfcfdfd)) ## [8.0.0-rc.20](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.19...v8.0.0-rc.20) (2024-03-24) ### Bug Fixes - include missing enums when exporting esm/cjs modules ([2ee6802](https://github.com/weyoss/redis-smq/commit/2ee680205dbde78af46f4e4347cdf4fa80adfe3b)) ## [8.0.0-rc.19](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.18...v8.0.0-rc.19) (2024-03-24) ### Documentation - fix incorrect generated anchor texts ([c4f523f](https://github.com/weyoss/redis-smq/commit/c4f523f9a17dbbb8510b35032cfecfc69905dd04)) ## [8.0.0-rc.18](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.17...v8.0.0-rc.18) (2024-03-24) ### ⚠ BREAKING CHANGES - rebase on redis-smq-common@3.0.0-rc.14 ### Documentation - update documentation and API reference ([3baaee6](https://github.com/weyoss/redis-smq/commit/3baaee6649c7bde47ce4c22c12ca4dc367ab301d)) ### Codebase Refactoring - do not throw errors for async functions ([582f355](https://github.com/weyoss/redis-smq/commit/582f35539c01e9b98a05fbd65b2247cba623524c)) - rebase on redis-smq-common@3.0.0-rc.14 ([2c5edbd](https://github.com/weyoss/redis-smq/commit/2c5edbd8debdf4599ddbb7ad42a37bc94fea14d1)) ## [8.0.0-rc.17](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.16...v8.0.0-rc.17) (2024-01-30) ### Documentation - add missing error classes ([753331e](https://github.com/weyoss/redis-smq/commit/753331e5ce4fb239cb29b3ae4c3246ba185b4d94)) - simplify and unify class/method naming and referencing ([0299b31](https://github.com/weyoss/redis-smq/commit/0299b314e843c28d52e2f767ace150e39652287c)) ### Codebase Refactoring - improve MessageHandler error handling ([957d257](https://github.com/weyoss/redis-smq/commit/957d257e66cce6faaf9dad5bf949cdd1198cfae8)) ## [8.0.0-rc.16](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.15...v8.0.0-rc.16) (2024-01-28) ### Features - allow running/sandboxing message handlers using worker threads ([53095bd](https://github.com/weyoss/redis-smq/commit/53095bd2689ccb2f701365bafb4ef8e550da82b3)) ### Bug Fixes - export message handler errors ([26d2689](https://github.com/weyoss/redis-smq/commit/26d26890da139d88c46ce220e3dda3d9c8e03aee)) ### Documentation - **ConsumeMessageWorker:** update docs and clean up ([140322e](https://github.com/weyoss/redis-smq/commit/140322e3520ee3db905ea977a159064f339aa7d2)) - fix broken links ([aad9010](https://github.com/weyoss/redis-smq/commit/aad9010e70ed332b154f4fbdcb8ac657a14fe6b9)) - update messages and queues documentation ([7c3d06e](https://github.com/weyoss/redis-smq/commit/7c3d06ed3765ffc14dfece4f725241aa4535e1e7)) ### Codebase Refactoring - **ConsumeMessageWorker:** improve typings ([66c6ca9](https://github.com/weyoss/redis-smq/commit/66c6ca948677f76d496fe0b988bd195e1a7108a2)) ### Tests - allow running/sandboxing message handlers using worker threads ([79e6886](https://github.com/weyoss/redis-smq/commit/79e688674ed11ec34ce2f74d5f15c8eefa129767)) ## [8.0.0-rc.15](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.14...v8.0.0-rc.15) (2024-01-25) ### Features - add Pub/Sub delivery model, refactor and clean up ([47affa1](https://github.com/weyoss/redis-smq/commit/47affa172eb2fc6943f660bea3feab3af1bc28ec)) ### Documentation - add a notification about the latest release, clean up ([904f196](https://github.com/weyoss/redis-smq/commit/904f196f1854059625b08af05fe5ceb1466d4a9f)) - add Pub/Sub delivery model, refactor and clean up ([32db9dd](https://github.com/weyoss/redis-smq/commit/32db9dd2772bc16568e03e6e216a7d0fd0a599a7)) - clean up ([c7d13a6](https://github.com/weyoss/redis-smq/commit/c7d13a639a1ed9f134ba3deb99d1e2a23223935a)) ### Misc - bump up redis-smq-common to v3.0.0-rc.8 ([d411849](https://github.com/weyoss/redis-smq/commit/d4118496263479036085ee09ceb5785ee497bb59)) - bump up redis-smq-common to v3.0.0-rc9 ([d372e9d](https://github.com/weyoss/redis-smq/commit/d372e9d98593934e9e9fb63efcd56cbad99202af)) ## [8.0.0-rc.14](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.13...v8.0.0-rc.14) (2024-01-03) ### Documentation - add new diagrams and update existing ones ([f5182b1](https://github.com/weyoss/redis-smq/commit/f5182b10b5179365edf68e7b6bf564ccc25281ab)) - **event-listeners:** add a link to IRedisSMQConfig interface ([a7635c5](https://github.com/weyoss/redis-smq/commit/a7635c5d811ad775123547a5696c78b030981269)) - scale down diagrams ([c3b37e4](https://github.com/weyoss/redis-smq/commit/c3b37e445a6d15fdcc8c7a73b713a1f7d5e7c94e)) - update exchange diagrams ([9dc05d6](https://github.com/weyoss/redis-smq/commit/9dc05d6cd835d779b9d183e83f562c7991105c92)) ### Codebase Refactoring - **event-listeners:** clean up ([d9195e4](https://github.com/weyoss/redis-smq/commit/d9195e4e85e2e4519d238f5f3ecace37ae9bbb32)) - **exchanges:** improve typings ([97665fe](https://github.com/weyoss/redis-smq/commit/97665fed4a579af444c46e01a6b05f9adb12e888)) - **message:** handle various errors when deleting a message ([a4505ae](https://github.com/weyoss/redis-smq/commit/a4505ae7d95bda0185da28433c6737e395400e7b)) ### Tests - **message:** handle various errors when deleting a message ([ecf301b](https://github.com/weyoss/redis-smq/commit/ecf301b06aac1bf6d0fcb1ced962a32ac6a6ca68)) ## [8.0.0-rc.13](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.12...v8.0.0-rc.13) (2023-12-23) ### ⚠ BREAKING CHANGES - **event-listeners:** unify consumer/producer event listeners ### Documentation - **event-listeners:** update documentation ([71100d3](https://github.com/weyoss/redis-smq/commit/71100d3aa94a61fb8ece86e439f0b120b66a6cab)) ### Codebase Refactoring - **event-listeners:** unify consumer/producer event listeners ([9e1a181](https://github.com/weyoss/redis-smq/commit/9e1a1811dd841d4329f0ee14e979d2770a7a6358)) ### Tests - **event-listeners:** unify consumer/producer event listeners ([2d14a07](https://github.com/weyoss/redis-smq/commit/2d14a077feda98933fb6c038bea5a33ad8d5f610)) ## [8.0.0-rc.12](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.11...v8.0.0-rc.12) (2023-12-18) ### Misc - update logo ([9bd373e](https://github.com/weyoss/redis-smq/commit/9bd373e693c57c8e18dddb5b0899c710e6de9492)) ## [8.0.0-rc.11](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.10...v8.0.0-rc.11) (2023-12-18) ### Documentation - **IConsumableMessage:** clean up ([5b5ce3a](https://github.com/weyoss/redis-smq/commit/5b5ce3aedd3e378cc74a2715da2ae1e98f41124f)) ### Codebase Refactoring - **MessageEnvelope:** clean up ([72140f6](https://github.com/weyoss/redis-smq/commit/72140f61742dd4e3cbe36a6c421bf5f0b5a2f7ac)) - rename \_createRMessage to \_createConsumableMessage ([7a138fd](https://github.com/weyoss/redis-smq/commit/7a138fdce633946d4f69a7c8aa4d78a019bc82df)) ### Tests - **ConsumableMessage:** increase code coverage ([3960c6e](https://github.com/weyoss/redis-smq/commit/3960c6ef72875fcdd0684eb1025afd0c0630c67c)) ## [8.0.0-rc.10](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.9...v8.0.0-rc.10) (2023-12-17) ### ⚠ BREAKING CHANGES - add ProducibleMessage/ConsumableMessage/MessageEnvelope ### Features - add ProducibleMessage/ConsumableMessage/MessageEnvelope ([4a3eec7](https://github.com/weyoss/redis-smq/commit/4a3eec79575b2845d2c35ec478b89e4a5acb863d)) ### Documentation - add ProducibleMessage/ConsumableMessage/MessageEnvelope ([55aa68e](https://github.com/weyoss/redis-smq/commit/55aa68e17021afadad32ee2c1b9dfef6924449f5)) - **QueueMessages:** fix outdated class reference ([e6ae499](https://github.com/weyoss/redis-smq/commit/e6ae4991d4389e1d1602bd780f4e0d95e02e5606)) - update examples ([bbccf7c](https://github.com/weyoss/redis-smq/commit/bbccf7cb5a2a5dfe2eacaeabb097129cbdcf6720)) ### Tests - add ProducibleMessage/ConsumableMessage/MessageEnvelope ([2961a22](https://github.com/weyoss/redis-smq/commit/2961a221190307c4a4a8857fed9ec12622bdd10d)) ### Misc - update health-check ([81edb25](https://github.com/weyoss/redis-smq/commit/81edb255d081824143f147ed8d0faefe0948224f)) ## [8.0.0-rc.9](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.8...v8.0.0-rc.9) (2023-12-11) ### Documentation - update documentation ([85d6adb](https://github.com/weyoss/redis-smq/commit/85d6adb7e8db6cb4f427a34e8e510c11d2fc5bf0)) ### Codebase Refactoring - **MessageEnvelope:** improve setPriority/getPriority typings ([91c44f0](https://github.com/weyoss/redis-smq/commit/91c44f013d6ff757876a0e57dcec45869ab6a02a)) ### Tests - **MessageEnvelope:** improve setPriority/getPriority typings ([20fd6e5](https://github.com/weyoss/redis-smq/commit/20fd6e58e466ae425bba54d4d85adf4df888654b)) ## [8.0.0-rc.8](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.7...v8.0.0-rc.8) (2023-12-11) ### ⚠ BREAKING CHANGES - **Message:** remove Message.MessagePriority, add EMessagePriority - **QueueMessages:** move message methods to Message,add MessageEnvelope ### Features - **Message:** add getMessageStatus() method ([fda81fa](https://github.com/weyoss/redis-smq/commit/fda81fa7a3c4428799dfabef8581f0f3b39949e8)) ### Bug Fixes - **Message:** export missing error classes ([29e8817](https://github.com/weyoss/redis-smq/commit/29e8817fa805faed42ebd9a3fea469004552eec1)) ### Documentation - update documentation and examples ([8efb082](https://github.com/weyoss/redis-smq/commit/8efb08200ac1f2751c7e10e3492445badb2e4039)) ### Codebase Refactoring - **Message:** remove Message.MessagePriority, add EMessagePriority ([702a01d](https://github.com/weyoss/redis-smq/commit/702a01da987479a4f3b2127b9da0851d74046c10)) - **QueueMessages:** move message methods to Message,add MessageEnvelope ([f71f0d0](https://github.com/weyoss/redis-smq/commit/f71f0d06240e16b1519ae175793ae28470684d4f)) ### Tests - **Message:** add getMessageStatus() method ([76e97c4](https://github.com/weyoss/redis-smq/commit/76e97c48fdc86c2709db39b17a0ba55432157270)) - **Message:** remove Message.MessagePriority, add EMessagePriority ([88a1368](https://github.com/weyoss/redis-smq/commit/88a1368ff8e000f3f26141ec29fddc7f96a7103e)) - **QueueMessages:** move message methods to Message,add MessageEnvelope ([932a88e](https://github.com/weyoss/redis-smq/commit/932a88eee5bfd0dc020c8516f76e2d351d486fe3)) ## [8.0.0-rc.7](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.6...v8.0.0-rc.7) (2023-12-09) ### ⚠ BREAKING CHANGES - **QueueMessages:** remove redundant method deleteMessage() ### Documentation - **QueueMessages:** remove redundant method deleteMessage() ([cdeb454](https://github.com/weyoss/redis-smq/commit/cdeb4543f859e108efdcaa61aeac15d3a325b0a5)) ### Codebase Refactoring - **QueueMessages:** remove redundant method deleteMessage() ([af21dff](https://github.com/weyoss/redis-smq/commit/af21dff9f6b959ed21aa4cbe812606c1efbf4046)) ### Tests - **QueueMessages:** remove redundant method deleteMessage() ([dfa3792](https://github.com/weyoss/redis-smq/commit/dfa37924a0a8e2fc726ce4a76baa535c79f0c917)) ## [8.0.0-rc.6](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.5...v8.0.0-rc.6) (2023-12-09) ### ⚠ BREAKING CHANGES - **QueueMessages:** rename deleteMessagesById to deleteMessageById ### Documentation - **QueueMessages:** rename deleteMessagesById to deleteMessageById ([81cfb72](https://github.com/weyoss/redis-smq/commit/81cfb72a012e99398435418f52c8a24018759234)) ### Codebase Refactoring - **QueueMessages:** rename deleteMessagesById to deleteMessageById ([b3baf71](https://github.com/weyoss/redis-smq/commit/b3baf711e6210034aac256362418dd8d87859557)) ## [8.0.0-rc.5](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.4...v8.0.0-rc.5) (2023-12-03) ### Documentation - clean up ([2d7c004](https://github.com/weyoss/redis-smq/commit/2d7c004e690ca2f30a6de8d22feb5f4a3711eab9)) ### Codebase Refactoring - improve typings ([c86bb53](https://github.com/weyoss/redis-smq/commit/c86bb53969bbb919f115268cbf510c818af44066)) ## [8.0.0-rc.4](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.3...v8.0.0-rc.4) (2023-12-02) ### Documentation - clean up outdated examples ([dd1c68b](https://github.com/weyoss/redis-smq/commit/dd1c68bdd7cf7de2dfa309dbe7efff76fed5c983)) ### Misc - move redis-smq-common from dev-deps to deps ([675880d](https://github.com/weyoss/redis-smq/commit/675880d3803cca9c89aa860486bae43dbe7e2f70)) ## [8.0.0-rc.3](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.2...v8.0.0-rc.3) (2023-12-02) ### Bug Fixes - **scheduler:** handle unacked messages with retry delay correctly ([a97b145](https://github.com/weyoss/redis-smq/commit/a97b145f605d6b5c7d9f6f83c844c9d2447c5786)) ### Documentation - update Message reference ([1cff3e3](https://github.com/weyoss/redis-smq/commit/1cff3e3fe3634ffa2d502a4bbb589948ed8e56ea)) - update TRedisSMQEvent reference ([5afa22e](https://github.com/weyoss/redis-smq/commit/5afa22ea1d2de00cb9c4708c55ec8fe1ef5a39b5)) ### Tests - **message:** add new test cases covering message status ([9eec7e9](https://github.com/weyoss/redis-smq/commit/9eec7e9e2a39244ab62b9f8db4d049d3363a534d)) ## [8.0.0-rc.2](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.1...v8.0.0-rc.2) (2023-11-27) ### ⚠ BREAKING CHANGES - **events:** use typed events, remove legacy events - add message status, return message IDs for produced messages ### Features - add message status, return message IDs for produced messages ([56566bf](https://github.com/weyoss/redis-smq/commit/56566bf77d180a3b8a2baf0659f9bfc4861c71b3)) - **events:** use typed events, remove legacy events ([5f5a34f](https://github.com/weyoss/redis-smq/commit/5f5a34f11b51949c761a83301a087a682a105a89)) ### Documentation - **README.md:** update features description ([4ac300e](https://github.com/weyoss/redis-smq/commit/4ac300e71ef758d30f24810205732fd8b1d61b55)) - update configuration.md ([83ce680](https://github.com/weyoss/redis-smq/commit/83ce680d4ba06901d4b524c542036d8f661a8af4)) - use typed events, remove legacy events ([7c899f8](https://github.com/weyoss/redis-smq/commit/7c899f81f3eb66084d1b94b818d549800d453334)) ### Tests - add message status, return message IDs for produced messages ([8e3c228](https://github.com/weyoss/redis-smq/commit/8e3c22854940e7de3ab911e99cba64793b6ef7a5)) - use typed events, remove legacy events ([5d85cb0](https://github.com/weyoss/redis-smq/commit/5d85cb006b49cae97a214012e0f249399357c76a)) ## [8.0.0-rc.1](https://github.com/weyoss/redis-smq/compare/v8.0.0-rc.0...v8.0.0-rc.1) (2023-11-21) ### Codebase Refactoring - pass keyQueueMessages as a key for SCHEDULE_MESSAGE script ([f9f69b3](https://github.com/weyoss/redis-smq/commit/f9f69b3359c63702974946d9ae486b1a59a38485)) ### Tests - fix unpredictable error throwing when deleting a namespace ([4126670](https://github.com/weyoss/redis-smq/commit/4126670ca283073c42e69e80e5fc95f1eaf95a92)) ### Misc - update lint-staged configuration ([9543401](https://github.com/weyoss/redis-smq/commit/9543401acae6abed6eaa53aa9149e0306b2cad64)) ## [8.0.0-rc.0](https://github.com/weyoss/redis-smq/compare/v7.2.3...v8.0.0-rc.0) (2023-11-20) ### ⚠ BREAKING CHANGES - use latest redis-smq-common release, fix breaking changes ### Features - allow to track a published message by its ID ([5f702d2](https://github.com/weyoss/redis-smq/commit/5f702d251a5b1f43c0364d6ce96a667d4f79d700)) ### Bug Fixes - **exchange:** fix json argument typings for \_fromJSON() ([55bf8cc](https://github.com/weyoss/redis-smq/commit/55bf8cca65fce23774a68e6aaac1b590bbc07ff4)) ### Documentation - add missing error classes reference, clean up ([106b6d0](https://github.com/weyoss/redis-smq/commit/106b6d0627b747e49d5d09499dda21912803298a)) - **api:** improve IQueueProperties description ([4ffeee3](https://github.com/weyoss/redis-smq/commit/4ffeee30e4a119a4bf378a4e753b19ad60f62070)) - fix empty links ([dfc4ae9](https://github.com/weyoss/redis-smq/commit/dfc4ae992be9b4145e100d8f063947c316b04f37)) - fix javascript/typescript examples ([4cb2eb1](https://github.com/weyoss/redis-smq/commit/4cb2eb13055609ea05ed98b34a143feedb63ebc0)) - **queue:** update IQueueProperties interface reference ([631f239](https://github.com/weyoss/redis-smq/commit/631f2393fedb7f33a20611e1a006b19c64a9fa93)) - **README.md:** add pre-release notice ([458fc57](https://github.com/weyoss/redis-smq/commit/458fc57e8089b8aa2835783a8bfe642364989ff6)) - **README.md:** fix typo ([3abf1e2](https://github.com/weyoss/redis-smq/commit/3abf1e2665c4ae5d3eb91b8166abc630cd9f039a)) - **README.md:** update minimal supported Redis version ([2c3ea00](https://github.com/weyoss/redis-smq/commit/2c3ea00dd93266b59ee649ffc8ff9351708f925b)) - **README:** fix heading hierarchy ([6dc0bd5](https://github.com/weyoss/redis-smq/commit/6dc0bd5ea10b42cc5a4ab1012c480f206e576edb)) - update docs ([188679e](https://github.com/weyoss/redis-smq/commit/188679e9476c9c0ba979be500168567775e085f3)) - update examples ([ac4b0b5](https://github.com/weyoss/redis-smq/commit/ac4b0b5d7d1d50ad10e9f5bcd825b28a51c37c40)) ### Codebase Refactoring - **queue:** use friendly keys for queue properties object ([9e88f54](https://github.com/weyoss/redis-smq/commit/9e88f54052a9b0bc89144e8d067f1818f0d32a13)) - use latest redis-smq-common release, fix breaking changes ([e347d4d](https://github.com/weyoss/redis-smq/commit/e347d4d148c3b104e7d73c9ef8d5bf796657c1d6)) ### Tests - fix breaking changes from latest redis-smq-common ([30a6099](https://github.com/weyoss/redis-smq/commit/30a609981786cabd4d08e9277be5b0bab8ad86fb)) - fix QueueMessageNotFoundError checking ([6053cee](https://github.com/weyoss/redis-smq/commit/6053ceef7b7922bbb58eaf91d4d3a15baea34bb4)) - fix tests ([561f0d0](https://github.com/weyoss/redis-smq/commit/561f0d06f0c4f28e6338def878210f2704b718b0)) ### Misc - add npm scripts ([34b4883](https://github.com/weyoss/redis-smq/commit/34b4883fa65a3c0b75d019cd1aedda3d42ccfc63)) - bump up redis-smq-common to v3.0.0-rc.6 ([f177b95](https://github.com/weyoss/redis-smq/commit/f177b95a84b1ab41304a8ceb568922e359c626b2)) - bump up type-coverage to v2.27.0 ([5140727](https://github.com/weyoss/redis-smq/commit/5140727f59ebf820702b2822149d85a266ca4b5e)) - fix incorrect imports ([ba82774](https://github.com/weyoss/redis-smq/commit/ba827746f1824191bd677919f3165e405ff8bcfc)) - update both .gitignore and .npmignore files ([3e84387](https://github.com/weyoss/redis-smq/commit/3e8438758d65fec2afa4f8de11f25239f581c368)) - update package-lock.json ([77c761a](https://github.com/weyoss/redis-smq/commit/77c761aec04e103bc6a60b01ae0393a9e9bf7e43)) - update project copyright annotation ([4080ac0](https://github.com/weyoss/redis-smq/commit/4080ac0b76f418193391e20f5e8c294cac7671e9)) ### Continuous Integration - drop support for redis server 2.8 and 3 ([9ef8ade](https://github.com/weyoss/redis-smq/commit/9ef8adec08bf90d1cc27b9bbabe591bca25a7d8e)) - update minimal supported versions for nodejs and redis ([13b3197](https://github.com/weyoss/redis-smq/commit/13b31977937c65aa989de8d715022d1afb5f0839)) ## 7.2.3 (2023-03-26) - test(consumer-heartbeat): update tests (4332153) - refactor(consumer-heartbeat): clean up and improve API (20fc1b1) ## 7.2.2 (2023-03-25) - 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) ## 7.2.1 (2023-02-15) - 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) ## 7.2.0 (2023-01-06) - 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) ## 7.1.3 (2022-10-26) - test(FanOutExchangeManager): test binding queues of different types (d2e287c) - fix(FanOutExchangeManager): forbid binding queues of different types (0df6bdc) ## 7.1.2 (2022-10-22) - 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) ## 7.1.1 (2022-10-11) - docs(message-exchanges): update docs (19d7dd3) - docs: update README (63b2fe6) ## 7.1.0 (2022-10-06) - 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) ## 7.0.7 (2022-08-10) - Bump up redis-smq-common to v1.0.2 (ff385ad) - Update docs (3871e8f) ## 7.0.6 (2022-08-08) - 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) ## 7.0.5 (2022-07-20) - Remove code redundancies (55eec79) - Update event listeners docs (e308848) - Refactor IEventListener interface, clean up (14dbf30) ## 7.0.4 (2022-07-14) - Fix dev dependencies (e42d072) - Update installation info (12c6170) - Make redis-smq-common as a peer dependency (ade08af) ## 7.0.3 (2022-07-13) - Fix consuming-messages/test00012 (4c9dfb8) ## 7.0.2 (2022-07-13) - 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) ## 7.0.1 (2022-06-18) - Update migrating.md (9065d5f) - Update README.md (4cfb653) ## 7.0.0 (2022-06-18) - 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) ## 7.0.0-rc.8 (2022-06-09) - Update docs (96a45e7) - Test consumers/producers event listeners (856e12d) - Implement consumers/producers event listeners (6f5d603) ## 7.0.0-rc.7 (2022-06-07) - 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) ## 7.0.0-rc.6 (2022-05-31) - Bump up redis-smq-common to v1.0.0-rc.11 (43717f0) ## 7.0.0-rc.5 (2022-05-31) - Bump up redis-smq-common to v1.0.0-rc.10 (e025525) - Update docs (738d9d0) ## 7.0.0-rc.4 (2022-05-30) - Update README.md (fef27c1) - Support node-redis v4 (c7a91b1) - Drop support for node.js v12 (0b5a4e9) - Fix outdated documentation (d3bf31b) - Fix broken link (fd48c86) ## 7.0.0-rc.3 (2022-05-26) - 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) ## 7.0.0-rc.2 (2022-05-18) - Fix typo (8002616) - Update docs (d40b1c2) - Update misc scripts (bde5171) - Clean up WebsocketRateStreamWorker, use incremental timestamp (918fac0) ## 7.0.0-rc.1 (2022-05-15) - 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) ## 7.0.0-rc.0 (2022-05-13) - 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) ## 6.4.2 (2022-04-23) - 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) ## 6.4.1 (2022-03-22) - Fix fsevents not accessible from jest-haste-map (482cb11) - Fix broken url in the Web UI docs (02e08d7) ## 6.4.0 (2022-03-22) - 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) ## 6.3.1 (2022-03-15) - Fix typos (a5db76a) ## 6.3.0 (2022-03-15) - 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) ## 6.2.6 (2022-03-04) - Clean up (2837cc6) - Implement MessageHandlerRunner (cfba094) ## 6.2.5 (2022-03-03) - 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) ## 6.2.4 (2022-02-23) - Fix consuming-messages/test00015 error (c5c365a) ## 6.2.3 (2022-02-23) - Bump up redis-smq-monitor to v6.5.3 (4e845d0) - Remove gracefully a message handler (a4402b7) - Add MessageHandlerAlreadyExistsError custom error (65882ed) ## 6.2.2 (2022-02-21) - 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) ## 6.2.1 (2022-02-19) - Remove unused code (475fa3d) ## 6.2.0 (2022-02-19) - 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) ## 6.1.0 (2022-02-14) - Allow configuring which messages to store with extended parameters (7bd37a1) ## 6.0.4 (2022-02-13) - Fix missing type definition for koa-bodyparser (4b8a11e) ## 6.0.3 (2022-02-13) - Increase code coverage (ec839a1) ## 6.0.2 (2022-02-12) - Update architecture overview diagram (e8f77a8) - Improve offline consumers handling & message recovery strategy (4072939) - Fix typos and update README.md (b73bd37) ## 6.0.1 (2022-02-11) - Update docs (78fef2e) - Clean up WorkerPool class (b4dae38) ## 6.0.0 (2022-02-08) - 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) ## 6.0.0-rc.11 (2022-02-02) - 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) ## 6.0.0-rc.10 (2022-02-01) - 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) ## 6.0.0-rc.9 (2022-01-27) - 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) ## 6.0.0-rc.8 (2022-01-24) - 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) ## 6.0.0-rc.7 (2022-01-21) - 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) ## 6.0.0-rc.6 (2022-01-20) - Bump up redis-smq-monitor to v6.1.0 (83107be) - Update README.md (0ce39bd) - Make Producer stateless, drop MultiQueueProducer, refactor, clean up (7597762) ## 6.0.0-rc.5 (2022-01-18) - Fix a possible EventEmitter memory leak in WorkerRunner (4d3a066) - Fix MultiQueueProducer bug with queueName not being validated, test (c4cbc7d) ## 6.0.0-rc.4 (2022-01-18) - 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) ## 6.0.0-rc.3 (2022-01-14) - 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 t