chuck_interceptor 3.0.0
chuck_interceptor: ^3.0.0 copied to clipboard
Chuck is an HTTP Inspector tool which helps debugging http requests. It catches and stores http requests and responses, which can be viewed via simple UI.
3.0.0 #
- Breaking: removed
flutter_local_notifications. Chuck no longer ships a native notification dependency, which removes the notification permission, the notification channel setup and a large chunk of native code from the final APK/IPA.- Removed
Chuck(showNotification: ...)andChuck(notificationIcon: ...)parameters — delete them from yourChuck(...)call. - Same for
ChuckCore(showNotification: ..., notificationIcon: ...).
- Removed
- New
ChuckButton: draggable floating button which shows the number of intercepted calls and opens the inspector on tap. It replaces the notification as the default way of opening Chuck.- Use
builder: chuck.builderinMaterialAppfor the default placement, or buildChuckButton(chuckCore: chuck.core, child: child)yourself to customisevisible,alignment,padding,draggableandhideWhenEmpty. - Button colour reflects traffic state (idle / in flight / failed) and it is hidden automatically
when
enabled: falseor while the inspector is open.
- Use
- Added
Chuck.core,Chuck.callsStreamandChuckCore.callsStream/ChuckCore.isInspectorOpenedso a custom inspector entry point can be built without touching internals. - Raised the required environment to Dart
>=3.13.0and Flutter>=3.47.0; the example app now uses the same constraints. - Example app: migrated iOS from CocoaPods to Swift Package Manager (Podfile,
Podfile.lockandPods/removed, xcconfigs and workspace cleaned) and adopted theUIScenelifecycle (UIApplicationSceneManifestwithFlutterSceneDelegate,AppDelegatenow registers plugins viaFlutterImplicitEngineDelegate).
2.6.2 #
- Fixed
No ScaffoldMessenger widget foundcrash when tapping copy buttons (request/response body, headers, error, stack trace, JSON viewer, cURL) inside apps whose widget tree does not expose aScaffoldMessengerabove Chuck's screens.- Chuck's calls list, call details and stats screens now install their own
ScaffoldMessenger. - All snack bars go through
ChuckSnackBarHelper, which usesScaffoldMessenger.maybeOfand logs instead of throwing when no messenger is reachable.
- Chuck's calls list, call details and stats screens now install their own
2.6.1 #
- Fixed
prefer_if_elements_to_conditional_expressionslint violations in JSON viewer widget to resolve pub.dev pana static analysis and platform score.
2.6.0 #
- Performance & Zero Overhead:
- Added
enabledflag (defaulttrue). When set tofalse, interceptors short-circuit immediately with zero logging, zero memory allocation, and zero overhead for production builds. - Added
maxBodySizeparameter (default 1 MB) to prevent OOM crashes on huge payloads (e.g. large file downloads, binary streams). - Debounced notifications (350ms) to eliminate platform channel jank on high-frequency API traffic.
- Notifications automatically suppressed while the inspector UI is open.
- $O(1)$ memory limit eviction via efficient bounded FIFO buffer.
- Added
- Size Optimization:
- Completely removed
permission_handlerand 5 native sub-packages, significantly reducing APK/IPA binary size. - Streamlined file export and sharing with
share_plus(XFile) requiring zero Android storage permissions. - Optimized
.pubignoreby excluding platform and test build artifacts, reducing pub.dev archive size from 125 KB down to 39 KB (~70% reduction).
- Completely removed
- UI & Theme Overhaul:
- Re-architected theme system around Flutter
ThemeExtension(ChuckThemeExtension) with comprehensive light & dark tokens (semantic status colors, HTTP method badges, JSON syntax highlighting). - Redesigned calls list screen with a clean search bar, modern call cards, and bottom safe area padding.
- Modernized call details screen with structured copyable cards, tabbed views, and live reactive stream updates.
- Completely revamped Stats screen into an informative dashboard with KPI summary cards, timing latency metrics, transfer breakdown, and HTTP methods analytics.
- Themed interactive JSON tree viewer with full syntax coloring.
- Re-architected theme system around Flutter
- Bug Fixes:
- Fixed bug where Dio and HttpClient response/request headers were lost due to iterating unpopulated maps.
- Fixed
addErrornot clearingloading = falseor calculating call duration, leaving errored calls indefinitely in pending state. - Fixed average duration calculation in Stats screen that was overwriting sums instead of accumulating.
- Fixed
firstWherecrash in call details screen when a call was evicted from FIFO while being viewed. - Fixed stale state in call details tab views by propagating reactive calls.
2.5.0 #
- Updated dependencies.
2.4.3 #
- Added
ChuckThemeExtensionandChuckThemeDataexports for package-level Chuck UI theming. - Fixed Chuck dialogs and screens to respect host app light/dark theme without forcing light mode.
- Fixed theme token propagation so custom Chuck theme overrides are preserved when attaching to
ThemeData. - Added
onAccenttheme token to ensure readable foreground content on accent-colored surfaces. - Updated core Chuck UI widgets to use Chuck theme tokens instead of relying on host text theme colors.
2.4.2 #
- Version bump for publishing
2.4.1 #
- update version to 2.4.1 and upgrade flutter_local_notifications to 21.0.0
2.4.0 #
- Updated dependencies: flutter_local_notifications to ^20.0.0
2.3.3 #
- Updated dependencies: share_plus to ^12.0.1, flutter_local_notifications to ^19.5.0
- Migrated from flutter_lints to analysis_lints for better code analysis
- Minor improvements and code quality enhancements
- Version bump for publishing
2.3.2 #
- Version bump for publishing
2.3.1 #
- Version bump for publishing
2.3.0 #
- Performance optimizations and memory management improvements
- Enhanced error handling with comprehensive try-catch blocks
- Improved null safety patterns and defensive programming
- Added comprehensive code documentation and inline comments
- Created unit test suite for core functionality
- Fixed README.md documentation errors and API inconsistencies
- Optimized list operations and reduced memory allocations
- Better user feedback and error recovery mechanisms
- Fixed JSON parsing issues in response preview widgets
- Enhanced JSON detection and validation logic
- Improved error handling for malformed JSON responses
- Better fallback display for JSON parsing failures
- Added detailed error messages for debugging JSON issues
- Fixed Content-Type detection when headers show "unknown"
- Enhanced Content-Type header parsing for different HTTP client formats
- Improved JSON detection logic to work even with unknown content types
- Better fallback to structure-based JSON detection
- Enhanced text response detection for unknown content types
- Improved JSON display with interactive JsonViewer widget
- Added beautiful styling and formatting for JSON responses
- Enhanced JSON readability with expandable/collapsible structure
- Better visual separation and container styling for JSON content
- Fixed JSON parsing to show structured view instead of raw text
- Removed Preview tab from HTTP call details screen
- Simplified UI by removing redundant preview functionality
- Updated tab controller to use 4 tabs instead of 5
- Cleaned up unused preview widget code
- Restored Preview tab to HTTP call details screen
- Simplified ChuckCallResponseWidget to show single view (raw body)
- Enhanced ChuckCallResponsePreviewWidget with interactive JSON viewer
- Separated concerns: Response tab shows raw data, Preview tab shows formatted view
- Improved user experience with dedicated preview functionality
- Updated dependencies
2.2.7 #
- Updated dependencies.
2.2.6 #
- Updated dependencies.
2.2.5 #
- Updated dependencies.
2.2.4 #
- Updated dependencies.
2.2.3 #
- Updated dependencies.
2.2.2 #
- Updated dependencies.
2.2.1 #
- Updated dependencies.
2.2.0 #
- Updated dependencies.
2.1.9 #
- Updated dependencies.
2.1.8 #
- Updated dependencies.
2.1.7 #
- Updated dependencies.
2.1.6 #
- Updated dependencies.
2.1.5 #
- Updated dependencies.
2.1.4 #
- Updated dependencies.
2.1.3 #
- Thank you, @Hayotbek_Ferghana, for fixing the ui bug!
2.1.2 #
- UI bug fixes. Updated dependencies.
2.1.1 #
- Updated dependencies.
2.1.0 #
- Updated dependencies. Updates minimum supported SDK version to Flutter 3.19 /Dart 3.3.0
2.0.9 #
- Updated dependencies
2.0.8 #
- Updated dependencies
2.0.7 #
- Updated dependencies
2.0.6+1 #
- Updated dependencies
2.0.5 #
- flutter_local_notifications package updated
2.0.4 #
- json viewer ui changes
2.0.3 #
- json viewer ui changes
2.0.2 #
- Updates minimum supported SDK version to Flutter 3.13/Dart 3.1.0
2.0.0+2 #
- http bug fixed
2.0.0+1 #
- Updated dependencies
2.0.0 #
- flutter 2.10.0 support, dart 3 support
1.1.4 #
- Updated dependencies
1.1.3 #
- migration Flutter sdk 3.7.0
1.1.2 #
- bug fixed
1.1.1 #
- bug fixed
1.1.0 #
- chopper package removed from dependencies
1.0.9 #
- collection package removed from dependencies
1.0.8 #
- Updated dependencies
1.0.7 #
- open_file package remove
1.0.6 #
- Updated dependencies
1.0.5 #
- Updated dependencies, Bug fixes
1.0.4 #
- Updated dependencies
1.0.3 #
- Updated dependencies
1.0.2 #
- Updated dependencies
1.0.1 #
- Updated dependencies
1.0.0 #
- Updated dependencies
0.0.8 #
- Updated dependencies
0.0.7 #
- Bug fixed
0.0.6 #
- Updated dependencies
0.0.5 #
- Updated dependencies
0.0.4 #
- Updated dependencies
0.0.3 #
- Details page bug fixed
0.0.2 #
- Updated dependencies
0.0.1 #
- Initial release