# What changed in @sentry/rrweb

> 5 changes in @sentry/rrweb 2 from its official release notes, upgrade guides and advisories: 1 new APIs and options. Each one cited. Sources checked 2026-10-24. HTML: https://unstale.sh/npm/@sentry/rrweb/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @sentry/rrweb 2

### New APIs and options

- Add top-level annotations through record.addAnnotation() and receive them with replayer.on('annotation', handler); captions and interactive timeline markers are supported. (2.2.0) — [release notes](https://github.com/rrweb-io/rrweb/releases/tag/rrweb%402.2.0)

### Fixes and other changes

- Fix record-side memory leaks and duplicate mutation emission by releasing observers and buffers at the appropriate lifecycle points and observing same-origin iframes only once. (2.2.0) — [release notes](https://github.com/rrweb-io/rrweb/releases/tag/rrweb%402.2.0)
- Release shadow observers and mutation buffers when their host is removed, and re-observe them on reinsertion. (2.2.0) — [release notes](https://github.com/rrweb-io/rrweb/releases/tag/rrweb%402.2.0)
- Fixes replay of recordings with bad CSS text split data produced since #1640. (2.1.7) — [release notes](https://github.com/rrweb-io/rrweb/releases/tag/rrweb%402.1.7)
- Fixes normalization of '0px' in style sheets that caused problems with styled-components building style elements text element by text element. (2.1.7) — [release notes](https://github.com/rrweb-io/rrweb/releases/tag/rrweb%402.1.7)
