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

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

A Week in Core – July 25, 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 July 18 and July 25, 2022.

It was quite a busy week, with 121 people contributing to 62 commits!

Worth noting that we never had so many new contributors in a week since we restarted the Week in Core blogposts 2 years ago! 😱😍

  • 62 commits
  • 121 contributors
  • 46 tickets created
  • 6 tickets reopened
  • 49 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 labels to read-only form fields – #54302
  • Correct the escaping in documentation lookup 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 and theme editor – #56007
  • Remove unused CSSCSS Cascading Style Sheets. selectors related to old format menu icons – #35717

Application Passwords

  • Link a more accurate documentation page in User profile edit screen – #56267

Build/Test Tools

  • Add 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.) pattern matching for the testing NPM workflow – #55652
  • Correctly detect the first workflow run for a branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". or tag – #55652
  • Make the 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/ Action pattern matching for tags more specific – #55652
  • Add failure messages for site icon and custom logo tests – #55652
  • Correct the test for passing all expected parameters to the preprocess_comment 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.#55647, #56244
  • Declare custom-logo theme support for custom logo tests – #55652

Bundled Themes

  • Update NPM dependencies for Twenty Twenty and Twenty Nineteen – #55652
  • Twenty Twenty-One: Add 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. type suggestions to block patterns – #53647
  • Twenty Twenty-One: Rebuild the IE specific stylesheet – #55989
  • Twenty Twenty-One: Update NPM dependencies – #55652

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.

  • Add wp_cache_flush_group function – #4476
  • Make the placement of wp_cache_flush_group() more consistent – #55647, #4476

Coding Standards

  • Adjust the logic slightly in wp_ajax_replyto_comment()#55647
  • Check if the _deprecated_file() function exists in wp-db.php#56268, #55647
  • Improve variable names in wp-trackback.php#55647, #56244
  • Move wp-includes/wp-db.php to wp-includes/class-wpdb.php#56268, #55647
  • Remove extra comma in a compact() call – #55647, #56244
  • Remove unused variable in wp-trackback.php#55647
  • Rename $comment_post_ID and $comment_author_IP variables in various files – #55647, #56244
  • Replace the old wp-db.php filename in phpcompat.xml.dist#56268, #55647
  • Standardize on user_id when passing data to comment functions – #55647, #56244
  • Use __DIR__ instead of ABSPATH in wp-db.php#56268, #55647
  • Use consistent placement for ::prepare_links() methods – #55647

Docs

  • Add a @since note for get_post_permalink() returning false on failure – #45329
  • Add function description and @since mention for get_upload_iframe_src()#55646
  • Add missing function description in wp-admin/includes/comment.php#55646
  • Add missing function description in wp-admin/includes/template.php#55646
  • Document that the $file_format parameter of metadata filters can be null – #55646, #55828
  • Fix indentation issues in block-template-utils.php docblocks, as per docs standards – #55646
  • Fix indentation issues in wp_read_video_metadata and wp_read_audio_metadata docblocks – #55646
  • List the expected type first in a few functions: – #55646
  • Provide a more accurate description for wp_is_theme_directory_ignored()#56257, #55646
  • Refine @return docblockdocblock (phpdoc, xref, inline docs) mentions for esc_sql(), wp_slash() and wp_unslash()#53946, #55646
  • Remove an obsolete function description in addslashes_gpc()#56233, #55646
  • Update do_action() docblock code example – #55977
  • Use third-person singular verbs for function descriptions in block-template.php and block-template-utils.php#55646
  • Use third-person singular verbs for function descriptions in general-template.php, as per docblocks standards – #55646
  • Use third-person singular verbs for function descriptions in wp-admin/includes/comment.php, as per docblocks standards – #55646

Editor

  • Fix register_block_type does not recognise ancestor block setting – #56184

Embeds

  • Add Pocket Casts as a trusted oEmbed provider – #55860

External Libraries

  • Update the Moment library to version 2.29.4 – #56031

Formatting

Media

  • Allow filtering audio file metadata in wp_read_audio_metadata()#55828
  • Prevent URLs from overflowing their container in the media editor – #55393
  • enable generating multiple mime types for image uploads; specifically WebP versions for JPEG images by default – #55443

Plugins

  • Improve color contrast on plugins screen when recovery mode is activated – #56190

