What’s next in Gutenberg? (January 2021)

This is a monthly update containing the high-level items that GutenbergGutenberg The 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/ contributors are focusing on for January. Please join us in our efforts and let us know in the comments if anything is blocking you from doing so. 

How to follow along with Gutenberg: 

Here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project. There is also an index page of Gutenberg development-related posts and a Site Editing Milestone overview issue that breaks down the upcoming work into more concrete next steps. 

Global Styles

Global Styles refers to the system that defines and manages global aesthetics, allowing overall site styles, theme styles, and blocks to work well together. Global Styles focus areas for January include:

  • Determining what APIAPI An 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. and infrastructure functionality (not user facing) to include in WP 5.7
  • Support for translation theme.json strings

Follow along:

You can follow the progress for this overall system in this overview issue and by reviewing the Global Styles label

BlockBlock Block 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 WidgetWidget A 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

Work on the Block-based widget editor (Widgets Screen) is a continued focus for the month ahead. The purpose of this effort is to bring the flexibility of block-based editing to the widgets and customizerCustomizer Tool 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. screens.

Blocks in the Widget Screen

Adding block support for the widget editor is an ongoing focus. Progress toward this effort can be accessed via the Block-based Widget Editor project board. The emphasis for January will be eliminating bugs.

Blocks in the Customizer

An exploratory phase to find the best path for adding blocks in the customizer. If this interests you, please review this previous discussion and check out the current plan for exploration. For greater context, you can also watch this hallway hangout focused on managing blocks in the customizer. 

Follow along:

You can follow the progress of this work on this project board and you can join #feature-widgets-block-editor in WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ slackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. for future widget screen focused meetings post 5.6 launch. 

Full Site Editing

As with the prior months, work on this major focus for phase 2 is ongoing and is expected to continue iterating over the coming months. Work this month will include the following focus areas:

Milestone 1 – Site Editing Infrastructure and UI

Work toward infrastructure and UIUI User interface improvements including:

Milestone 5 – Query Block 

This work includes the following Query Block design explorations:

  • A pagination block with different style variations to work alongside the Query Block. 
  • Query Block toolbar controls revisionsRevisions The 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. to make it easier to show the content you want.
  • Exploring the idea of a Query Block builder UI to scale the experience for advanced users. 

Milestone 6 – Navigation Block

Work on the Navigation Block is an ongoing effort and focus for January. An overview of the work in progress can be found in the Navigation Block tracking issue.

In addition to the above, the Theme Experiments repo is being monitored to see how theme developers are building block-based themes. Please continue to share there, it is appreciated!

Follow along:

You can follow the progress of this project with this overview issue showing key milestones for site editing. For each major milestone, there are related issues you can follow if you want a more granular look at each next step (example from Query Block).

As a reminder, if you’re interested in being a part of testing Full Site Editing, check out the experimental outreach program to learn more

Important Note:

If you were previously following this project board, it has now been closed in order to use the milestones issues more consistently and to prevent people from needing to follow the progress in two places. 

Areas to be aware of:

Block & PluginPlugin A 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 Developers

PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8 has been released please review the Dev Notes in the 5.6 Field Guide with a particular focus on preparing your plugins for PHP 8

Theme Developers

Those interested in learning more about block-based themes may wish to read the comprehensive article @frankklein wrote on what he learned while building a block-based theme. 

Ways to Get Involved:

While the above items are our focuses, don’t forget that you can always help with triage, needs testing issues, good first issues, and reviewing PRs. In particular, for this month, focusing efforts around testing the Widgets Screen would be very helpful and high impact. 

If there’s anything we can do to make contributing easier, let us know in the comments or in #core-editor chats. While we can’t promise to fix everything, we’d appreciate being aware of any blockers.

Meetings to join:

While you can view all meetings here, here are specific meetings to join depending on your interest. Remember that you need a WordPress.org slack account to participate: 

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor weekly @ 14:00 UTC on Wednesday in #core-editor focused on all things Gutenberg. 
  • Block-Based Themes meeting twice monthly Wednesday @ 16:00 UTC on Wednesday in #themereview focusing on preparing for Full Site Editing enabled theme development. 
  • Block-Based Widget Editor meeting weekly @ 07:00 UTC in #feature-widgets-block-editor on Wednesday focusing on implementing the ability to manage blocks in widget areas.

#gutenberg-next

Dev Chat Agenda: January 6th 2020

