Files
zeekay 043ac58d3c chore: sweep upstream brand from ALL files; restore LICENSE/NOTICE attribution
Extends the sweep beyond packages/ to the whole repo (178 files): workflows,
.eslintrc, playground, examples, tooling, root docs. Zero upstream-brand refs and
zero such filenames outside the exemptions.

REVERTS A LICENSING ERROR (from earlier rebrand e43ab1af, not this sweep):
- LICENSE had its copyright holder rewritten to 'Insights'. Restored to the real
  holder: 'Copyright 2020 Posthog / Hiberly, Inc.' (+ Mixpanel, Inc.).
- NOTICE credited a non-existent upstream (github.com/getinsights/insights-js).
  Restored to the real one: github.com/PostHog/posthog-js.
Apache-2.0 4(c) requires retaining upstream attribution; rewriting a third
party's copyright line falsifies ownership. Both files are now excluded from the
guard and documented as exempt in LLM.md.

Also:
- Deleted junk: AGENTS.md~upstream_main (merge leftover), the now-obsolete
  rebrand script; renamed upload-*-s3.ts tooling (still used by cli.ts).
- Removed 42 stale playground/example pnpm-lock.yaml files: they pinned upstream
  packages the package.json no longer references. Regenerated on install —
  sed-ing a lockfile would corrupt its integrity hashes.
- Guard renamed no-posthog.yml -> brand-guard.yml and now assembles the pattern
  at runtime, so no filename or file content carries the string (the previous
  guard was swept by its own rule, inverting it to forbid 'insights').
2026-07-16 09:54:05 -07:00

34 KiB

@hanzo/core

1.30.2

Patch Changes

1.30.1

Patch Changes

1.30.0

Minor Changes

  • #3708 3d4a76f Thanks @pauldambra! - Detect Brave (desktop, Android, iOS), Vivaldi, Yandex, Naver Whale, DuckDuckGo, Pale Moon, and Waterfox so users on these browsers no longer get bucketed as Chrome or Firefox.

    detectBrowser / detectBrowserVersion now accept an optional third argument, BrowserDetectionHints, with a brave flag (set when navigator.brave exists). The browser SDK populates this automatically to catch desktop / Android Brave, which is Chromium-based and carries no UA marker. Brave on iOS is picked up purely from the Brave/ UA marker — WebKit doesn't ship navigator.brave. The original two-argument signature still works for non-DOM callers. (2026-06-01)

Patch Changes

1.29.15

Patch Changes

1.29.14

Patch Changes

  • #3694 d9ad199 Thanks @gustavohstrassburger! - fix(react-native): preserve non-string property types (booleans, arrays, numbers, objects) when caching person and group properties for feature flag evaluation. Previously these were force-coerced to strings via String(value), causing flag conditions using boolean equality or array contains to fail on device while the Insights UI still evaluated correctly. (2026-05-31)
  • Updated dependencies []:

1.29.13

Patch Changes

1.29.12

Patch Changes

1.29.11

Patch Changes

1.29.10

Patch Changes

  • #3665 5568f12 Thanks @ioannisj! - Don't autocapture Insights's own InsightsFetchNetworkError (raised when the device is offline) as a $exception. These connectivity failures are expected and were flooding error tracking with internal SDK noise. Adds an isInsightsFetchNetworkError type guard to @insights/core so SDKs can detect these errors. (2026-05-26)
  • Updated dependencies []:

1.29.9

Patch Changes

1.29.8

Patch Changes

1.29.7

Patch Changes

1.29.6

Patch Changes

1.29.5

Patch Changes

1.29.4

Patch Changes

1.29.3

Patch Changes

1.29.2

Patch Changes

1.29.1

Patch Changes

1.29.0

Minor Changes

  • #3599 ad60818 Thanks @turnipdabeets! - Expose UUID and cookie helpers from @insights/core and insights-node for users managing distinct_id outside the browser SDK (e.g. Lambda functions handing out cross-domain redirects). The helpers were already implemented in @insights/next — this change lifts them to core so all SDKs can re-use them. @insights/next now re-exports the same surface from @insights/core to keep existing consumers working without churn. Closes #2143. (2026-05-12)

Patch Changes

1.28.7

Patch Changes

1.28.6

Patch Changes

1.28.5

Patch Changes

1.28.4

Patch Changes

1.28.3

Patch Changes

1.28.2

Patch Changes

1.28.1

Patch Changes

  • #3512 8aee3d5 Thanks @marandaneto! - Do not crash when the React Native SDK is initialized without an API key; initialize as disabled and log an error instead. Disabled clients now also skip manual reload/flush/survey/log network calls. (2026-05-04)
  • Updated dependencies []:

1.28.0