Posts, Post Types

  • Check if the post type exists in wp_insert_post()#55877
  • Correct the check for non-existing post in get_post_permalink()#45329

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 prepare_links method to WP_REST_Post_Types_Controller class – #56019
  • Add prepare_links method to WP_REST_Taxonomies_Controller class – #56020
  • Avoid unnecessarily preparing item links – #52992
  • Prime post caches in comments endpoint – #56272
  • Use wp_get_lastest_revision_id_and_total_count function in WP_REST_Posts_Controller class – #55857

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.

  • Correct the function name for retrieving the last revision ID and total count – #55857
  • Rename the function for retrieving the latest revision ID and total count – #55857
  • Update the “last revision” wording to “latest revision” in various files – #55857

Themes

  • Add a hook to filter 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. image URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org#56180

Upgrade/Install

  • Improve plugin update icon alignment – #56123
  • Upgrade/Install: track php extensions and image library support for WebP and AVIF – #48116

Props

Thanks to the 121 (wow!) people who contributed to WordPress Core on Trac last week: @audrasjb (11), @SergeyBiryukov (11), @peterwilsoncc (6), @timothyblynjacobs (5), @Spacedmonkey (5), @mukesh27 (5), @sabernhardt (4), @mikeschroder (3), @dlh (3), @costdev (3), @desrosj (3), @pento (2), @mitogh (2), @pbiron (2), @dd32 (2), @joedolson (2), @poena (2), @flixos90 (2), @spacedmonkey (2), @johnbillion (2), @rafiahmedd (2), @afercia (2), @kasparsd (1), @dainemawer (1), @karinclimber (1), @cagsmith (1), @seedsca (1), @scofennellgmailcom (1), @jb510 (1), @annezazu (1), @trevorpfromsandee (1), @clorith (1), @grapplerulrich (1), @codekraft (1), @Presskopp (1), @clarkeemily (1), @shetheliving (1), @eugenemanuilov (1), @akshitsethi (1), @tweetythierry (1), @eherman24 (1), @mehulkaklotar (1), @joegrainger (1), @baxbridge (1), @chynnabenton (1), @sobatkras (1), @masteradhoc (1), @isabel_brison (1), @manzoorwanijk (1), @renegeuze (1), @hztyfoon (1), @mattwondra (1), @kebbet (1), @ryokuhi (1), @thakkarhardik (1), @dilipbheda (1), @leogermani (1), @webbeetle (1), @mmaumio (1), @feastdesignco (1), @jeffpaul (1), @markhowellsmead (1), @imarkinteractive (1), @olliejones (1), @garymatthews919 (1), @kwillmorth (1), @barneydavey (1), @tonylocalword (1), @lovor (1), @eatingrules (1), @azaozz (1), @studiolxv (1), @ryan (1), @pbearne (1), @tillkruess (1), @dg12345 (1), @lucasbustamante (1), @dougal (1), @dhilditch (1), @Ste_95 (1), @scribu (1), @sc0ttkclark (1), @filosofo (1), @hellofromTonya (1), @luigipulcini (1), @JustinSainton (1), @Chouby (1), @byohann6 (1), @malthert (1), @mitweka (1), @circlecube (1), @anantajitjg (1), @alamgircsebd (1), @kapilpaul (1), @rachelbaker (1), @furi3r (1), @MatthiasReinholz (1), @helen (1), @whaze (1), @greg24 (1), @onnimonni (1), @dxd5001 (1), @virgar (1), @nuryko (1), @laboiteare (1), @ironprogrammer (1), @zodiac1978 (1), @rodrigosevero (1), @ocean90 (1), @aristath (1), @markoheijnen (1), @gitlost (1), @p_enrique (1), @nunomorgadinho (1), @nacin (1), @targz (1), @NumidWasNotAvailable (1), @nareshbheda (1), @pratiweb (1), @justinahinon (1), and @ryelle (1).

Congrats and welcome to our 41 (!!) new contributors of the week: @dainemawer, @karinclimber, @cagsmith, @scofennellgmailcom, @trevorpfromsandee, @codekraft, @clarkeemily, @shetheliving, @eugenemanuilov, @akshitsethi, @joegrainger, @baxbridge, @chynnabenton, @sobatkras, @masteradhoc, @renegeuze, @mattwondra, @webbeetle, @feastdesignco, @imarkinteractive, @olliejones, @garymatthews919, @kwillmorth, @barneydavey, @tonylocalword, @studiolxv, @dg12345, @dhilditch, @Ste_95, @byohann6, @mitweka, @alamgircsebd, @MatthiasReinholz, @greg24, @dxd5001, @virgar, @nuryko, @laboiteare, @rodrigosevero, @targz, @nareshbheda ♥️

Core committers: @sergeybiryukov (23), @audrasjb (21), @desrosj (8), @spacedmonkey (5), @peterwilsoncc (2), @adamsilverstein (2), and @gziolo (1).

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