Hello! Here’s what’s planned for the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. dev chats this week on Wednesday, January 6th, 2021, 05:00 UTC and Wednesday, January 6th, 2021, 20:00 UTC

Announcements

Highlighted Posts

Updates from Component Maintainers/Focus Leads

Open Floor

Next Dev Chat meetings

The next meetings will take place on Wednesday, January 6 2021, 05:00 UTC and Wednesday, January 6, 2021, 20:00 UTC in the #core SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel. Please feel free to drop in with any updates or questions.

Props to @webcommsat for highlighting the blogblog (versus network, site) posts, there are a couple more below that people may find interesting but which are a bit less current so are optional highlights for the meeting.

#5-7-2, #agenda

Editor Chat Agenda: 6 January 2021

Facilitator and notetaker @ajitbohra

This is the agenda for the weekly editor chat scheduled for Wednesday, 6 January 2021, 14:00 UTC.

This meeting is held in the #coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-editor channel in the Making WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..

  • Gutenberg 9.6
  • Monthly Plan for January 2020 and key project updates. For the updates, the discussion will focus on what is being done and help that is needed:
    • Full Site Editing.
    • Global Styles.
    • Widgets screen.
    • CustomizerCustomizer Tool 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.
  • Task Coordination
  • Open Floor

Even if you can’t make the meeting, you’re encouraged to share anything relevant for the meeting in the comments below:

  • If you have anything to share for the Task Coordination section, please leave it as a comment on this post.
  • If you have anything to propose for the agenda or other specific items related to those listed above, please leave a comment below.

#core-editor #core-editor-agenda

A Week in Core – January 4, 2021

🌟 Happy New Year! 🌟

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between December 28, 2020 and January 4, 2021.

  • 12 commits
  • 19 contributors
  • 39 tickets created
  • 9 tickets reopened
  • 46 tickets closed

As expected, Trac has been fairly quiet last week ❄️⛄️

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component.

Code changes

App Passwords

  • Ensure the Add New button isn’t hidden on mobile – #51980
  • Correct authorize app action names and signatures – #52013
  • Only attempt auth if the username and password are set – #52003

Build/Test Tools

  • Change the frequency of code coverage reporting – #50401, #52141

Bundled Themes

  • Twenty Twenty-One: Make sure filtering attachment image attributes only affects front end and not the adminadmin (and super admin) area – #52212
  • Twenty Twenty-One: Remove extra brackets from :last-child CSSCSS Cascading Style Sheets. pseudo-class – #52176

Canonical

  • Check if the post type exists when attempting a canonical redirect – #40309

REST APIREST API The 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/.

  • Move the WP_Query args filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. after the tax_query is setup – #42762
  • Only include the controller’s own taxonomyTaxonomy A 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. in it’s schema – #51940
  • Properly display JSONJSON JSON, 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. encoding errors – #52106
  • Expose all themes in the themes controller – #50152

Site Health

  • Use a front-end URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for loopback tests – #52097

Props

Thanks to everyone who contributed to WordPress Core on Trac last week:

@johnbillion (3), @engahmeds3ed (2), @TimothyBlynJacobs (2), @mukesh27 (2), @jorbin (1), @munyagu (1), @Clorith (1), @technosailor (1), @atimmer (1), @iamfriendly (1), @MadtownLems (1), @vladytimy (1), @denisco (1), @Krstarica (1), @hareesh-pillai (1), @bobbingwide (1), @lpawlik (1), @spacedmonkey (1) and @activecoder (1).

Please welcome our 3 new Core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. of the week ♥️
@engahmeds3ed, @vladytimy and @activecoder.

Core committers: @timothyblynjacobs (8), @sergeybiryukov (3) and @desrosj (1).

#5-6-1, #5-7, #week-in-core

X-post: Protecting Children’s Privacy On WordPress (through the lens of COPPA)

X-comment from +make.wordpress.org/meta: Comment on Protecting Children's Privacy On WordPress (through the lens of COPPA)

DevChat meeting Summary – December 30th, 2020

@lukecarbis and @audrasjb led the weekly meetings of the WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team, respectively at 05:00 UTC and 20:00 UTC.

Announcements

The WordPress 5.7 Development Cycle has been posted. The core team is targeting a final release date of March 9, 2021. More information available on the milestone page.

@hellofromtonya published the incoming bug scrubs schedule for 5.7.

