Skip to content

Changelog

Version v0.9.5

What’s Changed

Features

  • Deduplication: excludeJobChainIds option — Skip specific chain IDs during deduplication matching, useful for recurring self-scheduling jobs that would otherwise deduplicate against their own still-incomplete chain
  • Dashboard: Cascade delete for job chains — New “Cascade delete” checkbox in the delete dialog that removes all transitive blocker chains. Also available via ?cascade=true query parameter on DELETE /api/chains/:id
  • Client type covariance — Client<A | B> is now assignable to Client<A>, fixing type errors when passing multi-job-type clients to code that only cares about a subset
  • Compile-time validation for createJobTypeProcessorRegistry — TypeScript now produces a clear error naming missing job types if the client doesn’t cover all required types
  • New public exports — BaseTxContext, HookDef, and TransactionHooksSavepoint are now exported from queuert
  • Cleanup guide and example — New documentation and showcase example for cleaning up completed job chains

Breaking Changes

  • createDashboard() is now async — callers must await it
  • DeduplicationOptions is now generic (DeduplicationOptions<TJobId>)

Packages

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