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.
Gutenberg 15.4.0 is the latest release of the 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 with the RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). of 15.5.0 due today. @welcher and @greenshady will lead this one.
Updates based on updated scope for site editing projects
I’ve been focussing a lot on this PR (Refactor and stabilize selectors API) and the followup from it. The change there has quite far reaching consequences so it’s a good one to be aware of.
Working mostly on improving the fallback handling in the Nav 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.. It’s not quite ready for review yet but it should improve the stability.
I’m also seeking opinions on whether folks are interested in being able to give custom labels to group blocks in the list view? If you are then please +1 on this comment.
There were some regressions with the update to only render duotone filters on the page, and the selectors block.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.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. has been stabilized, so I’m also working on updating the duotone block supports to use that new API.
Using 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 be the repository owner. https://github.com/ CoPilot on PR descriptions 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/
Folks were asked to leave their input on the Discussion in Github.
Concerns about AI in Gutenberg and WordPress
@chopinbach raised concerns about usage of AI within WordPress and Gutenberg.
@get_dave reflected that it was a valid concern but he was unaware of anywhere where AI or Deep Learning was currently in use within CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress..
@get_dave asked whether leadership had previously provided any direction on the usage of AI within the WP project. No one was able to think of anything.
As this is a very large topic, @get_dave advised creating a Discussion on Github to allowed this to be discussed in a more considered manner outside of a chat-based format.
@get_dave wondered whether regularly contributors could take a moment to update the file as per their own preferences and current focus areas.
@get_dave also noted that becoming a CODEOWNER shoulld not mean that individual becomes solely responsible for a given area. The right to disconnect is important.
@fabiankaegy noted there is some fear around adding oneself to the CODEOWNERS file and suggested adding documentation to explain the purpose of the file to make it more open to changes.
@wildworks agreed to consider opening a PR to update the docs to include a section on CODEOWNERS.
So even though the intent is not that they are “guardians” of that section of the code, to new contributors submitting code it can appear as though they are fulfilling that role.
After a regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. with date formats prompted a new code freeze and the delay of the 6.2 release, the release leads decided to cancel this week’s Dev Chat.
Why?
Release parties for major versions tend to run three or more hours. So it’s likely that the 6.2 release won’t have finished by the time dev chat normally starts. Plus, if the release does finish early, lots of usual dev chat attendees will be pretty tired.
We are seeking basic workflow feedback for the Plugin Dependencies feature. Testing should be very straightforward.
The testing pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party was chosen because it fulfilled the following criteria:
Plugin is in the plugin repository.
Plugin has the required Requires PluginsheaderHeaderThe 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. for Plugin Dependencies.
Install and activate The Events Calendar CategoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. Colors plugin.
The goal is to see how intuitive the process is or might become.
Feedback
What did you do?
Did you get stuck? Where?
Were you able to figure out the path forward?
What did you do?
Did the experience feel “natural” to WordPress?
Thanks for testing. Testing should last for 3 weeks.
There is currently a large number of outstanding issues 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/ repository with the [Type] Developer Documentation label. We think that it would help to bring the BlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor handbook more up-to-date and correct any errors and/or omissions that may exist if some of the backlog of issues were addressed.
Starting Thursday, March 30, 2023, at 13:00, we will begin holding a weekly meeting to review and triagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. developer documentation issues in the Gutenberg repository. These meetings will take place every Thursday at 13:00 UTC in the #core-editor room.
The WordPress 6.2 release was due today, March 28, 2023. However, a regression with date formats has been spotted during the 24-hour freeze. Release leads have agreed to revert the ticketticketCreated for both bug reports and feature development on the bug tracker. that introduced the regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5., which will require another Release Candidaterelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). version, restarting the 24-hour freeze timer, and a new release date on March 29th.
Ensuring the newest version of WordPress meets the best quality standards and doesn’t introduce a regression that can impact many popular business-oriented plugins is essential.
WordPress 6.2 Release Candidate 5 has been shipped, reverting the following changeset:
Following this RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). release, the 24-hour code freeze timer has been restarted, and the current target release date is 2023-03-29 at 17:00 UTC.
My two focuses, get lazy loading 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. across the line for term meta (working on comment meta) and implementing wp_cache_get_multiple in more places in coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.
@aristath work continues in the SQLite project – as well as the php autoloader for wp-core
@joemcgill I’m just wrapping up an initial round of profiling observations, and plan to have something written up to share soon. Some highlights are that there are lots of places where we could try to reduce the use of file system reads associated with 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. registration and template rendering that we wanna look into. There is also a potential opportunity for some improvements to the way translations are being handled and classic seems that we also want to review.
@spacedmonkey already has some fixes in the works for some issues we discovered while comparing notes. I continue to be somewhat hampered by only being able to use one arm, but I’m working through it.
@rmccue As an aside, I noticed that the method of merging translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. files in memory is probably suboptimal and we might be able to avoid that. (I’ve been reimplementing pomo in native code, and noticed it there)
@olliejones Work continues on SQLite, next is to load woocommerce and beat on it.
Future project: identify as many places in core where the SQL is non-portable 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/. specific stuff and work on making it standard. Should that be a TRACTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.ticketticketCreated for both bug reports and feature development on the bug tracker.?
@joemcgill I definitely think that having trac tickets that describe any improvements you’d like to see made would be useful.
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.
@10upsimon We are addressing the issue(s) around script concatenation, work is in progress and in the final stages of review, with minor iterations ongoing. Unit tests are being implemented to validate the approach and should be ready for final review today or tomorrow.
We are entering into a more holistic/overall code review of work done to date, essentially a code review of all work done thus far as part of the epic. Minor iteration is anticipated as part of this review process and will be executed as required.
@flixos90 I have been continuing on the lazy-loading exploration and am getting close to opening Trac tickets for the individual pieces of work
To clarify, this is about avoiding to lazy-load LCP images, or rather in-viewport images in general
@flixos90 I have also been thinking a bit about the fetchpriority="high" feature for which we already have a module. One thing that we may need to iterate on there is that it just adds the attribute to whichever first image doesn’t have loading="lazy". This is not terrible, but it’s also probably not the best way to go about it, since the two attributes should not simply be mutually exclusive. The guidance is rather:
fetchpriority="high" should be only on the LCP image.
loading="lazy" should be omitted on images above the fold (i.e. potentially more images than just the LCP image).
@joemcgill I am in the very early stages of looking into ways we can improve the way WordPress calculates the sizes attribute.
@joegrainger We have 2 tasks remaining for the 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 infrastructure with plans to complete this week. Once done, we will start performing initial testing and review the infrastructure holistically before working on the additional checks. Progress can be seen on the GitHub repo here. As always, feel free to take a look and leave any thoughts/ideas you may have in the repo. Thanks!
@spacedmonkey Just flagging, I want to get the core unit tests running against redis. In my research, more hosts are using redis then memcache, so we could test against this and change our thinking of object caching in WP space from memcache to redis https://core.trac.wordpress.org/ticket/58000
@olliejones fwiw the SQlite Object Cache plugin has extensive perf. instrumentation built in.
Open Floor
@rmccue Re SQLite, I’m moderately concerned about the potential performance impact that introducing another layer of abstraction may introduce there. A traditional reason that WP hasn’t been DB-independent is because of (theoretical) performance gains by tightly coupling the two and taking advantage of that. (Which are assumptions I think do need to be tested.) I realise I’m coming in late to this, but I guess I’m just not seeing how the SQLite work ties into performance specifically. (I see a clear case for the non-performance benefits.)
@aristath Well, I admit that the tie between SQLite and performance is a bit weird… but the way I see it, it comes down to this: on a small, lower-end server, the server’s resources are shared between a php server, apacheApacheApache is the most widely used web server software. Developed and maintained by Apache Software Foundation. Apache is an Open Source software available for free., and a MySQL server. By using SQLite, the server can allocate its limited resources to php and therefore achieve better performance. It’s better for sustainability mostly, and for performance on smaller sites (that usually are hosted on cheap servers) the performance gains will be there
@rmccue I can see how eliminating the latency and translation between two separate servers for PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher and MySQL could help performance, not sure of the overhead if it’s on the same server; that said, it feels like the primary goals of the project are not performance related
@olliejones It might ??? be a good idea sometime to spin off a team to do dbms-independence work, the target of which would be support for SQL Server, postgreSQL, SQLite, and, gag, Oracle. Having those would help scale up WordPress sites. postgreSQL especially because it can do wildcard searches with indexes. But that imaginary project’s connection to this team is a bit tenuous, as you mention.
Discussions here continued beyond the end of the meeting
@thomasdevisser has created a discussion around restructuring the CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor documentation. Please chime in with your thoughts here: https://github.com/WordPress/gutenberg/discussions/48998
Joshua de Lange shared that they are looking into a fix for a longstanding issue where the Image 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. doesn’t have the height/width attribute defined unless it was specifically added. https://github.com/WordPress/gutenberg/issues/23244#issuecomment-1448431121
Open Floor
@cbirdsong ran into an issue where a strict content security policy prevented a site from outputting any inline styles / style tags on the page. This directly clashes with the current approach of the block editor with the style engine. A discussion around this topic should get 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 be the repository owner. https://github.com/.
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/ 15.5 RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta)..
Over the last few years, the WordPress project has been transforming the way users create and manage content on their websites. The introduction of blocks and the editing experience surrounding them has provided people with increased flexibility and expressive options.
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/ project has undergone several phases since its inception. It began with the introduction of the blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor in WordPress 5.0, which allowed users to create and edit content using modular blocks. It then followed with a second phase, bringing the block editing experience to the rest of the site.
As the project evolved, new features were introduced to enhance the user experience further. Patterns, for instance, allowed users to reuse predefined block combinations and layouts, helping streamline the design process. Block themes enabled creators to fully embrace the blocks for an entire website, from 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. to footer. The community’s collaborative spirit has fostered an ever-growing library of resources that empower users to create stunning and highly functional websites.
We are now planning its third phase, which is going to be centered around fostering seamless collaboration, tying together the user experience, and streamlining the content management flows to improve the way creators and teams work together within WordPress.
To accomplish this, we’ll be looking beyond the editors at the rest of the adminadmin(and super admin) experience. This post provides a preliminary outline of the focus areas. These items are not set in stone, and your feedback and contributions are crucial to help shape the direction.
Real-time collaboration. Imagine being able to work together in real-time across all block editors, crafting content and designs seamlessly without being locked out of editing. The goal is to provide all the necessary infrastructure and UIUIUser interface to handle multiple users working together on the same content simultaneously, making it easier to create, edit, and customize web pages and posts as a team.
Asynchronous collaboration. While simultaneous collaboration is a crucial part to unlock, there are multiple workflows that rely on asynchronous collaboration that will also receive attention. Key features include draft sharing for content and design changes, inline block commenting, review assignments, improved version controlversion controlA version control system keeps track of the source code and revisions to the source code. WordPress uses Subversion (SVN) for version control, with Git mirrors for most repositories., and task management. The goal is to enable users and larger teams to collaborate on projects and its different parts at their own pace and based on their workflows.
Publishing flows. This includes the various processes, requirements, and steps involved in creating, editing, reviewing, and publishing content within WordPress. These flows could include features such as editorial requirements, customized goals (accomplish certain number of words or images), task completion prerequisites (set featured imageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.; complete info on block x; etc; before publishing is unlocked), and support for multiple preview contexts (members vs no members, different context for stories, etc). CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. wouldn’t necessary add all the features but provide the necessary infrastructure to define flows that can integrate seamlessly with the editor.
Post 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. interface. Make them more visual, aware of individual blocks, and explore adding the ability to schedule revisions across multiple parts of a site. For example, being able to target updates for an event or campaign that might require coordinating the scheduling of multiple content types and resources. This also overlaps with addressing theme switching flows and scheduling that leverage the flexibility of block templates and styles.
Admin design. Begin the process for an admin design update and navigation work, with plugins and customized user flows in mind. Admin notices and the UI library of design components will be a major part of this effort to ensure use cases are supported while respecting the user experience. This work also includes improving the admin list views (those used in posts, pages, categories, templates, comments, and by hundreds of plugins) with a more modern design and refined extensibility support for interactivity.
Library. Introduce an admin section or “library” for managing blocks, patterns, styles, and fonts. As part of this work, also look at what improvements can be done to enhance the media library design, interactions, and extensibility.
Develop a global search & command component that’s extensibleExtensibleThis is the ability to add additional functionality to the code. Plugins extend the WordPress core software. and can accommodate navigating to content (example: edit About page); navigating to admin sections (example: go to WooCommerce orders); and running contextual commands (example: create new post; toggle top toolbar; insert pattern; etc). As AI tools are taking the world by storm, this could also play an important role in letting 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 authors integrate novel solutions that are prompt based in nature.
If there’s anything you were hoping to see addressed that’s not yet captured, please share your thoughts in the replies. Keep in mind that there are other active projects related to the prior phases that will continue alongside these newer efforts (i.e.: more blocks, footnotes, better tables, grid layout system, the block APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. roadmap, block development experience, performance, infrastructure like sqlite, playground, etc). For clarity, the phase 3 items shared above are not planned for 6.3.
You must be logged in to post a comment.