{
    "version": "https://jsonfeed.org/version/1",
    "title": "fs.js Changelog",
    "home_page_url": "https://developer.fullstory.com/browser/changelog/",
    "description": "Release notes for fs.js, the Fullstory browser capture script.",
    "items": [
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-08-25/",
            "content_html": "<p>Guides &amp; Surveys integrations loading updates and fixes for session restarts.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"improvements\">Improvements<a href=\"https://developer.fullstory.com/browser/changelog/2026-08-25/#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Guides &amp; Surveys integrations now load (if enabled), including in child frames and on pages where session capture doesn't start.</li>\n</ul>\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"bug-fixes\">Bug fixes<a href=\"https://developer.fullstory.com/browser/changelog/2026-08-25/#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug fixes\" title=\"Direct link to Bug fixes\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Fixed an issue where session restarts didn't re-trigger initial page-load signals (like page size reporting), which could result in incomplete data for restarted sessions.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-08-25/",
            "title": "August 25, 2026",
            "summary": "Guides & Surveys integrations loading updates and fixes for session restarts.",
            "date_modified": "2026-08-25T00:00:00.000Z",
            "tags": [
                "Improvement",
                "Bug fix"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-08-10/",
            "content_html": "<p>Under the hood changes to prepare for the Snippet 2.1 release.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"new-features\">New features<a href=\"https://developer.fullstory.com/browser/changelog/2026-08-10/#new-features\" class=\"hash-link\" aria-label=\"Direct link to New features\" title=\"Direct link to New features\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Under the hood changes to get ready for Snippet 2.1 release.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-08-10/",
            "title": "August 10, 2026",
            "summary": "Under the hood changes to prepare for the Snippet 2.1 release.",
            "date_modified": "2026-08-10T00:00:00.000Z",
            "tags": [
                "New feature"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-08-04/",
            "content_html": "<p>Small code fixes related to TypeScript updates and optimizations for build size.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"improvements\">Improvements<a href=\"https://developer.fullstory.com/browser/changelog/2026-08-04/#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Some optimizations for build size.</li>\n</ul>\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"bug-fixes\">Bug fixes<a href=\"https://developer.fullstory.com/browser/changelog/2026-08-04/#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug fixes\" title=\"Direct link to Bug fixes\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Small code fixes related to Typescript update.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-08-04/",
            "title": "August 4, 2026",
            "summary": "Small code fixes related to TypeScript updates and optimizations for build size.",
            "date_modified": "2026-08-04T00:00:00.000Z",
            "tags": [
                "Improvement",
                "Bug fix"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-07-29/",
            "content_html": "<p>Under-the-hood stability improvements and TypeScript upgrades.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"improvements\">Improvements<a href=\"https://developer.fullstory.com/browser/changelog/2026-07-29/#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Updated internal type definitions to ensure compatibility with newer versions of TypeScript.</li>\n<li class=\"\">Optimized internal data structures (enumerations) for more efficient recording processes.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-07-29/",
            "title": "July 29, 2026",
            "summary": "Under-the-hood stability improvements and TypeScript upgrades.",
            "date_modified": "2026-07-29T00:00:00.000Z",
            "tags": [
                "Improvement"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-07-22/",
            "content_html": "<p>Bundle size reduction and minor performance improvements in DOM capture.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"improvements\">Improvements<a href=\"https://developer.fullstory.com/browser/changelog/2026-07-22/#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Reduced bundle size by approximately 2% (gzip) by ensuring debug-only log messages are fully excluded from production builds.</li>\n<li class=\"\">Minor performance improvement in DOM capture by reducing unnecessary function call overhead in the node encoding hot path.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-07-22/",
            "title": "July 22, 2026",
            "summary": "Bundle size reduction and minor performance improvements in DOM capture.",
            "date_modified": "2026-07-22T00:00:00.000Z",
            "tags": [
                "Improvement"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-07-13/",
            "content_html": "<p>User snapshot returns from getConfig, exposed user properties, and bug fixes for circular references and snippet globals.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"improvements\">Improvements<a href=\"https://developer.fullstory.com/browser/changelog/2026-07-13/#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Return a user snapshot from <code>FS('getConfig')</code>.</li>\n<li class=\"\">Expose user properties set from fs.js via config details.</li>\n</ul>\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"bug-fixes\">Bug fixes<a href=\"https://developer.fullstory.com/browser/changelog/2026-07-13/#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug fixes\" title=\"Direct link to Bug fixes\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Replace circular reference in vars with a path marker instead of dropping the value.</li>\n<li class=\"\">Add a fallback to write snippet globals back to <code>window</code> when they're missing.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-07-13/",
            "title": "July 13, 2026",
            "summary": "User snapshot returns from getConfig, exposed user properties, and bug fixes for circular references and snippet globals.",
            "date_modified": "2026-07-13T00:00:00.000Z",
            "tags": [
                "Improvement",
                "Bug fix"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-06-24/",
            "content_html": "<p>Native HTML popover support, enhanced custom namespace resolution, and more predictable in-session configuration.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"new-features\">New features<a href=\"https://developer.fullstory.com/browser/changelog/2026-06-24/#new-features\" class=\"hash-link\" aria-label=\"Direct link to New features\" title=\"Direct link to New features\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Native HTML Popover Support: Added capture capabilities for the native HTML <code>popover</code> API to accurately record capture-phase toggle events and popover states for high-fidelity session replay.</li>\n</ul>\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"improvements\">Improvements<a href=\"https://developer.fullstory.com/browser/changelog/2026-06-24/#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Enhanced Custom Namespace Resolution: Hardened how custom Fullstory namespaces are resolved across your site by reading the <code>data-fs-namespace</code> attribute for asynchronous integration scripts and data layers.</li>\n<li class=\"\">More Predictable In-Session Configuration: Streamlined how in-session settings are initialized, prioritizing <code>FS('getConfig')</code> over raw window globals for a more robust recording configuration.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-06-24/",
            "title": "June 24, 2026",
            "summary": "Native HTML popover support, enhanced custom namespace resolution, and more predictable in-session configuration.",
            "date_modified": "2026-06-24T00:00:00.000Z",
            "tags": [
                "New feature",
                "Improvement"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-06-17/",
            "content_html": "<p>Enhancements to Session UID reliability and Canvas screenshot mode compatibility.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"improvements\">Improvements<a href=\"https://developer.fullstory.com/browser/changelog/2026-06-17/#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Improved compatibility for Canvas screenshot mode.</li>\n<li class=\"\">Added client-side guardrails and remediations to ensure Session UID stability and reliability.</li>\n</ul>\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"bug-fixes\">Bug fixes<a href=\"https://developer.fullstory.com/browser/changelog/2026-06-17/#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug fixes\" title=\"Direct link to Bug fixes\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Minor internal maintenance and cleanup of unused script sidecar files.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-06-17/",
            "title": "June 17, 2026",
            "summary": "Enhancements to Session UID reliability and Canvas screenshot mode compatibility.",
            "date_modified": "2026-06-17T00:00:00.000Z",
            "tags": [
                "Improvement",
                "Bug fix"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-06-03/",
            "content_html": "<p>Client-side guardrails for the Session UID feature.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"improvements\">Improvements<a href=\"https://developer.fullstory.com/browser/changelog/2026-06-03/#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Added client-side guardrails that improve the stability and reliability of the Session UID feature.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-06-03/",
            "title": "June 3, 2026",
            "summary": "Client-side guardrails for the Session UID feature.",
            "date_modified": "2026-06-03T00:00:00.000Z",
            "tags": [
                "Improvement"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-06-01/",
            "content_html": "<p>Improved handling of misconfigured observers, plus a cleanup fix in the bundled script.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"improvements\">Improvements<a href=\"https://developer.fullstory.com/browser/changelog/2026-06-01/#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Improved observer configuration handling so that misconfigurations are gracefully rejected instead of throwing hard exceptions.</li>\n</ul>\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"bug-fixes\">Bug fixes<a href=\"https://developer.fullstory.com/browser/changelog/2026-06-01/#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug fixes\" title=\"Direct link to Bug fixes\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Removed a duplicate license comment that appeared in the bundled <code>fs.js</code> output.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-06-01/",
            "title": "June 1, 2026",
            "summary": "Improved handling of misconfigured observers, plus a cleanup fix in the bundled script.",
            "date_modified": "2026-06-01T00:00:00.000Z",
            "tags": [
                "Improvement",
                "Bug fix"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-04-22/",
            "content_html": "<p>Better Session UID lifecycle handling and network throttling for realtime recording.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"improvements\">Improvements<a href=\"https://developer.fullstory.com/browser/changelog/2026-04-22/#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Introduced throttling for realtime recording network requests to reduce load on backend services.</li>\n</ul>\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"bug-fixes\">Bug fixes<a href=\"https://developer.fullstory.com/browser/changelog/2026-04-22/#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug fixes\" title=\"Direct link to Bug fixes\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Improved session lifecycle controls for Session UIDs and fixed an issue with <code>userId</code> preservation during non-stateless startup.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-04-22/",
            "title": "April 22, 2026",
            "summary": "Better Session UID lifecycle handling and network throttling for realtime recording.",
            "date_modified": "2026-04-22T00:00:00.000Z",
            "tags": [
                "Improvement",
                "Bug fix"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-03-25/",
            "content_html": "<p>More reliable capture of dynamically modified stylesheets.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"bug-fixes\">Bug fixes<a href=\"https://developer.fullstory.com/browser/changelog/2026-03-25/#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug fixes\" title=\"Direct link to Bug fixes\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Improved the reliability of capturing <code>adoptedStyleSheets</code> when a stylesheet is modified without explicitly reassigning it.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-03-25/",
            "title": "March 25, 2026",
            "summary": "More reliable capture of dynamically modified stylesheets.",
            "date_modified": "2026-03-25T00:00:00.000Z",
            "tags": [
                "Bug fix"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-03-11/",
            "content_html": "<p>Viewport enter/exit tracking and expanded stylesheet capture.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"new-features\">New features<a href=\"https://developer.fullstory.com/browser/changelog/2026-03-11/#new-features\" class=\"hash-link\" aria-label=\"Direct link to New features\" title=\"Direct link to New features\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Added support for capturing document-level <code>mouseenter</code>/<code>mouseleave</code> events to more accurately detect when a visitor's cursor enters or exits the browser viewport.</li>\n<li class=\"\">Expanded CSS capture to record <code>adoptedStyleSheets.splice()</code> calls, so stylesheets modified this way are faithfully replayed.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-03-11/",
            "title": "March 11, 2026",
            "summary": "Viewport enter/exit tracking and expanded stylesheet capture.",
            "date_modified": "2026-03-11T00:00:00.000Z",
            "tags": [
                "New feature"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-03-10/",
            "content_html": "<p>Faster initial load, a privacy scrubbing fix, and more accurate INP measurement.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"improvements\">Improvements<a href=\"https://developer.fullstory.com/browser/changelog/2026-03-10/#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Reduced initial load overhead by delaying creation of internal capture data structures until they're needed.</li>\n</ul>\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"bug-fixes\">Bug fixes<a href=\"https://developer.fullstory.com/browser/changelog/2026-03-10/#bug-fixes\" class=\"hash-link\" aria-label=\"Direct link to Bug fixes\" title=\"Direct link to Bug fixes\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Fixed an issue in the console log scrubber's pattern matching that could cause some sensitive console output to not be masked.</li>\n<li class=\"\">Refined Interaction to Next Paint (INP) analytics to properly ignore interactions on elements excluded from capture.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-03-10/",
            "title": "March 10, 2026",
            "summary": "Faster initial load, a privacy scrubbing fix, and more accurate INP measurement.",
            "date_modified": "2026-03-10T00:00:00.000Z",
            "tags": [
                "Improvement",
                "Bug fix"
            ]
        },
        {
            "id": "https://developer.fullstory.com/browser/changelog/2026-03-02/",
            "content_html": "<p>Native Session UID configuration and expanded stylesheet capture.</p>\n<!-- -->\n<h3 class=\"anchor anchorTargetHideOnScrollNavbar_vjPI\" id=\"new-features\">New features<a href=\"https://developer.fullstory.com/browser/changelog/2026-03-02/#new-features\" class=\"hash-link\" aria-label=\"Direct link to New features\" title=\"Direct link to New features\" translate=\"no\">​</a></h3>\n<ul>\n<li class=\"\">Added native support for the Session UID API via the <code>FS('init')</code> configuration.</li>\n<li class=\"\">Added capture hooks for <code>adoptedStyleSheets.push()</code>, so dynamically added stylesheets are captured for replay.</li>\n</ul>",
            "url": "https://developer.fullstory.com/browser/changelog/2026-03-02/",
            "title": "March 2, 2026",
            "summary": "Native Session UID configuration and expanded stylesheet capture.",
            "date_modified": "2026-03-02T00:00:00.000Z",
            "tags": [
                "New feature"
            ]
        }
    ]
}