PackageTrack
Sign in Get early access

analytics_hub_firebase

Firebase Analytics provider for analytics_hub. Sends LogEvent events to Firebase via the official SDK.

0.5.0 4akLoon/analytics_hub

What this package is like to depend on

Last release 18 days ago

05 Aug 2026

Release timing varies

gaps range from 2 weeks to 5 months

Nearly every release is documented

notes for 10 of 10 stable releases

Nothing withdrawn

no release was ever pulled

6 months old

10 releases · first in 2026

10 releases in the last 12 months

see the full history below

Release timeline

10 releases · Feb 2026 to Aug 2026
Release Pre-release

Releases

latest 10
  1. 0.5.0 05 Aug 2026
    Release notes
    • Release 0.5.0: port zeely-mobile fixes, drop session support, add CI

    Port behavior fixes made in the zeely-mobile copies of these packages:

    • ProviderIdentifier equality/hashCode now include the runtime type so
      identifiers of different subclasses with the same name don't collide
    • AnalyticsHub.initialize initializes providers sequentially
      (Future.forEach) instead of concurrently
    • Quieter logging: sendEvent logs at fine level and the dispatch
      pipeline no longer logs each step
    • Provider constructors accept an optional interceptors parameter

    Remove session support (breaking): Session, HubSessionDelegate,
    AnalyticsHub.sessionDelegate and AnalytycsProvider.setSession are gone;
    apps manage user identity directly on the underlying SDKs. The
    getAnonymousId parameters of the Mixpanel/Appsflyer providers are
    removed with it.

    Add GitHub Actions CI modeled on basalt_dart: analyze/format/test plus
    publish dry-run on every push/PR, and tag-driven pub.dev publishing via
    OIDC (-v tags).

    Co-Authored-By: Claude Fable 5 [email protected]

    • Audit cleanup: drop dead code and unnecessary dependencies
    • Firebase/Appsflyer providers: remove flush() overrides that existed
      only to log a "not supported" message — the base AnalytycsProvider
      flush() is already a no-op. This drops the logging dependency from
      all three provider packages (mixpanel no longer imported it at all).
    • analytics_hub core is now a pure Dart package: flutter_test dev
      dependency removed (tests only use package:test), so dart test
      works without a Flutter SDK.
    • Remove unused dev dependencies: test from the provider packages
      (their tests use flutter_test), lints from mixpanel (inherited from
      the workspace root), test from the root package (no tests there).
    • Provider tests: delete dead _TestEvent classes and
      registerFallbackValue setup left over from the removed setSession
      tests, plus the now-unused analytics_hub imports.
    • Core internals: remove unused DispatchTarget.providerIdentifier
      getter; EventDispatcher.dispatch returns the executor future directly
      instead of awaiting into a local.
    • Root README: close the unterminated yaml code fence in Quick start
      that swallowed the rest of the page on render.

    Co-Authored-By: Claude Fable 5 [email protected]

    • Rename AnalytycsProvider to AnalyticsProvider, fix workspace layout

    Fix the long-standing typo in the provider base class name across all
    packages, docs, examples, and tests. No compatibility alias is kept —
    the packages have no external consumers yet.

    Also move resolution: workspace from pubspec_overrides.yaml into each
    package's pubspec.yaml (the layout basalt_dart and zeely-mobile use, and
    what dart test's workspace validation expects) and delete the
    overrides files.

    Co-Authored-By: Claude Fable 5 [email protected]

    • Fix mixpanel_flutter lower bound for pub.dev score compliance

    Ran pana (the tool pub.dev uses to compute package score) against all
    four packages. analytics_hub itself scores a clean 160/160.

    Found a real bug via the "compatible with dependency constraint lower
    bounds" check: mixpanel_flutter's declared minimum (2.0.0) allows
    versions up to 2.2.0 where Mixpanel.track() returns void instead of
    Future. MixpanelEventResolver.resolve declares a Future
    return type and returns the track() call directly, so pinning an old
    2.x mixpanel_flutter breaks analysis (and would break at runtime for
    anyone actually on that range). Raised the lower bound to >=2.3.0,
    where track() became async. Verified dart analyze is clean and tests
    pass with dependencies downgraded to their lower bounds.

    The three provider packages can't get a full pana score yet since they
    depend on analytics_hub, which isn't published to pub.dev — pana (like
    pub.dev itself) resolves dependency_overrides are ignored for scoring,
    so this is a publish-order concern rather than a code issue: publish
    analytics_hub first, then the providers.

    Co-Authored-By: Claude Fable 5 [email protected]

    • Add design spec for basalt_dart-style documentation

    Covers badges + workspace banners on all READMEs, a "what's inside"
    reference table in the core README, a packages/analytics_hub/doc/
    folder with four deep-dive guides, and a root CONTRIBUTING.md —
    scoped down from basalt_dart's equivalent docs to this repo's size.

    Co-Authored-By: Claude Fable 5 [email protected]

    • Add basalt_dart-style documentation

    Badges + "part of workspace" banners on every README (EN/UA), a
    "what's inside" reference table in the core README, a
    packages/analytics_hub/doc/ folder with four deep-dive guides
    (getting started, providers, interceptors & context, testing), and a
    root CONTRIBUTING.md — implements the design spec, which is removed
    now that it's realized in the actual docs.

    Skipped the MIT license badge from the original spec: the repo has no
    LICENSE file, so that badge would have been false.

    Co-Authored-By: Claude Sonnet 5 [email protected]

    • Remove initialize and dispose from provider lifecycle

    SDK lifecycle belongs in the app — keep only flush for buffered backends.

    Co-authored-by: Cursor [email protected]

    • Fix example formatting for CI

    Co-authored-by: Cursor [email protected]


    Co-authored-by: Claude Fable 5 [email protected]
    Co-authored-by: Cursor [email protected]

    Open source →
    Release notes

    Added

    • Optional interceptors constructor parameter for provider-level interceptors.

    Changed

    • Removed the logging dependency; flush() no longer logs a "not supported" message and simply inherits the base no-op.

    Breaking Changes

    • Removed setSession along with core session support. Set the Firebase user id directly via FirebaseAnalytics.setUserId.
    • Removed initialize override that called setAnalyticsCollectionEnabled(true). Enable collection on the FirebaseAnalytics instance in the app if needed.
    • Updated dependency constraint to analytics_hub: ">=0.5.0 <0.6.0".
    Open source →
  2. 0.4.0 26 Feb 2026
    Release notes

    Changed

    • Updated dependency constraint to analytics_hub: ">=0.4.0 <0.5.0" to align with the core 0.4.0 release and the new EventProvider.overrides API.
    • Renamed provider identifier from FirebaseAnalyticsHubProviderIdentifier to FirebaseAnalyticsHubIdentifier for consistency with other official providers.

    Breaking Changes

    • Event definitions and imports must now use FirebaseAnalyticsHubIdentifier instead of FirebaseAnalyticsHubProviderIdentifier.
    Open source →
  3. 0.3.3 24 Feb 2026
    Release notes

    Changed

    • Updated dependency constraint to analytics_hub: ">=0.3.3 <0.4.0".
    • Added logging dependency and provider-level logging for lifecycle behavior.
    • Updated FirebaseAnalyticsHubProvider constructor call to the new core provider contract (explicit interceptors).
    • Implemented provider flush() override (no-op with informational log; Firebase SDK has no explicit flush API).
    • Added tests for the provider flush behavior.
    Open source →
  4. 0.3.1 24 Feb 2026
    Release notes

    Changed

    • Updated dependency constraint to analytics_hub: ">=0.3.1 <0.4.0".
    • Synced resolver/tests with the refined typed context API used by core (Context/ContextEntry-based dispatch context).
    • Updated README docs (EN/UA) and version snippets to 0.3.1.
    Open source →
  5. 0.3.0 24 Feb 2026
    Release notes

    Changed

    • Reverted Firebase provider to a single LogEvent flow.
    • Refreshed examples/tests/docs for List<EventProvider> and ProviderIdentifier.
    • Updated dependency constraint to analytics_hub: ">=0.3.0 <0.4.0".
    • Migrated FirebaseAnalyticsEventResolver to new core resolver API based on ResolvedEvent and EventDispatchContext.
    • Updated tests for the new dispatch contract.

    Removed

    • FirebaseAnalyticsECommerceEventResolver.
    • ECommerceEventResolver implementation from FirebaseAnalyticsEventResolver.
    • All README references to GA4 e-commerce event classes in this package.

    Breaking Changes

    • analytics_hub_firebase no longer supports e-commerce event types from core.
    • Resolver implementation now must implement resolve({required ResolvedEvent event, required EventDispatchContext context}).
    Open source →
  6. 0.2.2 23 Feb 2026
    Release notes

    Changed

    • Updated FirebaseAnalyticsEventResolver to support nullable values in LogEvent.properties by filtering out null entries before calling FirebaseAnalytics.logEvent.
    • Updated dependency constraint to analytics_hub: ">=0.2.2 <0.3.0".
    Open source →
  7. 0.2.1 23 Feb 2026
    Release notes

    Changed

    • Updated README to use providers and FirebaseAnalyticsHubProviderIdentifier.
    • Refreshed supported-events docs to match current Firebase e-commerce coverage.

    Breaking Changes

    • FirebaseAnalyticsHubProviderKey was renamed to FirebaseAnalyticsHubProviderIdentifier.
    Open source →
  8. 0.2.0 23 Feb 2026
    Release notes

    Changed

    • Migrated provider identity usage from ProviderKey to ProviderIdentifier.
    • Updated examples and tests to the new Event.providers API with EventProvider.
    • Updated dependency constraint to analytics_hub: ">=0.2.0 <0.3.0".

    Breaking Changes

    • FirebaseAnalyticsHubProvider now uses identifier instead of key.
    • FirebaseAnalyticsHubProviderKey now extends ProviderIdentifier<FirebaseAnalyticsEventResolver>.
    • Events targeting Firebase must define providers (List<EventProvider<...>>) instead of providerKeys.
    Open source →
  9. 0.1.0 11 Feb 2026
    Release notes

    Added

    • Implemented all GA4 e-commerce events in FirebaseAnalyticsECommerceEventResolver: AddToCart, AddToWishlist, ViewCart, AddPaymentInfo, AddShippingInfo, BeginCheckout, Purchase, RemoveFromCart, SelectItem, ViewItem, ViewItemList, ViewPromotion, Refund (in addition to existing SelectPromotion).
    • Public API documentation for provider, key, and resolvers.
    • Dependency on analytics_hub: ">=0.1.0 <0.2.0".
    Open source →
  10. 0.0.1 10 Feb 2026
    Release notes

    Added

    • Initial Firebase Analytics provider integration for analytics_hub.
    • FirebaseAnalyticsHubProvider and FirebaseAnalyticsHubProviderKey for routing events to Firebase.
    • FirebaseAnalyticsEventResolver mapping LogEvent to FirebaseAnalytics.logEvent.
    • FirebaseAnalyticsECommerceEventResolver handling SelectPromotionECommerceEvent via FirebaseAnalytics.logSelectPromotion.
    • Session handling in provider using FirebaseAnalytics.setUserId based on Session.id.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive