Skip to content

Releases: 50BytesOfJohn/panqueue

worker: v0.0.2

12 Jun 20:29
dcaecb4

Choose a tag to compare

0.0.2 (2026-06-12)

⚠ BREAKING CHANGES

  • worker: WorkerErrorEvent.scope replaced by WorkerErrorEvent.kind/jobId/handlerName. WorkerPool constructor options now accepts an optional events field.
  • worker: Worker event handler signatures changed. onJobStart → onJobStarted, onJobComplete → onJobCompleted, onJobFail → onJobFailed (all receive event objects). onError → onWorkerError. onJobRecovered removed. Stall terminal failures now emit onJobFailed.
  • migrate to Node-first pnpm workspace (npm + JSR)
  • config: default global concurrency scope
  • worker: Job lifecycle accounting replaces attempts with runs, failures, and stalls.
  • worker: add leases and force shutdown

Features

  • add async dispose support and connection promise caching (60542cd)
  • client: add createQueueClient factory with dual config support (ab97683)
  • config: default global concurrency scope (f58c241)
  • core,worker,config: add per-queue job retention (e7e58d0)
  • migrate to Node-first pnpm workspace (npm + JSR) (788dd51)
  • worker: add connection lifecycle hooks, typed errors, and refined WorkerErrorEvent (4d94038)
  • worker: add leases and force shutdown (482e8a7)
  • worker: add WorkerPool for managing multiple typed queue consumers (34594b6)
  • worker: implement Worker with lifecycle state machine and job processing (50aaedc)
  • worker: introduce definition-based worker pools (a1f3a62)
  • worker: redesign event surface — single-event objects, distinct retry/fail, stall cause (b85a638)
  • worker: refine event payloads — add timing, remove attempt copies, report hook failures (a22c597)

Bug Fixes

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @panqueue/config bumped to 0.0.2
      • @panqueue/core bumped to 0.0.2

core: v0.0.2

12 Jun 20:29
dcaecb4

Choose a tag to compare

0.0.2 (2026-06-12)

⚠ BREAKING CHANGES

  • core: assertJsonSerializable now throws SerializationError instead of TypeError. Callers catching TypeError must update to catch SerializationError or PanqueueError.
  • config,core: QueueConfig.concurrency is removed. metaKey() and QueueKeys.meta are removed; the meta hash is no longer used.
  • migrate to Node-first pnpm workspace (npm + JSR)

Features

  • core,worker,config: add per-queue job retention (e7e58d0)
  • core: add PanqueueError base class and SerializationError (d71ce0c)
  • migrate to Node-first pnpm workspace (npm + JSR) (788dd51)

Bug Fixes

  • core: bound JSON payload depth in assertJsonSerializable (e28183d)
  • type redis lua scripts (8260f97)

Code Refactoring

  • config,core: remove concurrency config and meta Redis key (f999d7f)

config: v0.0.2

12 Jun 20:29
dcaecb4

Choose a tag to compare

0.0.2 (2026-06-12)

⚠ BREAKING CHANGES

  • config,core: QueueConfig.concurrency is removed. metaKey() and QueueKeys.meta are removed; the meta hash is no longer used.
  • client: createQueueClient(config) is removed. Use new QueueClient(config) instead. QueueClientOptions is removed; the constructor accepts PanqueueConfig (shared config, types inferred) or QueueClientConfig (standalone). QueueClientConfig.queues is removed.
  • migrate to Node-first pnpm workspace (npm + JSR)
  • config: default global concurrency scope
  • worker: add leases and force shutdown
  • config: QueueConfig.mode now accepts "global" instead of "simple"

Features

  • client: add createQueueClient factory with dual config support (ab97683)
  • config: add shared configuration package with definePanqueueConfig (1985f21)
  • config: default global concurrency scope (f58c241)
  • core,worker,config: add per-queue job retention (e7e58d0)
  • migrate to Node-first pnpm workspace (npm + JSR) (788dd51)
  • worker: add leases and force shutdown (482e8a7)

Bug Fixes

Code Refactoring

  • client: remove createQueueClient, accept PanqueueConfig in constructor (f0e3a8c)
  • config,core: remove concurrency config and meta Redis key (f999d7f)
  • config: rename queue mode from "simple" to "global" (8664e43)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @panqueue/core bumped to 0.0.2

client: v0.0.2

12 Jun 20:29
dcaecb4

Choose a tag to compare

0.0.2 (2026-06-12)

⚠ BREAKING CHANGES

  • client: RedisConnection constructor now accepts a second options argument. Disconnect is permanent — ClientClosedError is thrown on post-disconnect access.
  • client: createQueueClient(config) is removed. Use new QueueClient(config) instead. QueueClientOptions is removed; the constructor accepts PanqueueConfig (shared config, types inferred) or QueueClientConfig (standalone). QueueClientConfig.queues is removed.
  • migrate to Node-first pnpm workspace (npm + JSR)
  • config: default global concurrency scope
  • worker: Job lifecycle accounting replaces attempts with runs, failures, and stalls.

Features

  • add async dispose support and connection promise caching (60542cd)
  • client: add createQueueClient factory with dual config support (ab97683)
  • client: add typed errors, connection lifecycle hooks, and producer defaults (757d4e0)
  • config: default global concurrency scope (f58c241)
  • implement job enqueue with atomic Lua script (0064fa9)
  • migrate to Node-first pnpm workspace (npm + JSR) (788dd51)
  • worker: introduce definition-based worker pools (a1f3a62)

Bug Fixes

Code Refactoring

  • client: remove createQueueClient, accept PanqueueConfig in constructor (f0e3a8c)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @panqueue/config bumped to 0.0.2
      • @panqueue/core bumped to 0.0.2