Skip to content

Releases: rhymiz/simple-tasks

Release 3.0.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 13:31
580299e

Version 3 validates task payloads at the Redis boundary and waits for worker connections before reporting startup success.

Breaking changes:

  • Every task requires a synchronous parse(value: unknown) function. Enqueue and schedule calls validate the serialized payload; workers validate persisted payloads before calling handlers, and scheduler reads validate template data.
  • Import defineTask from @rhymiz/simple-tasks, runAllWorkers from @rhymiz/simple-tasks/runtime, closeAllQueues from @rhymiz/simple-tasks/queues, and public types from @rhymiz/simple-tasks/types.
  • runAllWorkers() returns common TaskWorker lifecycle handles and rejects if connections fail or exceed startupTimeoutMs (10 seconds by default). No selected worker starts processing until all connections are ready.

The registry now retains task-specific types through worker factories without casts. Package checks install the npm tarball into a clean consumer and verify both runtime imports and TypeScript contracts.

Validated with BullMQ 5.58.8, 5.81.4, 6.0.0, and 6.3.4: build, typecheck, lint, 23 unit tests, installed package checks, Bun and Node Redis integration, scheduler E2E, and startup timeout/socket cleanup.

Migration instructions

Release 2.0.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 02:33
9d3ec34

Adds BullMQ 6 support and fixes queue routing, scheduler defaults, Node ESM imports, and connection lifecycle handling.

Upgrade requirements

  • Requires BullMQ >=5.58.8 <7. Earlier versions can silently ignore scheduler payload updates.
  • Resolved task queue names must be unique; ambiguous names and prefixes now throw.
  • Invalid Redis ports and worker settings now fail before startup.
  • Before upgrading to BullMQ 6, migrate legacy repeatable jobs while still on v5. Replace repeat enqueues with task.schedule, debounce with deduplication, and utc: true with tz: 'UTC'. See BullMQ's migration guide.

Fixes and additions

  • Published ESM imports resolve correctly in Node.
  • Queue and worker configuration accept omitted connections; workers inherit producer connection and Redis key prefix unless explicitly overridden.
  • Scheduler templates filter incompatible options from every defaults layer.
  • Producer connections open lazily and can be closed with the new closeAllQueues() export.
  • Handlers receive the BullMQ lock token and, where supported, cancellation signal.
  • Producer retries use bounded defaults; worker startup errors clean up previously created workers.
  • Includes the default Redis driver required by fresh BullMQ 6 installations.

Validation

Build, typechecking, lint, 14 unit tests, package imports, and Redis integration passed against BullMQ 5.58.8, 5.81.4, 6.0.0, and 6.3.4 on Bun and Node. CI runs the compatibility matrix before npm publication.

Release 1.0.0

Choose a tag to compare

@github-actions github-actions released this 19 May 14:33
d6a36fc
v1.0.0

Release 1.0.0

Release 0.2.5

Choose a tag to compare

@github-actions github-actions released this 12 Feb 22:41
c526034
v0.2.5

0.2.5

Release 0.2.4

Choose a tag to compare

@github-actions github-actions released this 02 Jan 20:17
33b6879
v0.2.4

0.2.4

Release 0.2.3

Choose a tag to compare

@github-actions github-actions released this 02 Jan 20:16
8af6994
v0.2.3

0.2.3

Release 0.1.4

Choose a tag to compare

@github-actions github-actions released this 22 Nov 01:01
bbe9d4c
v0.1.4

0.1.4

Release 0.1.2

Choose a tag to compare

@github-actions github-actions released this 22 Nov 00:53
c2fd932
v0.1.2

0.1.2

Release 0.1.1

Choose a tag to compare

@github-actions github-actions released this 09 Nov 19:26
e1e219b
v0.1.1

0.1.1