The WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site forย general updates, status reports, and the occasional code debate. Thereโs lots of ways to contribute:
Found a bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.?Create a ticket in the bug tracker.
WordPress 6.4.2 Maintenance & Security Release: This minor releaseMinor ReleaseA set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. addresses a handful of CoreCoreCore 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!
Redesigning Developer Resources and a call for testing: Your feedback is requested to help move forward on improving the design and information flow for WordPress.orgWordPress.orgThe 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/โs Dev Resources content.
Create Tours for Make P2s: All team blogs have this new pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. activatedโฆhow can your team use it?
Coming toย GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โblocksโ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/ย 17.3,ย you can explore partially synced patterns behind an experimental flagย by enabling the โConnectionsโ experiment when the time comes.
Progress updateย on having the navigation overlay as a separate template part that can be individually customized.
PR toย Add layout classes to legacy Group inner containerย merged (requires aย PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higherย backportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch.) as part of an overall effort to bring appearance tools to classic themes.
The 6.5 roadmap is slated to ship this week barring any last minute feedback.
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 releaseA 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
Are you able to help with futureย bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.ย 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 noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, 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 ticketticketCreated 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.
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:
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.
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ย APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.ย docs, many bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes and a range of other improvements.
Raising the minimum version of MySQL in WordPress 6.5. In WordPress 6.5, the minimum required version of MySQLMySQLMySQL 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.ย
RevisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.: 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 GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โblocksโ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/ 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.
UXUXUser experience: The copy for warnings for removing key blocks, like post content or query loopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop,ย has been simplified and updatedย to help add more friction to the experience. Please keep sharing feedback here so we can iterate quickly!
BlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. 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 backportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. to a minor WP release fix to be aware of with SlotFill:ย SlotFill: Allow contextual SlotFillProviders.
6.5 documentation tracker has been started on GitHubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โpull requestโ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/. A request from @webcommsat please add to tickets as โneeds dev notedev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, 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 guideThe 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 ticketticketCreated for both bug reports and feature development on the bug tracker. is close to commit.
Are you able to help with future bug scrubs? Bug scrubs post.
Next scrub: December 19, 2023 at 19:00 UTC in the core SlackSlackSlack 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: TracTracAn 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 testCode written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. 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.
Reminder there will be no SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ meeting Tuesday December 26
Improve performance of `_get_block_templates_paths` (TicketticketCreated for both bug reports and feature development on the bug tracker.#58196) Added Unit testunit testCode written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. โย https://github.com/WordPress/wordpress-develop/pull/5281 Need to fix the Review changes.
Improving blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. variations calling for perfromace ( We will need GB team to give us their feedback here) WordPress-develop PR โย https://github.com/WordPress/wordpress-develop/pull/5718/files
@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 GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โblocksโ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/ side more familiar with how these are consumed (e.g.,ย @mamaduka, etc).
JavaScriptJavaScriptJavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a userโs browser.
https://www.javascript.com & CSSCSSCascading Style Sheets.
@flixos90 I drafted a module proposal for the Speculation Rules APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. 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 branchbranchA directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". 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
@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 coreCoreCore 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
Link to roadmap projects and link to the GitHub repo for PluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. Checker
@pbearne I have replied/updated the Disable autoload for large options patchpatchA 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
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.
Reminder there will be no SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/ meeting Tuesday December 26
With the release of WordPress 3.2 in 2011, the minimum version of MySQLMySQLMySQL 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.5point releaseMinor ReleaseA set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. 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, bothprojects 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 pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party., 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 PHPPHPThe 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.
WordPress 6.5 is set to be released on March 26th, 2024. This release brings greater design control and optionality, more robust blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.capabilitiescapabilityAย 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 revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. 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 PHPPHPThe 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 pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. and theme updates enhances safety, and bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes 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.
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.ย
Section Specific Theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. 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 UIUIUser 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.ย
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.
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.
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.
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.
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.
Interactivity APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.
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 coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. provided blocks for months in the GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โblocksโ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/ 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.ย
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:
Connect block attributes and custom fields without a UI.ย
Include a basic UI to create these bindings where the API can read the metadata value
Add the possibility to edit the value of the metaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. field directly through the editing experience.
Add support for more core blocks based on importance and relevancy.ย
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.ย
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.
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.
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:
Raising the minimum version of MySQLMySQLMySQL 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.ย
โWhatโs new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โblocksโ to add richness rather than shortcodes, custom HTML etc.
https://wordpress.org/gutenberg/โฆโ posts (labeled with the #gutenberg-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 APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. docs, and a lot of Bug fixes and other improvements. Letโs take a closer look!
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 BlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. 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
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. data revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.: Extend support to other post types. (#56353)
Render htmlHTMLHyperText 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)
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 filterFilterFilters 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 headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitorโs opinion about your content and you/ your organizationโs brand. It may also look different on different screen sizes., and pagination sticky. (56157)
Add โView siteโ action to โSite updatedโ snackbar. (52693)
Add the Post Author component to the Page sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (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)
Update Labels in Block Inserter (block patterns tab). (55986)
Icons
Update trashTrashTrash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. icon. (56569)
Block Library
Disable block renaming support for Nav Link block. (56425)
Revisions: Add new selectors to fetch entity revisions. (54046)
Interactivity API
MigrationMigrationMoving 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)
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 APIThe REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think โphone appโ or โwebsiteโ) can communicate with the data store (think โdatabaseโ or โfile systemโ)
https://developer.wordpress.org/rest-api/ 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 tagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) when copy pasting to file name. (56508)
Global styles revisions: Update isResolving flag. (56491)
Spacing: Fix block error if spacing unit array empty in theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (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 pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. ZIP. (56655)
Saving
Editor: Reinstate anonymous callback for saved post state. (56529)
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: BackportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. from Core to fix filters in classic themes. (54778)
AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โdirect accessโ (i.e. unassisted) and โindirect accessโ meaning compatibility with a personโs assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
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)
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-JSJSJavaScript, 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 JavascriptJavaScriptJavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a userโs browser.
https://www.javascript.com in the Block Editor. (56553)
Docs: Fundamentals of Block Development โ block.json. (56435)
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)
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 branchbranchA directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". into Gutenberg trunktrunkA directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.. (56386)
Dataviews: Ensure items and fields are using a unique id. (56366)
Design Tools
Fix: Theme.json font settings in unit testunit testCode written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression.. (56309)
Tools
Workflows: Update โdays-before-staleโ for flaky test report issues. (56585)
Many thanks to @annezazufor the assist when publishing the plugin, @jameskosterfor designing graphics for this post, and @draganescu, @ramonjd, @scruffianand@cbravobernalfor gathering highlights!
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 coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.-dev-blogblog(versus network, site) channel on SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.
Are you able to help with future bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. 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 ticketticketCreated 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.
You must be logged in to post a comment.