Changelog
Version v0.2.0
Highlights
This release brings OpenTelemetry observability, runtime job validation, a NATS notify adapter, and significant API improvements with several breaking changes.
Breaking Changes
- API split:
createQueuertsplit intocreateQueuertClientandcreateQueuertInProcessWorkerfor clearer separation of concerns - Adapter API simplified: Removed
provideContext, madetxContextoptional - Log API changed: Tuple args replaced with named
data/errorproperties - Renamed
JobSequencetoJobChainacross the entire API - Simplified
migrateToLatestAPI: Removed nested transaction support
New Features
- ObservabilityAdapter (
@queuert/otel): Full OpenTelemetry integration with histogram metrics for duration tracking and gauge metrics for worker idle/processing state - JobTypeRegistry: Compile-time and runtime validation with schema adapters for Zod, Valibot, and TypeBox
- NATS notify adapter (
@queuert/nats): New notify adapter with optional JetStream KV support - Job attempt middlewares: Contextual logging support during job processing
- Deferred scheduling: Schedule jobs for future execution via
scheduleoption - Thundering herd optimization: Hint-based notification system to reduce unnecessary polling
Improvements
- Single-statement migrations for cleaner provider implementations
- Restructured documentation into modular design docs
- Reorganized examples to single-purpose design with clear naming conventions
- Relaxed peer dependency version constraints for nats and otel
- Safe SQL literal helpers (
pgLiteral,sqliteLiteral) - Dual-context type separation in StateAdapter
Bug Fixes
- Prevent context leakage to independent chains during job processing
- Fix orphaned timers blocking process exit
- Correct
GetStateAdapterJobIdtype extraction for dual-context adapters - Suppress
notify_context_absencewarning when notify adapter is not set
Packages
All packages released at 0.2.0: queuert, @queuert/postgres, @queuert/sqlite, @queuert/redis, @queuert/nats, @queuert/otel.