Changelog
Version v0.11.0
What’s Changed
Features
- Public in-process adapters.
createInProcessStateAdapterandcreateInProcessNotifyAdaptermoved fromqueuert/internalto the mainqueuertentry. The in-process state adapter was rewritten around per-type sorted sets and a journal-based rollback log. - New
queuert/conformancesubpath export. Framework-agnostic conformance runner (runStateAdapterConformance,runNotifyAdapterConformance,ConformanceError,ConformanceReport) with a built-inexpectshim, for users authoring custom adapters. Documented under Advanced → Custom Adapters. client.deleteJobChain(id, …)— new singular API, symmetric todeleteJobChains. Returns the deleted chain orundefinedif missing; throwsBlockerReferenceErrorif external jobs depend on it; supportscascade.client.triggerJobs(ids, …)— new plural API. Atomic validation: throwsJobNotFoundError/JobNotTriggerableErrorfor the first invalid job before any job is triggered; returns jobs in input order; empty input returns[].- Redis Cluster support (
@queuert/redis). SET+PUBLISH Lua script passes the pub/sub channel viaARGVinstead ofKEYS, avoidingCROSSSLOTrejection on Redis Cluster. New examples forioredisandnode-rediscluster clients. - Optional
withSavepointhook onPgStateProviderandSqliteStateProvider— drivers that track transaction state client-side (e.g. postgres.js) can override the defaultSAVEPOINT/RELEASE/ROLLBACK TOSQL path with native savepoint support. Job<…>gained aTOutputgeneric parameter — the completed variant now carriesoutput.- New guides and examples: Prioritization guide (with
showcase-multiworker-prioritizationexample) and Processing Reliability / error recovery guide (withshowcase-error-recoveryexample).
Breaking Changes
runInTransactionrenamed towithTransactiononStateAdapter,PgStateProvider,SqliteStateProvider.HookDefrenamed toHookDefinition.createPgNotifyAdapter/createRedisNotifyAdapter: optionproviderrenamed tonotifyProvider.createInProcessStateAdapterandcreateInProcessNotifyAdapterare now async and must beawait-ed.- In-process adapters moved from
queuert/internaltoqueuert. client.deleteJobChainno longer throwsJobChainNotFoundErrorfor missing chains — it returnsundefinedinstead.StateAdaptercontract:triggerJobreplaced bytriggerJobs(bucketedtriggered/notFound/notTriggerableresult);deleteJobChainsreturns{ deleted, blockerRefs }; the adapter enforces blocker validation in one all-or-nothing statement.executeSqlinPgStateProvider/SqliteStateProvidernow takes typed SQL hints (paramTypes,columnTypes) instead of a booleanreturnsflag. Custom providers must update accordingly.pgLiteralremoved from@queuert/postgresentry;sqliteLiteralremoved from@queuert/sqliteentry.
Packages
All packages released at 0.11.0: queuert, @queuert/postgres, @queuert/sqlite, @queuert/redis, @queuert/nats, @queuert/otel, @queuert/dashboard.