rrweb
2.2.0 · 24 Oct 2026MIT4.2M / weekRepositoryHomepagenpmAtom feed
Upgrading rrweb from 0.9.12 to 2.2.0
26 releases in betweennotes for 11
- 6+
- changes to make
- 0
- advisories fixed
- 32+
- new
- 110+
- fixes
Counted from 11 of 26 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
- new
Add a top-level annotation event with
record.addAnnotation()andreplayer.on('annotation', handler). Annotation data usestype: 'caption'ortype: 'timelineMarker'. ImportannotationDatafrom@rrweb/typesto 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
messagelistener. - fixed
A same-origin iframe is observed once instead of re-observed on every full snapshot (
checkoutEveryNth/checkoutEveryNms/manualtakeFullSnapshot), 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-
MutationObserverhelper 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
- new
2.1.6nothing new or fixed in the note
- fixed
Improve performance of untainted
domaccessors. Since #1509 we use e.g.dom.parentNode(el)instead ofel.parentNodeto 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
- fixed
2.1.4nothing new or fixed in the note
- fixed
Ignore
autoplayattribute mutations on<video>/<audio>regardless of tag-name case.
- fixed
- 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
- fixed
2.1.1nothing new or fixed in the note
46 internal lines (docs, tests, tooling) left out.