Dev Chat summary, July 20, 2022

@marybaum and @webcommsat led the meeting on this agenda.

1. Welcome

@marybaum welcomed the group and encouraged everyone who shows up for the chat to say hello with an emoji.

Devchat is not just for lead developers, coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. committers or other so-called special people; like everything else that happens in WordPress, devchat is for everyone. Which means you. So when you come around, say hey and let the group know you’re in the house!

2. Announcements

@webcommsat opened the floor for announcements, and @bph noted that Gutenberg 13.7 was landing at that very moment.

3. Blogblog (versus network, site) posts of note

A Week in Core from @audrasjb. JB publishes this report every Monday.

@bph pointed out that comments were due that day on her post about the new developer blog.

4. Upcoming releases

The next major is 6.1.

@marybaum and @desrosj spent a few minutes going over what usually happens at the beginning of the formal part of a release cycle, and when those things might start for 6.1. Bottom line: fairly soon! With an expected launch date of October 25, 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. is likely to happen six to eight weeks before.

The next minor is 6.0.2.

Minor releases contain only 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 and other maintenance code—no new features or enhancements. Their timing and execution depend utterly on the tickets in the milestone.

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

@marybaum opened a discussion about planning Core tables for Contributor Day at WordCamp US. That day will be September 11, and several Core team folx will be on hand to lead activities.

Would you like to help plan? Let @marybaum, @adamsilverstein or @desrosj know by 23:00 UTC on Friday, July 22, and you’ll get access to a Google Doc that will become the basis for information that’s due to the WCUS Contributor team by July 29.

6. Open floor

@sergey and @webcommsat updated the participants on their respective components. @marybaum gave a shoutout to Help/About and Bulk/Quick Edit co-maintainer @nalininonstopnewsuk, who is back in action on several fronts after some time away. Welcome back, Nalini! You were sorely missed.

@azaozz slipped in at the very end to discuss tickets #55942 and #56199, which he’d very much like to see land in 6.1. He pointed out that #56199 will need some brainstorming and discussion before it can proceed.

Thanks to @webcommsat for meeting prep and cohosting.

#core, #dev-chat, #summary

A Week in Core – July 11, 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 July 4 and July 11, 2022.

  • 40 commits
  • 64 contributors
  • 65 tickets created
  • 6 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 and on the next minor, WP 6.0.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

  • Add @covers tags to the taxonomy and category test groups – #39265
  • Add @covers tags to the url test group – #39265
  • Add @coversNothing tags to the tests for some content in documentation and settings files – #39265
  • Add and fix @covers tags to the attachments and 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.-supports test groups – #39265
  • Remove @uses tags from the test suite – #39265
  • Remove duplicate testcase test_get_privacy_policy_url_should_return_empty_when_privacy_policy_page_not_set() from Tests_Url_GetPrivacyPolicyUrl#39265
  • Separate the tests in basic.php for clarity – #39265, #55652

Coding Standards

  • Apply some alignment fixes after composer format#55674
  • Escape the home URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in the “Background updated. Visit your site” message – #56133
  • Escape the home URL in the “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. updated. Visit your site” message – #56132
  • Simplify the logic for setting DB host and port in wpdb::parse_db_host()#54877, #55647

Comments

  • Use more appropriate escaping functions in class WP_Comments_List_Table#56101

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.

  • Make wp-cron non-blocking for LiteSpeed LSAPI – #54668

Database

  • Ensure 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/. port numbers are numeric in wpdb#54877

Docs

  • Add missing docblockdocblock (phpdoc, xref, inline docs) description for install_themes_upload()#55646
  • Add missing function descriptions in wp-admin/includes/update.php#55646
  • Convert “Application Passwords” to lowercase in WP_Application_Passwords docblocks, for better consistency – #55646
  • Correct the type of the $number parameter in ngettext* filters – #56187
  • Improve description for wp_plugin_update_rows() and wp_theme_update_rows()#55646
  • Misc. docblock enhancements in WP_REST_Menu_Items_Controller class, as per docblock standards – #55646
  • Typo correction in WP_Application_Passwords docblocks – #56155, #55646
  • Update the version in which Meetup.com was removed as an oEmbed source – #55997
  • Use third-person singular verbs for function descriptions in WP_Comments_List_Table class, as per docblock standards – #55646

Editor

  • Include user’s name in the wp_refresh_post_lock() response – #56197
  • Update block editor packages for WordPress 6.0.1 – #56058
  • Update block editor packages for WordPress 6.0.1 – #56058
  • Block Patterns: Update the value used for keywords – #56126

