Fix worker hang in Redis Event Bus
Fixed a critical regression in v2.17.0 where the Redis Event Bus worker would hang indefinitely on startup due to improper awaiting of bullWorker_.run(). This issue only affected worker mode, not server mode.
Highlights
Regression with workers in Redis Event Bus
This release fixes a critical bug introduced in 2.17.0.
What
Not await bullWorker_.run() in event-bus-redis onApplicationStart
Why
bullWorker_.run() is designed to return only when the worker is closed (taskforcesh/bullmq#2128). This bug had flown under the radar until we started awaiting all modules onApplicationStart here. The effect is that when running in worker mode, application startup hangs indefinitely. It does not happen in server mode because bullWorker_ only exists in worker mode.
Bugs
- fix: fix event-bus-redis onApplicationStart hook by @peterlgh7 in #15838
- fix: properly handle undefined bullWorker by @peterlgh7 in #15842
Other Changes
- i18n(ja): complete dashboard translations — fill 511 missing keys by @greymoth-jp in #15839
New Contributors
- @greymoth-jp made their first contribution in #15839
Full Changelog: v2.17.0...v2.17.1
Source: original entry ↗
More from Medusa
Follow Medusa to get its new changes in your feed and email digest.
Performance Improvement for Search Route
The /store/search route now restricts field retrieval to only those defined on the index being searched, preventing data hydration outside the index for better performance. This release includes multiple bug fixes for search indexing, caching, promotions, payments, and dashboard internationalization.
v2.21.1: Search Module
Introduces a new Search Module that lets you manage and search through indexes for any data model, with built-in PostgreSQL and Medusa Cloud providers. Also includes improvements to the loyalty plugin's store credit features, new admin translations for Finnish and Swedish, and numerous bug fixes across authentication, payments, inventory, and shipping.
Strict allowed fields in Store API and Exported Admin Components
Store API routes now enforce a strict allowed-fields list, returning only explicitly declared fields and relations to prevent unintended data exposure. Disallowed fields are silently stripped; use the allowFields middleware to re-expose specific fields if needed.