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.

Lucas Reis·
releaseannouncementtransportschannels
5 New Transports, 2 Channels, Bun Support, and More

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/webpush
import { 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/github

New 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/autosend

Selligent (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/selligent

Multi-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/onesignal

Core 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@latest

Or add any of the new transports to an existing project:

npm install @betternotify/webpush @betternotify/github @betternotify/onesignal @betternotify/autosend @betternotify/selligent

Full 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