A Week in Core – September 19, 2022

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 September 12 and September 19, 2022.

  • 94 commits
  • 139 contributors
  • 53 tickets created
  • 2 tickets reopened
  • 71 tickets closed

The Core team is currently working on the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope., WP 6.1 🛠

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

Administration

  • Add new get_views_links method to WP_List_Table#42066

Build/Test Tools

  • Move the basic get_block_templates() test to the dedicated file – #55652
  • Rename the test for pre_option 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. to match the filter name – #37930
  • Rename the test for wp_guess_url() to match the function name – #36827
  • Replace the timezone used in date/time tests – #56468
  • Reset timezone-related options if the tests change them – #56468#55388
  • Simplify the data provider for testing whether KSES globals are defined – #55652
  • Update the test for respecting the post type in get_block_templates()#55881

Bundled Themes

  • Fifteen: Ensure border-bottom styles are applied to the Button 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.#55006, #55824
  • Nineteen: Define underline thickness for links – #45925
  • Seventeen: Ensure long text wraps correctly in the Button Block – #55783
  • Twenty-One: Add a missing HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. comment for CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. notice control – #55725
  • Twenty-One: Fix Heading Block alignment when nested in Cover Block – #56050
  • Twenty-One: Remove WooCommerce related CSSCSS Cascading Style Sheets. selectors – #56366
  • Twenty-Two: Add “AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) Ready” tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) to theme in repository – #55172
  • Twenty: Correctly align Social Icons block in the editor – #55987
  • Twenty: Ensure Latest Posts block set to 2 columns displays accordingly in the Editor – #56175
  • Twenty: Ensure headings styles are consistent between editor and front-en – #56194
  • Twenty: Ensure link color is inherited from paragraph in the editor – #56214
  • Twenty: Fix Heading Block alignment when nested in Cover Block – #56049
  • Twenty: Fix Social Links widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. alignment – #56474
  • Twenty: Improve support for Post Title block alignment – #56167

Code Modernization

  • Add AllowDynamicProperties attribute to all (parent) classes – #56513, #56034
  • Fix autovivification from false to array in WP_Scripts::localize()#55656
  • Pass correct value to parse_url() in WP_Customize_Manager::get_return_url()#55656
  • Reduce CSS float usage in wp-adminadmin (and super admin) – Timezone settings – #55557
  • Remove -webkit-appearance CSS declarations – #38431
  • Replace deprecated string interpolation patterns – #55787

Coding Standards

  • Move WP_List_Table::get_views_links() to a more appropriate place – #42066
  • Remove unwanted spaces in the WP_Block_Type class
  • Replace double quote with single quote in test_if_failed_update()#55758
  • Various alignment fixes from composer format#39210, #55443, #56288, #56092, #56408, #56467, #55881

Comments

  • Make wp_required_field_indicator() and wp_required_field_message() output filterable – #56389, #54394
  • Remove aria-hidden="true" attribute for visible text in comment template – #55717

Docs

  • Add missing @since history in Gallery ShortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. function – #56206, #55646
  • Clarify documentation for the nav_menu_item_id filter – #56574, #55646
  • Clarify that get_page_template() doesn’t work on block themes – #56394, #55646
  • Clarify the $allowed_protocols default value in various KSES functions – #56580
  • Correct @return type for WP_Block_Parser::parse()#56581
  • Correct @return value for wp_get_http_headers()#54225, #55646
  • Correct @since tags for some block parser properties and methods – #56581
  • Correct the wording in wp_lostpassword_url() description – #55646
  • Revert the WP_Block_Parser documentation changes now – #56581
  • Typo correction in _load_textdomain_just_in_time() docblockdocblock (phpdoc, xref, inline docs)#55646
  • Update wp_rand docblock to clarify that it returns a non-negative number – #15089
  • Use third-person singular verbs in Media 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. function descriptions, as per docblocks standards – #55646
  • Use third-person singular verbs in Template Loading functions descriptions, as per docblocks standards – #55646

Editor

  • Add new render property in block.json for block types – #53148
  • Allow registering multiple items for all supported asset types – #56408
  • 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. Style Engine API functions, classes and tests – #56467
  • Backport build_query_vars_from_query_block 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/ repository – #56467
  • Backport wp_theme_element_class_name() alias – #56467
  • Backport block supports (border, color, elements, spacing) from Gutenberg to WP 6.1 – #56467
  • Backport block supports filter callback, registrations and tests to 6.1 – #56467
  • Backport foundation for Layout block support refactor (part 1) – #56467
  • Backport foundation for Layout block support refactor (part 1) – #56467
  • Finalize the theme_json_get_style_nodes hook name – #56467
  • Fix function name case in wp_default_packages_inline_scripts()#56467
  • Fix get_block_templates() to get templates for a post type – #55881
  • Fix text zoom on link popup editor – #53174
  • Hide query loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. pagination link arrows from assistive technologyAssistive technology Assistive technology is an umbrella term that includes assistive, adaptive, and rehabilitative devices for people with disabilities and also includes the process used in selecting, locating, and using them. Assistive technology promotes greater independence by enabling people to perform tasks that they were formerly unable to accomplish, or had great difficulty accomplishing, by providing enhancements to, or changing methods of interacting with, the technology needed to accomplish such tasks. https://en.wikipedia.org/wiki/Assistive_technology#56067
  • Persist preferences in user 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.#56467
  • Revert [54159] – #56467

External Libraries

  • Update the jQuery UIUI User interface library to version 1.13.2 – #56239
  • Update the jQuery library to version 3.6.1 – #56451

Feeds

  • Add a set of fine-grained filters to disable the different types of feed links separately – #55904

General

  • Add a new filter for the_posts_pagination_args#53392
  • Correct path replacement regex in wp_guess_url#36827
  • Ensure admin notices are properly displayed on Site Health layout – #54624
  • Pass $action to nonce_life filter – #35188
  • Replace Codex links with their HelpHub counterparts – My Sites screen – #48987
  • Replace Codex with HelpHub in WordPress readme – #48987

Help/About

  • Make translator comments version agnostic and make version translatable on the About page – #54741
  • Remove .hidden class when the Help Tab panel is displayed – #27697

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.

  • Remove code tags from translatable strings in WP_List_Table::get_views_links()#42066

Login and Registration

  • Access improvements to networknetwork (versus site, blog) signup – #40361
  • Required fields in network registration – #54344

Options, Meta APIs

  • Add a new pre-option filter – #37930

Plugins

  • Visually align 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 cards in Plugin Install screen – #55721, #55272

Posts, Post Types

  • Improve performance of the get_user_data_from_wp_global_styles method – #55392
  • Update new wp_post_class_taxonomies filter name for consistency – #37114

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

  • Add support for settings to specify their own additionalProperties – #56493

Role/Capability

  • Add a new update_role function – #54572

Site Health

  • Adjust margins for the Site Health dashboard widget – #56369
  • Improve the description for Authorization 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. checks – #54508
  • Improve the details provided by the REST API checks – #54617
  • Add a check to wp_check_php_version() whether the current PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher version is lower than the next (desired) minimum version, Set the next desired minimum PHP version to 7.2, Use that check to update the warnings in the wp_dashboard_php_nag() widget, and on the Site Health screen – #56199
  • Add a menu bubble with the critical issues count to the Tools -> Site Health submenu – #56199

Text Changes

  • Remove self-reference (“we”) in WordPress Admin – #55758, #46057

Themes

  • Implement file description for theme.json#55325
  • Introduces block-based template parts for Classic themes – #56467

Upgrade/Install

  • Add plugin URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org to the automatic update email – #53049
  • Remove _copy_dir() function as originally intended – #55712, #17173
  • Update sodium_compat to v1.18.0 – #56564

Props

