From c85770a63a7a8481e47250e4a4cb9bdea3768282 Mon Sep 17 00:00:00 2001 From: TonyTonyCoder11 Date: Fri, 30 Oct 2026 01:56:20 +0100 Subject: [PATCH] Release 1.0.2: a notification no longer loops between delegates The four packages go to 1.0.2 together, and the three adapters now ask for flutwire ^1.0.2. flutwireVersion and the podspec follow, which version_test checks. The entries that were waiting under Unreleased are now under [1.0.2], each package has its own changelog entry, and the README says what shipped. --- CHANGELOG.md | 5 ++++- README.md | 2 ++ packages/flutwire/CHANGELOG.md | 4 ++++ packages/flutwire/darwin/flutwire.podspec | 2 +- packages/flutwire/lib/src/version.dart | 2 +- packages/flutwire/pubspec.yaml | 2 +- packages/flutwire_cloud_functions/CHANGELOG.md | 4 ++++ packages/flutwire_cloud_functions/pubspec.yaml | 4 ++-- packages/flutwire_dio/CHANGELOG.md | 4 ++++ packages/flutwire_dio/pubspec.yaml | 4 ++-- packages/flutwire_http/CHANGELOG.md | 4 ++++ packages/flutwire_http/pubspec.yaml | 4 ++-- 12 files changed, 31 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 658b94c..50811dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ board can be cross-checked against what actually shipped. ## [Unreleased] +## [1.0.2] - 2026-10-30 + ### Fixed - On iOS and macOS, a notification that was not Flutwire's closed the app when it was tapped, or when it arrived with the app open, if the app also had Firebase Messaging or another plugin that passes calls on to the delegate it replaces. It happened from the second launch of a build, when the plugin takes the notification center at registration and again when Dart starts. In between, Firebase Messaging takes the center and keeps the plugin as the delegate to pass calls on to, so the second time the plugin remembered Firebase Messaging as its previous delegate, and each handed the call back to the other until the stack ran out. The plugin now keeps every delegate it replaces and hands a call to the newest one that the call has not reached yet. A delegate that hands the call back gets the next one down, none gets the same call twice, and the app's own delegate is reached as before @@ -116,7 +118,8 @@ board can be cross-checked against what actually shipped. - The screens of the inspector work on an injected session instead of reading a global, which lets them be tested against a fake (M33) - Analysis rules for open subscriptions and sinks, dropped futures, catch clauses that name no type, positional booleans and dynamic calls (M33) -[Unreleased]: https://github.com/NaCode-Studios/Flutwire/compare/v1.0.1...HEAD +[Unreleased]: https://github.com/NaCode-Studios/Flutwire/compare/v1.0.2...HEAD +[1.0.2]: https://github.com/NaCode-Studios/Flutwire/compare/v1.0.1...v1.0.2 [1.0.1]: https://github.com/NaCode-Studios/Flutwire/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/NaCode-Studios/Flutwire/compare/v0.2.0...v1.0.0 [0.2.0]: https://github.com/NaCode-Studios/Flutwire/compare/v0.1.0...v0.2.0 diff --git a/README.md b/README.md index 58a6c53..5c67191 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,8 @@ Flutwire ## Roadmap +**Shipped (`1.0.2`).** A notification that is not Flutwire's no longer closes an app that also has Firebase Messaging on iOS and macOS, because the plugin now keeps every delegate it replaces instead of one. [`CHANGELOG.md`](CHANGELOG.md) has the detail. + **Shipped (`1.0.1`).** A call whose answer has no body now ends when its head arrives, and the pulse of the inspector beats a few times and stops, so that an inspector left open no longer keeps the app drawing. [`CHANGELOG.md`](CHANGELOG.md) has the detail. **Shipped (`1.0.0`).** A review of the public API, so that every export names what it makes public and the types that were never meant to be implemented are closed to it, a written [stability policy](STABILITY.md) with its deprecation window, a layout number on the history kept on disk, and a Protobuf decoder checked against what `protoc` writes. [`CHANGELOG.md`](CHANGELOG.md) has the detail. diff --git a/packages/flutwire/CHANGELOG.md b/packages/flutwire/CHANGELOG.md index fb38ac6..828bfa6 100644 --- a/packages/flutwire/CHANGELOG.md +++ b/packages/flutwire/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 1.0.2 + +On iOS and macOS, a notification that was not Flutwire's no longer closes an app that also has Firebase Messaging, or another plugin that passes calls on to the delegate it replaces. The plugin now keeps every delegate it replaces and hands a call to each of them once, where it remembered one and could pass a call back and forth with the plugin that had replaced it. The [repository changelog](https://github.com/NaCode-Studios/Flutwire/blob/main/CHANGELOG.md#102---2026-10-30) has the detail. + ## 1.0.1 A call whose answer has no body, such as a 304, a 204 or the answer to a HEAD request, ends when its head arrives instead of staying pending, and the pulse of the inspector beats a few times and rests instead of running for as long as it is on screen. The [repository changelog](https://github.com/NaCode-Studios/Flutwire/blob/main/CHANGELOG.md#101---2026-10-28) has the detail. diff --git a/packages/flutwire/darwin/flutwire.podspec b/packages/flutwire/darwin/flutwire.podspec index e59fd69..6686500 100644 --- a/packages/flutwire/darwin/flutwire.podspec +++ b/packages/flutwire/darwin/flutwire.podspec @@ -4,7 +4,7 @@ # Pod::Spec.new do |s| s.name = 'flutwire' - s.version = '1.0.1' + s.version = '1.0.2' s.summary = 'Network inspector for Flutter that lives in the notification shade.' s.description = <<-DESC Records the HTTP calls a Flutter app makes and opens them from a notification. diff --git a/packages/flutwire/lib/src/version.dart b/packages/flutwire/lib/src/version.dart index 56bd34e..cd58a55 100644 --- a/packages/flutwire/lib/src/version.dart +++ b/packages/flutwire/lib/src/version.dart @@ -1,3 +1,3 @@ /// The version of this package. A test keeps it equal to the one in the /// pubspec, so a release cannot change one and forget the other. -const String flutwireVersion = '1.0.1'; +const String flutwireVersion = '1.0.2'; diff --git a/packages/flutwire/pubspec.yaml b/packages/flutwire/pubspec.yaml index 18b62a3..796ad65 100644 --- a/packages/flutwire/pubspec.yaml +++ b/packages/flutwire/pubspec.yaml @@ -2,7 +2,7 @@ name: flutwire description: >- Network inspector for Flutter. Records the HTTP calls your app makes, keeps them across restarts, and opens them from a notification in the shade. -version: 1.0.1 +version: 1.0.2 repository: https://github.com/NaCode-Studios/Flutwire issue_tracker: https://github.com/NaCode-Studios/Flutwire/issues funding: diff --git a/packages/flutwire_cloud_functions/CHANGELOG.md b/packages/flutwire_cloud_functions/CHANGELOG.md index 2a690ed..b362755 100644 --- a/packages/flutwire_cloud_functions/CHANGELOG.md +++ b/packages/flutwire_cloud_functions/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 1.0.2 + +Needs `flutwire` 1.0.2 and has no changes of its own. The [repository changelog](https://github.com/NaCode-Studios/Flutwire/blob/main/CHANGELOG.md#102---2026-10-30) lists what the other packages gained. + ## 1.0.1 Needs `flutwire` 1.0.1 and has no changes of its own. The [repository changelog](https://github.com/NaCode-Studios/Flutwire/blob/main/CHANGELOG.md#101---2026-10-28) lists what the other packages gained. diff --git a/packages/flutwire_cloud_functions/pubspec.yaml b/packages/flutwire_cloud_functions/pubspec.yaml index c22d09d..87cf772 100644 --- a/packages/flutwire_cloud_functions/pubspec.yaml +++ b/packages/flutwire_cloud_functions/pubspec.yaml @@ -2,7 +2,7 @@ name: flutwire_cloud_functions description: >- Records the Firebase Cloud Functions an app calls in Flutwire. They go through the native Firebase SDK, so the dart:io capture never sees them. -version: 1.0.1 +version: 1.0.2 repository: https://github.com/NaCode-Studios/Flutwire issue_tracker: https://github.com/NaCode-Studios/Flutwire/issues funding: @@ -26,7 +26,7 @@ dependencies: firebase_core: ">=4.0.0 <6.0.0" flutter: sdk: flutter - flutwire: ^1.0.1 + flutwire: ^1.0.2 dev_dependencies: cloud_functions: ">=6.0.0 <8.0.0" diff --git a/packages/flutwire_dio/CHANGELOG.md b/packages/flutwire_dio/CHANGELOG.md index c053cb8..4764fec 100644 --- a/packages/flutwire_dio/CHANGELOG.md +++ b/packages/flutwire_dio/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 1.0.2 + +Needs `flutwire` 1.0.2 and has no changes of its own. The [repository changelog](https://github.com/NaCode-Studios/Flutwire/blob/main/CHANGELOG.md#102---2026-10-30) lists what the other packages gained. + ## 1.0.1 Needs `flutwire` 1.0.1 and has no changes of its own. The [repository changelog](https://github.com/NaCode-Studios/Flutwire/blob/main/CHANGELOG.md#101---2026-10-28) lists what the other packages gained. diff --git a/packages/flutwire_dio/pubspec.yaml b/packages/flutwire_dio/pubspec.yaml index ad851de..5c73e63 100644 --- a/packages/flutwire_dio/pubspec.yaml +++ b/packages/flutwire_dio/pubspec.yaml @@ -2,7 +2,7 @@ name: flutwire_dio description: >- A Dio interceptor for Flutwire. It records the calls that the dart:io capture cannot see, such as every call on the web. -version: 1.0.1 +version: 1.0.2 repository: https://github.com/NaCode-Studios/Flutwire issue_tracker: https://github.com/NaCode-Studios/Flutwire/issues funding: @@ -24,7 +24,7 @@ dependencies: dio: ^5.2.0 flutter: sdk: flutter - flutwire: ^1.0.1 + flutwire: ^1.0.2 dev_dependencies: flutter_lints: ^6.0.0 diff --git a/packages/flutwire_http/CHANGELOG.md b/packages/flutwire_http/CHANGELOG.md index 0fff62d..5b02f93 100644 --- a/packages/flutwire_http/CHANGELOG.md +++ b/packages/flutwire_http/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 1.0.2 + +Needs `flutwire` 1.0.2 and has no changes of its own. The [repository changelog](https://github.com/NaCode-Studios/Flutwire/blob/main/CHANGELOG.md#102---2026-10-30) lists what the other packages gained. + ## 1.0.1 Needs `flutwire` 1.0.1, which ends a call whose answer has no body when its head arrives: `FlutwireClient` used to leave such a call pending when the app never read the stream. The [repository changelog](https://github.com/NaCode-Studios/Flutwire/blob/main/CHANGELOG.md#101---2026-10-28) lists what the other packages gained. diff --git a/packages/flutwire_http/pubspec.yaml b/packages/flutwire_http/pubspec.yaml index 167f68b..71a47a0 100644 --- a/packages/flutwire_http/pubspec.yaml +++ b/packages/flutwire_http/pubspec.yaml @@ -2,7 +2,7 @@ name: flutwire_http description: >- A package:http client for Flutwire. It records the calls that the dart:io capture cannot see, such as every call on the web. -version: 1.0.1 +version: 1.0.2 repository: https://github.com/NaCode-Studios/Flutwire issue_tracker: https://github.com/NaCode-Studios/Flutwire/issues funding: @@ -23,7 +23,7 @@ resolution: workspace dependencies: flutter: sdk: flutter - flutwire: ^1.0.1 + flutwire: ^1.0.2 http: ^1.0.0 dev_dependencies: