Performance Chat Summary: 7 February 2023

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

Announcements

  • Reminder: Performance team roadmap for 2023 https://github.com/WordPress/performance/issues/631 If you’re actively contributing to the WordPress Performance Team or plan to do so this year, please share your priorities for 2023 as a comment on this issue before end of day Wednesday February 15, 2023
  • Team rep nomination reminder, please add your nominations for Performance Team RepTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. by Friday, February 24 2023

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Measurement

N/A

GitHub project

  • @joegrainger making good progress on the PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party Checker. We’re starting to finalise the infrastructure and should have a working plugin running some initial checks by end of the month. You can track progress on the GitHub repo and leave any thoughts/ideas you may have. The repo will be moved to the WordPress organisation when ready
  • @mukesh27 I would like to share an update for Automated Performance Testing that @adamsilverstein already share blog post on WordPress core.
    • Issues that completed and merged in feature/automated-performance-testing-mvp branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch"..
    • AC ready for review.
    • We will open a PR against the WordPress trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. once the initial version is complete. Feel free to take a look at the issues and leave any thoughts or ideas you may have.
  • @joemcgill Additionally, I’ve been starting to work on an experimental implementation of XHProf with wp-env to help make it easier for folks to do general performance profiling tasks. See: https://github.com/joemcgill/gutenberg/pull/1 as a starting point.
  • @10upsimon updates on Enhancing the Scripts APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. with a loading strategy
    • Documentation approved, although there was a comment added post approval that I have addressed. It does not change the work, but it does result in the need to confirm that the blocking strategy is not to be confused with the blocking  script attribute itself.
    • GitHub issues have been finalized and broken down into 4x milestones in a separate sheet, estimates are present for all issues in the sheet, although not all issues are in GH yet.
    • GH Issues and AC’s have been added to the project board for Milestones 1, 2 and 3 and have been assigned to @joemcgill for review. It looks like all except for one have been approved (at the time of writing) as they’ve been moved to the backlog
    • I’m in the process of breaking down issues for Milestone 4
    • TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker. to be posted by Friday, I see no risks thereto.
    • Engineering will commence next week on Milestones 1, 2 and 3

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

  • @olliejones I’ve been hammering on the low end persistent object cache, looks good.
  • @aristath These past couple of weeks I continued working on the SQLite database implementation. There’s a lot of work to do, but things are looking good. Started collaborating with @zieladam as well in an effort to improve some things and make the implementation more stable.

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

Open Floor

  • @flixos90 Just sharing here that I discovered (probably?) a major performance regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in 6.2 for classic themes: https://core.trac.wordpress.org/ticket/57648
    • I’m going to follow up on that ticket shortly to collaborate with @oandregal as he is seeing slightly different results. Of course there is a chance that something specifically in my analysis went wrong, but we will have to validate that data

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

#core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community

#core-performance, #meta

A Week in Core – February 6, 2023

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

  • 86 commits
  • 137 contributors
  • 66 tickets created
  • 14 tickets reopened
  • 91 tickets closed

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

Code changes

Build/Test Tools

  • Add unit tests for wp_set_password hook – #57436
  • Update json2php package – #57535
  • Update npm dependencies – #57535
  • Update npm dependencies for bundled themes – #57535

Bundled Themes

  • Twenty Fourteen: Correctly reflect text color changes in Pullquote blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.#56006
  • Twenty Sixteen: Fix Gallery block images alignement – #56412
  • Twenty Twenty-Two: Improve spacing for the legacy Post Comments block – #57560

Code Modernization

  • Allow some parameters with reserved keywords in wp-includes/class-wp-text-diff-renderer-*.php#56788
  • Rename parameters that use reserved keywords in wp-includes/formatting.php#56788
  • Fix a PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8 deprecation warning in category-template.php uasort() helper – #57358, #56790

Coding Standards

  • Add missing escaping function in Custom_Image_Header::show_header_selector()#57638
  • Rename the $cat_ID variable to $cat_id in wp_update_category()#56754

Cron APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • Improve the docs for some cron event and cron schedule related functions – #56792

Docs

  • Capitalize X-Pingback in discover_pingback_server_uri() DocBlockdocblock (phpdoc, xref, inline docs)#54225
  • Document directory support in FTP/SSH2 filesystem ::move() methods – #57604
  • Document the inserter property in WP_Block_Patterns_Registry::register()#56792
  • Fix couple of typos in inline docsinline docs (phpdoc, docblock, xref)#57575
  • Fix typo in the send_auth_cookies filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. DocBlock – #56971, #39367
  • Improve documentation for block pattern properties – #56792
  • Improve the DocBlock for get_attached_file()#51780, #56792
  • Remove a duplicate line in the send_auth_cookies filter DocBlock – #56971, #39367
  • Use consistent format for the @return tags in _wp_object_name_sort_cb() and _wp_object_count_sort_cb()#57358, #56792