Thanks to the 139 (!!) people who contributed to WordPress Core on Trac last week: @audrasjb (29), @costdev (25), @sabernhardt (18), @SergeyBiryukov (15), @bernhard-reiter (10), @mukesh27 (10), @jrf (8), @hellofromTonya (6), @peterwilsoncc (6), @Clorith (5), @joedolson (5), @aristath (4), @desrosj (4), @kajalgohel (4), @afercia (4), @poena (4), @kebbet (4), @tahmidulkarim (3), @joyously (3), @spacedmonkey (3), @zieladam (3), @ramonopoly (3), @andrewserong (3), @multidots1896 (3), @robinwpdeveloper (3), @scruffian (2), @isabel_brison (2), @aaronrobertshaw (2), @noisysocks (2), @mamaduka (2), @netweb (2), @neychok (2), @umesh84 (2), @mrfoxtalbot (2), @Chouby (2), @webcommsat (2), @smit08 (2), @fabiankaegy (2), @ironprogrammer (2), @azaozz (2), @ocean90 (2), @antonvlasenko (2), @NomNom99 (2), @dd32 (2), @Presskopp (2), @pbiron (2), @luisherranz (1), @juliemoynat (1), @harshvaishnav (1), @ayeshrajans (1), @markjaquith (1), @knutsp (1), @welcher (1), @grandeljay (1), @bhrugesh12 (1), @annezazu (1), @mikeschroder (1), @ryokuhi (1), @utz119 (1), @kjellr (1), @bph (1), @matveb (1), @kamig478 (1), @lopo (1), @robertghetau (1), @NathanAtmoz (1), @voldemortensen (1), @jdgrimes (1), @curdin (1), @petitphp (1), @flixos90 (1), @jamesckemp (1), @paragoninitiativeenterprises (1), @nidhidhandhukiya (1), @kmadhak (1), @kapilpaul (1), @pbearne (1), @timothyblynjacobs (1), @dlh (1), @afragen (1), @devtanbir (1), @mhkuu (1), @TobiasBg (1), @cfinke (1), @sharjeelkhanvmi (1), @chaton666 (1), @davidbaumwald (1), @JosVelasco (1), @tobiasbg (1), @shetheliving (1), @dingo_d (1), @rafiahmedd (1), @wparslan (1), @monolithon (1), @glendaviesnz (1), @Ipstenu (1), @ChrisHardie (1), @oliverstapelfeldt (1), @maksimkuzmin (1), @henrywright (1), @gziolo (1), @juhise (1), @Dharm1025 (1), @garrett-eclipse (1), @jonny-s (1), @jorbin (1), @DrewAPicture (1), @dwainm (1), @giuseppemazzapica (1), @marybaum (1), @johnjamesjacoby (1), @SteelWagstaff (1), @allisonplus (1), @maartenj (1), @haritpanchal (1), @danfarrow (1), @allancole (1), @bengreeley (1), @cbravobernal (1), @ntsekouras (1), @manfcarlo (1), @helen (1), @grabmedia (1), @dilipbheda (1), @armondal (1), @youknowriad (1), @hakre (1), @talldanwp (1), @oandregal (1), @aljullu (1), @andregal (1), @adamsilverstein (1), @rolfsiebers (1), @celloexpressions (1), @laurent22777 (1), @tobifjellner (1), @jeremyfelt (1), @westi (1), and @annabansaghi (1).

Congrats and welcome to our 18 (!!) new contributors of the week: @tahmidulkarim, @harshvaishnav, @jamesckemp, @kmadhak, @devtanbir, @mhkuu, @sharjeelkhanvmi, @monolithon, @oliverstapelfeldt, @maksimkuzmin, @jonnys, @dwainm, @giuseppemazzapica, @allisonplus, @maartenj, @grabmedia, @armondal, @laurent22777 ♥️

Core committers: @audrasjb (40), @sergeybiryukov (24), @davidbaumwald (9), @hellofromtonya (5), @joedolson (3), @desrosj (3), @clorith (3), @gziolo (3), @azaozz (2), @spacedmonkey (1), @timothyblynjacobs (1).

#6-1, #core, #meta5999, #meta6322, #week-in-core

A Week in Core – September 12, 2022

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 September 5 and September 12, 2022.

  • 73 commits
  • 118 contributors
  • 51 tickets created
  • 4 tickets reopened
  • 72 tickets closed

The Core team is currently working on the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope., WP 6.1 🛠

Because of the 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. US and its 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/., this week was particularly busy: lots of commits, lots of new contributors ♥️

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

  • Always use the amd64 images for MariaDB and MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. on the local development environment – #56528
  • Consistently create a post fixture in old date or slug redirect tests – #55652
  • Consistently set the current user in the tests for retaining a sticky status – #55652
  • Correct magic methods in Basic_Object#56514
  • Correct the cache invalidation tests for old date or slug redirect – #55652
  • Correct the tests for Site Health SQL versions matching readme.html#55791
  • Correctly use the factory method – #55652
  • Do not allow tests to fail for select PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1 test runs – #55656, #55652
  • Move Site Health 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. class to phpunit/tests/admin/#55652
  • Prevent an Ajax test for IMAGE_EDIT_OVERWRITE from being marked as risky – #55652
  • Remove magic methods from WP_UnitTestCase_Base (without a backward compatibility break) – #56514
  • Remove redundant function_exists() check in a term_is_ancestor_of() test – #55652
  • Set the current user to Editor in test_utf8mb3_post_saves_with_emoji()#55652
  • Temporarily skip the test for recommended PHP version in readme.html#55652
  • Use the default GITHUB_TOKEN instead of a personal access token – #55652
  • Use the factory method instead of the property – #55652
  • Prevent using unsupported NPM versions – #56547

Bundled Themes

  • Twenty Fifteen: Increase the font size used for h5 headings – #52028
  • Twenty Nineteen: Add font smoothing to editor styles – #45909
  • Twenty Seventeen: Ensure long text wraps correctly in the Button 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.#55783
  • Twenty Twenty-One: Remove spacer block styles – #56222
  • Twenty Twenty: Add a missing border to button-style links with Outline style – #55824

Code Modernization

  • Add AllowDynamicProperties attribute to all (parent) classes – #56513, #56034
  • Pass correct value to parse_url() in WP_Customize_Manager::get_return_url()#55656
  • Replace deprecated string interpolation patterns – #55787

Coding Standards

  • Clarify time units for various timeout or expiration values – #56293, #55647
  • Use more meaningful variable names for output in the adminadmin (and super admin)#56448, #55647
  • Use more meaningful variable names in WP_Users_List_Table#56448, #55647

Comments

  • Make wp_required_field_indicator() and wp_required_field_message() output filterable – #56389, #54394
  • Remove aria-hidden="true" attribute for visible text in comment template – #55717

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.

  • Remove unnecessary optimization getting ready events – #56092

Customize

  • Prevent JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error in Links widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. when selective refresh is enabled – #39451
  • Use Semantically correct function – #56285

Date/Time

  • Cast extracted strings to integers in wp_resolve_post_date()#54186

Docs

  • Add a @since note for the update_network_meta_cache parameter of WP_Network_Query::__construct()#55646
  • Clarify wp-includes/update.php main docblockdocblock (phpdoc, xref, inline docs) description – #55646
  • Correct @global tags in WP_User_Query::prepare_query()#56543
  • Simplify a comment in WP_Network_Query::get_networks() and WP_Site_Query::get_sites()#55646
  • Various docblock fixes in Site Health related files, as per documentation standards – #55646
  • Various docblock fixes in wp-includes/update.php, as per documentation standards – #55646

Editor

  • Add new render property in block.json for block types – #53148
  • Add support for heading, button, and caption elements – #56467
  • 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. Elements API updates – #56467
  • Hide query loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. pagination link arrows from assistive technologyAssistive technology Assistive technology is an umbrella term that includes assistive, adaptive, and rehabilitative devices for people with disabilities and also includes the process used in selecting, locating, and using them. Assistive technology promotes greater independence by enabling people to perform tasks that they were formerly unable to accomplish, or had great difficulty accomplishing, by providing enhancements to, or changing methods of interacting with, the technology needed to accomplish such tasks. https://en.wikipedia.org/wiki/Assistive_technology#56067
  • Preload settings and templates permissions – #56467
  • Refresh nones for metaboxes after reauthentication – #52584
  • Update single default template description – #56534
  • Update duotone block supports to allow unset for preset colors – #56467

Embeds

  • Add Google Data Studio as a trusted oEmbed provider – #55771

KSES

  • Allow min(), max(), minmax(), and clamp() values to be used in inline CSSCSS Cascading Style Sheets.#55966
  • Allow min(), max(), minmax(), and clamp() values to be used in inline CSS – #55966
  • Allow assigning values to CSS variables – #56353
  • Allow more layout-related CSS properties – #56122
  • Revert [54092] for now to address unit test failures – #55966

Media

  • Add muted property for video elements – #54788
  • Call update_post_parent_caches function in WP_Media_List_Table class – #56036
  • Generate WebP only for certain registered image sizes – #56526, #55443, #56288
  • Move wp_default_image_output_mapping() 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. callback to frontend scope – #55443, #56526
  • Output WebP by default when uploading JPEGs – #55443
  • revert the multi-mime feature – #55443

Networks and Sites

  • Use metadata api in *_network_options functions – #37181

Posts, Post Types

  • Call update_post_author_caches function in WP_Posts_List_Table class – #56100

Query

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

  • Add support for searching resources by id – #56546
  • Add support for settings to specify their own additionalProperties – #56493
  • Add the missing site_icon_url to the index – #56467
  • Block autosaving from overwriting changes when locked from editing – #55659
  • Introduce _pretty query parameter to opt in to JSON_PRETTY_PRINT – #41998
  • Use helper functions for building routes in more places – #56472

Script Loader

  • Pass startOfWeek setting to wordpress/date – #56467

Site Health

Widgets

  • Store default options for uninitialized widgets – #54677

Props

Thanks to the 118 (!) people who contributed to WordPress Core on Trac last week: @costdev (17), @jrf (12), @peterwilsoncc (9), @sabernhardt (7), @mukesh27 (7), @bernhard-reiter (7), @spacedmonkey (6), @audrasjb (6), @SergeyBiryukov (5), @flixos90 (4), @andrewserong (4), @cbravobernal (4), @Mamaduka (4), @ramonopoly (4), @hellofromTonya (3), @swissspidy (3), @aristath (3), @zieladam (3), @TimothyBlynJacobs (3), @scruffian (3), @noisysocks (3), @poena (3), @adamsilverstein (3), @andraganescu (2), @joyously (2), @Chouby (2), @isabel_brison (2), @uxl (2), @johnregan3 (2), @get_dave (2), @johnbillion (2), @desrosj (2), @kadamwhite (2), @afercia (2), @azaozz (2), @joedolson (2), @laurelfulford (1), @johnjamesjacoby (1), @jeremyfelt (1), @mikachan (1), @pento (1), @madhudollu (1), @mohitdadhich10 (1), @sc0ttkclark (1), @mrfoxtalbot (1), @umesh84 (1), @russel07 (1), @pratiweb (1), @burhandodhy (1), @alansyue (1), @viralsampat (1), @bph (1), @dd32 (1), @jeawhanlee (1), @gmovr (1), @antpb (1), @alaca (1), @aezazshekh (1), @thakkarhardik (1), @eugenemanuilov (1), @joegrainger (1), @czapla (1), @withinboredom (1), @ndiego (1), @Joen (1), @jorgefilipecosta (1), @ajlende (1), @hiren1094 (1), @jameskoster (1), @ntsekouras (1), @bgardner (1), @anitanenova (1), @robertghetau (1), @afrid1719 (1), @anna.bansaghi (1), @Viper007Bond (1), @Benouare (1), @prokium (1), @joemcgill (1), @primetimejas (1), @chanthaboune (1), @sathyapulse (1), @jhart35 (1), @fabiankaegy (1), @danielbachhuber (1), @matveb (1), @welcher (1), @luisherranz (1), @knutsp (1), @markjaquith (1), @ayeshrajans (1), @juliemoynat (1), @kebbet (1), @kamig478 (1), @chrisguitarguy (1), @rmccue (1), @akabarikalpesh (1), @bhrugesh12 (1), @lev0 (1), @mvraghavan (1), @robinwpdeveloper (1), @rudlinkon (1), @GaryJ (1), @krupalpanchal (1), @arrasel403 (1), @hztyfoon (1), @dpcalhoun (1), @hilayt24 (1), @mmaattiiaass (1), @onemaggie (1), @shoaibkarimali (1), @Drivingralle (1), @LinSoftware (1), @rcorrales (1), @greenshady (1), @nikeo (1), @dlh (1), and @Presskopp (1).

Congrats and welcome to our 21 (!!) new contributors of the week: @uxl, @madhudollu, @mohitdadhich10, @russel07, @jeawhanlee, @alaca, @eugenemanuilov, @joegrainger, @hiren1094, @anitanenova, @afrid1719, @annabansaghi, @prokium, @primetimejas, @jhart35, @kamig478, @mvraghavan, @arrasel403, @shoaibkarimali, @LinSoftware, @rcorrales ♥️

Core committers: @sergeybiryukov (35), @audrasjb (11), @timothyblynjacobs (3), @spacedmonkey (3), @peterwilsoncc (3), @adamsilverstein (2), @flixos90 (2), @jorbin (2), @antpb (2), @westonruter (1), @swissspidy (1), @joemcgill (1), @kadamwhite (1), @desrosj (1), @helen (1), @johnbillion (1), @clorith (1), @gziolo (1), @noisysocks (1).

#6-1, #core, #week-in-core

A Week in Core – September 5, 2022

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 August 29 and September 5, 2022.

  • 56 commits
  • 47 contributors
  • 64 tickets created
  • 5 tickets reopened
  • 40 tickets closed

The Core team is currently working on the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope., WP 6.1 🛠

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

  • Correct the context variable being used when auto-retrying failed and cancelled workflows – #56407
  • Do not allow tests to fail for select PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1 test runs – #55656, #55652
  • Add @coversNothing tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) for PHP polyfill tests in phpunit/tests/compat/#39265, #55652
  • Consistently create a post fixture in old date or slug redirect tests – #55652
  • Consistently set the current user in the tests for retaining a sticky status – #55652
  • Correct some @covers tags in wp_html_split() and wptexturize() tests – #39265, #55652
  • Correct the @covers tag in a WP_REST_Posts_Controller test for unique post slugs – #52422, #55652
  • Correct the @covers tag in a WP_REST_URL_Details_Controller test for registered route – #55652
  • Correct the @covers tag in a WP_REST_URL_Details_Controller test for registered route – #55652
  • Correct the @covers tag in a test for strip_ws() utility function – #55652
  • Correct the @covers tag syntax in a taxonomy_exists() test with non-string 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.#56338, #55652
  • Correct the @covers tags in WP::send_headers() tests for feeds – #55652
  • Correct the cache invalidation tests for old date or slug redirect – #55652
  • Correct the tests for Site Health SQL versions matching readme.html#55791
  • Correctly back up and restore theme directories in Tests_Theme#55652
  • Explicitly mark empty 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/. tests as not performing any assertions – #40538, #41463, #55652
  • Increase coverage for translations applied to 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.#54336
  • Increase the time difference for the expires 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. in Site Health page cache tests – #56041
  • Move Site Health 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. class to phpunit/tests/admin/#55652
  • Prevent an Ajax test for IMAGE_EDIT_OVERWRITE from being marked as risky – #55652
  • Remove @covers tags for native PHP functions in phpunit/tests/compat/#39265, #55652
  • Restore @covers tags for PHP polyfill tests in phpunit/tests/compat/#39265, #55652
  • Set the current user to Editor in test_utf8mb3_post_saves_with_emoji()#55652
  • Simplify and correct get_term_link() and get_edit_term_link()#55652
  • Temporarily skip the test for recommended PHP version in readme.html#55652
  • Use correct post_author value in WP_Test_REST_Attachments_Controller#55652

Bundled Themes

  • Twenty Twenty: Improve word wrap in comments required message – #56397

Code Modernization

  • Explicitly declare all properties in Gettext_Translations#56033
  • Explicitly declare all properties in Services_JSON#56033

Coding Standards

  • Use a consistent markup for line break tags across Core – #56457
  • Use more consistent formatting in wp-includes/class-json.php#55647
  • Use more meaningful variable names for output in the adminadmin (and super admin)#56448, #55647
  • Use more meaningful variable names in WP_Users_List_Table#56448, #55647

