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.
@adamsilverstein not much to update from my end this week. I have been mostly thinking about/planning for WordCampWordCampWordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Asia & contributor dayContributor DayContributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/., coming up with a plan for that. I’d love feedback about good ways to engage new contributors on performance
@joegrainger: been away for a few days but have been making progress on 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. Still more to be done, but you can see the work carried out here https://github.com/10up/plugin-check (we’re developing the project here, but will be eventually moved to the WordPress organisation).
The plugin checker will be run through both the CLICLICommand Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. and the WP Adminadmin(and super admin). Feel free to take a look at the issues and leave thoughts/ideas you may have
JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSSCascading Style Sheets.
@aristath Last week, SQLite was released as a stand-alone plugin. No announcement action etc was taken. I left that TBD so we can coordinate our policy and strategy as a performance team. The submission was done early to get a head-start with the plugin review process etc – which made sense since this was a direct request from Matt.
@olliejones The SQLite DBMS project is going to require large-scale testing to get to betaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. status
@spacedmonkey asked where is the best place to provide feedback for this plugin – best course of action to create an issue here https://github.com/OllieJones/sqlite-object-cache/issues
@flixos90 Note that we now have both the separate 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/ repo and the module in the PL GitHub repo, so we need to figure out how to handle that. The duplicate code between those 2 repos is certainly not good
@spacedmonkey noticed that cache values were not being set
@flixos90 No recent updates, however I opened https://github.com/WordPress/performance/issues/627 yesterday. What I’m proposing in that issue is to bump the minimum version requirement of Performance Lab to WordPress 6.1. This will allow us to remove the two Site Health cache modules that were already launched in WordPress 6.1, which at this point are a bit of unnecessary baggage to still have in there
Note that per our version support policy our commitment is to only support the latest WordPress release anyway, so this should be okay
Discussion around plugin versioning:
@flixos90 I see there’s a suggestion by @joemcgill to potentially have a 1.10.0 with that code being deprecated first. I don’t think that would help here. FWIW, the modules are already not loaded today when you have WP 6.1. So nothing changes for you either way when they’re removed:
Either you are on WP <6.1, so you cannot update to the new PL release.
Or you are on WP 6.1, which means you already are using the coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. feature, and the PL modules for the same purpose are not loaded.
@joemcgill Makes sense to me. Just getting up to speed on the process here now that I have time dedicated to work on these performance projects. The documented policy seems quite clear
It’s a standalone plugin. Does it make sense to build it into PL, to put it onto a track to go into core?
@spacedmonkey I think it needs to live as a plugin for a while
@flixos90 A bit of a tricky question. Of course we are working towards unbundling the PL plugin. But we’re still pending a decision on how exactly, and at this point it may make sense in the PL plugin. Is it already published on wp.org or not?
@olliejones Absolutely live as a plugin. There’s no other way to get decent field experience. And this kind of thing requires field experience.
@spacedmonkey I want to test it on bigger sites, multisitemultisiteUsed to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site, ensure cache invalidation works, support wp_cache_get_multiple and some other stuff
@flixos90 Okay, we should definitely keep it published like that then. I think at this point, let’s just keep it like that? We could potentially add it as a PL module too, but depending on the path decided on for unbundling the PL plugin, that would just be unnecessary work – so probably most efficient (until we have a decision) to work in its own repo for now
@spacedmonkey discussed the 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. for making php 7.2 the minimum version of support php in WordPress https://core.trac.wordpress.org/ticket/57345 and asked if this is something we should be pushing for as the performance team
@olliejones I say yes, smaller QA matrices are always good
@joemcgill It could certainly have some positive performance implications, though I’m not sure how much impact we would have since the process for bumping versions is pretty well established (unless I’m wrong). It would be nice to help support that effort with some evidence about the performance benefits from any automated testing we do against different versions.
@adamsilverstein One new thing this week: I am working on a game/testing tool that shows two images generated by WordPress and asks users which they prefer. The comparisons will cover a range of quality settings and mime types (and image engines) and we will collect data about the comparisons. My goal is both to have something fun and interactive as well as get some actual WordPress based data on image quality to help make a decision about where to set WebP default quality in coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. I’d love to have some testers/feedback here once I get it a little further developed (to be shared in future).
@pbearne I will/plan create a combined 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. with dom-color with theme flags and media lib changes for core and then create a new proposal blogblog(versus network, site) post on make for this new version Following from @flixos90comment on the media lib patch
@spacedmonkey asked if we are hoping to get dominant color into 6.2
@pbearne would love to get it in but @spacedmonkey unsure if the 80% rule was met (is it useful for 80% of users)
@pbearne I am hoping as this is a enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. to the media library and the is for every one we can get it in and with the them flag it can be pulled into a theme if wanted just like you might use the icons from core in a theme
Basically, to get template / template parts for 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. theme, you have do a database query per part
This can result in 10+ queries per page, even after queries are cached
I am wondering if it makes sense to just load all template parts in single database query and them 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. using PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher
The only worry is that you may load templates you do not use or you might have say 40 templates. But that seems unlikely
Templates are not like content, there will not be 20k templates. The benefit of using one query and one cache
@joegrainger: 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 work in progress (mainly infrastructure right now) and coming along nicely
JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSSCascading Style Sheets.
@olliejones I’m seeing some very promising performance results from using SQLite as the persister for an object cache. Is this worth proposing as a Performance Lab module?
Performing very well on a WooCommerce site on low-end Godaddy hosting – been doing some tests on my 100K user test site, it seems good. Also works with multisitemultisiteUsed to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site
@mxbclang: This week’s chat will be dedicated to discussing next steps on Matt’s request to split out features from Performance Lab (see blog post comment, Slack, and GitHub issue). We’d like to hear opinions on the three options outlined in the issue so that we can ultimately hold a vote and make a decision on how to move forward.
Discussion: Unbundling Performance Lab
@flixos90: Want to emphasize that we should decouple how we develop these features from how we distribute them, with this conversation focused on the latter. We can keep working in a mono repo to keep development overhead low no matter which approach we choose for distribution.
@olliejones: It seems like any attempt to figure out what a “canonical 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” is might be a waste of time, as it’s up to Matt, not us
@flixos90: The canonical plugins topic is related but not really connected. Agreed it’s not on us to decide, but also don’t think we need to do that to determine how to unbundle Performance Lab. The ask is to distribute the features as individual plugins – whether or not they’ll become “canonical” plugins isn’t directly relevant to the unbundling.
@flixos90: As comment notes, we’ve considered three options so far:
Option 1: Keep PL as is, but additionally deployDeployLaunching code from a local development environment to the production web server, so that it's available to visitors. modules as individual plugins
Option 2: Make PL a “wrapper” focused on central infrastructure and recommendation of individual plugins
Option 3: Deprecate PL completely in favor of individual plugins
@masteradhoc: Don’t see SQLite as something that needs to be in PL and WebP can also be standalone. How do you define if a feature should get into the plugin or be standalone? Would go for option 3 to keep everything separated and have some sort of list to keep track on what is being worked on. However, this still doesn’t solve the bigger issue – what happens if the argument is still to not merge them into coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.? What will make a canonical plugin in the end? How can we really move WP further in performance?
@flixos90: The idea is that all modules of PL are standalone features, so option 3 would mean each module would become its own plugin. The PL plugin has a lot of benefits that we would lose if we go with this option, which is why it’s the most unfavorable to me. There are several feature plugins that weren’t merged into core – either they continue to be developed to eventually get there or they get archived.
@masteradhoc: In that case, think more of option 2. Wouldn’t do option 1 as it seems like duplication.
@flixos90: Yes, there would be duplicates, but it’s not necessarily bad. It’s the best of both wolds, similar to how Jetpack works as of today.
@spacedmonkey: Could a feature be both a standalone plugin and in PL?
@olliejones: We have one canonical plugin now, Akismet, that’s available to every WP install but not required – is that what Matt wants for performance?
@flixos90: Nothing would be pre-installed; let’s focus on unbundling as opposed to canonical plugins since we don’t know what those are
@spacedmonkey: It seems to only make sense to break off larger feature like WebP or SQLite into separate plugins
@masteradhoc: I wouldn’t install a plugin just to get additional Health Checks
@flixos90: It’s a blurry line – it would require the overhead of a discussion on every single feature to decide if it should be a standalone plugin. Would be in favor of a single consistent decision to save ourselves the overhead later. This is how feature plugins have always worked. FWIW several plugins have only ~50 installs because they’re so specific.
@spacedmonkey: Could have a Performance Lab module and a GH repo template for them, would help with maintenance
@joegrainger: If we deploy modules as individual plugins, will they have their own repos and if so will they be in the WordPress organization?
@flixos90: Yes, only on wp.org would there be separate repos
@mxbclang: Are we comfortable that keeping PL anddeployingDeployLaunching code from a local development environment to the production web server, so that it's available to visitors. separate plugins fulfills Matt’s request? We would still have a single plugin with all of these features
@flixos90: We’ll have to see of course, but main ask was individual plugins
@adamsilverstein: Not sure this really meets his requests, he very explicitly said of SQLite that we should “stop putting additional things like this into Performance Lab”
@flixos90: From my perspective, since Jetpack does Option 1, this should be a reasonable approach
@spacedmonkey: Jetpack is an example of a mono repo with multiple plugin projects: https://github.com/Automattic/jetpack/tree/trunk/projects/plugins, which is a good example of how Option 1 would work
@kraft: Jetpack system uses composer packages for things shared between plugins and they get called in via them, happy to answer any questions about the setup
@mxbclang: Option 3 is also a burden for support, since each plugin has its own support forumSupport ForumWordPress Support Forums is a place to go for help and conversations around using WordPress. Also the place to go to report issues that are caused by errors with the WordPress code and implementations. that would need to be monitored
@spacedmonkey: Marketing is also an issue, where do we push people to?
@flixos90: Depends on the context, likely PL primarily, but individual plugins would also be available. A feature proposal post would highlight both as equal options for testing.
@olliejones: Option 1 lets us keep moving on development, but it carries the risk of Matt pushing back
@flixos90: FWIW both Options 1 and 2 carry that risk
@flixos90: Benefit of Option 1 is that it would continue to work as is for the people who have PL currently installed; Option 2 would require a complex migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. that users likely would not understand
@adamsilverstein: Good point, thinking more of the end user who hasn’t tried “feature X” yet and having a separate plugin might be a better experience
@flixos90: Options 1 and 2 would be have separate plugins for each module
@spacedmonkey: Having each functionality in its own plugin helps with testing
@spacedmonkey: What defines a module? Would the current Site Health checks all be together, for example? SQLite and WebP are clearly their own modules, but what about smaller things?
@flixos90: Great question and another thing to discuss for the future
@spacedmonkey: Defining how we break the plugin up helps with what option we pick – don’t want a bunch of “sub”-plugins
@flixos90: Yes, but this doesn’t affect which option we choose
@olliejones: Plugin discoverability is a huge issue in today’s WP ecosystem and Option 1 helps discoverability. The categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. “canonical plugin” does seem to help with discoverability.
@flixos90: Fair to say that discoverability would suffer with Option 3.
@spacedmonkey: Marketing and support would also suffer
@adamsilverstein: Not sure about discoverability, if I want a SQLite feature for my site, a canonical plugin that does just that would be easier to discover than a feature within PL
@flixos90: Yes, but the standalone plugin would always exist with any option
@spacedmonkey: If there’s a standalone plugin, will anyone bother with a PL plugin? What’s the point of it?
@flixos90: Depends on the audience. There are people that want one feature at a time and others who want everything in one place.
@olliejones: Happy with Option 1 for now. Taking a step back, discoverability is a REALLY big problem for WP themes, plugins, etc. The reason I suggested working on the definition of “canonical” is that it has the potential to address that. Know that we can’t solve that problem but it’s what Matt cares about.
@masteradhoc: Agree, maybe next meeting could focus on how these initiatives can be moved forward
@spacedmonkey: Personally think that all PL functionality should be opt-in
@adamsilverstein: Love the idea of canonical plugins at install time, Drupal does something exactly like this with their 10-minute install
@flixos90: That’s how I’ve been thinking about canonical plugins, as well, with WP core providing contextual recommendations
@spacedmonkey: Maybe we could have a setup wizard where you opt-in to the features that you want, like Web Stories
@olliejones: Is there any way to get Matt’s approval of our choice, or do we have to do a bunch of work and risk it getting shot down?
@flixos90: We’d definitely reach out to him with a proposal once we have alignment within the team; we wouldn’t start any work before having buy-in from him
@mxbclang: Next week’s chat will be dedicated to discussing next steps on Matt’s request to split out features from Performance Lab (see blog post comment and Slack)
@spacedmonkey: Would really like eyes on https://github.com/WordPress/wordpress-develop/pull/3793, this was a bug introduced in 6.1 with WP_Query caching and want to get merged for 6.1.2
@spacedmonkey: Created a few issues for bugs/improvements that would be good first bugs:
@joegrainger: 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 work in progress and coming along nicely
JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSSCascading Style Sheets.
@flixos90: Matt’s request will be a major Infrastructure topic. Will leave some thoughts on https://github.com/WordPress/performance/issues/618 so we can begin to discuss, but a real discussion should occur in next week’s chat since it’s more synchronous. See also @tweetythierry‘s reply to Matt here which mentions some potential options for us to think about.
@olliejones: Is there any prospect of getting coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. to add a new drop-in slot to avoid overloading object-cache.php with the monitoring stuff?
@flixos90: Adding a new slot will be challenging; defining the scope and whether it’s justified will likely take quite a while. That said, worth exploring in 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., but should probably come up with a solid proposal first.
@manuilov: If we need to split the plugin, seems like the most appropriate option is the second approach suggested by Thierry. Will need to extract modules as individual plugins and keep PL as a wrapper focused on central infrastructure and recommending individual plugins. Otherwise, if we deprecate PL, people will be less able to find new modules/plugins.
@spacedmonkey: Company that was sponsoring to work on the team has pulled out; as of January 31, will not be sponsored. Will be around but won’t have much time to commit to this project. Focusing on the tickets listed below. These are all around adding/using caches in coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. functions and will have a large impact, especially for big sites. Hoping to get some across the line before February.
@flixos90: Server-Timing 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. launched in Performance Lab yesterday!
Received a report of a conflictconflictA conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. with W3TC around the object-cache.php file that we’ll investigate. Our approach is to maintain the other file, but maybe their check for whether the file is in place is overly strict.
JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSSCascading Style Sheets.
@olliejones: Are there any plans to create an ingestion module to move 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/. contents to SQLite?
@mxbclang: Good question for Ari, maybe comment on his post?
@joegrainger: Started engineering on 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 Check this week, building out initial infrastructure
Should help us significantly in assessing server timing metrics in the field; we’re currently extremely limited in that regard as the usual tools only give us client-side performance metrics
For example, other than baseline PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher execution time and DB query time metrics, it also includes one more specific metric, to measure the autoloaded options query (which will help us assess the potential impact of https://github.com/WordPress/performance/issues/526)
Very large PR (like SQLite) so the more reviews the better, hoping to merge tomorrow for 1.8.0, otherwise will need to puntpuntContributors sometimes use the verb "punt" when talking about a ticket. This means it is being pushed out to a future release. This typically occurs for lower priority tickets near the end of the release cycle that don't "make the cut." In this is colloquial usage of the word, it means to delay or equivocate. (It also describes a play in American football where a team essentially passes up on an opportunity, hoping to put themselves in a better position later to try again.) to 1.9.0
Will be part of the plugin’s infrastructure, so other modules will be able to leverage it to add server timing metrics around their own behavior and validate how much a certain module improves server-side performance in the field
JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSSCascading Style Sheets.
Proposal from @adamsilverstein on a new approach; please take time to review and comment
@adamsilverstein: Next step is a ticketticketCreated for both bug reports and feature development on the bug tracker./code proposal, thinking a new TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticket might be best
@spacedmonkey: Is there a plan to use the defer 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. in coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. themes and plugins? Useful for developers to see it in action and provide a good example
@adamsilverstein: Yes, that’s the plan, to use it wherever we can in core, including themes
@spacedmonkey: Might be worth reaching out to the GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ team to see if 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 could use this
@adamsilverstein: Greg was always asking for it and commented on the original proposal; will be sure to keep them in the 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.
@johnbillion: Have any scripts in default themes been identified as being able to support defer? Probably fewer can support async
@adamsilverstein: For sure things like commenting script, but haven’t looked at core themes yet. Probably lots of things in wp-adminadmin(and super admin), as well.
@olliejones: @aristath finished the SQLite module https://github.com/WordPress/performance/pull/547 and we would welcome additional testing in advance of Monday’s release
@flixos90: Important to test the user experience on module activation. You’ll get an entirely new DB with some added logic to make the transition as seamless as possible. This is only the install; no content migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies..
@spacedmonkey: Do we run unit tests with SQLite enabled?
@flixos90: We don’t, but that’s a great idea. Maybe we can add an extra scenario to the GH action for PHPUnit that always has the SQLite database active so we can spot any inconsistencies.
@flixos90: A few PRs have landed that fixed some issues with tests since PHP 8.2 caused breakage; kudos to @mukesh27 for working on those
@adamsilverstein: Proposed a new plan for A/B testing capability in the plugin https://github.com/WordPress/performance/issues/597 and would appreciate feedback
Gutenberg plugin version 14.7 is released and available in the Plugin Directory (First pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party release by @daisyo) 👏
@hellofromtonya shared a Webfonts 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. Status
“Still in re-design of the architecture phase. Close to merging the first re-architectural PR. What does it need?
Test it with plugins that are using the current functions to ensure nothing is broken, ie back compatibility is maintained with this phase.
Final code review
Then merge
Once merged, it will unblock the last re-architectural task. Once both of those are merged, then performance tasks are unblocked.”
“We now have the basics of the Navigation List View working. It is possible to view, edit and remove navigation items from the inspector controls. Drag and drop also works. The main areas of concern are:
When editing an item, can we show the settings tab?
Can we animate the opening 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. settings to make it clear that this is conceptually a “drill-down” operation?
Work continues on exploring fixed/sticky support for container blocks in: [WIP] Add a Position support (including sticky), decoupled from layout #46142. The current exploration now decouples the concept from Layout, as there are potential future use cases for non container blocks (e.g. one day being able to set relative/absolute, to position images for example). There’s still more discussion/work on this topic and a few blockers to resolve, so updates will happen over in the tracking issue for that feature here: Fixed Position Header and Footer Template Parts #30121 (comment)
— Upgrade ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native to version 0.69.x (finished via these changes)
@flexseth posted: “Documentation review: There are quite a few discrepancies in the ESNext flavor syntax used in Code examples for the documentation (and handbook). Maybe the #docs channel would be the best place to take up discussion on that though? I’ve been wanting to make sure all of the examples are functioning and writing more examples for components.. and to also look to establish a standard for the ES6+ code out there.”
@bph noted: “An issue or more than one should go to 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/ repo for discussion. If you want to work on fixing them, you can review the the Guide to Documentation contributions“
Open Floor
@flexseth asked: “Do you know where first time contributors can submit to be listed as contributors for this year? In the contributor numbers for State of the WordState of the WordThis is the annual report given by Matt Mullenweg, founder of WordPress at WordCamp US. It looks at what we’ve done, what we’re doing, and the future of WordPress. https://wordpress.tv/tag/state-of-the-word/., in one of the Hallway Hangouts a call for contributors was mentioned I think.”
@bph: noted: “AFAIK the contributor numbers in SOTW are always release related. 5.9 6.0 6.1. Each team has their own way of acknowledging contributions. 6.1 was the last release for the year. Every Gutenberg plugin release has a list of contributors, too. Example, including first contributors”
Well after having used WordPress for over 10 years, I can say the direction of the project is the best I’ve seen. Good work all! — @flexseth
@adamsilverstein: New ticketticketCreated for both bug reports and feature development on the bug tracker. to ensure coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. support for WebP is complete: #57328
When WebP was introduced to core, the implementation focused primarily on the most common use – lossy images. Part of the reason is that although WebP supports lossless compression, alpha transparency and animation as a format, actual support in WordPress depends on the underlying graphics engine (GD/Imagick) where support for these is more varied (for example GD only supports lossless WebP since version 2.3.3 and PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher vs 8.1). Furthermore, detecting support for these features of the format is difficult or maybe not possible.
If anyone has the bandwidth to dig into this issue, guessing we can improve the current implementation to better match the expectations outlined in the ticket.
@spacedmonkey: Working on theme.json issues, following code paths and making that code faster. Looping back on adding caching to WP_User_Query (adding tests) and migrating get_pages to use get_posts. Committed:
JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSSCascading Style Sheets.
@mxbclang via @flixos90: Aiming to complete Server-Timing PR including testing this week, so pending that will request reviews by end of week. Reviews already welcome and much appreciated, particularly around how the APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. looks and behaves.
JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSSCascading Style Sheets.
@olliejones: Current voting winner points to doing something dbms-version-specific to the schema, eventually in coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress., think we can do this in 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 if we’re willing to accept a mu-plugin drop-in module. Disadvantage here is complexity.
@flixos90: This is tricky – we have a voting winner, but also some strong opinions from different sides including a WP lead developer.
@mxbclang: Seems like the best next step here would be to close out the vote as planned but hold on next steps pending further discussion in the issue, then regroup on this in a future chat
All agreed; vote will close and @mxbclang will add a comment about next steps
@olliejones: SQLite Object Cache is coming along nicely; will create a new module proposal issue once it’s closer to complete
@olliejones: For future discussion: Do we need some sort of formal set of filters, etc. to support the big competent hosting providers in this back-end area?
@flixos90: Been working on iterating on the Server-Timing API PR. Still in draft because unit tests need to be added, but ready for review. Would love feedback and opinions on the APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. implementation. The most important recent change is that it is now initialized early through a drop-in, so it can capture measurements that happen before WP plugins are loaded.
@nickchomey: Been working on implementing a real PWA for a site under development. Plugin options are limited right now but @westonruter‘s plugin is the right approach. Is this something that the performance team can move forward?
@flixos90: Not sure what the current state of the plugin is; original idea was for it to be a feature pluginFeature PluginA plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins.
@nickchomey: Proposing a real coordinated effort be made to improve it to the point that it could be merged into core
@flixos90: It could definitely be feature plugin material, but as always it requires resources. If a small group is up for tackling, we would be supportive and help here possible.
@westonruter: The plugin is stable and essentially in maintenance mode. Not clear if there is the 80% user benefit to justify core merge just yet. See discussion between @nickchomey and @westonruter in GH issue: https://github.com/GoogleChromeLabs/pwa-wp/issues/884.
@flixos90: Key aspect of proposing this for core would be to come with an actual usage of PWA capabilities that immediately benefits core users
@westonruter: Benefit that all users could get now is offline browsing on the front-end, but there’s a separate concern of what happens when a large portion of the web is registering service workers
@pbearne: Aren’t we going to need something like this for real-time multi-editing 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/?
@olliejones: Maybe the Twenty Twenty Four theme could be made PWA-friendly?
Mini 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. scrub of performance issues for 6.1.1
https://core.trac.wordpress.org/ticket/56923 – PR committed; should become available when @mamaduka syncs 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/ to coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. on Thursday
https://core.trac.wordpress.org/ticket/56815 – assigned to @flixos90 for review
https://core.trac.wordpress.org/ticket/56900 – assigned to @peterwilsoncc for commit
https://core.trac.wordpress.org/ticket/56945 – @flixos90 has PR in progress at https://github.com/WordPress/wordpress-develop/pull/3536 that needs review and feedback, especially from Gutenberg team. @annezazu working to loopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. someone in there.
https://core.trac.wordpress.org/ticket/56948 – ready for commit, just needs a final review; assigned to @peterwilsoncc
https://core.trac.wordpress.org/ticket/56952 – @adamsilverstein to look into
https://core.trac.wordpress.org/ticket/56974 – @flixos90 took a first look at the PR last week and will give it a comprehensive review today
https://core.trac.wordpress.org/ticket/56990 – @adamsilverstein‘s changes need review/testing
https://core.trac.wordpress.org/ticket/56991 – @spacedmonkey‘s fix at https://github.com/WordPress/wordpress-develop/pull/3575 needs review
https://core.trac.wordpress.org/ticket/57012 – ready for commit by @peterwilsoncc
@adamsilverstein: Discovered a library, jSquash, that brings image format encoding/decoding to the web. Tested a bit and oping to use it to enhance the core 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. with modern image capabilities. If successful, would let us introduce AVIF support without depending on server-side support.
@tillkruess: Chatted with @johnjamesjacoby about adding a health check for the new wp_cache_supports() function to show which object caching features are supported/not supported but recommended. See https://github.com/WordPress/wordpress-develop/pull/3347. For example, get_multiple() is quite important. Any feedback on adding as a health check?
@spacedmonkey: Now have wp_cache_supports in core that we could use and wp_cache_supports( 'get_multiple') in all options. Instead of loading all options in one cache key, load each in their own cache key and all in single call.
JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSSCascading Style Sheets.
@flixos90: Plugin codebase is now updated to reflect our recent modifications to the focus areas per https://github.com/WordPress/performance/pull/566, thanks to @mukesh27