External Libraries

  • Update the Moment library to version 2.29.3#56031
  • Update the Underscore library to version 1.13.4#56030

General

  • Properly escape home_url() links in wp_page_menu()#56148

Help/About

  • Add help tab info for the “Send password reset” row action on Users screen – #55801

Media

  • Add tests for wp_img_tag_add_decoding_attr()#53232
  • Deprecate wp_get_attachment_thumb_file() and Make wp_get_attachment_thumb_url() an alias of wp_get_attachment_image_url()

Menus

  • Use more appropriate escaping functions in class Walker_Nav_Menu_Edit#56108

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

  • Consolidate menu item type_label schema declaration – #56072

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.

  • Retain default term option when unregistering taxos – #54472

Themes

  • Properly escape home_url() when changing and updating themes – #56145
  • Register the block-templates theme feature – #55681
  • Revert the change of theme preview width on Add Themes screen – #56097. – #54764

Tools

  • Automate backporting core blocks 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/ to Core – #56179

Users

  • Prime 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. in WP_User_Query class – #55594

Props

Thanks to the 64 people who contributed to WordPress Core on Trac last week: @costdev (10), @SergeyBiryukov (7), @antonvlasenko (4), @ironprogrammer (4), @hellofromTonya (4), @pbeane (4), @zieladam (3), @audrasjb (2), @TimothyBlynJacobs (2), @dilipbheda (2), @johnjamesjacoby (2), @dlh (2), @peterwilsoncc (2), @rudlinkon (2), @jrf (2), @hztyfoon (2), @maximej (1), @sabbirmc (1), @Presskopp (1), @christinavoudouris (1), @grantmkin (1), @chintan1896 (1), @addiestavlo (1), @bernhard-reiter (1), @tobifjellner (1), @jakariaistauk (1), @tushar284 (1), @aniketpatel (1), @sajjad67 (1), @robinwpdeveloper (1), @kebbet (1), @Spacedmonkey (1), @johnbillion (1), @mehulkaklotar (1), @timothyblynjacobs (1), @furi3r (1), @superbthemescom (1), @nathan.noom (1), @ryelle (1), @nacin (1), @markhowellsmead (1), @mukesh27 (1), @csesumonpro (1), @mikeschroder (1), @killua99 (1), @joemcgill (1), @mashukushibiki (1), @mfgmicha (1), @swissspidy (1), @romulodl (1), @JoshuaAbenazer (1), @sergeybiryukov (1), @wonderboymusic (1), @lonnylot (1), @azaozz (1), @obayedmamur (1), @hurayraiit (1), @shraboni (1), @msnewas (1), @im_niloy (1), @cyrillbolliger (1), @azouamauriac (1), @chaion07 (1), and @afragen (1).

Congrats and welcome to our 16 (!) new contributors of the week: @maximej, @sabbirmc, @christinavoudouris, @tushar284, @superbthemescom, @nathannoom, @mashukushibiki, @mfgmicha, @romulodl, @lonnylot, @obayedmamur, @hurayraiit, @shraboni, @msnewas, @im_niloy, @cyrillbolliger ♥️

Core committers: @sergeybiryukov (15), @audrasjb (8), @azaozz (6), @desrosj (5), @peterwilsoncc (4), @gziolo (1), and @spacedmonkey (1).

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

A Week in Core – June 27, 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 June 20 and June 27, 2022.

  • 49 commits
  • 43 contributors
  • 71 tickets created
  • 9 tickets reopened
  • 44 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 and on the next minor, WP 6.0.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

Application Passwords

  • Ensure long passwords don’t break the “new password” notice – #54581

Build/Test Tools

  • Add missing @covers tags and fix the docs for the Cron test group – #39265
  • Add missing @covers tags for the AJAX test group – #39265
  • Adjust 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/. notifications logic to account for expected non push events – #55652
  • Allow changes to the code coverage workflow to run on pull request – #55652
  • Configure Xdebug modes in the local Docker environment – #56022
  • Fix erroneous file name, from convertInvalidEntries.php to convertInvalidEntities.php#55652
  • Return an error when uploading a test coverage report fails – #55652
  • Update 3rd party 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
  • Update NPM devDependencies to their latest versions – #55652
  • Update the actions/cache action – #55652
  • Always include the error message in assertNotWPError() and assertNotIXRError()#55652
  • Correct the expected result for wp_ajax_replyto_comment() test with a draft post – #39265
  • Further improve Tests_Image_Functions::test_wp_crop_image*() tests – #55652
  • Give the tests for adding empty post 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. values more consistent names – #55652
  • Improve Tests_Image_Functions::test_wp_crop_image*() tests – #55652
  • Improve the test for sticky posts not being moved to the front in sitemaps – #55633
  • Move assertQueryTrue() closer to the other custom assertions in WP_UnitTestCase_Base#55652
  • Put @covers tags before @params in Ajax and Formatting groups – #39265
  • Refactor Tests_Image_Functions::test_load_directory() to split the tests and use a data provider – #55652
  • Remove multiple $wpdb::placeholder_escape() calls in wpdb tests – #55652
  • Replace esc_url_raw() calls with sanitize_url()#39265, #55652
  • Use consistent punctuation in failure messages in Tests_Image_Functions#55652
  • Use more consistent wording when referring to PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher deprecation notices – #55652

