umami_flutter_sdk 0.4.1
umami_flutter_sdk: ^0.4.1 copied to clipboard
A lightweight Flutter package for Umami analytics with non-blocking initialization and automatic device info collection.
0.4.1 #
- Added
analyzer.excludeentries for platform directories toanalysis_options.yaml(matches Flutter 3.47's auto-migration). - Releases are now published to pub.dev automatically from GitHub Actions on version tags.
0.4.0 #
- Breaking: Renamed the package from
umami_fluttertoumami_flutter_sdkfor publication on pub.dev. Update your import topackage:umami_flutter_sdk/umami_flutter_sdk.dart. - First release published to pub.dev.
0.3.1 #
- Fixed repository and homepage URLs in
pubspec.yaml(moved tocarpe-diem-creations).
0.3.0 #
- Added automatic app version capture — the version is read via
package_info_plusat init and sent as the Umamitagfield on every event, so all metrics can be filtered by app version in the dashboard (requires Umami v2.9+). - Added optional
appVersionparameter toinit()to override the auto-detected version (e.g. to include build metadata or a flavor like1.4.2-beta). - Added
appVersionfield toDeviceInfo. - The default User-Agent now embeds the device's real OS version (and model on Android), so Umami's Environment panel reports accurate OS data instead of hardcoded versions. Windows keeps the frozen
NT 10.0string, matching real browsers. - Exported
UserAgentBuilderfor consumers who want to build or inspect the generated User-Agent. - Widened
flutter_secure_storageconstraint to allow v11.x (>=8.0.0 <12.0.0).
0.2.1 #
- Widened
device_info_plusconstraint to allow v13.x (>=9.0.0 <14.0.0).
0.2.0 #
- Added
recordFirstOpenparameter toinit()— automatically sends afirst_openevent when the app is opened for the first time on a device. - Added
DeviceIdService.isFirstLaunch— indicates whether the current session is the device's first launch. - Note: On iOS/macOS, Keychain persists across reinstalls, and on Windows, secure storage also survives reinstalls, so
first_openfires only once per device on these platforms. On Android, secure storage is cleared on uninstall, so reinstalling the app will triggerfirst_openagain.
0.1.3 #
- Widened dependency version constraints to reduce conflicts with host apps.
0.1.2 #
- Upgraded
device_info_plusfrom ^11.5.0 to ^12.3.0. - Upgraded
flutter_secure_storagefrom ^9.2.4 to ^10.0.0. - Upgraded
flutter_lintsfrom ^5.0.0 to ^6.0.0. - Removed deprecated
encryptedSharedPreferencesparameter (auto-migrated by v10). - Updated README with Firebase Analytics comparison and contributing guide.
0.1.1 #
Bug Fixes #
- Fixed
init()— now recovers from failures and can be retried (was permanently broken after a single failure). - Fixed double-
init()call crash — second call is now safely ignored. - Fixed HTTP client leak — reusing a single
IOClientinstead of creating a new one per event send. - Fixed repository and homepage URLs in
pubspec.yaml. - Fixed version mismatch between
pubspec.yamlandCHANGELOG.md.
New Features #
- Added
onErrorcallback parameter toinit()for monitoring analytics failures in production. - Added configurable
userAgentparameter toinit()to override the default browser User-Agent. - Added
UmamiAnalytics.isInitializedgetter to check initialization state. - Added
UmamiAnalytics.reset()method for testing and re-initialization scenarios. - Exported
DeviceIdServiceso consumers can access the persistent device ID independently.
Improvements #
- Added
platformsfield topubspec.yaml(Android, iOS, macOS, Windows — no web). - Upgraded
uuiddependency from ^3.0.5 to ^4.0.0. - Added comprehensive dartdoc to all public API surfaces.
- Added
example/main.dartwith full usage demo. - Added 15 unit tests (was previously empty).
- Updated
README.mdwith full API reference, init parameters table, and architecture overview.
0.1.0 #
- Initial release.
- Non-blocking
init()with automatic device info collection. trackScreen()andtrackEvent()— fire-and-forget, safe to call before init completes.- Persistent device IDs via Keychain (iOS/macOS) and EncryptedSharedPreferences (Android).
- Platform-specific User-Agent for accurate OS detection in Umami.
- Multi-platform support: Android, iOS, macOS, Windows.