Skip to content

Changelog

Version v0.6.0

What’s Changed

Features

  • Batch startJobChains API — Create multiple job chains in a single operation via client.startJobChains(), with full type-safe return values and optimized database round-trips for PostgreSQL (unnest + CTE-based batch inserts)
  • Savepoint-protected user callbacks — prepare and complete callbacks during job processing now run inside database savepoints on PostgreSQL. If a user callback executes a failing SQL statement, only the savepoint is rolled back — the outer transaction remains usable for error handling (reschedule, retry, etc.)
  • Optional withSavepoint on StateAdapter — Custom state adapter authors can implement withSavepoint to opt into savepoint protection. The PostgreSQL adapter implements this automatically

Breaking Changes

  • StateAdapter interface updated — createJob/addJobBlockers (singular) replaced by createJobs/addJobsBlockers (plural/batched). Custom state adapter implementations must update to the new array-based signatures. The official PostgreSQL and SQLite adapters are already updated
  • Removed type exports — CompleteJobChainResult and JobChainCompleteOptions are no longer exported from queuert (now internal types prefixed with _)

Packages

All packages released at 0.6.0: queuert, @queuert/postgres, @queuert/sqlite, @queuert/redis, @queuert/nats, @queuert/otel, @queuert/dashboard.