Changelog
Version v0.3.0
Highlights
This release adds a web dashboard, client query API with pagination, distributed tracing across job chains, transaction hooks for safe side-effect buffering, and a major documentation site — alongside extensive API refinements and breaking changes.
Breaking Changes
- Type exports cleaned up: Reference types renamed for consistency
- Error classes redesigned: Improved error hierarchy and client API consistency
- State adapter methods renamed: Clearer naming conventions across all adapters
waitForJobChainCompletion→awaitJobChain: Simplified chain awaiting API- Blockers extracted: Moved from
Jobbase type to separateJobWithBlockerswrapper - Trace context split: Separated into distinct chain and job trace fields
CommitHooks→TransactionHooks: Renamed with added discard supportwithNotifyreplaced: ExplicitCommitHooks/TransactionHooksfor side-effect bufferingchain_indexadded: Deterministic chain ordering and continuation deduplicationoriginIdremoved: Deduplication key used for continuations insteadrootChainIdremoved: Unified chain deletion modelstartBlockerscallback →blockersarray: Simplified blocker declaration- State adapter retry wrapper removed: Retry logic no longer built into adapters
updatedAtremoved: Dropped fromStateJoband database schema- API naming simplified: Removed redundant
Queuertprefix from exports - Worker config simplified: Reduced property verbosity
- Deduplication API renamed:
strategy→scope - Worker redesigned: Parallel slot-based execution model
createInProcessWorkeraccepts client: Takes client instance instead of individual adapters- OTEL metric prefix hardcoded: Removed messaging semantic convention attributes
deleteJobChainsreturns deleted chainsacquireJobreturnshasMore
New Features
@queuert/dashboard: Embeddable SolidJS web dashboard for job queue observation- Client query methods:
queryJobsandqueryJobChainswith pagination and type narrowing - Distributed tracing: Full trace context persistence across job chains with OTEL blocker spans
- Transaction hooks: Buffer observability events via transaction lifecycle hooks
- Cascade deletion:
cascadeoption ondeleteJobChainsfor transitive dependency removal - Table prefix (
@queuert/postgres): Configurable table name prefix - State adapter conformance test suite (
queuert/testing): Shared test harness for adapter implementations - Migration version tracking (
@queuert/postgres,@queuert/sqlite): Track applied migration versions - Documentation site: Astro-based docs with TSDoc and explicit API types
Bug Fixes
- Add NOT NULL constraint to
chain_idcolumn (postgres, sqlite) - Scope deduplication key by chain type name
- Assign
continuedJobin workerlesscontinueWithpath - Fix transaction handling rework
- Remove notification listeners before releasing pool client (postgres)
- Only subscribe to job notifications when worker has idle slots
- Prevent workers from reaping their own in-progress jobs with concurrent slots
Packages
All packages released at 0.3.0: queuert, @queuert/dashboard, @queuert/postgres, @queuert/sqlite, @queuert/redis, @queuert/nats, @queuert/otel.