# @lit-labs/ssr-dom-shim

## 1.6.0

### Minor Changes

- [#4893](https://github.com/lit/lit/pull/4893) [`6c051d517bd92761787897b2c8c060ed419126e2`](https://github.com/lit/lit/commit/6c051d517bd92761787897b2c8c060ed419126e2) Thanks [@kyubisation](https://github.com/kyubisation)! - Implement ShadowRoot and document in event path

- [#4894](https://github.com/lit/lit/pull/4894) [`baa780d2b78a4b792cf61b220b8e3e186739d48c`](https://github.com/lit/lit/commit/baa780d2b78a4b792cf61b220b8e3e186739d48c) Thanks [@kyubisation](https://github.com/kyubisation)! - Add DOM shim implementation for `MutationObserver`, `ResizeObserver` and `IntersectionObserver`

### Patch Changes

- [#5240](https://github.com/lit/lit/pull/5240) [`b9de4295489b0caf91069bfe21f640f3ab5e12bb`](https://github.com/lit/lit/commit/b9de4295489b0caf91069bfe21f640f3ab5e12bb) Thanks [@kyubisation](https://github.com/kyubisation)! - Register CSSStyleSheet polyfill in global scope when using Node.js hook for importing CSS files

- [#5330](https://github.com/lit/lit/pull/5330) [`077a4b727d0d30540f1813bbbe66477790c9805e`](https://github.com/lit/lit/commit/077a4b727d0d30540f1813bbbe66477790c9805e) Thanks [@cecilyhunt](https://github.com/cecilyhunt)! - fix(ssr-dom-shim): Add stubs for TS 6.0.3 compatibility

## 1.5.1

### Patch Changes

- [#5202](https://github.com/lit/lit/pull/5202) [`f7b60025d93463c74d59001c6f01c38c41b1e816`](https://github.com/lit/lit/commit/f7b60025d93463c74d59001c6f01c38c41b1e816) Thanks [@kyubisation](https://github.com/kyubisation)! - Add register css hook file to publishable files

## 1.5.0

### Minor Changes

- [#4879](https://github.com/lit/lit/pull/4879) [`5057feeac96cc6eb3c5e5c1cb6c42bc01ac6aab1`](https://github.com/lit/lit/commit/5057feeac96cc6eb3c5e5c1cb6c42bc01ac6aab1) Thanks [@kyubisation](https://github.com/kyubisation)! - Implement limited shim for CSSStyleSheet and CSS loader for Node.js

### Patch Changes

- [#4984](https://github.com/lit/lit/pull/4984) [`ad23f26ae908a160d30ed2a939b322fe9cc2ee83`](https://github.com/lit/lit/commit/ad23f26ae908a160d30ed2a939b322fe9cc2ee83) Thanks [@kyubisation](https://github.com/kyubisation)! - Update TypeScript dependencies to version 5.8 with related ARIAMixin changes (ariaColIndexText, ariaRelevant and ariaRowIndexText)

## 1.4.0

### Minor Changes

- [#4987](https://github.com/lit/lit/pull/4987) [`3ac01aee`](https://github.com/lit/lit/commit/3ac01aeee8de3182c48c842d1a6084e58d729b14) - Implement the full CustomElementRegistry type for the ssr shim. Improves fidelity and compilability.

## 1.3.0

### Minor Changes

- [#4755](https://github.com/lit/lit/pull/4755) [`25962bf5`](https://github.com/lit/lit/commit/25962bf58f33f32abef6487689438bf095780b63) Thanks [@kyubisation](https://github.com/kyubisation)! - Implement SSR event handling and an optional flag `globalThis.litSsrCallConnectedCallback` to call `connectedCallback` during SSR, if set to true.

## 1.2.1

### Patch Changes

- [#4553](https://github.com/lit/lit/pull/4553) [`65bc240c`](https://github.com/lit/lit/commit/65bc240c91e39163a4debd59351410667b2e0ce9) Thanks [@kyubisation](https://github.com/kyubisation)! - Implement Element.localName and Element.tagName. Fixes [3375](https://github.com/lit/lit/issues/3375).

## 1.2.0

### Minor Changes

- [#4493](https://github.com/lit/lit/pull/4493) [`e901c582`](https://github.com/lit/lit/commit/e901c5829b50b38db9c434e979a8fd215adafea8) - Add `toggleAttribute` to the Element shim.

## 1.1.2

### Patch Changes

- [#4141](https://github.com/lit/lit/pull/4141) [`6b515e43`](https://github.com/lit/lit/commit/6b515e43c3a24cc8a593247d3aa72d81bcc724d5) - Update TypeScript to ~5.2.0

## 1.1.2-pre.1

### Patch Changes

- [#4141](https://github.com/lit/lit/pull/4141) [`6b515e43`](https://github.com/lit/lit/commit/6b515e43c3a24cc8a593247d3aa72d81bcc724d5) - Update TypeScript to ~5.2.0

## 1.1.2-pre.0

### Patch Changes

- [#3814](https://github.com/lit/lit/pull/3814) [`23326c6b`](https://github.com/lit/lit/commit/23326c6b9a6abdf01998dadf5d0f20a643e457aa) - Update to TypeScript v5.0

## 1.1.1

### Patch Changes

- [#3793](https://github.com/lit/lit/pull/3793) [`8a11f7ea`](https://github.com/lit/lit/commit/8a11f7ea0964c8d8f055e1a085e3f5b99877dccd) - Warn instead of throwing on repeat custom element registration in development mode.

## 1.1.0

### Minor Changes

- [#3677](https://github.com/lit/lit/pull/3677) [`b95c86e5`](https://github.com/lit/lit/commit/b95c86e5ec0e2f6de63a23409b9ec489edb61b86) - Add rough support for HTMLElement.prototype.attachInternals

## 1.0.0

### Major Changes

- [#3522](https://github.com/lit/lit/pull/3522) [`72fcf0d7`](https://github.com/lit/lit/commit/72fcf0d70b4f4644e080e9c375a58cf8fc35e9e8) - When running in Node, Lit now automatically includes minimal DOM shims which are
  sufficient for most SSR (Server Side Rendering) use-cases, removing the need to
  import the global DOM shim from `@lit-labs/ssr`.

  The new `@lit-labs/ssr-dom-shim` package has been introduced, which exports an `HTMLElement`, `CustomElementRegistry`, and default `customElements` singleton.

  The existing `@lit-labs/ssr` global DOM shim can still be used, and is compatible with the new package, because `@lit-labs/ssr` imports from `@lit-labs/ssr-dom-shim`. Importing the global DOM shim adds more APIs to the global object, such as a global `HTMLElement`, `TreeWalker`, `fetch`, and other APIs. It is recommended that users try to remove usage of the `@lit-labs/ssr` DOM shim, and instead rely on the more minimal, automatic shimming that `@lit/reactive-element` now provides automatically.
