Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@wordpress/api-fetch

WordPress435kGPL-2.0-or-later7.22.0TypeScript support: included

Utility to make WordPress REST API requests.

wordpress, gutenberg, rest-api, fetch

readme

Gutenberg

End-to-End Tests Static Analysis (Linting, License, Type checks...) Unit Tests Create Block React Native E2E Tests (iOS) React Native E2E Tests (Android)

Storybook Badge

lerna

Screenshot of the Gutenberg Editor, editing a post in WordPress

Welcome to the development hub for the WordPress Gutenberg project!

"Gutenberg" is a codename for a whole new paradigm in WordPress site building and publishing, that aims to revolutionize the entire publishing experience as much as Gutenberg did the printed word. Right now, the project is in the second phase of a four-phase process that will touch every piece of WordPress -- Editing, Customization, Collaboration (which includes Real-time collaboration, Asynchronous collaboration, Publishing flows, Post revisions interface, Admin design, Library), and Multilingual -- and is focused on a new editing experience, the block editor.

The block editor introduces a modular approach to pages and posts: each piece of content in the editor, from a paragraph to an image gallery to a headline, is its own block. And just like physical blocks, WordPress blocks can be added, arranged, and rearranged, allowing WordPress users to create media-rich pages in a visually intuitive way -- and without work-arounds like shortcodes or custom HTML.

The block editor first became available in December 2018, and we're still hard at work refining the experience, creating more and better blocks, and laying the groundwork for the next three phases of work. The Gutenberg plugin gives you the latest version of the block editor, so you can join us in testing bleeding-edge features, start playing with blocks, and maybe get inspired to build your own.

Check out the Keeping up with Gutenberg Index

Getting Started

Get hands on: check out the block editor live demo to play with a test instance of the editor.

Using Gutenberg

Developing for Gutenberg

Extending and customizing is at the heart of the WordPress platform, this is no different for the Gutenberg project. The editor and future products can be extended by third-party developers using plugins.

Review the Quick Start Guide for the fastest way to get started extending the block editor. See the Block Editor Handbook for extensive tutorials, documentation, and API references. Also, check the WordPress Developer Blog for great articles about block development, among other topics.

Contribute to Gutenberg

Gutenberg is an open-source project and welcomes all contributors from code to design, and from documentation to triage. The project is built by many contributors and volunteers, and we'd love your help building it.

See the Contributors Handbook for all the details on how you can contribute.

To get up and running quickly with code contribution see Getting Started With Code Contribution. Also check out the other resources available on the Code Contributions page.

In whichever way you wish to contribute please be sure to read the Contributing Guidelines first.

As with all WordPress projects, we want to ensure a welcoming environment for everyone. With that in mind, all contributors are expected to follow our Code of Conduct.

Get Involved

You can join us in the #core-editor channel in Slack, see the WordPress Slack page for signup information; it is free to join.

License

WordPress is free software, and is released under the terms of the GNU General Public License version 2 or (at your option) any later version. See LICENSE.md for complete license.



Code is Poetry.

changelog

Unreleased

7.22.0 (2025-04-11)

7.21.0 (2025-03-27)

7.20.0 (2025-03-13)

7.19.0 (2025-02-28)

7.18.0 (2025-02-12)

7.17.0 (2025-01-29)

7.16.0 (2025-01-15)

7.15.0 (2025-01-02)

7.14.0 (2024-12-11)

7.13.0 (2024-11-27)

7.12.0 (2024-11-16)

7.11.0 (2024-10-30)

7.10.0 (2024-10-16)

7.9.0 (2024-10-03)

7.8.0 (2024-09-19)

7.7.0 (2024-09-05)

7.6.0 (2024-08-21)

7.5.0 (2024-08-07)

7.4.0 (2024-07-24)

7.3.0 (2024-07-10)

7.2.0 (2024-06-26)

7.1.0 (2024-06-15)

7.0.0 (2024-05-31)

