Skip to content

Releases: wiredashio/wiredash-sdk

v2.4.0

13 Feb 19:01
Compare
Choose a tag to compare
  • Support for Flutter 3.29
  • New: Wiredash.of(context).show() now returns a FeedbackResult with a bool hasSubmittedFeedback #379
  • Fix: trackEvent now completes when the event is saved to disk, and does not wait for the network batch request #378
  • Fix: trackEvent now never crashes (and will never interrupt business logic) #378
  • Remove: Wiredash is now unable to be inspected with a WidgetInspector 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 #373

v2.3.0

13 Feb 18:58
Compare
Choose a tag to compare
  • New: Add environments to Wiredash(environment: 'staging') and WiredashAnalytics(environment: 'staging'). Automatically detects dev environments #369
  • Widen device_info_plus dependency to include 11.x

v2.2.1

12 Jul 22:43
Compare
Choose a tag to compare
  • Fix isBeforeFlutter3_22() check, fixing the lifecycle on web in Flutter 3.19 #354
  • Detect FakeTimer without try-catch #355

v2.2.0

03 Jul 08:14
Compare
Choose a tag to compare
  • 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

    • The event name must be between 3 to 64 characters long
    • Contain only letters (a-zA-Z), numbers (0-9), - and _ and spaces
    • Must start with a letter (a-zA-Z)
    • Must not contain double spaces
    • Must not contain double or trailing spaces

    data constraints

    • Parameters must not contain more than 10 key-value pairs
    • Keys must not exceed 128 characters
    • Keys must not be empty
    • Values can be String, int or bool. null is allowed, too.
    • Each individual value must not exceed 1024 characters (after running them through jsonEncode).

    Event Sending Behavior:

    • Events are batched and sent to the Wiredash server periodically at 30-second intervals.
    • The first batch of events is sent after a 5-second delay.
    • Events are also sent immediately when the app goes to the background (not applicable to web platforms).
    • If events cannot be sent due to network issues, they are stored locally and retried later.
    • Unsent events are discarded after 3 days.

    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.

v2.1.2

28 Apr 00:12
Compare
Choose a tag to compare

Widen package_info_plus range (include 8.x)

v2.1.1

19 Apr 10:10
Compare
Choose a tag to compare
  • Widen ranges for device_info_plus and package_info_plus #344

v2.1.0

04 Mar 17:07
Compare
Choose a tag to compare
  • Prevent Wiredash from scheduling tasks in your widget tests #332
  • Update README with new header image, adjust pub tags
  • Run tests successfully on Flutter 3.0.0 and 3.20.0 #335
  • Improve testing setup #334

v2.0.0

21 Feb 19:08
Compare
Choose a tag to compare
  • 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)

Removed deprecated APIs

  • WiredashThemeData() parameter fontFamily, use textTheme instead
  • Wiredash.of(context).setBuildProperties() will be captured automatically. Just remove the call
  • Wiredash.of(context).show() parameter feedbackOptions is now options
  • Wiredash() parameter navigatorKey, which is not required anymore
  • WiredashFeedbackOptions() parameter bool askForUserEmail replaced with EmailPrompt email
  • WiredashFeedbackOptions() parameter bool screenshotStep replaced with ScreenshotPrompt screenshot
  • CustomizableWiredashMetaData.populated() got removed. Use the default CustomizableWiredashMetaData() instead
  • CustomizableWiredashMetaData removed buildVersion, buildNumber and buildCommit. Those are now captured automatically

v1.9.0

31 Dec 14:13
Compare
Choose a tag to compare

v1.8.1

19 Dec 16:36
Compare
Choose a tag to compare
  • Ignore empty strings when setting buildNumber, buildVersion or buildCommit via --dart-define #323
  • Improve SDK usage reporting