<!-- Learn how to maintain this file at https://github.com/WordPress/gutenberg/tree/HEAD/packages#maintaining-changelogs. -->

## Unreleased

## 6.45.0 (2026-04-29)

## 6.44.0 (2026-04-15)

### Enhancement

-   `createInterpolateElement` now infers tag names from `sprintf` return values, since `sprintf` returns `TransformedText<T>`. ([76974](https://github.com/WordPress/gutenberg/pull/76974))

## 6.43.0 (2026-04-01)

## 6.42.0 (2026-03-18)

## 6.41.0 (2026-03-04)

## 6.40.0 (2026-02-18)

## 6.39.0 (2026-01-29)

## 6.38.0 (2026-01-16)

## 6.36.0 (2025-11-26)

## 6.35.0 (2025-11-12)

## 6.34.0 (2025-10-29)

## 6.33.0 (2025-10-17)

## 6.32.0 (2025-10-01)

## 6.31.0 (2025-09-17)

## 6.30.0 (2025-09-03)

## 6.29.0 (2025-08-20)

## 6.28.0 (2025-08-07)

## 6.27.0 (2025-07-23)

## 6.26.0 (2025-06-25)

## 6.25.0 (2025-06-04)

## 6.24.0 (2025-05-22)

## 6.23.0 (2025-05-07)

## 6.22.0 (2025-04-11)

## 6.21.0 (2025-03-27)

## 6.20.0 (2025-03-13)

## 6.19.0 (2025-02-28)

## 6.18.0 (2025-02-12)

## 6.17.0 (2025-01-29)

## 6.16.0 (2025-01-15)

## 6.15.0 (2025-01-02)

## 6.14.0 (2024-12-11)

## 6.13.0 (2024-11-27)

## 6.12.0 (2024-11-16)

## 6.11.0 (2024-10-30)

## 6.10.0 (2024-10-16)

## 6.9.0 (2024-10-03)

## 6.8.0 (2024-09-19)

## 6.7.0 (2024-09-05)

## 6.6.0 (2024-08-21)

## 6.5.0 (2024-08-07)

## 6.4.0 (2024-07-24)

## 6.3.0 (2024-07-10)

## 6.2.0 (2024-06-26)

## 6.1.0 (2024-06-15)

## 6.0.0 (2024-05-31)

### Breaking Changes

-   Increase the minimum required Node.js version to v18.12.0 matching long-term support releases ([#31270](https://github.com/WordPress/gutenberg/pull/61930)). Learn more about [Node.js releases](https://nodejs.org/en/about/previous-releases).

## 5.35.0 (2024-05-16)

## 5.34.0 (2024-05-02)

## 5.33.0 (2024-04-19)

## 5.32.0 (2024-04-03)

## 5.31.0 (2024-03-21)

## 5.30.0 (2024-03-06)

## 5.29.0 (2024-02-21)

## 5.28.0 (2024-02-09)

## 5.27.0 (2024-01-24)

-   Started exporting the `PureComponent` React API ([#58076](https://github.com/WordPress/gutenberg/pull/58076)).

## 5.26.0 (2024-01-10)

## 5.25.0 (2023-12-13)

## 5.24.0 (2023-11-29)

## 5.23.0 (2023-11-16)

## 5.22.0 (2023-11-02)

## 5.21.0 (2023-10-18)

## 5.20.0 (2023-10-05)

### Breaking Changes

-   Remove the WPElement, WPComponent, and WPSyntheticEvent types.

## 5.19.0 (2023-09-20)

## 5.18.0 (2023-08-31)

## 5.17.0 (2023-08-16)

## 5.16.0 (2023-08-10)

## 5.15.0 (2023-07-20)

## 5.14.0 (2023-07-05)

## 5.13.0 (2023-06-23)

## 5.12.0 (2023-06-07)

## 5.11.0 (2023-05-24)

## 5.10.0 (2023-05-10)

## 5.9.0 (2023-04-26)

## 5.8.0 (2023-04-12)

## 5.7.0 (2023-03-29)

## 5.6.0 (2023-03-15)

## 5.5.0 (2023-03-01)

### New Features

-   Started exporting the `flushSync` function from `react-dom`

## 5.4.0 (2023-02-15)

## 5.3.0 (2023-02-01)

## 5.2.0 (2023-01-11)

## 5.1.0 (2023-01-02)

## 5.0.0 (2022-12-14)

### Breaking Changes

-   Updated dependencies to require React 18 ([45235](https://github.com/WordPress/gutenberg/pull/45235))

### New Features

-   Started exporting new React 18 APIs ([46610](https://github.com/WordPress/gutenberg/pull/46610))

## 4.20.0 (2022-11-16)

## 4.19.0 (2022-11-02)

## 4.18.0 (2022-10-19)

## 4.17.0 (2022-10-05)

## 4.16.0 (2022-09-21)

## 4.15.0 (2022-09-13)

## 4.14.0 (2022-08-24)

### Bug Fixes

-   Packages: Replace `is-plain-obj` with `is-plain-object` ([#43511](https://github.com/WordPress/gutenberg/pull/43511)).

## 4.13.0 (2022-08-10)

## 4.12.0 (2022-07-27)

## 4.11.0 (2022-07-13)

## 4.10.0 (2022-06-29)

## 4.9.0 (2022-06-15)

## 4.8.0 (2022-06-01)

## 4.7.0 (2022-05-18)

## 4.6.0 (2022-05-04)

## 4.5.0 (2022-04-21)

## 4.4.0 (2022-04-08)

## 4.3.0 (2022-03-23)

## 4.2.0 (2022-03-11)

### Bug Fixes

-   Serialize will now keep correct casing for SVG attributes ([#38936](https://github.com/WordPress/gutenberg/pull/38936)).

## 4.1.0 (2022-01-27)

### Bug Fixes

-   Ensure that the package uses the latest version of React types ([#37365](https://github.com/WordPress/gutenberg/pull/37365)).

## 4.0.3 (2021-10-22)

### Bug Fixes

-   Update `rawHtml` to correctly concatenate multiple strings passed as children (see [35532](https://github.com/WordPress/gutenberg/pull/35532))

## 4.0.0 (2021-07-29)

### Breaking Changes

-   Upgraded React components to work with v17.0 ([#29118](https://github.com/WordPress/gutenberg/pull/29118)). There are no new features in React v17.0 as explained in the [blog post](https://reactjs.org/blog/2020/10/20/react-v17.html).

## 3.2.0 (2021-07-21)

## 3.1.0 (2021-05-20)

## 3.0.0 (2021-05-14)

### Breaking Changes

-   Drop support for Internet Explorer 11 ([#31110](https://github.com/WordPress/gutenberg/pull/31110)). Learn more at https://make.wordpress.org/core/2021/04/22/ie-11-support-phase-out-plan/.
-   Increase the minimum Node.js version to v12 matching Long Term Support releases ([#31270](https://github.com/WordPress/gutenberg/pull/31270)). Learn more at https://nodejs.org/en/about/releases/.

## 2.20.0 (2021-03-17)

## 2.17.1 (2020-09-17)

### Bug Fixes

-   Declare @types/react and @types/react-dom dependencies which could cause type errors when using
    this package with TypeScript ([#25086](https://github.com/WordPress/gutenberg/pull/25086))

## 2.14.0 (2020-05-14)

### New Features

-   Include TypeScript type declarations ([#21781](https://github.com/WordPress/gutenberg/pull/21781))

## 2.13.1 (2020-04-15)

### Bug Fixes

-   Hide TypeScript type declarations ([#21613](https://github.com/WordPress/gutenberg/pull/21613))
    after they were found to conflict with DefinitelyTyped provided declarations.

## 2.13.0 (2020-04-15)

### New Features

-   Include TypeScript type declarations ([#21248](https://github.com/WordPress/gutenberg/pull/21248))
-   Graduated `__experimentalCreateInterpolateElement` function to stable api: `createInterpolateElement` (see [20699](https://github.com/WordPress/gutenberg/pull/20699))

## 2.10.0 (2019-12-19)

### New Features

-   Added `__experimentalCreateInterpolateElement` function (see [17376](https://github.com/WordPress/gutenberg/pull/17376))

## 2.8.0 (2019-09-16)

### New Features

-   The bundled `react` dependency has been updated from requiring `^16.8.4` to requiring `^16.9.0` ([#16982](https://github.com/WordPress/gutenberg/pull/16982)). It contains [new deprecations](https://reactjs.org/blog/2019/08/08/react-v16.9.0.html#new-deprecations) as well.
-   The bundled `react-dom` dependency has been updated from requiring `^16.8.4` to requiring `^16.9.0` ([#16982](https://github.com/WordPress/gutenberg/pull/16982)).

## 2.4.0 (2019-05-21)

### New Features

-   Added `lazy` feature (see: https://reactjs.org/docs/react-api.html#reactlazy).
-   Added `Suspense` component (see: https://reactjs.org/docs/react-api.html#reactsuspense).

## 2.3.0 (2019-03-06)

### New Features

-   Added `useCallback` hook (see: https://reactjs.org/docs/hooks-reference.html#usecallback).
-   Added `useContext` hook (see: https://reactjs.org/docs/hooks-reference.html#usecontext).
-   Added `useDebugValue` hook (see: https://reactjs.org/docs/hooks-reference.html#usedebugvalue).
-   Added `useEffect` hook (see: https://reactjs.org/docs/hooks-reference.html#useeffect).
-   Added `useImperativeHandle` hook (see: https://reactjs.org/docs/hooks-reference.html#useimperativehandle).
-   Added `useLayoutEffect` hook (see: https://reactjs.org/docs/hooks-reference.html#uselayouteffect).
-   Added `useMemo` hook (see: https://reactjs.org/docs/hooks-reference.html#usememo).
-   Added `useReducer` hook (see: https://reactjs.org/docs/hooks-reference.html#usereducer).
-   Added `useRef` hook (see: https://reactjs.org/docs/hooks-reference.html#useref).
-   Added `useState` hook (see: https://reactjs.org/docs/hooks-reference.html#usestate).

## 2.1.8 (2018-11-15)

## 2.1.7 (2018-11-09)

## 2.1.6 (2018-11-09)

## 2.1.5 (2018-10-29)

## 2.1.4 (2018-10-20)

## 2.1.3 (2018-10-18)

## 2.1.0 (2018-09-30)

-   New API method `isEmptyElement` was introduced ([9861](https://github.com/WordPress/gutenberg/pull/9681/)).

## 2.0.0 (2018-09-05)

### Breaking Changes

-   Change how required built-ins are polyfilled with Babel 7 ([#9171](https://github.com/WordPress/gutenberg/pull/9171)). If you're using an environment that has limited or no support for ES2015+ such as lower versions of IE then using [core-js](https://github.com/zloirock/core-js) or [@babel/polyfill](https://babeljs.io/docs/en/next/babel-polyfill) will add support for these methods.
