Changelog
Version history for notification-kit. This mirrors the package CHANGELOG.md; the package follows Semantic Versioning.
2.1.1 — 2026-05-27
Post-release polish. No breaking changes — a safe upgrade from 2.1.0.
- Platform detection —
versionnow reports a parsed browser/OS version instead of echoing the full user-agent; tablets are detected (iPad, Android tablets, and iPadOS that masquerades as macOS) soisDesktopno longer misclassifies them. - Scheduling — the relative-delay
inoption now works: it accepts aDuration(e.g.{ minutes: 5 }) or a millisecond number and resolves to an absolute time. Recurring examples use the top-levelevery+onshape. - Documented the difference between the provider-backed permission flow and the standalone
permissionshelper; documented schedule day-rollover. - Removed dead internal code (
FirebaseNativeBridge.validateEnvironmentVariables).
2.1.0 — 2026-05-26
A polish-and-hardening release: dependencies updated to latest stable, a full security/correctness audit remediated, packaging modernized.
Peer dependency requirements raised
@capacitor/core>=8.3.4,@capacitor/local-notifications>=8.2.0,@capacitor/preferences>=8.0.1,@capacitor/push-notifications>=8.1.1firebase>=12.13.0react/react-dom>=19.2.6react-onesignal>=3.5.3(the OneSignal provider was rewritten to the v3 API)
Security
- OneSignal
sendNotification()no longer sends the REST API key from client code — sending must happen on a trusted server (the key is account-level). - In-app notification icons render safely (sandboxed
<img>for image URLs, text otherwise); noinnerHTMLsink remains. config-validatorno longer scansprocess.env; production checks are browser-safe.
Fixes & improvements
isSupported()now reports real per-platform capabilities.- Push events reach
notifications.onPush/onPushOpened; the event envelope no longer corruptsevent.type. - Native local-notification listeners are cleaned up on
destroy(). - Firebase: foreground messages populate top-level
title/body; native FCM works viaPushNotifications.register(); safer token refresh. - OneSignal provider rewritten to the react-onesignal v3 namespaced API.
- Storage: Unicode-safe encoding, working
clear(), per-record TTL. - React hooks: removed a 1 Hz render loop (subscription-based now), fixed listener churn that dropped notifications, added
isPermissionGranted. - Scheduling/date math hardened; formatting edge cases guarded.
- Leveled logger (default
warn) with alocalStorageswitch andsetLevel.
Packaging
- Ships both ESM and CommonJS.
engines.nodelowered to>=20; added"sideEffects": false.- Service-worker templates ship in the package and deploy via
notification-kit-setup. versionis single-sourced frompackage.json.
For the complete history, see CHANGELOG.md in the package repository.