chore(deps): update dependency posthog-js to v1.421.2 - #280
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
launchpad | 4aef0cb | Commit Preview URL Branch Preview URL |
Aug 30 2026, 02:02 PM |
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 5, 2026 19:57
f197c3f to
d4c37ee
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
2 times, most recently
from
August 6, 2026 16:49
e08c894 to
7682d7d
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
2 times, most recently
from
August 10, 2026 10:49
6d57660 to
cbc34d2
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
2 times, most recently
from
August 12, 2026 03:50
dbc25c9 to
4d236f5
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
2 times, most recently
from
August 12, 2026 16:59
f44205a to
1251b4d
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
2 times, most recently
from
August 13, 2026 16:48
4a615dd to
5d0babc
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 13, 2026 21:29
5d0babc to
a4219e6
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 14, 2026 16:58
a4219e6 to
8d93180
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 16, 2026 16:44
8d93180 to
7e2f948
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 16, 2026 21:12
7e2f948 to
a522b73
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 22, 2026 17:06
4f52711 to
a342c28
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 22, 2026 20:42
a342c28 to
6766879
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 23, 2026 02:29
6766879 to
887b999
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 23, 2026 14:29
887b999 to
08f719f
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 25, 2026 14:11
08f719f to
9925af8
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
2 times, most recently
from
August 27, 2026 11:43
0b0c7d6 to
3ba4236
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 27, 2026 17:05
3ba4236 to
a72c3f2
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 27, 2026 23:02
a72c3f2 to
ab5b998
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 28, 2026 15:22
ab5b998 to
95506e5
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 28, 2026 20:44
95506e5 to
8323423
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 29, 2026 14:09
8323423 to
183b4aa
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 29, 2026 18:05
183b4aa to
b59a29a
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 30, 2026 10:00
b59a29a to
b724f5e
Compare
renovate
Bot
force-pushed
the
renovate/posthog-js-1.x-lockfile
branch
from
August 30, 2026 13:59
b724f5e to
4aef0cb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.410.10→1.421.2Release Notes
PostHog/posthog-js (posthog-js)
v1.421.2Compare Source
1.421.2
Patch Changes
#4653
712223aThanks @posthog! - Fix request timeouts never firing on pages where a browser extension makesError.prototype.namenon-writable(2026-08-27)
#4036
718beeeThanks @emmayusufu! - Fixlogs.captureConsoleLogsset ininit()not enabling console autocapture, captureconsolecalls made before the logs script loads, and drop captured console records when the user opts out(2026-08-27)
#4036
718beeeThanks @emmayusufu! - Fix session replay and posthog-js leaving each other'sconsolewrapper in the call path when either one stops(2026-08-27)
Updated dependencies [
718beee,712223a]:v1.421.1Compare Source
1.421.1
Patch Changes
#4657
9c09bd4Thanks @marandaneto! - Use the best available compression for browser feature flag requests, preferring gzip when supported.(2026-08-27)
#4520
362d081Thanks @veksa! - DropsourcesContentfrom the source maps published to npm. The maps themselves still ship, so downstream source-map chaining and the//# sourceMappingURLreferences are unaffected — only the copy of our TypeScript sources embedded in each map is gone, taking the package from 40.8 MB to 17.4 MB unpacked. CDN artifacts are built separately and keep their inlined sources.(2026-08-27)
Updated dependencies [
7902e44,e899b1c]:v1.421.0Compare Source
1.421.0
Minor Changes
4f80973Thanks @robbie-c! - Add the2026-08-30config defaults. These defaults enable sanitized JSON-LD replay events.(2026-08-26)
Patch Changes
4f80973]:v1.420.0Compare Source
1.420.0
Minor Changes
0d2cf49Thanks @robbie-c! - Add opt-in Schema.org JSON-LD capture to session replay throughsession_recording.captureJsonLd. When enabled, the recorder emits sanitized JSON-LD as custom replay events and excludes all script elements from replay snapshots.(2026-08-26)
Patch Changes
#4635
ab1383aThanks @robbie-c! - Capture paste interactions with clipboard autocapture without collecting pasted text.(2026-08-26)
#4594
1d88b4eThanks @posthog! - Fix session replay playback ending when a recording contains a shadow host the browser refuses. The player now skips that one subtree instead of aborting the rebuild.(2026-08-26)
Updated dependencies [
ab1383a,0d2cf49]:v1.419.4Compare Source
1.419.4
Patch Changes
#4592
ca540f9Thanks @dustinbyrne! - Add typed stable-name lookup for installed browser extensions and use it when independently loaded survey code resolves feature flags.(2026-08-25)
#4533
53fcb2dThanks @dustinbyrne! - Fix console log autocapture silently failing when an olderposthog-jscore loads a newer logs bundle.(2026-08-25)
#4476
ed4dd97Thanks @posthog! - fix(browser): refresh configured feature flags when a hidden tab becomes visibleFeature flags now own their automatic refresh timer and visibility listener.
Hidden tabs reload due flags when they become visible. The existing five-minute
default and
remote_config_refresh_interval_msbehavior remain unchanged. (2026-08-25)Updated dependencies [
53fcb2d,ca540f9,ed4dd97]:v1.419.3Compare Source
v1.419.2Compare Source
1.419.2
Patch Changes
#4645
cb7cc12Thanks @turnipdabeets! - Type declarations no longer import theJSXnamespace fromreact, so they typecheck against@types/reactback to the declared 16.8.0 floor. Component return types are now spelledReactElement<any, any>, which is the definition ofJSX.Element— the same type, so consuming code is unaffected.JSXonly became an exported member of thereacttypes module in@types/react@18.2.6, so projects on older React types previously sawTS2305: Module '"react"' has no exported member 'JSX'when checking these declarations withskipLibCheck: false. (2026-08-25)v1.419.1Compare Source
1.419.1
Patch Changes
#4638
d166e54Thanks @github-actions! - Declarereactand@types/reactas optional peer dependencies so theposthog-js/reactentry point can resolve React on strictnode_moduleslayouts — pnpm and bun isolated linkers backed by a global store, where the package is installed outside the project tree and Node's directory walk never reaches the app's React.Projects that do not import
posthog-js/reactare unaffected: the peers are optional, so npm, pnpm, yarn, and bun install them only when React is already present and emit no unmet-peer warnings. (2026-08-25)v1.419.0Compare Source
1.419.0
Minor Changes
334159bThanks @posthog! - Web vitals now capture attribution by default for INP and LCP, so a slow interaction or paint arrives with the target element and phase breakdown that make it diagnosable. CLS stays without attribution by default, because its attribution holds detached DOM nodes and can leak memory in single-page apps. Setcapture_performance.web_vitals_attributiontofalseto opt out,truefor every metric, or an array to name the metrics. The captured metric also drops the emptyentriesarray and bounds attribution to a small set of useful fields, and the attributed INP observer no longer collects theprocessedEventEntrieswe never read.(2026-08-25)
Patch Changes
334159b]:v1.418.17Compare Source
1.418.17
Patch Changes
#4612
e8a2c2aThanks @marandaneto! - Prevent session recordings from emitting failed CSSOM changes and fix shadow DOM, cross-origin iframe, blocked and unsupported canvas, and deep DOM serialization edge cases.(2026-08-25)
#4611
d4eee8fThanks @marandaneto! - Share survey property matching between the browser and React Native SDKs while preserving their existing missing-value behavior.(2026-08-25)
Updated dependencies [
930de19,d4eee8f]:v1.418.16Compare Source
1.418.16
Patch Changes
7ec4f0dThanks @posthog! - Drop exceptions thrown by user scripts the browser injects into every page (Firefox for iOS, Chrome for iOS) instead of reporting them as the page's own errors. Seterror_tracking.captureExtensionExceptions: trueto keep capturing them.(2026-08-24)
7ec4f0d]:v1.418.15Compare Source
1.418.15
Patch Changes
60ee0acThanks @dustinbyrne! - Migrate surveys to the shared browser extension lifecycle.(2026-08-24)
60ee0ac]:v1.418.14Compare Source
1.418.14
Patch Changes
#4513
cb7e4a6Thanks @dustinbyrne! - Migrate browser autocapture to the shared extension lifecycle.(2026-08-24)
#4623
be299dfThanks @turnipdabeets! - Fix logs and metrics batches being dropped instead of retried after HTTP 408(2026-08-24)
Updated dependencies [
be299df]:v1.418.13Compare Source
1.418.13
Patch Changes
#4418
be2161dThanks @posthog! - feat: add granular automatic pageview options for SPA navigationcapture_pageviewnow accepts an object withpath,search, andhashoptions. Each selected URL component triggers a$pageviewwhen it changes, including direct hash changes used by hash-based routers. The existing'history_change'option continues to capture pathname changes. (2026-08-24)Updated dependencies [
be2161d]:v1.418.12Compare Source
1.418.12
Patch Changes
9e853c1Thanks @posthog! - Session replay: fixed a stale element left rendered in the player when a mutation re-added a node id with changed attributes. Affects bothuseVirtualDommodes.(2026-08-24)
v1.418.11Compare Source
1.418.11
Patch Changes
#4603
ca030a6Thanks @martinfrancois! - Stop adding PostHog's optional feature scripts, such as the session replay recorder and exception autocapture, to the page more than once. Sites that proxy PostHog through their own domain, by settingapi_hostto a path like/ingestrather than a full URL, ended up with the same<script>tag three or four times: the check meant to spot the duplicate compared the browser's resolved absolute URL against the relative one, so it never matched. The network tab showed a single request either way, because the browser served the repeats from its cache, which is why this was easy to miss. Nothing measurable got slower as a result, so this is a correctness fix rather than a speed one.(2026-08-24)
#4453
325870aThanks @posthog! - When session replay is waiting on a trigger, debug mode now names the conditions that haven't matched yet (for examplebuffering: URL condition not matched, or the named trigger group whose condition is pending) instead of only reportingbuffering. Enable it withposthog.debug(). Logged once per change, not once per flush.(2026-08-24)
v1.418.10Compare Source
1.418.10
Patch Changes
#4451
e1d993cThanks @posthog! - Guard the replayer's hover handling against non-element and detached hover targets, which previously threw an unhandledTypeError(querySelectorAllon a node without that method) and stopped session recording playback mid-stream.(2026-08-21)
#4557
4451274Thanks @posthog! - Keep replay playback running when a recording adopts constructed stylesheets across a document swap. A constructed stylesheet can only be adopted by the document that created it, so a sheet held over a swap is rejected and the error previously stopped the player. Adoption now falls back to whatever is already applied.(2026-08-21)
v1.418.9Compare Source
1.418.9
Patch Changes
c8df61cThanks @clr182! - fix(replay): attribute the backdated sessionIdle marker to the session that went idle, so a rotation-born session's recording no longer starts hours before its first snapshot(2026-08-21)
v1.418.8Compare Source
1.418.8
Patch Changes
6322f09Thanks @turnipdabeets! - Fix logs and metrics being silently dropped when an attribute holds a very large integer, a function, a symbol, a sparse array, or a truncated emoji.Cap log and metric attributes at 20 levels of nesting, 1,000 entries per object and 10,000 values in total, marking anything beyond as
[Truncated].Type
OtlpAnyValue.intValueasstring | number— code reading that field must handle both. (2026-08-21)6322f09]:v1.418.7Compare Source
v1.418.6Compare Source
1.418.6
Patch Changes
#4578
bae46bfThanks @marandaneto! - Drop events when a before-send hook throws instead of sending the unmodified event.(2026-08-20)
#4582
aef2f49Thanks @ablaszkiewicz! - Stop building a stack frame for awindow.onerrorreport that carries no code position, such as theResizeObserverloop warning. The frame named the document URL rather than a script, so no source map could resolve it. These exceptions now arrive with no stack trace.(2026-08-20)
Updated dependencies [
bae46bf,aef2f49]:v1.418.5Compare Source
1.418.5
Patch Changes
9701637Thanks @ablaszkiewicz! - Stop counting Chromium<anonymous>stack frames (extension-injected, devtools or string-evaluated code) as in-app code.(2026-08-19)
9701637]:v1.418.4Compare Source
1.418.4
Patch Changes
b564d61Thanks @posthog! - Fix session recording in the full browser bundles.array.full.jsandmodule.full.es.jsonly inlined rrweb, so they still fetched the recorder script at runtime - the request the full bundles exist to avoid. They now inline the whole recorder. Also flags the session with$sdk_debug_recording_script_not_loadedwhen the recorder script fails to load, so a blocked recorder is visible in analytics rather than only in the console.(2026-08-19)
v1.418.3Compare Source
1.418.3
Patch Changes
3f9ba71Thanks @posthog! - Fall back to the synthetic exception stack when a capturedErrorhas no stack, so frameless failures (such as a Firefox networkfetchTypeError) keep their call-site frames and group per call site instead of merging into one issue.(2026-08-19)
3f9ba71]:v1.418.2Compare Source
1.418.2
Patch Changes
#4555
3e0edffThanks @HaynesPostHog! - Fix a Chrome renderer crash (grey "Aw, Snap" tab, "Error code: 5") that could still occur when closing an in-app survey on a heavy page such as a large dashboard.Closing a survey animated the fade-out with
document.startViewTransition, which snapshots the entire page viewport. The survey applied noview-transition-namescoping, so on a heavy host page capturing that whole-page snapshot could exhaust renderer memory and crash the tab. A previous fix addressed a related crash (a snapshot pointing at a removed node) but left the document-level transition — and its whole-page snapshot cost — in place.The survey renders in an isolated shadow root, so it never needed a document-level transition. The close now fades the popup out with a plain CSS opacity transition scoped to the survey's own container, then unmounts it once the fade has run. No whole-page snapshot, no crash, same fade-out UX. (2026-08-19)
v1.418.1Compare Source
1.418.1
Patch Changes
0599fe0Thanks @ablaszkiewicz! - Recognise Firefox and Safari extension frames when filtering extension exceptions, and stop counting Safari's maskedwebkit-masked-url://frames as in-app code.(2026-08-18)
0599fe0]:v1.418.0Compare Source
1.418.0
Minor Changes
1ade666Thanks @marandaneto! - AddcookieWinsOnConflictto keep shared cross-subdomain identity and session state ahead of stale per-origin localStorage, deprecate__preview_cookie_wins_on_conflict, and enable the new behavior for the2026-08-29defaults.(2026-08-18)
Patch Changes
1ade666]:v1.417.4Compare Source
1.417.4
Patch Changes
8d74821Thanks @ksvat! - Take a full snapshot when session recording wakes from idle if DOM mutations were dropped while idle, so replay no longer shows duplicated or overlapping DOM after an idle period.(2026-08-17)
v1.417.3Compare Source
1.417.3
Patch Changes
ce8fc13Thanks @marandaneto! - Restore exception autocapture compatibility for posthog-js clients through version 1.141.0.(2026-08-17)
v1.417.2Compare Source
1.417.2
Patch Changes
7b61aa4Thanks @posthog! - Fix error tracking coercion reporting the wrong exception type for non-Errorobjects (e.g.TypeError,ReferenceError) that are thrown by browser extensions or other cross-realm code. Previously these always reported as typeError, burying the real type in the message string. Also fixed a localisErrorhelper shadowing the more robust cross-realm-aware implementation, which caused some errors thrown from iframes or extension isolated worlds to be misclassified.(2026-08-17)
7b61aa4]:v1.417.1Compare Source
1.417.1
Patch Changes
#4521
0a0206fThanks @marandaneto! - Normalize capture timestamp overrides to equivalent UTC ISO strings in the browser and Node.js SDKs and shared core.(2026-08-14)
#4523
6230b5bThanks @marandaneto! - Prevent swallowed rrweb observer initialization errors from breaking session replay teardown and subsequent recorder restarts.(2026-08-14)
#4503
eb05237Thanks @pauldambra! - fix(dead-clicks): treat visibility and focus changes as liveness signals, not dead-click evidenceThe dead-click detector treated a
visibilitychangeas evidence a click was dead: it measuredMath.abs(clickTimestamp - lastVisibilityChange)and, once that exceeded the threshold, timed the click out as dead. Because it only recorded the tab becoming visible, any click in a session where the tab had ever been backgrounded (median gap ~1 minute) was flagged.A visibility or focus change near a click is the opposite — a sign the click did something (it woke/focused the tab, opened a new tab, or opened a new window/popup) — so these signals now only ever suppress a dead click, never cause one:
hidden), and a windowfocus/blurobserver is added, since a click that opens a new window/popup may leave the tab visible and only surface as the current window losing focus.$dead_click_visibility_changed_timeoutstays in the payload (always false) for shape compatibility, and a new$dead_click_focus_changed_delay_msis emitted for observability.Updated dependencies [
0a0206f,eb05237]:v1.417.0Compare Source
1.417.0
Minor Changes
8bc63c3Thanks @dustinbyrne! - Default external dependency loading to versioned asset paths with automatic fallback to legacy paths, and add astrict_script_versioning: 'fallback'mode.(2026-08-13)
Patch Changes
8bc63c3]:v1.416.1Compare Source
1.416.1
Patch Changes
#4443
b2c6830Thanks @arnohillen! - Harden the session replay stylesheet inlining budget (inlineStylesheetBudgetRules):0to disable) and directrrweb.record()consumers keep unbounded inlining unless they opt in._cssTextatomically, so monolithic sheets no longer produce one long task and partial CSS never reaches the wire.pagehide; residual failure modes are counted via$sdk_debug_replay_deferred_stylesheets_failed/_abandoned.insertRuleoutput,adoptedStyleSheets) no longer charge the budget, since deferring<link>sheets buys those pages nothing.$sdk_debug_replay_discarded_duration_samples). (2026-08-13)Updated dependencies [
c9086de,b2c6830]:v1.416.0Compare Source
1.416.0
Minor Changes
#4495
e4b9947Thanks @marandaneto! - feat(browser): addrewriteRequestPathto customize API, feature flag, and asset paths for reverse proxies(2026-08-12)
#4493
e34ebf9Thanks @marandaneto! - Add reset options for applying bootstrapped identity, feature flag, and session values afterposthog.reset()while preserving the legacy boolean argument.(2026-08-12)
Patch Changes
e4b9947,e34ebf9]:v1.415.7Compare Source
1.415.7
Patch Changes
847d963Thanks @dustinbyrne! - Migrate browser feature flags to the shared extension lifecycle while preserving the public feature flag facade, persistence compatibility, request behavior, and event enrichment.(2026-08-12)
v1.415.6Compare Source
1.415.6
Patch Changes
#4500
d773405Thanks @ksvat! - Fix session recording starting from arbitrarily old persisted configs.Recording configs persisted by SDK versions before 1.347.2 carry no
cache_timestamp. The core freshness check treated these undated configs as always fresh, so the recorder started immediately under their settings. A device whose stored config predated a customer's config change kept recording under the old triggers, sample rate, and masking settings indefinitely.The core now treats undated persisted configs as stale. Recording waits for a fresh remote config before it starts, the same path every dated config older than one hour already takes. The lazy recorder bundle is unchanged: it still accepts undated configs, because old cores that load the latest bundle cannot recover from a rejected config (INC-749). (2026-08-11)
v1.415.5Compare Source
1.415.5
Patch Changes
#4497
d62e42eThanks @hpouillot! - Fix a Chrome renderer crash (grey "Aw, Snap" tab) that could occur when closing an in-app survey.The survey close path wrapped the survey container's DOM removal in
document.startViewTransition. Removing the element inside the transition callback left the captured snapshot pointing at a removed node, which on heavy SPAs triggered a Chromium renderer crash and took down the whole tab.The close path now only animates a fade-out inside the transition and lets React tear the container down once the transition settles. It also guards against overlapping transitions (a second close while one is animating) and always settles the popup state if the transition is skipped or interrupted, so the survey can never be left visible with a stale reference. (2026-08-11)
v1.415.4Compare Source
1.415.4
Patch Changes
deb6bb0Thanks @marandaneto! - fix(types): accept current and legacy Segment Analytics SDK types in the Segment integration config(2026-08-11)
deb6bb0]:v1.415.3Compare Source
1.415.3
Patch Changes
#4488
23db844Thanks @TueHaulund! - fix(replay): never ship a buffer swapped in by a re-entrant session rotation mid-flush(2026-08-11)
#4474
e06bf52Thanks @dependabot! - dependencies updates: - Updated dependencydompurify@^3.4.13↗︎ (from^3.4.12, independencies) (2026-08-11)#4435
1cbbe6aThanks @arnohillen! - fix(replay): stop dropping adopted stylesheets that arrive before the host's shadow root is attached. When the recorder's full snapshot races a web component's hydration, the AdoptedStyleSheet event can be recorded before the mutation that attaches the host's shadow root. The replayer silently dropped those styles for the rest of the page view, so components styled viashadowRoot.adoptedStyleSheets(Stencil, Lit) rendered completely unstyled. The replayer now constructs the stylesheet even when the shadow root does not exist yet and keeps retrying adoption until it is attached.(2026-08-11)
v1.415.2Compare Source
1.415.2
Patch Changes
f999394Thanks @dustinbyrne! - Support removing multiple persisted properties in one operation.(2026-08-11)
f999394]:v1.415.1Compare Source
1.415.1
Patch Changes
6f9adf8Thanks @TueHaulund! - fix(replay): don't open a recording that holds only idle lifecycle markers(2026-08-10)
v1.415.0Compare Source
1.415.0
Minor Changes
#4436
80f15a3Thanks @jakesciotto! - feat(surveys): optional intro screen shown before the first questionSurveys can now display an intro screen before question 1, configured via the new
displayIntroScreen,introScreenHeader,introScreenDescription,introScreenDescriptionContentType, andintroScreenButtonTextappearance fields.The intro is dismissed with a button and records no response, does not affect
completion or partial-response metrics, does not re-fire "survey shown", and is
skipped when a survey is resumed with answers in progress. Intro copy is
translatable like the thank-you message.
renderSurveysPreviewacceptspreviewPageIndex: -1(exported asINTRO_SCREEN_PREVIEW_INDEX) to preview theintro screen. (2026-08-10)
Patch Changes
80f15a3]:v1.414.0Compare Source
1.414.0
Minor Changes
5bd8b83Thanks @darkopia! - Addposthog.conversations.getUnavailableReason()to expose why the conversations API is unavailable (bundle blocked/failed to load, disabled in project, remote config pending/failed, still initializing, …) instead of collapsing every case intoisAvailable() === false. Lets callers that fall back to another channel record the specific cause.ConversationsUnavailableReasonis exported from the package entry points, so consumers can name the type.(2026-08-07)
v1.413.3Compare Source
1.413.3
Patch Changes
#4414
1b88c2fThanks @marandaneto! - Clear properties registered for a session when the PostHog session rotates.(2026-08-06)
#4374
b39b577Thanks @dustinbyrne! - Persist in-place object and array mutations when properties are re-registered.(2026-08-06)
#4434
75fb719Thanks @arnohillen! - Make the session replay attribute masking options mutually exclusive: when bothmaskAllElementAttributesandmaskAttributeFnare set, the coarse option wins and the callback is ignored (with a console warning), so a callback can no longer accidentally unmask whatmaskAllElementAttributeshides.(2026-08-06)
Updated dependencies [
64ba193,75fb719]:v1.413.2Compare Source
1.413.2
Patch Changes
ee7fab0Thanks @posthog! - Fix a benign network failure (e.g.TypeError: Failed to fetch) in the async native-gzip request path surfacing as an unhandled promise rejection, which exception autocapture would otherwise pick up(2026-08-05)
v1.413.1Compare Source
1.413.1
Patch Changes
#4390
1160403Thanks @posthog! - Contain and log recorder-owned callback failures while preserving exceptions from patched native host APIs. Keep recording mutations from adopted cross-realm nodes.(2026-08-05)
#4286
d108d66Thanks @posthog! - fix(replay): preserve privacy masking for initial network metadataInitial navigation and performance-timing entries are now passed through
maskCapturedNetworkRequestFn, including when they have no method. URL rewrites are respected. When the callback returns nullish for an initial entry, replay-required timing metadata is retained without its URL, headers, or body so method-gated callbacks do not drop the metadata or expose deliberately filtered customer data. Derived server-timing entries are also suppressed when this strict fallback is used. Enforced PostHog filtering and payload cleaning still run first. (2026-08-05)Updated dependencies [
d108d66]:Configuration
📅 Schedule: (in timezone Europe/Berlin)
* 8-17 * * 1-5)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.