Packages

rrweb

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

Your version

91 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.

  1. 2.x · latest line
  2. 2.2.0

    24 Oct 2026
    • 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.

    • Fix record-side memory leaks and duplicate mutation emission:

    • Disconnect shadow-DOM observers when their host is removed

      Each observed shadow root kept a live MutationObserver plus its mutation buffer for the rest of the recording session even if its host was removed, a memory leak problem for component-heavy pages. Fix: release shadow observers and buffers as soon as we observe them as removed/detached from dom with tests added for the still-attached host-moved case, and to ensure they get re-observed on reinsertion.

  3. 2.1.7

    2 Oct 2026
    • 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

    • Fix replay side of #1920. Fixes recordings with bad css text split data produced since #1640

  4. 2.1.5

    17 Sep 2026
    • 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.

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

  5. 2.1.3

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

  6. 2.1.2

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

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

  7. 2.1.0

    27 Jun 2026
    • Fix that the replayer getCurrentTime() was getting 'stuck' in liveMode after last event was exhausted

  8. 2.0.1

    3 Jun 2026
    • Fix broken MutationObserver in Webkit/Safari when a webpage has been monkey patched by a 3rd party library

  9. 2.0.0

    1 Jun 2026
    • breaking

      Split plugins out of rrweb and move them into their own packages: @rrweb/packer, @rrweb/rrweb-plugin-canvas-webrtc-record, @rrweb/rrweb-plugin-canvas-webrtc-replay, @rrweb/rrweb-plugin-sequential-id-record, @rrweb/rrweb-plugin-sequential-id-replay, @rrweb/rrweb-plugin-console-record, @rrweb/rrweb-plugin-console-replay. Check out the README of each package for more information or check out #1033 to see the changes.

    • breaking

      Distributed files have new filenames, paths and extensions. Important: If you reference distributed files or types directly, you might have to update your paths/filenames. E.g. you import from rrweb/typings/... or rrdom/es. However you run import rrweb from 'rrweb' you won't notice a difference with this change. If you include rrweb files directly in a script tag, you might have to update that path to include a the .umd.cjs files instead. All .js files now use ES modules which can be used in modern browsers, node.js and bundlers that support ES modules. All npm packages now also ship .cjs and .umd.cjs files. The .umd.cjs files are CommonJS modules that bundle all files together to make it easy to ship one file to browser environments (similar to the previous .js files). The .cjs files are CommonJS modules that can be used in older Node.js environments. Types should be better defined in package.json and if you need specific types they might be exported from new packages (for example PlayerMachineState and SpeedMachineState are now exported from @rrweb/replay). Check the package.json's main and exports field for the available files.

    • breaking

      Remove the rrweb-all.js, rrweb-record.js, and rrweb-replay.js files from rrweb package. Now you can use @rrweb/all, @rrweb/record, and @rrweb/replay packages instead. Check out the README of each package for more information or check out PR #1033 to see the changes.

  10. 1.x
  11. 1.1.3

    4 Apr 2022

    Reading the note…

  12. 1.1.2

    26 Feb 2022

    Reading the note…

  13. 1.1.1

    24 Jan 2022

    Reading the note…

  14. 1.1.0

    23 Jan 2022

    Reading the note…

  15. 1.0.8

    23 Dec 2021

    Reading the note…

  16. 1.0.7

    15 Nov 2021

    Reading the note…

  17. 1.0.6

    12 Oct 2021

    Reading the note…

  18. 1.0.5

    11 Sep 2021

    Reading the note…

  19. 1.0.4

    30 Aug 2021

    Reading the note…

  20. 1.0.3

    29 Aug 2021

    Reading the note…

  21. 1.0.2

    19 Jul 2021

    Reading the note…

  22. 1.0.1

    6 Jul 2021

    Reading the note…

  23. 1.0.0

    5 Jul 2021

    Reading the note…

  24. 0.9.x
  25. 0.9.14

    16 Jan 2021

    Reading the note…

  26. 0.9.13

    8 Jan 2021

    Reading the note…

  27. 0.9.12

    2 Jan 2021

    Reading the note…

  28. 0.9.11

    29 Nov 2020

    Reading the note…

  29. 0.9.10

    29 Nov 2020

    Reading the note…

  30. 0.9.9

    26 Oct 2020

    Reading the note…

  31. 0.9.8

    23 Oct 2020

    Reading the note…

  32. 0.9.7

    23 Sep 2020

    Reading the note…

  33. 0.9.6

    21 Sep 2020

    Reading the note…

  34. 0.9.5

    20 Sep 2020

    Reading the note…

  35. 0.9.4

    16 Sep 2020

    Reading the note…

  36. 0.9.3

    12 Sep 2020

    Reading the note…

  37. 0.9.2

    7 Sep 2020

    Reading the note…

  38. 0.9.1

    7 Sep 2020

    Reading the note…

  39. 0.9.0

    9 Aug 2020

    Reading the note…

  40. 0.8.x
  41. 0.8.5

    23 Jul 2020

    Reading the note…

  42. 0.8.4

    19 Jul 2020

    Reading the note…

  43. 0.8.3

    18 Jul 2020

    Reading the note…

  44. 0.8.2

    15 Jun 2020

    Reading the note…

  45. 0.8.1

    15 Jun 2020

    Reading the note…

  46. 0.8.0

    15 Jun 2020

    Reading the note…

  47. 0.7.x
  48. 0.7.33

    11 Apr 2020

    Reading the note…

  49. 0.7.32

    11 Apr 2020

    Reading the note…

  50. 0.7.31

    5 Apr 2020

    Reading the note…

  51. 0.7.30

    29 Mar 2020

    Reading the note…

  52. 0.7.29

    28 Feb 2020

    Reading the note…