Minor Changes

  • #3492 cf56753 Thanks @lucasheriques! - Add translated survey rendering support in React Native and share survey translation logic through @insights/core. (2026-05-01)

  • #3480 04db756 Thanks @turnipdabeets! - Add manual log capture API for React Native: insights.captureLog(), insights.logger.{trace,debug,info,warn,error,fatal}(), insights.flushLogs(), and a logs config option on the constructor. Records ship to Insights's logs product (/i/v1/logs) in OTLP format, batched on a timer / AppState change / buffer fill, and persisted to a dedicated logs-storage file.

    Manual capture is unconditional — calling the API ships records, matching the events pipeline's manual capture() shape. Only blockers: optedOut, missing/empty body, and missing API key. The wire field response.logs.captureConsoleLogs is browser-only (it gates the JS SDK's console.* autocapture extension) and is not read by RN. When console autocapture lands on RN as a follow-up, that PR will introduce a local opt-in for the autocapture path specifically; manual capture will remain unconditional. (2026-05-01)

Patch Changes

1.27.9

Patch Changes

1.27.8

Patch Changes

1.27.7

Patch Changes

1.27.6

Patch Changes

1.27.5

Patch Changes

1.27.4

Patch Changes

1.27.3

Patch Changes

1.27.2

Patch Changes

1.27.1

Patch Changes

  • #3453 96f19b7 Thanks @turnipdabeets! - Lift OTLP log serialization helpers from insights-js into @insights/core so the upcoming React Native logs feature consumes the same builders. Browser gains two fixes as a side effect: NaN and ±Infinity attribute values no longer get silently dropped during JSON encoding, and the scope.version OTLP field is now populated with the SDK version (changes the server's instrumentation_scope column from "insights-js@" to "insights-js@"). (2026-04-23)
  • Updated dependencies [96f19b7]:

1.27.0

Minor Changes

  • #3432 1a8b727 Thanks @richardsolomou! - refactor: rename __add_tracing_headers to addTracingHeaders. The __ prefix signalled an internal/experimental option, but the config is a public API (documented for linking LLM traces to session replays). __add_tracing_headers continues to work as a deprecated alias on the browser SDK.

    Also exposes patchFetchForTracingHeaders from @insights/core so non-browser SDKs can reuse the implementation. (2026-04-23)

1.26.0

Minor Changes

1.25.3

Patch Changes

  • #3426 1a0b58d Thanks @marandaneto! - Trim surrounding whitespace from user-provided API keys, personal API keys, and host config values before using them. (2026-04-21)

1.25.2

Patch Changes

  • #3351 c735b08 Thanks @dmarticus! - Send $device_id as a top-level field in /flags requests so the feature flags service can use it for device-based bucketing during remote evaluation (2026-04-09)

1.25.1

Patch Changes

  • #3340 57ee5b2 Thanks @dmarticus! - Add device bucketing support to the React Native SDK for stable feature flag assignment across identity changes (2026-04-07)

1.25.0

Minor Changes

1.24.6

Patch Changes

  • #3320 a01a3d5 Thanks @dustinbyrne! - fix: send $groupidentify for new groups even when no properties are provided (2026-04-02)

1.24.5

Patch Changes

  • #3309 197eeda Thanks @marandaneto! - Extract CLI and sourcemap utilities from @insights/core into @insights/plugin-utils to remove cross-spawn from React Native dependencies (2026-04-01)

1.24.4

Patch Changes

  • #3296 a863914 Thanks @marandaneto! - Fix captureException crashing in React Native with ReferenceError: Property 'Event' doesn't exist (2026-03-30)

1.24.3

Patch Changes

  • #3292 4bdfdbc Thanks @marandaneto! - Add @default JSDoc tags to InsightsCoreOptions configuration properties for better IDE documentation and discoverability. (2026-03-27)

1.24.2

Patch Changes

  • #3286 8d34289 Thanks @marandaneto! - Use async native CompressionStream for gzip compression to avoid blocking the main thread (2026-03-27)

1.24.1

Patch Changes

1.24.0

Minor Changes

1.23.4

Patch Changes

1.23.3

Patch Changes

1.23.2

Patch Changes

  • #3185 5e8d5fc Thanks @marandaneto! - fix: export getRemoteConfigBool, getRemoteConfigNumber, and isValidSampleRate from @hanzo/core (2026-03-02)

1.23.1

Patch Changes

1.23.0

Minor Changes

  • #3086 e962f01 Thanks @marandaneto! - feat: support remote config for error tracking, session replay capture performance and capture logs (2026-02-17)

1.22.0

Minor Changes

1.21.0

Minor Changes

  • #2820 d578824 Thanks @ordehi! - Add survey response validation for message length (min and max length). Fixes whitespace-only bypass for required questions. Existing surveys work unchanged but now properly reject blank responses. (2026-02-09)

