You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#5406285d874 Thanks @marandaneto! - Add a single-tag browser SDK loader with URL or attribute tokens and optional deferred initialization.
(2026-10-27)
#524452c84e2 Thanks @61465! - Port upstream rrweb #1652 into the vendored MutationBuffer to fix a 9–10 s session-replay main-thread freeze when a single render mounts many sibling nodes (e.g. a 50 × 35 table at ~13 000 nodes). The pre-fix addList-based drain tail-rescanned every pass and ran in O(n²); the new drain iterates addedSet in topological order using dom.previousSibling / dom.lastChild / dom.nextSibling and runs in O(n). Fixes #5227.
The walk-up loop treats a ShadowRoot parent as its shadow host for ancestry checks so shadow children of a moved host are never serialized before the host itself. @posthog/rrweb-utils picks up three new untainted-prototype accessors (previousSibling, nextSibling, lastChild) that the drain depends on. Nodes that still can't resolve a parent at emission time are counted and reported in one summary console.warn per emission, so a dropped subtree doesn't cascade through the replay via the console-record plugin. (2026-10-27)
#54291034948 Thanks @pauldambra! - fix(browser): stop parsing the whole persistence entry on every capture() to refresh Meta identifiers. This made Interaction to Next Paint slower since 1.426.0, most of all on mobile and for projects with many feature flags.
(2026-10-26)
#5346f91145d Thanks @sebxt! - Reject a prefilled survey rating of 0 on rating scales that start at 1.
(2026-10-23)
#539902616e1 Thanks @ARXHHHH! - Ship the IE11 Math.trunc and Number.isInteger polyfills only in array.full.es5.js, so the modern bundles no longer trigger Lighthouse's "Legacy JavaScript" audit.
(2026-10-23)
#5292d73e6c7 Thanks @sarmah-rup! - Read query params with form-encoding rules: an encoded plus (%2B) is kept as + instead of becoming a space, and values that contain = are no longer cut off. This fixes UTM, click ID and search keyword properties such as utm_term=c%2B%2B.
(2026-10-23)
#51892aacdcb Thanks @posthog! - Log why capture() dropped an event (capturing disabled or a bot user agent) when debug: true is set
(2026-10-22)
#53830faf643 Thanks @sarankumar1325! - Conversations: the widget now comes back after reset(), and after a cookieless (on_reject) visitor calls opt_in_capturing(), instead of staying unavailable until the next page load.
(2026-10-22)
#536723b287f Thanks @sarankumar1325! - Session replay records mouse movement inside same-origin iframes as mouse movement instead of touch movement, so the replay cursor stays visible.
(2026-10-22)
#534845f6cd6 Thanks @ayushjhanwar-png! - Keep session replay data URI filtering output valid JSON and match svg+xml and parameterised data URIs.
(2026-10-22)
#532521a2559 Thanks @Majny! - Session replay no longer installs the network plugin when the client sets session_recording.recordHeaders and recordBody to false and turns network timing off, even if the project enables network payload capture. Previously request URLs and timings were still recorded.
(2026-10-22)
#5370a50fa7a Thanks @sarankumar1325! - Conversations: a reset() or opt-out that happens while the widget is still loading its tickets (or a restore link) no longer brings the widget back, restarts polling, or writes the old ticket id back to storage.
(2026-10-22)
#5365964e736 Thanks @gustavohstrassburger! - Feature flags read before the user opts in to capturing now send $feature_flag_called the next time they are read after opt in.
(2026-10-22)
#5256e7c87fa Thanks @jakesciotto! - Session replay: a scroll on a scroll-snap-type container now lands instantly during real-time playback, so a sheet or carousel that a scroll reveals shows the same content in Safari as in Chrome. Scrolls on other elements still animate.
(2026-10-22)
#5273d9148bb Thanks @posthog! - Warn in debug mode when reloadFeatureFlags() runs inside an onFeatureFlags callback, because cross-tab flag changes can turn it into a request loop
(2026-10-22)
#49923b7ffc6 Thanks @dustinbyrne! - Share surveys across browser SDKs; calls to getSurveys before survey setup now invoke the callback immediately with an unavailable error. Notify all survey subscribers when survey loading fails.
(2026-10-22)
Auto reviews are limited based on label configuration.
🏷️ Required labels (at least one): 1
coderabbit-review-active
Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.
This PR was opened by an automated account. A human maintainer must verify the change intent, provenance, and validation before merging.
Current step: Awaiting fresh human maintainer or CODEOWNER approval.
Review-state labels are managed by this workflow; do not edit them manually. community-approved is managed the same way — do not add or remove it manually. It signals a fresh community code approval for the current head as an advisory priority only; maintainer review is still required.
renovateBot
changed the title
chore(deps): update dependency posthog-js to v1.438.13
chore(deps): update dependency posthog-js to v1.438.14
Oct 25, 2026
renovateBot
changed the title
chore(deps): update dependency posthog-js to v1.438.14
chore(deps): update dependency posthog-js to v1.438.15
Oct 25, 2026
renovateBot
changed the title
chore(deps): update dependency posthog-js to v1.438.15
chore(deps): update dependency posthog-js to v1.438.16
Oct 25, 2026
renovateBot
changed the title
chore(deps): update dependency posthog-js to v1.438.16
chore(deps): update dependency posthog-js to v1.438.18
Oct 25, 2026
renovateBot
changed the title
chore(deps): update dependency posthog-js to v1.438.18
chore(deps): update dependency posthog-js to v1.438.19
Oct 26, 2026
renovateBot
changed the title
chore(deps): update dependency posthog-js to v1.438.19
chore(deps): update dependency posthog-js to v1.438.21
Oct 26, 2026
renovateBot
changed the title
chore(deps): update dependency posthog-js to v1.438.21
chore(deps): update dependency posthog-js to v1.438.23
Oct 29, 2026
renovateBot
changed the title
chore(deps): update dependency posthog-js to v1.438.23
chore(deps): update dependency posthog-js to v1.438.24
Oct 29, 2026
renovateBot
changed the title
chore(deps): update dependency posthog-js to v1.438.24
chore(deps): update dependency posthog-js to v1.439.0
Oct 30, 2026
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
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.438.12→1.440.0Release Notes
PostHog/posthog-js (posthog-js)
v1.440.0Compare Source
1.440.0
Minor Changes
285d874Thanks @marandaneto! - Add a single-tag browser SDK loader with URL or attribute tokens and optional deferred initialization.(2026-10-27)
Patch Changes
96d7ff2]:v1.439.2Compare Source
1.439.2
Patch Changes
8a9a066Thanks @posthog! - Fix stale identity when restoring a page from the back-forward cache(2026-10-27)
v1.439.1Compare Source
1.439.1
Patch Changes
#5244
52c84e2Thanks @61465! - Port upstream rrweb #1652 into the vendored MutationBuffer to fix a 9–10 s session-replay main-thread freeze when a single render mounts many sibling nodes (e.g. a 50 × 35 table at ~13 000 nodes). The pre-fixaddList-based drain tail-rescanned every pass and ran in O(n²); the new drain iteratesaddedSetin topological order usingdom.previousSibling/dom.lastChild/dom.nextSiblingand runs in O(n). Fixes #5227.The walk-up loop treats a
ShadowRootparent as its shadow host for ancestry checks so shadow children of a moved host are never serialized before the host itself.@posthog/rrweb-utilspicks up three new untainted-prototype accessors (previousSibling,nextSibling,lastChild) that the drain depends on. Nodes that still can't resolve a parent at emission time are counted and reported in one summaryconsole.warnper emission, so a dropped subtree doesn't cascade through the replay via the console-record plugin. (2026-10-27)v1.439.0Compare Source
1.439.0
Minor Changes
3150079Thanks @marandaneto! - Adddefaults: 'latest'to follow the newest defaults and report the applied date in events.(2026-10-27)
Patch Changes
3150079]:v1.438.24Compare Source
1.438.24
Patch Changes
d47c184Thanks @github-actions! - Fix optional rating surveys with response-based branching when skipped.(2026-10-26)
d47c184]:v1.438.23Compare Source
1.438.23
Patch Changes
cb34fe0Thanks @hpouillot! - Enable synchronous session replay fetch capture by default for new SDK versions.(2026-10-26)
cb34fe0]:v1.438.22Compare Source
1.438.22
Patch Changes
1034948Thanks @pauldambra! - fix(browser): stop parsing the whole persistence entry on every capture() to refresh Meta identifiers. This made Interaction to Next Paint slower since 1.426.0, most of all on mobile and for projects with many feature flags.(2026-10-26)
v1.438.21Compare Source
1.438.21
Patch Changes
#5346
f91145dThanks @sebxt! - Reject a prefilled survey rating of 0 on rating scales that start at 1.(2026-10-23)
#5399
02616e1Thanks @ARXHHHH! - Ship the IE11Math.truncandNumber.isIntegerpolyfills only inarray.full.es5.js, so the modern bundles no longer trigger Lighthouse's "Legacy JavaScript" audit.(2026-10-23)
Updated dependencies [
f827137,f91145d,02616e1]:v1.438.20Compare Source
1.438.20
Patch Changes
d73e6c7Thanks @sarmah-rup! - Read query params with form-encoding rules: an encoded plus (%2B) is kept as+instead of becoming a space, and values that contain=are no longer cut off. This fixes UTM, click ID and search keyword properties such asutm_term=c%2B%2B.(2026-10-23)
d73e6c7]:v1.438.19Compare Source
1.438.19
Patch Changes
bcd33ceThanks @dustinbyrne! - Share autocapture across browser SDKs while preserving existing event capture behavior.(2026-10-22)
bcd33ce]:v1.438.18Compare Source
1.438.18
Patch Changes
#5189
2aacdcbThanks @posthog! - Log whycapture()dropped an event (capturing disabled or a bot user agent) whendebug: trueis set(2026-10-22)
#5383
0faf643Thanks @sarankumar1325! - Conversations: the widget now comes back afterreset(), and after a cookieless (on_reject) visitor callsopt_in_capturing(), instead of staying unavailable until the next page load.(2026-10-22)
v1.438.17Compare Source
1.438.17
Patch Changes
#5367
23b287fThanks @sarankumar1325! - Session replay records mouse movement inside same-origin iframes as mouse movement instead of touch movement, so the replay cursor stays visible.(2026-10-22)
#5348
45f6cd6Thanks @ayushjhanwar-png! - Keep session replay data URI filtering output valid JSON and match svg+xml and parameterised data URIs.(2026-10-22)
#5325
21a2559Thanks @Majny! - Session replay no longer installs the network plugin when the client setssession_recording.recordHeadersandrecordBodytofalseand turns network timing off, even if the project enables network payload capture. Previously request URLs and timings were still recorded.(2026-10-22)
v1.438.16Compare Source
1.438.16
Patch Changes
#5370
a50fa7aThanks @sarankumar1325! - Conversations: areset()or opt-out that happens while the widget is still loading its tickets (or a restore link) no longer brings the widget back, restarts polling, or writes the old ticket id back to storage.(2026-10-22)
#5365
964e736Thanks @gustavohstrassburger! - Feature flags read before the user opts in to capturing now send$feature_flag_calledthe next time they are read after opt in.(2026-10-22)
#5256
e7c87faThanks @jakesciotto! - Session replay: a scroll on ascroll-snap-typecontainer now lands instantly during real-time playback, so a sheet or carousel that a scroll reveals shows the same content in Safari as in Chrome. Scrolls on other elements still animate.(2026-10-22)
Updated dependencies [
964e736]:v1.438.15Compare Source
1.438.15
Patch Changes
d9148bbThanks @posthog! - Warn in debug mode whenreloadFeatureFlags()runs inside anonFeatureFlagscallback, because cross-tab flag changes can turn it into a request loop(2026-10-22)
d9148bb]:v1.438.14Compare Source
1.438.14
Patch Changes
3b7ffc6Thanks @dustinbyrne! - Share surveys across browser SDKs; calls togetSurveysbefore survey setup now invoke the callback immediately with an unavailable error. Notify all survey subscribers when survey loading fails.(2026-10-22)
3b7ffc6]:v1.438.13Compare Source
1.438.13
Patch Changes
5beb414Thanks @AyobamiH! - Flush buffered web vitals immediately using a beacon when the page is hidden or unloaded.(2026-10-20)
Configuration
📅 Schedule: (in timezone America/Los_Angeles)
🚦 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.