Repository navigation
v0.1.11
馃摝 npm package: https://www.npmjs.com/package/notifkit/v/0.1.11
What's New in v0.1.11
- Workflow Cancellation: Cancel running workflow instances. A run already in progress stops at the next step boundary. Requires the new
0007_workflow_status_canceledmigration. - Send Gating at Release: Scheduled, quiet-hours-deferred and retried sends are checked again against suppressions, opt-outs and contacts when they're released. Users who unsubscribe or bounce while a send is waiting no longer receive it.
- Delivery Idempotency: Two-phase idempotency leases prevent duplicate sends when workers collide or a provider responds slowly. Set
IDEMPOTENCY_TTL_SECONDS(default 1h) to control how long internal deduplication lasts.X-Idempotency-Keyvalues are still kept for 24h. - Redis Recovery: After Redis data loss, scheduled queues are rebuilt from PostgreSQL and consumer groups are re-created. Stale pending messages are reclaimed when a worker starts.
- Security Fix:
TRUST_PROXYnow only acceptstrueor1. Previously,TRUST_PROXY=falseenabled proxy trust, which let spoofedX-Forwarded-Forheaders get around login and unsubscribe rate limits. - Performance: Batched stream ACKs and publishes, Redis auto-pipelining, pre-compiled Lua scripts, an O(1) sliding-window rate limiter with in-memory token leasing, faster auth and routing, and bulk SQL inserts. New
DELIVERY_CONCURRENCYandPIPELINE_FUSEDoptions. - Queue Defaults:
QUEUE_MAX_LENnow defaults to 100,000 (was 10,000,000), and acked stream entries are deleted to keep Redis memory bounded. - Fixes: Graceful shutdown ordering, profile
attributesmerging instead of being replaced, dashboard queue depth based on consumer-group lag, and the SDK client handling non-JSON error responses. - Transports: Resend escapes HTML in text-only emails. Telegram and Discord no longer send
undefinedfor subject-only templates. Console transport gains alatencyMsoption for simulating latency. MCP bulk sends now reach chat channels.
Packages
@notifkit/mcp: https://www.npmjs.com/package/@notifkit/mcp/v/0.1.4@notifkit/provider-resend: https://www.npmjs.com/package/@notifkit/provider-resend/v/0.1.4@notifkit/provider-console: https://www.npmjs.com/package/@notifkit/provider-console/v/0.1.2@notifkit/provider-discord: https://www.npmjs.com/package/@notifkit/provider-discord/v/0.1.2@notifkit/provider-fcm: https://www.npmjs.com/package/@notifkit/provider-fcm/v/0.1.2@notifkit/provider-slack: https://www.npmjs.com/package/@notifkit/provider-slack/v/0.1.1@notifkit/provider-telegram: https://www.npmjs.com/package/@notifkit/provider-telegram/v/0.1.1@notifkit/provider-twilio: https://www.npmjs.com/package/@notifkit/provider-twilio/v/0.1.1@notifkit/provider-whatsapp: https://www.npmjs.com/package/@notifkit/provider-whatsapp/v/0.1.1
Install
npm install notifkit@0.1.11