The FSE (Full Site Editing) Outreach Program has its first call for Testers, specifically designed to explore the interaction between the two editing experiences (post vs. template editing) to make sure it’s clear when users are editing each. If you’d like to help test and provide feedback, please comment on the related post.

Another Week in Core blogpost was published. Most of the tickets of that timeline relate to Twenty Twenty-One and Twenty Nineteen bundled themes. Core team reps added a new props section to highlight contributors who made their very first contribution to WordPress Core.

A weekly Gutenberg update was also published on Make/Core.

Twenty Twenty-One and Twenty-Nineteen bundled themes recently had version updates. @desrosj published a recap on Make/Core. Indeed, bundled themes can iterate independently from Core releases. Of course, WP Core next point releaseMinor Release A 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. will ship these changes.

Upcoming WordPress releases

WordPress 5.7

Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. Lead @hellofromtonya shared some insights:

  • We’ve had 4 early scrubs in Dec: with one in APAC and the other for EMEA/AMER
  • Participation has been light due to the year end and holidays
  • In January, we’ll shift focus to early, high priority, features, and enhancements

And also TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. stats:

  • 200 tickets in the milestone
  • 33 closed tickets
  • 31 tickets marked early
  • 86 defects
  • 68 enhancements
  • 6 features
  • 18 tasks

200 tickets for a major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope. is quite light. @hellofromtonya will be looking for other opportunities as well as talking with component teams/maintainers to see if there are other tickets we might be able to land in the milestone. @sergeybiryukov pointed out that with 4 releases a year instead of the usual 3, it’s expected that the number of tickets in each could be a bit lower. BetaBeta A 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. 1 is coming quickly. So the quantity of tickets needs to be balanced with time and capacity.

@hellofromtonya shared a link to tickets marked as early + needs-testing. Everyone is invited to test them and provide feedback.

WordPress 5.6.1

There is currently 49 tickets in milestone 5.6.1. 23 are already closed as fixed, mostly related to Bundled themes.

As WP 5.6.1 may probably be released around mid-January, it would be nice to schedule few bugbug A 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. scrubs next week. Please get in touch with @audrasjb if you want to run a scrub. @marybaum, @metalandcoffee and @hellofromtonya raised their hands during the chat. An agenda will be published by the beginning of January.

Component maintainers updates

From @sergeybiryukov:

Build/Test Tools: Random unit testunit test Code 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. failures in REST APIREST API The 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/. pluginPlugin A 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 controller tests due to external HTTPHTTP HTTP 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. request timeouts should now be resolved with [49913].

General: A second pass was made at replacing Codex URLs with a corresponding HelpHub or DevHub article in [49912].

I18Ni18n Internationalization, 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., Date/Time, Permalinks: No major news this week.

From @afragen:

Upgrade/Install: If you have access to a resource poor, shared hosting server we could use your testing experience on #51857. Specifically the goal is to determine if there might be a timeout issue for the zipping/unzipping processes.

@pbiron proposed to move #51928 to milestone 5.6.1. The attendees agreed to prioritize this ticketticket Created for both bug reports and feature development on the bug tracker. to get it ready for 5.6.1 release mid-January. @davidbaumwald raised some concern about moving an enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. to minor releaseMinor Release A 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. milestone and about making final decision during devchat. The ticket was changed from enhancement to blessed task as this is not an enhancement for end-users but mostly something related to WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ Updates APIs. @audrasjb pointed out that changing the milestone and the type of a ticket is not a final decision. Final decision will be the commit action. @dd32 was also mentionned for final decision, as WP Lead Developer and Updates APIAPI An 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. maintainer.

#5-6-1, #5-7, #devchat

Dev Chat Agenda: 30th December 2020

Here is the #agenda for this week’s meetings happening at:
Wednesday, 30 December 2020, 0500UTC and Wednesday, 30 December 2020, 2000UTC .

If you have something else you want to include in the agenda, please mention it in the comments below.

The #dev-chat meetings will be held on Wednesday, 30 December 2020, 05:00UTC and Wednesday, 30 December 2020, 20:00UTC. These meetings are held in the #core channel. To join the meeting, you’ll need an account on the Making WordPress Slack .

A Week in Core – December 28, 2020

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between December 21 and December 28, 2020.

  • 18 commits
  • 32 contributors
  • 48 tickets created
  • 12 tickets reopened
  • 53 tickets closed