Editor

  • Add ID support to block wrapper attributes – #56852
  • Update WP_Theme_JSON_Resolver and improve its performance – #57545
  • Add ‘wp-polyfill’ to _wp_get_iframed_editor_assets() for inert attribute in Firefox – #57552
  • Add Template types to the patterns API
  • Add missing WP_Theme_JSON::process_blocks_custom_css() method – #57621
  • Add missing controls to flex layouts in wp_get_layout_style()#57602
  • Add support for custom CSSCSS Cascading Style Sheets. in global styles – #57536
  • Add support for editing block style variations in global styles – #57583
  • Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. site editor intialization changes from GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 15.1 – #57480
  • Improve performance of gutenberg_render_layout_support_flag
  • Introduce minimum height dimensions block support – #57582
  • Remove need for template prefix in get_template_hierarchy – #57614
  • Remove unnecessary CSS comments from compiled styles – #56388
  • Separate content styles for iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. in __wp_get_iframed_editor_assets() and wp_default_styles() – #57550
  • Support the block_types and viewport_width props for remote patterns fetched from Pattern Directory – #57611
  • Updated the WordPress packages to include Gutenberg 15.1.0 changes – #57471
  • Use WP_HTML_Tag_Processor in wp_render_elements_support()#57642
  • Use a non-persistent object cache instead of transient in wp_get_global_stylesheet()#57568
  • Introduce HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. API with HTML Tag Processor – #57575

Embeds

  • Add oEmbed support for crowdsignal.net surveys – #57543
  • Update YouTube provider for live URLs – #57632
  • Use documented mixcloud.com oembed endpoint – #57376

Emoji

  • Always skip nodes with the wp-exclude-emoji CSS class – #52219
  • Fix emoji feature detection – #57301

External Libraries

  • Update jQuery Migrate to version 3.4.0 – #56743

Filesystem API

  • Add directory support to WP_Filesystem_Direct::move()#57375
  • Add test for uncovered WP_Error in move_dir()#57375
  • Prevent fatal error in move_dir()#57375
  • Simplify two conditionals in move_dir()#57375
  • Update move_dir() to better handle the differences in the WP_Filesystem::move() methods – #57375

Formatting

  • Guard wp_strip_all_tags() against fatal errors – #56434

HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. API

  • Fix a unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. failure found after [55210]#54225
  • Fix request headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. inconsistencies – #54225
  • Restore one instance of the X-Pingback header capitalization – #54225

Help/About

  • Update help tab texts to consistently describe button labels – #57608

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Improve method names in WP_Locale_Switcher()#57123
  • I18N: Pass $locale parameter to override_load_textdomain filter – #57056

KSES

  • Allow position-related CSS properties – #57504

Media

  • Add a Download row action to the Media List Table – #57574
  • Add argument to get_attached_file() for subsizes – #51780
  • Allow to omit decoding="async" on tags from wp_get_attachment_image()#57086
  • Ensure media IDs are type int in bulk editing – #56170
  • Fix inconsistent font weight in media detail views – #54509
  • Fix upload not visible if added after deleting media – #49178
  • Hide ‘view’ link if empty string passed to attachment_link – #54824
  • Maintain the functionnality of the deprecated WP_Media_List_Table::column_desc() method – #39710
  • Pass $size argument to get_attached_file filter – #51780
  • Properly escape Download row action link in Media List Table – #57574
  • Remove metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. data after restoring w/IMAGE_EDIT_OVERWRITE – #55150
  • Remove unwanted quotation marks for playlist template – #50865
  • Replace consecutive periods in sanitize_file_name()#57242

Plugins

  • Rephrase Add Plugins screen description for better clarity – #57155

Posts, Post Types

  • Add test coverage for _truncate_post_slug()#56868, #56793
  • Deprecate get_page_by_title() in favour of WP_Query#57041

Query

  • Add a search_columns argument to control which fields are searched in a search query – #43867
  • Revert [55169]#56689
  • Use WP_Query in get_page_by_path#56689

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

  • Declare ‘edit_css’ capability in links within WP_REST_Global_Styles_Controller#57526

RevisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.

  • Add a way to filter the revisions considered for deletion – #57320

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

  • Implement wp_cache_get_multiple in wp_queue_posts_for_term_meta_lazyload#57150

Themes

  • Add caching to WP_Theme::is_block_theme()#57114
  • Add shadow presets support for theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.#57559
  • Increase HTTP timeout for Theme API requests – #57315

Upgrade/Install

  • Send language pack updates to copy_dir()#57557
  • Silence Requests deprecations before preloading – #54504
  • Use move_dir() instead of copy_dir() in WP_Upgrader::install_package() when possible – #57557

Users

  • Add context to the send_auth_cookies filter – #56971, #39367
  • Add support for RoboHash GravatarGravatar Is an acronym for Globally Recognized Avatar. It is the avatar system managed by WordPress.com, and used within the WordPress software. https://gravatar.com/. images in default user profile pics – #57493
  • Change parameters order in send_auth_cookies filter – #56971
  • Update get_avatar_url() and get_avatar() to include RoboHash support – #57493

Widgets

  • Preserve classic sidebars when switching to a block theme – #57531

Props

Thanks to the 137 (!) people who contributed to WordPress Core on Trac last week: @costdev (36), @mukesh27 (22), @audrasjb (20), @sergeybiryukov (15), @peterwilsoncc (13), @flixos90 (13), @ntsekouras (9), @afragen (7), @spacedmonkey (7), @mamaduka (7), @oandregal (6), @hellofromtonya (6), @azaozz (6), @adamsilverstein (5), @desrosj (5), @joedolson (5), @robinwpdeveloper (5), @andrewserong (5), @aristath (5), @youknowriad (5), @swissspidy (4), @dd32 (4), @jrf (4), @ironprogrammer (4), @sabernhardt (4), @poena (4), @hellofromTonya (4), @scruffian (3), @joen (3), @ocean90 (3), @Mista-Flo (3), @Mamaduka (3), @joemcgill (3), @isabel_brison (3), @pbiron (3), @aaronrobertshaw (3), @bgoewert (2), @glendaviesnz (2), @jorgefilipecosta (2), @davidbaumwald (2), @kebbet (2), @felixarntz (2), @gziolo (2), @onemaggie (2), @jameskoster (2), @petitphp (2), @noisysocks (2), @johnjamesjacoby (2), @dmsnell (2), @matveb (1), @ryokuhi (1), @paulschreiber (1), @cadic (1), @ndiego (1), @naeemhaque (1), @amin7 (1), @tahmidulkarim (1), @krupalpanchal (1), @jhned (1), @hilayt24 (1), @ellatrix (1), @tellthemachines (1), @maximej (1), @ramonopoly (1), @paaljoachim (1), @madhudollu (1), @timothyblynjacobs (1), @talldanwp (1), @mmtr86 (1), @dsas (1), @antpb (1), @zebaafiashama (1), @rnitinb (1), @iapial (1), @viralsampat (1), @jeawhanlee (1), @mitogh (1), @wildworks (1), @donncha (1), @cbirdsong (1), @eherman24 (1), @ajlende (1), @szaqal21 (1), @ahortin (1), @miguelaxcar (1), @patelhitesh (1), @tanazmasaba (1), @revgeorge (1), @Webrocker (1), @soean (1), @matclayton (1), @Soean (1), @mahbubshovan (1), @adeltahri (1), @stalukder03 (1), @a4jpcom (1), @juliobox (1), @chintan1896 (1), @sergiomdgomes (1), @slieschke (1), @jeherve (1), @ruchirj (1), @chocofc1 (1), @birgire (1), @johnbillion (1), @abidhasan112 (1), @arrasel403 (1), @james-roberts (1), @Presskopp (1), @hvar (1), @10upsimon (1), @umesh84 (1), @amitbarai013 (1), @dlh (1), @arthurshlain (1), @andraganescu (1), @justlevine (1), @get_dave (1), @zieladam (1), @bernhard-reiter (1), @antonvlasenko (1), @bronsonquick (1), @TimothyBlynJacobs (1), @xknown (1), @ArtZ91 (1), @shamayel007 (1), @mhkuu (1), @jigar-bhanushali (1), @otto42 (1), @iandunn (1), @iqbalrony (1), @oh_hello (1), @tahminar27 (1), @ira2910 (1), @zoonini (1), @silicium23 (1), and @justinahinon (1).