Docs

  • Add a @since note for the update_network_meta_cache parameter of WP_Network_Query::__construct()#55646
  • Simplify a comment in WP_Network_Query::get_networks() and WP_Site_Query::get_sites()#55646
  • Use third-person singular verbs for various function descriptions, as per docblocks standards – #55646

Editor

  • Preload settings and templates permissions – #56467
  • Ensure that timezone.offset passed to @wordpress/date is a float – #56459

General

  • Ensure bookmark query limits are numeric

Media

  • Output WebP by default when uploading JPEGs – #55443
  • revert the multi-mime feature – #55443

Networks and Sites

  • Use metadata api in *_network_options functions – #37181

Plugins

  • Escape output in error messages

Posts, Post Types

  • Allow bypassing of term classes in get_post_class()#37114
  • Escape output within the_meta()

REST API

  • Add the missing site_icon_url to the index – #56467

Script Loader

  • Allow a priority to be passed to wp_enqueue_block_support_styles()#56467
  • Pass startOfWeek setting to wordpress/date – #56467

Site Health

  • Bump the recommended MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. and MariaDB versions – #55791, #meta5999, #meta6322
  • Ensure persistent object cache check short-circuit 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. also short-circuits multisitemultisite Used 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#56040
  • Introduce page cache check – #56041
  • Minor 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. cleanup in page cache and persistent object cache tests – #56041
  • Refine persistent object cache check tests – #56040
  • Some documentation and test improvements for WP_Site_Health#56041
  • Update persistent object cache check documentation URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org#56040
  • Use $wpdb->db_server_info() to retrieve database server type – #56484

Props

Thanks to the 47 people who contributed to WordPress Core on Trac last week: @jrf (9), @costdev (8), @mukesh27 (6), @flixos90 (4), @swissspidy (4), @Clorith (3), @paulkevan (3), @bernhard-reiter (3), @desrosj (3), @SergeyBiryukov (3), @peterwilsoncc (3), @azaozz (2), @audrasjb (2), @johnbillion (2), @antonvlasenko (2), @tykoted (2), @xknown (2), @furi3r (2), @davidbaumwald (2), @dd32 (2), @Mamaduka (2), @TimothyBlynJacobs (2), @spacedmonkey (2), @burhandodhy (1), @ramonopoly (1), @timothyblynjacobs (1), @martinkrcho (1), @sc0ttkclark (1), @westonruter (1), @johnjamesjacoby (1), @nidhidhandhukiya (1), @sabernhardt (1), @jeremyfelt (1), @Presskopp (1), @haritpanchal (1), @pento (1), @hilayt24 (1), @xparham (1), @tlovett1 (1), @system909 (1), @steveo2000 (1), @sebastianpisula (1), @invelity (1), @andrewserong (1), @bordoni (1), @boonebgorges (1), and @talldanwp (1).

Congrats and welcome to our 3 new contributors of the week: @system909, @steveo2000, @invelity ♥️

Core committers: @sergeybiryukov (40), @flixos90 (4), @audrasjb (3), @adamsilverstein (2), @noisysocks (2), @desrosj (2), @spacedmonkey (1), @peterwilsoncc (1), and @gziolo (1).

#6-1, #core, #week-in-core

A Week in Core – August 29, 2022

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 August 22 and August 29, 2022.

  • 33 commits
  • 99 contributors
  • 46 tickets created
  • 10 tickets reopened
  • 45 tickets closed

The Core team is currently working on the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope., WP 6.1 🛠

The team has also started working on Twenty Twenty-Three, the next bundled theme that will be included with WP 6.1 🎨

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

  • Automatically rerun a workflow the first time it fails – #56407
  • Enable running the tests on PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.2 – #56009

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

  • Remove private delegation from cache priming functions – #56386

Code Modernization

  • Explicitly declare WP-specific property in WP_SimplePie_File#56033
  • Explicitly declare all properties created in set_up() methods of various test classes – #56033
  • Explicitly declare all properties in POMO_Reader et al – #56033
  • Explicitly declare all properties in WP_Ajax_Upgrader_Skin#56033
  • Explicitly declare all properties in WP_Test_Stream#56033
  • Explicitly declare all properties in various tests – #56033
  • Remove dynamic properties in Tests_Comment_Walker#56033
  • Remove dynamic properties in WP_Test_REST_Posts_Controller#56033
  • Remove dynamic properties in WP_Test_REST_Users_Controller#56033
  • Remove dynamic properties in WP_UnitTestCase_Base#56033
  • Remove unused dynamic property in WP_Test_REST_Pages_Controller#56033

Coding Standards

  • Use strict comparisons in path_is_absolute()#36308

Docs

  • Correct typo in wp_maybe_clean_new_site_cache_on_update() parameter description – #55646

Editor

  • 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. Patterns: Add new Footers categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.#56416
  • 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. bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes 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/ into Core for WP 6.0.2 RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).#56414
  • Ensure get_block_templates() returns unique templates or template parts – #56271
  • Ensure that timezone.offset passed to @wordpress/date is a float – #56459

Help/About

  • Improve vertical alignment in the Additional Design Tools section – #56210

Media

  • Account for Windows when normalizing file paths – #36308

Query

  • Cache post ID database query within WP_Query#22176, #55652

Site Health

  • Don’t show issue groups unless there are items in them – #47222
  • Improve the fatal error handling text in multisitemultisite Used 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 scenarios – #48929
  • Introduce persistent object cache check – #56040

Themes

  • Add support for Update URI 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.#14179, #23318, #32101

Props

Thanks to the 99 (!) people who contributed to WordPress Core on Trac last week: @jrf (14), @costdev (8), @SergeyBiryukov (7), @antonvlasenko (5), @desrosj (4), @johnbillion (4), @audrasjb (3), @peterwilsoncc (2), @markjaquith (2), @ironprogrammer (2), @mukesh27 (2), @DavidAnderson (2), @jorbin (2), @dd32 (2), @hellofromTonya (2), @Clorith (2), @spacedmonkey (2), @tillkruss (2), @chriscct7 (2), @knutsp (1), @mordauk (1), @talldanwp (1), @nvartolomei (1), @aspexi (1), @benoitchantre (1), @GaryJ (1), @Ipstenu (1), @TJNowell (1), @gMagicScott (1), @Otto42 (1), @mikejolley (1), @lev0 (1), @juliobox (1), @Rarst (1), @jb510 (1), @GeekStreetWP (1), @khromov (1), @ryno267 (1), @rudlinkon (1), @gregorlove (1), @marybaum (1), @JavierCasares (1), @ayeshrajans (1), @skithund (1), @zieladam (1), @tomepajk (1), @Mte90 (1), @oglekler (1), @webcommsat (1), @dougwollison (1), @weboccults (1), @sabernhardt (1), @joostdevalk (1), @swissspidy (1), @jonmackintosh (1), @uofaberdeendarren (1), @leemon (1), @georgestephanis (1), @williampatton (1), @damonganto (1), @ocean90 (1), @birgire (1), @stevenlinx (1), @Whissi (1), @kebbet (1), @sergeybiryukov (1), @scribu (1), @ryan (1), @nacin (1), @meloniq (1), @drewapicture (1), @batmoo (1), @aaroncampbell (1), @poena (1), @robinwpdeveloper (1), @palmiak (1), @rkaiser0324 (1), @davidbaumwald (1), @DrewAPicture (1), @jdgrimes (1), @furi3r (1), @crazycoders (1), @rmccue (1), @miqrogroove (1), @afragen (1), @apedog (1), @markparnell (1), @grapplerulrich (1), @earnjam (1), @mweichert (1), @joyously (1), @dingdang (1), @infolu (1), @JeroenReumkens (1), @nhuja (1), @sean212 (1), @filosofo (1), @design_dolphin (1), and @Synchro (1).

Congrats and welcome to our 4 new contributors of the week: @tillkruss, @tomepajk, @Whissi, @rkaiser0324 ♥️

Core committers: @sergeybiryukov (20), @desrosj (3), @clorith (2), @antpb (2), @peterwilsoncc (2), @noisysocks (1), @flixos90 (1), @mcsf (1), and @gziolo (1).

