Skip to content

Latest commit

 

History

History
253 lines (151 loc) · 13.4 KB

File metadata and controls

253 lines (151 loc) · 13.4 KB

@outlit/browser

1.5.3

Patch Changes

  • #150 51b862d Thanks @leo-paz! - Improve published README and package metadata citation surfaces with canonical docs, OpenAPI, MCP, and agent discovery links.

  • Updated dependencies [51b862d]:

    • @outlit/core@1.5.3

1.5.2

Patch Changes

  • #130 c37989d Thanks @leo-paz! - Deprecate manual engaged and inactive stage helper usage while preserving wire compatibility. Activation remains the manual SDK stage; engaged and inactive are now documented as derived from tracked activity.

  • Updated dependencies [c37989d]:

    • @outlit/core@1.5.2

1.5.1

Patch Changes

  • #113 36b1ce4 Thanks @leo-paz! - Generate UUIDv7 identifiers on SDK events so ingestion can deduplicate retries consistently.

  • Updated dependencies [36b1ce4]:

    • @outlit/core@1.5.1

1.5.0

Minor Changes

  • #82 60a4633 Thanks @leo-paz! - Remove the public customerDomain tracking field from the SDK surface and make customerId plus identify-time email linking the only supported customer-attribution path.

Patch Changes

  • Updated dependencies [60a4633]:
    • @outlit/core@1.5.0

1.4.5

Patch Changes

  • #78 d2f7b68 Thanks @leo-paz! - Introduce the approved customer-identified tracking contract across the SDKs.

    • Promote customerId and customerDomain to top-level public identity fields.
    • Keep identify() user-scoped while allowing customer metadata via customerId, customerDomain, and customerTraits.
    • Allow track() to accept user-only, customer-only, or combined attribution.
    • Deprecate nested traits.customer in favor of top-level customer traits.
  • #79 31dc72a Thanks @leo-paz! - Stop sending user and customer profile traits in payload-level browser identity on non-identify event batches. Profile updates now stay on identify events, while later track batches carry only attribution identifiers.

  • #80 9c99955 Thanks @leo-paz! - Serialize browser batch customer attribution into top-level customerIdentity instead of nesting customer fields under userIdentity. This aligns the browser SDK with the platform ingest schema while keeping identify events customer-aware.

  • Updated dependencies [d2f7b68, 9c99955]:

    • @outlit/core@1.4.5

1.4.4

Patch Changes

  • #72 06bd548 Thanks @rafa-thayto! - Add integrations commands (list, add, remove, status) with API-key and OAuth provider flows

  • Updated dependencies [06bd548]:

    • @outlit/core@1.4.4

1.4.3

Patch Changes

  • #67 e8c4779 Thanks @leo-paz! - fix: replace workspace:* with concrete version ranges to prevent protocol leak during npm publish

  • Updated dependencies [86db798]:

    • @outlit/core@1.4.3

1.4.1

Patch Changes

  • #46 32e8206 Thanks @leo-paz! - Fix auto-identify for forms where email inputs lack a name attribute. React/JSX controlled components often omit name attributes, causing FormData to miss their values. Now reads unnamed inputs directly from the DOM during identity extraction so auto-identify works on these forms.

1.4.0

Minor Changes

  • #44 778f449 Thanks @leo-paz! - Add client prop to OutlitProvider for sharing a single Outlit instance between imperative usage and React context. When provided, the provider uses the existing instance directly and does not call shutdown() on unmount. Uses a discriminated union type to enforce mutual exclusivity with config props at compile time.

1.3.0

Minor Changes

  • #42 bde5685 Thanks @leo-paz! - Add disableTracking() method and consent state persistence

    • disableTracking() programmatically stops all tracking, flushes pending events, and persists the opt-out decision
    • Consent decisions (opt-in/opt-out) are persisted across sessions via localStorage and cookies
    • On page load, persisted consent takes priority over the autoTrack option
    • disableTracking exposed via React useOutlit() hook and Vue useOutlit() composable
    • CDN snippet updated to support disableTracking queuing before SDK loads