Code Modernization

  • Remove dynamic properties in Tests_*_Slashes#56033
  • Remove dynamic properties in Tests_Media#56033
  • Use the integer portion of an item position in add_submenu_page()#55656, #54798

Comments

  • Add contextual autocomplete attributes to comment form fields – #55779

Database

  • Add %i placeholder support to $wpdb->prepare to escape table and column names – #52506
  • Add missing @since mention in get_posts_query_args()#55633
  • Correct the return type for wp_save_image_file()#55646
  • Improve documentation for WP_Image_Editor::save() and related functions – #55646
  • Use third-person singular verbs for function descriptions in Bookmark related files, as per docblockdocblock (phpdoc, xref, inline docs) standards – #55646
  • Use third-person singular verbs for function descriptions in Tests_Image_Functions, per the documentation standards – #55646
  • Use third-person singular verbs for function descriptions in Tests_Sitemaps_wpSitemapsPosts, as per docblock standard – #55646
  • Use third-person singular verbs for function descriptions in the Feed 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 docblock standards – #55646

Editor

  • Add utility classnames back to blocks that have layout attributes specified – #56058
  • Universalize functions for checking 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. editor status – #51819

Embeds

  • Remove MeetupMeetup All local/regional gatherings that are officially a part of the WordPress world but are not WordCamps are organized through https://www.meetup.com/. A meetup is typically a chance for local WordPress users to get together and share new ideas and seek help from one another. Searching for ‘WordPress’ on meetup.com will help you find options in your area. as an oEmbed source since the related endpoint has been deprecated – #55997

External Libraries

  • Upgrade PHPMailer to version 6.6.3 – #56016

General

  • Revert an earlier define of the WPINC constant in src/index.php#54233

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.

  • Correct and improve inline docsinline docs (phpdoc, docblock, xref) and tests for functionality related to nooped plurals – #55646, #55652

Media

  • Use correct escaping function for URLs in some legacy media functions – #56064

Posts, Post Types

  • Add caching to _find_post_by_old_slug and _find_post_by_old_date functions. – #36723

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

  • Move all links to prepare_links method in theme REST API controller – #56018

Sitemaps

  • Remove duplicate sticky Posts from Sitemap Post Query – #55633

Themes

  • Add actions to template loading to assist with collecting debug info – #54541

Upgrade/Install

  • Add a conditional to facilitate testing of the Rollbacks feature project – #56057, #51857, #54166

Props

Thanks to the 43 people who contributed to WordPress Core on Trac last week: @jrf (9), @SergeyBiryukov (9), @costdev (5), @hellofromTonya (4), @pbeane (4), @antonvlasenko (4), @ironprogrammer (4), @audrasjb (4), @peterwilsoncc (4), @afragen (3), @johnbillion (3), @mukesh27 (2), @Spacedmonkey (2), @desrosj (2), @swissspidy (2), @pbiron (2), @dd32 (1), @pbearne (1), @jorbin (1), @ethitter (1), @flixos90 (1), @tabrisrp (1), @rmccue (1), @RavanH (1), @aristath (1), @zieladam (1), @yannielsen (1), @craigfrancis (1), @davidbaumwald (1), @juliemoynat (1), @bhrugesh96 (1), @sabernhardt (1), @tellyworth (1), @iandunn (1), @apokalyptik (1), @hasanuzzamanshamim (1), @smit08 (1), @glendaviesnz (1), @andrewserong (1), @matveb (1), @samikeijonen (1), @Presskopp (1), and @Synchro (1).

Congrats and welcome to our new contributor of the week: @yannielsen ♥️

Core committers: @sergeybiryukov (24), @desrosj (7), @audrasjb (7), @azaozz (4), @davidbaumwald (2), @johnbillion (2), @spacedmonkey (2), and @jorbin (1).

#6-0, #core, #week-in-core