#6-1, #core, #week-in-core

Summary, Dev Chat, August 24, 2022

These are the notes from the weekly WordPress developers chat held on Wednesday August 24, 2022.

1. Welcome and introduction

2. Announcements

WordPress 6.0.2 RC 1 has landed! Please download and test.

3. Blogblog (versus network, site) posts

This is not all the posts published on the core blog during the last week, but major items highlighted for comment or queries.

A week in core (published August 25, 2022) – thank you @audrasjb

Feedback by September 9, 2022 is requested on a new system for updating HTML attributes.

The 16th Full Site Editing Call for Testing is still open. This features a simpler testing exercise. Deadline is September 2, 2022. Thanks @annezazu for the update.

4. Upcoming releases

a) The next major is 6.1.

@marybaum shared that @priethor has asked for green-yellow-red lights looking ahead to 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. release and almost all green were reported in the #6-1-release-leads channel.
No other updates were received on the agenda or during the meeting from the squad.

b) The next minor is 6.0.2.
The Release Candidate (RC1) is out.

Update via @sergeybiryukov

5. Components and tickets

This section is for updates from component maintainer or anyone shepherding a ticketticket Created for both bug reports and feature development on the bug tracker.. Beta 1 is five weeks away, so the time is ripe!

Updates from @sergeybiryukov for Build/Test Tools, Database, General, Themes, Date/ Time components

Build/Test Tools

As of yesterday, PHPUnit test runs on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Actions include PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.2, though addressing compatibility issues is still a work in progress. PHP 8.2 is expected to be released at the end of November 2022. Thanks @jrf.

More details at: Ticket #56009 Prepare for PHP 8.2

Compatibility with the recent versions of MariaDB (10.6+) and MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. (8.0+) was improved. With these and some other changes, specifically skipping tests for non-implemented REST API methods, most of the test runs from various hosting environments on the Host Test Results page successfully pass now, except for PHP 8.2.0alpha2 for now.

More details at: Tickets #51740 and #53623

Database

General: Code modernization efforts have continued on preparing WordPress core for PHP 8.2.

Thanks @jrf and @antonvlasenko.

More details at: Ticket #56033 PHP 8.2 explicitly declare all known properties

Themes

  • 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. Themes 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. is now available on the Add Themes screen, to match a similar filter in the WordPress.org Theme Directory. Thanks @luminuu and @audrasjb.
    Ticket #56283 Add “Block theme” filter under “Add themes” for more details.
  • The support for Update URI theme 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. was added to core. This allows third-party themes to avoid accidentally being overwritten with an update of a theme of a similar name from the WordPress.org Theme Directory. Thanks @dd32@meloniq, @costdev
  • Changeset [53933] and ticket #14179 for more details.

Thanks everyone who contributed to those tickets! 

Date/Time, 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. components

Permalinks: No major news this week.

Site Health component

@clorith:

  • Tickets #54508 (add more information to site health message) & #54617 (add more details when site health checks fail) could benefit from copy review; @webcommsat and @marybaum will follow up.

Updates on Help/About and Bulk/ Quick Edit components

@marybaum: We moved one ticket on: #56210.

Thanks @webcommsat @ogleckler @nalininonstopnews and @sergeybiryukov for comments / discussion on components in these two components. Thanks for the commit @audrasjb.

@nalininonstopnewsuk:

Quick Edit/ Bulk edit – on the next few Mondays we will continue to look at some of the tickets and doing some triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors.. We did some exploration on one particular ticket this last week. We will bring it to a bigger scrub potentially after that depending on progress.

As Mary had lost her internet connection, @nalininonstopnewsuk added: Thank you everyone for sharing. Dev chat is a good place for component maintainers to be able to share progress on their tickets and highlight any issues. You can let the core team reps know if you need some assistance too. 

As a newer maintainer, I appreciate the outreach from the team reps and from documentation at releases time. Dev chat also helps get more people to look at a specific point in an issue if needed. Just putting in my thoughts. @marybaum: Very valuable! Thanks so much.

Upgrade/ Install component

@costdev: Upgrade/Install: While we’ve had reviews from individual committers who happen to be on the Security, Docs and Polyglots teams, we’d like to make an official request to these teams here in dev chat and in their respective channels to review the Rollback Update Failure feature plugin for any potential issues.

No further update from maintainers nor tickets. Thanks everyone who has added tickets above.

6. Open Floor

@marybaum: We are going to talk about dev chat 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. US 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/..

There were no other items added to the agenda today apart from the links we have already shared. Nothing else was raised.

@marybaum: Also huge thanks, Nalini, for stepping in and helping lead this chat today! Thanks and for the info you have sent across on some words for the glossary relating to the handbook Nalini. @nalininonstopnewsuk: Thank you for the handbook link about what dev chat does and its purpose. It is very interesting and useful.

Props to: @webcommsat for the dev chat summary, and @marybaum, @nalininonstopnewsuk, and @costdev for review.

#6-0, #6-1, #dev-chat, #summary

Performance team meeting summary 30 August 2022

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