Most of the tickets that landed last week relate to Twenty Twenty-One and Twenty Nineteen bundled themes. A new version has been released for both themes, independently from the next WordPress 5.6.1 point releaseMinor Release A 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.. Indeed, even if there is already a number of tickets slated in the related milestone, WordPress 5.6.1 is not planned at the moment since none of the tickets seem to be urgent or critical.

Except concerning bundled themes and… as expected, Trac has been fairly calm these days ❄
The WordPress 5.7 Alpha Cycle should regain its develop-test-commit pace after New Year’s Eve.

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component.

Code changes

AccessibilityAccessibility Accessibility (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 more contrast to input borders during installation – #51854

Build/Test

  • Send Code Coverage reports to Codecov – #52141
  • Use shared post fixture in comment template tests – #51802

Bundled Themes

  • Twenty Nineteen: Add the block-patterns tagtag A 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.) to the appropriate SASS file – #52159
  • Twenty Twenty-One: Set a maximum width on inputs – #52083
  • Twenty Twenty-One: Improve strings found in post navigations for easier translating – #52047
  • Twenty Twenty-One: Only load IE specific polyfills when actually using Internet Explorer – #52098
  • Twenty Twenty-One: Improve striped table styling in Dark Mode – #52129
  • Twenty Twenty-One: Do not specify loading=“eager” for single post thumbnails – #52139
  • Twenty Twenty-One: Allow local anchor links to be used in primary navigation – #52006

Docs

  • Correct the type of the $user parameter in WP_REST_Users_Controller::prepare_links()#52175

Editor

  • Align with GutenbergGutenberg The 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/ the name of generated asset handle for core blocks – #50328

Export

  • Add post_modified and post_modified_gmt fields to the generated WXR export file – #52180

Posts, Post Types

  • Correct the check for term IDs to be queued for lazy-loading term metaMeta Meta 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.#52144

Site Health

  • Add WP_MEMORY_LIMIT constant to debug info – #51680
  • Detect HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. support and encourage switching – #47577

XML-RPC

  • Emit an appropriate HTTPHTTP HTTP 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. status code when an error is returned in response to an XML-RPC request – #48213

Props

Thanks to everyone who contributed to WordPress Core on Trac last week:

@poena (7), @audrasjb (2), @flixos90 (2), @ryelle (2), @aristath (2), @peterwilsoncc (2), @basscan (1), @kjellr (1), @sabernhardt (1), @SergeyBiryukov (1), @jmdodd (1), @ismail.elkorchi (1), @melchoyce (1), @celendesign (1), @ericmann (1), @macmanx (1), @danfarrow (1), @swissspidy (1), @sanketchodavadiya (1), @desrosj (1), @westonruter (1), @miinasikk (1), @Clorith (1), @akabarikalpesh (1), @denishua (1), @mukesh27 (1), @iviweb (1), @Maigret (1), @noisysocks (1), @talldanwp (1), @nre (1) and @t-p (1).

Please welcome our 7 new Core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. of the week ♥️
@celendesign, @sanketchodavadiya, @denishua, @iviweb, @Maigret, @nre and @t-p.

Core committers: @sergeybiryukov (6), @desrosj (6), @flixos90 (1), @jorbin (1), @ryelle (1), @johnbillion (1) and @gziolo (1).

See you in 2021 for the next Week in Core issue! 🌟

#5-7, #week-in-core

X-post: FSE Program Testing Call #1: Template Editing

X-comment from +make.wordpress.org/test: Comment on FSE Program Testing Call #1: Template Editing

What’s new in Gutenberg? (23 December)

GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 9.6 has been released. The big focuses throughout this release cycle were Full Site Editing and Global styles. This release also includes many fixes and some nice new features and enhancements.

Dragging blocks from the inserter

From this release, blocks can be directly dragged from the inserter to the post canvas ― dragging patterns is not yet supported.

Vertical layout for buttons

The buttons blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. gained the ability to use a vertical layout in addition to the default horizontal.

9.6.0 🇨🇱

Features

  • Allow dragging blocks from the inserter into the canvas. (27669)
  • Buttons: Add variations for vertical layout. (27297)

Enhancements

  • Buttons block: Change position of the link popover. (27408)

New APIs

  • Add a useFocusOnMount hook to the wordpress/compose package. (27574)
  • Add a useFocusReturn hook. (27572)
  • Add a useConstrainedTabbing hook. (27544)
  • Components: Introduce a isDisabled prop to the Disabled component. (26730)
  • Create block:
  • Use Block APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. version 2. (26098)
  • Fix for supporting external templates. (27784) (27776)

