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.
“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.
Blocks 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. themes continue to get more and more flexible and easy to work with. The Gutenberg 12.9 release brings over many features that enable both theme developers and website administrators more control over what is editable and presented to users.
With the introduction of Full Site Editing, more control is needed over how certain blocks can be edited. The new block locking UI lets you disable some actions for locked blocks. When a block is locked, users are either unable to move it, remove it, or both. This is particularly useful with site level blocks like Post Content which many themes will want to lock down.
It’s now easier to make beautiful galleries
Space around your content is just as important as the content itself. Now you can control the space around images in a gallery block, from zero whitespace to large “art gallery” style gaps. You can now build even more beautiful and unique layouts using blocks.
Manage new template types in block themes
Previously, when creating new templates in the Site Editor we were limited to a small set of template types. Now you are able to create a template for many different types of pages on your site including CategoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging., Author, 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. Date, Tag and Attachment pages
Additions for easier building of block themes
We want to make it easier for anyone to create their own theme. Now, when you export your theme from the Site Editor, all theme files are included. This makes it easy to export themes from one site to another, including all your edits. It’s also a big step towards creating new themes from the Site Editor, as the export now uses the theme’s name for the theme bundle file.
In addition, it is now very easy to include patterns with your theme, without needing any PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher – simply include the patterns in a patterns folder just like we already do with templates and parts. One way to take advantage of this feature would be to build patterns in the block editor, and copy the HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. to a new file inside patterns.
But wait, there is more.
Easier management of deeply nested block structures
Things are rarely simple. These updates learn from that and make managing complex content easier and more accessible.
In List View, use shift + Home and End keys for multi block selection
The List view is now collapsed by default in all editors. (39611)
Given that block based content is likely to have heavily nested block structures in it, it makes sense to have all nodes collapsed by default in the list view. Hence, Gutenberg 12.9 makes the initial list view experience a lot less overwhelming by defaulting to all nodes collapsed, reducing the initial impact of heavily nested page or post structures.
Better defaults and more intuitive controls
Using the block editor is about creating content in a cursive and engaging manner. Each release makes this a better experience.
Show the name of the custom color in the color palette selection (39386)
Better control your clouds, ahem, your tag clouds, with precise sizes for fonts (37311)
Easily preview a draft right after saving it. (39482)
We now can pick a suggested date format, or a custom date format. (39209)
Props to new contributors
Kudos to the first-time contributors that joined during the last release cycle!
@brookewp: Show ‘View Preview’ link for ‘Draft Saved’ Snackbar notice. (39482)
@HILAYTRIVEDI: Social Icons: Avoid loss of previously selected background color when switching back from “Logos Only” style. (39276)
@ironprogrammer: Update 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-partyreadme.txt content for intended audience. (38724)
@stefanolissa: Dependency “wp-editor” should be “wp-block-editor” in the code example. (39505)
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.
Post Date: Allow user to pick Site Default, a suggested date format, or a custom date format. (39209)
Try: “No results” block container for the query block. (38806)
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 aria label to Nav block on front of site. (39161)
Flag 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. Navigation Link items. (31716)
Blocks: Remember raw source block for invalid blocks. (38923)
Blocks: Add flag in parse to skip logging migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. details from patterns parsing. (39404)
Block Patterns: Automatically load files with headers from a theme’s /patterns directory. (36751)
Gallery block: Disable edit as html support. (39318)
Gallery block: Fix image upload 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.. (39269)
Image: Allow authors to select image sizes from dropdown. (39580)
Image: Restore baseline responsiveness in the block. (39340)
Media & Text: Allow authors to select image sizes from dropdown. (39608)
Pullquote block: Fix citation markup in Editor. (39414)
Env: Fix PHP unit tests for “non-standard” cloned directories. (39362)
Fix useFocusFirstElement in non-contenteditable Blocks. (37934)
Use the post-title as the featured-image’s alt text when linked to the post. (39634)
Fix Border Radius Control showing Mixed when switching between units in an empty control. (39563)
Flex Layout: Fix visibility control of allowOrientation. (39532)
Blocks: Disable Grouping when block removal is locked. (39541)
Add default as prop to PluginMoreMenuItem component. (39517)
[Patterns]: Load theme patterns only in block and site editor. (39493)
Packages: Ensure that @wordpress/preferences gets published to npm. (39390)
Fix display of color palettes for border panel. (38798)
Block editor and site editor
Optimise preload paths for post and site editors. (39256)
Optimise block parser by avoiding repeated HTML parsing and matcher creation. (39424)
New block: list block v2. Add an empty list block v2. (39459), implement the nested block behaviour in list block v2. (39487), add transforms for the list v2 block. (39652), add start, ordered and reversed list block attributes. (39605), add simple list item splitting and merging. (39542).
New block: Generic 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.. Create a Generic Avatar block for Authors. (38591)
Plugin: Document the project structure and conventions used in the lib folder for PHP code. (39603)
Update plugin readme.txt content for intended audience. (38724)
Fix the missing page in the manifest file. (39507)
Divider: Improve default behaviour when in vertical orientation. (39316)
UnitControl: Convert Storybook example to TypeScript and Controls. (39320)
UnitControl: Mark unit prop as deprecated. (39503)
Add missing } to LinkControl code example. (39469)
Use consistent terminology across wordpress/core-data. (39349) without renaming useEntityId hook. (39683)
Add an “enabled” option to useEntityRecord and useEntityRecords. (39288)
Add 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. to known entities. (39498)
Use the word record for the entity record TypeScript types. (39251)
throwOnError option for saveEntityRecord and deleteEntityRecord actions. (39258)
Do not suppress errors in the getEntityRecord and getEntityRecords resolvers. (39317)
Cover block: Stop using UnitControl‘s deprecated unit prop. (39522)
Search block: Stop using UnitControl‘s deprecated unit prop. (39514)
Spacer block: Stop using UnitControl‘s deprecated unit prop. (39513)
[Blocks]: Add flag in parse to skip logging migration details from patterns parsing. (39404)
Use block specific filters for the backward compatibility markup 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.. (39321)
Fix Nav block flaky end-to-end test by correctly waiting on menu creation resolution. (39637)
Fix PHP notice in gutenberg_get_block_editor_settings. (39543)
ESlint: Exempt TS files from jsdoc/require-param. (39458)
Packages: Finalise the revised strategy for NPM publishing. (39389)
The following benchmark compares performance for a particularly sizeable 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.
Time to first block
Time to first block
Gutenberg 12.9 includes many performance improvements, among which we can highlight:
Optimise preload paths for post and site editors. (39256)
Optimise block parser by avoiding repeated HTML parsing and matcher creation (39424)
Kudos to all 56 contributors that participated in the release! 👏