Announcements

  • @flixos90: multiple announcements
    • Team Rep nominations reminder
    • If you are contributing to the WordPress/performance GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ repository (or any WordPress GitHub repository FWIW), please link your 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/ and GitHub accounts if you haven’t done so. You can do so at https://profiles.wordpress.org/profile/profile/edit/group/1/
    • If you have been contributing to the team’s efforts (e.g. GitHub, discussions, conversations in this chat, …) but don’t have the “Performance Contributor” badge on your profile, you may request to have it added by requesting to join the group at https://profiles.wordpress.org/associations/performance-contributor/
    • If you are contributing to the WordPress/performance GitHub repository, please be aware of a new rule to avoid naming your regular temporary coding branches something like feature/. That feature/ prefix will be reserved for special protected feature branches going forward
      • @adamsilverstein: other than the ‘feature/’ prefix, are there any other conventions we want to follow / is that documented somewhere?
      • @flixos90: Only feature/ and release/ must not be used for regular coding branches (a pull request to document this has since been opened)

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein: we have been working on responding to feedback on the WebP ticketticket Created for both bug reports and feature development on the bug tracker. (#55443) and conducting research around the potential usefulness of a “threshold” size above which jpegs would be generated instead of WebPs.  The research used WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ to run many images through WordPress image compression with WebP quality set at 82, 84 & 86 to investigate how often WebP images are larger than the JPEG equivalent, at what image dimensions, and by how much. I will be summarizing the research in my response on the ticket shortly
    • there seems to be strong agreement that we should only output a single mime type. The main question now is if the mult-mime support is worth keeping – the code adds a good bit of complexity to media, and isn’t strictly required for the approach we are considering now… so we are trying to weigh the pros and cons of keeping it. It might make sense to revert and re-introduce when we have support for async media generation (something we are already working on)
  • @joegrainger: Working on creating sub-issues with implementation details for Regenerate existing images and coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. for Update core functions to support multiple mime types
  • @mukesh27: Working on WebP core follow-up patch https://github.com/WordPress/wordpress-develop/pull/3036 and Core TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticket with performance focus
  • @wpgurudev: Basic regenerate-existing-images module PR has been merged, follow-up PR for background job 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. up for final review; background job class PR is ready, waiting for taxonomy PR to get merged, so that tests can be added
  • @pbearne: Dominant color is getting pushback; would like to suggest that we put it behind a theme feature flag (show-dominant-color) and we add it to the media library in wp-adminadmin (and super admin)
    • @flixos90: We should evaluate that pushback closely. Can you elaborate why it should be controlled by the theme instead?
    • @pbearne: The push back seems to have the theme of “we like this but themes should control the look and feel”
    • @flixos90: So it would mean the data is still added to every image upload, but the theme decides how to use that color information? Sounds reasonable
    • @flixos90: discussing this further will be made a dedicated agenda item next week

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

  • @tillkruess: focus had one core merge last week (see PR / changeset), with great results already (see chart from wordpress.org below, shared by @dd32)
MySQL throughput dropping from roughly 1.5M to pretty much half following the commit

Feedback requested

Site Health

N/A

GitHub project

  • We’re seeking 1-2 POCs for this group; if you’re interested, please comment here or 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.” in 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/.
  • @furi3r: persistent object cache Site Health PR was merged (see changeset / ticket), what is left for the full page cache PR (see ticket)?
    • @flixos90: haven’t re-reviewed it yet since last week, but if all the feedback from then has been addressed and the merge conflicts are fixed, this should be good to go
  • @furi3r: can try to get a Draft for the dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include: a description of the change; the decision that led to this change a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. by next week, I’ll be on holiday after that, so maybe someone can take over if not ready/published

Feedback requested

Measurement

N/A

GitHub project

  • We’re seeking 1-2 POCs for this group; if you’re interested, please comment here or ping in Slack
  • @mehulkaklotar: working on proposal for PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party Check plugin

Feedback requested

JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.

@aristath @sergiomdgomes

GitHub project

  • @pushpakpop: we have started research around the approach for the JavaScript orchestration project

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @mukesh27: PR to fix unexpected input Warning message during release build/test process ready for re-review

Feedback requested

Open Floor

  • @olliejones: Database Performance Health Checks module proposal (continued from last week)
    • @olliejones: Is DBMS server performance part of the mission of this group?
      • @flixos90: Absolutely! Every aspect of performance is relevant to the team’s mission
    • @olliejones revised this health-check module proposal to simplify the output (see https://github.com/WordPress/performance/issues/475 and please look at the “Other” section), agrees with last week’s conversation about excess complexity; we’ll do all the checks and only report the trouble spots
      • @flixos90: In that case I’d argue there is still a lot of complexity. Implementing each of these tests in a reliable way is probably not trivial. To clarify, I’m not saying we shouldn’t do it. I’m only suggesting we start with only one of them for the first version and add the others in additional iterations
      • @olliejones: FWIW I have a prototype I’ve been testing against old versions of DBMS software as well as new versions. The tests were designed to cope with missing RDBMS features in the old versions. Yeah, complex, for sure. But doable.
    • @flixos90: Does anybody have objections against this module proposal?
      • Quick survey of thumbs up / thumbs down resulted in 9 thumbs up and 0 thumbs down
      • @olliejones will start a pull request introducing the module; if it shows that some bits there are too complex to get through in a reasonable time, we can still re-assess if we want to narrow down the scope

Our next chat will be held on Tuesday, September 6, 2022 at 15:00 UTC in the #core-performance channel in Slack.

#performance, #performance-chat, #summary

A Week in Core – August 22, 2022

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 August 15 and August 22, 2022.

  • 28 commits
  • 92 contributors
  • 39 tickets created
  • 5 tickets reopened
  • 32 tickets closed

The Core team is currently working on the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope., WP 6.1 🛠

The team has also started working on Twenty Twenty-Three, the next bundled theme that will be included with WP 6.1 🎨

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

  • Enable running the tests on PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.2 – #56009
  • Increase the Dependabot pull request limit for GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Actions – #55652
  • Only define WP_PLUGIN_DIR when running core tests – #39210
  • Assign created fixtures to the dedicated class properties in some test classes – #54662
  • Clean up test image before performing assertions in image tests – #55652
  • Consistently skip tests for non-implemented methods in 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/. test classes – #40538, #41463, #55652
  • Correct MariaDB version check in database charset tests – #53623

Code Modernization

  • Remove dynamic properties in theme tests – #56033

Coding Standards

  • Check for deprecated options before wp_installing()#55647
  • Remove a one-time variable in themes.view.Installer.browse#56283
  • Simplify the logic in wp_not_installed()#55647

Database

  • Account for utf8 being renamed to utf8mb3 in newer MariaDB and MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. versions – #53623

Docs

  • Remove incorrect default value for $path argument of admin_url()#55646
  • Use third-person singular verbs for function descriptions in WP_Tax_Query class, as per docblocks standards – #55646

Editor

  • 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. bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes 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/ into Core for WP 6.0.2 RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).#56414
  • Ensure get_block_templates() returns unique templates or template parts – #56271

Embeds

  • Fix missing labels and duplicate IDs – #55664

External Libraries

  • Upgrade PHPMailer to version 6.6.4 – #56016

Help/About

  • Improve vertical alignment in the Additional Design Tools section – #56210

Mail

  • Prevent the last character of names in “From” headers from being trimmed – #19847

Permalinks

  • Fix aria-live text when removing custom structure – #56230

Query

  • Cast the metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. key to BINARY for case-sensitive key comparisons in WP_Meta_Query#51740

Script Loader

  • Remove default DNSDNS DNS is an acronym for Domain Name System - how you assign a human readable address to a website’s exact numeric coded location (ie. wordpress.org uses the actual IP address 198.143.164.252). prefetch entry for s.w.org – #40426, #37387

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.

  • Associate field descriptions with fields – #55651

Themes

  • Add 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. Themes 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. in Theme Install Screen – #56283, #meta6330
  • Add support for Update URI 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.#14179, #23318, #32101
  • Include a hyphen in the Block Themes tab key on Add Themes screen – #56283

Upgrade/Install

  • Make WP_Filesystem_FTPext::size() return false on failure – #51170

Props

Thanks to the 92 (!) people who contributed to WordPress Core on Trac last week: @SergeyBiryukov (8), @costdev (4), @jrf (3), @swissspidy (2), @joyously (2), @audrasjb (2), @desrosj (2), @afercia (2), @ironprogrammer (2), @johnbillion (2), @sabernhardt (2), @Mte90 (1), @oglekler (1), @marybaum (1), @webcommsat (1), @dd32 (1), @weboccults (1), @rudlinkon (1), @hellofromTonya (1), @jonmackintosh (1), @antonvlasenko (1), @uofaberdeendarren (1), @leemon (1), @dougwollison (1), @tomepajk (1), @ayeshrajans (1), @zieladam (1), @superpoincare (1), @mattyrob (1), @kovshenin (1), @mikehansenme (1), @hakanca (1), @flixos90 (1), @aaemnnosttv (1), @garrett-eclipse (1), @jhabdas (1), @joelhardi (1), @skithund (1), @rafiahmedd (1), @luminuu (1), @johnregan3 (1), @kebbet (1), @joedolson (1), @Synchro (1), @JavierCasares (1), @lev0 (1), @gregorlove (1), @benoitchantre (1), @ryno267 (1), @infolu (1), @miqrogroove (1), @afragen (1), @apedog (1), @markparnell (1), @grapplerulrich (1), @williampatton (1), @earnjam (1), @dingdang (1), @JeroenReumkens (1), @crazycoders (1), @nhuja (1), @sean212 (1), @filosofo (1), @design_dolphin (1), @mweichert (1), @DrewAPicture (1), @markjaquith (1), @DavidAnderson (1), @rmccue (1), @jdgrimes (1), @meloniq (1), @Otto42 (1), @chriscct7 (1), @aspexi (1), @nvartolomei (1), @mordauk (1), @knutsp (1), @GaryJ (1), @TJNowell (1), @gMagicScott (1), @mikejolley (1), @damonganto (1), @Ipstenu (1), @juliobox (1), @Rarst (1), @jb510 (1), @GeekStreetWP (1), @khromov (1), @georgestephanis (1), @jorbin (1), @joostdevalk (1), and @drewapicture (1).

Congrats and welcome to our 5 new contributors of the week: @jonmackintosh, @uofaberdeendarren, @tomepajk, @hakanca, @jhabdas ♥️

Core committers: @sergeybiryukov (18), @joedolson (3), @desrosj (3), @audrasjb (3), and @gziolo (1).

#6-1, #core, #week-in-core

Performance team meeting summary 23 August 2022

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

Announcements

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

  • N/A

Feedback requested

Site Health

N/A

GitHub project

  • We’re seeking 1-2 POCs for this group; if you’re interested, please comment here or 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.” in 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/.
  • @furi3r: Both the core PR for persistent object cache check and PR for full page cache check are ready; @flixos90 will review both of these this week again and commit them if they’re good to go

Feedback requested

Measurement

N/A

GitHub project

  • We’re seeking 1-2 POCs for this group; if you’re interested, please comment here or ping in Slack
  • N/A

Feedback requested

JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.

@aristath @sergiomdgomes

GitHub project

  • N/A

Feedback requested

Infrastructure

@flixos90

GitHub project

  • N/A

Feedback requested

Open Floor

  • @adamsilverstein: fetchpriority module proposal
    • @adamsilverstein: basically the idea here is to give the browser a hint about which image it should prioritize loading
    • @adamsilverstein: we already have logic in place in core to exclude the loading=lazy attribute from images we expect will be the LCP image; so we should be able to apply the fetchpriority=high to those exact image and see improved/prioritized loading for those images; so we shouldn’t need new logic to determine which image to apply the attribute to
      • @eugenemanuilov: so, we are going to use the wp_get_loading_attr_default function to determine whether we want to use the fetchpriority  attribute or not, right? if so, i think this won’t work because it will return false (which is when we want to add the fetchpriority attribute) only once in the default setup, and most likely that once time will be used when we render a thumbnail
      • @flixos90: Potentially, definitely something along those lines. Or we could check if the image has loading="lazy" on it and only add fetchpriority="high" if not
      • @adamsilverstein: was thinking the latter, running on the same hook where loading=lazy is added, but later
    • @flixos90: this seems to be a technically rather straightforward potential module for 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. As Adam mentioned, the main purpose of the module would be to allow us to test how this behaves and measure the impact in the real world; from there it could be refined as needed and eventually proposed for WordPress core
    • @adamsilverstein: this is a “good first module” if someone wants to try to pick it up!
    • @olliejones: do you propose to include anything to measure the improvements? Or will measurement be based on lighthouse, etc?
      • @flixos90: I think measurement is generally happening outside of the Performance Lab plugin, e.g. using Lighthouse, WebPageTest (for lab tests) or CrUX, 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. Archive (for field tests)
      • @adamsilverstein: the generator tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) should indicate the active modules, so part of putting it in a module is helping being able to detect it; that said we could also query for the presence of the fetchpriority attribute itself as well
    • @masteradhoc: nice module. Interested to see how this could turn out on real sites and how much it will help. Read this guide some time ago: https://web.dev/priority-hints/; anything planned or could also be useful with the opposite priority?
      • @flixos90: Hmm I’m unfamiliar for which cases you would realistically want to use fetchpriority="low"; at least for images, we already have lazy-loading, so there adding this probably wouldn’t do much, but of course there are other types of resources where the attribute can be added, so maybe there’s some value there
    • @adamsilverstein: worth noting we recently added “preload” capabilities to core (#42438), but fetchpriority serves a slightly different use case that should have better results for LCP images
  • @olliejones: Database Performance Health Checks module proposal
    • @olliejones: This is 100% back end stuff. The DBMS world (MariaDB / MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/.) has lots of new performance-enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. stuff. I propose pointing out that stuff to site owners. Five tests in this module:
      • DBMS server version, with a detail check for the availability of the latest table format.
      • DBMS Connect / Query response time test.
      • Two tests for latest’n’greatest table formats: one for core tables (incl WooCommerce) and another for plugin tables.
      • Finally, a comparison of the data size of the site’s tables with the size of the DBMS server buffer pool, to detect underprovisioned DBMS machines.
    • @olliejones: A previous proposal also included instructions for using wp-cliWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ to correct some inefficiencies, but that doesn’t work for Performance Lab: it’s aimed at site owners not server ops people.
    • @flixos90: I think there is a lot to unpack here. I wonder if it might be best to start the module with only 1 or 2 of these checks; we could easily make those different checks even different modules, not sure what the benefit would be to having it all in one module except that it’s all related to DBs
      • @olliejones: Benefit for one module? simpler Settings page, that’s it (also shared code among the tests, but that’s not so important)
      • @flixos90: fair point. But maybe we can still start with a subset of the checks. A bit easier to reason about and focus better. Discussing all these topics at once will be challenging. Maybe you can suggest a first check from the list above to focus on discussing?
      • @olliejones: Either Connect/query latency or buffer pool sizing.
    • following up on this new module proposal will be the first special agenda item next week

Our next chat will be held on Tuesday, August 30, 2022 at 15:00 UTC in the #core-performance channel in Slack.

#performance, #performance-chat, #summary

A Week in Core – August 15, 2022

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 August 8 and August 15, 2022.

  • 35 commits
  • 61 contributors
  • 35 tickets created
  • 3 tickets reopened
  • 31 tickets closed

The Core team is currently working on the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope., WP 6.1 🛠

The team has also started working on Twenty Twenty-Three, the next bundled theme that will be included with WP 6.1 🎨

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

Administration

  • Improve performance of List Tables – #34564

Application Passwords

  • Allow a Super Adminadmin (and super admin) to set an application password on a site they’re not a member of – #53224

Build/Test Tools

  • Add @covers tags to the comments tests – #39265
  • Add @covers tags to the import tests – #39265
  • Add @covers tags to the l10nL10n Localization, or the act of translating code into one's own language. Also see internationalization. Often written with an uppercase L so it is not confused with the capital letter i or the numeral 1. WordPress has a capable and dynamic group of polyglots who take WordPress to more than 70 different locales. and 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. tests – #39265
  • Add @covers tags to the options tests – #39265
  • Move the Memcached container into the Docker Compose config – #55700
  • Bring some consistency to serialization tests – #55652
  • Use named data provider for is_serialized_string() tests – #55652
  • Update @covers tags for the load tests – #39265

Bundled Themes

  • Remove closing PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) at the end of files – #40039
  • Twenty Eleven: Correct inline translator comment – #40039

