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').
34 KiB
@hanzo/core
1.30.2
Patch Changes
- Updated dependencies []:
1.30.1
Patch Changes
- Updated dependencies [
8181354]:
1.30.0
Minor Changes
-
#3708
3d4a76fThanks @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/detectBrowserVersionnow accept an optional third argument,BrowserDetectionHints, with abraveflag (set whennavigator.braveexists). 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 theBrave/UA marker — WebKit doesn't shipnavigator.brave. The original two-argument signature still works for non-DOM callers. (2026-06-01)
Patch Changes
- Updated dependencies []:
1.29.15
Patch Changes
- Updated dependencies []:
1.29.14
Patch Changes
- #3694
d9ad199Thanks @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 viaString(value), causing flag conditions using boolean equality or arraycontainsto fail on device while the Insights UI still evaluated correctly. (2026-05-31) - Updated dependencies []:
1.29.13
Patch Changes
- #3681
7b84b75Thanks @ablaszkiewicz! - unify captureException in insights core (2026-05-28) - Updated dependencies []:
1.29.12
Patch Changes
- Updated dependencies []:
1.29.11
Patch Changes
- Updated dependencies []:
1.29.10
Patch Changes
- #3665
5568f12Thanks @ioannisj! - Don't autocapture Insights's ownInsightsFetchNetworkError(raised when the device is offline) as a$exception. These connectivity failures are expected and were flooding error tracking with internal SDK noise. Adds anisInsightsFetchNetworkErrortype guard to@insights/coreso SDKs can detect these errors. (2026-05-26) - Updated dependencies []:
1.29.9
Patch Changes
- #3639
c806ccaThanks @marandaneto! - Use native async gzip compression for session recording events when CompressionStream is available. (2026-05-22) - Updated dependencies []:
1.29.8
Patch Changes
- Updated dependencies [
2e1d5f4]:
1.29.7
Patch Changes
- Updated dependencies []:
1.29.6
Patch Changes
- #3581
a880dbcThanks @Ashut0sh-mishra! - Detect Oculus Browser (Meta Quest headsets) correctly instead of falling back to Chrome (2026-05-20) - Updated dependencies [
557b893]:
1.29.5
Patch Changes
- Updated dependencies []:
1.29.4
Patch Changes
- Updated dependencies []:
1.29.3
Patch Changes
- Updated dependencies [
594ea11]:
1.29.2
Patch Changes
- Updated dependencies []:
1.29.1
Patch Changes
- #3602
4b895bfThanks @marandaneto! - Validate gzip request bodies at the browser send boundary and fall back to JSON if the outgoing body is not gzip data. (2026-05-12) - Updated dependencies []:
1.29.0
Minor Changes
- #3599
ad60818Thanks @turnipdabeets! - Expose UUID and cookie helpers from@insights/coreandinsights-nodefor 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/nextnow re-exports the same surface from@insights/coreto keep existing consumers working without churn. Closes #2143. (2026-05-12)
Patch Changes
- Updated dependencies []:
1.28.7
Patch Changes
- #3568
223d925Thanks @marandaneto! - Validate native gzip output before sending requests and fall back when CompressionStream returns malformed data. (2026-05-11) - Updated dependencies []:
1.28.6
Patch Changes
- Updated dependencies []:
1.28.5
Patch Changes
1.28.4
Patch Changes
- Updated dependencies []:
1.28.3
Patch Changes
- Updated dependencies []:
1.28.2
Patch Changes
-
#3516
220cd61Thanks @marandaneto! - fix: consume fetch response body to prevent CF Workers runtime warnings (2026-05-04) -
#3515
255b273Thanks @marandaneto! - Gate survey translation logs behind SDK debug logging to avoid production console spam. (2026-05-04) -
Updated dependencies []:
1.28.1
Patch Changes
- #3512
8aee3d5Thanks @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
cf56753Thanks @lucasheriques! - Add translated survey rendering support in React Native and share survey translation logic through@insights/core. (2026-05-01) -
#3480
04db756Thanks @turnipdabeets! - Add manual log capture API for React Native:insights.captureLog(),insights.logger.{trace,debug,info,warn,error,fatal}(),insights.flushLogs(), and alogsconfig 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/emptybody, and missing API key. The wire fieldresponse.logs.captureConsoleLogsis browser-only (it gates the JS SDK'sconsole.*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
- Updated dependencies []:
1.27.9
Patch Changes
- Updated dependencies []:
1.27.8
Patch Changes
- Updated dependencies []:
1.27.7
Patch Changes
- Updated dependencies []:
1.27.6
Patch Changes
- Updated dependencies []:
1.27.5
Patch Changes
- #3464
70508dfThanks @dustinbyrne! - Avoid usingBlob.stream()for native async gzip compression to prevent SafariNotReadableErrorstream failures. (2026-04-24) - Updated dependencies []:
1.27.4
Patch Changes
- Updated dependencies []:
1.27.3
Patch Changes
- Updated dependencies []:
1.27.2
Patch Changes
- #3437
daf028dThanks @dustinbyrne! - Disable the core client instead of throwing when the API key is missing, blank, or invalid. (2026-04-24) - Updated dependencies []:
1.27.1
Patch Changes
- #3453
96f19b7Thanks @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
1a8b727Thanks @richardsolomou! - refactor: rename__add_tracing_headerstoaddTracingHeaders. The__prefix signalled an internal/experimental option, but the config is a public API (documented for linking LLM traces to session replays).__add_tracing_headerscontinues to work as a deprecated alias on the browser SDK.Also exposes
patchFetchForTracingHeadersfrom@insights/coreso non-browser SDKs can reuse the implementation. (2026-04-23)
1.26.0
Minor Changes
- #3389
922a1c1Thanks @hpouillot! - Add exception steps to error tracking (aka breadcrumbs) (2026-04-22)
1.25.3
Patch Changes
- #3426
1a0b58dThanks @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
c735b08Thanks @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
57ee5b2Thanks @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
- #3302
fc5589fThanks @dmarticus! - preserve $set_once semantics in local flag evaluation cache (2026-04-07)
1.24.6
Patch Changes
- #3320
a01a3d5Thanks @dustinbyrne! - fix: send $groupidentify for new groups even when no properties are provided (2026-04-02)
1.24.5
Patch Changes
- #3309
197eedaThanks @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
a863914Thanks @marandaneto! - FixcaptureExceptioncrashing in React Native withReferenceError: Property 'Event' doesn't exist(2026-03-30)
1.24.3
Patch Changes
- #3292
4bdfdbcThanks @marandaneto! - Add@defaultJSDoc tags toInsightsCoreOptionsconfiguration properties for better IDE documentation and discoverability. (2026-03-27)
1.24.2
Patch Changes
- #3286
8d34289Thanks @marandaneto! - Use async native CompressionStream for gzip compression to avoid blocking the main thread (2026-03-27)
1.24.1
Patch Changes
- #3265
314120aThanks @hpouillot! - fix sourcemap upload with stdin, clean config (2026-03-20)
1.24.0
Minor Changes
- #3246
9cd2313Thanks @hpouillot! - pipe chunk file path to stdin (2026-03-18)
1.23.4
Patch Changes
-
#3236
bc30c2dThanks @dustinbyrne! - fix: Clean up leaked timers in edge runtimes (2026-03-13) -
#3236
bc30c2dThanks @dustinbyrne! - Omit the config query parameter by default to request only the necessary data (2026-03-13)
1.23.3
Patch Changes
- #3220
4009c15Thanks @ablaszkiewicz! - add better handling for CustomEvent inside unhandled rejections (2026-03-11)
1.23.2
Patch Changes
- #3185
5e8d5fcThanks @marandaneto! - fix: export getRemoteConfigBool, getRemoteConfigNumber, and isValidSampleRate from @hanzo/core (2026-03-02)
1.23.1
Patch Changes
- #3107
9dbc05eThanks @ablaszkiewicz! - warning on manual capture('$exception') (2026-02-18)
1.23.0
Minor Changes
- #3086
e962f01Thanks @marandaneto! - feat: support remote config for error tracking, session replay capture performance and capture logs (2026-02-17)
1.22.0
Minor Changes
- #3045
0acf16fThanks @dustinbyrne! - feat: AddgetFeatureFlagResultto InsightsCore (2026-02-10)
1.21.0
Minor Changes
- #2820
d578824Thanks @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
e055f9aThanks @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
- #3039
8f75daeThanks @hpouillot! - fix(err): fix console error capturing (2026-02-06)
1.20.0
Minor Changes
- #3023
bb62809Thanks @marandaneto! - feat: only capture $set events if the user properties have changed (2026-02-04)
1.19.0
Minor Changes
- #3009
c99e5feThanks @marandaneto! - feat: add setPersonProperties method (2026-02-03)
1.18.0
Minor Changes
- #2996
7768010Thanks @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
cbe84c1Thanks @adboio! - support auto-submit on selection for survey rating questions (2026-01-29)
1.15.0
Minor Changes
- #2984
8c0c495Thanks @ablaszkiewicz! - include possible pnpm bin path (2026-01-28)
1.14.1
Patch Changes
- #2971
f51560cThanks @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
933c763Thanks @marandaneto! - feat: add support for person_profiles react native, core and web-lite (2026-01-23)
1.13.0
Minor Changes
- #2882
8a5a3d5Thanks @adboio! - add support for question prefill in popover surveys, add useThumbSurvey hook (2026-01-20)
1.12.0
Minor Changes
-
#2897
b7fa003Thanks @matheus-vb! - Add $feature_flag_error to $feature_flag_called events to track flag evaluation failures (2026-01-20) -
#2931
f0cbc0dThanks @marandaneto! - chore: before_send support for web lite and react native (2026-01-20)
1.11.0
Minor Changes
-
#2900
23770e9Thanks @dmarticus! - RenamedevaluationEnvironmentstoevaluationContextsfor 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.initoptionevaluationEnvironmentsis now deprecated in favor ofevaluationContexts. 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
1.9.1
Patch Changes
-
#2593
fba9fb2Thanks @daibhin! - track LLMA trace_id on exceptions and exception_id on traces (2026-01-08) -
#2856
c1ed63bThanks @marandaneto! - chore: expose default stack parser creator (2026-01-08)
1.9.0
Minor Changes
- #2787
b676b4dThanks @lucasheriques! - feat: allow customizing text colors on web and react native (2025-12-22)
1.8.1
Patch Changes
- #2769
6b0aabfThanks @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
e9c00fdThanks @robbie-c! - Related to https://www.wiz.io/blog/critical-vulnerability-in-react-cve-2025-55182We 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
e1617d9Thanks @dmarticus! - add $feature_flag_evaluated_at properties to $feature_flag_called events (2025-12-03)
1.6.0
Minor Changes
- #2619
86dab38Thanks @hpouillot! - package deprecation (2025-11-24)
1.5.6
Patch Changes
- #2618
3eed1a4Thanks @marandaneto! - last version was compromised (2025-11-24)
1.5.5
Patch Changes
- #2589
83f5d07Thanks @hpouillot! - export logger creation (2025-11-20)
1.5.4
Patch Changes
- #2587
c242702Thanks @hpouillot! - export log level type (2025-11-20)
1.5.3
Patch Changes
- #2575
8acd88fThanks @hpouillot! - fix frame platform property for $exception events (2025-11-19)
1.5.2
Patch Changes
- #2552
87f9604Thanks @hpouillot! - expose binary path resolution
1.5.1
Patch Changes
- #2540
d8d98c9Thanks @hpouillot! - escape cli args and path in shell mode
1.5.0
Minor Changes
- #2520
068d55eThanks @lricoy! - Add bot pageview collection behind preview flag. Enables tracking bot traffic as$bot_pageviewevents when the__preview_capture_bot_pageviewsflag is enabled.
1.4.0
Minor Changes
- #2502
751b440Thanks @pauldambra! - fix: bucketed rate limiter can calculate tokens without a timer
1.3.1
Patch Changes
- #2478
e0a6fe0Thanks @hpouillot! - remove some export from main core
1.3.0
Minor Changes
-
#2417
daf919bThanks @dmarticus! - feat: Add evaluation environments support for feature flagsThis 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_environmentsparameter to the feature flags API when configured.
Patch Changes
- #2431
7d45a7aThanks @marandaneto! - fix: remove deprecated attribute $exception_personURL from exception events
1.2.4
Patch Changes
- #2419
10da2eeThanks @ablaszkiewicz! - move binary calling logic to core package
1.2.3
Patch Changes
- #2414
e19a384Thanks @hpouillot! - create a common logger for node and react-native
1.2.2
Patch Changes
- #2370
5820942Thanks @hpouillot! - remove testing export
1.2.1
Patch Changes
- #2356
caecb94Thanks @hpouillot! - update error properties builder
1.2.0
Minor Changes
- #2348
ac48d8fThanks @hpouillot! - chore: align js syntax with package support
1.1.0
Minor Changes
- #2330
da07e41Thanks @hpouillot! - add error tracking processing
1.0.2
Patch Changes
- #2243
1981815Thanks @hpouillot! - add promise queue