Bug Fixes

  • WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. screen: Fix block select on focus. (27755)
  • Embed block: Add htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. and reusable support back. (27733)
  • Add useCallbackRef to avoid calling the ref multiple times with the same node. (27710)
  • Correct getRedistributedColumnWidths and related tests. (27681)
  • Remove CSSCSS Cascading Style Sheets. Custom Property in code block. (27672)
  • Fix regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. on code block for font-size property (27862)
  • Block crashes if font family is not found. (27654)
  • popover flickering on small screens. (27648)
  • Adding single use block from main inserter causes focus loss and menu to be stuck open. (27641)
  • Changelog for 9.5.2. (27638)
  • Uncaught error with a custom generic store without a unsubscribe function in useSelect. (27634)
  • Revert date changes from branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". ‘replace-moment’. (27550)
  • useMediaQuery: Make it safe for SSR environments without window. (27542)
  • Fixes the width on the circle color picker popover. (27523)
  • ComboboxControl/FormTokenField: Fix iOSiOS The operating system used on iPhones and iPads. zooming for input. (27471)
  • Fallback to regular subscribe if the store doesn’t exist in useSelect. (27466)
  • Global Styles getPresetVariable uses a wrong variable; Remove GLOBAL_CONTEXT. (27450)
  • Popover: Fix issue with undefined getBoundingClientRect. (27445)
  • Try fixing combobox a11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) issues. (27431)
  • Support gradients with omitted stop positions in CustomGradientPicker. (27413)
  • Fix combobox suggestion list closure when clicking scrollbar. (27367)
  • Video Block: Let the video fill the container. (27328)
  • Media & Text “crop image to fill” to work with linked media. (27211)
  • Give editable fields in blocks better aria-labels. (26582)
  • Replace function should handle empty string callback return in the shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. parser. (16358)

Performance

  • Split coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks assets loading. (25220)

Experiments

  • Add a useDialog hook and replace the duplicated PopoverWrapper. (27643)
  • Refactor withFocusOutside to hook. (27369)
  • FSE: Block Navigation: update Navigation block placeholder. (27018)
  • FSE: Block Query
    • Add new post link to Query. (27732)
    • Allow Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. only inside Query block. (27637)
    • Adjust mobile margins for the Query block’s grid view. (27619)
    • Query block: Allow inheriting the global query arguments. (27128)
  • FSE: Blocks
    • Add comment-form block styles. (27673)
    • Tag Cloud block: Adjust styles for the different block alignments. (27342)
  • Site Logo:
    • Remove line height. (27623)
    • Add a rounded block style. (27621)
  • FSE: Infrastructure
    • Apply hover class in outline mode. (27714)
    • Update documentation to show how a theme can have FSE automatically enabled. (27680)
    • Make the inserter in the site editor behave as a popover. (27502)
    • Add an outline mode and use it both Site Editor and Template mode. (27499)
    • Load the block patterns in the site editor. (27497)
    • Move the templates prePersist logic to core-data. (27464)
    • Expand the multi-entity saving panel by default. (27437)
    • Reveal block boundaries on hover in the Site Editor. (27271)
    • Site Editor – add query args for current context. (27124)
    • Full Site Editing: Introduce a template editing mode inside the post editor. (26355)
    • Remove optimistic updates to solve the template revert issue (27797)
  • FSE: Style System
    • Fix: Font Weight and Style don’t work independently on global styles. (27659)
    • Add custom units in BoxControl. (27626)
    • Remove Font style, weight, decoration, and transform presets. (27555)
    • Make client preset metadata match server. (27453)
    • Do not pass selectors and supports information to the client. (27449)
    • Add border radius support. (25791)
    • Update font-weight names. (27718)
    • Update performance of global styles code (27779)

Documentation

  • Add missing dependency to code example. (27742)
  • Precise that element ref returned by the hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. that return a ref can change between function or object. (27610)
  • Add escaping functions to code examples. (27603)
  • Add missing wordpress/components/CHANGELOG.md entry. (27576)
  • Minor changes to release documentation for clarity. (27571)
  • Capitalize JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. in accordance with the word mark. (27539)
  • Fix typo in attributes.md. (27440)
  • Try: Update readme screenshot. (27223)
  • Document the useBlockWrapper hook in the block registration documentation. (26592)
  • Add a document explaining the different block API versions. (26277)
  • Update the registration examples to use apiVersion 2. (26100)