Coding Standards

  • Rename the $file parameter to $path in some WP_Filesystem_* methods – #55647
  • Restore correct regex formatting in dbDelta()#55647

Database

  • Ignore display width for integer data types in dbDelta() on MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. 8.0.17 or later – #49364, #51740

Docs

  • Clarify that register_taxonomy() only accepts lowercase values for the $taxonomy parameter – #56352, #55646
  • Consistently document the $excluded_terms variable in get_adjacent_post()#56348
  • Correct and improve the documented types for various functions and hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.#55646
  • Miscellaneous inline documentation improvements – #55646
  • Remove code tags from WordPress function names within inline documentation – #55646
  • Revert two changes that need to instead be made upstream in the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ repo – #55646
  • Use third-person singular verbs for function descriptions in wp-includes/functions.php, as per docblocks standards – #55646
  • Various docblockdocblock (phpdoc, xref, inline docs) fixes in Core 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. 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., as per docs standards – #55646

Editor

  • Document the arguments for registering 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. style – #55646

Formatting

  • Add support for Enums in is_serialized()#53299

General

  • Add required fields helper functions for better reusability – #54394

I18N

  • Introduce WP_Textdomain_Registry to store text domains and their language directory paths – #26511, #39210

Login and Registration

  • Introduce is_login_screen() function – #19898

Media

  • Cache parent posts in query-attachments AJAX endpoint – #56037

Posts, Post Types

  • Prevent categories from being overwritten when updating a post using wp_insert_post()#19954

Query

  • Be better at forcing data types for query vars – #17737

Taxonomy

  • Add a test file that was missed in [53893]#56215
  • Introduce the is_term_publicly_viewable() function – #56215
  • Prevent non string taxonomy names generating warnings or errors – #56338, #56336

XML-RPC

  • Correct the documented arguments for XML-RPC server methods – #55646

Props

