api_track_inspector 2.0.0
api_track_inspector: ^2.0.0 copied to clipboard
Dependency-free Flutter network inspector for debug builds. Logs any HTTP client (Dio, http, chopper) and shows requests in an in-app viewer behind a draggable FAB.
Changelog #
All notable changes to this package will be documented in this file.
2.0.0 #
The package now has zero runtime dependencies. A debugging tool should not
dictate your app's architecture — it works the same under Bloc, Riverpod,
Provider, GetX or plain setState, and can no longer drag your transitive
dependency versions around.
Removed dependencies #
get(GetX) —NetworkInspectorServiceis now a plainChangeNotifierinstead of aGetxService, the dialog is a normalshowDialogroute closed withNavigator.pop, and the copy confirmation is a self-contained toast instead ofGet.snackbar. NoGet.key, noGetMaterialApp, no navigator key of any kind is required.flutter_screenutil— every.w/.h/.sp/.ris gone. This was a latent crash: those extensions readlatefields, so the inspector threwLateInitializationErrorin any app that did not wrap its root inScreenUtilInit. Sizes are now plain logical pixels.gap— replaced withSizedBox.share_plus— export and share now copy to the clipboard by default. PassonShare:to route them to a native share sheet with the plugin of your choice. This also removes the oldshare_plus 7.xconstraint, which pinnedwin32 <6.0.0and silently forcedpackage_info_plusdowngrades in host apps.
Breaking #
NetworkInspector.showDialog()→NetworkInspector.show(BuildContext).NetworkInspector.onRequest/onResponse(GetConnect helpers) removed — their signatures took GetX types. UselogRequest/logResponse.NetworkInspector.setRequestBody()removed — passbody:tologRequest.NetworkInspectorServiceextendsChangeNotifier, notGetxService;logsis now an unmodifiable list.- Minimum SDK raised to Flutter
>=3.27.0/ Dart>=3.6.0. The previous>=3.0.0constraint was inaccurate — the code already usedColor.withValues(Flutter 3.27+) and would fail to compile on older SDKs.
See the README's "Migrating from 1.x" table. Pin 1.1.18 to stay on the GetX
implementation.
Fixed #
- Duplicate log ids. Ids came from
DateTime.now().millisecondsSinceEpoch, so two requests fired in the same millisecond shared an id and the first response completed the wrong entry. Ids are now microsecond-based with a counter suffix. - FAB could not open the inspector. Mounting via
MaterialApp.builderputs the FAB above the app's Navigator, so a route-based dialog could not be pushed from it — 1.x only worked around this through GetX's global key. The FAB now presents the inspector directly. - Average duration was skewed by counting only timed requests in the numerator while the empty case returned a double.
- Log cards now carry a
ValueKey, so list updates no longer risk reusing element state across entries.
Added #
onShareconfiguration hook.NetworkInspector.maybeService— null instead of throwing.NetworkInspector.reset()— tear down and drop logs, for tests.- A test suite (22 tests); the package previously shipped none.
1.1.18 #
- README: use
raw.githubusercontent.comURLs for screenshot<img>tags so images load on pub.dev (relativedoc/screenshots/...paths in HTML are not resolved on the package page).
1.1.17 #
- Refreshed
doc/screenshots/*.pngfromreview_before_pub(01–05, including04_error.png).
1.1.16 #
- Declare five
screenshotsinpubspec.yamlso pub.dev serves them from the package (avoids broken README images fromraw.githubusercontent.comwhen GitHub is out of sync or blocks embedding). - README: replace the wide screenshot table with fixed-width inline previews using paths under
doc/screenshots/; clarify carousel vs README. - Published
doc/screenshots/*.pngmatchdoc/screenshots/review_before_pub/01–05(same files and order: list, POST detail, bodies, error detail, 403 headers/response).
1.1.15 #
- README screenshots normalized to a uniform 738×1600 canvas (from
review_before_puborder: list, POST detail, bodies, forbidden error, 403 headers/response).
1.1.14 #
- Confirmed README screenshots match
doc/screenshots/review_before_pub(unaltered PNGs);review_before_pubis excluded from the published package via.pubignoreto avoid duplicate assets.
1.1.12 #
- README screenshots are unaltered PNG exports (no blur, resize, or overlays); use sanitized demo data in the captures themselves for pub.dev.
1.1.11 #
- Five README screenshots from your latest captures: solid-fill redaction (no blur), light sharpen, 640px width. Files:
request_list.png,request_details.png,request_bodies.png,request_error.png,request_error_403.png. - Numbered copies for review:
doc/screenshots/review_before_pub/01–05(same pixels as the five files above, before rename).
1.1.10 #
- README: three pub.dev screenshots (list, success details, error details); full URL and
Authorization/ Bearer values redacted in detail shots. - Added
doc/screenshots/request_error.pngfor the error/403 flow.
1.1.9 #
- README: show screenshots in a compact two-column table (similar layout to other inspector packages on pub.dev).
- Removed the demo video from the README and dropped
doc/demo.mp4from the published package to keep the page and tarball smaller.
1.1.8 #
- Added README screenshots and a demo video (
doc/screenshots/,doc/demo.mp4). - Documented pub.dev-friendly image URLs via
raw.githubusercontent.com.
1.1.7 #
- Simplified
example/app to focus on the two most common integrations: Dio andpackage:http. - Removed GetConnect flow from the live example to reduce onboarding complexity.
- Kept logging flow explicit with
logRequestandlogResponseso developers can copy and adapt quickly.
1.1.6 #
- Improved README with a stronger quick-start section and clearer developer onboarding.
- Added a top-level AI quick prompt for faster integration.
- Added explicit flavor-based setup examples using
NetworkInspector.init(enabled: AppConfig.isDev). - Simplified real-app integration guidance with a framework-agnostic
MaterialAppbuilder pattern.
1.1.5 #
- Publishing prep release for pub.dev.
- Added in-app network inspector dialog with draggable FAB overlay.
- Added GetConnect integration helpers via
onRequestandonResponse. - Added manual logging APIs for other clients:
logRequestandlogResponse. - Added JSON export and log sharing support.
- Added comprehensive README integration guides and an
example/app.
