# What changed in lit

> 11 changes in lit 3 from its official release notes, upgrade guides and advisories: 5 breaking, 1 deprecations. Each one cited. Sources checked 2026-10-23. HTML: https://unstale.sh/npm/lit/

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

## lit 3

### Breaking changes

- Generated reactive-property accessors now wrap user accessors and call this.requestUpdate() in the setter; with noAccessor: true, users must call it themselves to trigger an update. (3.0.0) — [release notes](https://github.com/lit/lit/releases/tag/lit%403.0.0)
- Experimental hydrate modules were removed; they are available from @lit-labs/ssr-client. (3.0.0) — [release notes](https://github.com/lit/lit/releases/tag/lit%403.0.0)
- IE11 is no longer supported. (3.0.0) — [release notes](https://github.com/lit/lit/releases/tag/lit%403.0.0)
- Lit 1 to Lit 2 migration warnings were removed. (3.0.0) — [release notes](https://github.com/lit/lit/releases/tag/lit%403.0.0)
- The deprecated queryAssignedNodes behavior and arguments were deleted; use @queryAssignedElements for selector-based usage. (3.0.0) — [release notes](https://github.com/lit/lit/releases/tag/lit%403.0.0)

### Deprecations

- Lit now warns when performUpdate() is overridden asynchronously. (3.0.0) — [release notes](https://github.com/lit/lit/releases/tag/lit%403.0.0)

### Fixes and other changes

- The ref directive now disconnects gracefully when its internal ref is undefined. (3.3.3) — [release notes](https://github.com/lit/lit/releases/tag/lit%403.3.3)
- Decorators now work with the accessor keyword when experimentalDecorators is true. (3.0.0) — [release notes](https://github.com/lit/lit/releases/tag/lit%403.0.0)
- The return type now includes undefined. (3.0.0) — [release notes](https://github.com/lit/lit/releases/tag/lit%403.0.0)
- Its return type is now HTMLElement | DocumentFragment, matching ReactiveElement.renderRoot and lit-html's render() method. (3.0.0) — [release notes](https://github.com/lit/lit/releases/tag/lit%403.0.0)
- The type is now HTMLElement | DocumentFragment, matching the return type of createRenderRoot() and lit-html's render() method. (3.0.0) — [release notes](https://github.com/lit/lit/releases/tag/lit%403.0.0)