1.2.0

Minor Changes

  • #39 788b6b5 Thanks @leo-paz! - Add Vue 3 support with plugin and composables

    • OutlitPlugin for easy Vue app installation with automatic pageview tracking
    • useOutlit composable for accessing the Outlit instance
    • useOutlitUser composable for reactive user identity sync
    • useTrack composable for event tracking
    • New @outlit/browser/vue entry point

1.1.0

Patch Changes

1.0.4

Patch Changes

  • #27 dc430ec Thanks @leo-paz! - Fix race condition where stage events (activate, engaged, inactive) were silently dropped when called before user identity was established. Events are now queued and flushed when setUser() or identify() is called.

1.0.3

Patch Changes

  • #25 066f8d3 Thanks @leo-paz! - Update E2E test fixtures to use new namespace-based IIFE stub pattern with user and customer namespaces

1.0.2

Patch Changes

  • #23 22be5d0 Thanks @leo-paz! - Update the script tag stub snippet to use a helper for cleaner method stubs.

1.0.1

Patch Changes

  • #21 ae24b74 Thanks @leo-paz! - fix: simplify SDK types to resolve TypeScript memory issues

    • Simplify ServerIdentity and CustomerIdentifier types to avoid complex unions that caused TypeScript to require 8GB+ memory for type checking
    • Make domain required in CustomerIdentifier - users must now provide domain when calling billing methods (customer.trialing, customer.paid, customer.churned)
    • Type checking now completes in ~1 second with normal memory usage
  • Updated dependencies [ae24b74]:

    • @outlit/core@1.0.1

1.0.0

Major Changes

  • #19 6d95b23 Thanks @leo-paz! - feat: add user and customer namespaces for stage and billing events

    BREAKING CHANGE: Stage and billing methods are now accessed via namespaces.

    Before:

    outlit.activate({ milestone: "onboarding" });
    outlit.engaged({ days: 7 });
    outlit.paid({ plan: "pro" });
    outlit.churned({ reason: "cancelled" });

    After:

    // User journey stages
    outlit.user.activate({ milestone: "onboarding" });
    outlit.user.engaged({ days: 7 });
    outlit.user.inactive({ reason: "no_activity" });
    
    // Customer billing status (requires identifier)
    outlit.customer.trialing({ domain: "acme.com" });
    outlit.customer.paid({ domain: "acme.com", properties: { plan: "pro" } });
    outlit.customer.churned({
      stripeCustomerId: "cus_xxx",
      properties: { reason: "cancelled" },
    });

    Other changes:

    • Add type constraints: ServerIdentity requires email or userId
    • Add type constraints: CustomerIdentifier requires customerId, stripeCustomerId, or domain
    • Add warning logs for URL parsing failures
    • Add sendBeacon fallback warning and response.ok check
    • Fix JSDoc import path in node client

Patch Changes

  • Updated dependencies [6d95b23]:
    • @outlit/core@1.0.0

0.4.1

Patch Changes

0.4.0

Minor Changes

  • #14 3feb1db Thanks @leo-paz! - Add sessionId to all browser events at the batch level, enabling session tracking from pageviews, forms, and custom events (not just engagement). Session tracking is now always initialized for sessionId management, even when engagement events are disabled.

Patch Changes

  • Updated dependencies [3feb1db]:
    • @outlit/core@0.4.0

0.3.0

Minor Changes

  • e09ca38 Thanks @leo-paz! - New sdk events for discovered, signed up, activated, engaged, paid, churned

Patch Changes

  • Updated dependencies [e09ca38]:
    • @outlit/core@0.3.0

0.2.2

Patch Changes

0.2.1

Patch Changes

0.2.0

Minor Changes

Patch Changes

  • Updated dependencies [7caf611]:
    • @outlit/core@0.2.0