unstale

npm / @grafana/faro-web-sdk

@grafana/faro-web-sdk

What changed in @grafana/faro-web-sdk 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

2 security2 new APIs and options1 performance7 behavior and defaults25 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

@grafana/faro-web-sdk 237 changes

Security 2

  • Fetch keepalive handling was hardened.

    2.8.1release notes

  • Caps stack-frame line length to bound regex backtracking.

    2.7.1release notes

New APIs and options 2

  • Expose controls for pausing session replay recording.

    2.12.0release notes

  • User actions gain a configurable initial activity timeout.

    2.9.0release notes

Performance 1

  • FetchTransport now supports gzip request compression.

    2.8.0release notes

Behavior and default changes 7

  • Reliable Fetch transport becomes the default transport.

    2.12.0release notes

  • Session replay uses Grafana privacy classes by default.

    2.12.0release notes

  • Preserve recording identity when handing off between tabs.

    2.12.0release notes

  • Reconcile session ownership before capturing telemetry.

    2.12.0release notes

  • Trace context is omitted for unsampled sessions.

    2.11.0release notes

  • Web vitals measurements now forward LCP resource details and LoAF-based INP attribution.

    2.10.0release notes

  • The SDK includes the git commit hash in app metadata.

    2.7.0release notes

Fixes and other changes 25

  • Sessions start only after prerender activation.

    2.12.1release notes

  • Session sampling uses stronger randomness.

    2.12.1release notes

  • Sampling state is preserved when session metadata is updated.

    2.12.1release notes

  • Signals added during a BatchExecutor flush are no longer dropped.

    2.12.0release notes

  • Discard recorder attempts that have been invalidated.

    2.12.0release notes

  • Bind session invalidation to the identity of the request.

    2.12.0release notes

  • Page errors are no longer logged as session replay errors.

    2.12.0release notes

  • Clicks on nested child elements now trigger user actions.

    2.12.0release notes

  • Transient Faro delivery failures are retried.

    2.11.0release notes

  • Keeps config.paused in sync when pause and unpause are called.

    2.10.0release notes

  • The full set of fetch and xhr instrumentation options is now typed.

    2.10.0release notes

  • Input values are masked using a fixed-length mask.

    2.10.0release notes

  • The keepalive budget is measured in bytes.

    2.10.0release notes

  • Calling removeBeforeSendHooks now removes the hooks.

    2.10.0release notes

  • The href in rrweb Meta events no longer includes the query string or fragment.

    2.10.0release notes

  • Stack parsing no longer stalls on large error payloads.

    2.10.0release notes

  • Traceparent is no longer injected while Faro is paused.

    2.10.0release notes

  • Performance timestamps are derived from the wall clock so they remain usable after system suspend.

    2.9.0release notes

  • A background tab no longer emits an expired session ID.

    2.8.2release notes

  • The signal that triggers session rotation is now attributed to the new session.

    2.8.2release notes

  • BatchExecutor can now run in worker scopes.

    2.8.0release notes

  • Service worker time is reported as 0 when no service worker is used.

    2.8.0release notes

  • Uses crypto.getRandomValues to generate short IDs.

    2.7.1release notes

  • Fixes an incomplete regular expression for hostnames.

    2.7.1release notes

  • Metro bundle id resolution falls back to window when resolving the id.

    2.7.0release notes