Packages

rrweb

2.2.0 · 24 Oct 2026MIT4.2M / weekRepositoryHomepagenpmAtom feed

Upgrading rrweb from 0.7.30 to 2.2.0

48 releases in betweennotes for 11

Other targets from 0.7.30Newest 0.x0.9.14
1.0.0 has no release note on GitHub or in the repository's changelog, so its breaking changes are missing from the counts below.
6+
changes to make
0
advisories fixed
32+
new
110+
fixes

Counted from 11 of 48 release notes. Advisories are counted from the advisory database, in full.

Before you upgrade

Tick each one off as you go
  • breaking2.0.0
  • breaking2.0.0
  • breaking2.0.0
  • breaking2.0.0
  • breaking2.0.0
  • deprecated2.0.0

Release by release

  1. 2.2.0

    24 Oct 20261 new · 4 fixes
    • new

      Add a top-level annotation event with record.addAnnotation() and replayer.on('annotation', handler). Annotation data uses type: 'caption' or type: 'timelineMarker'. Import annotationData from @rrweb/types to type annotation data. The player can display these annotations as captions and interactive timeline markers.

    • fixed

      Stopping a recording now releases the root document's mutation buffer and observer — previously the document observer was only disconnected, so each start/stop cycle leaked one buffer — and removes the cross-origin iframe message listener.

    • fixed

      A same-origin iframe is observed once instead of re-observed on every full snapshot (checkoutEveryNth/checkoutEveryNms/manual takeFullSnapshot), so a single iframe mutation is no longer emitted once per checkout; its observers are also released when the iframe is removed or navigates away.

    • fixed

      The untainted-MutationObserver helper iframe used on WebKit/Safari is reference-counted, so it is torn down only when the last observer stops and will get rebuilt for a later recording.

    • fixed

      Disconnect shadow-DOM observers when their host is removed

  2. 2.1.7

    2 Oct 20261 fix
    • fixed

      Fix #1920 - normalization of '0px' in style sheets caused problems with the styled-components library, which built style elements text element by text element. Bug introduced

  3. 2.1.6nothing new or fixed in the note

  4. 2.1.5

    17 Sep 20262 fixes
    • fixed

      Improve performance of untainted dom accessors. Since #1509 we use e.g. dom.parentNode(el) instead of el.parentNode to work around libraries that modify these accessors. Slight improvement to avoid a string allocation each time one of these is called; they are on every hot path.

    • fixed

      Improvements in efficiency of mutation handling at record time; has been identified as a problem numerous times

  5. 2.1.4nothing new or fixed in the note

  6. 2.1.3

    8 Sep 20261 fix
    • fixed

      Ignore autoplay attribute mutations on <video>/<audio> regardless of tag-name case.

  7. 2.1.2

    8 Sep 20262 fixes
    • fixed

      Emit custom events even when skipping over them, eg. when seeking to a specific time

    • fixed

      Use the provided logger from player config instead of directly calling console.warn

  8. 2.1.1nothing new or fixed in the note

46 internal lines (docs, tests, tooling) left out.