diff --git a/rollbar_dart/CHANGELOG.md b/rollbar_dart/CHANGELOG.md index d95510d..96b8b89 100644 --- a/rollbar_dart/CHANGELOG.md +++ b/rollbar_dart/CHANGELOG.md @@ -1,6 +1,26 @@ # Changelog +## 1.3.0 + +- The log, debug, info, warn, error and critical methods in `Rollbar` now accept any type of object including `Error`, `Exception` and `String`. Dart objects that specialize `toString()` can be also passed and they'll be converted into their string representations. + +## 1.2.0 +- Fixed two issues reported by the community: + - #91 Unsetting an user causes invalid argument exception, thanks to @rfuerst87 for reporting! + - #93 rollbar_flutter: Rollbar interface methods are overridden based on type of error object thanks to @TRemigi for reporting! +- The way we process event notifications has been refactored. This refactor addresses multiple deficiencies with how we transfer information from our front-end API to our internal Notifier process. This refactor solves multiple bugs, and presents a scalable mechanism to add new functionality in a composable way with the least amount of changes due to a very modularized scheme. + - The Notifier used to represent a sandboxed/isolated boundary between the SDK's innards and its API. Now the Notifier is just another switchable self-contained module just like the Transformer, Sender and Marshaller. + - A new Sandbox module that represents the aforementioned isolated boundary which offers two flavors: async useful for unit testing, and isolated which leverages Dart's Isolates. + - We keep the same level of security by sandboxing our memory, and full thread-enabled concurrency. + - This helps remove business logic from the Notifier, which used to handle both the process pipeline and the isolation. + - The way the API forwards messages to the Notifier is through Event instances, which is a type-safe way of encoding action and the data associated with such action. This event is dispatched to the Sandbox and the Sandbox sends it to the Isolate stream, and then it's given to the Notifier. + - The Notifier encodes the pipeline that processes these Events. There are two types of Events: + - Events that modify context (the SDK's state): In this case, the Notifier acts as a simple Reducer that modifies its internal state given the Event's data. + - Events that forward data to Rollbar's API: In this case, the event is put through the Marshalling pipeline, the data is transformed if necessary, persisted and then sent. + - Wrangler has been renamed to Marshaller. + ## 1.1.0 + - A more robust Persistent HTTP Sender error handling strategy allows for better outcomes and recovery in case of server and client errors. - The Rollbar SDK will now produce more informative logs when dealing with network, HTTP client and/or server errors. - HTTP client has been modularized in order to support mocking and noop clients. diff --git a/rollbar_dart/example/pubspec.yaml b/rollbar_dart/example/pubspec.yaml index d4a2bd6..fbba6c1 100644 --- a/rollbar_dart/example/pubspec.yaml +++ b/rollbar_dart/example/pubspec.yaml @@ -1,11 +1,11 @@ name: rollbar_dart_example description: Demonstrates how to use rollbar-dart -version: 1.1.0 +version: 1.3.0 publish_to: 'none' environment: - sdk: ">=2.17.0 <3.0.0" + sdk: '>=2.17.0 <3.0.0' dependencies: logging: ^1.0.2 diff --git a/rollbar_dart/lib/src/notifier/notifier.dart b/rollbar_dart/lib/src/notifier/notifier.dart index 04f05ac..2b1f2fa 100644 --- a/rollbar_dart/lib/src/notifier/notifier.dart +++ b/rollbar_dart/lib/src/notifier/notifier.dart @@ -6,7 +6,7 @@ import 'package:rollbar_dart/rollbar_dart.dart'; @sealed abstract class Notifier { // notifier version to be updated with each new release: [todo] automate - static const version = '1.1.0'; + static const version = '1.3.0'; static const name = 'rollbar-dart'; FutureOr notify(Context state, final Event event); diff --git a/rollbar_dart/pubspec.yaml b/rollbar_dart/pubspec.yaml index 6420b89..ef02eeb 100644 --- a/rollbar_dart/pubspec.yaml +++ b/rollbar_dart/pubspec.yaml @@ -1,6 +1,6 @@ name: rollbar_dart description: Connect your Dart applications to Rollbar for error reporting. -version: 1.1.0 +version: 1.3.0 homepage: https://www.rollbar.com documentation: https://docs.rollbar.com/docs/flutter#dart repository: https://github.com/rollbar/rollbar-flutter diff --git a/rollbar_flutter/CHANGELOG.md b/rollbar_flutter/CHANGELOG.md index 257bef7..87bd980 100644 --- a/rollbar_flutter/CHANGELOG.md +++ b/rollbar_flutter/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 1.3.0 +- Updated the Rollbar Dart SDK to 1.2.0 which includes fixes to two bugs reported by the community, brought by a general refactor of the event processing mechanism. +- The example was updated to reflect the API usages that where triggering the issues. + ## 1.2.0 - Updated internal Rollbar Apple SDK from 1.x to 2.3.4. - Using the newest version of the Rollbar Apple SDK will improve the ability for users to catch _native_ errors and fix them while using the Flutter SDK. diff --git a/rollbar_flutter/example/pubspec.yaml b/rollbar_flutter/example/pubspec.yaml index 025bc10..2428195 100644 --- a/rollbar_flutter/example/pubspec.yaml +++ b/rollbar_flutter/example/pubspec.yaml @@ -1,12 +1,12 @@ name: rollbar_flutter_example description: Demonstrates how to use the rollbar_flutter plugin. -version: 1.1.0 +version: 1.3.0 -publish_to: "none" # Remove this line if you wish to publish to pub.dev +publish_to: 'none' # Remove this line if you wish to publish to pub.dev environment: - sdk: ">=2.17.0 <3.0.0" - flutter: ">=3.0.0" + sdk: '>=2.17.0 <3.0.0' + flutter: '>=3.0.0' dependencies: flutter: diff --git a/rollbar_flutter/pubspec.yaml b/rollbar_flutter/pubspec.yaml index 1b2aaf5..33979a9 100644 --- a/rollbar_flutter/pubspec.yaml +++ b/rollbar_flutter/pubspec.yaml @@ -1,6 +1,6 @@ name: rollbar_flutter description: Connect your Flutter applications to Rollbar for error reporting. -version: 1.2.0 +version: 1.3.0 homepage: https://www.rollbar.com documentation: https://docs.rollbar.com/docs/flutter#flutter repository: https://github.com/rollbar/rollbar-flutter @@ -16,7 +16,7 @@ dependencies: connectivity_plus: ^3.0.0 sqlite3_flutter_libs: '0.5.12' rollbar_common: ^1.1.0 - rollbar_dart: ^1.1.0 + rollbar_dart: ^1.3.0 dependency_overrides: rollbar_common: