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!
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! 🙏
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. 👏
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.6 has been released. 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.
Dragging blocks from the inserter
From this release, blocks can be directly dragged from the inserter to the post canvas ― dragging patterns is not yet supported.
Vertical layout for buttons
The buttons 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. gained the ability to use a vertical layout in addition to the default horizontal.
9.6.0 🇨🇱
Features
Allow dragging blocks from the inserter into the canvas. (27669)
Buttons: Add variations for vertical layout. (27297)
Enhancements
Buttons block: Change position of the link popover. (27408)
New APIs
Add a useFocusOnMount hook to the wordpress/compose package. (27574)
Components: Introduce a isDisabled prop to the Disabled component. (26730)
Create block:
Use 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. version 2. (26098)
Fix for supporting external templates. (27784) (27776)
Bug Fixes
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. screen: Fix block select on focus. (27755)
Embed block: Add htmlHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. and reusable support back. (27733)
Add useCallbackRef to avoid calling the ref multiple times with the same node. (27710)
Correct getRedistributedColumnWidths and related tests. (27681)
Remove CSSCSSCascading Style Sheets. Custom Property in code block. (27672)
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. on code block for font-size property (27862)
Block crashes if font family is not found. (27654)
Uncaught error with a custom generic store without a unsubscribe function in useSelect. (27634)
Revert date changes from 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". ‘replace-moment’. (27550)
useMediaQuery: Make it safe for SSR environments without window. (27542)
Fixes the width on the circle color picker popover. (27523)
ComboboxControl/FormTokenField: Fix iOSiOSThe operating system used on iPhones and iPads. zooming for input. (27471)
Fallback to regular subscribe if the store doesn’t exist in useSelect. (27466)
Global Styles getPresetVariable uses a wrong variable; Remove GLOBAL_CONTEXT. (27450)
Popover: Fix issue with undefined getBoundingClientRect. (27445)
Try fixing combobox 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) issues. (27431)
Support gradients with omitted stop positions in CustomGradientPicker. (27413)
Fix combobox suggestion list closure when clicking scrollbar. (27367)
Video Block: Let the video fill the container. (27328)
Media & Text “crop image to fill” to work with linked media. (27211)
Give editable fields in blocks better aria-labels. (26582)
Replace function should handle empty string callback return in the 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. parser. (16358)
Performance
Split coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks assets loading. (25220)
Experiments
Add a useDialog hook and replace the duplicated PopoverWrapper. (27643)
Allow 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. only inside Query block. (27637)
Adjust mobile margins for the Query block’s grid view. (27619)
Query block: Allow inheriting the global query arguments. (27128)
Precise that element ref returned by the 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. that return a ref can change between function or object. (27610)
Minor changes to release documentation for clarity. (27571)
Capitalize JavaScriptJavaScriptJavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. in accordance with the word mark. (27539)
Document the useBlockWrapper hook in the block registration documentation. (26592)
Add a document explaining the different block API versions. (26277)
Update the registration examples to use apiVersion 2. (26100)
Code Quality
Remove: Missed unused weights and style translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. code. (27739)
Release script: Set draft status, and only remove after uploading asset. (27713)
CI: Run date test timezone and localeLocaleA locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. variations using bash script. (27600)
CI: Run package/date unit tests in different timezones. (27552)
Avoid cancelling other end-to-end test jobs when one fails. (27541)
Add webpack 5 support to dependency-extraction-webpack-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. (27533)
Add 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/ support document. (27524)
Make zip-based URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org parsing more general. (27019)
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.6
4.33s
27.82ms
Gutenberg 9.5
4.21s
23.04ms
WordPress 5.6
5.16s
23.46ms
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.5 has been released. 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.
Full Height Alignment
This control can be integrated in other blocks as well and you can set 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. to be displayed in full height. The Cover block is a lovely case to see it in action.
Font sizes support in Code block
You can now change the font size of Code block’s contents.
9.5.0 🇲🇪
Features
Full Height Alignment control: Implementation and Cover block integration. (26615)
Data: Use store instance as param for select and dispatch. (26655)
Adds instance URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org to wp-env start. (27282)
Bug Fixes
Fix crash when null date passed to TimePicker. (27316)
Add backward compatibility support for lightBlockWrapper in getSaveElement. (27189)
Restore the gray background in Post Editor. (27188)
Font size picker 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. that adds px units to empty string values. (27111)
Font size unit back-compatibility does not executes on post edit. (27106)
Drop zone: Fix infinite 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. in some contexts. (27090)
Interface regions: Fix focus style (on click). (27074)
Fix combobox suggestion list closure when clicking scrollbar. (27367)
Constrain tabbing to the popover in media replace flow. (26939)
Fix RangeControl mark placement and cursor styles. (26745)
New authors dropdown breaks author selection for editors. (26554)
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.: Use own instance’s doAction for built-in hooks. (26498)
Add Support for Templates Default and Custom Titles and Descriptions (JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. side – 27038, PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher side 27036)
Add theme taxonomyTaxonomyA 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. to templates and template parts. (27016)
Enable 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. to be set and replaced. (27224)
Add alignment controls to Post Featured Image block. (27076)
Add search to templates and template parts. (26665)
Hide navigation item if target menu is empty. (25746)
Global Styles:
Sort Global Styles block panels by panel title. (27163)
Font Appearance should be enabled globally. (27150)
Restrict edition of theme colors by users. (27250)
Update mechanism that resolves Global Styles data. (27237)
Include px units on default font sizes defined 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.. (27083)
Update stylesheet generation at edit site. (27065)
Preserve ‘Your homepage displays’ settings when updating the ‘general’ settings. (27206)
Make sure templates and parts queries 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. by tax_query. (27113)
Fix Template Part Not Found message on Windows server. (26772)
Respect filtered settings when they’re ported to theme.json format. (27010)
Preset controls need the preset CSSCSSCascading Style Sheets. variables in scope. (27119)
Site Editor:
Show document title on small screens with nav 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. open. (27051)
Fix app 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. on small-medium screens. (27310)
Publish MainDashboardButton documentation to handbook. (27317)
Update: Creating a block-based theme tutorial. (27257)
ESLint 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: Include a note about the minimum version required. (27203)
Docs: Update @wordpress/data README with 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. changes. (27180)
Data: Improve documentation for new API added around stores. (27061)
wp-env: Improve documentation for “run” command. (27053)
Search block: Remove 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. prop which was causing a ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. warning. (27306)
Refactor click redirect to avoid trailing div. (27253)
Update package lock to fix CI failures. (27098, 27102)
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: Build Plugin zip, store as artifact on every PR. (26746)
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.5
5.3s
28.6ms
Gutenberg 9.4
5.4s
32.6ms
WordPress 5.5
5.9s
27.1ms
Kudos to all the contributors that helped with the release. 👏
While the work on Full Site Editing and Global styles is continuing, 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.4.0 introduced some nice additions to existing blocks and APIs. Let’s take a look at some of them:
Button widths
Instead of relying on dynamic widths, you can set percentage widths for button blocks.
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. Variations Transformations
Blocks can provide block variations. In Gutenberg, a variation switcher can be added to the block inspector for these blocks.
Social Icons size support
Users can change the size of the icons in the Social Icons block.
Code & Preformatted Blocks: Delete on backspace if empty. (26605)
File Block: Move the URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org button to the Block toolbar. (26602)
Allow adding a 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. by typing /h1, /h2 etc. (26597)
Polish 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. block styling. (26456)
Update Legacy 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. toolbar button font to match UI when displayed in Widget Screen. (26841)
Fix block context injection hook after CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. change in block rendering. (26998) (27011)
FormTokenField input position when typing. (26741)
Fix applying colors to outlined buttons. (26707) (24626)
Render big font sizes properly in the font size picker. (26705)
Use currentColor in quote blocks to better support dark themes. (26684)
Fix “Browse All” in Quick Inserter for container blocks. (26443)
Fix responsive embeds in the widget screen. (26263)
Fix undefined index notice in Social Link Block. (25663)
Buttons block: Fix default alignment icon in toolbar to reflect the actual default alignment of buttons. (26910)
Block Support: Fix font size style when applying block support. (26762)
Do not invalidate the entity record cache during optimistic update in saveEntityRecord. (26627)
Provide a minimum of code wrapping for the code block. (26623)
Experiments
Full Site Editing Framework: Rework templates and template parts synchronization. (26650) (26383)
Full Site Editing Blocks:
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: Allow editing of generated excerpts. (26637)
Post Excerpt block: Add missing closing div 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.). (26806)
Add wide and full alignment options to the post/site title blocks. (26601)
Template Part block: Render preview as div. (26873)
Post Taxonomies: Fix PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher Fatal erroor for unregistered taxonomyTaxonomyA 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. (#26851). (26854)
PostAuthor: Safeguard to wait for authors to load. (26776)
Query block: Update the order of settings and filters in 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.. (26647)
Only show auto-draft template parts corresponding to current theme. (26948)
Polish the template 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.. (26933), (26930).
Hide the line height panel if disabled 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. file. (26778)
Memoize getEntityRecords to prevent infinite re-renders. (26447)
Resolve per-entity resolvers after receiving a list of records. (26575)
Documentation
Update theme.json documentation with new properties added. (26891)
Interface: Add deprecation logic for leftSidebar prop. (26826)
Document the block supports style properties. (26771) (26931) (26859)
Update testing documentation with info about ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Testing Library. (23015)
Minor code refactoring in template part previews. (26949)
Drop zone: Rewrite with 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. and simplify. (26893)
PostTitle: Rewrite with hooks (+ avoid globals). (26820)
Format library: Use hooks for all components. (26779)
Sandbox: Use hooks and avoid withGlobalEvents. (26742)
Draggable: Use hooks and prepare for 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.. (26897)
PostLockedModal: Use hooks and avoid withGlobalEvents. (26743)
WpEmbedPreview: Use hooks and avoid withGlobalEvents. (26740)
FocusableIframe: Use hooks and avoid withGlobalEvents. (26737)
Navigation Component: Update styles to reference grid spacing helper. (26523)
Use useAnimate for all Animate component usage. (26201)
Gallery block: Use 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. v2. (26145)
Update gutenberg_is_fse_theme function to make it filterable. (27021)
Windows: Use wp-env instead of file location. (26671)
Site Editor: Rename left sidebar → secondary sidebar. (26517)
Add State locks for concurrency control to wordpress/core-data. (26389) (26661)
Avoid PHP warnings when 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 folder isn’t writable. (17671)
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.4
6.2s
26.6ms
Gutenberg 9.3
6.3s
23.7ms
WordPress 5.5
6.7s
22.1ms
Kudos for all the contributors that helped with the release. 👏
This is the first 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 that is not going to be included entirely in WordPress 5.6. The important bugfixes were backported to WordPress 5.6 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. 2 and 3.
In addition to the stability work for WordPress 5.6, the contributors also focused on improvements to the Full-site editing flows. The FSE experiment will be automatically enabled if you activate a 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 theme.
The site editor and its navigation panel saw a lot of improvements as well.
Site Editor Screen
9.3 🇲🇾
Enhancements
Support for all units in Font Size presets. (26475)
Sort post formats alphabetically by translated name. (26305)
Ensure Alignment options are always rendered in the same order. (26269)
Buttons block: Overhaul alignment and justification controls. (23168)
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): Retain focus position when tabbing back to the block toolbar. (25760)
Dark mode UIUIUser interface enhancements. (26483) (26510)
Social Links: Add Patreon, Telegram, and Tiktok icons. (26118)
Bug Fixes
Fix Visual 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. on the color palette editor. (26614)
wordpress/scripts: Fix error in ignore-emit-webpack-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. (26591)
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 incorrectly pluralized strings. (26565)
Limit the editor interface to max-width 100%. (26552)
Ensure editor footer remains at the bottom of the screen when navigating regions. (26533)
URLInput: Use debounce() instead of throttle(). (26529)
Heading Block: Fix double alignment controls in toolbar. (26492)
Reusable Blocks: Make the number retrieved from the 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. unlimited. (26486)
Fix editor error when an empty reusable block exists. (26484)
Fix spellings in the Getting Started guide. (26310)
Fix embed blocks rendering in 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. areas. (26307)
Support custom viewportWidth in block previews (example). (26346)
Change updateSelection property to false for InnerBlocks. (26312)
Experiments
Full Site Editing :
Disable 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. and widgets screens. (26594)
Strip post ids from template part blocks on export. (26268)
Allow themes to live in a subdirectory. (26391)
Introduce the layout prop to InnerBlocks. (26380)
Site Editor
Add Dropdown to Create Generic Templates. (26284)
Prevent inserter overscroll. (26432) (26583)
Fix dirty template and template parts on template creation. (26560)
Fix composite role warnings triggered by template part previews. (26406)
Reduce the Amount of Data Passed Through the Components Tree. (26463)
Add the option to convert a template part to regular blocks. (26488)
Fix Invisible Template Previews in 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.. (26424)
Add convert to template part flow. (20445)
Fix custom template part theme 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.. (26587)
Query block:
Add initial variations. (26378)
Add sticky support. (26279)
Global Styles:
Use block settings on the block panels. (26218)
Fix: Font size picker regression on edit site global styles. (26603)
Process settings only once. (26330)
Navigation Component:
Add Support for RTL Languages. (26334)
Styling revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.. (26338)
Fix focus behavior when opening the panel. (26296)
Fix the height of the Navigation panel and make it scrollable. (26187)
Search Control in Menu Titles. (25315)
Use a DropdownMenu for menu selection on the navigation screen. (25390)
Documentation
Update glossary to include more block-based terminology. (26478)
Update triagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. documentation for clarity around closing issues and labels. (26480)
Update WordPress versions document to include 5.6. (26365)
Chore: Ensure WordPress packages share the same hoisted dependencies. (26453)
Use CSSCSSCascading Style Sheets.-in-JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. in wordpress/components:
Components: Copy SCSS file from reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-dates to components package. (26534)
webpack: Replace legacy namedChunks/namedModules options with chunkIds/moduleIds. (26502)
Rewrite sideEffects flags to use only positive patterns. (26452)
Load the Twenty Twenty-one theme by default in Gutenberg’s local environement. (26414)
Build: Assign the library exports to window.wp rather than this.wp. (26272)
Fix composer test failures due to 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. lock. (26472)
jest-puppeteer-axe: Migrate to @axe-coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress./puppeteer. (25659)
wordpress/scripts: Configure all the tools to skip vendor folder. (26450)
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.3
6.6s
27.16ms
Gutenberg 9.2
6.2s
26.62ms
WordPress 5.5
6.4s
27.53ms
Kudos for all the contributors that helped with the release. 👏
9.2 was the final release to make it into 5.6 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.! Featured goodies in this release are:
Support for video subtitles 🎉
Subtitles dropdown on video 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.. Props to @jorgefilipecosta for the screenshot.
Ability to transform multiple selected blocks into a Columns block:
Transforming three images into a three-column columns block.
And background patterns in Cover blocks!
Adding background patterns to a Cover block. props to @retrofox for the gif.
Add dropdown button to view templates 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.. (26132)
Gallery block: Use image caption as fallback for alt text. (26082)
Table block: Use 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. + 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. v2. (26065)
Refactor document actions to handle template part titles. (26043)
Remove non-coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks from default editor content. (25844)
Add very basic template information dropdown. (25757)
Add option to make 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. a link. (25714)
Widgets Screen:
Add legacy 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. inspector card component. (26142)
Test for storing raw htmlHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. in widgets. (24886)
Fix: Keep the ‘Insert from URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org’ entered value on ImagePlaceholder. (26262)
Widgets screen: Add a 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. function to registerCoreBlock. (26259)
Use ToolbarButtons instead of Buttons in the Legacy Widget block’s toolbar. (26258)
Widgets screen: Add "Browse all" option to the inserter. (26256)
Fix: Post schedule label showing wrong time if site and user timezones did not match. (26212)
Fix Site Title block’s heading levels appearance. (26202)
Writing flow: Fix in-between inserter for aligned blocks. (26197)
Fix Cover width 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.. (26143)
Fix tabbing in widgets not triggering auto-scrolling. (26139)
Cover block: Improve overlay opacity handling. (26133)
Fix PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher warning in widget utils REST controller. (25797)
Docs: Fix typo in 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/. Workflow. (25779)
Widgets screen: Fix widget-area 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). (25732)
Widgets screen: Fix insertion point in widget areas. (25727)
Document Settings: Fix document title hover and select animations. (25719)
Define text color for warning message component. (25713)
Navigation block: Use unbounded query when requesting top level pages. (25689)
Document Actions: Fix document title misalignment with an open nav sidebar. (25630)
Fix ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. error in wordpress/block-editor documentation usage example caused by applying args to setState call. (25492)
Cover Block: Show spinner while uploading. (25401)
Button block: Reduce chance of style conflicts. (24919)
Fix skipped 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. transforms in raw handling. (22840)
Media links: Fix linking for images inserted from URL. (22195)
Refactor reusable block edit component using hooks (and fix interactions with multiple instances of the same reusable block). (21427)
Performance
Paragraph: Avoid selector to improve performance. (26150)
Remove transition on block selection indicator. (25974)
Widgets screen: Preload request to /sidebars. (25726)
Documentation
Bring the block-based theme tutorial up to date. (25830)
Getting started: MAMP: Add tip to fix WP-CLIWP-CLIWP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/https://make.wordpress.org/cli/. (26057)
Update colors readme with additional definitions. (25954)
Document isMultiBlock param for block transforms. (25952)
Minor iterations to grouping for preferences panel. (26198)
Allow transform to Columns from a single block. (26185)
Use batch processing in edit-widgets package. (26164)
Minor updates to wordpress/edit-widgets for easier Core integration. (26136)
TextareaControl: Use CSS-in-JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.. (26131)
Add template lock attribute to column and group. (26128)
Reusable blocks support for widgets editor. (26097)
Skip broken template-part end-to-end test until it can be fixed. (25918)
Heading block: Add wide and full width options. (25917)
Social Links: Avoid 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 themes ul text-indent. (25916)
Site editor: Store navigation panel’s active menu state in the store. (25906)
Remove duplicate key from tsconfig.base.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.. (25664)
Try adding a ‘spotlight mode’ type effect when template part or child is selected. (25656)
Gallery: Add labels to img, figure and figcaption elements for accessibility. (25560)
Navigation component: Add back button click handler. (25556)
Hide the quick side inserter when the user is typing. (25548)
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/.: Introduce batch controller. (25096)
Add a description to the Site Title block. (23462)
Add storybook story for the FocusableIframe component. (22324)
Performance benchmark
Version
Loading Time
KeyPress Event (typing)
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.2
5.1s
31.29ms
Gutenberg 9.1
5.3s
31.03ms
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.1 is out with almost 200 commits and 77 contributors! The main focuses for this release are iterations on the main projects for WordPress 5.6: the Widgets Screen and 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.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..
Important progress has been made on the Global styles project with the possibility to use the 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. config file to control the block editor features and presets (color palette, font sizes, enabling/disabling features).
Also, the release includes some nice little improvements to the UIUIUser interface and several blocks. Among these changes, the block patterns are now organized per categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. in the block inserter to help navigate the list of available patterns.
9.1 🇲🇹
Features
Add “open in new tab” feature to Social Links Block. (25468)
Add Image Size control to the Media & Text block. (24795)
Improve the Audio block 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. transform to account for all sources. (25114)
Code block: Allow HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. editing & rich text content. (24689)
Remove appender from unselected Buttons and Social Icons block. (25518)
Register legacy widgets as block variations. (24905)
Use the default block list appender for the 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. areas. (25635)
Copy: Reword block settings menu item labels. (22955)
Add a tooltip to the Drag & Drop handle. (25606) (25614)
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):
Add aria-haspopup property to the BlockNavigation component. (25605)
Add aria-haspopup property to the TableOfContents component. (25603)
Fix RangeControl direct entry in input field. (25609)
A11y:
Fix the color contrast in the code editor. (25593)
Fix Publish 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. Cancel button not usable through screen readers. (25441)
Fix keyboard navigation on the Image block toolbar. (25127)
More block: Use an actual placeholder for input text. (23836)
Fix Block Directory author average rating formating. (24732)
wordpress/api-fetch:
Fix preloading middleware referencing stale data. (25550)
Check nonce 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. value before skipping adding it. (25458)
Use esc_html instead of esc_attr in the Archives block. (25476)
Fix Canceling Drag and Drop using ESC key. (25317)
Move custom-fields note to the ‘Register 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. Field’ documentation. (25584)
Update JavaScriptJavaScriptJavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. troubleshooting guide. (24105)
Use controls from the Data Controls package instead of local ones. (25235)
RichText: Simplify withFormatTypes as hook. (23145)
Video block: Use 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.. (25513)
Remove wp_area 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.. (25497)
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.: Remove redundant condition. (25490)
Move legacy-widget block over to edit-widgets package. (25371) (25404)
Change wording and names to not include “whitelist”. (25396)
Don’t discard all promises results when one of them rejects. (25302)
Block Directory: Switch to blocks.registerBlockTypefilterFilterFilters 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.. (25264)
Remove the Block-based widgets editor from 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.. (25626)
Cover block: Remove default position (center/center) className from rendering. (25346)
Fix the default label position in SelectControl. (25427)
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.1
6.9s
29.04ms
Gutenberg 9.0
6.5s
29.19ms
WordPress 5.5
6.5s
28.01ms
Kudos for 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.0 is out! The main focuses for this release are improvements to the Navigation Screen and to the Query 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 Navigation screen has a new and improved look, and now supports drag and drop inside the list view:
Lots of cool features have been added to the Query block, including search, filtering by author and support for tags. Here are some pics of the updated interface:
Let ID-less gallery shortcodes fall to 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. block. (25144)
Mirror WordPress 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 install text for blocks. (25084)
Add a "reinstall" button when a block type is not found. (22631)
Bug Fixes
Template part: fix rename before customize 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.. (25206)
Template part: fix auto-drafting to support sub-directories. (25063)
Embed Block: Fix crash in isFromWordPress helper if preview.htmlHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. is false. (25140)
Cover block: fix width 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.. (25103)
Widgets screen: convert the toolbar to ARIA toolbar. (25111)
Widgets screen: add labels for settings and close button. (25101)
Navigation screen: fix creating Navigation from pages or menu with HTML in title. (24673)
Element: add and upgrade @types/{reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.,react-dom} dependencies. (25086)
Add safeguard to AuthorSelect component until authors are fetched. (25214)
Fix PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher error when users don’t have access to the Appearance menu. (25073)
Fix PHP Notice: Check that the query arg exists before using it. (25006)
Fix gradient swatches stacking badly with scrollbar. (25002)
Fix unlinked padding controls JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error. (25000)
Check if block attributes exist before splitting. (25229)
Revert "InnerBlocks: Introduce prop to specify render callback for each block.". (25196)
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Bring back support for nested _fields values. (25083)
Prevent TypeError for projects without a local Prettier configuration. (25068)
Image Block: Properly show errors on drag n drop. (25004)
Control the block editor via 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.:
Replace accessibilityLabel by label on RadioGroup. (25128)
Global styles:
add 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. at edit site screen. (24250)
Fix typo in block base themes tutorial URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org (25024)
Update Storybook URL from text to a real link. (24974)
Update triagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. doc to include pull request mentions. (23105)
Code Quality
Repo: Add .gitattributes to specify text=auto. (25224)
Block Directory: Use Array.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. to implement new/unused block selectors. (25211)
Data: Remove flowRight call from metadata reducer. (25180)
Data: Add a comment about why we normalize resolvers to objects with fulfill method. (25102)
Api-fetch: Remove redundant next parameter from middleware calls. (25001)
Api-fetch: Simplify the code that executes the handlers. (24999)
Block Supports: Ensure consistent output in different PHP versions. (25240)
Add regression end-to-end test for the classic block initialization issue. (25169)
Use WordPress Menu 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.. (25132)
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.0
6.96 s
28.99 ms
Gutenberg 8.9
6.97 s
28.98 ms
WordPress 5.5
6.97 s
27.54 ms
Kudos for all the contributors that helped with the release. 👏
The big focuses throughout this release cycle were full site editing (FSE) and the widgets screen. On the FSE front, multiple FSE blocks were implemented and are now available for testing in the FSE experience (“Site Editor”). With regards to the widgets screen, more details are shared below. Aside from these two focuses, 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/ 8.9 contains some small new features, multiple 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 some performance improvements.
Widgets moved out of experiments
One of the objectives of WordPress 5.6 is to allow using blocks in 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. areas. This is a complex task, and for now there is no decision on whether the new screen should be available for all users or a subset of users. Your feedback may help weigh the options.
In Gutenberg 8.9, 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.-based widgets screen is enabled by default and replaces the default WordPress widgets screen. Themes and plugins are able to opt out of this screen by calling remove_theme_support( 'widgets-block-editor' ) or by using the gutenberg_use_widgets_block_editorfilter respectively.
Your testing, feedback, and insights are very useful to inform the direction of the next iterations. If you come across any bugs, please submit a new issue in the Github repository.
8.9.0 🇧🇯
Features
Enable the block-based widgets screen. (24843), (24087)
Convert all px values in front-facing styles to relative (em) units. (24523)
Bug Fixes
Fix infinite 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. in the Disabled component. (24935)
Fix wp-env start for non-english WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. sources. (24884)
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.HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. structure on the widgets screen. (24866)
Fix 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. flickering caused by the block preview border. (24739)
Don’t use an offset when dragging using a draggable chip. (24707)
Fix Image alignment controls styles in the Latest posts block. (24655)
Improve the focus state of the tags control remove button. (24632)
Fix Crash after undoing with the top toolbar on. (24629)
Avoid double borders on 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. boxes panels. (24627)
Missing selected block highlighting in the list view. (24609)
Fix the Pullquote block text color after unsetting the main color. (24600)
Fix style specificity for Button blocks with outline style and background colors. (24599)
Remove references to $default-font from front-facing styles. (24567)
Center-align the block variations buttons. (24547)
Fix categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. select in QueryControls component. (24516)
Image Block: Prevent Alt and caption written during image upload from being discarded. (24471)
Correct the Unicode character used to represent the macOS Control key. (24452)
Fix undefined $block_type->supports PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher error. (24411)
Fix adminadmin(and super admin)-theme colors in the editor canvas. (24408)
Limit the number of fetched tags to avoid infinite queries. (23841)
Fix error when inserting a 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.) with an apostrophe. (21693)
Fix the alignment of the trashTrashTrash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. post button. (24889)
Make legacy widgets support for non-class-based widgets. (24861) (24792)
Remove WP_Widget_Block from the legacy dropdown list. (24787)
Add heading level toolbar to the Site title block. (24758)
Site Editing: UI
Alert when trying to leave the Site Editor with unsaved changes. (24659) (24719)
Update Template Part Block Placeholder Button Styles. (24633)
Template Part block – add border states in the editor. (24498)
Global Styles and 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. APIs:
Allow enabling/disabling custom colors from theme.json config. (24761) (24932)
Simplify gutenberg_widgets_init when $hook === ‘widgets.php’. (24793)
Refactor block drop event handlers into a single hook to support drag and drop in List View. (24649)
Move DOM utility functions from wordpress/blocks to wordpress/dom. (24618)
Fix ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. warning on text color formatter. (24686)
Update the minimum version and the tested up to flag 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. (24693)
Build: Make the watch rate slower to avoid using a lot of CPU while developing. (23998)
Allow local Prettier configuration to take precedence in the recommended ESLint configuration. (24590)
Performance Benchmark
Gradual changes in the editor have made its rendering pipeline more asynchronous. As a result, the usual metrics (loading time, typing time) that we collect in the performance benchmarks may have not always represented the performance gains and losses experienced by some users.
We are improving the way times are measured to account for the more async nature of the editor rendering. We will update this post with performance results once we are confident that they accurately measure the performance of the editor.
The synchronicity changes in question only affect Gutenberg 8.8 and 8.9. The numbers shared for previous releases are still an accurate way of measuring the editor’s performance.