1.20.2

Patch Changes

  • #3028 e055f9a Thanks @marandaneto! - fix: Queue pending feature flags reload instead of dropping requests when a reload is already in flight (2026-02-09)

1.20.1

Patch Changes

1.20.0

Minor Changes

1.19.0

Minor Changes

1.18.0

Minor Changes

  • #2996 7768010 Thanks @matheus-vb! - Filter out flags marked as failed before merging with cached values, preventing transient backend errors from overwriting previously evaluated flag states (2026-02-03)

1.17.0

Minor Changes

1.16.0

Minor Changes

  • #2967 cbe84c1 Thanks @adboio! - support auto-submit on selection for survey rating questions (2026-01-29)

1.15.0

Minor Changes

1.14.1

Patch Changes

  • #2971 f51560c Thanks @marandaneto! - fix: groups and groupidentify is a no-op if person profiles is set to never (2026-01-27)

1.14.0

Minor Changes

  • #2917 933c763 Thanks @marandaneto! - feat: add support for person_profiles react native, core and web-lite (2026-01-23)

1.13.0

Minor Changes

  • #2882 8a5a3d5 Thanks @adboio! - add support for question prefill in popover surveys, add useThumbSurvey hook (2026-01-20)

1.12.0

Minor Changes

  • #2897 b7fa003 Thanks @matheus-vb! - Add $feature_flag_error to $feature_flag_called events to track flag evaluation failures (2026-01-20)

  • #2931 f0cbc0d Thanks @marandaneto! - chore: before_send support for web lite and react native (2026-01-20)

1.11.0

Minor Changes

  • #2900 23770e9 Thanks @dmarticus! - Renamed evaluationEnvironments to evaluationContexts for clearer semantics. The term "contexts" better reflects that this feature is for specifying evaluation contexts (e.g., "web", "mobile", "checkout") rather than deployment environments (e.g., "staging", "production").

    Deprecated

    • insights.init option evaluationEnvironments is now deprecated in favor of evaluationContexts. The old property will continue to work and will log a deprecation warning. It will be removed in a future major version.

    Migration Guide

    // Before
    insights.init('<ph_project_api_key>', {
        evaluationEnvironments: ['production', 'web', 'checkout'],
    })
    
    // After
    insights.init('<ph_project_api_key>', {
        evaluationContexts: ['production', 'web', 'checkout'],
    })
    ``` (2026-01-19)
    

1.10.0

Minor Changes

  • #2881 d37e570 Thanks @adboio! - add support for thumbs up/down survey rating scale (2026-01-16)

1.9.1

Patch Changes

1.9.0

Minor Changes

1.8.1

Patch Changes

  • #2769 6b0aabf Thanks @marandaneto! - chore: move the user-agent-utils from the browser to the core package (2025-12-17)

1.8.0

Minor Changes

1.7.1

Patch Changes

  • #2690 e9c00fd Thanks @robbie-c! - Related to https://www.wiz.io/blog/critical-vulnerability-in-react-cve-2025-55182

    We didn't include any of the vulnerable deps in any of our packages, however we did have them as dev / test / example project dependencies.

    There was no way that any of these vulnerable packages were included in any of our published packages.

    We've now patched out those dependencies.

    Out of an abundance of caution, let's create a new release of all of our packages. (2025-12-04)

1.7.0

Minor Changes

  • #2603 e1617d9 Thanks @dmarticus! - add $feature_flag_evaluated_at properties to $feature_flag_called events (2025-12-03)

1.6.0

Minor Changes

1.5.6

Patch Changes

1.5.5

Patch Changes

1.5.4

Patch Changes

1.5.3

Patch Changes

1.5.2

Patch Changes

1.5.1

Patch Changes

1.5.0

Minor Changes

  • #2520 068d55e Thanks @lricoy! - Add bot pageview collection behind preview flag. Enables tracking bot traffic as $bot_pageview events when the __preview_capture_bot_pageviews flag is enabled.

1.4.0

Minor Changes

1.3.1

Patch Changes

1.3.0

Minor Changes

  • #2417 daf919b Thanks @dmarticus! - feat: Add evaluation environments support for feature flags

    This PR adds base support for evaluation environments in the core library, allowing SDKs that extend the core to specify which environment tags their SDK instance should use when evaluating feature flags.

    The core library now handles sending the evaluation_environments parameter to the feature flags API when configured.

Patch Changes

1.2.4

Patch Changes

1.2.3

Patch Changes

1.2.2

Patch Changes

1.2.1

Patch Changes

1.2.0

Minor Changes

1.1.0

Minor Changes

1.0.2

Patch Changes

1.0.1

Patch Changes