error_stack 2.1.7
error_stack: ^2.1.7 copied to clipboard
ErrorStack helps you swiftly deal with errors in your Flutter applications! Custom error handling UI and logging to keep you productive.
2.1.7 - 2026-09-12 #
Changed #
- Bumped
flutter_secure_storagefrom^11.0.0to^11.1.1. - Adopted
vibe_checklints for static analysis and added explicit types to non-obvious local variables across the package, tests, and example.
Fixed #
- Dev Panel Storage tab no longer silently swallows storage errors. When reading, creating, updating, deleting, or clearing entries fails, the underlying error is now printed to the console.
Example #
- Declared
flutter_secure_storageandshared_preferencesas direct dependencies of the example app, which imports them in the Storage Tab example. Their absence failed analysis in the 2.1.6 publish workflow, so 2.1.6 was never published to pub.flutter-io.cn; its changes ship in this release.
2.1.6 - 2026-09-08 #
Changed #
- Bumped
flutter_secure_storagefrom^10.3.1to^11.0.0. - Bumped
diofrom^5.11.0to^5.11.1.
2.1.5 - 2026-08-02 #
Changed #
- Bumped
flutter_secure_storagefrom^10.3.0to^10.3.1. - Bumped
diofrom^5.9.2to^5.11.0.
2.1.2 - 2026-05-01 #
Fixed #
- Dev Panel long-press failed to open when
ErrorStackDevPanelwas used viaMaterialApp.builder. The panel now locates theNavigatorwhether it sits above or below the dev panel widget in the element tree.
Tests #
- Added widget tests covering the long-press path for both
home:andMaterialApp.builderconfigurations.
Example #
- Added a "Storage Tab" example demonstrating the Dev Panel's
SharedPreferencesandFlutterSecureStorageinspector with view, edit, search, and delete flows.
2.1.1 - 2026-04-26 #
Documentation #
- Documented the 2.1.0 copy-to-clipboard features in the README (Logs, Routes, and Storage tab sections)
2.1.0 - 2026-04-26 #
Added #
- Copy-to-clipboard support across the Dev Panel:
- Logs tab: copy a full log entry (level, timestamp, tag, message, and stack trace) from each row
- Routes tab: copy the route name from the route details sheet
- Local Storage tab: copy the key or value from the edit modal
- "Copied!" confirmation feedback on each copy action
Changed #
- Bumped
shared_preferencesfrom^2.5.4to^2.5.5 - Bumped
diofrom^5.9.1to^5.9.2
2.0.1 - 2026-02-25 #
Changed #
- Redesigned Dev Panel trigger from a horizontal bar at the bottom to a compact vertical tab on the right edge of the screen
- Increased error display container height from 580 to 610 to prevent content overflow
2.0.0 - 2026-02-04 #
Breaking Changes #
- Refactored
ErrorStackinto multiple single-responsibility classes following SOLID principles ErrorStack.init()now accepts optionalstorageanddevPanelConfigparametersErrorStackDebugWidgetnow uses constructor injection instead of accessingErrorStack.instance
New Features #
Dev Panel
A comprehensive runtime debugging tool accessible via long-press on the "Dev Panel" bar or programmatically via ErrorStack.showDevPanel(context):
- API Tab - HTTP request/response logging with timing, headers, and body data
- Logs Tab - Console logging with severity levels (debug, info, warning, error)
- Routes Tab - Navigation history tracking with route names and arguments
- Storage Tab - View local storage data (Secure Storage & Shared Preferences)
- UI Tab - Visual debugging tools:
- Grid paper overlay
- Layout bounds visualization
- Text scale adjustment (0.5-3.0x)
- Color blindness simulation (protanopia, deuteranopia, tritanopia)
- Slow animations (5x)
- Performance overlay
- Safe area visualization
Dio Integration
ErrorStackDioInterceptor- Automatic HTTP logging for Dio requests- Separate import:
import 'package:error_stack/error_stack_dio.dart'
Navigator Observer
ErrorStackNavigatorObserver- Automatic route tracking for navigation history
Core Architecture
ErrorStackConfig- Configuration class for level, initialRoute, themeMode, customErrorWidget, forceDebugWidgetErrorStackStorageBase- Abstract interface for storage (enables custom implementations/mocking)ErrorStackStorage- Default FlutterSecureStorage implementationErrorStackHandler- Encapsulates error handling logic, stack trace parsing, widget buildingDevPanelConfig- Configuration for dev panel features and log limitsDevPanelStore- Central data store for all debug data (ChangeNotifier)
New APIs
ErrorStack.builder- Builder function for MaterialApp to add dev panel and UI overlaysErrorStack.showDevPanel(context)- Programmatically show the dev panelErrorStack.isInitialized- Check if ErrorStack has been initializedDevPanelStore.instance- Access logging APIs (debug, info, warning, error, logApi, trackRoute)
Copy Markdown Button
- The "Copy markdown" button in `ErrorStackDebugWidget` now copies a structured markdown report to the clipboard (instead of opening a Google search). The report includes:
* Exception message
* Full stack trace
* Source file path
* Environment info (platform, OS version, timestamp, debug mode)
Tests #
- Comprehensive test suite with ~490 tests covering all components
File Structure #
lib/
├── error_stack.dart # Main entry point & exports
├── error_stack_dio.dart # Dio interceptor export
├── src/
│ ├── config/ # Configuration classes
│ ├── storage/ # Storage abstraction
│ ├── handler/ # Error handling logic
│ └── dev_panel/ # Dev panel components
│ ├── data/ # Store, models, collections
│ ├── widgets/ # Panel UI & tabs
│ ├── interceptors/ # Dio interceptor
│ └── observers/ # Navigator observer
└── widgets/ # Error display widgets
1.10.4 - 2025-12-13 #
- fix dart analysis issues
- Update pubspec.yaml
1.10.3 - 2025-02-23 #
- Update GitHub workflows
- Update pubspec.yaml
1.10.2 - 2025-02-04 #
- Update the pubspec.yaml
1.10.1 - 2025-01-04 #
- Update the pubspec.yaml
1.10.0 - 2024-12-31 #
- Refactor as per flutter_lints suggestions
- Update copyright year
- Update the pubspec.yaml
1.9.1 - 2024-08-09 #
- Update debug widget
1.9.0 - 2024-07-24 #
- Merge PR from @SalihCanBinboga to allow the debug widget to be shown in release mode
1.8.1 - 2024-07-20 #
- Update debug widget
1.8.0 - 2024-07-06 #
- Update default height of the debug widget to 580.0
- Set maxLines to 5 for the
exceptionAsStringvalue in the debug widget - Update README.md
1.7.3 - 2024-06-15 #
- Update README.md
1.7.2 - 2024-06-15 #
- Update README.md
1.7.1 - 2024-06-14 #
- Add extra check in
ErrorWidget.builderto get file name from the stack trace
1.7.0 - 2024-06-14 #
- Fix error with Web not working
- Add new Regex to catch more
classNamesin the stack trace ErrorStackLogLevel.verbose(default)- Fix example project
- Update README.md
1.6.0 - 2024-06-12 #
- Update screenshots
1.5.0 - 2024-06-10 #
- Add
errorWidgetto ErrorStack init method. This allows you to set a custom error widget to be displayed when an error occurs in production.
1.4.0 - 2024-06-05 #
- Update debug and release widget to support responsive design.
1.3.4 - 2024-05-22 #
- Update pubspec.yaml
1.3.3 - 2024-05-17 #
- Update pubspec.yaml
1.3.2 - 2024-05-14 #
- Update pubspec.yaml
1.3.1 - 2024-05-12 #
- Update pubspec.yaml
- Update workflow
1.3.0 - 2024-05-11 #
- Update pubspec.yaml
1.2.1 - 2024-05-04 #
- Update logo
- Update README.md
- Small tweak to storage key
1.2.0 - 2024-05-01 #
- Update README.md
1.1.0 - 2024-05-01 #
- Remove
nylodependency. - Add
flutter_secure_storagedependency. - Update debug and release widget.
1.0.0 - 2024-05-01 #
- Initial release.