Breaking Changes

  • Increase the minimum required Node.js version to v18.12.0 matching long-term support releases (#31270). Learn more about Node.js releases.

6.55.0 (2024-05-16)

6.54.0 (2024-05-02)

6.53.0 (2024-04-19)

6.52.0 (2024-04-03)

6.51.0 (2024-03-21)

6.50.0 (2024-03-06)

6.49.0 (2024-02-21)

6.48.0 (2024-02-09)

6.47.0 (2024-01-24)

6.46.0 (2024-01-10)

6.45.0 (2023-12-13)

6.44.0 (2023-11-29)

6.43.0 (2023-11-16)

6.42.0 (2023-11-02)

6.41.0 (2023-10-18)

6.40.0 (2023-10-05)

6.39.0 (2023-09-20)

6.38.0 (2023-08-31)

6.37.0 (2023-08-16)

6.36.0 (2023-08-10)

6.35.0 (2023-07-20)

6.34.0 (2023-07-05)

6.33.0 (2023-06-23)

6.32.0 (2023-06-07)

6.31.0 (2023-05-24)

6.30.0 (2023-05-10)

6.29.0 (2023-04-26)

6.28.0 (2023-04-12)

6.27.0 (2023-03-29)

6.26.0 (2023-03-15)

6.25.0 (2023-03-01)

6.24.0 (2023-02-15)

6.23.0 (2023-02-01)

6.22.0 (2023-01-11)

6.21.0 (2023-01-02)

6.20.0 (2022-12-14)

6.19.0 (2022-11-16)

6.18.0 (2022-11-02)

6.17.0 (2022-10-19)

6.16.0 (2022-10-05)

6.15.0 (2022-09-21)

6.14.0 (2022-09-13)

6.13.0 (2022-08-24)

6.12.0 (2022-08-10)

6.11.0 (2022-07-27)

6.10.0 (2022-07-13)

6.9.0 (2022-06-29)

6.8.0 (2022-06-15)

6.7.0 (2022-06-01)

6.6.0 (2022-05-18)

6.5.0 (2022-05-04)

6.4.0 (2022-04-21)

6.3.0 (2022-04-08)

6.2.0 (2022-03-23)

6.1.0 (2022-03-11)

6.0.0 (2022-01-27)

Breaking Changes

OPTIONS requests handled by the preloading middleware are now resolved as window.Response objects if you explicitly set parse: false (for consistency with how GET requests are resolved). They used to be resolved as Plain Old JavaScript Objects.

5.2.5 (2021-11-07)

Internal

  • Removed getStablePath function. Please use normalizePath from @wordpress/url package instead (#35992).

5.2.0 (2021-07-21)

New Features

  • AbortError being thrown by the default fetch handler can now be caught and handled separately in user-land. Add documentation about aborting a request (#32530).

5.1.0 (2021-05-20)

5.0.0 (2021-05-14)

Breaking Changes

4.0.0 (2021-04-29)

Breaking Changes

  • OPTIONS requests which are handled by the preloading middleware are no longer resolved as unparsed responses unless you explicitly set parse: false, for consistency with other request methods. If you expect an unparsed response, add { parse: false } to your request options to preserve the previous behavior.

3.23.1 (2021-04-15)

Bug Fixes

  • Align exported type names with the DefinitelyTyped type names and actually export those types.

3.23.0 (2021-04-06)

New Features

  • Publish TypeScript definitions.

3.22.0 (2021-03-17)

3.8.1 (2019-04-22)

  • Added deprecation to useApiFetch hook.
  • Added @wordpress/deprecation package to add deprecation notice to useApiFetch hook.

3.8.0 (2019-12-19)

Bug Fixes

  • Resolves an issue with createPreloadingMiddleware where the preloaded data is assumed to be provided with keys matching the internal normalized value.

3.0.0 (2019-03-06)

Breaking Changes

  • A created nonce middleware will no longer automatically listen for heartbeat.tick actions. Assign to the new nonce middleware property instead.

New Features

  • The function returned by createNonceMiddleware includes an assignable nonce property corresponding to the active nonce to be used.
  • Default fetch handler can be overridden with a custom fetch handler

2.2.6 (2018-12-12)

2.2.5 (2018-11-20)

2.2.4 (2018-11-15)

2.2.3 (2018-11-12)

2.2.2 (2018-11-03)

2.2.1 (2018-10-30)

2.2.0 (2018-10-29)

New Features

  • Always request data in the user's locale (#10862).

2.1.0 (2018-10-22)

New Features

  • Support per_page=-1 paginated requests.

2.0.0 (2018-09-05)

Breaking Changes

  • Change how required built-ins are polyfilled with Babel 7 (#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 or @babel/polyfill will add support for these methods.