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 the bug tracker.
“What’s new in 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/…” posts (labeled with the #gutenberg-newtagtagA 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.)) are posted following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project.
Gutenberg 13.0 is the release containing all the updates that will be part of WordPress 6.0. This version also brings an improved editor experience, better responsive blocks, granular control over new design details, and prominently exposed 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. patterns.
You can now select and copy text fragments that span multiple blocks.
This is a step towards bridging the gap between Gutenberg as a block editor and Gutenberg as a text editor. While blocks enable powerful page-shaping capabilities, they also compete with text for selection and clipboard space. Gutenberg 13.0 is a step towards an editor where blocks and text coexist frictionlessly.
Show the 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. in the Cover block
With the updated Cover block, the post’s featured image is no longer an afterthought – it is an integral part of the post. Just click the “Use Featured Image” button, and that’s it!
Build responsive Groups, Rows, and Stacks
Blocks are now easily grouped into either a Stack layout or a Row layout with a single click.
In Gutenberg 13.0, selecting many blocks at once exposes the Stack and Row variations of the Group block right in the toolbar.
One advantage is convenience, but an even more important one is responsiveness. The Stack block automatically adjusts to the smaller screen sizes, making it easier to build truly responsive layouts.
Make your blocks stand out with customizable borders
You can now fine-tune the borders of your blocks thanks to the new `BorderControl` component. Whether it’s border color, style, or width – it got you covered!
Build beautiful pages in no time using Patterns
Building a website starting from a blank page can be overwhelming – where do you even begin?
Fortunately, there is a way of kickstarting the creative process with a buffet of patterns!
As a developer, you can register post-content block patterns to will be then proposed both in the new page editor and in the 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.
Enjoy the improved Navigation Block
Adding a new Navigation Block in the editor now defaults to the first available menu when only one exists – no manual selection required.
Text decorations such as underline and line-through are supported in the block. You can also add link descriptions to the Navigation Link blocks.
The Navigation block also received additional 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 improvements that can be reviewed in the detailed changelog below.
Blocks can now use multiple view scripts. This enables splitting one large script into many smaller ones to minimize the amount of loaded 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/..
Kudos to the first-time contributors that joined during the last release cycle!
@arcangelini: 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.: update post editor help links to use newer documentation (#39688)
@AlanSyue: Document: add the default database password to the getting started document (#39780)
@chintu51: Documentation: Import the Notice package in the example (#40022)
@dali-rajab: Documentation: Fix linguistic error in theme-json.md (#39995)
@JustinyAhin: Fix collapsing issue with the URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org input suggestion container #40147
@roseg43: Media & Text: Remove font size declaration from template (#40329)
@zutigrm: Update 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. docs for theme authors (#40005)
If you are interested in contributing but do not know where to start, join the CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor weekly meetings on Wednesdays at 14:00 UTC in #core-editor focused on all things Gutenberg.
Changelog
Enhancements
Block Library
Archives: Add yearly, weekly and daily archive settings to the archives block. (38440)
AvatarAvatarAn avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name.: Increase the size of the Avatar image to be 2x of the width chosen. (39728)
Code: Preserves source of unrecognized blocks inside of Code Editor. (39523)
Turn the wrap to multiple lines option off by default on the row block. (40171)
List: Add a box-sizing border-box to lists. (39895)
Navigation:
Avoid automatic saving of uncontrolled Nav blocks. (39883)
Auto set first 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. as current if only 1 exists. (39880)
Enable navigation nesting to be filtered and manually set. (38621)
Try prepending HTTPHTTPHTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. to a URL. (39758)
Order ids in getClientIdsOfDescendants and getClientIdsWithDescendants selectors. (39985)
Revert Try: Summary panel 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. max-height.. (40127)
Link directly to files stored in the Media Library using the Link UI. (39701)
Partial multi-select: Fix error with dead key. (39850)
Migrate editor package isPublishSidebarEnabled to preferences store. (39707)
Migrate post editor panels state to preferences store. (39604)
Migrate interface enableItems data to preferences package. (39449)
Try: Remove 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. 100% width rule. (38614)
Site Editor
Add a dedicated sidebar for managing layout of navigation menus. (39290, 40083)
Add vertical alignment to blocks using flex control. (40013)
Block Supports: Allow skipping serialization of individual features. (36293)
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.
BackportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. changes for Theme Export from 6.0. (40215)
Webfonts
Do not trigger warning on already enqueued font families. (40060)
Register webfonts defined in styles variations. (39886)
Register and enqueue fonts by font-family. (39559)
Return font family slug when registering a webfont. (40120)
Bug Fixes
Block Library
Avatar:
Do not show User Selection inside Comments Loop, on the Site Editor. (40100)
MultiSelectSidebar: Fix spacing of color panel items. (40071)
Fix Block Editor Iframe component to render in standards mode. (38855)
Fix collapsing issue with the URL input suggestion container. (40147)
Try: 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 mover and block control sizes. (40037)
Site Editor
Add block styles slot to the site editor so block style previews can be rendered. (40245)
Block Locking
Reusable Blocks: Hide Convert to Blocks when locked. (39939)
Template Parts: Hide Detach blocks when locked. (40000)
Display block title when no switcher is available. (40207)
Styles Sidebar
Fix global style variations previews not showing correct height. (39737)
Restore defaultPalette/defaultGradients to only hide UI. (39966)
Global Styles: Fix alignment of Global Styles color controls. (40081)
Global Styles: Fix black inconsistencies in sidebar. (40055)
Design Tools
Block gap: Check for splitOnAxis in the onChange callback. (39788)
Duotone: Backport changes made to duotone in core. (40067)
Layout: Only show inherit toggle in default layout (hide on Row block variation). (39665)
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
Fix incorrect meta box position when switching device preview. (38910)
Other packages
Data: Exclude all meta-selectors, handle selectors without resolvers. (39976)
Date: Fix ordinal token (S), RFC2822 token (r), and timezone offset handling. (39670)
RichText: Fix splitValue with undefined selection. (39822)
Scripts: Add vendor/ to .markdownlintignore. (39724)
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
Fix 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/. class redeclaration. (40265)
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)
Add select-parent button to block toolbar More options menu. (40105)
Hide block movers in new navigation sidebar. (40039)
Accessibility improvements to the query pagination block. (39536)
Performance
Optimize getClientIdsOfDescendants and getClientIdsWithDescendants selectors. (40054)
Try to optimize getClientIdsOfDescendants using createSelector memoization. (40112)
Developer Experience
create-block: Add npmDevDependencies as a template variable. (39723)
Add title key to 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. schema. (39936)
Scripts: Add new flag to allow customization of the src directory. (39618)
Experiments
List v2:
Add migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. from v1 to v2. (39799, 39892)
HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.: Use Disabled.Context. (39669)
Gallery: Use wp_unique_id() instead of uniqid() in block_core_gallery_render(). (39983)
List View: Remove unwanted default false in ListView 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". component. (39719)
Plugin: Ensure that PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher code for blocks is correctly assigned to WP releases. (40179)
Remove the experimental Progressive Web Apps (PWA) integration. (38810)
Revert Plugin: Remove the experimental Progressive Web Apps (PWA) integration. (39930)
Theme JSON compat: Refer to static instead of self for ROOT_BLOCK_SELECTOR const. (39921)
ActivateTheme wait for the user to switch. (39873)
Add a 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 wp_recursive_ksort. (40149)
Check for missing figcaption before clicking gallery image again from list view. (39666)
Comments Query Loop: Add end-to-end tests for the block. (39502)
waitForNavigation in Comments Query Loop test. (39818)
Fix flaky issue reporter not splitting … separator. (40129)
Fix flaky test results overflowing the character limits of GitHubGitHubGitHub is a website that offers online implementation of git repositories that 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/’s issue. (39928)
Template parts: Try fixing template part tests again. (40007)
Use a description that matches the filename for the annotations end-to-end tests. (40011)
Use templates endpoint to delete templates. (39965)
Build Tooling
Add peer deps for postcss and end-to-end tests. (39080)
Plugin: Pin dependencies that slipped into 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.. (39865)
Mark new blocks to be included in WordPress core. (40186)
Style engine: Move backend scripts to package. (39736)
Scripts: Add .jsx file extension to Webpack. (39613)
The following benchmark compares performance for a particularly sizable post over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Post Editor
Version
Time to first block
KeyPress Event
Gutenberg 13.0
5.00s
45.08ms
Gutenberg 12.9
5.03s
44.21ms
WordPress 5.9
5.32s
41.91ms
Site Editor
Version
Time to first block
KeyPress Event
Gutenberg 13.0
5.65s
50.04ms
Gutenberg 12.9
5.06s
42.07ms
WordPress 5.9
5.42s
37.19ms
Kudos to all 70 contributors that participated in the release! 👏
Thanks to @joen for the release post assets, and to @priethor for all the contributions and improvements to this draft.