The WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site for general updates, status reports, and the occasional code debate. There’s lots of ways to contribute:
Found a bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.?Create a ticket in our bug tracker.
We use Slack for real-time communication. Contributors live all over the world, so there are discussions happening at all hours of the day.
Our core development meetings are every Wednesday at 05:00 UTC and 20:00 UTC in the #core channel on Slack. Anyone can join and participate or listen in!
Two weeks have passed since the last GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ release, which means a new version is already available! Gutenberg 10.4 introduces cool features like blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. widgets in the CustomizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings., enhancements to the Site Editor, improvements to rich text placeholders, and, as always, many bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes as well.
Block widgets in the Customizer
As part of the Block-based WidgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Editor project, one goal is to enable block widgets in the Customizer, with Gutenberg 10.4 introducing the first iteration of this feature.
The publishing content UI found in block editors now includes the site icon and name so that it’s clearer in certain cases, such as full-screen or mobile, where you are publishing to.
Revert template to theme defaults within the Site Editor
Until now, to revert a template to the default provided by a theme, it had to be done outside the Site Editor. Thanks to this new feature, it is now possible to revert template customizations directly in the editor.
Rich text placeholder enhancements
To improve the editing experience, rich text block placeholders have seen a few tweaks in this release. Starting in Gutenberg 10.4, blocks containing rich text will display a shorter placeholder text that will remain shown even when being focused.
Post ExcerptExcerptAn excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox.: Fix toolbar for post excerpt warning. (30280)
Post Title: Fix “‘length’ of undefined” error. (30208)
Query: Use a WordPress loopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. for the query block. (30405)
Site Logo: Delete sitelogo option when custom logo does not exist or was removed. (30427)
Block List: Fix mover position in the docked toolbar. (30242)
Code Editor: Revert save editors value on change (#27717). (30524)
Post Editor:
Avoid focus attempt on a non-existent post title in code editor. (29922)
Fix the post author selector for contributor roles. (30218)
Gutenberg PluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party: Ensure that plugin does not error with older versions of WordPress. (30230)
Inner blocks: Memoize allowedBlocks to prevent needlessly updating settings. (30311)
Server side renderer: Fix errors in template part editor context. (29246)
Polish navigation menuNavigation MenuA theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. submenus. (30335)
Add description for templateParts in theme jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (30118)
Add instructions for finding attributes for use in templates. (30258)
Added a practical example of adding a component to the sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (30379)
Remove deprecations planned for 10.3 release. (30417)
Update the objectFitPolyfill vendor library. (30507)
PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher Coding Standards fixes. (30346)
Tools
Add /packages/stylelint-config to CODEOWNERS. (30264)
Build: Ensure non-JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. changes are processed in the watch mode. (30343)
Testing:
Added end-to-end tests for navigation menu name editor. (29774)
GHA workflow improvements when setting up NodeJS. (29078)
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Version
Loading Time
KeyPress Event (typing)
Gutenberg 10.4
5.94s
35.14ms
Gutenberg 10.3
5.98s
32.58ms
WordPress 5.7
5.05s
31.34ms
Kudos to all the contributors that helped with the release! 👏
Thanks @youknowriad for managing the release and @critterverse for helping with the release post assets.
The first quarter of the year is coming to an end, and with it, GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 10.3 comes as well! This release brings us some important changes to Global Styles, as well as several improvements to blocks such as the Navigation blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience., enhancements to the inserter, an editor performance boost, and even a few new blocks! As always, many bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes are included, too.
Improving the Block toolbar
In order to provide a consistent UIUIUser interface across blocks, blocks have seen their toolbars rearranged following a standard grouping layout. While the last release saw the Image block have its toolbar standardized, this time a whole set of blocks have been normalized as well, including blocks such as Button, Buttons, List, Heading, Paragraph, Quote, Audio, File, Media and Text, Video, Site Logo, Cover, and Post Featured ImageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. blocks.
Introducing layout configuration in theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.
Themes have always had the responsibility of defining alignments in the frontend through CSSCSSCascading Style Sheets. rules. They also define different widths for both the editor and frontend. The content width, whether they support wide alignments or not, and the CSS to support all these combinations can be very hard to write properly.
With Full Site Editing, the templates are written in blocks and edited in the site editor. This means that the editor has to match the front end as much as possible while allowing theme authors to tweak these alignments and widths in the editor. If this doesn’t happen, it causes confusion and frustration as seen in the feedback from the FSE Outreach Program.
To address these requirements and to simplify the way themes define and style alignments, Gutenberg 10.3 introduces the concept of layout and layout configuration, a feature automatically enabled when you rely on a theme.json file (experimental-theme.json file at the moment).
Theme authors should be able to make use of this feature by adding a layout config to their theme.json file and indicating in their block templates which containers inherit that config. The layout config is also automatically applied to the post editor.
If you’re using the experimental theme.json file already, you should be able to follow these two pull requests that update the empty theme and the twenty twenty-one blocks theme to use this feature.
Changes in theme.json block supports and supported styles
Block supports are no longer used to decide whether the styles in the theme.json file for a block should be used or not. However, block supports are still used to show UI controls in both the block & global styles sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme., but themes can now use any theme.json style property that exists in any block:
With the goal of providing classic template tagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) features with blocks, up to three new blocks are introduced in this release. The LogIn/Out block is now available to provide login and logout links. Optionally, it can display the login form instead of a link by setting the available block attribute.
Two new blocks for archive pages are also available. The Term Description block displays the description of categories, tags, and custom taxonomies. On the other hand, the Archive Title block displays the title of the archive itself.
Login/Out block (left); Archive Title and Term Description blocks as seen in the editor (right).
Cover block improvements
The Cover block now supports drag and drop for replacing the background image.
Editor performance improvements
In recent releases, the time it took for the editor to load increased slightly due to the growing number of patterns available in the Inserter. Gutenberg 10.3 fixed this so that the editor performs well regardless of the number of available patterns!
10.3
Enhancements
Add since versions to the deprecated features. (30072)
Blocks: Add “theme” category and better present Template Parts in the inserter. (30020)
Open adminadmin(and super admin) sidebar menu over editor on small screens. (29955)
Block Library:
Cover: Allow drag and drop media replacement. (29813)
File: Make the editor markup match the frontend. (30148)
Social Links: Improve selected state of empty block. (29756)
Standardize the groups in the block toolbar. (30012, 29247, 29863)
Verse block: Add support for the padding to the verse block. (29820)
Components: Allow multiple words in the autocomplete phrase matcher. (29939)
Gutenberg PluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party: Improved cache bust without filemtime for assets. (29775)
Icons: Hint the lowercase icon by 0.15px to correct the font weight appearance. (29754)
Media: Use image default size from settings. (29966)
Fix regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. with multi select style. (30128)
Fix the issue with block style preview when example missing. (29894)
Fix sibling block inserter displaying at end of block list. (29920)
Revert showing empty paragraphs on fronted. (29809)
Show the active block variation’s icon in Select mode. (30143)
Blocks: Adding onRemove event to verse block. (30104)
Block Library:
Cover: Improve disabled media buttons check for placeholder. (29858)
Embed:
Fix overzealous aspect ratio scaling for embeds. (29510)
Fix block reset sizes on external URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org change. (26879)
Update the layout alignment description for better clarity. (29974)
Gutenberg Plugin: Update “requires at least” value to 5.6. (29646)
E2E Tests: Stabilize randomly failing tests in trunktrunkA directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.. (29836)
Navigation Component: Align item text to the left/right. (30083)
CustomizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.: Add widgets customize inspector. (29755)
Full-Site Editing:
Add a layout configuration to the Group block and theme.json and make alignments declarative. (29335)
Add client ID trees selectors in block navigation. (29902)
Add description field to Post Content block. (29971)
Add preload_paths filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. for widgets screen and full site editing. (28701)
Add support for experimental layout in Post Content block. (29982)
Add layout support to the Template Part block. (30077)
Add link color option in Site Title block. (29924)
Automatically open the sidebar to the appropriate menu. (26964, 30098)
Close navigation panel after template selection. (29956)
Expose Template Part block variations to the Inserter. (30032)
First step towards hybrid themes – fallback to PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher templates. (29026)
Fix block toolbar from overlapping navigation panel. (29918)
Fix different markup in the editor and on the frontend for the Site Title block. (29021)
Fix edge case where the default layout could be undefined. (30024)
Fix persistence of Preferences in site editor. (30019)
Fix Query LoopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. block margin. (30078)
Remove alignments from the root level of the site editor. (30079)
Remove headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. toolbar transition in reduced-motion mode. (29764)
Remove unused QueryProvider in Query block. (29947)
Template Part: Identify template parts in error messages. (28398)
Increase importance of submenus staying open. (30169)
Keep submenus open on select in the editor. (29713)
Match editor markup to rendered in Navigation Link block. (29935)
Move theme location settings to navigation editor sidebar. (29458)
Navigation MenuNavigation MenuA theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site.: Show submenus only on select in the editor. (29869)
Unset font weight and text decoration inheritance in Navigation block. (30011)
Use the interface package for the navigation screen. (30013)
Visual and design improvements for List View. (29769)
Widgets Editor:
Fix warning when widgets block editor is disabled. (30318)
Iterate on widgets REST APIREST APIThe REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. endpoints. (29649)
Load block editor assets in the navigation and widgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. editors. (30076)
Unify menu item styles for Navigation Block and Page List blocks. (29975)
Use a default sans serif font for the widget screen. (30084)
Remove superfluous sentence in create block tutorial. (30062)
Update block design principles with a new section on how to group controls. (29816)
Update broken link to Getting Started for the ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native based Mobile Gutenberg. (30162)
Update the quick view image on the documentation homepage. (29808)
Editor: Clarify the purpose of the @wordpress/editor package. (30136)
I18ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Replace dead link in README.md. (29699)
Interface: Fix typos in interface package. (29740)
Code Quality
APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. Fetch:
Move is-typing and is-outline-mode classes up the tree. (30106)
Move nav mode exit from writing flow to block props. (30175)
Block Library:
Refactor ServerSideRender to use React hooksHooksIn WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.. (28297)
Remove obsolete editor styles for List block. (30094)
Set delay to zero in the reduce-motion mixin and tests. (29762)
Eslint Plugin: Add TypeScript as peer dependency and make it optional. (29942)
GitHubGitHubGitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Workflows:
Use Gutenberg token for version bump, changelog commits. (30212)
Packages: Enforce version bump for production packages after WP major. (29903)
Unit Testing: Allow TypeScript modules for transpiled packages. (29873)
Performance Benchmark
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Version
Loading Time
KeyPress Event (typing)
Gutenberg 10.3
4.90s
31.86ms
Gutenberg 10.2
5.15s
31.41ms
WordPress 5.7
4.88s
25.24ms
Kudos to all the contributors that helped with the release! 👏
It’s that time of the fortnight again: We’ve just published a new release of GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/! Version 10.2 brings to you a number of additions to Full-Site Editing (FSE) and Global Styles, and a sizeable list of improvements to the editing experience, as well as bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes.
Offering Patterns on BlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. setup
Introducing some initial explorations on how specific patterns can be better surfaced from a block’s placeholder state. Upon inserting a Query block there’s now a setup step that allows picking a block pattern for it to use. This allows users to start with a good design basis. Note that this goes beyond what block variations afford, as it’s an APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. that can directly connect with a block pattern categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.. The candidate block patterns are fetched via a new API that allows querying for patterns that include a given block type.
Alternatively, the user has the option to “start empty”, in which case they’ll be able to choose from the existing CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. block variations (e.g. Title & Date, Title & ExcerptExcerptAn excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox., etc).
Spacer Block width can be adjusted (in Navigation Block)
When inserted into a parent block that dictates a horizontal orientation (such as the Navigation Block), the spacer block’s width (rather than height) can now be adjusted. This makes some new cool customizations possible on horizontally-stacked blocks.
Transform Media & Text to Columns
It has been possible for a while to transform any single block into a Columns block (with a single column). For the Media & Text block, that behavior is unlikely to produce the desired outcome. Thus, when transforming a Media & Text block into a Columns block, it will now result in two columns (and all the relevant fixings from the original block).
Hide writing prompt from subsequent empty paragraphs
Rather than showing the “Start writing or type / to choose a block” prompt in each of a number of subsequent empty paragraphs, we now only show it in the first one.
Add check for button text before rendering button block. (29717)
Skip CSSCSSCascading Style Sheets. minification via PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher. (29624)
Restore the margins of blocks relying on the figure element. (29517)
Components: Try to make the order of fills stable in regular slots. (29287)
Add expandOnFocus, showHowTo and validateInput experimental props to FormTokenField. (29110)
Hide writing prompt from subsequent empty paragraphs. (28275)
New APIs
Plugins: Add scoping functionality to the Plugins API. (27438)
The registerPlugin() function (in the @wordpress/plugins package) now accepts a scope argument that will limit that pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party to be displayed only by <PluginArea /> components with a matching scope prop. See #27438 for more details.
Bug Fixes
Reusable Blocks:
Fix editor crash when converting block with visible styles to reusable (after a save and page reload). (29059)
Fix reusable block crash when converting a just created reusable block to blocks. (29292)
Yelp: Fix foreground color, make background transparent. (29660)
Social Links: Replace CSS variables with block context approach. (29330)
Table of Contents block:
Fix links when in archive loopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. or when using “Plain” permalink structure. (29394)
Fix inline block styles minification issues with calc(). (29554)
Packages: Update the publishing command for npm with next dist tagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.). (29379)
Ignore build folders when native unit tests. (29371)
Interface: Fix ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. warnings triggered in ActionItem component. (29340)
Search block: Add missing space to provide valid HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.. (29314)
Blocks: Ensure that metadata registered on the server for core block is preserved on the client (try 2). (29302)
Gallery Block: Fix the crop images setting. (29823)
Fix Error: Could not process the ‘wp-config.php’ transformation. (29800)
Performance
Revert “Block edit: Avoid memoized block context in favour of useSelect”. (29621)
Experiments
Global Styles:
Do not add padding sub-properties if there’s no values in theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (29712)
Fix specificity conflictconflictA conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. of blocks with single classes as selectors. (29378)
Fix specificity issue between theme and user styles. (29533)
Custom Link Color: Do not apply to buttons. (29557)
Implement skip serialization for color key in style att. (29253)
Full-Site Editing:
Site Title: Add text decoration and text transform controls. (29622)
Prevent clicking on tag and category links in the site editor. (29583)
Print nothing in the front end if there are no results in Query block. (29521)
[Query block] Remove exclusion of current page id. (29432)
Handle missing categories/tags in Query block. (29424)
Query block setup with block patterns integration. (28891)
Update template descriptions for clarity and humanity. (29531)
i18ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Fix the template area unassigned type string. (29617)
Temporary hack to render blocks in customizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.. (29365)
Fix shortcodeShortcodeA shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. not showing in the widgets screen. (29282)
Add NVDA instructions to the accessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) testing documentation. (29312)
Component Systems: Update references to external module. (29233)
Docs: Add info about npm release types and their schedule. (29028)
Docs: Update slug for block-based theme tutorial. (25839)
Code Quality
Rename load_separate_block_styles to load_separate_block_assets. (29703)
Update the minimum WordPress version required by the gutenberg plugin too 5.6. (29701)
Components: Ensure that SlotFill does not use portals in React Native. (29631)
Block edit: Avoid memoized block context in favour of useSelect. (29333)
Tools
Scripts:
Fork jest-environment-puppeteer to use puppeteer-core directly. (29418)
Add TypeScript support to linting command. (27143)
Needs Info / Stale bot
Add stale issues bot to help triagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. efforts. (29321)
Do not automatically close message, update stale message. (29310)
Docs/Tools/CI: Update references from master to trunk. (28433)
Various
Full-Site Editing
Site Editor: Browsing sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. templates menu restructure. (28291)
Template part ‘area’ term – reword confusing ‘type’ terminology. (29679)
Add i18n support for template part variations’ descriptions. (29612)
Multi entity save panel – remove dynamic copy. (29637)
Table of Contents block
Add Table of Contents block (dynamic rendering + hooksHooksIn WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. version). (21234)
Deregister TOC block until issues are resolved. (29718)
Add regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. test for editor JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. crash caused by rtlcss parsing exception, take 2. (29598)
Reset all WP Adminadmin(and super admin) styles in the wrapper of the editor styles. (29590)
Revert “[Mobile] – Fix splitting/merging of Paragraph and Heading”. (29587)
Try updating the minimum required WordPress version for the plugin. (29579)
Focus input when InputControl spinner arrows are pressed. (29305)
WP Block Styles: Only load in the editor if a theme opts in. (29252)
Add new overlay text icon, and use for image. (29215)
Add Missing URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org state to Navigation Link Block. (28861)
Improve the block editor handbook table of content. (28665)
RN: Add Bottom Sheet Select Control component. (28543)
RichText: Bypass paste filters for internal paste. (27967)
Block Directory: Update search results list UIUIUser interface. (25521)
Performance Benchmark
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Version
Loading Time
KeyPress Event (typing)
Gutenberg 10.2
5.25s
25.8ms
Gutenberg 10.1
5.01s
23.1ms
WordPress 5.7
5.13s
22.3ms
Kudos to all the contributors that helped with the release! 👏
GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 10.1 has been released! This release includes a number of nice enhancements and as usual many bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes. In addition Full Site Editing, Widgets and Navigation screens and Global Styles saw many improvements.
Reusable blocks improvements
With the ongoing effort to improve the different user flows related to Reusable blocks we’ve seen tons of enhancements recently that are worth mentioning 🙂 .
Visual clarity of Reusable blocks has been improved with the Reusable blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.’s title displayed next to the block type in toolbar, in Navigation List and in Breadcrumbs. Towards the same direction if a child block is selected, the Reusable block is outlined making it easier to identify where the block starts and where it ends.
Another enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. is the ability to modify the saved title of reusable block in sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. inspector and the newest one is the enhanced creation flow, that also allows you to cancel the action.
Better clarity on the Image toolbar
The Image block’s toolbar has now better clarity by following the “metaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress., block level, inline” order in the block toolbar. This makes the grouping so much clearer and other blocks are going to follow :).
Spacing options for Social Links and Buttons
You can now set how the space between and around Social Links will be distributed. In addition more options were added to Buttons block.
10.1
Features
Use a modal for the reusable blocks creation flow. (29040)
Fix PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notice shown when rendering a navigation link block. (28999)
Show page titles special characters in the parent page selector. (29104)
Edit Post: Automatically connect a menu item with the pinnable sidebar pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. (29081)
Make Modal component use the aria.labelledby prop. (29020)
Fix adminadmin(and super admin) menu scroll on editor page. (28959)
Prioritize coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks in the inserter. (28945)
Make the __experimentalCaptureToolbars option work reliably. (28905)
Ensure sticky tabs are in front of their panel’s descendants. (28562)
Navigation Component: Increase color and padding specificity. (28619)
Add note to indicate why priority queue callbacks may be undefined. (28337)
Keep initial formatting on paste for Preformatted and Verse components. (27781)
Do not use __experimentalSelector to check the panel title. (29264)
Update documentation for social links & theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (29294)
Navigation Screen:
Add block deselection when clicking canvas background. (28876)
Improve experience for user creating their first menu. (28767)
Support skipping serialization in the color hook (block supports mechanism). (29142)
Fix invalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. font-family list. (28960)
Set container classname dynamically depending on WidgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. block. (26375)
Add Widgets REST APIREST APIThe REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. changes from Core-51460. (29242)
Add hooksHooksIn WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. based Scrollable component wrapper. (28979)
Template Part: Fallback to missing state if slug or theme is invalid. (29041)
Site Editor:
Fix misalignment with navigation toggle and headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes.. (29093)
Fix legacy widgets not previewing and widgets saving issue. (29111)
Fix server rendered widget not previewing. (29197)
Documentation
Add accessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) testing instructions. (28947)
Remove Font style, weight, decoration, and transform presets from the theme.json documentation. (29200)
Combobox Control: Update APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. doc. (28787)
IframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser., selection clearer, typing observer. (29114)
Add Python 2.0 to other OSS licenses in license checker. (28968)
Create Block: Fix issue with processing unrelated engines. (29066)
Fix spacing in new contributor welcome message. (28958)
Add reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-i18ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. package with i18n React bindings. (28465)
babel-plugin-makepot: Don’t transpile the package code. (28911)
Use Simple GitGitGit is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/. instead of NodeGit. (28848)
Fix issue where mappings sources were not downloaded. (28930)
Changelog script: More fine-grained Changelogs for patchpatchA special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. releases. (28424)
Add a custom post typeCustom Post TypeWordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. icon. (29232)
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Version
Loading Time
KeyPress Event (typing)
Gutenberg 10.1
5.3 s
30.11 ms
Gutenberg 10.0
5.7 s
29.62 ms
WordPress 5.6
4.1 s
35.47 ms
Kudos to all the contributors that helped with the release. 👏
Thank you to all of the contributors who tested the BetaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. releases and gave feedback. Testing for bugs is a critical part of polishing every release and a great way to contribute to WordPress.
GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 10.0
Gutenberg 10.0 which means it’s the 100th release of the Gutenberg pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party, the 100th release of a journey that started more than 4 years ago when Matt announced the project on WordCampWordCampWordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US 2016.
Monthly Plan
The monthly update containing the high-level items that Gutenberg contributors are focusing on for January are:
Global Styles.
BlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.-based WidgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Editor.
Foundational PR for semantic template parts has been merged. It registers wp_template_part_areataxonomyTaxonomyA taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. that allows us to assign categories to template parts. Currently, defined ones are headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes., footer, sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme., and uncategorized.
The template tab has been added to Site Editor’s sidebar.
Block patterns can now be inserted at the non-root level. This allows the insertion of patterns into template parts among other things.
The persistent block navigator is getting close to being merged, awaiting for a11yAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) feedback for it.
A couple of PRs that I’ve been working on for a while now is finally ready for review!
Adding duotone filters to blocks, duotone is a lot like converting an image to black and white, but instead of just black and white, you can choose any two colors that you’d like (which makes it a lot more powerful than just a color or gradient overlay on top of the image).
Adding duotone filters to the image block. This one is probably best to review first as it’s more straightforward and doesn’t have any additional dependencies.
Adding duotone filters as a block supports the feature to make it easy for block authors to add duotone to their blocks. It shares a few of the commits from the image block PR, but was moved to a separate PR as it depends on some PHP changes in core for adding a render hook to WP_Block_Supports.
The video, media & text, and cover blocks have duotone support added via block supports in that PR.
Focus on triagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors..
Helping to test bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes for WP 5.6.2.
Testing and improving docs for setup dev env + testing for CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress..
Work is lead by @sarayourfriend@gziolo, and me (additional help is welcome! Let us know if you’re interested)The immediate checklist we’re working through can be found in this GithubGitHubGitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ issue.
For a simpler overview of the status, you can check out the status page
We’re almost 17% integrated! It’s still early, but it’s ramped up a ton from the earlier days where it was stuck around 3% for initial integration details.
Currently drafting up a post on this Components System project for make. I hope to publish it soon.
Asked about the list of various people and areas that are more focused on. The list will help to know whom to pingPingThe act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” while triaging. Some discussion around crafting list but no decision.
Aiming to conduct triage on Tuesday and hope that a few devs will also attend.
@mcsf suggested using intuition and experience to know who to ping instead of a scripted list.
This is GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 10.0, which means it’s the 100th release of the Gutenberg pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party, the 100th release of a journey that started more than 4 years ago when Matt announced the project on WordCampWordCampWordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US 2016. (It’s also almost to the mark the 4th anniversary of the initial commit to the Gutenberg repository.)
I’m not going to lie, it was not an easy journey. Shipping something that impactful is not easy and, going in, there was no reason to believe in success: WordPress had already tried to replace TinyMCE a couple of times already. What would be different this time around? Not much probably, so initially very few people actually joined the project.
Six months later came WordCamp Europe 2017 and the first release of the plugin. The editor was nowhere close to being usable but it “clicked” for some, and the reactions to the presentation were hopeful.
However, then quickly came pushback. With all the attention that the project received, it became difficult to discern constructive debate from mere opposition. We each come with our own context, and some people had a fixed idea about what they wanted for the project. Some wanted to just reuse an existing page builder, others wanted to revive the Fields APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. project, some wanted it to be front-end-first, others wanted it to just replace the content area of the classic editor, some wanted it to be in Vue.JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors., others wanted no change at all. With a product used by 40% of the web, we need to find consensus, and when we make compromises it can be so difficult for those involved to avoid the feeling that their voice is being ignored.
We also made quite a few mistakes: stability of some releases wasn’t so great, performance suffered in others, a11yAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) as well… Nonetheless, we kept pushing forward, improving the editor and the project in all aspects until its first inclusion in WordPress 5.0, and we haven’t stopped since.
It’s a delight to see some people who had very strongly disagreed with the initial vision or approach to Gutenberg gradually come to enjoy using the editor and join the project to carry on its vision. Others might still not like it, some won’t ever use it. One thing is certain though, we’ll continue doing our best to push forward, improve what’s already shipped and ship new exciting features; we’ll continue making mistakes and hopefully continue learning from them.
Today marks the 100th release of Gutenberg. Nothing extraordinary, just a regular release: it improves on the existing features, fixes bugs, adds new features and experiments with new ideas.
What I personally retain is the people, the ones who were with us from the start, the ones who were with us but left, the ones who joined in our journey, everyone who helped along the way, everyone who provided feedback, everyone who got their hands dirty and everyone who tried to use this editor, extend it, and provide ideas.
Thank you all.
10.0 🤯
Features
Add basic pages blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.. (28265)
Make the parent block selector visible and offset in the block toolbar. (28598) (28721)
Enhancements
Update the social empty state for dark themes. (28838)
Add the tagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) name selector to the advanced panel of the Group block. (28576)
Categories block: Display message instead of empty content. (28697)
Show block patterns in the inserter for non-root level insert position. (28459)
A11y: Improve the keyboard navigation in the block patterns inserter. (28520)
Allow transforming Paragraph blocks to Buttons block. (28508)
wordpress/data: Graduate the __experimentalResolveSelect function to a stable status. (28544)
wordpress/compose: Add useMergeRef ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. hook. (27768)
Components: Allow extra props for RadioControl component. (28631)
Add JustifyToolbar component to @wordpress/block-editor. (28439)
wordpress/i18ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Add new APIs for React bindings. (28784) (28725)
Fix gray screen on refresh when editing pages and posts. (28413)
Show single post template in posts templates in the navigation sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (28229)
Allow searching pages, posts and categories in the navigation sidebar. (27280)
Full Site Editing Architecture:
Iterate on the public API of WP_Theme_JSON_Resolver. (28855)
Rename pageTemplates configuration to customTemplates in theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (28830)
Improve performance on file access of experimental-theme.json. (28786)
Load page templates via theme.json abstractions. (28700)
Full Site Editing blocks:
Post Featured ImageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. block: Render nothing if featured image doesn’t exist. (28625)
Add a description to the template part block. (28839)
Move template part title field to the block inspector. (28835)
Use display title for template part block type toolbar anchor. (28691)
Allow the query block to work on singular pages when inheriting the global query. (28351)
Clear block selection in the navigation editor when clicking editor canvas. (28382)
Block-based widgets screen and customizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.:
Add experimental flag and enable widgets screen in customizer. (28618)
Global Styles:
Use context when translating entries in theme.json. (28246)
REST APIREST APIThe REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.:
Add URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org Details endpoint to REST API to allow retrieval of info about a remote URL. (18042)
Pattern Directory API: Return the block pattern value as content. (28799)
Pattern Directory API: Add a keywordfilterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. parameter. (28794)
UIUIUser interface Components:
Group all experimental components in the ui folder. (28624)
Blocks: Move the logic for Template Part label to the block. (28828)
wordpress/block-directory package: Replace string store names. (28777)
wordpress/block-editor package: Replace string store names. (28775)
Site Editor: Replace coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress./edit-site store name with store object. (28722), (28695)
Relax JSDoc validation for typed packages. (28729)
Refactor Buttons block to use JustifyToolbar controls. (28768)
i18n hooksHooksIn WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.: Don’t use typeof to check value falsiness. (28733)
Components: Set a default for the ComboboxControl onFilterValueChange. (28492)
Tools
List all dependencies when checking licenses in NPM 7. (28909)
Allow blank GitHubGitHubGitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ issues again. (28866)
wp-env.json: Pin tt1-blocks dependency to v0.4.3. (28741)
Add eslint rule for preventing string literals in select/dispatch/useDispatch. (28726)
build-worker: Extract the functions that build CSS and JS. (28724)
Unit Tests Workflow: Enable for documentation-only PRs. (28696)
Fix end-to-end failures on ‘Front Page’ template. (28638)
Fix lint issues (proper number of spaces). (28629)
Fix legacy settings tests for custom spacing. (28628)
Updating composer packages for php8 compatibility. (28623)
Various
Adjust defaults for COMPONENT_SYSTEM_PHASE variable. (28772)
build-worker: Call callback with error when no task for extension. (28723)
Performance Benchmark
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Version
Loading Time
KeyPress Event (typing)
Gutenberg 10.0
7.6 s
27.72 ms
Gutenberg 9.9
8.0 s
30.25 ms
WordPress 5.6
5.65 s
33.2 ms
Kudos to all the contributors that helped with the release! 🙏
GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 9.9 is out now! Get those bytes into your website while they’re hot. This is the 99th(!!) release of the Gutenberg pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and will be the latest release that is bundled into WordPress 5.7.
The team has been hard at work implementing Full Site Editing, Global Styles, the Navigation blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience., the Widgets screen, and it shows. We also have plenty to offer for all you lovers of “bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes and enhancements”.
Yee-haw!
Custom icon and background colors in Social Icons
Does “Twitter blue” conflictconflictA conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. with your blogblog(versus network, site)’s aesthetics? You can now set a custom background color and/or icon color for all of the icons in a Social Icons block.
Preferences redesign
The Options modal is all grown up, has a brand new look, and is now called Preferences.
Text labels in the Block Toolbar
Prefer text to icons? Now if you turn on the “Display button labels” setting you’ll see text labels in the block toolbar.
Add disabled support in ToggleControl and FormToggle. (28228)
Block APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.: Allow overriding the categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. for block variations. (28482)
Add ability to filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. the return values of i18ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. functions. (27966)
(Experimental) Add thunk actions to replace rungen and controls. (27276)
Fix regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. with pinned plugin items on mobile. (28521, 28526)
Fix margins and width of 100%-width buttons. (28467)
Fix aborted rendering of non-nested reusable blocks. (28461)
Show insertion point after the last block in a container. (28418)
Fix backwards compatibility issue with Inline Image format. (28223)
Inserter: Fix left padding on Block Pattern Inserter dropdown. (28150)
Fix toolbar keyboard navigation after pressing alt+F10. (28068)
Image Block: Update linkDestination when editing image link URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org. (27801)
Interface Skeleton: Limit the editor width to prevent some blocks to grow infinitely wide. (27695)
Button component: Add margin around the dash icon. (27461)
Fix issue where resetBlocks can result in an incorrect block selection. (21598)
Make custom spacing work with CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. (28548)
Block Validation: Allow unitless zero CSSCSSCascading Style Sheets. lengths. (28501)
Add check for zero to the FocalPointPickermediaRef which prevents a division by zero error. (28499)
Update HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Anchor description to refer to block instead of heading. (28367)
Add end-to-end tests for templates export. (28324)
Add unit testunit testCode written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. for site templates export. (28323)
Add more tests for processing theme.json logic. (28202)
Fix button outline in Navigation component. (28230)
Add widgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. id to blocks in the widgets screen. (28379)
Fix categorization not showing in the global inserter. (28036)
Update the main readme with the current Gutenberg project phase. (28359)
Update links used in the developer portal. (28354)
Update links to reference HEAD instead of a specific branchbranchA directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".. (28331)
wp-env: Add MySQLMySQLMySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. port info to start logs. (28441)
Run the load time indicator computation multiple times. (28419)
Don’t add default-custom-properties styles to all compiled files. (28395, 28462)
Fix typewriter test by using mouse.wheel and waiting for scroll. (28376)
Replace deprecated waitFor in end-to-end tests. (28360)
Add stale issue workflow for issues with need info requested. (28179)
Add script to remove node_modules of all packages. (28177)
Testing: Add CI workflow covering Node.js 12. (28139)
wp-env: Fix upload directory conflict in phpunit service. (28120)
Packages: Use canary flag for npm releases with next dist tagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.). (28357)
Packages: Fully automate npm publishing with the latest and next tags. (28335)
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Version
Loading Time
KeyPress Event (typing)
Gutenberg 9.9
5.083 s
27.05 ms
Gutenberg 9.8
4.633 s
29.64 ms
WordPress 5.6
4.718 s
27.11 ms
Kudos to all the contributors that helped with the release! 🙏
As the GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ team and community continue to forge ahead with implementing Full Site Editing and Global Styles, the latest installment of the Gutenberg pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party (version 9.8) has been released today 🥳 As always, this release also includes many fixes and some nice new enhancements.
Semi-transparent Spacer BlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.
The Spacer block, when selected, now has a semi-transparent background, rather than an (opaque) light grey one. This should make it easier to discern from any layer behind it (such as a Cover block or image), if that is of a very light color itself.
Block Switcher Shows variation icon
As a follow-up to an improvement to block variations that shipped with 9.7, the block switcher now displays the variation’s icon, rather than the block’s generic one.
Site Editor now iframed
The Site Editor now renders its content in an iframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.. There is a number of reasons for this, such as avoiding adminadmin(and super admin)CSSCSSCascading Style Sheets. bleed, or allowing to simply use a theme stylesheet for a site without any adjustments. Once this approach proves stable, the team is planning to make the same change to the Post Editor.
FSE: No more auto-drafts
Full-Site Editing no longer creates auto-drafts for template and template part post objects. These auto-drafts were previously needed for block templates and template parts that were based directly on files from an FSE theme without any user modifications. However, they required complex management and sync logic that proved fragile. By removing them, the team hopes to stabilize a fundamental part of FSE.
9.8 😬
Enhancements
Use a semi transparent background for the spacer block when selected. (28103)
Display matching variation icon in Block Switcher. (27903)
New APIs
Create Block: Allow using locally installed packages with templates. (28105)
Create block: Add support for static assets. (28038)
Compose: Export useIsomorphicLayoutEffect and use it. (28023)
Bug Fixes
Reusable Blocks:
Show an error message when a reusable block has gone missing. (28126)
Fix nested cover block bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.. (28114)
Fix invalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. cover block transforms. (28087)
Fix cover regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5.. (28287)
Fix block error when transforming blocks with Link Popover opened. (28136)
Fix PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher Notice in navigation-link. (28134)
Prevent link paste in RichText components in Button and Navigation blocks. (28130)
Fix floating date status inferred for posts where the status has been edited. (28127)
BlockSwitcher: Fix crash due to null reference. (28122)
Verse: Fix line-wrap rendering on front-end of site. (28109)
FocalPointPicker: Fix rendering and dragging experience. (28096)
Block Directory: Fix “missing” block when the block can be installed from the directory. (28030)
Fix locked template not updating when inner blocks template prop changes. (28007)
Fix editor crash when registering a block pattern without categories. (27970)
Fix the RTL editor styles and the theme styles option. (27947)
Don’t close the block inserter when clicking the scrollbar or an empty area. (27946)
Fix unexpected autosave for published posts. (27942)
Fix RadioGroup to support zero as a Radio value. (27906)
Update embed block transforms to permit multiple links to be pasted in a paragraph (#27551). (27746)
Change the week headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. and left button style to meet the date spacing. (27730)
Add aria labels to box control component inputs/button. (27727)
Use clientWidth when no width is available for cropper. (27687)
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Normalize _fields value for use in stableKey. (27526)
Components: Expose composite APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. from Reakit. (28085)
Avoid using auto-drafts for theme templates and template parts. (27910)
Delete unused options while upgrading the plugin. (28164)
Fix _wp_file_based term deletion in migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies.. (28300)
theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.:
Add border radius to the theme styles schema. (27791)
Add theme.json i18ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. mechanism and JSON file specifying which theme.json paths are translatable. (27380)
Fix create-block PHP template files according to WordPress standards. (27949)
block-directory: Simplify the LOAD_ASSETS flow by making it an async function. (25956)
Tools
Workflows (i.e. GitHubGitHubGitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Actions):
Create Release Draft when tagging version. (27488)
Add action to upload release to SVNSVNSubversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase. repo. (27591)
Create Block: Enhancements to Gutenpride tutorial template. (28215)
URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org: Remove redundant array coercion. (28072)
Readme: Increase tested Version up to WP 5.6. (28050)
Interface: Remove deprecated prop from InterfaceSkeleton. (28034)
List View: Reduce whitespace and always show nested blocks. (28029)
Making the sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. inspector’s tabs stick when scrolling. (28003)
Add translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. context to all block’s titles. (27933)
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Version
Loading Time
KeyPress Event (typing)
Gutenberg 9.8
5.55s
29.05ms
Gutenberg 9.7
5.29s
26.32ms
WordPress 5.6
4.66s
28.57ms
Kudos to all the contributors that helped with the release! 🙏
Thank you to all of the contributors who tested the BetaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. releases and gave feedback. Testing for bugs is a critical part of polishing every release and a great way to contribute to WordPress.
WordPress 5.7
WordPress 5.7 is now underway with Beta 1 due on 2 February 2021. Now’s the time to be thinking about what GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ features and bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes we want to ensure are in the release. Project board to track WordPress 5.7 “must-haves” is available. Please add issues to this board and/or reach out to (@noisysocks) if there is something you think needs to be included.
Gutenberg 9.6
Gutenberg 9.6 was released on 23rd december. The big focuses throughout this release cycle were Full Site Editing and Global styles. This release also includes many fixes and some nice new features and enhancements.
Gutenberg 9.7
Gutenberg 9.7 was released on 6th january. First release of 2021 🎉. A number of contributors enjoyed some well earned time off but it didn’t stop them from shipping exciting features for the blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor.
Monthly Plan
The monthly update containing the high-level items that Gutenberg contributors are focusing on for January are:
Global Styles
Block-based WidgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Editor
On the Global Styles side, the work to include the new version of the components is ongoing. Starting with the font size picker. Our end to end tests was improved To not be as markup dependent And work with both versions of the components. There were some end-to-end tests that were legitimately failing And fixes were submitted. Besides that, the discussions on theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. continued to happen. But all the feedback was applied and I think is ready to merge.
Another big chunk of the work saves time escaping the theme.json structure to align with what happens with other WordPress data saved in custom post types. This work is proving a little bit more complex than I anticipated. But a part should be ready very soon
Currently, we are blocked on an issue regarding transpiling. zustand is not being transpiled and the build is not ECMA compliment. I am not really sure how to force the transpiling of that specific lib. All the solutions I tried failed. But I have a considerable lack of babel knowledge So any help here is appreciated
The Full Site Editing Outreach program is underway with the very first call for testing
While you can leave feedback anytime in GitHubGitHubGitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/, this call for testing will be open until January 13th.
If you don’t have time to test right now, no worries—another way to help would be to share the call for testing with others.
If interested in joining the fun in general, please your way over to #fse-outreach-experiment
Going through various customizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. issues. A new technical method is on its way check the main issue
Task Coordination
Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.
Received some feedback from Core REST API team which I’m not familiar with. If anyone has experience in this area I’d be most grateful for input/guidance in order to get this over the line.
Display Block Information by matching block variations is merged. This includes the addition of a property (isActive) in Block Variation’s settings. This optional property is a function to match block variations after their creation.
I had a break in December, so I’m catching up on all the things.
My primary focus is to continue work on the new Component System (aka. “G2 Components”).
As @jorgefilipecosta had mentioned earlier, we’re working on integrating things with the ‘FontSizePicker’ component. I’ll be helping with all integration efforts on that front. We’ll then have the UIUIUser interface set up to start improving the UI for Global Styles.
I’ve been working on improving the Combobox controls we added for the post author and page parent selector and could use some help/review on when someone has a chance.
First release of 2021 🎉. A number of contributors enjoyed some well earned time off but it didn’t stop them from shipping exciting features for the blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor.
Block Patterns Drag and Drop
Similar to blocks drag and drop that shipped in the previous release, GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 9.7 allows user to drag block patterns from the inserter right into the desired position in the canvas.
Reusable blocks
The release also so an important change to how reusable blocks are shown and edited in the editor solving some of the old issues around block inspector, and block toolbars for the reusable blocks. Based on these changes, the UIUIUser interface for reusable blocks is most likely going to see some iterations on the upcoming weeks.
Matching block variations
Block variations are a great APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. that can be used to build a generic block and ship several variations on top of it. That’s how the embed blocks or social link blocks are built. In Gutenberg 9.7, if you insert a block variation, the editor is going to match the block being used and show the “icon” and “description” of the said block variation in the different elements of the interface. (Block navigation, block inspector…)
9.7 😅
Features
Support drag and dropping block patterns from the inserter. (27927)
Enhancements
Improve the Reusable Blocks UI by relying on multi entity save flow. (27887) (27885)
Show the insertion point indicator bellow the inbetween inserter. (27842)
URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org: RemoveQueryArgs should remove the ? char after removing all args. (27812)
Deburr the input of the Post Author and Parent Page controls when filitering results. (26611)
Display block icon, description and name by matching block variations. (27469)
HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Block: Fix editor styles. (27627)
Don’t ignore extra edits made in the server when saving posts. (27929)
Remove the animation of post publish button during autosaving. (27874)
Prevent the inserter from closing when switching the pattern categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.. (27792)
LinkControl: Fix horizontal scrollbar within block toolbar. (27777)
Create Block: Fix support for external templates. (27776) (27784)
Post excerptExcerptAn excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox. block: Fix incorrect quotes for the class attribute in the wrapper. (27895)
Global Styles: Add padding control to the Global Styles sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (27154)
Navigation block: Fix the text color for links in the navigation block. (26698)
Documentation
Improve documentation for withNotices HOC in components package. (27863)
Refactor BlockSwitcher as a functional component. (27674)
Rich Text: Replace store name string with exposed store definition. (27820)
Tools
Remove overrides for JSDoc rules downgraded to warnings. (27912) (27879)
PluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party release tool: Fix svn add/rm commands for release tool. (27886)
Add types to the wordpress/keycodes package. (19520)
end to end tests:
Make end to end tests do not rely on font size picker classes. (27825)
Remove expect.assertions count from multi-entity-saving tests. (27802) (27818)
Testing: Remove axe verification executed after every test case. (26626)
Improve font size end to end tests to work with input changes on blur. (27871)
Performance Benchmark
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Version
Loading Time
KeyPress Event (typing)
Gutenberg 9.7
5.41s
31.1ms
Gutenberg 9.6
5.45s
28.8ms
WordPress 5.6
5.45s
30ms
Kudos for all the contributors that helped with the release. 👏