From 8528b611ff0e3e5095bd7c35eaed0162074ff2df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C4=B1lcan=20=C3=87ak=C4=B1r?= Date: Wed, 19 Aug 2026 15:05:34 +0300 Subject: [PATCH] chore(release): 0.0.3 (magic ^0.0.6) Releases the socket-driven notification state added in #12: `Notify.startRealtime()` takes the bell off its 30-second timer and onto the app's broadcast connection, with polling kept as the fallback in both directions (no driver configured, or a socket that dropped). The `magic` floor moves to `^0.0.6` with it, for `Echo.connection`. That accessor is what lets the realtime path tell an open connection from a closed one, and without it magic's Reverb driver opens a SECOND WebSocket on a redundant `connect()` rather than refusing. A `0.0.z` caret pins the patch digit, so `^0.0.5` resolved exactly 0.0.5, which has no such accessor. **This release does not break the existing consumers, and does not reach them either.** `magic_starter` and `magic_example` both require `magic_notifications: ^0.0.2`, which under the same `0.0.z` caret rule means `<0.0.3`: they keep resolving 0.0.2 and are untouched. Adopting the feature there is a bump in each of those repositories, which also drags their own release train, so it is deliberately not part of this commit. `uptizm` needs nothing: it consumes this package by path, both locally and in CI. Also corrects two version pins that were already stale before this release: the README install snippet (0.0.2) and `CLAUDE.md`'s header, which still said 0.0.1. Verified with exactly the gate `publish.yml` runs (pub get, analyze, format, 297 tests) plus a `pub publish --dry-run`, whose only warning was these uncommitted files. The suite was also re-run with the local path override removed so it resolved the PUBLISHED magic 0.0.6 that a real consumer gets. --- CHANGELOG.md | 2 ++ CLAUDE.md | 2 +- README.md | 2 +- pubspec.yaml | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 42bf4fc..4b546b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## [Unreleased] +## [0.0.3] - 2026-08-19 + ### Added - **Notification state can arrive over a socket instead of being polled for.** `Notify.startRealtime(channel: ...)` subscribes to the notifiable's private broadcast channel and applies each `notification.created` frame straight to the stream, so a new notification shows up when the server sends it rather than up to 30 seconds later. The frame carries the whole row in the same shape `GET /notifications` returns, so no HTTP follows it. - `Notify.stopRealtime()`, `Notify.isRealtime` and `Notify.isPolling`. diff --git a/CLAUDE.md b/CLAUDE.md index e28653d..35a31f8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,7 +2,7 @@ Flutter push and database notification plugin for the Magic Framework. In-app polling + OneSignal (mobile/web) via `onesignal_flutter` package. -**Version:** 0.0.1 · **Dart:** >=3.6.0 · **Flutter:** >=3.27.0 +**Version:** 0.0.3 · **Dart:** >=3.6.0 · **Flutter:** >=3.27.0 ## Commands diff --git a/README.md b/README.md index 8f192a1..82ff382 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ Managing notifications in Flutter means juggling multiple channels — database ```yaml dependencies: - magic_notifications: ^0.0.2 + magic_notifications: ^0.0.3 ``` ### 2. Install configuration diff --git a/pubspec.yaml b/pubspec.yaml index ab3e38f..3054d41 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: magic_notifications description: Multi-channel notification system for Magic Framework. Supports database (in-app), push (OneSignal), and mail channels. -version: 0.0.2 +version: 0.0.3 homepage: https://magic.fluttersdk.com/notifications documentation: https://magic.fluttersdk.com/packages/notifications/getting-started/installation repository: https://github.com/fluttersdk/magic_notifications