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! 🙏
Thank you to all of the contributors who tested the BetaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. releases and gave feedback. Testing for bugs is a critical part of polishing every release and a great way to contribute to WordPress.
WordPress 5.7
WordPress 5.7 is now underway with Beta 1 due on 2 February 2021. Now’s the time to be thinking about what GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ features and bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes we want to ensure are in the release. Project board to track WordPress 5.7 “must-haves” is available. Please add issues to this board and/or reach out to (@noisysocks) if there is something you think needs to be included.
Gutenberg 9.6
Gutenberg 9.6 was released on 23rd december. The big focuses throughout this release cycle were Full Site Editing and Global styles. This release also includes many fixes and some nice new features and enhancements.
Gutenberg 9.7
Gutenberg 9.7 was released on 6th january. First release of 2021 🎉. A number of contributors enjoyed some well earned time off but it didn’t stop them from shipping exciting features for the blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor.
Monthly Plan
The monthly update containing the high-level items that Gutenberg contributors are focusing on for January are:
Global Styles
Block-based WidgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Editor
On the Global Styles side, the work to include the new version of the components is ongoing. Starting with the font size picker. Our end to end tests was improved To not be as markup dependent And work with both versions of the components. There were some end-to-end tests that were legitimately failing And fixes were submitted. Besides that, the discussions on theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. continued to happen. But all the feedback was applied and I think is ready to merge.
Another big chunk of the work saves time escaping the theme.json structure to align with what happens with other WordPress data saved in custom post types. This work is proving a little bit more complex than I anticipated. But a part should be ready very soon
Currently, we are blocked on an issue regarding transpiling. zustand is not being transpiled and the build is not ECMA compliment. I am not really sure how to force the transpiling of that specific lib. All the solutions I tried failed. But I have a considerable lack of babel knowledge So any help here is appreciated
The Full Site Editing Outreach program is underway with the very first call for testing
While you can leave feedback anytime in GitHubGitHubGitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/, this call for testing will be open until January 13th.
If you don’t have time to test right now, no worries—another way to help would be to share the call for testing with others.
If interested in joining the fun in general, please your way over to #fse-outreach-experiment
Going through various customizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. issues. A new technical method is on its way check the main issue
Task Coordination
Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.
Received some feedback from Core REST API team which I’m not familiar with. If anyone has experience in this area I’d be most grateful for input/guidance in order to get this over the line.
Display Block Information by matching block variations is merged. This includes the addition of a property (isActive) in Block Variation’s settings. This optional property is a function to match block variations after their creation.
I had a break in December, so I’m catching up on all the things.
My primary focus is to continue work on the new Component System (aka. “G2 Components”).
As @jorgefilipecosta had mentioned earlier, we’re working on integrating things with the ‘FontSizePicker’ component. I’ll be helping with all integration efforts on that front. We’ll then have the UIUIUser interface set up to start improving the UI for Global Styles.
I’ve been working on improving the Combobox controls we added for the post author and page parent selector and could use some help/review on when someone has a chance.
First release of 2021 🎉. A number of contributors enjoyed some well earned time off but it didn’t stop them from shipping exciting features for the blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor.
Block Patterns Drag and Drop
Similar to blocks drag and drop that shipped in the previous release, GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 9.7 allows user to drag block patterns from the inserter right into the desired position in the canvas.
Reusable blocks
The release also so an important change to how reusable blocks are shown and edited in the editor solving some of the old issues around block inspector, and block toolbars for the reusable blocks. Based on these changes, the UIUIUser interface for reusable blocks is most likely going to see some iterations on the upcoming weeks.
Matching block variations
Block variations are a great APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. that can be used to build a generic block and ship several variations on top of it. That’s how the embed blocks or social link blocks are built. In Gutenberg 9.7, if you insert a block variation, the editor is going to match the block being used and show the “icon” and “description” of the said block variation in the different elements of the interface. (Block navigation, block inspector…)
9.7 😅
Features
Support drag and dropping block patterns from the inserter. (27927)
Enhancements
Improve the Reusable Blocks UI by relying on multi entity save flow. (27887) (27885)
Show the insertion point indicator bellow the inbetween inserter. (27842)
URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org: RemoveQueryArgs should remove the ? char after removing all args. (27812)
Deburr the input of the Post Author and Parent Page controls when filitering results. (26611)
Display block icon, description and name by matching block variations. (27469)
HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Block: Fix editor styles. (27627)
Don’t ignore extra edits made in the server when saving posts. (27929)
Remove the animation of post publish button during autosaving. (27874)
Prevent the inserter from closing when switching the pattern categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.. (27792)
LinkControl: Fix horizontal scrollbar within block toolbar. (27777)
Create Block: Fix support for external templates. (27776) (27784)
Post excerptExcerptAn excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox. block: Fix incorrect quotes for the class attribute in the wrapper. (27895)
Global Styles: Add padding control to the Global Styles sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (27154)
Navigation block: Fix the text color for links in the navigation block. (26698)
Documentation
Improve documentation for withNotices HOC in components package. (27863)
Refactor BlockSwitcher as a functional component. (27674)
Rich Text: Replace store name string with exposed store definition. (27820)
Tools
Remove overrides for JSDoc rules downgraded to warnings. (27912) (27879)
PluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party release tool: Fix svn add/rm commands for release tool. (27886)
Add types to the wordpress/keycodes package. (19520)
end to end tests:
Make end to end tests do not rely on font size picker classes. (27825)
Remove expect.assertions count from multi-entity-saving tests. (27802) (27818)
Testing: Remove axe verification executed after every test case. (26626)
Improve font size end to end tests to work with input changes on blur. (27871)
Performance Benchmark
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Version
Loading Time
KeyPress Event (typing)
Gutenberg 9.7
5.41s
31.1ms
Gutenberg 9.6
5.45s
28.8ms
WordPress 5.6
5.45s
30ms
Kudos for all the contributors that helped with the release. 👏
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.0 RC release
Gutenberg 9.6.0 RC was released 16th December. It will have one week of testing before general release.
WordPress 5.6 release
WordPress 5.6 was released on 8th December. Be sure to check the forums as well as the Gutenberg repository for user feedback.
@aristath Working on blocks assets loading for FSE themes. Finding ways to address styles for blocks that will be loaded asynchronously via infinite-scoll or other mechanisms. Experimenting with inlining & minifying assets on the fly when 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. gets loaded.
Widgets Screen and 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.
@andraganescu Widgets screen: Nothing notable on the widgets screen or on adding blocks in customizer. TriagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. sessions for both Widgets and Navigation will restart in 2021.
Some refactorings around Popover/Dialogs (reusable 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.).
Prep work for the launch of the #fse-outreach-experiment, 5.6 Q&A follow up, triage of the 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/ repo, launched the overhaul of the new https://make.wordpress.org/core/features/ page (now with coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. editor items!) with the teamwork of @noisysocks, and doing various FSE testing with different block themes.
Adding an experimental Gutenberg 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/. endpoint to allow us to get data about a remote URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for use in the editor (eg: contents of <title>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.) or favion…etc). Potential use cases:
1. Showing an embed preview for generic links when pasted into editor (a la Slack).
2. Showing details about a link being added using LinkControl.
Proposed a ServerSideRenderedDataDrivenBlock, to enable developers who don’t know js to write blocks. A toggle to enable a preview. @joyously 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. block could be extended to use the expected attributes as inputs 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.. (like ShortCake 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 was trying to do) Link to additional discussion on Slack.
Starting the “What’s Next” post for January. If you have specific focus areas (issues, PRs, etc) planned for the month please feel free to share them with me. Hearing from you all helps to make this post really useful for those outside of the core editor contributor team.
The 16th December Core Editor chat was the last before the holidays. 23rd and 30th December there will be no official chats. The next chat in the new year will be 6th January.
Merry Christmas and a Happy New Year! Have a beautiful and relaxing holiday! See you in the new year!
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.1
We had a minor releaseMinor ReleaseA set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. to fix three bugs. The details of the fixes can be checked in the release page.
WordPress 5.6
WordPress 5.6 was recently released, more details can be found here.
Besides the editor enhancements, the 2021 theme is also a big step. It will have an equivalent 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. version that will test how robust is FSE and Global Styles to allow third-party themes.
@youknowriad said: Nice work @isabel_brison and others leading the editor side of the release. And the message was well supported on the chat using slackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. reactions. Thank you for all the work made leading the editor side of this release @isabel_brison!!
Monthly Plan and key project updates.
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. and CustomizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. screen
Widgets and customizer screen are still continuing with explorations going on to find the best way to add blocks support in customizer.
Global Styles
We merged an update that makes client preset metadata match the server. ” – https://github.com/WordPress/gutenberg/pull/27453. And now we are also not passing some metadata to the client like selectors https://github.com/WordPress/gutenberg/pull/27449. The work to make 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. translatable continues. We are making some changes, namely removing some presets we are not totally convinced yet they should exist. We already have some traction on the work to enhance our components to allow a better UXUXUser experience on Global Styles; @q proposed the addition of some utils. We also have some progress on the Global Styles extensibility with some filters being proposed https://github.com/WordPress/gutenberg/pull/27509.
Full site editing
The Query block now inherits the global query so FSE themes can add a query block in the index or archive templates and it will work for all archives, properly getting the query context from the visitor’s URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org: https://github.com/WordPress/gutenberg/pull/27128.
Template-parts now have a UIUIUser interface to select the HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. element that will be used for their wrapper: https://github.com/WordPress/gutenberg/pull/27101 so they can define easier if it’s, etc.
The inserter was also improved and behaves as popover. The editor now has an outline mode used in both Site Editor and Template mode.
Native Mobile APP Updates
File block merged and usable.
Post’s Save dialog fixes.
Background and text color support in Group, Paragraph and Quote blocks
Use new link picker in various blocks: Button, Image, Gallery
Improvements on Separator block style
E2E tests execution improvement.
Release process documentation improvements.
An app release is going to be skipped because of New Year’s and people taking holidays on these days.
Helped a bit with 5.6 Q&A docs, light GH triagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors., continued working with @noisysocks on updating the features page and updating the issue templates, worked on FSE program preparation (including adding a welcome bot there and digging into current/recently merged PRs!), and dug in a bit to block directory adoption. Plans to do much of the same in the week ahead!.
Continued the efforts of improving the Component System for Gutenberg. The latest update is a (draft) pull-request to bring in the UI libraries/systems Has been working on (aka. “G2 Components”) https://github.com/WordPress/gutenberg/pull/27594. @itsjonq gave a thank you to @youknowriad and @gziolo for thoughts/guidance on integration. @itsjonq said that t’s just the beginning, but it’s looking very promising. As always, @itsjonq tries Livestream design/dev updates on Twitch several times a week. @itsjonq is also posting weekly updates on the project blogblog(versus network, site): https://g2components.wordpress.com/.
Has been on working on some follow-ups to the addition of the “template mode” in the post editor. The idea is that as we add features and enhancements, the code base becomes more complex as we take shortcuts so it’s important to circle back and “clean” the code a bit. Has been doing that with some 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)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., extracting common components and removing unnecessary complexity. Still has a few follow-ups planned. Some refactorings and some more features.
Worked on an update that makes client preset metadata match the server. And another one that makes sure we are not passing some metadata to the client like selectors. Did multiple reviews on Global Styles related work. Proposed a solution to remove some of the presets we have being back-compatible with markup that uses them. For the next week, plans on helping the effort to improve our WordPress components with PR reviews comments, feedback, etc. Wants to merge the Gutenberg side of 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. and iterate and merge the typography presets removal. Also plans on making some progress on the design tooling visibility issue.
Skipping coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. editor chats of 23rd and 30th December
I suggest that we skip having a Core Editor meeting the 23rd and 30th December as many will be having their Christmas holiday
People discussed this suggestion, there was no opposition to this suggestion so participants of the chat decided to skip the chats of 23rd and 30th December.
After digging into some recent FSE related PRs and talking with a few people, I wanted to raise the idea of starting the #fse-outreach-experiment after the next Gutenberg release. I think this PR from @youknowriad on a template editing mode is a great place to start but wanted to hear thoughts. Right now though, there aren’t a ton of things lined up to do next. I think this will be okay though as it’ll give an extended period of time for people to test (might be good with this time of year) and it’ll make it easier to tweak what we’re doing after this first round. How does that sound to you all? P.S. I welcome people flagging possible additional things to run through for the group. I try my best to stay on top of things but definitely miss stuff.
@youknowriad shared he agrees that the template editing mode is a good flow to test. He believe the feature in itself is still a little bit rough around the edges but testable.
@annezazusupported riad’s thoughts and concluded that she will get to work fleshing out the details to kick off the program. She welcomes any collaborators who might be interested!
For anyone reading this summary, you can be a part of the program by joining #fse-outreach-experiment channel.
The last releases saw a couple bugs being introduced and to address that I’d like us to discuss the possibility to try a one week RC in Gutenberg 9.6.
The participants of the chat showed support for this idea. The plan is to start having a one week RC period. The next release will still follow the normal schedule, so we give more time of notice to allow publishing the notes of the meeting (this post), and we have a fuller release otherwise it would be just a one-week release which would be very small.
In May 2020, @chanthaboune announced a new experimental outreach project dedicated to Full Site Editing. Most recently, @matvebshared a wonderful post summarizing where Site Editing is today. Building on both, I’m excited to announce that, despite 2020’s best attempts to derail efforts, the program will officially launch with the release of GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 9.6! Right now, it’s likely that this release will be done 1 week later than usual to give a longer RC period so expect the program to begin around December 23rd. This cycle will focus on testing this PR that introduces a template editing mode. For additional context, you can see the discussion around picking this PR here. Hopefully, aligning the call for testing with the current Gutenberg version will make it easier for more people to participate in testing.
Please keep in mind that this is the program’s first iteration. We’re starting with this first item and expecting the outcome to be a comprehensive list of issues that the Gutenberg team can work on as capacity allows. We’ll also allow an extended time to test this first item to accommodate this time of year.
Moving forward, this program will eventually offer a few items to test back-to-back, with an easy and quick way to integrate feedback into Gutenberg releases. Remember, feedback outside of this program is always welcome and necessary as well — think of it as doing the work to pave the way for future iterations!
What are the immediate next steps?
I will be posting on Make Test once Gutenberg 9.6 is released around December 23rd with an extended time to give feedback. The post will include a testing script, resources for setting up a testing environment, and where to share feedback. I will also share that post in the #fse-outreach-experiment channel to alert everyone who has opted in.
As we approach the end of 2020, it’s good to do a brief recapitulation of where we are standing with one of the major focus areas for 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/ Phase 2: site editing with blocks. If you are curious about the more detailed tasks ahead of us, the overview issue for full site editing is the best way to follow the updates and progress.
In this post I’ll describe the current state of all the primary projects and comment a bit on how they fit together. Worth noting this doesn’t cover the other projects still under the phase 2 umbrella (like the widgets screen updates).
For all the following items, keep in mind that they tend to illustrate the maximum amount of customization options — the ability to lock down templates, capabilities, design tools, etc, is still a prime focus to account for the different needs of different sites.
Site Editor
The site editor allows editing 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 and all their template files. It allows the user to swiftly navigate between the template hierarchy and make edits across an entire site. To accomplish this, it introduces some new interface elements, areas to manage, and the ability to browse the different templates a theme has to offer. Since the entire template is built with blocks, it leverages all the preview tools that have been built for blocks and patterns so far, allowing users to quickly visualize their contents.
The site editor engine is capable of knowing what elements of a site are being modified — whether a site option, a template part, or some local content, providing a much more powerful and flexible update flow. A site title block accurately saves its data as the site name option, not in the content, for example. While we are not yet focusing on editorial flows (that’s one of the aims of Gutenberg Phase 3) these foundational pieces can allow all sorts of integrations down the road, being very granular around what is being updated in a session.
The site editor opens up the ability to edit and customize parts of the site that used to be only accessible through code editors or ad hoc interfaces. For example, being able to edit the 404 template with the same familiar block tools. For pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and block developers, that means all the blocks being created can now be used in plenty more places of a site without any extra work.
Most of the infrastructure needed to power this editor is already built. What remains to be done is stabilizing loading flows, refining design and interactions, introducing semantic template areas (such as 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 footer), and connecting the creation flows with what block patterns offer.
The site editor depends on the ongoing focus of building themes with blocks to take advantage of the block editor interface. This year has seen a lot of great collaboration between the theme and editor development groups, which is paramount to ensure the WordPress block editing platform is powerful enough to support all the theme building needs and simple enough for users to interact with ease and confidence. This is an exciting area of collaboration, and something that needs the continued help and feedback from the community. If you are interested in helping shape these projects, the theme-experiments repository can be a good start to peek through.
To support this effort, outside of the template and template parts infrastructure, there’s an obvious need for creating many new blocks centered around theme functions. These includes blocks for the site title, navigation block, post title, content, 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., author, date, 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., and plenty more.
In the future, rich layout tools — such as full site grid support — will be able to cascade down through the entire experience of the block editor, allowing interactions like snap-to-grid and overcoming a lot of the hurdles alignments currently impose.
The current focus here is on producing a version of Twenty Twenty One using only blocks to help us identify what blocks or block capabilities are still missing. There are also some options for gradual adoption in themes that continue to be discussed.
Out of all the theme related blocks, the navigation block has stood out as its own fundamental project for some time. The work that went into this block has allowed the various block APIs it depends on to evolve and mature substantially, including new support for horizontal inner blocks, a fully fledged block list view, and many more.
These are wonderful results of this specific project because it lifts up the available block tools for all third-party blocks. We are building the coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks with the same tools that are offered through the standard 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.. As an example, many of these capabilities are employed in the Buttons and Social Icons blocks.
With everything expressed in blocks, the opportunities for extending the navigation are also enormous — imagine adding with ease to your navigation a Search block, Social Icons, or a Cart block from WooCommerce. With the navigation becoming a more flexible container it opens a lot of integration points for already existing blocks. Each child block can be responsible for its own set of tools and capabilities while the user is presented with a unified way of building things.
Ultimately, the power of combining blocks is going to allow all sorts of menus to become possible. Themes will be able to provide more than one header pattern for users to choose or swap between them.
The biggest remaining challenge with the navigation block is also one of flexibility and ease of use. Flexibility needs to be balanced with intuitiveness and there’s more work to be done to get the user experience in a great place to be widely released. There’s also some work in ensuring smooth compatibility with current themes.
This is another major area of the site editing focus which also takes some of the block API infrastructure to the limit. If you are curious about block development tools and their latest capabilities, the Query block is a good one to explore, as it leverages nested blocks, inner blocks templates with live updates, block variations, contexts, etc.
Generally, the query block is responsible for controlling fetching and rendering of post types. It is naturally a core ingredient of block themes. It comes with a 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 that is responsible for iterating on the results and rendering a template. One cool thing is that interacting with the Loop in the editor automatically updates the template used for all posts in that query. You can add a featured image, change the order of title and date, add a block to display the author, and see it all reflected instantly.
The next steps for this block are ensuring it plays well with the template hierarchy (global query), defining more user friendly block variations, and creating patterns that use it to build great layouts.
There are two major areas that fall underneath the global styles umbrella: centralized theme configuration and an interface for manipulating visual aspects of blocks globally.
Theme configuration absorbs things like declaring color palettes, presets, different supports and settings, as well as being able to toggle on or off the several block design tools that are available (typography, colors, dimensions, etc). It will also allow themes to specify how blocks should look by being able to specify all their default attributes. This accomplishes many goals at once, ensuring that the editor is more connected with how themes wants things to render, provides a solid interface for the mobile apps to understand block configuration, and opens the door for further performance optimization on the front-end since WordPress will be able to load the right styles for blocks when they are actually being used in the page instead of needing to load styles for all, all the time (like themes have to do now with widgets even if they might not be used).
The other major part of global styles is the interface for the user to make edits to blocks globally. This ranges from being able to set the color for Links across blocks to modifying how all Headings ought to look. Global styles operates both at the site level as well as allowing changes to each registered block. A lot of the tools that emerge from this work continue to be released in each major WordPress version in the form of block tools.
In terms of timelines, all of these are in advanced stages and can be used in the Gutenberg plugin already. The main hurdle to include the work in major WordPress releases are the various dependencies between each project when it comes to ensuring a great user experience. The immediate focus is then on completing the milestones, stabilizing the work, and doing as much testing with different kinds of users as possible. For that last purpose, there will be some calls for testing announced soon as part of the Site Editing Outreach Program.
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. 👏
Thank you to all of the contributors who tested the BetaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. releases and gave feedback. Testing for bugs is a critical part of polishing every release and a great way to contribute to WordPress.
Project board to track issues for inclusion in WordPress 5.6.
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.3
The pace is increasing on the Full Site Editing related work, now FSE themes don’t need the experimental flag to work properly. A warning message about the experimental state is shown in the adminadmin(and super admin).
I expect some of us to focus more on template parts and templates auto-draft behavior (how to load theme templates and templates parts in the site editor).
I believe other folks are also working on the UIUIUser interface and 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..
Bunch of fixes and tweaks for some minor issues related to the navigation sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. and template parts.
Here is an attempt to create wp_templates entries on theme updates instead of on each 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. request
We started a new and simplified version of framework PR for introducing a custom status for templates provided by themes (or plugins) as HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. files, which haven’t been customized by the user yet
We now support other units and fluid typography on font size presets.
We now use the block settings on each global styles panel.
We now reference the preset variables on global styles so if for example global background color is set set to color X, and later we change color X, the background color also changes.
The UI is improved and we don’t show block panels without content.
We should have font family picker in the next few minutes (just finishing a last round of tests)
For Global Styles the current focus is on tighten up things and fixing the flows, specially by testing what we have with the TwentyTwentyOne blocks theme.
Task Coordination
Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.
I am also playing with taking screenshots of all e2e failures on 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/ CI.
I’m also thinking about dev notesdev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include:
a description of the change;
the decision that led to this change
a description of how developers are supposed to work with that change.
Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. for the APIs introduced on WP 5.6 and hoping to find time to write these next week. I believe we should start publishing some of the block editor dev notes.
I’m trying to do some PR 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. pickups as go and level up my skills there, thank you to everyone that has supported me (special calls to @itsjonq and @joen) Also continuing to work on options and going to post some flow updates to that this week.
Release continues, so I’m also navigation around that.
Quieter week for me, Working with others on communication for 5.6.
some light triagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. for unlabeled items, and some quick FSE focused testing.
Allow editing of extracted 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. in Post Excerpt block
Iterated and merged support for other units and fluid typography on font size presets.
Iterated and merged PR to use the block settings on each global styles panel.
Iterated and merged PR to reference the preset variables on global styles so if for example global background color is set set to color X, and later we change color X, the background color also changes.
Submitted and merged PR to don’t show block panels without conten
Rebased and Iterated on font family picker in the next few minutes (just finishing a last round of tests).
Reviewed multiple PR including the moment removal PR.
Submitted multiple small fixes/enhancements to Global styles
For the next week, I plan on testing 2021 blocks deeply with global styles and submit fixes either for the theme or to Gutenberg. I plan to continue the typography work with font weight and recheck a possible font loading global styles API.
Asked what’s the best way to register block for particular post type.
Current option is to 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. through blocks and unregister undesored blocks for the posttype.
Some discussion around defining posttype via block.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. but no decision.
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. 👏