NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3005 most downloaded on pub.dev
Wiredash is an interactive user feedback tool for Flutter apps including Promoter Score.
Last release 4 months ago
20 May 2026
Release timing varies
gaps range from 8 days to 7 months
Nearly every release is documented
notes for 40 of 41 stable releases
2 versions withdrawn
withdrawn after publishing
6 years old
54 releases · first in 2020
One column per quarter.
Bump package device_info_plus to ">=8.0.0 <14.0.0"
device_info_plus to ">=8.0.0 <14.0.0"package_info_plus to ">=3.0.0 <11.0.0"Note: This release has breaking changes.
Note: This release has breaking changes.
For device_info_plus >= 12.0.0 and package_info_plus >= 9.0.0
Plugin now requires the following:
- Android Gradle Plugin >=8.12.1
- Gradle wrapper >=8.13
- Kotlin 2.2.0
device_info_plus to ">=8.0.0 <13.0.0"package_info_plus to ">=3.0.0 <10.0.0"Note: This release has breaking changes.
For device_info_plus >= 12.0.0 and package_info_plus >= 9.0.0 Plugin now requires the following:
- Android Gradle Plugin >=8.12.1
- Gradle wrapper >=8.13
- Kotlin 2.2.0
device_info_plus to ">=8.0.0 <13.0.0"package_info_plus to ">=3.0.0 <10.0.0"Update PageView spring physics for Flutter 3.31 #386
flutter run -d web-server with ad blocker #387New: Wiredash.of(context).show() now returns a FeedbackResult with a bool hasSubmittedFeedback #379
Wiredash.of(context).show() now returns a FeedbackResult with a bool hasSubmittedFeedback #379trackEvent now completes when the event is saved to disk, and does not wait for the network batch request #378trackEvent now never crashes (and will never interrupt business logic) #378WidgetInspector due to breaking API changes. Nobody outside the Wiredash dev team was using it, so we decided to remove it instead of raising the minimum Flutter version to 3.29.0 #373New: Add environments to Wiredash(environment: 'staging') and WiredashAnalytics(environment: 'staging') . Automatically detects dev environments #369
Wiredash(environment: 'staging') and WiredashAnalytics(environment: 'staging'). Automatically detects dev environments #369device_info_plus dependency to include 11.xSupport for Flutter 3.26 4684204, 78fe666, 46c43f7
Fix isBeforeFlutter3_22() check, fixing the lifecycle on web in Flutter 3.19 #354
Track Custom Analytics events (requires paid plan) #338
Track Custom Analytics events (requires paid plan) #338
Record user interactions or other significant occurrences within your app and send them to the Wiredash service for analysis.
Use Wiredash.trackEvent for easy access from everywhere in your app.
await Wiredash.trackEvent('Click Button', data: {/**/});Use the WiredashAnalytics instance for easy mocking and testing
final analytics = WiredashAnalytics();
await analytics.trackEvent('Click Button', data: {/**/});
// inject into other classes
final bloc = MyBloc(analytics: analytics);Access the correct Wiredash project via context to send events to if you use multiple Wiredash widgets in your app. This way you don't have to specify the projectId every time you call trackEvent.
Wiredash.of(context).trackEvent('Click Button');eventName constraints
data constraints
Event Sending Behavior:
Multiple Wiredash Widgets:
If you have multiple [Wiredash] widgets in your app with different projectIds, you can specify the desired [projectId] when creating [WiredashAnalytics].
This ensures that the event is sent to the correct project.
If no [projectId] is provided and multiple widgets are mounted, the event will be sent to the project associated with the first mounted widget. A warning message will also be logged to the console in this scenario.
Background Isolates:
When calling [trackEvent] from a background isolate, the event will be stored locally.
The main isolate will pick up these events and send them along with the next batch or when the app goes to the background.
Widen package_info_plus range (include 8.x)
Widen package_info_plus range (include 8.x)
Widen ranges for device_info_plus and package_info_plus #344
device_info_plus and package_info_plus #344Prevent Wiredash from scheduling tasks in your widget tests #332
New: Wiredash Analytics 🎉 Get real-time analytics that is GDPR-compliant and hosted in the EU 🇪🇺
New: Wiredash Analytics 🎉 Get real-time analytics that is GDPR-compliant and hosted in the EU 🇪🇺
New: Force an email address with EmailPrompt.mandatory in feedback flow #327
Compatability with Flutter 3.19.0 (stable) and 3.20.0 (beta)
WiredashThemeData() parameter fontFamily, use textTheme insteadWiredash.of(context).setBuildProperties() will be captured automatically. Just remove the callWiredash.of(context).show() parameter feedbackOptions is now optionsWiredash() parameter navigatorKey, which is not required anymoreWiredashFeedbackOptions() parameter bool askForUserEmail replaced with EmailPrompt emailWiredashFeedbackOptions() parameter bool screenshotStep replaced with ScreenshotPrompt screenshotCustomizableWiredashMetaData.populated() got removed. Use the default CustomizableWiredashMetaData() insteadCustomizableWiredashMetaData removed buildVersion, buildNumber and buildCommit. Those are now captured automaticallyAdd support for Flutter 3.17.0 (removing `physicalGeometry`) #324
physicalGeometry) #324WiredashTheme color overrides #325Ignore empty strings when setting buildNumber, buildVersion or buildCommit via --dart-define #323
buildNumber, buildVersion or buildCommit via --dart-define #323setBuildProperties() is now deprecated and noop, also use dart-define instead
Wiredash now automatically collects the version information of your app. No need to set buildVersion, buildNumber anymore. If you want to override this information, you can still do so via dart-define at compile time https://docs.wiredash.io/sdk/custom-properties/#during-compile-time.
New: Wiredash(collectSessionMetaData: ) combines and replaces collectSessionMetaData of WiredashFeedbackOptions and PsOptions. No deduplicate code anymore 🎉
// Before
return Wiredash(
projectId: "...",
secret: "...",
feedbackOptions: WiredashFeedbackOptions(
collectMetaData: (metaData) {
return metaData
..userEmail = 'dash@flutter.dev'
..userId = '007'
..custom['myKey'] = {'myValue': '007'}},
),
psOptions: PsOptions(
collectMetaData: (metaData) {
return metaData
..userEmail = 'dash@flutter.dev'
..userId = '007'
..custom['myKey'] = {'myValue': '007'}},
),
),
// After
return Wiredash(
projectId: "...",
secret: "...",
collectMetaData: (metaData) {
return metaData
..userEmail = 'dash@flutter.dev'
..userId = '007'
..custom['myKey'] = {'myValue': '007'}},
),
The metadata properties buildVersion, buildNumber and buildCommit cannot be set via Wiredash.of(context).modifyiMetaData() anymore. This information has to be provided at compile time (dart-define) or is read automatically from the app bundle
setBuildProperties() is now deprecated and noop, also use dart-define instead
New Wiredash.of(context).resetMetaData() to easily reset all metadata
Add italian it locale 🇮🇹#317
Add farsi fa locale 🇮🇷🇦🇫#316
Updated norwegian no locale 🇳🇴#303
- Add norwegian no locale 🇳🇴
no locale 🇳🇴Localize discard confirm button in Promoter Score survey feedbackDiscardConfirmButton #299
feedbackDiscardConfirmButton #299feedbackStep3ScreenshotBottomBarTitle (new) #299Update cirruslabs Flutter containers to always test against the latest Flutter versions
- #285 Add Support danish (da) and arabic (ar)
da) and arabic (ar)Widen dependency constraints of http and file
http and file- #278 Add Support for Flutter 3.10 - #274 Raise min Flutter SDK to Flutter 3.0.0 / Dart 2.17 - #268 Add czech locale cs 🇨🇿 @lukas-h - #275 Add german
cs 🇨🇿 @lukas-hcollectMetadata if available, when screenshot step is skipped- #266 Support for Flutter 3.7. Required for go_router users - #255 Add french locale fr 🇫🇷 - #251 Add hungarian locale hu 🇭🇺
New: Promoter Score Surveys 🎉 Ask your users how likely they are to recommend your app to their friends on a scale from 0-10. You can see your stats i
New: Promoter Score Surveys 🎉 Ask your users how likely they are to recommend your app to their friends on a scale from 0-10. You can see your stats in the console in the new NPS tab.
// Trigger this at significant point in your application to probably show
// the Promoter Score survey.
// Use [options] to adjust how often the survey is shown.
Wiredash.of(context).showPromoterSurvey(
options: PsOptions(
// minimum time between two surveys
frequency: Duration(days: 90),
// delay before the first survey is available
initialDelay: Duration(days: 7),
// minimum number of app starts before the survey will be shown
minimumAppStarts: 3,
),
// for testing, add force the promoter score survey to appear
force: true,
);
New locales polish pl 🇵🇱, spanish es 🇪🇸🇲🇽, portuguese pt 🇵🇹🇧🇷 and turkish tr 🇹🇷 by our awesome contributors @orestesgaolin, @jamesblasco, @KyleKun and
pl 🇵🇱, spanish es 🇪🇸🇲🇽, portuguese pt 🇵🇹🇧🇷 and turkish tr 🇹🇷 by our awesome contributors @orestesgaolin, @jamesblasco, @KyleKun and @AtaTrkgl. Thanks!
Want to contribute your language? Checkout the docs Localization - Contribute to WiredashWiredash.of(context).show(feedbackOptions: ) to Wiredash.of(context).show(options: )- #231 Improve opening animation performance - #232 Email step is now enabled by default (as stated in documentation) - #235 Fix l10n initialization c
When you're upgrading from 0.7.0:
When you're upgrading from 0.7.0:
A whole new SDK!
Upgrading from the 1.0.0-beta? Cool features await you!
hidden and will be sent directly to the consoleWiredash.of(context).show() now accepts feedbackOptions. That makes localizing easier. See the docs for more informationWiredashThemeData now supports a textTheme parameter that allows setting fontFamily (WiredashThemeData.fontFamily is now deprecated)de_DE does now match de localizationLocalizations via widget treeWiredashThemeCapture feedback metadata even when no screenshot was made
- #211 Fix SyncEngine not triggering initial 'appStart' event - #212 Remove Wiredash branding from appHandle - #214 Repect user choice when removing t
SyncEngine not triggering initial 'appStart' eventWiredash.of(context).setUserProperties() and Wiredash.of(context).setBuildProperties() as alternative to modifyMetaData. The new Wiredash.of(context).metaData getter might also be handy for youWiredashThemeData- #209 Sync state between sdk and console via ping
pinge8de7b5 Fix Confidential widget hiding content when Wiredash was closed.
Confidential widget hiding content when Wiredash was closed.README.md for upcoming 1.0.0 release.Is this release stable? Yes. And once the documentation is update we feel ready to call it 1.0.0
Removal of primaryTextColor and secondaryTextColor, those are not completely automatic
WiredashThemeData properties:
primaryContainerColortextOnPrimaryContainerColorsecondaryContainerColortextOnSecondaryContainerColorappBackgroundColorappHandleBackgroundColorprimaryTextColor and secondaryTextColor, those are not completely automaticAndroid back button support & resizing
Android back button support & resizing
Wiredash.of(context).show(inheritMaterialTheme: true)- #188 Fix upload of multiple screenshots for non-web platforms. May have caused double submission of feedback
Multiple screenshots - #183 Allow multiple screenshots to be attached to a feedback - #179 Improve performance of your app by limiting the number of w
Multiple screenshots
setUserProperties to reference modifyMetaDataColor selection and drawing undo
Desktop in focus
appBackgroundColor behind app on screenshotNo Overlay for you - #168 Fix responsive padding calculation on window resize - #169 Don't wrap user app in Overlay - #170 Fix dark theme on summary s
Hide backdrop content in screenshot mode
Desktop improvements
WiredashFeedbackOptions(askForUserEmail: true) to enable itinheritMaterialTheme and inheritCupertinoTheme properties for Wiredash.of(context).show() to inherit the themeA Whole New World - Completely rewritten UI layer - Custom metadata properties - Custom labels - Automatic theming
A Whole New World
Declare end of life support for 0.7.x SDKs after 1st Jan 2023
0.7.x SDKs after 1st Jan 2023Fix null-safety warning in Flutter 3.0
Screenshot Web support for canvaskit
Screenshot Web support for canvaskit
1.26.0-17.5.pre - 2.3.0-13.0.pre.166Version Bump - Increment sdkVersion
Version Bump
sdkVersionMore nullsafety - #135 Don't show nullsafety warning on Flutter dev channel
More nullsafety
Flutter 2.0 - #133 Raise min Flutter SDK to 1.26.0-17.5.pre. Older versions are incompatible with package:path_provider - #130 Fix Flutter web locale
Migrate the sdk to nullsafety. No breaking changes except for raising the Dart SDK to 2.12.0-0.
Nullsafety
Raise minimum Flutter version to 1.24.0-8.0.pre.341 where the breaking change was introduced
SingletonFlutterWindow
ui.Window with the new SingletonFlutterWindow flutter/pull/696171.24.0-8.0.pre.341 where the breaking change was introducedPrepare for nullsafety - Remove mockito dependency - Add nullability hints /*?*/
Prepare for nullsafety
/*?*/Longer feedback & more languages
Longer feedback & more languages
Web support 🕸 & Customizations 🎨
Web support 🕸 & Customizations 🎨
Wiredash(
options: WiredashOptionsData(
bugReportButton: false,
featureRequestButton: false,
praiseButton: false,
),
theme: WiredashThemeData(
fontFamily: 'Monospace',
sheetBorderRadius: BorderRadius.zero,
brightness: Brightness.light,
primaryColor: Colors.red,
secondaryColor: Colors.blue,
firstPenColor: Colors.orange,
secondPenColor: Colors.green,
thirdPenColor: Colors.yellow,
fourthPenColor: Colors.deepPurpleAccent,
);
);
Hello offline support, bye-bye FloatingEntryPoint
Hello offline support, bye-bye FloatingEntryPoint
FloatingEntryPoint as it was a bit confusing to first-time users, and most would disable it anyway.enabled flag, docs, and hid PaintItBlack in the Confidential widget.Deprecated method setIdentifiers in favor of setUserProperties and setBuildProperties
Internationalization Support 🇬🇧🇩🇪🇵🇱
We added initial internationalization support for several languages. Feel free to contribute your own translations (check out the docs for more info on that)!
WiredashLocalizationsWiredashTranslationssetIdentifiers in favor of setUserProperties and setBuildPropertiesFloating Entry 📲, Confidential 👀 & Provider 🏗
Floating Entry 📲, Confidential 👀 & Provider 🏗
Wiredash now uses the Provider package for internal state management and supports version 3.0.0 and higher. If you are also using Provider in your app, please make sure to at least use version 3.0.0.
Wiredash gets released to the public 🎉
Public Release
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →