Dev Chat Summary, December 6, 2023

The WordPress Developers Chat meeting took place onย  6 December 2023 at 20:00 UTC ย in coreย onย Make WordPress Slack (or #core in Matrix).

Key info

Announcements

  • WordPress 6.4.2 Maintenance & Security Release: This 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. addresses a handful of CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. bugs, as well as a preventive security update. Props to the minor release squad for getting this shipped!

Highlighted Posts

Editor Updates

@annezazu has graciously shared this weekโ€™s #core-editor update, found here: https://make.wordpress.org/core/2023/12/05/dev-chat-agenda-december-6-2023/#comment-45924

Release Updates

Next minor release: 6.4.3

@jorbin indicated that work is underway to put a squad together for this release.

๐Ÿ‘‰๐Ÿป Volunteers interested in helping on the 6.4.3 minor release should drop a note inย #6-4-release-leads.

Next 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.: 6.5

Some helpful links:

Are you able to help with futureย 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?ย Bug scrubsย post.ย Next scrub: December 19, 2023 at 19:00 UTC in the #core Slack channel.

Component Maintainer Updates

Disable autoload for large options

@flixos90 requested a second opinion and general feedback on the approach envisioned inย https://core.trac.wordpress.org/ticket/42441. In order to differentiate between whether anย autoloadย value for an option was set as a default or explicitly chosen, it is proposed to add new possible values for that database column. For additional context, comment:20ย may be helpful, and a PR implementationย already exists.

While personally supportive of the effort, Felix added that such a change will require a dev notedev note Each 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, and 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., and plugins specifically focused on autoloading may need to cater for the change. It was clarified that only plugins that enhance autoloading specifically should be affected. @azaozz agreed that this approach was sound, and should be fully backwards compatible. Additional discussion moved to the Trac ticket.

Open Floor

Core version displayed on Updates page

From the agenda comments, @shenyanzhi wished to draw attention toย https://core.trac.wordpress.org/ticket/40241. It was suggested to raise the ticketticket Created for both bug reports and feature development on the bug tracker. over inย #core-upgrade-installย for additional feedback, and for contributors to leave a comment on the ticket or dev chat post comments.

Disable the WordPress-Docs ruleset in Gutenberg

Also from the agenda comments, @antonvlasenko asked for feedback on aย proposal (GB 56487)ย to [temporarily] disable theย WordPress-Docsย ruleset from Gutenberg. Core doesnโ€™t use these rules, so this change would simplify the backporting process from Core, improving parity between the repos. Feedback on the issue or accompanying PR is greatly appreciated.

Next Meeting

The next meeting will be on 13 December 2023 at 20:00 UTC .

Are you interested in helping draft Dev Chat summaries? Volunteer at the next meeting!

Props @hellofromtonya for peer review, and @webcommsat for essential meeting preparation work.

#6-4, #6-5, #dev-chat, #meeting, #summary

6.4.3 Maintenance Release Bug Scrub

There is no specific target date for WordPress 6.4.3 yet, but that doesnโ€™t mean work canโ€™t be done to ensure that all the correct bugs are targeted for it and that work progresses towards fixing them. To assist with this, some initial scrubs will be held at the following times:

All Scrubs will take place in the #core room in Slack. The first scrub will be going through tickets in awaiting review that may belong in the 6.4.3 milestone with the goal of triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. and the second scrub will focus on tickets in the 6.4.3 milestone.

Anyone else that wishes to host a scrub for 6.4.3 is welcome. Please comment here with the time you would like to hold one and I will edit the post to include it. As the documentation onย leading bug scrubsย states:

Leading a Bug Scrub is something any interested community member can do.

Thanks to @joemcgill for prepublication review

#6-4, #bug-scrub

DevChat agenda – December 13, 2023

The next weekly WordPress developers chat will take place onย Wednesday, December 13, 2023 at 20:00 UTCย in theย coreย channel ofย Make WordPress Slack.

Welcome and housekeeping

All are welcome to join Dev Chat.

Dev Chat summary from December 6, 2023

Props to @webcommsat for the agenda preparation, and @ironprogrammer for facilitating the meeting.

If you can help with dev chat summaries, please raise your hand in the meeting.

Announcements

Replay of the State of the Word 2023, in Madrid.

Highlighted posts

Roadmap to 6.5

Whatโ€™s new in Gutenberg 17.0. This latest release isย available for download. It includes some Site Editing improvements, including the ability to drag and drop to the top and bottom of the document and sticky table headers, improvements to the Interactivityย 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.ย docs, many 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. fixes and a range of other improvements.

Raising the minimum version of MySQL in WordPress 6.5. In WordPress 6.5, the minimum required version of MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com will be raised from 5.0 to 5.5.5.ย 

Whatโ€™s new for Developers, December 2023 edition is available on the Dev Blogblog (versus network, site).

A recording is now available for the Hallway Hangout: Performance End of Year Review 2023

Reminder: Feedback requested on redesign of Developer Resources section of WordPress.org and a call for testing.

Nominations for 2024 edition, core team reps โ€“ nominations still open!

Please add any additional highlighted posts in comments.

Update from coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-editor

This is a new experimental section in the agenda.

Thanks to @annezazu for sharing this update.

  • Data Views:ย Add: Bulk actions API to dataviews and an initial bulk trash action, addย Data Views to storybookย to allow for UIUI User interface development in isolation,ย extract data views to a dedicated bundled package, and check out someย recent designs for the grid layout.
  • Font Library: new issue opened onย Improve UXย โ€” share any feedback you might have around what might help improve the experience ahead of 6.5.
  • Navigation: Draft PR and exploration toย allow the navigation block to have a fluid breakpoint.
  • 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.: Draft PR to integrate theย Style Book in with Style revisions. This would give a high level overview of whatโ€™s changed with style decisions.
  • Site Editor:ย Various zoomed out mode experimentsย are being explored. This helps move forward a previously worked on 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/ experiment tied toย this overview issue. For example, image a more exploded/zoomed out view when inserting patterns from the Inserter to allow you to see more of your site and see where the insertion zone of the pattern is.
  • Performance:ย fix typing performance by not rendering sidebarย in the Site Editor along with various other PRs have been merged.
  • UXUX User experience: The copy for warnings for removing key blocks, like post content or 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,ย has been simplified and updatedย to help add more friction to the experience. Please keep sharing feedback here so we can iterate quickly!
  • 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. Bindings API: a Draft PR showing a first prototype of the Block Bindings API and the metadata source with a 6 min long explainer video:ย Add block bindings API basis and metadata source
  • A backwards compatibility and backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. to a minor WP release fix to be aware of with SlotFill:ย SlotFill: Allow contextual SlotFillProviders.
  • If folks have run into the following issue, please write a comment sharing something about your experience:ย Block styles set via the โ€œcssโ€ property in theme.json are ignored on the frontend in classic themes. This was flagged as a comment on the 6.5 post and Iโ€™m curious to get a sense of broader impact.


Please also add your thoughts to the discussion on the future of the core-editor chat.

Forthcoming release updates

WordPress release: 6.4

Any new issues?

New updates on 6.4.x release team or dates for 6.4.2?

Next major WordPress release: 6.5

Any other new updates?

Roadmap to 6.5 is out (as highlighted above)

6.5 documentation tracker has been started on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โ€˜pull requestโ€™ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/. A request from @webcommsat please add to tickets as โ€˜needs dev notedev note Each 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, and 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.โ€™ and/or โ€˜add to Field GuideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page.โ€™ when a ticketticket Created for both bug reports and feature development on the bug tracker. is close to commit.

https://github.com/orgs/WordPress/projects/154

Existing 6.5 links:

Scrubs

Are you able to help with future bug scrubs? Bug scrubs post.

Next scrub: December 19, 2023 at 19: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.

Tickets or Components help requests

Please add any items for this part of the agenda to the comments โ€“ tickets for 6.5 will be prioritized. If you can not attend dev chat live, donโ€™t worry, include a note and the facilitator can highlight a ticket if needed.

Request: TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticket #17379 has a fix with a 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. and testing instructions. Feedback, reviews and help to get it to the next stage requested by Nate Allen.

Open floor

If you have any additional items to add to the agenda, please respond in the comments below to help the facilitator highlight them during the meeting.

New Contributor Chat is currently on Wednesdays at 19:00 UTC in the core channel on Slack. Next one will be on December 13, 2023. More details in the schedule. @oglekler has highlighted that this may be a late time for some, and if there are any volunteers to facilitate these meetings in APAC friendly-time?

Dates for Dev Chat

Reminder: the last Dev Chat in 2023 will be on December 27, and the first in 2024 will take place on January 4.

#6-5, #agenda, #dev-chat

Performance Chat Summary: 12 December 2023

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

Priority Projects

Server Response Time

Link to roadmap projects and link to the GitHub project board

Contributors: @joemcgill @swissspidy @thekt12 @mukesh27 @pereirinha

  • @thekt12 update on various items:
  • @joemcgill Essentially, block variations for several dynamic blocks are built dynamically on every request, but from what we can tell, theyโ€™re only needed in the editor, so we should be able to support registering a callable that will dynamically build the variations when requested. Iโ€™d like to get feedback from someone on the 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/ side more familiar with how these are consumed (e.g.,ย @mamaduka, etc).

Database Optimization

Link to roadmap projects and link to the GitHub project board

Contributors: @mukesh27 @thekt12

  • No updates this week

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 & CSSCSS Cascading Style Sheets.

Link to roadmap project and link to the GitHub project board

Contributors: @mukesh27 @flixos90 @westonruter

  • @flixos90 I drafted a module proposal for the Speculation Rules 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. integration last week:ย https://github.com/WordPress/performance/issues/897
    • The formerly experimental draft PR has been polished to become the foundation for that new module:ย https://github.com/WordPress/performance/pull/733
      Itโ€™s targeting a feature 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". as itโ€™s not yet the entire MVPMinimum Viable Product "A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development." - WikiPedia module functionality yet, as outlined in the module proposal issue

Images

Link to roadmap projects and link to the GitHub project board

Contributors: @flixos90 @adamsilverstein @joemcgill @pereirinha @westonruter

  • @westonruter For Image Loading Optimization, theย pull requestย for improved breadcrumb handling of images to optimize is still ready for review.
    • I have aย sub-PRย off of that in which Iโ€™m nearing full PHPUnit test coverage. Hopefully Iโ€™ll complete this today and it will also be ready for review.
    • After these are reviewed and merged, Iโ€™m eager to enhance with background-image optimization. Iโ€™ll probably start with a sub-PR while waiting for the above to be merged.
  • @flixos90 I wonder whether we should focus on getting the module ready for launch first before moving on to another feature like BG image support. I feel like optimizingย <img>ย tags is the primary focus here, so probably sufficient for an MVP
  • @westonruter It wonโ€™t be much additional code though and the groundwork is in place, so thatโ€™s why I want to target it.
  • @flixos90 Sounds good, we can assess further in the PR, thatโ€™s helpful to have regardless
  • @flixos90 From my side, I ran a couple queries last week to kick off further field research onย fetchpriorityย accuracy problems:ย https://colab.sandbox.google.com/drive/1KCowq4J2oPnxmjXjQVTpO5d6sC9qi8s1 At this point Iโ€™ve only gathered some data, and I still have to think further what to make of it or what else to query. But itโ€™s a good starting point I think
    • The approach for these queries was toย onlyย consider URLs that have the same LCP image element for both desktop and mobile, as thatโ€™s the only problem vector we can address with the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. functionality. If the LCP element differs, itโ€™s more difficult and canโ€™t be addressed with theย fetchpriority="high"ย attribute. That part is covered by the image loading optimization module @westonruter has been working on
  • @swissspidy Regarding images, I have been working on this client-side image compression project a little bit:ย https://x.com/swissspidy/status/1733138082591912154?s=46&t=f5Z4bXmUuYQYdSgET7F2UQ
  • @swissspidy Speaking of fetchpriority, that just landed in Safari 17.2 yesterday

Measurement

Link to roadmap projects and link to the GitHub project board

Contributors: @adamsilverstein @joemcgill @mukesh27 @swissspidy @flixos90

  • No updates this week

Ecosystem Tools

Link to roadmap projects and link to the GitHub repo for 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. Checker

Contributors: @mukesh27 @swissspidy

  • No updates this week

Creating Standalone Plugins

Link to GitHub overview issue

Contributors: @flixos90 @mukesh27

Open Floor

  • @pbearne I have replied/updated the Disable autoload for large options patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing.ย https://core.trac.wordpress.org/ticket/42441

Our next chat will be held on Tuesday, December 19, 2023 at 16:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

X-post: Update on Matrix Migration: Pausing the Transition

X-comment from +make.wordpress.org/project: Comment on Update on Matrix Migration: Pausing the Transition

Performance Chat Agenda: 12 December 2023

Here is the agenda for this weekโ€™s performance team meeting scheduled for Dec 12, 2023 at 16:00 UTC. If you have any topics youโ€™d like to add to this agenda, please add them in the comments below.


This meeting happens in the #core-performance channel. To join the meeting, youโ€™ll need an account on the Make WordPress Slack.

#agenda, #meeting, #performance, #performance-chat

Raising the minimum version of MySQL required in WordPress 6.5

With the release of WordPress 3.2 in 2011, the minimum version of MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com required to run the software was updated from 4.1.2 to 5.0. While the recommended version of MySQL (or MariaDB) is frequently updated to suggest using only officially supported versions, the same has not happened for the required version and this minimum has remained the same since.

MySQL 5.0 was initially made generally available in 2005 and reached its end of life (EOL) in January of 2012, making it unsupported and insecure for over 12 years. This is extremely old and this requirement is being raised.

In WordPress 6.5 (as of [57173]), the minimum required version of MySQL will be raised from 5.0 to 5.5.5.ย 

Why version 5.5?

This sounds like a big jump and appears to discontinue support for 5 versions. However, MySQL versions 5.2, 5.3, and 5.4 were never officially released. Here are the current percentages of sites using each MySQL version for all WordPress sites according to the WordPress.org Stats page (the EOL date for each release is noted in parenthesis):

  • 5.0: 0.13% (January 2012)
  • 5.1: 0.27% (December 2013)
  • 5.5: 14.54% (December 2018)
  • 5.6: 4.51% (February 2021)
  • 5.7: 33.01% (October 2023)
  • 8.0: 11.67% (April 2026)

Note: This only includes versions released prior to the MySQL Innovation/Long-Term Support versioning strategy that was recently announced.

Only 0.4% of all sites are running MySQL < version 5.5. Additionally, 80% of those sites are running a version of WordPress greater than 2 years old (6.1 or earlier). Approximately 15% of all sites are running MySQL 5.5.

Even though the EOL date for version 5.5 has also long passed, the level of usage in the wild is far too high to consider using a required minimum higher than that at this time.

Why 5.5.5 specifically and not just 5.5?

Of all sites currently running MySQL 5.5, over 85% of them are running the 5.5.5 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. with no usage of 5.5.0-5.5.4 being reported.

Using 5.5.5 also ensures two things:

  • The presence of utf8mb4 support (added in MySQL 5.5.3)
  • InnoDB is the default storage engine instead of MyISAM (added in 5.5.5).

While WordPress is perfectly capable of using other character sets, utf8mb4 is the preferred default, falling back to utf8 when itโ€™s unavailable.

How does this affect MariaDB support?

In short, it doesnโ€™t. The MariaDB project used a numbering strategy identical to MySQLs through version 5.5. While MySQL 5.2, 5.3, and 5.4 were not released, MariaDB 5.2 and 5.3 were. This change will effectively drop support for those two releases of MariaDB, These versions reached EOL in 2010 and 2011, respectively. There is currently no reported usage of these two versions in the wild.

What about new versions of MySQL or MariaDB?

There will continue to be no upper limit to the version of MySQL or MariaDB a site owner is allowed to run. As new versions are released, contributors work to evaluate and address any compatibility issues when and if they are discovered.

With MySQL 8.1 and MariaDB 10.0, both projects moved towards a release model with both short and long term releases. A larger discussion needs to take place focused on how this concept fits within the projectโ€™s commitment to backwards compatibility and version support policies. However, this post is not for that discussion. Keep an eye on this blogblog (versus network, site) for a separate post outlining and contextualizing those related challenges.

Wait, Site Health already says 5.5 is the minimum required versionโ€ฆ

Thatโ€™s right! Since the day it was merged into Core for release in WordPress 5.2, Site Health has reported the minimum required version as 5.5. Because the Site Health feature was originally a 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., it leaned hard on having strong recommendations from the start. Because MySQL version 5.5.3 added support for utf8mb4, the decision was made to present 5.5 as the minimum required version instead of 5.0.

When can/will the required version be raised to #INSERT SOME VERSION NUMBER HERE#?

Database software should be treated the same as any other: the most recent publicly available, supported version should always be used whenever possible. Using unsupported or EOL versions of software can leave you and your site susceptible to bugs and security vulnerabilities.

That said, WordPress is steadfast in its commitment to backwards compatibility. Older versions of the software WordPress depends on such as PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher and MySQL or MariaDB will continue to be supported when a sizable number of sites remain on those versions. Historically, the 5% baseline has been used when considering adjustments to the PHP support policy. The same baseline percentage seems reasonable as a starting point to begin future discussions about further changes to the minimum required versions of MySQL and MariaDB.

While the minimum required version is changing in WordPress 6.5, WordPress continues to recommend using MySQL version 5.7 or greater OR MariaDB version 10.4 or greater.

Summary

As a community, we frequently encourage site owners to run actively supported versions of PHP. Letโ€™s advocate more strongly for the same with MySQL and MariaDB. By working together to lower the usage numbers of any versions that have reached their end of life, the potential to use new features to further improve WordPress can be unlocked, all while making the overall ecosystem more healthy and secure.

Props @jorbin, @chanthaboune, @johnbillion, and @sergeybiryukov for pre-publish review.

Roadmap to 6.5

WordPress 6.5 is set to be released on March 26th, 2024. This release brings greater design control and optionality, more robust 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. capabilitiescapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability). with new APIs, access to current block theme functionality for classic themes, and the start of the new adminadmin (and super admin) redesign. More specifically, these significant features include the Font Library for easy global font management, support for Appearance Tools in Classic Themes for more expansive design options, and more robust 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. across the editing experience (including revisions for template parts and templates). New APIs like Interactivity, Custom Fields, and Block Binding expand block capabilities and underpin features like partial sync patterns, and PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher compatibility work ensures alignment with PHP versions. Rollback for 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. and theme updates enhances safety, and 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. fixes address various components for an improved user experience. The first taste of the admin redesign as part of phase 3 efforts are planned for this release in an iterative and contained way by bringing a new experience to the template, template part, and pattern lists within the Site Editor.

As always, whatโ€™s shared here is being actively pursued, but doesnโ€™t necessarily mean each will make it into the final release of WordPress 6.5.

For a more detailed look at the work related to the block editor, please refer to the 6.5 board.

Design tools

Font Library

The Font Library makes it easy for anyone to install, remove, and activate fonts across your site. Itโ€™s available globally, independent of the theme activated, similar to the Media Library. Any installed font, whether installed by a user or a theme, can then be selected across the editing experience.

Follow this tracking issue for more information.

Syncing specific blocks and attributes of patterns

Building upon synced patterns, pattern overrides (previously called partial sync patterns) would allow users to ensure a synced layout and style across patterns while allowing each instance of the pattern to have customized content. This allows for consistency in design across different pieces of content. For instance, consider a testimonial pattern in a grid. With the enhanced feature, someone can insert this testimonial pattern into multiple posts, ensuring that the layout and styling components, such as the overall design of the recipe card, remain consistent across instances. Meanwhile, the content, such as Name, Image, and Role, would be local to each instance allowing for individual customization. Additionally, folks would then be able to revisit and modify the design of the overall testimonial pattern without affecting the content in existing instances. Of note, this work will need to align with the following Custom Fields API and Block Binding API.ย 

Follow this tracking issue for more information.

Section Specific Theme.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. and Colorways

Taking the high level styling system with features like style variations, section specific theme.json offers more granular control for defined parts of your site using that same underlying system. This is a broad set of work and, for 6.5, the aim is to bring color variations to group blocks via the idea of Colorways. Colorways is a subset of section-specific theme.json, with styling elements only. This option would only be available for Group blocks for 6.5 in a code only way except for a minor UIUI User interface to select. These styles would apply curated color, typography, border styles etc along with styles for elements (links, buttons etc). For now, the most common use case is a theme author creating them for a theme to provide a predefined set of colors that have been preselected based on appropriate contrast, aesthetics, and more. In the future, work is being explored to allow users to create them in the Styles interface.ย 

Follow this tracking issue for more information.ย 

Adoption pathways

Support for Appearance Tools in Classic Themes

Adding support for Appearance Tools opens a world of design options that, up until this point, have been only available with Block Themes, or themes using theme.json. For example, adding a simple border to a Group block requires support for Appearance Tools. Work is underway to allow Classic Themes to add support for most of these tools safely, without breakage, unlocking more design options for more sites in a big way.

Follow this tracking issue for more information.

Paving the way for improved Pattern management in Classic Themes

Thanks to some internal code changes, the path is being set for a future release to enable Classic Themes access to the new Patterns experience that the Site Editor provides. Separately, a link for Appearance > Patterns is going to be added for Classic Themes to make Patterns more readily accessible and visible as a feature. This will link to the current patterns experience already in Classic Themes.

Follow this tracking issue for more information.

Foundational experience

New data views for templates, template parts, and patterns in the Site Editor

This work kicks off aspects of the Admin Redesign effort in an iterative and contained way by bringing a new experience to the template, template part, and pattern lists within the Site Editor. The following features are planned:

  • Ability to display a table with specific fields, pagination and quick actions.
  • Toggling fields and sorting and filtering data by field.
  • UI for selecting entries and performing bulk actions.
  • Support for different layouts, like classic table, grid view (including gallery), with the option to display a side-by-side preview.
  • Support for saving and toggling between โ€œviewsโ€, which are specific configurations of layouts, field visibility, etc.

This feature-rich experience provides immediate value both to the Site Editor and begins to lay the groundwork for future work related to Phase 3, including efforts around Workflows and Media Library.

Follow this tracking issue for more information.

Robust revisions

Revisions help create confidence when writing and creating, knowing your changes are always safely stored. For WordPress 6.5, templates and template parts will now display revisions, alongside broader upgrades to style revisions with plans for side by side comparisons, pagination, more detailed descriptions, and more.

Follow this tracking issue for more information.

Customize the Navigation block mobile overlay

6.5 seeks to move the needle with responsive controls by adding the ability to fully customize what your overlay menu will look like. The navigation overlay is the name for the menu thatโ€™s shown when you set and open a mobile menu. Having full control over this mobile menu would allow you to customize the colors, spacing, and blocks offering the option for a distinct menu experience across devices.

Follow this tracking issue for more information.

New APIs

Interactivity 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.

The Interactivity API aims to be a standard way to allow developers to add interactivity to the frontend of their blocks, like hearting a post or adding to cart without page loads. A standard makes it easier for developers to create rich, interactive user experiences, from simple cases like counters or popups to more complex features like instant page navigation, instant search, or carts and checkouts. After testing the API on specific coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. provided blocks for months in the 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/ plugin and, more recently, in core with WordPress 6.4, there are a few remaining tasks to expose the API for extenders: โ€œstore refactoringโ€ based on feedback from early adopters, server-side directive processing that covers SEO requirements and optimizes initial renders, and adding support for ES Modules and import maps. Each of these are projects in their own right and will need to be evaluated for the release.ย 

Follow this tracking issue for more information.

Custom Fields API

This feature aims to create a simple way of connecting block attributes and Custom fields/metadata. Because this is such a broad undertaking, a scaled back version is planned for 6.5 that would accomplish the following:

  1. Connect block attributes and custom fields without a UI.ย 
  2. Include a basic UI to create these bindings where the API can read the metadata value
  3. Add the possibility to edit the value of the 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. field directly through the editing experience.
  4. Add support for more core blocks based on importance and relevancy.ย 

Follow this tracking issue for more information.

Block binding APIย 

This API aims to connect block attributes to values, obtained from different sources, that might vary depending on the context. For example, a value like post_author that changes depending on the current post. This will expand the capabilities of existing blocks without the need to create new ones, which will empower theme developers and site owners. For example, having a heading block with the content of the Post Author without needing a new Post Author block. For 6.5, the work for this API will mainly be focused on serving other pieces of the roadmap, namely Custom Fields and Partial Sync Patterns.ย 

Follow this tracking issue for more information.

PHP compatibility workย 

Several compatibility fixes are scheduled to ship with 6.5, with work underway to improve compatibility with PHP 8.0, 8.1, and 8.2.

Since the adoption of a tiered PHP 8+ compatibility plan, each release brings the opportunity to update official PHP compatibility information for the new, as well as previous, versions of WordPress. Using current data from each PHP 8.x versionโ€™s usage metrics and open compatibility issues, exceptions will be cleared or added, and updates applied to the version chart. Significant exceptions might also warrant a dedicated Make/Core post with additional details.

The official release of PHP 8.3 in late November means that site operators and hosting companies will want to know if WordPress 6.5 is compatible with the latest PHP. Technical exceptions called out on the PHP compatibility page do not provide many users a clear answer to this question. Barring any major issues with running 6.5 on PHP 8.3, it may be helpful to publish an official compatibility notice on WordPress/News (see this example clarifying WordPress 6.4 compatibility on PHP 8.1 and 8.2).

Rollback for plugin and theme updates for automatic updates

Building on prior efforts released in WordPress 6.3, rollbacks for automatic updates to pluginsย is underway. Specifically, this means that checks will be added to ensure that an updated plugin does not cause a PHP fatal error when the plugin is active during an auto-update.. If it does, this error is captured and the previously installed version is restored, along with an email sent to the site admin.

Follow this trac ticket for more information.

Plugin dependencies

Currently, any pluginย that requires another plugin (i.e., a dependency) is on its own to make sure admins install the dependency since the plugin wonโ€™t work without it. To ease that process for everyone involved, work has been underway to create a consistent method to handle dependencies and provide a clear pathway for folks to know the relationship and take proper action while installing these kinds of plugins. Namely, the current approach prevents activation of a dependent plugin if its dependences are not installed and activated. If dependences suddenly become unavailable (such as if a dependencyโ€™s directory is manually deleted), the dependent plugin is automatically deactivated. To learn more about this effort, please review the Feature Project: Plugin Dependencies post.

Follow this trac ticket for more information.

Continued performance improvements

While performance is a constant focus and each new feature must be reviewed for performance impact, a few priority projects are on the performance teamโ€™s list to address for 6.5:

  • Revised translation loader to make localized sites more performant.
  • Enhance performance of (block) templates, template parts, and patterns with selective caching.

Outside of these larger initiatives, typing performance is receiving a specific focus with major improvements expected.

Bug fixes and UXUX User experience iterations

In TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., there are already 41 tickets closed and 9 set for early across various components and focuses. Itโ€™s still early in the cycle so expect these efforts to continue. Additionally, various main tools and features of the editing experience have planned iterations like List View, background image support for the Group block, revisiting template vs content editing modes, expanding and refining block renaming, aligning page edit features in Site Editor and Post Editor, and adding a box shadow component.ย 

Raising the minimum version of MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com

MySQL 5.0 was initially made generally available in 2005 and reached its end of life (EOL) in January of 2012, making it unsupported and insecure for over 12 years. This is extremely old and this requirement is being raised. In WordPress 6.5, the minimum required version of MySQL will be raised from 5.0 to 5.5.5.ย 

Read this post for more information.

Thank you to @richtabor @ironprogrammer @afragen @priethor @saxonafletcher for their help with this post.

Changelog

  • Jan 23rd 2024: updated the improved pattern experience section to clarify whatโ€™s being added for 6.5

#6-5, #release-roadmap

What’s new in Gutenberg 17.2? (6 December)

โ€œWhatโ€™s new in 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/โ€ฆโ€ posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Site Editor project (formerly called Full Site Editing).



Gutenberg 17.2 has been released and is available for download! This release includes a few improvements for the Site Editing experience โ€” including the ability to drag and drop to the top and bottom of the document and sticky table headers โ€”, improvements to the Interactivity 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. docs, and a lot of Bug fixes and other improvements. Letโ€™s take a closer look!

  1. Allow dragging and dropping onto the beginning and end of a document.
  2. Sticky table headers and pagination.
  3. Toolbar for the Distraction-Free Mode
  4. Other notable highlights
  5. Changelog
  6. Contributors

Allow dragging and dropping onto the beginning and end of a document.


Improves the experience of dragging and dropping Blocks onto the very top and/or bottom of the document by virtually enlarging the area โ€” this doesnโ€™t have a visual impact on the rest of the editing experience or on the front end, and makes it a much less finicky experience! (#56070)

Sticky table headers and pagination.


These provide extra context when scrolling down on large datasets, saving us from scrolling back up every time we inevitably forget what each column is supposed to contain, or which page youโ€™re currently looking at. (#56157)

Toolbar for the Distraction-Free Mode


The 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. Toolbar will now slide into view by moving your mouse to the top of the editor when using Distraction-Free mode. (#56295)

Other notable highlights

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. data 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.: Extend support to other post types. (#56353)
  • Render htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. in post titles in visual mode and edit HTML in post title in code view. (#54718)
  • Interactivity API: Use modules instead of scripts in the frontend. (#56143)

Changelog

Features

Modules API

  • Interactivity API: Use modules instead of scripts in the frontend. (56143)

Enhancements

  • Add translator comments for strings containing date formats. (56531)
  • Block Theme Preview: Display the theme name on the activate button. (55752)
  • Core data revisions: Extend support to other post types. (56353)
  • Improve tooltip for parent blocks on the block toolbar. (56146)
  • Simplify template author token. (56566)
  • Style engine: Allow CSSCSS Cascading Style Sheets. var output for fontSize and fontFamily and update documentation. (56528)
  • Try: Change โ€œDetach patternโ€ to โ€œDetachโ€. (56323)
  • useEntityRecord: Improve unit tests. (56415)

Components

  • Add focus rings to focusable disabled buttons. (56383)
  • DropdownMenu V2 tweaks. (56041)
  • DropdownMenu V2: Add support for rendering in legacy popover slot. (56342)
  • FormToggle: Refine animation. (56515)
  • Slot: Add styles prop to bubblesVirtually version. (56428)
  • Tabs: Cleanup and improvements. (56224)
  • Try Ariakit Select for new CustomSelectControl component. (55790)

Block Editor

  • Block Settings: Only display parent block selector on small screens. (56431)
  • Drag and drop: Allow dragging to the beginning and end of a document. (56070)
  • List View: Expand state if a block is dragged to within a collapsed block in the editor canvas. (56493)

Data Views

  • Data list view: Make 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. row, table headerHeader The 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 pagination sticky. (56157)
  • Simplify dataviews view button. (56485)
  • Update data view menu item actions. (56398)

Global Styles

  • Global style revisions: Redesign style revision items. (55913)
  • Global styles revisions: Migrate API call to getRevisions(). (56349)
  • Style Revisions: Remove style revisions dropdown menu. (56454)

Site Editor

  • Add โ€˜View siteโ€™ action to โ€˜Site updatedโ€™ snackbar. (52693)
  • Add the Post Author component to the Page sidebarSidebar A 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.. (56368)
  • Redirect to main page menu if page record not found. (56177)

Layout

  • Add layout classes to legacy Group inner container. (56130)
  • Add setting to disable custom content size controls. (56236)

Patterns

  • Small tweaks to CreatePatternModal. (56016)
  • Update Labels in Block Inserter (block patterns tab). (55986)

Icons

  • Update trashTrash Trash 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. icon. (56569)

Block Library

  • Disable block renaming support for Nav Link block. (56425)

Distraction Free

  • Add top toolbar to distraction free mode. (56295)

CSS & Styling

  • Gallery Block: Use styled scrollbars for image captions. (56252)

Typography

  • Font Library: Remove insecure properties. (56230)

New APIs

  • Revisions: Add new selectors to fetch entity revisions. (54046)

Interactivity API

  • MigrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. to the new store() API. (55459)

Bug Fixes

  • Core data: Harmonize getRevision selector and resolver function signatures. (56416)
  • Editor styles: Scope without adding specificity. (56564)
  • Fix Restore Post title placeholder. (56580)
  • Post Schedule Panel: Remove text overflow ellipsis. (56319)
  • Rich text: Pad multiple spaces through en/em replacement. (56341)
  • Site Editor: Add a fallback template showing the title and content for the post only mode. (56509)
  • useEntityRecord: Do not trigger 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/ requests when disabled. (56108)

Block Editor

  • (RichText)(Workaround)(17.1.x) Fallback to a string arg in collapseWhiteSpace() if value is not a string. (56570)
  • Cover block: Pass dropZoneElement reference to fix dragging within cover block area. (56312)
  • PostCSS style transformation: Fail gracefully instead of throwing an error. (56093)
  • Undeprecate the โ€˜__experimentalImageSizeControlโ€™ component. (56414)
  • useMovingAnimation: Clear translate3d rule when animation is finished. (56410)

Block Library

  • File block: Remove anchor 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.) when copy pasting to file name. (56508)
  • Fix label of columns inspector panel. (56647)
  • Post Template: Fix incorrect offset query. (56440)

Components

  • Design Tools: Fix last ToolsPanelItem styling. (56536)
  • Fix FormTokenField suggestions broken scrollbar when __experimentalExpandOnFocus is defined. (56426)
  • Tabs: Fix flaky unit tests. (55950)

Global Styles

  • Additional CSS: Fix on change validation. (56434)
  • Global styles revisions: Update isResolving flag. (56491)
  • Spacing: Fix block error if spacing unit array empty in theme.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.. (56306)

Post Editor

  • Editor: Fix issue where createBlock in block template caused list view collapse. (56666)
  • Save post button: Avoid extra re-renders when enablng/disabling tooltip. (56502)

CSS & Styling

  • Reduce specificity of default Cover text color styles. (56411)
  • Restore Post Title visual styles in Code View mode. (56582)

Site Editor

  • Fix template resolution for templates assigned as home page. (56418)
  • Site Editor Sidebar: Fix actions vertical alignment. (56218)

Modules API

  • Modules: Fix import map polyfill not being copied on the generated 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. ZIP. (56655)

Saving

  • Editor: Reinstate anonymous callback for saved post state. (56529)

Plugin

  • Update Readme.txt tested up to 6.4. (56427)

Patterns

  • Fix issue with template in replace template screen. (56407)

Layout

  • Fix issue where layout classnames are injected for blocks without layout support. (56187)

Typography

  • Font Library: Fix fonts not displaying correctly. (55393)

Colors

  • Duotone: Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. from Core to fix filters in classic themes. (54778)

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)

Data Views

  • DataViews: Make disabled pagination buttons focusable. (56422)

Block Library

  • Image Block: Enable image block to be selected correctly when clicked. (56043)

Block Editor

  • Tooltip: Donโ€™t render buttons tooltip when show button text labels is enabled. (55842)

Components

  • Improve Button saving state accessibility. (55547)

Patterns

  • Fix focus loss after converting to a synced pattern. (55473)

Site Editor

  • Migrating StyleBook to use updated Composite implementation. (55344)

Performance

  • Avoid calling postcss when not needed. (56601)

Block Editor

  • Optimize โ€˜Connectionsโ€™ inspector controls. (56443)

Global Styles

  • Make search more responsive for block type list. (56139)

Experiments

Data Views

  • DataViews: Document view.layout. (56637)
  • DataViews: Extract common constants to file. (56251)
  • DataViews: Rename InFilter component to FilterSummary. (56506)
  • DataViews: Scope names of V2 UIUI User interface components. (56503)
  • DataViews: Update field API to generate filters based on type. (55996)
  • DataViews: Update filter component. (56110)
  • Dataviews: Add confirmation step before deleting a page. (56504)
  • Dataviews: Add preview and grid view in templates list. (56382)
  • Dataviews: Grid layout refinements. (56441)
  • Dataviews: Remove link from author. (56467)
  • Dataviews: Update item actions in grid view. (56501)
  • Fix data view menu item radius. (56395)

Post Editor

  • Render html in post titles in visual mode and edit HTML in post title in code view. (54718)

Documentation

  • Add the attributes definition page to the create block tutorial of the platform documentation. (56429)
  • Add the transforms page to the create block tutorial of the platform documentation. (56559)
  • Add thee block supports page to the create block tutorial of the framework docs. (56483)
  • Added clarifications and examples to โ€œGet started with wp-scriptsโ€. (56298)
  • Block Editor: Fix typo in URLInputโ€˜s onKeyDown prop documentation. (56322)
  • Bring back non-JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. tabs in block editor handbook. (56561)
  • Docs: Fix incorrect build script description in script package. (56332)
  • Docs: Fundamentals of Block Development โ€“ File structure of a block. (56551)
  • Docs: Fundamentals of Block Development โ€“ Registration of a block. (56334)
  • Docs: Fundamentals of Block Development โ€“ The block wrapper. (56596)
  • Docs: Fundamentals of Block Development โ€“ Working with 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 the Block Editor. (56553)
  • Docs: Fundamentals of Block Development โ€“ block.json. (56435)
  • Docs: Improve downloadBlob example. (56225)
  • Documentation โ€“ Block Editor Handbook โ€“ Add end user documentation about Block Editor as a resource on the Landing Page of the Block Editor Handbook. (49854)
  • Fix overly complex code example in ComboboxControl readme. (56365)
  • Fix version in useSetting deprecation notice. (56377)
  • Fundamentals block development โ€“ landing and first pages. (56584)
  • Fundamentals of Block Development โ€“ fix save definition. (56605)
  • Interactivity API: New store() API documentation. (56764)
  • Interactivity API: Update TS/JSDocs after migrating to the new store() API. (56748)
  • Link preview image to live example using WordPress Playground. (56292)
  • NavigableContainers: Fix doc typo in onKeyDown prop. (56352)
  • Release docs: Add new section about troubleshooting the release. (56436)
  • Remove all {% codetabs %} instances and any vanilla JS references. (56121)
  • Simplify code example in ToggleControl component readme. (56389)
  • Text and Heading: Improve documentation around default values and truncation logic. (56518)
  • Theme JSON schema: Add heading/button key to color definition. (55674)
  • Update for 6.4.1 for versions in WP. (56216)
  • Update references to the gutenberg-examples repo to the new block-development-examples. (56119)
  • Update template name in create-block command. (56281)
  • Update webpack options for wp-scripts in README.md. (56314)
  • BoxControl: Update story and refactor to Typescript. (56462)

Code Quality

  • Blocks pkg: Remove โ€˜browserโ€™ dependencies. (56433)
  • DataViews: Code Quality remove some unused props from action. (56477)
  • Editor: Move the template focus modes to the editor store. (56472)
  • Extract a PostPanelRow component from the different sidebar panels. (56238)
  • Interactivity API: Add missing changelog entry for the new store() API. (56611)
  • Move the DisableNonContentBlocks component to the editor package. (56423)
  • Post Schedule Panel: Fix Sass deprecation warning for division. (56412)
  • Remove compatibility layer for WP 6.2. (56464)
  • Unify the PostSchedule component between site and post editors. (56196)
  • Update: Refactor useAddedBy to use authorText and originalSource fields. (56568)

Block Library

  • Add align support to the image block โ€“ alternative. (55954)
  • Backmerge block renaming fixes/refactors from 6.4 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". into Gutenberg trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.. (56386)
  • Pattern placeholder: Remove duplicate โ€˜useDispatchโ€™ hook. (56397)

Components

  • Remove incorrect version from deprecated __nextHasNoMarginBottom prop of AnglePickerControl Component. (56336)
  • Revert โ€œDropdownMenu V2: Add support for rendering in legacy popover slotโ€. (56484)

Block Editor

  • Migrating block editor BlockPatternsList component. (56210)
  • useInnerBlocksProps: Stabilise dropZoneElement prop. (56313)

Data Views

  • Dataviews: Ensure items and fields are using a unique id. (56366)

Design Tools

  • Fix: Theme.json font settings in 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.. (56309)

Tools

  • Workflows: Update โ€˜days-before-staleโ€™ for flaky test report issues. (56585)
  • scripts: Update jest-dev-server to v9. (56552)

Testing

  • Dataviews: Add first end-to-end tests. (56634)
  • Migrate โ€˜align hookโ€™ end-to-end tests to Playwright. (56480)
  • Migrate โ€˜block directoryโ€™ end-to-end tests to Playwright. (56593)
  • Migrate โ€˜block iconsโ€™ end-to-end tests to Playwright. (56610)
  • Migrate โ€˜custom taxonomiesโ€™ end-to-end test to Playwright. (56486)
  • Migrate โ€˜sidebar permalinkโ€™ end-to-end tests to Playwright. (56253)
  • Migrate Is Typing Test to Playwright. (56616)
  • Page spec: Merging create page and toggle preview tests. (56129)
  • Playwright Utils: Fix the method of getting post ID in โ€˜publishPostโ€™. (56421)
  • end-to-end tests: Merge Puppeteer into single job, split Playwright further. (56363)

Build Tooling

  • Add missing labels to changelog script, and enhance mapping function. (55066)
  • Create block: Update interactive-template to the new store() API. (56613)

Security

  • WP_Theme_JSON_Gutenberg: Add nested indexed array schema sanitization. (56447)

Various

  • Add: Author text and original source to wp_template_part. (56567)

Data Views

  • Dataviews: All Templates: Add filters to template author. (56338)
  • Dataviews: All templates: Add: Sorting to template author and add author_text to the rest API. (56333)

Block Editor

  • Migrating BlockPatternSetup to use updated Composite implementation. (55425)
  • Migrating InserterListbox to use updated Composite implementation. (56246)

HTML API

  • Backport updates from Core. (56578)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @andrewhayward @andrewserong @annezazu @apeatling @arthur791004 @bph @brookewp @chad1008 @chiilog @ciampo @DAreRodz @dmsnell @draganescu @ellatrix @fabiankaegy @flootr @fluiddot @fullofcaffeine @geriux @getdave @glendaviesnz @jameskoster @jasmussen @jeryj @jffng @jorgefilipecosta @juanmaguitar @kevin940726 @luisherranz @MaggieCabrera @Mamaduka @matiasbenedetto @megane9988 @NekoJonez @ntsekouras @oandregal @ramonjd @richtabor @ryanwelcher @SavPhill @Soean @t-hamano @talldan @tellthemachines @vcanales @youknowriad @zaguiini

Many thanks to @annezazu for the assist when publishing the plugin, @jameskoster for designing graphics for this post, and @draganescu, @ramonjd, @scruffian and @cbravobernal for gathering highlights!

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

Dev Chat agenda, December 6, 2023

The next weekly WordPress developers chat will take place onย Wednesday, December 6, 2023 at 20:00 UTCย in theย coreย channel ofย Make WordPress Slack.

Welcome and housekeeping

All are welcome to join Dev Chat.

Dev Chat summary from November 29, 2023 โ€“ props to @webcommsat for the agenda and summary, and @hellofromtonya for facilitating the meeting.

If you can help with dev chat summaries, please raise your hand in the meeting.

Announcements

Highlighted posts

6.4 Retro recap

Proposal for a default theme task force for 2024

Feedback requested on redesign of Developer Resources section of WordPress.org and a call for testing.

Summary posts covering content from November 2023: Whatโ€™s new for Developers, November 2023 and Whatโ€™s New on Learn WordPress, November 2023 edition. More developer-focused posts are available on the Developer Blog.
The next editorial meeting has been moved to December 14, 2023, 13:00 UTC in the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-dev-blogblog (versus network, site) channel on 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/.

Create tours available for Make P2s (team blogs)

Nominations for 2024 edition, core team reps โ€“ nominations open!

Core Team update, December 4, 2023

Please add any additional highlighted posts in comments.

Update from core-editor

This is a new experimental section in the agenda.
Please also add your thoughts to the discussion on the future of the core-editor chat.

Forthcoming release updates

WordPress release: 6.4

Any new issues?

New updates on 6.4.x release team or dates for 6.4.2?

Next major WordPress release: 6.5

Any new updates?

Existing 6.5 links:

Scrubs

Are you able to help with future 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? Bug scrubs post.

Next scrub: December 19, 2023 at 19:00 UTC in the core Slack channel.

Tickets or Components help requests

Please add any items for this part of the agenda to the comments โ€“ tickets for 6.5 will be prioritized. If you can not attend dev chat live, donโ€™t worry, include a note and the facilitator can highlight a ticketticket Created for both bug reports and feature development on the bug tracker. if needed.

Open floor

If you have any additional items to add to the agenda, please respond in the comments below to help the facilitator highlight them during the meeting.

Dates for Dev Chat

The last Dev Chat in 2023 will be on December 27, and the first in 2024 will take place on January 4.

#agenda, #dev-chat