Cloud Native Notifications Library
Contributors
Changelog
v7.1.2 — 2026-08-01
Dependency-maintenance patch across all packages: refreshes runtime and dev dependencies and makes the release workflow's publish steps uniform. No API or behavior changes.
Internal
- upgrade code quality dependencies: @biomejs/biome 2.5.1→2.5.6, vitest & @vitest/coverage-v8 4.1.9→4.1.10 (140fa0e, #624)
- upgrade tsdown 0.22.3→0.22.14 and tsx 4.22.4→4.23.1 build tooling (945ab57, #625)
- upgrade docula 2.1.0→2.2.0 (5ef1297, #626)
- upgrade hookified 3.0.1→3.0.2 — `airhorn` runtime dep (eabf4f0, #627)
- upgrade writr 6.1.3→6.1.5 — `airhorn` runtime dep (b0ec808, #628)
- upgrade @aws-sdk/client-ses & @aws-sdk/client-sns 3.1076.0→3.1099.0 — `@airhornjs/aws` runtime deps (c713281, #629)
- upgrade pingram 1.0.14→1.0.16 — `@airhornjs/pingram` runtime dep (c9e9639, #630)
- make release.yml publish steps uniform now that pingram is published (60803d0, #623)
Contributors
- @jaredwray (8)
Full List of Changes
- ci: make release.yml publish steps uniform now that pingram is published by @jaredwray in #623
- mono - chore: upgrade code quality dependencies by @jaredwray in #624
- mono - chore: upgrade tsdown and tsx build tooling by @jaredwray in #625
- mono - chore: upgrade docula by @jaredwray in #626
- airhorn - chore: upgrade hookified by @jaredwray in #627
- airhorn - chore: upgrade writr by @jaredwray in #628
- aws - chore: upgrade AWS SDK dependencies by @jaredwray in #629
- pingram - chore: upgrade pingram by @jaredwray in #630
Full diff: https://github.com/jaredwray/airhorn/compare/v7.1.1...v7.1.2
airhorn v7.1.1 — 2026-07-05
Adds the new `@airhornjs/pingram` provider (SMS, Email, Mobile Push) and refreshes runtime and build dependencies across the workspace. No breaking changes.
Features
-
New provider `@airhornjs/pingram` — send SMS, Email, and Mobile Push through Pingram with a single API key, plus typed provider-level `sendDefaults` (`templateId`, `parameters`, `schedule`, and channel content defaults) that merge beneath message-derived values (#618)
```ts
import { Airhorn, AirhornSendType } from 'airhorn';
import { AirhornPingram } from '@airhornjs/pingram';const airhorn = new Airhorn({
providers: [new AirhornPingram({ apiKey: 'pingram_sk_...', region: 'us' })],
});// One API key covers SMS, Email, and Mobile Push
await airhorn.send(
'+16175551212', // to (E.164)
{ from: '+1234567890', content: 'Order shipped!' }, // template
{}, // template data
AirhornSendType.SMS,
);
```
Dependencies
airhorn
- `ecto` `^4.8.7` → `^5.0.0` (#617) — ecto's major is internal; airhorn's public API and `>=22.18.0` engine floor are unchanged, so no consumer action is required
- `cacheable` `^2.3.5` → `^2.5.0` (#616)
- `hookified` `^3.0.0` → `^3.0.1` (#613)
- `writr` `^6.1.2` → `^6.1.3` (#615)
@airhornjs/aws
- `@aws-sdk/client-ses` & `@aws-sdk/client-sns` `^3.1057.0` → `^3.1076.0` (#612)
Internal
- Upgrade monorepo tooling: pnpm `11.5.0` → `11.9.0` (#614), docula `2.0.0` → `2.1.0` (#611), tsx `4.22.3` → `4.22.4` + tsdown `0.22.1` → `0.22.3` (#610), biome `2.4.16` → `2.5.1` + vitest `4.1.7` → `4.1.9` (#609)
- Harden the release pipeline: gate publishing on a `setup-test-build` job (install/build/test:ci) that `setup-release` now `needs`, scope `id-token: write` to the publish job, and add an `npm` deployment environment (#619)
Contributors
- @jaredwray (11 PRs)
Full List of Changes
- mono - chore: upgrade code quality dependencies by @jaredwray in #609
- mono - chore: upgrade TypeScript and build tooling by @jaredwray in #610
- mono - chore: upgrade docula by @jaredwray in #611
- aws - chore: upgrade AWS SDK dependencies by @jaredwray in #612
- airhorn - chore: upgrade hookified by @jaredwray in #613
- mono - chore: upgrade monorepo tooling (pnpm 11.9.0) by @jaredwray in #614
- airhorn - chore: upgrade writr by @jaredwray in #615
- airhorn - chore: upgrade cacheable by @jaredwray in #616
- airhorn - chore: upgrade ecto (breaking) by @jaredwray in #617
- pingram - feat: add @airhornjs/pingram provider for SMS, Email, and Mobile Push by @jaredwray in #618
- ci: gate release on a test/build job and add deployment environment by @jaredwray in #619
Full diff: https://github.com/jaredwray/airhorn/compare/v7.0.0...v7.1.1
airhorn v7.0.0 — 2026-06-02
Major release: airhorn requires Node >=22.18.0 and moves to hookified v3; the Twilio provider moves to twilio v6.
⚠ BREAKING CHANGES
- airhorn now requires Node.js `>=22.18.0` (was `>=20`) and upgrades `hookified` to v3 (#605, #588)
Migration: upgrade your runtime to Node 22.18.0+. `Airhorn` extends `Hookified`, so if you rely on its hook/event API surface, review the hookified v3 release notes. - @airhornjs/twilio now requires Node.js `>=22.0.0` (no floor before) and upgrades the `twilio` SDK to v6 (#590, #603)
Migration: upgrade to Node 22+. The provider's own API is unchanged; if you also import `twilio` directly, follow the twilio v6 migration guide.
Dependencies
airhorn
- `hookified` `^2.1.1` → `^3.0.0` (#588, #605)
- `cacheable` `^2.3.4` → `^2.3.5`, `ecto` `^4.8.3` → `^4.8.7` (#587, #604)
- `writr` `^6.1.1` → `^6.1.2` (#589)
@airhornjs/aws
- `@aws-sdk/client-ses` & `@aws-sdk/client-sns` `^3.1024.0` → `^3.1057.0` (#586, #591, #601)
@airhornjs/azure
- `@azure/notification-hubs` `^2.0.2` → `^2.1.0` (#602)
- `@azure/communication-sms` `^1.1.0` → `1.2.0-beta.4` (#592)
@airhornjs/twilio
- `twilio` `^5.13.1` → `^6.0.2` (#590, #603)
Internal
- Publish via npm Trusted Publishing (OIDC) with signed provenance; add `repository` metadata required for provenance (#608)
- Migrate build tooling from tsup to tsdown (#606)
- Migrate to pnpm 11 with corepack and Node 22/24/26 CI (#597)
- Upgrade typescript to 6.0.3 (#585), docula to 2.0.0 (#584, #599), GitHub Actions to latest majors (#600)
- Dev-dependency upgrades: biome, vitest, tsx, @types/node, and other code-quality tools (#581, #582, #583, #596, #598)
Contributors
- @jaredwray (24 PRs)
Full List of Changes
- version sync by @jaredwray in 70c31cd
- mono - fix: upgrade vitest and @vitest/coverage-v8 from 4.1.2 to 4.1.5 by @jaredwray in #581
- mono - fix: upgrade @biomejs/biome from 2.4.10 to 2.4.13 by @jaredwray in #582
- airhorn - fix: upgrade hookified from 2.1.1 to 2.2.0 by @jaredwray in #588
- mono - fix: pin @types/node to Node 24 LTS (from ^25.5.2 to ^24.12.2) by @jaredwray in #583
- airhorn - fix: upgrade writr from 6.1.1 to 6.1.2 by @jaredwray in #589
- airhorn - fix: upgrade ecto from 4.8.3 to 4.8.4 by @jaredwray in #587
- @airhornjs/aws - fix: upgrade @aws-sdk/client-ses and @aws-sdk/client-sns from 3.1024.0 to 3.1039.0 by @jaredwray in #586
- @airhornjs/twilio - fix: upgrade twilio from 5.13.1 to 6.0.0 (breaking) by @jaredwray in #590
- mono - fix: upgrade typescript from 5.9.3 to 6.0.3 (breaking) by @jaredwray in #585
- mono - fix: upgrade docula from 1.12.0 to 1.14.0 by @jaredwray in #584
- @airhornjs/azure - fix: upgrade @azure/communication-sms to 1.2.0-beta.4 by @jaredwray in #592
- @airhornjs/aws - fix: upgrade @aws-sdk/client-ses and @aws-sdk/client-sns to 3.1040.0 by @jaredwray in #591
- feat: Migrate to pnpm 11 with corepack and Node 22/24/26 CI by @jaredwray in #597
- mono - chore: upgrade code quality dependencies by @jaredwray in #596
- mono - chore: upgrade tsx to 4.22.3 by @jaredwray in #598
- mono - chore: upgrade docula to 2.0.0 (major) by @jaredwray in #599
- mono - chore: upgrade GitHub Actions to latest major versions by @jaredwray in #600
- @airhornjs/aws: upgrade @aws-sdk/client-ses and @aws-sdk/client-sns to 3.1057.0 by @jaredwray in #601
- @airhornjs/azure: upgrade @azure/notification-hubs to 2.1.0 by @jaredwray in #602
- @airhornjs/twilio: upgrade twilio to 6.0.2 by @jaredwray in #603
- airhorn: upgrade cacheable to 2.3.5 and ecto to 4.8.7 by @jaredwray in #604
- airhorn: upgrade hookified to 3.0.0 by @jaredwray in #605
- chore: Migrate build tooling from tsup to tsdown by @jaredwray in #606
- ci: publish via npm Trusted Publishing (OIDC) with provenance by @jaredwray in #608
Full diff: https://github.com/jaredwray/airhorn/compare/v6.0.1...v7.0.0