Congrats and welcome to our 21 (!!) new contributors of the week: @zebaafiashama, @rnitinb, @iapial, @patelhitesh, @tanazmasaba, @mahbubshovan, @adeltahri, @stalukder03, @slieschke, @ruchirj, @chocofc1, @abidhasan112, @james-roberts, @amitbarai013, @ArtZ91, @shamayel007, @iqbalrony, @oh_hello, @tahminar27, @ira2910, @silicium23 ♥️

Core committers: @audrasjb (24), @sergeybiryukov (13), @flixos90 (9), @hellofromtonya (9), @peterwilsoncc (7), @azaozz (7), @joedolson (7), @jorgefilipecosta (5), @spacedmonkey (3), @desrosj (3), @youknowriad (2), @swissspidy (1), and @johnbillion (1).

#6-2, #core, #meta6545, #week-in-core

Performance Chat Agenda: 7 February 2023

Here is the agenda for this week’s performance team meeting scheduled for February 7, 2023 at 16:00 UTC.

  • Announcements
    • Reminder: Performance team roadmap for 2023 https://github.com/WordPress/performance/issues/631 If you’re actively contributing to the WordPress Performance Team or plan to do so this year, please share your priorities for 2023 as a comment on this issue before end of day Wednesday February 15, 2023
    • Team rep nomination reminder, please add your nominations for Performance Team RepTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. by Friday, February 24 2023
  • Focus area updates
  • Infrastructure
  • Open floor

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

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

    Editor chat summary: February 1st, 2023

    This post summarizes the weekly editor chat meeting (agenda for February 1st meeting) held on Wednesday, January 1 2023, 03:00 PM GMT+1 in Slack. Moderated by @fabiankaegy.

    Release of Gutenberg 15.1 RC

    A project board for WordPress 6.2 Editor tasks is available.

    Key project updates

    Phase 2 Overview Tracking Issue

    Task Coordination

    @jeffpaul

    Asked if anyone is aware of items ideally landing in WP 6.2 that are NOT in GB 15.1 and otherwise at risk for getting into the release.

    @ndiego

    Responded that we are actively tracking GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ issues and PRs related to the release on the 6.2 Project Board. If you come across an issue or PR that you think is related to the release, please feel free to add it to the board and @annezazu and I will triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. from there.

    @hellofromtonya

    Gave a quick update on Fonts APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways..

    It’s not ready for 6.2 due to a complete rewrite and renaming with first release in 15.1 1day after the 6.2 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1. It’s essentially a brand new API. It needs several GB release cycles to stabilize. As the API is completely different, all issues need to reviewed as they may no longer be validate.

    @paaljoachim

    Created two new issues that will help improve the experience of using a BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Based Theme:

    Open Floor

    @cbirdsong

    Is wondering if there is any movement on any of the issues surrounding layout panel/general concept. At the very least I’d really like to remove the ability for editors to set custom values in the panel, or be able to provide a list of presets instead of just an empty text field.

    Related issue: https://github.com/WordPress/gutenberg/issues/31980

    #core-editor, #core-editor-summary, #gutenberg, #meeting-notes, #summary

    Hallway Hangout: Performance Improvements for WordPress 6.2

    Following up on the prior hallway hangout on Performance Considerations for Block Themes, @flixos90 and I are running an additional one on performance improvements in WordPress 6.2. @flixos90 is the performance lead for the WordPress 6.2 release (a new role!) and this is a chance to get a more behind the scenes look at what’s to come.

    If you’re interested in joining, the Hallway Hangout will happen on 2023-02-13 16:00. a Zoom link will be shared in the #core-performance SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel before starting.

    At a high level, we’ll go through quick intros (what each person does/focuses on) and what performance work has been done with WordPress 6.2, with a likely specific focus on enhancements to theme.json. Ultimately, hallway hangouts are meant to be casual and collaborative so come prepared with a kind, curious mind along with any questions or items you want to discuss.

    Noting this specifically for folks who have expressed interest previously or who are involved directly in this work, despite some of you going to WC Asia! cc @hellofromtonya @aristath @oandregal @tweetythierry @desrosj @youknowriad @spacedmonkey @adamsilverstein

    #hallwayhangout, #performance

    Faster Updates Testing Complete

    @costdev and I (@afragen) would personally like to thank everyone for helping test using the Faster Updates pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.

    Successful testing has brought us to land #57375 in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. for WordPress 6.2-beta1. This commit brings in the move_dir() and wp_opcache_invalidate_directory() functions into core. It also modifies WP_Filesystem_Direct::move() so that it functions similarly to the other filesystem ::move() functions.

    With the modification of WP_Upgrader::install_package()in #57557, all users will benefit from the improved efficiency and speed of using move_dir() over copy_dir().

    At this time please deactivate and delete the Faster Updates plugin. It was only used for testing. If you are testing with trunk or the latest Beta/RC in the WordPress BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. Tester plugin then you will enjoy the benefits until WordPress 6.2 is released.

    #6-2

    Dev Chat summary, February 1, 2023

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

    Agenda followed this week.

    Summary from Dev Chat, January 25, 2023

    @ironprogrammer: It’s been a busy week preparing for BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1, and many thanks to everyone who has contributed their valuable time towards the project.

    Highlighted Posts

    1. Proposal: Old Tickets Trac Triage Sessions – next session will be on February 9, 2023 and all are welcome to come and help. If you can host a session, reply on the post.
      Looking for any volunteers if they’d like to run another session, though you will be forgiven if your focus is on 6.2.
    2. A Week in Core – January 30, 2022, bringing us the following stats:
      • 49 commits
      • 59 contributors
      • 62 tickets created
      • 6 tickets reopened
      • 62 tickets closed
      • 5 new contributors 
    3. Help Learn.WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ provide suitable materials for users learning and keeping pace with the software
    • Help share where you find materials to advance your WordPress knowledge and how you like materials to be presented. This will greatly assist Learn WordPress to provide more suitable content and presented in ways that would support users’ needs. Please fill in and share the Individual Learner Survey. It is expected to take 5-7 minutes of your time. https://learn.wordpress.org/individual-learner-survey/

    Releases

    Next major: 6.2 Release

    6.2 Development Cycle – this has information on the schedule, bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrubs, and more.

    Reminder: Beta 1 is planned for February 7, 2023. No time as yet for start of Beta 1 release process, updates will be in the #6-2-release-leads channel on Slack. 

    The bug scrub schedule if you can pitch in.

    Beta 1 Release post – link will be shared after dev chat for comments until 23:59 UTC February 2, 2023.

    Walkthrough – provisional date February 21, 2023. More details to come.

    Maintainer Updates/Blockers/Tickets Help

    Time for any Component Maintainers to highlight tickets that need help to land in 6.2.

    @kraftbj: Emoji: Nothing for 6.2. While Emoji 15.0 was released last year, Twemoji, the library we use, has not been updated. Since there is still some unknown in the air, will be surveying other options. No decision or anything at this time or the near term. Looking for a plan/update for WP 6.3. Ticketticket Created for both bug reports and feature development on the bug tracker. #57600

    @sergeybiryukov: I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.switch_to_user_locale() function was introduced to make it easier to switch to a specific user’s localeLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English.. Thanks @swissspidy and @costdev! View ticket #57123 for more details.

    Build/Test Tools, Date/Time, General, Permalinks: No major news this week 

    @webcommsat: About/ Help & Quick/Edit scrub / review on Monday – focusing on clearing some of the tickets, some testing of patches aimed at 6.2. May call out for further testing later today as tests still running. Additional component maintainer to be added after a number of years of assisting on tickets.

    @afragen: Upgrade/Install. Getting closer to landing #57375 and #57557 for 6.2. This should provide much needed stability and performance improvements to pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party/theme updating. It should also pave the way for other features. Shared thanks to @azaozz @peterwilsoncc and @costdev for getting us almost over the finish line in the past two to three weeks, and to everyone else who has played a significant part.

    @luminuu: request for views on the ticket #55985 to move it forward before the feature freeze for 6.2. The specific PR to test this would be GitHub #2920.This relates to removing Google fonts from Twenty Twelve.

    Open Floor

    Community Summit

    @webcommsat: Community Summit will take place August 22-23, 2023 – the deadline has been extended for comments/ suggestions from Make teams for this year’s event. I will be sharing a post with the key information so far, and to provide a space for core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. to add comments which the team can submit in the next few weeks.

    If you were involved in the previous Community Summit, any insight on highlighting topics from core or anything that was raised that could be re-highlighted, let Abha know or comment on the P2P2 A free theme for WordPress, known for front-end posting, used by WordPress for development updates and project management. See our main development blog and other workgroup blogs. post which is coming.

    WordCampWordCamp WordCamps 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 Day Contributor 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/.

    The event will take place on February 17, 2023, 02.00 UTC.

    Update from @desrosj: Working on getting this together. Expecting a performance table and editor table, in addition to general Core tables. Working on a write up of “how to be prepared for Contributor Day” with the hope of getting it sent to attendees prior to the event to limit the amount of debugging local environment problems that has to be done on the event day. Hoping it will make the day more positive and productive overall! If it is not possible to go on the site, it may be communicated via an an email to attendees instead.

    Update from @ironprogrammer: started drafting similar guidelines for Test contributors. Numbers expected useful, and for volunteers to know.

    Update from @webcommsat:
    – anyone working on core docs for this contributor event, can we also use some of this to update the handbook to help others prepare for these events in the future. Cross-link from core handbook to Test guide.
    – appears that there will be a virtual attendees too at this event. They will join teams’ slack channels after the team introductions. Some have been joining already! If you can assist virtually with signposting new contributors on Slack during the event, please let abhanonstopnewsuk know on Slack, with what times you could provide support (in UTC).
    – to follow up with organizers on virtual offering, numbers signed up for both in-person and virtual, and if known, how many have expressed preference to join the Core Team.

    Props to: @ironprogrammer for facilitating the meeting and summary review,
    and to @webcommsat for preparing the agenda and writing the notes.

    #6-2, #dev-chat, #meeting, #summary

    Performance Chat Summary: 31 January 2023

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

    Announcements

    • Performance team roadmap for 2023 https://github.com/WordPress/performance/issues/631 If you’re actively contributing to the WordPress Performance Team or plan to do so this year, please share your priorities for 2023 as a comment on this issue!
      • @flixos90 Anyone that is more or less regularly contributing to the team is asked to think about and share their priorities for this year, if possible
      • @spacedmonkey There is also SQLite database and object cache that are in play
        • @flixos90 I think SQLite is clearly a focus. What is on the issue right now is not at all a complete roadmap. The idea is that anyone can post comments with what they would like to prioritize
      • @olliejones It’s my impression that almost nothing, except @flixos90 contributions, are on the priority list yet. So, it’s up to the rest of us.
        • @flixos90 Exactly, I just posted 2 things that we already have proposal posts for, as a starting point. So yes, it’s explicitly a call for anyone involved in the team to contribute to this roadmap
      • @spacedmonkey One thing I have not discussed publicly, but want to look into lazy loading meta data in core. We have a problem that more and more WP_Queries are being run per page and lots of post meta is being loaded when not needed https://core.trac.wordpress.org/ticket/57496
    • The GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ team recently added TTFB measurement to their repo, which is being collected in the code health dashboard here: https://codehealth.vercel.app/project/1. It’s making visible the performance regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. theme rendering when compared with classic themes for a simple “hello world” page. As a team, we would like to make sure we’re properly prioritizing the tickets we have for 6.2 that would positively impact this metric—particularly anything that we need to land before the betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 milestone next week.
      • @joemcgill I think much of the work for 6.2 that was focused on improving server response times for block themes has already been merged, but I’m mindful of the beta milestone coming next week and want to help prioritize helping land anything that I can that is still in the air.
        • @spacedmonkey me and @flixos90 have worked a lot on block theme performance. Any questions on what I am working on, please feel free to pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” me
        • @joemcgill Main thing is whether there are any enhancements that still need to land that you’re waiting on review for?
      • @clarkeemily we also have the Bug Scrub tomorrow at 16:00 UTC time where we can talk through other 6.2 performance items
      • @mukesh27 Is anyone on the Gutenberg team checking those regressions, or do we have to?
        • @joemcgill Good question. I think they are, but there’s no reason we shouldn’t take a look every so often. Really, it would be nice to do something similar for CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.
        • @mukesh27 Are those changes incorporated into the core of WordPress?
        • @johnbillion I’d love to do something similar for core, the main problem is how to avoid variance so the reporting over time is accurate
        • @flixos90 We have talked about it before in that recent hallway hangout earlier in January. In fact @adamsilversteinis working on a Make post that should go out this week
        • @spacedmonkey I would also have some way of query count per page load.
        • @joemcgill I think long term variance is a concern, but maybe not a blockerblocker A bug which is so severe that it blocks a release. as long as the short term trends are instructive/useful.
    • Plan to have quick-fire focus area updates (15m) so we can focus the remainder of todays chat on Next steps for Unbundling the Performance Lab PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party (proposal)

    Focus area updates

    Images

    @adamsilverstein @mikeschroder

    GitHub project

    Feedback requested

    Object Cache

    @tillkruess @spacedmonkey

    GitHub project

    Feedback requested

    Measurement

    N/A

    GitHub project

    • @joegrainger Still making good progress on the Plugin Checker, starting to approach the remaining issues on the infrastructure so will soon be in a position to run some of the initial checks and do some testing. Feel free to track progress on the GitHub repo and leave any thoughts/ideas on issues. The repo will be eventually moved to the WordPress organisation when ready.

    Feedback requested

    JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

    @aristath @sergiomdgomes

    GitHub project

    • No updates

    Feedback requested

    Database

    @olliejones

    GitHub project

    Feedback requested

    Infrastructure

    @flixos90

    GitHub project

    • @flixos90 nothing to update for Infrastructure

    Feedback requested

    Open Floor

    • Unbundling Performance Lab plugin
    • TL:DR; the team are in agreement to proceed with working towards splitting out standalone plugins and keeping the Performance Lab plugin as it is for now
    • Detailed conversation below:
      • @flixos90 We are still waiting to get feedback from Matt on the 3 alternative options that we have outlined and discussed earlier in January. However, I think it would be unwise to just wait and do nothing until we hear back, for which we don’t have a timeline. Therefore my proposal is to work towards simply splitting out standalone plugins and keeping the Performance Lab plugin as is for now
      • A bit more context on the reasoning behind that proposal: The “for now” here is important, as that would likely be a temporary solution. Doing so is effectively our option 1 that we voted for in https://github.com/WordPress/performance/issues/618#issuecomment-1377598692, but the main reason I’m proposing to already work towards it here is that that option is the least disruptive and the least effort, and even if we eventually go with option 2 or 3, we would need to implement the same changes as part of that
      • It is also the most natural transition, for example @aristath‘s SQLite standalone plugin has already been broken out as a standalone plugin
      • The idea is that with the above we would work in the right direction no matter what the eventual final outcome should be. And in any case we would not be wasting time doing work that would potentially not be needed
      • @joemcgill So, if I’m understanding properly, you’re proposing that the performance lab plugin would still include the modules that have been split out. Correct?
      • @flixos90 Yes, it is effectively like option 1 in https://github.com/WordPress/performance/issues/618#issuecomment-1377598692
      • @joemcgill What other plugins need to be split out that aren’t already?
      • @flixos90 I think that we need to discuss. But first I wanted to get feedback on the general idea I shared above. Is that a reasonable next step, as a temporary measure to work in the right direction?
      • @johnbillion Does that duplicate any work or is there a handy build/deployment step for publishing the separate plugins?
      • @flixos90 We would have a build step that simply replaces module headers with plugin headers and deploys those as individual plugins. All modules already work standalone, so there’s no extra work involved in that regard. The main work would be to implement the build and deployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. step.
      • @joemcgill At least the SQLite integration plugin is already moved to a separate repo, so it’s a bit clunky to have some of these modules in a mono-repo and some not. It would be nice to align on a development approach.
      • @flixos90 Absolutely; if we go with this approach, we would likely move the SQLite repo back into the PL repo (just for development, the plugin repos on .org would of course remain separate)
      • @johnbillion +1 on a monorepo otherwise we introduce more metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. problems maintaining separate repos
    • No other thoughts on the above from todays meeting, @flixos90 based on the feedback above I think it’s reasonable to proceed with this option for now, to work in the right direction. What we should discuss then though is our approach on how to break out modules as standalone plugins (which we already started talking about a few weeks back)
      • @joemcgill My initial question is whether all modules should be standalone plugins, or if some of them are better suited to stay as part of central infrastructure or smaller experiments as “core modules” of the performance plugin?
      • @flixos90 Exactly, I would outline these alternative ways to go about it:
        • Every module becomes a plugin?
        • Some modules are grouped together into “focus” plugins?
        • Only some modules get broken out as a plugin?
      • @olliejones Specifically, does it make sense to have a standalone “Enhanced Site Health” plugin containing the various site health modules?
        • @flixos90 Potentially. Though my personal take is that we should avoid grouping modules as then we are still going the slippery slope of not having individual plugins for individual features. FWIW, we used to have plugins like https://github.com/audrasjb/site-health-audit-enqueued-assets, and I think that’s the most appropriate approach, even if those plugins are extremely niche
      • @joemcgill Personally, I would keep things like audits, health checks, and small feature experiments like fetchpriority in the main plugin, and break out larger feature plugins.
        • @flixos90 If we do this, we won’t fully address the request of having individual plugins for individual features. What if someone just wants to test fetchpriority? Yes, it’s much simpler than e.g. WebP, but I’m not sure that justifies going a different route for the two
        • @joemcgill That may have been a bad example, and also the part that I’m least confident about, but seems it would be nice for us to have a place to experiment with smaller changes that we are thinking of proposing as enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. in core and not have to spin each one out to a separate plugin until/unless it matures to the point where it’s warranted.
        • @flixos90 Ah okay, that idea sounds interesting. Certain things could start out as a module in the PL plugin and only become plugins as they mature?
      • @olliejones So, PL contains stuff that’s bound to be included in core, AND stuff that’s bound for standalone plugins? Is that right? Or is the criterion for putting a module into PL still that it is bound for core?
        • @joemcgill Right, or if they’re a large enough feature that it makes sense being its own thing. I would say the SQLite persistent cache fits that qualification for me
        • @flixos90 All of that would be things to be included in core. Whether it’s a module in the PL plugin or a standalone plugin is just different ways to “test-drive”. So if we did that, we would still have a mapping that a module can be mapped directly to a standalone plugin, but we would decide for each module whether/when to do that on a case by case basis?
        • @olliejones Is that too limiting? Is Matt thinking along the lines of Drupal’s Core Modules? Is that the direction his “canonical plugins” want to go? Should this team stay away from doing stuff UNLESS it’s bound for core? That’s what I mean. There’s plenty of perf work that only applies to some installs, not all.  Like the persistent object caches. Maybe like webp.
          • @flixos90 we can totally work on things that are not for core; for example the plugin checker project we’re working on. It’s just that the scope of the Performance Lab plugin has been for features targeted for WordPress core. Of course it can always happen that a feature is never deemed eligible or ready. But features in the PL plugin should have the intent to land in core eventually
        • Conclusions: @flixos90think we are converging on the approach of “decide on a case by case basis for each module whether/when it becomes a standalone plugin”, but it’s been only a short conversation with few voices heard, so maybe we can defer a hard decision until next week; I’ll summarize in https://github.com/WordPress/performance/issues/618 and we can keep discussing there
        • @olliejones add to roadmap https://github.com/WordPress/performance/issues/631 for future discussion

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

    #core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community

    #core-performance, #meta

    Dev Chat Agenda: February 1, 2023

    The WordPress developers chat meets in the core channel of the Make WordPress Slack on Wednesday February 1, 2023 at 20:00 UTC .

    1. Dev Chat introduction

    Summary from last week: January 25, 2023 – @webcommsat

    2. Announcements

    Please add any relevant WordPress announcements in the comments.

    3. Posts to note

    Reminder of Proposal: Old Tickets Trac Triage Sessions – next session will be on February 9, 2023 and all are welcome to come and help. If you can host a session, reply on the post.

    A Week in Core – January 30, 2023 – @audrasjb

    Please add any other suggested posts in the comments to be highlighted in the meeting.

    4. Releases

    Next major: 6.2

    Development Cycle – this has information on the schedule, bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrubs, and more.
    Reminder: BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 is planned for February 7, 2023.

    Update from release squad and discussions to progress the release. 

    Squad members can also add comments to this post if they are unable to attend the dev chat live.

    5. Blockers/ help

    Component Maintainers or anyone wishing to highlight a potential blockerblocker A bug which is so severe that it blocks a release. or issue on a ticketticket Created for both bug reports and feature development on the bug tracker. can comment on this post if unable to attend the meeting live. Priority in the meeting will be given to tickets aimed at 6.2.

    6. Open Floor

    • Reminder: if you are planning items for the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. tables at WordCampWordCamp WordCamps 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 Day Contributor 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/. in February 2023, please let abhanonstopnewsuk (on SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.) know to help update the handbook for future events.

    Please add comments on this post with items you would like to suggest for Open Floor.

    #agenda, #dev-chat, #meeting

    Performance Chat Agenda: 31 January 2023

    Here is the agenda for this week’s performance team meeting scheduled for January 31, 2023 at 16:00 UTC.

    • Announcements
      • Performance team roadmap for 2023 https://github.com/WordPress/performance/issues/631 If you’re actively contributing to the WordPress Performance Team or plan to do so this year, please share your priorities for 2023 as a comment on this issue!
      • The GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ team recently added TTFB measurement to their repo, which is being collected in the code health dashboard here: https://codehealth.vercel.app/project/1. It’s making visible the performance regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. theme rendering when compared with classic themes for a simple “hello world” page. As a team, we would like to make sure we’re properly prioritizing the tickets we have for 6.2 that would positively impact this metric—particularly anything that we need to land before the betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 milestone next week.
      • Plan to have quick-fire focus area updates (15m) so we can focus the remainder of todays chat on Next steps for Unbundling the Performance Lab PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party
    • Focus area updates (15m max today)
    • Infrastructure
    • Open floor
      • Next steps for Unbundling the Performance Lab Plugin proposal

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

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