5 New Transports, 2 Channels, Bun Support, and More
Announcing Web Push, GitHub notifications, Autosend, Selligent, and OneSignal transports — plus Bun runtime support and catalog channel inference.

This week we shipped 5 new transport packages, 2 new channel types, Bun runtime support, and type-level catalog channel inference.
New Channels
Web Push
@betternotify/webpush adds browser push notifications with VAPID transport. Define a push route in your catalog and your client gets a typed .send() that delivers through the Web Push protocol. No third-party service required. See the Web Push channel and VAPID transport docs.
npm install @betternotify/webpushimport { webpushChannel } from '@betternotify/webpush';
import { vapidTransport } from '@betternotify/webpush/transports';
const rpc = createNotify({
channels: { webpush: webpushChannel() },
});GitHub
@betternotify/github makes GitHub a first-class notification channel. Create issues, post discussion comments, or trigger repository dispatch events through the same typed pipeline your emails and SMS use. See the GitHub channel and GitHub transport docs.
npm install @betternotify/githubNew Email Transports
Autosend
@betternotify/autosend adds Autosend as an email transport. Use it standalone or pair it with multiTransport for failover alongside SMTP or Resend. See the Autosend transport docs.
npm install @betternotify/autosendSelligent (Marigold Engage)
@betternotify/selligent connects to Selligent's transactional email API (now Marigold Engage). If your organization already uses Selligent for marketing automation, you can route transactional emails through the same platform with full type safety. See the Selligent transport docs.
npm install @betternotify/selligentMulti-Channel Transport
OneSignal
@betternotify/onesignal is our first multi-channel transport package. One install gives you push, email, and SMS delivery through OneSignal's unified API. Each channel registers its own transport key (onesignal-push, onesignal-email, onesignal-sms), so you can mix OneSignal with other providers per channel. See the OneSignal push, email, and SMS transport docs.
npm install @betternotify/onesignalCore Upgrades
Catalog Channel Inference
The catalog now infers which channels your app uses at the type level. You no longer need to list channels manually; TypeScript reads them from your route definitions.
Bun Runtime Support
Better-Notify now runs on Bun. CI tests against both Node.js and Bun.
fromLogger Adapter
fromLogger() wraps loggers that lack a .child() method (Winston, console, custom loggers) into a LoggerLike without requiring you to implement the full interface.
Get Started
Scaffold a new project:
npx create-better-notify@latestOr add any of the new transports to an existing project:
npm install @betternotify/webpush @betternotify/github @betternotify/onesignal @betternotify/autosend @betternotify/selligentFull docs at better-notify.com/docs. Source on GitHub. For the complete per-package change list, see the changelog.
Share this post
Follow Better-Notify