Thanks to the 61 people who contributed to WordPress Core on Trac last week: @costdev (11), @SergeyBiryukov (9), @pbearne (6), @ironprogrammer (5), @patopaiar (5), @hellofromTonya (5), @jrf (5), @antonvlasenko (5), @peterwilsoncc (4), @audrasjb (4), @mukesh27 (3), @johnbillion (3), @desrosj (3), @sabernhardt (3), @dd32 (3), @nacin (2), @leewillis77 (2), @yahil (1), @ocean90 (1), @milindmore22 (1), @vishalkakadiya (1), @NomNom99 (1), @manishsongirkar36 (1), @yoavf (1), @swissspidy (1), @juliobox (1), @bengreeley (1), @dipakparmar443 (1), @grapplerulrich (1), @bobbingwide (1), @johnjamesjacoby (1), @chaion07 (1), @mikeschroder (1), @shetheliving (1), @spacedmonkey (1), @JavierCasares (1), @netweb (1), @markoheijnen (1), @georgestephanis (1), @dcowgill (1), @dave1010 (1), @tellyworth (1), @johnregan3 (1), @ryokuhi (1), @joedolson (1), @ayeshrajans (1), @konradyoast (1), @dennisatyoast (1), @albatross10 (1), @scribu (1), @ilovecats7 (1), @donmhico (1), @iandunn (1), @wonderboymusic (1), @robmiller (1), @chriscct7 (1), @tazotodua (1), @davidbaumwald (1), @xknown (1), @TimothyBlynJacobs (1), and @kitchin (1).

Congrats and welcome to our 3 new contributors of the week: @dipakparmar443, @dave1010, @albatross10 ♥️

Core committers: @johnbillion (12), @sergeybiryukov (6), @audrasjb (6), @azaozz (5), @peterwilsoncc (2), @desrosj (2), @swissspidy (1), and @ocean90 (1).

#6-1, #core, #week-in-core

A Week in Core – August 8, 2022

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 August 1st and August 8, 2022.

  • 54 commits
  • 78 contributors
  • 39 tickets created
  • 4 tickets reopened
  • 38 tickets closed

The Core team is currently working on the next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope., WP 6.1 🛠

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

Administration

  • Change default site tagline to an empty string – #6479

Bundled Themes

  • Twenty Eleven: Remove a useless CSSCSS Cascading Style Sheets. comment after [53819]#56297
  • Twenty Eleven: Use more specific CSS selectors for .required styles – #56297

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

  • Validate cache key in WP_Object_Cache methods – #56198

Code Modernization

  • Let MockClass extend stdClass#56033
  • Remove dynamic properties in Tests_File#56033
  • Remove dynamic properties in Tests_Media_GetPostGalleries#56033
  • Remove dynamic properties in Tests_POMO_PO#56033
  • Remove dynamic properties in Tests_Post_Revisions#56033
  • Remove unused $undefined property in Tests_WP_Customize_Manager#56033
  • Remove unused dynamic property in Tests_WP_Customize_*#56033

Coding Standards

  • Remove extra space in two conditionals – #56134
  • Reorder global cache groups alphabetically for some consistency – #55647
  • Wrap long lines with global cache groups for better readability – #55647
  • Properly escape URLs returned by self_admin_url() calls – #56329
  • Properly escape URLs returned by self_admin_url() calls – #56329

Database

  • Suppress errors when checking the validity of table prefix during installation – #42362

Date/Time

Docs

  • Improve @since notes for some WP_Filesystem_* methods – #51170
  • Improve description for doing_filter() and doing_action()#55646
  • Improve the description of param $list in wp_list_sort() docblockdocblock (phpdoc, xref, inline docs)#56324, #55646
  • Provide a more accurate @return type for get_pages() function – #56330, #55646
  • Remove obsolete comment in object cache tests – #55646, #55652
  • Use third-person singular verbs for function descriptions in WP_REST_Posts_Controller, as per docblocks standards – #55646
  • Various corrections and improvements to inline documentation – #55646
  • Various docblock fixes in wp-admin/includes/image.php class, as per docs standards – #55646
  • Various docblock fixes in wp-includes/blocks.php, as per docs standards – #55646

Editor

  • Safeguard has_blocks() against fatal errors – #55705

Filesystem

  • Rewrite FTPFTP FTP is an acronym for File Transfer Protocol which is a way of moving computer files from one computer to another via the Internet. You can use software, known as a FTP client, to upload files to a server for a WordPress website. https://codex.wordpress.org/FTP_Clients./FTP Sockets exists() methods to implement a more stable check – #51170, #53318, #39781

Media

  • Correct a misnamed variable when creating sub sizes with multi_resize#55443

Media

  • Remove unused _wp_image_belongs_to_attachment function – #56333
  • Use original image size data for full size secondary mime generation – #55443

Plugins

  • Properly encode query string s parameter in 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 search – #56339

Posts, Post Types

  • Change variable name in wp_set_post_terms() for clarity – #56331
  • Force unique slugs for draft posts – #52422

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.

  • Use latest_id as the array key for the latest revision ID – #55857

Revisions

  • Use wp_get_latest_revision_id_and_total_count() where appropriate – #56279

Rewrite rules

  • Prevent malformed date requests throwing notices – #52252

Script loader

  • Enable resource preloading with rel=’preload’ – #42438

Site Health

  • Improve the wording in plugin and theme version tests – #56134

Sitemaps

  • Prevent invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. provider names throwing errors – #56336

Tests

  • Add a test case with a float value for WP_Object_Cache::is_valid_key()#56198
  • Add 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. for WP_Object_Cache::is_valid_key()#56198
  • Add more test cases for WP_Object_Cache::is_valid_key()#56198
  • Combine test classes for get_edit_term_link() tests – #55652
  • Correct data providers for get_term_link() and get_edit_term_link() tests – #55652
  • Improve the test for not throwing a warning on malformed date queries – #52252, #45513
  • Make the comment cache group persistent in WP_UnitTestCase_Base::flush_cache()#55652
  • Move wp_cache_replace() test to a more appropriate place – #55652
  • Remove the list of global groups in Memcached implementation used in the test suite – #55652
  • Remove the list of non-persistent groups in Memcached implementation used in the test suite – #55652
  • Rename the test class for wp_preload_resources() tests – #42438
  • Simplify the list of global groups in object cache tests – #55647
  • Use named data provider for WP_Object_Cache::is_valid_key() test – #56198

Props

Thanks to the 78 people who contributed to WordPress Core on Trac last week: @costdev (12), @peterwilsoncc (10), @SergeyBiryukov (9), @jrf (7), @audrasjb (7), @mukesh27 (5), @dd32 (4), @tillkruess (3), @spacedmonkey (3), @malthert (3), @desrosj (3), @krishaweb (2), @sabernhardt (2), @johnbillion (2), @azaozz (2), @hellofromTonya (2), @rafiahmedd (1), @martinkrcho (1), @Toro_Unit (1), @boemedia (1), @khag7 (1), @melchoyce (1), @lukecavanagh (1), @karmatosed (1), @hyperbrand (1), @tyxla (1), @h2ham (1), @lazam786 (1), @antonvlasenko (1), @burgiuk (1), @pbearne (1), @rherault (1), @deksar (1), @sumitsingh (1), @maythamalsudany (1), @mdrago (1), @psykro (1), @ironprogrammer (1), @codewhy (1), @blackawxs (1), @mikemanzo (1), @irecinius (1), @Velochicdunord (1), @kovshenin (1), @pento (1), @chriscct7 (1), @flixos90 (1), @RyanMurphy (1), @igrigorik (1), @1naveengiri (1), @giox069 (1), @mkox (1), @afragen (1), @pbiron (1), @Howdy_McGee (1), @colonelphantom (1), @dlh (1), @ovidiul (1), @tremidkhar (1), @mehulkaklotar (1), @nico23 (1), @swissspidy (1), @westonruter (1), @westi (1), @furi3r (1), @aristath (1), @mihai2u (1), @gziolo (1), @praful2111 (1), @jigar-bhanushali (1), @hilayt24 (1), @umesh84 (1), @Presskopp (1), @martin.krcho (1), @Clorith (1), @markjaquith (1), @Denis-de-Bernardy (1), and @rarst (1).

Congrats and welcome to our 19 (!) new contributors of the week: @hyperbrand, @h2ham, @lazam786, @burgiuk, @rherault, @deksar, @maythamalsudany, @mdrago, @codewhy, @blackawxs, @mikemanzo, @irecinius, @Velochicdunord, @RyanMurphy, @igrigorik, @giox069, @colonelphantom, @tremidkhar, @praful2111 ♥️

Core committers: @sergeybiryukov (31), @audrasjb (14), @adamsilverstein (4), @peterwilsoncc (3), @johnbillion (1), @desrosj (1).

#6-1, #core, #week-in-core