NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3291 most downloaded on npm
Last release 4 days ago
01 Oct 2026
Ships on a steady schedule
a new release about every 8 days
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
209 releases · first in 2025
One column per month.
### Patch Changes - Updated dependencies []: - @posthog/types@1.376.2
### Patch Changes - #3665 `5568f12` Thanks @ioannisj! - Don't autocapture PostHog's own PostHogFetchNetworkError (raised when the device is offline) a
5568f12 Thanks @ioannisj! - Don't autocapture PostHog's own PostHogFetchNetworkError (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 isPostHogFetchNetworkError type guard to @posthog/core so SDKs can detect these errors.
(2026-05-26)### Patch Changes - #3639 `c806cca` Thanks @marandaneto! - Use native async gzip compression for session recording events when CompressionStream is av
c806cca Thanks @marandaneto! - Use native async gzip compression for session recording events when CompressionStream is available.
(2026-05-22)Updated dependencies [`2e1d5f4`]:
2e1d5f4]:
### Patch Changes - Updated dependencies []: - @posthog/types@1.374.4
Updated dependencies [`557b893`]:
a880dbc Thanks @Ashut0sh-mishra! - Detect Oculus Browser (Meta Quest headsets) correctly instead of falling back to Chrome
(2026-05-20)557b893]:
### Patch Changes - Updated dependencies []: - @posthog/types@1.374.2
### Patch Changes - Updated dependencies []: - @posthog/types@1.374.1
Updated dependencies [`594ea11`]:
594ea11]:
### Patch Changes - Updated dependencies []: - @posthog/types@1.373.5
### Patch Changes - #3602 `4b895bf` Thanks @marandaneto! - Validate gzip request bodies at the browser send boundary and fall back to JSON if the outg
4b895bf Thanks @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)### Minor Changes - #3599 `ad60818` Thanks @turnipdabeets! - Expose UUID and cookie helpers from @posthog/core and posthog-node for users managing dis
ad60818 Thanks @turnipdabeets! - Expose UUID and cookie helpers from @posthog/core and posthog-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 @posthog/next — this change lifts them to core so all SDKs can re-use them. @posthog/next now re-exports the same surface from @posthog/core to keep existing consumers working without churn. Closes #2143.
(2026-05-12)### Patch Changes - #3568 `223d925` Thanks @marandaneto! - Validate native gzip output before sending requests and fall back when CompressionStream re
223d925 Thanks @marandaneto! - Validate native gzip output before sending requests and fall back when CompressionStream returns malformed data.
(2026-05-11)### Patch Changes - Updated dependencies []: - @posthog/types@1.373.1
Updated dependencies [`4c0c7d9`, `0a835fa`]:
### Patch Changes - Updated dependencies []: - @posthog/types@1.372.10
### Patch Changes - Updated dependencies []: - @posthog/types@1.372.9
### Patch Changes - #3516 `220cd61` Thanks @marandaneto! - fix: consume fetch response body to prevent CF Workers runtime warnings (2026-05-04) - #351
#3516 220cd61 Thanks @marandaneto! - fix: consume fetch response body to prevent CF Workers runtime warnings
(2026-05-04)
#3515 255b273 Thanks @marandaneto! - Gate survey translation logs behind SDK debug logging to avoid production console spam.
(2026-05-04)
Updated dependencies []:
### Patch Changes - #3512 `8aee3d5` Thanks @marandaneto! - Do not crash when the React Native SDK is initialized without an API key; initialize as dis
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)Manual capture is unconditional — calling the API ships records, matching the events pipeline's manual capture() shape. Only blockers: optedOut, missi
#3492 cf56753 Thanks @lucasheriques! - Add translated survey rendering support in React Native and share survey translation logic through @posthog/core.
(2026-05-01)
#3480 04db756 Thanks @turnipdabeets! - Add manual log capture API for React Native: posthog.captureLog(), posthog.logger.{trace,debug,info,warn,error,fatal}(), posthog.flushLogs(), and a logs config option on the constructor. Records ship to PostHog'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 - Updated dependencies []: - @posthog/types@1.372.5
### Patch Changes - Updated dependencies []: - @posthog/types@1.372.4
### Patch Changes - Updated dependencies []: - @posthog/types@1.372.3
### Patch Changes - Updated dependencies []: - @posthog/types@1.372.2
### Patch Changes - #3464 `70508df` Thanks @dustinbyrne! - Avoid using Blob.stream() for native async gzip compression to prevent Safari NotReadableEr
70508df Thanks @dustinbyrne! - Avoid using Blob.stream() for native async gzip compression to prevent Safari NotReadableError stream failures.
(2026-04-24)### Patch Changes - Updated dependencies []: - @posthog/types@1.372.0
### Patch Changes - Updated dependencies []: - @posthog/types@1.371.4
### Patch Changes - #3437 `daf028d` Thanks @dustinbyrne! - Disable the core client instead of throwing when the API key is missing, blank, or invalid.
daf028d Thanks @dustinbyrne! - Disable the core client instead of throwing when the API key is missing, blank, or invalid.
(2026-04-24)Updated dependencies [`96f19b7`]:
96f19b7 Thanks @turnipdabeets! - Lift OTLP log serialization helpers from posthog-js into @posthog/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 "posthog-js@" to "posthog-js@<semver>"). (2026-04-23)96f19b7]:
Also exposes patchFetchForTracingHeaders from @posthog/core so non-browser SDKs can reuse the implementation. (2026-04-23)
#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 @posthog/core so non-browser SDKs can reuse the implementation. (2026-04-23)
### Minor Changes - #3389 `922a1c1` Thanks @hpouillot! - Add exception steps to error tracking (aka breadcrumbs) (2026-04-22)
922a1c1 Thanks @hpouillot! - Add exception steps to error tracking (aka breadcrumbs)
(2026-04-22)### Patch Changes - #3426 `1a0b58d` Thanks @marandaneto! - Trim surrounding whitespace from user-provided API keys, personal API keys, and host config
1a0b58d Thanks @marandaneto! - Trim surrounding whitespace from user-provided API keys, personal API keys, and host config values before using them.
(2026-04-21)### Patch Changes - #3351 `c735b08` Thanks @dmarticus! - Send $device_id as a top-level field in /flags requests so the feature flags service can use
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)### Patch Changes - #3340 `57ee5b2` Thanks @dmarticus! - Add device bucketing support to the React Native SDK for stable feature flag assignment acros
57ee5b2 Thanks @dmarticus! - Add device bucketing support to the React Native SDK for stable feature flag assignment across identity changes
(2026-04-07)### Minor Changes - #3302 `fc5589f` Thanks @dmarticus! - preserve $set_once semantics in local flag evaluation cache (2026-04-07)
fc5589f Thanks @dmarticus! - preserve $set_once semantics in local flag evaluation cache
(2026-04-07)### Patch Changes - #3320 `a01a3d5` Thanks @dustinbyrne! - fix: send $groupidentify for new groups even when no properties are provided (2026-04-02)
a01a3d5 Thanks @dustinbyrne! - fix: send $groupidentify for new groups even when no properties are provided
(2026-04-02)### Patch Changes - #3309 `197eeda` Thanks @marandaneto! - Extract CLI and sourcemap utilities from @posthog/core into @posthog/plugin-utils to remove
197eeda Thanks @marandaneto! - Extract CLI and sourcemap utilities from @posthog/core into @posthog/plugin-utils to remove cross-spawn from React Native dependencies
(2026-04-01)### Patch Changes - #3296 `a863914` Thanks @marandaneto! - Fix captureException crashing in React Native with ReferenceError: Property 'Event' doesn't
a863914 Thanks @marandaneto! - Fix captureException crashing in React Native with ReferenceError: Property 'Event' doesn't exist
(2026-03-30)### Patch Changes - #3292 `4bdfdbc` Thanks @marandaneto! - Add @default JSDoc tags to PostHogCoreOptions configuration properties for better IDE docum
4bdfdbc Thanks @marandaneto! - Add @default JSDoc tags to PostHogCoreOptions configuration properties for better IDE documentation and discoverability.
(2026-03-27)### Patch Changes - #3286 `8d34289` Thanks @marandaneto! - Use async native CompressionStream for gzip compression to avoid blocking the main thread (
8d34289 Thanks @marandaneto! - Use async native CompressionStream for gzip compression to avoid blocking the main thread
(2026-03-27)### Patch Changes - #3265 `314120a` Thanks @hpouillot! - fix sourcemap upload with stdin, clean config (2026-03-20)
314120a Thanks @hpouillot! - fix sourcemap upload with stdin, clean config
(2026-03-20)### Minor Changes - #3246 `9cd2313` Thanks @hpouillot! - pipe chunk file path to stdin (2026-03-18)
9cd2313 Thanks @hpouillot! - pipe chunk file path to stdin
(2026-03-18)### Patch Changes - #3236 `bc30c2d` Thanks @dustinbyrne! - fix: Clean up leaked timers in edge runtimes (2026-03-13) - #3236 `bc30c2d` Thanks @dustinb
#3236 bc30c2d Thanks @dustinbyrne! - fix: Clean up leaked timers in edge runtimes
(2026-03-13)
#3236 bc30c2d Thanks @dustinbyrne! - Omit the config query parameter by default to request only the necessary data
(2026-03-13)
### Patch Changes - #3220 `4009c15` Thanks @ablaszkiewicz! - add better handling for CustomEvent inside unhandled rejections (2026-03-11)
4009c15 Thanks @ablaszkiewicz! - add better handling for CustomEvent inside unhandled rejections
(2026-03-11)### Patch Changes - #3185 `5e8d5fc` Thanks @marandaneto! - fix: export getRemoteConfigBool, getRemoteConfigNumber, and isValidSampleRate from @posthog
5e8d5fc Thanks @marandaneto! - fix: export getRemoteConfigBool, getRemoteConfigNumber, and isValidSampleRate from @posthog/core
(2026-03-02)### Patch Changes - #3107 `9dbc05e` Thanks @ablaszkiewicz! - warning on manual capture('$exception') (2026-02-18)
9dbc05e Thanks @ablaszkiewicz! - warning on manual capture('$exception')
(2026-02-18)### Minor Changes - #3086 `e962f01` Thanks @marandaneto! - feat: support remote config for error tracking, session replay capture performance and capt
e962f01 Thanks @marandaneto! - feat: support remote config for error tracking, session replay capture performance and capture logs
(2026-02-17)### Minor Changes - #3045 `0acf16f` Thanks @dustinbyrne! - feat: Add getFeatureFlagResult to PostHogCore (2026-02-10)
0acf16f Thanks @dustinbyrne! - feat: Add getFeatureFlagResult to PostHogCore
(2026-02-10)### Minor Changes - #2820 `d578824` Thanks @ordehi! - Add survey response validation for message length (min and max length). Fixes whitespace-only by
### Patch Changes - #3028 `e055f9a` Thanks @marandaneto! - fix: Queue pending feature flags reload instead of dropping requests when a reload is alrea
e055f9a Thanks @marandaneto! - fix: Queue pending feature flags reload instead of dropping requests when a reload is already in flight
(2026-02-09)### Patch Changes - #3039 `8f75dae` Thanks @hpouillot! - fix(err): fix console error capturing (2026-02-06)
8f75dae Thanks @hpouillot! - fix(err): fix console error capturing
(2026-02-06)### Minor Changes - #3023 `bb62809` Thanks @marandaneto! - feat: only capture $set events if the user properties have changed (2026-02-04)
bb62809 Thanks @marandaneto! - feat: only capture $set events if the user properties have changed
(2026-02-04)### Minor Changes - #3009 `c99e5fe` Thanks @marandaneto! - feat: add setPersonProperties method (2026-02-03)
c99e5fe Thanks @marandaneto! - feat: add setPersonProperties method
(2026-02-03)### Minor Changes - #2996 `7768010` Thanks @matheus-vb! - Filter out flags marked as failed before merging with cached values, preventing transient ba
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)### Minor Changes - #2966 `727536c` Thanks @adboio! - support "always" survey schedule (2026-01-29)
### Minor Changes - #2967 `cbe84c1` Thanks @adboio! - support auto-submit on selection for survey rating questions (2026-01-29)
### Minor Changes - #2984 `8c0c495` Thanks @ablaszkiewicz! - include possible pnpm bin path (2026-01-28)
8c0c495 Thanks @ablaszkiewicz! - include possible pnpm bin path
(2026-01-28)### Patch Changes - #2971 `f51560c` Thanks @marandaneto! - fix: groups and groupidentify is a no-op if person profiles is set to never (2026-01-27)
f51560c Thanks @marandaneto! - fix: groups and groupidentify is a no-op if person profiles is set to never
(2026-01-27)### Minor Changes - #2917 `933c763` Thanks @marandaneto! - feat: add support for person_profiles react native, core and web-lite (2026-01-23)
933c763 Thanks @marandaneto! - feat: add support for person_profiles react native, core and web-lite
(2026-01-23)### Minor Changes - #2882 `8a5a3d5` Thanks @adboio! - add support for question prefill in popover surveys, add useThumbSurvey hook (2026-01-20)
Your coding agent can read these notes before it upgrades. Set up the MCP server →