Code Quality

  • Remove: Missed unused weights and style translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. code. (27739)
  • useDialog: Remove mousedown propagation stopping. (27725)
  • Try: Simplify focus return. (27705)
  • Popover/Modal: Remove and deprecate IsolatedEventContainer. (27703)
  • Popover: Use focus outside hook. (27700)
  • refactor: Tooltip component from classical to functional with hooks. (27682)
  • Template-part padding: Use variables. (27679)
  • Scope image block style variations to only the image block. (27649)
  • Refactor the EditorProvider component and extract hooks. (27605)
  • Use store definition instead of string for notices packages. (27548)
  • Merge RootContainer with BlockList. (27531)
  • Block wrapper: Isolate functionality into smaller hooks. (27503)
  • Writing flow: Consider events only from DOM descendents. (27489)
  • Writing flow: Isolate multi select focus element. (27482)
  • Multi selection: Move hook to WritingFlow with other multi selection logic. (27479)
  • Insertion indicator: Render after last block if none is specified. (27472)
  • Rewrite selection clearer in Block editor. (27468)
  • Move block focus listener to block props hook. (27463)
  • Block editor: Refactor effect.js to controls. (27298)
  • Animate: Type getAnimateClassName. (27123)
  • Refactor image block’s image editing tools into separate components. (27089)
  • Drop zone provider: Option to avoid wrapper element. (27079)
  • Audit variables stylesheet. (26827)
  • group block padding: Use variables. (27676)

Tools

  • Release script: Set draft status, and only remove after uploading asset. (27713)
  • CI: Run date test timezone and localeLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. variations using bash script. (27600)
  • Upgrade Babel packages to 7.12.x. (27553)
  • CI: Run package/date unit tests in different timezones. (27552)
  • Avoid cancelling other end-to-end test jobs when one fails. (27541)
  • Add webpack 5 support to dependency-extraction-webpack-pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. (27533)
  • Add GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ support document. (27524)
  • Stabilize adding blocks end to end test. (27493)
  • GitHub Actions: Use a build matrix for the end-to-end tests GH action. (27487)
  • Packages: Make it possible to select minimum version bump for publishing. (27459)
  • Upgrade wp-prettier to 2.2.1. (27441)
  • Testing: Make image size test more stable. (27439)
  • Packages: Improve the script that automates version bumps. (27436)
  • CI: Update bundle size workflow to use the latest version. (27435)
  • wp-env: Xdebug support. (27346)
  • Make zip-based URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org parsing more general. (27019)
  • Add inserter performance measures. (26634)

Various

  • Verse Block:
    • Add support for custom padding. (27341)
    • Add support for font family. (27332)
    • Add support for font size. (27735)
    • Update CSS for frontend and editor. (27734)
  • Popover: Use a11y hooks instead of HoCs. (27707)
  • Refactor focus on mount. (27699)
  • Search block: Use em values for padding. (27678)
  • Button: Is-busy state candybar animation fixed. (27592)
  • Preformatted block: Add support for font sizes. (27584)
  • Remove autoFocus prop from URLInput and from the inserter search form. (27578)
  • Package lock: Update ws. (27532)
  • Update block-patterns.md. (27520)
  • Update wp-env codeowners. (27491)
  • Update the backup icon to better align with WordPress icon package dna. (27465)
  • Update the rich text control titles to sentence case structure. (27447)
  • Search Block: Remove the button only option from the UIUI User interface. (27379)
  • Add icons for template parts. (27378)
  • Increase radio dimensions to match checkboxes. (27377)
  • Adjusts settings modal height to 90%. (27362)
  • Change the Labels of the Vertical Align options. (27356)
  • Add element selector to template-part block. (27101)
  • Add explicit dismiss button and on dismiss callback to snackbar. (26952)
  • Make social list block align right able on published page & preview. (26861)
  • Update media-text focalPoint conditional rendering. (25968)
  • Remove default icon from PluginBlockSettingsMenuItem. (21392)
  • Add example preview to video block. (20703)

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.

VersionLoading TimeKeyPress Event (typing)
Gutenberg 9.64.33s27.82ms
Gutenberg 9.54.21s23.04ms
WordPress 5.65.16s23.46ms

Kudos to all the contributors that helped with the release!

#core-editor, #editor, #gutenberg-new

#core-editor, #editor, #gutenberg-new